1、销售明细汇总去掉石膏板分类汇总,在销售BI汇总sql增加石膏板类别1汇总

2、一体化日单价增加类别2,类别3分组
This commit is contained in:
llllon 2025-09-15 11:28:49 +08:00
parent d3621356fa
commit 4733326566
9 changed files with 38 additions and 13 deletions

View File

@ -409,11 +409,23 @@ public class SaleCountDimensionImpl implements DataSummaryService {
(existing, replacement) -> existing (existing, replacement) -> existing
)); ));
String querySql = "SELECT DZRQ,QYGS, KCZZ, LB_1, LB_2, LB_3, SQ, CS, QY, SUM(ZSSL) AS XL," + String querySql = "SELECT DZRQ,QYGS, KCZZ, " +
" CASE " +
" WHEN BKGS = '龙牌' AND LB_1 IN ('装饰石膏板', '鲁班装饰万能板', '石膏板') THEN '石膏板'" +
" WHEN BKGS = '泰山石膏' AND LB_1 IN ('装饰板', '石膏板') THEN '石膏板'" +
" ELSE LB_1" +
" END AS LB_1," +
" LB_2, LB_3, SQ, CS, QY, SUM(ZSSL) AS XL," +
" SUM(SSJERMB) AS XE, SUM(XSSL) AS TSXL, SUM(NMNY) AS BHSXE,YEARMONTH" + " SUM(SSJERMB) AS XE, SUM(XSSL) AS TSXL, SUM(NMNY) AS BHSXE,YEARMONTH" +
" FROM " + SALES_DETAIL_TABLE + " FROM " + SALES_DETAIL_TABLE +
" WHERE DZRQ >= ? AND DZRQ < ? AND BKGS = ?" + " WHERE DZRQ >= ? AND DZRQ < ? AND BKGS = ?" +
" GROUP BY QYGS, KCZZ, LB_1, LB_2, LB_3, SQ, CS, QY, YEARMONTH"; " GROUP BY QYGS, KCZZ, " +
" CASE " +
" WHEN BKGS = '龙牌' AND LB_1 IN ('装饰石膏板', '鲁班装饰万能板', '石膏板') THEN '石膏板'" +
" WHEN BKGS = '泰山石膏' AND LB_1 IN ('装饰板', '石膏板') THEN '石膏板'" +
" ELSE LB_1" +
" END" +
" LB_2, LB_3, SQ, CS, QY, YEARMONTH";
// String querySql = "SELECT t1.DZRQ, t1.QYGS, t1.KCZZ, t1.LB_1, t1.LB_2, t1.LB_3, t1.SQ, t1.CS, t1.QY," + // String querySql = "SELECT t1.DZRQ, t1.QYGS, t1.KCZZ, t1.LB_1, t1.LB_2, t1.LB_3, t1.SQ, t1.CS, t1.QY," +
// " SUM(t1.ZSSL) AS XL, SUM(t1.SSJERMB) AS XE, SUM(t1.XSSL) AS TSXL, SUM(t1.NMNY) AS BHSXE," + // " SUM(t1.ZSSL) AS XL, SUM(t1.SSJERMB) AS XE, SUM(t1.XSSL) AS TSXL, SUM(t1.NMNY) AS BHSXE," +
@ -526,10 +538,22 @@ public class SaleCountDimensionImpl implements DataSummaryService {
(existing, replacement) -> existing (existing, replacement) -> existing
)); ));
String querySql = "SELECT DZRQ, QYGS, KCZZ, LB_1, LB_2, LB_3, SQ, CS, QY, SUM(NMNY) as BHSYYSR, SUM(SSJERMB) AS YYSR, YEARMONTH" + String querySql = "SELECT DZRQ, QYGS, KCZZ, " +
" CASE " +
" WHEN BKGS = '龙牌' AND LB_1 IN ('装饰石膏板', '鲁班装饰万能板', '石膏板') THEN '石膏板'" +
" WHEN BKGS = '泰山石膏' AND LB_1 IN ('装饰板', '石膏板') THEN '石膏板'" +
" ELSE LB_1" +
" END AS LB_1," +
" LB_2, LB_3, SQ, CS, QY, SUM(NMNY) as BHSYYSR, SUM(SSJERMB) AS YYSR, YEARMONTH" +
" FROM " + SALES_DETAIL_TABLE + " FROM " + SALES_DETAIL_TABLE +
" WHERE DZRQ >= ? AND DZRQ < ? AND BKGS = ?" + " WHERE DZRQ >= ? AND DZRQ < ? AND BKGS = ?" +
" GROUP BY QYGS, KCZZ, LB_1, LB_2, LB_3, SQ, CS, QY, YEARMONTH"; " GROUP BY QYGS, KCZZ, " +
" CASE " +
" WHEN BKGS = '龙牌' AND LB_1 IN ('装饰石膏板', '鲁班装饰万能板', '石膏板') THEN '石膏板'" +
" WHEN BKGS = '泰山石膏' AND LB_1 IN ('装饰板', '石膏板') THEN '石膏板'" +
" ELSE LB_1" +
" END AS LB_1," +
" LB_2, LB_3, SQ, CS, QY, YEARMONTH";
// String querySql = "SELECT curr.DZRQ,curr.QYGS,curr.KCZZ,curr.LB_1,curr.LB_2,curr.LB_3,curr.SQ,curr.CS,curr.QY," + // String querySql = "SELECT curr.DZRQ,curr.QYGS,curr.KCZZ,curr.LB_1,curr.LB_2,curr.LB_3,curr.SQ,curr.CS,curr.QY," +
// " curr.YEARMONTH,curr.BHSYYSR,curr.YYSR,COALESCE(prev.BHSYYSR, 0) AS QNTQBHSYYSR,COALESCE(prev.YYSR, 0) AS QNTQYYSR" + // " curr.YEARMONTH,curr.BHSYYSR,curr.YYSR,COALESCE(prev.BHSYYSR, 0) AS QNTQBHSYYSR,COALESCE(prev.YYSR, 0) AS QNTQYYSR" +

