1、销售sql修改

2、采购sql修改
This commit is contained in:
llllon 2025-09-15 09:46:29 +08:00
parent cb42eb80cd
commit 2e13af81b8
11 changed files with 124 additions and 156 deletions

View File

@ -234,7 +234,6 @@ public class DataLinkUpController {
Date startDate = Date.from(startDateTime.atZone(ZoneId.systemDefault()).toInstant());
DataSummaryService summaryService = null;
SaleCountDimensionImpl saleCountDimension = null;
// ExecutorService executorService = null; // 线程池用于并行处理销售业务
try {
LOGGER.info("开始执行销售数据多维度汇总计算");
@ -258,8 +257,6 @@ public class DataLinkUpController {
if ("销售".equals(ssyw)) {
summaryService = new SaleDataSummaryServiceImpl();
saleCountDimension = new SaleCountDimensionImpl();
// executorService = Executors.newFixedThreadPool(2); // 创建固定大小为2的线程池
// LOGGER.info("销售业务检测到创建summaryService和saleCountDimension实例初始化线程池");
}else {
summaryService = new PurchaseDataSummaryServiceImpl();
LOGGER.info("采购业务检测到创建summaryService实例");
@ -278,44 +275,11 @@ public class DataLinkUpController {
summaryService.calculateSummary(dateRange, bo);
LOGGER.info("完成一体化-销售数据汇总计算BKGS: {}", bo.get("BKGS"));
// 创建并提交两个并行任务
// DataSummaryService finalSummaryService = summaryService;
// Future<?> summaryFuture = executorService.submit(() -> {
// try {
// LOGGER.info("开始执行一体化-销售数据汇总计算BKGS: {}", bo.get("BKGS"));
// finalSummaryService.calculateSummary(dateRange, bo);
// LOGGER.info("完成一体化-销售数据汇总计算BKGS: {}", bo.get("BKGS"));
// } catch (Exception e) {
// LOGGER.error("一体化-销售数据汇总计算异常BKGS: {}", bo.get("BKGS"), e);
// throw new RuntimeException("一体化-销售数据汇总计算失败: " + e.getMessage(), e);
// }
// });
saleCountDimension = new SaleCountDimensionImpl();
LOGGER.info("开始执行销售数据多维度汇总计算BKGS: {}", bo.get("BKGS"));
saleCountDimension.calculateSummary(dateRange, bo);
LOGGER.info("完成销售数据多维度汇总计算BKGS: {}", bo.get("BKGS"));
// Future<?> countFuture = executorService.submit(() -> {
// try {
// LOGGER.info("开始执行销售数据多维度汇总计算BKGS: {}", bo.get("BKGS"));
// finalSaleCountDimension.calculateSummary(dateRange, bo);
// LOGGER.info("完成销售数据多维度汇总计算BKGS: {}", bo.get("BKGS"));
// } catch (Exception e) {
// LOGGER.error("销售数据多维度汇总计算异常BKGS: {}", bo.get("BKGS"), e);
// throw new RuntimeException("销售数据多维度汇总计算失败: " + e.getMessage(), e);
// }
// });
// 等待两个任务完成
// try {
// summaryFuture.get();
// countFuture.get();
// LOGGER.info("销售数据并行计算完成BKGS: {}", bo.get("BKGS"));
// } catch (InterruptedException | ExecutionException e) {
// LOGGER.error("销售数据并行计算执行异常BKGS: {}", bo.get("BKGS"), e);
// throw new RuntimeException("销售数据并行计算失败: " + e.getMessage(), e);
// }
} else {
// 非销售业务单线程执行
LOGGER.info("======== 开始执行采购数据汇总计算BKGS: {} ========", bo.get("BKGS"));
@ -329,19 +293,6 @@ public class DataLinkUpController {
}
}
}
// 如果是销售业务关闭线程池
// if ("销售".equals(ssyw) && executorService != null) {
// executorService.shutdown();
// try {
// if (!executorService.awaitTermination(60, TimeUnit.SECONDS)) {
// executorService.shutdownNow();
// }
// } catch (InterruptedException e) {
// executorService.shutdownNow();
// Thread.currentThread().interrupt();
// }
// LOGGER.info("销售业务线程池已关闭");
// }
}
ro.put("success", true);
@ -353,17 +304,7 @@ public class DataLinkUpController {
ro.put("success", false);
ro.put("message", errorMsg);
// 确保异常时关闭线程池
// if (executorService != null) {
// executorService.shutdownNow();
// }
}
// finally {
// // 最终确保线程池关闭
// if (executorService != null) {
// executorService.shutdown();
// }
// }
long methodEndTime = System.currentTimeMillis();
LOGGER.info("【完成】数据计算汇总操作,总耗时:{}ms", methodEndTime - methodStartTime);
return ro;
@ -437,8 +378,10 @@ public class DataLinkUpController {
hzb = "BO_EU_DWD_ORDER_KC_HZ";
} else if ("物流表".equals(tablename)) {
hzb = "BO_EU_CG_WLD_HZ";
} else {
} else if ("入库单".equals(tablename)){
hzb = "BO_EU_DWD_ORDER_RKD_HZ";
}else {
LOGGER.error("当前表没有汇总表");
}
LOGGER.info("汇总板块数据——采购的接口");
}

View File

@ -177,10 +177,10 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
detailBO.set("DW", row.getString("JLDW")); // 单位
// 处理单价和金额添加除零检查
Double hsdjhyf = row.getDouble("HSDJHYF");
Double jshjhyf = row.getDouble("JSHJHYF");
double rkdj = 0.0;
if (hsdjhyf != null && hsdjhyf != 0 && rksl != null && rksl != 0) {
rkdj = hsdjhyf / rksl;
if (jshjhyf != null && jshjhyf != 0 && rksl != null && rksl != 0) {
rkdj = jshjhyf / rksl;
}
detailBO.set("RKDJ", rkdj); // 入库单价
@ -188,7 +188,7 @@ public class PurchaseDataSummaryServiceImpl implements DataSummaryService {
Double dhje = row.getDouble("DHJE");
detailBO.set("RKJE", dhje != null ? dhje : 0.0); // 入库金额
} else {
Double jshjhyf = row.getDouble("JSHJHYF");
// Double jshjhyf = row.getDouble("JSHJHYF");
detailBO.set("RKJE", jshjhyf != null ? jshjhyf : 0.0); // 入库金额
}

View File

@ -150,6 +150,28 @@ public class SaleCountDimensionImpl implements DataSummaryService {
" WHERE t.BKGS = ?" +
" ORDER BY t.QYGS, t.SHIQU, t.RQ";
// String sql ="SELECT t.RQ AS RQ,t.QYGS AS QYGS,t.XSZZ AS XSZZ,t.SHENGQU AS SHENGQU,t.SHIQU AS SHIQU,t.QX AS QX,t.QCYE AS QCYE," +
// " t.LJXS AS LJXS,t.LJHK AS LJHK,t.YSYE AS YSYE,t_last_year.YSYE AS LAST_YEAR_YSYE,t.ZLFX0_60 AS ZLFX0_60," +
// " t.ZLFX60_1 AS ZLFX60_1,t.ZLFX1_2 AS ZLFX1_2,t.ZLFX2_3 AS ZLFX2_3,t.ZLFX3_4 AS ZLFX3_4,t.ZLFX4_5 AS ZLFX4_5,t.ZLFX5 AS ZLFX5 " +
// " FROM BO_EU_BNBM_DATALINKUP_XS_YSL t " +
// " INNER JOIN ( " +
// " SELECT QYGS,SHIQU,MAX(RQ) AS MaxRQ,YEAR(RQ) AS Year,MONTH(RQ) AS Month" +
// " FROM BO_EU_BNBM_DATALINKUP_XS_YSL " +
// " WHERE DATE(RQ) >= ? AND BKGS = ? " +
// " GROUP BY QYGS, SHIQU, YEAR(RQ), MONTH(RQ)" +
// " ) AS grouped ON t.QYGS = grouped.QYGS AND t.SHIQU = grouped.SHIQU AND t.RQ = grouped.MaxRQ" +
// " LEFT JOIN (" +
// " SELECT QYGS,SHIQU,YSYE,YEAR(RQ) AS Year,MONTH(RQ) AS Month,MAX(RQ) AS MaxRQ " +
// " FROM BO_EU_BNBM_DATALINKUP_XS_YSL " +
// " WHERE BKGS = ? GROUP BY QYGS, SHIQU, YEAR(RQ), MONTH(RQ)" +
// " ) t_last_year " +
// " ON t.QYGS = t_last_year.QYGS" +
// " AND t.SHIQU = t_last_year.SHIQU " +
// " AND t_last_year.Year = grouped.Year - 1" +
// " AND t_last_year.Month = grouped.Month" +
// " WHERE t.BKGS = ? " +
// " ORDER BY t.QYGS, t.SHIQU, t.RQ";
List<RowMap> maps = DBSql.getMaps(sql, DATE_FORMAT.format(dateRange.getStartDate()), bkgs, bkgs);
// 获取公司位置信息
List<RowMap> companyList = DBSql.getMaps("SELECT GSMC,JD,WD FROM BO_EU_BNBM_DATALINKUP_GSJWD");
@ -200,15 +222,7 @@ public class SaleCountDimensionImpl implements DataSummaryService {
bo.set("ZL3_4", map.getDouble("ZLFX3_4"));
bo.set("ZL4_5", map.getDouble("ZLFX4_5"));
bo.set("ZL5", map.getDouble("ZLFX5"));
// LocalDate parse = LocalDate.parse(rq,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss .S"));
// YearMonth yearMonth = YearMonth.of(parse.getYear(), parse.getMonthValue());
// LocalDate lastYear = yearMonth.atEndOfMonth();
// RowMap map1 = DBSql.getMap("SELECT YSYE FROM BO_EU_BNBM_DATALINKUP_XS_YSL WHERE RQ = '" + lastYear.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "'" +
// " WHERE QYGS = '" + qygs + "' AND BKGS = '" + bkgs + "' AND XSZZ = '" + xszz + "'");
// if (map1!=null) {
// bo.set("QNTQYSZE", map.getDouble("QNTQYSZE"));
// }
// bo.set("QYTQYSZK", map.getString("LAST_YEAR_YSYE"));
bos.add(bo);
}
@ -266,11 +280,44 @@ public class SaleCountDimensionImpl implements DataSummaryService {
" WHERE t1.RQ >= ? AND t1.RQ < ? AND t1.BKGS = ?" +
" GROUP BY t1.QYGS,t1.BKGS,DATE_FORMAT ( t1.RQ, '%Y-%m' ),t1.RQ";
// String receivableSql = "SELECT t1.RQ AS RQ,t1.XSZZ AS XSZZ,t1.QYGS AS QYGS,t1.BKGS AS BKGS,DATE_FORMAT(t1.RQ, '%Y-%m') ASyear_month," +
// " t1.RQ AS max_rq,(SUM(t1.YSYE)/1000) AS YSZK,SUM(t1.LJHK) AS LJHK,SUM(t1.LJXS) AS LJXS," +
// " CASE " +
// " WHEN SUM(t1.LJXS) != 0 THEN SUM(t1.LJHK) / SUM(t1.LJXS)" +
// " ELSE NULL " +
// " END AS hkl," +
// " (SELECT SUM(t3.YSYE)/1000 " +
// " FROM BO_EU_BNBM_DATALINKUP_XS_YSL t3" +
// " INNER JOIN (" +
// " SELECT QYGS, BKGS, DATE_FORMAT(RQ, '%Y-%m') ASyear_month, MAX(RQ) AS max_rq" +
// " FROM BO_EU_BNBM_DATALINKUP_XS_YSL" +
// " WHERE RQ >= DATE_SUB(?, INTERVAL 1 YEAR) " +
// " AND RQ < DATE_SUB(?, INTERVAL 1 YEAR)" +
// " AND BKGS = ?" +
// " GROUP BY QYGS, BKGS, DATE_FORMAT(RQ, '%Y-%m')" +
// " ) t4 ON t3.QYGS = t4.QYGS AND t3.BKGS = t4.BKGS AND t3.RQ = t4.max_rq" +
// " WHERE t3.RQ >= DATE_SUB(?, INTERVAL 1 YEAR)" +
// " AND t3.RQ < DATE_SUB(?, INTERVAL 1 YEAR)" +
// " AND t3.BKGS = ? " +
// " AND DATE_FORMAT(t3.RQ, '%Y-%m') = DATE_FORMAT(DATE_SUB(t1.RQ, INTERVAL 1 YEAR), '%Y-%m')" +
// " GROUP BY t3.QYGS, t3.BKGS, DATE_FORMAT(t3.RQ, '%Y-%m')" +
// " ) AS last_year_YSZK" +
// " FROM BO_EU_BNBM_DATALINKUP_XS_YSL t1 " +
// " INNER JOIN (" +
// " SELECT QYGS, BKGS, DATE_FORMAT(RQ, '%Y-%m') ASyear_month, MAX(RQ) AS max_rq" +
// " FROM BO_EU_BNBM_DATALINKUP_XS_YSL" +
// " WHERE RQ >= ? AND RQ < ? AND BKGS = ?" +
// " GROUP BY QYGS, BKGS, DATE_FORMAT(RQ, '%Y-%m')" +
// " ) t2 ON t1.QYGS = t2.QYGS AND t1.BKGS = t2.BKGS AND t1.RQ = t2.max_rq" +
// " WHERE t1.RQ >= ? AND t1.RQ < ? AND t1.BKGS = ? " +
// " GROUP BY t1.QYGS, t1.BKGS, DATE_FORMAT(t1.RQ, '%Y-%m'), t1.RQ";
String startDate = DATE_FORMAT.format(dateRange.getStartDate());
String endDate = DATE_FORMAT.format(dateRange.getEndDate());
LOGGER.info("应收账款数据查SQL: {}", receivableSql);
List<RowMap> receivableMaps = DBSql.getMaps(receivableSql, startDate, endDate, bkgs,startDate, endDate, bkgs);
List<RowMap> receivableMaps = DBSql.getMaps(receivableSql, startDate, endDate,
bkgs,startDate, endDate, bkgs);
if (receivableMaps.isEmpty()) {
LOGGER.info("{}应收账款数据无数据,停止分页查询", bkgs);
@ -297,34 +344,6 @@ public class SaleCountDimensionImpl implements DataSummaryService {
String xszz = receivable.getString("XSZZ");
double yszk = receivable.getDouble("YSZK");
String year_month = receivable.getString("ASyear_month");
String[] split = year_month.split("-");
double kcje = 0.0;
// 第二个SQL查询库存金额数据
if (!xszzList.isEmpty()) {
String placeholders = String.join(",", Collections.nCopies(xszzList.size(), "?"));
String inClause = xszzList.stream()
.map(s -> "'" + s.replace("'", "''") + "'") // 转义单引号防止SQL注入
.collect(Collectors.joining(","));
String inventorySql = "SELECT STOCKORGNAME, (SUM(BALANCE_AMOUNT)/10000) as KCJE " +
" FROM " + BO_EU_DWD_ORDER_KC_HZ + " " +
" WHERE STOCKORGNAME IN (" + inClause + ") " +
" AND CATEGORY = '产成品' " +
" AND YEAR(INDATE) = YEAR('" + split[0] + "') " +
" AND MONTH(INDATE) = MONTH('" + split[1] + "') " +
" GROUP BY STOCKORGNAME";
LOGGER.info("库存金额数据查询SQL: {}", inventorySql);
List<RowMap> inventoryMaps = DBSql.getMaps(inventorySql);
Map<String, Double> inventoryMap = inventoryMaps.stream()
.collect(Collectors.toMap(
row -> row.getString("STOCKORGNAME"),
row -> row.getDouble("KCJE"),
(existing, replacement) -> existing
));
kcje = inventoryMap.getOrDefault(xszz, 0.0);
}
BO bo = new BO();
String qygs = receivable.getString("QYGS");
String rq = receivable.getString("RQ");
@ -332,20 +351,13 @@ public class SaleCountDimensionImpl implements DataSummaryService {
bo.set("BKGS", bkgs);
bo.set("QYGS", qygs);
bo.set("YSZK", yszk);
bo.set("CCJE", kcje);
// bo.set("CCJE", kcje);
bo.set("LJHK", receivable.getString("LJHK"));
bo.set("LJXS", receivable.getString("LJXS"));
bo.set("HKL", receivable.getString("HKL"));
//增加额度使用率情况
bo.set("EDSYL", SaleUtil.calculateResult(sxedList,bkgs,receivable.getString("QYGS"),yszk));
// LocalDate parse = LocalDate.parse(rq,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S"));
// YearMonth yearMonth = YearMonth.of(parse.getYear(), parse.getMonthValue());
// LocalDate lastYear = yearMonth.atEndOfMonth();
// RowMap map = DBSql.getMap("SELECT (SUM( t1.YSYE )/1000) AS YSZK FROM BO_EU_BNBM_DATALINKUP_XS_YSL" +
// " WHERE QYGS = '" + qygs + "' AND BKGS = '" + bkgs + "' AND RQ = '" + lastYear.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")) + "'");
// if (map!=null) {
// bo.set("QYTQYSZK", map.getString("YSZK"));
// }
// bo.set("QYTQYSZK", receivable.getString("last_year_YSZK"));
bos.add(bo);
}
@ -403,6 +415,19 @@ public class SaleCountDimensionImpl implements DataSummaryService {
" WHERE DZRQ >= ? AND DZRQ < ? AND BKGS = ?" +
" GROUP BY QYGS, KCZZ, LB_1, 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," +
// " SUM(t1.ZSSL) AS XL, SUM(t1.SSJERMB) AS XE, SUM(t1.XSSL) AS TSXL, SUM(t1.NMNY) AS BHSXE," +
// " t1.YEARMONTH, COALESCE(SUM(t2.ZSSL), 0) AS sntqXL, COALESCE(SUM(t2.SSJERMB), 0) AS sntqxe," +
// " COALESCE(SUM(t2.XSSL), 0) AS sntqtsxl " +
// " FROM BO_EU_BNBM_DATALINKUP_XS_XSL_HZ t1" +
// " LEFT JOIN BO_EU_BNBM_DATALINKUP_XS_XSL_HZ t2 ON t1.QYGS = t2.QYGS AND t1.KCZZ = t2.KCZZ" +
// " AND t1.LB_1 = t2.LB_1 AND t1.LB_2 = t2.LB_2 AND t1.LB_3 = t2.LB_3 AND t1.SQ = t2.SQ" +
// " AND t1.CS = t2.CS AND t1.QY = t2.QY AND YEAR(t2.DZRQ) = YEAR(t1.DZRQ) - 1" +
// " AND MONTH(t2.DZRQ) = MONTH(t1.DZRQ) AND t2.BKGS = ?" +
// " WHERE t1.DZRQ >= ? AND t1.DZRQ < ? AND t1.BKGS = ?" +
// " GROUP BY t1.DZRQ, t1.QYGS, t1.KCZZ, t1.LB_1, t1.LB_2, t1.LB_3, t1.SQ, t1.CS, t1.QY," +
// " t1.YEARMONTH ORDER BY t1.DZRQ, t1.QYGS, t1.KCZZ";
LOGGER.info("销量销额数据查询SQL: {}", querySql);
List<RowMap> maps = DBSql.getMaps(querySql, DATE_FORMAT.format(dateRange.getStartDate()),
DATE_FORMAT.format(dateRange.getEndDate()), bkgs);
@ -437,24 +462,21 @@ public class SaleCountDimensionImpl implements DataSummaryService {
}
if ("石膏板".equals(map.getString("LB_1"))){
bo.set("XL", map.getDouble("TSXL"));
// if (map1!=null) {
// bo.set("SNTQXL", map1.getString("TSXL"));
// }
bo.set("SNTQXL", map.getString("sntqtsxl"));
}else {
bo.set("XL", map.getDouble("XL"));
// if (map1!=null) {
// bo.set("SNTQXL", map1.getString("XL"));
// }
bo.set("SNTQXL", map.getString("sntqXL"));
}
Double ssjermb = map.getDouble("XE");
Double xe = map.getDouble("BHSXE");
bo.set("XE", xe);
// bo.set("SNTQXE", map1.getString("XE"));
// 匹配公装家装类别如果未匹配到则默认未其他
String[] gzjzStrings = SaleUtil.matchSingleField(bkgs, map.getString("LB_1"), map.getString("LB_2"), gzjzList, "其他", "其他","其他");
bo.set("JZ_GZ", gzjzStrings[0]);
bo.set("MC_JC", gzjzStrings[1]);
bo.set("PROD_CAT", gzjzStrings[2]);
// bo.set("SNTQXE", map.getString("sntqxe"));
bo.set("BHSYYSR", ssjermb);
bos.add(bo);
}
@ -509,6 +531,26 @@ public class SaleCountDimensionImpl implements DataSummaryService {
" WHERE DZRQ >= ? AND DZRQ < ? AND BKGS = ?" +
" GROUP BY QYGS, KCZZ, 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," +
// " curr.YEARMONTH,curr.BHSYYSR,curr.YYSR,COALESCE(prev.BHSYYSR, 0) AS QNTQBHSYYSR,COALESCE(prev.YYSR, 0) AS QNTQYYSR" +
// " FROM (" +
// " SELECT DZRQ,QYGS,KCZZ,LB_1,LB_2,LB_3,SQ," +
// " CS,QY,YEARMONTH,SUM(NMNY) AS BHSYYSR,SUM(SSJERMB) AS YYSR" +
// " FROM BO_EU_BNBM_DATALINKUP_XS_XSL_HZ" +
// " WHERE DZRQ >= ? AND DZRQ < ? AND BKGS = ?" +
// " GROUP BY QYGS, KCZZ, LB_1, LB_2, LB_3, SQ, CS, QY, YEARMONTH" +
// " ) curr" +
// " LEFT JOIN (" +
// " SELECT QYGS,KCZZ,LB_1,LB_2,LB_3,SQ,CS," +
// " QY,YEARMONTH,SUM(NMNY) AS BHSYYSR,SUM(SSJERMB) AS YYSR" +
// " FROM BO_EU_BNBM_DATALINKUP_XS_XSL_HZ" +
// " WHERE DZRQ >= DATE_SUB(?, INTERVAL 1 YEAR)AND DZRQ < DATE_SUB(?, INTERVAL 1 YEAR)AND BKGS = ?" +
// " GROUP BY QYGS, KCZZ, LB_1, LB_2, LB_3, SQ, CS, QY, YEARMONTH" +
// " ) prev" +
// " ON curr.QYGS = prev.QYGS AND curr.KCZZ = prev.KCZZ AND curr.LB_1 = prev.LB_1 AND curr.LB_2 = prev.LB_2" +
// " AND curr.LB_3 = prev.LB_3 AND curr.SQ = prev.SQ AND curr.CS = prev.CS AND curr.QY = prev.QY" +
// " AND curr.YEARMONTH = DATE_FORMAT(prev.YEARMONTH + INTERVAL 1 YEAR, '%Y%m')";
LOGGER.info("营业收入数据查询SQL: {}", querySql);
List<RowMap> maps = DBSql.getMaps(querySql, DATE_FORMAT.format(dateRange.getStartDate()),
DATE_FORMAT.format(dateRange.getEndDate()), bkgs);
@ -541,17 +583,8 @@ public class SaleCountDimensionImpl implements DataSummaryService {
}
bo.set("YYSR", map.getDouble("YYSR"));
bo.set("BHSYYSR", map.getDouble("BHSYYSR"));
String querySql2 = "SELECT SUM(NMNY) as BHSYYSR, SUM(SSJERMB) AS YYSR" +
" FROM " + SALES_DETAIL_TABLE +
" WHERE DZRQ = ? AND BKGS = ? AND QYGS = ? AND KCZZ = ? AND SQ = ?";
// LocalDate parse = LocalDate.parse(dzrq,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.S")).minusYears(1);
// YearMonth yearMonth = YearMonth.of(parse.getYear(), parse.getMonthValue());
// LocalDate lastYear = yearMonth.atEndOfMonth();
// RowMap map1 = DBSql.getMap(querySql2, lastYear.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")), bkgs, qygs, gc, sq);
// if (map1!=null) {
// bo.set("QNTQYYSR", map1.getDouble("YYSR"));
// bo.set("QNTQBHSYYSR", map1.getDouble("BHSYYSR"));
// }
// bo.set("QNTQYYSR", map.getDouble("QNTQYYSR"));
// bo.set("QNTQBHSYYSR", map.getDouble("QNTQBHSYYSR"));
bos.add(bo);
}

View File

@ -84,6 +84,7 @@ public class SaleDataSummaryServiceImpl implements DataSummaryService {
}
if (bkgs!="龙牌" || bkgs!="梦牌" || bkgs!="泰山石膏" || bkgs!="北新嘉宝莉" || bkgs!="北新涂料"){
LOGGER.error("主配置中板块公司为:{},无需进行计算",bkgs);
return;
}
if (dateRange == null || dateRange.getStartDate() == null || dateRange.getEndDate() == null) {
LOGGER.info("未提供有效时间范围,按当前日期计算");

View File

@ -821,33 +821,6 @@ public class SaleDataSyncServiceImpl implements DataSyncService {
bo.set("LB_1","石膏板");
}
// LOGGER.info("泰山应收的数据:{}",bo.toJSONObject());
//销售汇总表修改区域公司
if ("梦牌".equals(map.getString("BKGS"))){
String cs = bo.getString("CS");
String sq = bo.getString("SQ");
for (BO bo1 : mpqyList) {
String ss = bo1.getString("SS");
if (StringUtils.isNotBlank(cs) && ss.contains(cs)){
bo.set("QYGS",bo1.getString("QYGS"));
} else if (StringUtils.isNotBlank(sq) && ss.contains(sq)) {
bo.set("QYGS",bo1.getString("QYGS"));
}else {
bo.set("QYGS","其他");
}
}
}
//龙牌
if ("龙牌".equals(map.getString("BKGS"))){
String xszz = bo.getString("XSZZ");
for (BO bo1 : lpqyList) {
String swfb = bo1.getString("SWFB");
if (swfb.contains(xszz)){
bo.set("QYGS",bo1.getString("QYGS"));
}else {
bo.set("QYGS","其他");
}
}
}
bos.add(bo);
}
@ -858,6 +831,24 @@ public class SaleDataSyncServiceImpl implements DataSyncService {
hasMore = pageData.size() == PAGE_SIZE;
pageNo++;
} while (hasMore);
// 修改龙牌的区域公司
for (BO bo1 : lpqyList) {
String swfb = bo1.getString("SWFB");
String[] split = swfb.split(",");
String qygs = bo1.getString("QYGS");
for (String s : split) {
DBSql.getMap("UPDATE BO_EU_BNBM_DATALINKUP_XS_XSL_HZ SET QYGS = '"+qygs+"' WHERE XSZZ = '"+s+"'");
DBSql.getMap("UPDATE BO_EU_BNBM_DATALINKUP_XS_YSL SET QYGS = '"+qygs+"' WHERE XSZZ = '"+s+"'");
}
}
//销售汇总表修改区域公司
// if ("梦牌".equals(map.getString("BKGS"))){
// String cs = bo.getString("CS");
// String sq = bo.getString("SQ");
// }
// for (BO bo1 : mpqyList) {
//
// }
}catch (Exception e){
LOGGER.error("汇总数据失败 [汇总表={}, 第几页={}]: {}",
hzb, PAGE_SIZE, e.getMessage(), e);