View File

@ -186,10 +186,10 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
String abbreviation = SaleUtil.getProvinceAbbreviation(key); String abbreviation = SaleUtil.getProvinceAbbreviation(key);
String sfSql = sfMap.get(key); String sfSql = sfMap.get(key);
String sql = "SELECT DZRQ,LB_1,LB_2,BKGS,SQ,CS,SUM(XSSL) AS tssales, SUM(ZSSL) AS lpsales,SUM(SSJERMB) AS revenue" + String sql = "SELECT DZRQ,LB_1,LB_2,LB_3,BKGS,SQ,CS,SUM(XSSL) AS tssales, SUM(ZSSL) AS lpsales,SUM(SSJERMB) AS revenue" +
" FROM " +SALES_DETAIL_TABLE+ " FROM " +SALES_DETAIL_TABLE+
" WHERE LB_1 IN ('石膏板', '轻钢龙骨', '涂料') AND ("+sfSql+")" + " WHERE LB_1 IN ('石膏板', '轻钢龙骨', '涂料') AND ("+sfSql+")" +
" GROUP BY DZRQ,LB_1,BKGS,CS ORDER BY DZRQ"; " GROUP BY DZRQ,LB_1,LB_2,LB_3,BKGS,CS ORDER BY DZRQ";
List<RowMap> maps = DBSql.getMaps(sql); List<RowMap> maps = DBSql.getMaps(sql);
if (maps!=null){ if (maps!=null){
@ -204,6 +204,7 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
String bkgs1 = map.getString("BKGS"); String bkgs1 = map.getString("BKGS");
String lb_1 = map.getString("LB_1"); String lb_1 = map.getString("LB_1");
String lb_2 = map.getString("LB_2"); String lb_2 = map.getString("LB_2");
String lb_3 = map.getString("LB_3");
String dzrq = map.getString("DZRQ"); String dzrq = map.getString("DZRQ");
BO priceBO = new BO(); BO priceBO = new BO();
@ -246,7 +247,7 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
priceBO.set("REVENUE_AMOUNT", revenue.setScale(2, RoundingMode.HALF_UP)); priceBO.set("REVENUE_AMOUNT", revenue.setScale(2, RoundingMode.HALF_UP));
priceBO.set("UNIT_PRICE", unitPrice.setScale(2, RoundingMode.HALF_UP)); priceBO.set("UNIT_PRICE", unitPrice.setScale(2, RoundingMode.HALF_UP));
priceBO.set("SHENGQU", abbreviation);//省区 priceBO.set("SHENGQU", abbreviation);//省区
String[] gzjzStrings = SaleUtil.matchSingleField(bkgs, lb_1, lb_2, gzjzList, "其他", "其他","其他"); String[] gzjzStrings = SaleUtil.matchSingleField(bkgs, lb_1, lb_2,lb_3, gzjzList, "其他", "其他","其他");
priceBO.set("MC_JC", gzjzStrings[1]);//面材/基材 priceBO.set("MC_JC", gzjzStrings[1]);//面材/基材
priceBO.set("JZ_GZ", gzjzStrings[0]);//家装/工装 priceBO.set("JZ_GZ", gzjzStrings[0]);//家装/工装
priceBO.set("PROD_CAT", gzjzStrings[2]);//产品类型 priceBO.set("PROD_CAT", gzjzStrings[2]);//产品类型

View File

@ -814,12 +814,12 @@ public class SaleDataSyncServiceImpl implements DataSyncService {
} }
} }
//修改产量类型1 //修改产量类型1
if ("龙牌".equals(map.getString("BKGS")) // if ("龙牌".equals(map.getString("BKGS"))
&& ("装饰石膏板".equals(map.getString("LB_1")) || "鲁班装饰万能板".equals(map.getString("LB_1")))){ // && ("装饰石膏板".equals(map.getString("LB_1")) || "鲁班装饰万能板".equals(map.getString("LB_1")))){
bo.set("LB_1","石膏板"); // bo.set("LB_1","石膏板");
} else if ("泰山石膏".equals(map.getString("BKGS")) && ("装饰板".equals(map.getString("LB_1")))) { // } else if ("泰山石膏".equals(map.getString("BKGS")) && ("装饰板".equals(map.getString("LB_1")))) {
bo.set("LB_1","石膏板"); // bo.set("LB_1","石膏板");
} // }
// LOGGER.info("泰山应收的数据:{}",bo.toJSONObject()); // LOGGER.info("泰山应收的数据:{}",bo.toJSONObject());
bos.add(bo); bos.add(bo);
} }