From a90df695a479699bd61ec720dd8adc042aaff1e4 Mon Sep 17 00:00:00 2001 From: llllon Date: Sun, 24 Aug 2025 09:31:21 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=94=80=E5=94=AE=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E6=B1=87=E6=80=BB=E6=95=B0=E6=8D=AE-=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=88=A4=E6=96=AD=E9=94=80=E5=94=AE=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E7=BA=BF=E7=A8=8B=E6=B1=A0=EF=BC=9B=E5=90=8C=E6=AD=A5sql?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/DataLinkUpController.class | Bin 16973 -> 16941 bytes .../service/impl/SaleCountDimensionImpl.class | Bin 24025 -> 24007 bytes .../impl/SaleDataSummaryServiceImpl.class | Bin 25102 -> 25102 bytes ...user.apps.bnbm.datalinkup-1.0-SNAPSHOT.jar | Bin 72696 -> 72613 bytes .../compileJava/previous-compilation-data.bin | Bin 9389325 -> 9389325 bytes .../controller/DataLinkUpController.java | 87 ++++++++++++++++-- .../service/impl/SaleCountDimensionImpl.java | 40 ++++---- 7 files changed, 99 insertions(+), 28 deletions(-) diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/classes/java/main/com/awspaas/user/apps/bnbm/datalinkup/controller/DataLinkUpController.class b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/classes/java/main/com/awspaas/user/apps/bnbm/datalinkup/controller/DataLinkUpController.class index 8909112dfc8967777ab96704ac050ee5527bb943..8eedbe6a4a02dcfc876e73f918875e26dfb324fb 100644 GIT binary patch delta 4848 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 delta 4868 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 z�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 literal 24025 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 diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/build/tmp/compileJava/previous-compilation-data.bin index 13aa23fc7dc258bc22d73e9f87c56af941086006..b419cdbd00f07c921f5b9fa279a7897f2870fe7d 100644 GIT binary patch delta 713 zcmZY6J5bUA0LSqoNP#Tz5h#n=< z+H`2>u0hX^iEH=Tx^rmCtwE2W1-HJ;44>_L_ZxoENL&`h`=l!F`)B(0*{chFTwj~b z-BEs!OFE2yDtjC&n_mrkJAti0#hj(iS?{*ErTRjR%4y#>CDmV6yS{r8+rJxr&HE*y zUy^bFQpj*H=9gsr5YuYW70y5=6;^3CRJ(znQNd;|3QZ@g*FOC< zih?xIn z#W|eE1=OJ)7Ff}MMqGpqm(YY}w4fFCm|$(2Nu>QC%8ZxcfD>2Hjt*Rf3)gTRH*gbf z+`?^i;tuY@gL~-0eRSgidhigB@EE=5Lq7)a1cP{rAq-;#&oGKHjAH_mn8I^R;{|5$ o60a}|FJ41{4}Q!cfH#=OTLiHH5g~*T!6KFr#d1t$e5cU-2XLPCrvLx| delta 713 zcmZY6IWVIE06^i%ieO!FZ{i4Xi({>I#(kf0#C_kg%VO7kMBKk1SSp1=qtn>ppEY9? zX4dFcX0}n9!Hmj`##1Z4?sd0iaA zOXpCx?%H5@5?_*vlJzNis{n;k{=2Vy($P2j;{VaD;F{=hxnzFUJihxNNHqm0L=lQnf>M-0hjLV)5>?Qn8a1dz9qQ45Ml_)r zEoem>+R=edbfFtP=tUn4_=fN3#{hm{5JMQoPyE6NMlptQOkfgIn8pldVZ bkgsMaps = DBSql.getMaps("SELECT BKGS FROM " + targetTable + " GROUP BY BKGS"); - if (bkgsMaps!=null) { + if (bkgsMaps != null) { for (RowMap map : bkgsMaps) { BO bo = new BO(); bo.set("BKGS", map.getString("BKGS")); - summaryService.calculateSummary(dateRange, bo); - if (saleCountDimension!=null){ - //计算销售的维度 - LOGGER.info("======== 开始执行销售数据汇总计算 ========"); - saleCountDimension.calculateSummary(dateRange, bo); - LOGGER.info("======== 销售数据汇总计算完成 ========"); + + if ("销售".equals(ssyw)) { + 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); + } + }); + + SaleCountDimensionImpl finalSaleCountDimension = saleCountDimension; + 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")); + try { + summaryService.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); + } } } } + // 如果是销售业务,关闭线程池 + 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); @@ -249,6 +308,16 @@ public class DataLinkUpController { LOGGER.error(errorMsg, e); 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); diff --git a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/service/impl/SaleCountDimensionImpl.java b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/service/impl/SaleCountDimensionImpl.java index 5af889a..ce93dc7 100644 --- a/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/service/impl/SaleCountDimensionImpl.java +++ b/com.awspaas.user.apps.bnbm.datalinkup/com.awspaas.user.apps.bnbm.datalinkup/src/main/java/com/awspaas/user/apps/bnbm/datalinkup/service/impl/SaleCountDimensionImpl.java @@ -117,13 +117,17 @@ public class SaleCountDimensionImpl implements DataSummaryService { Connection conn = null; try { conn = DBSql.open(); - conn.setAutoCommit(false); +// conn.setAutoCommit(false); // 获取时间范围内的所有月份 List yearMonths = getYearMonthsBetweenDates(dateRange.getStartDate(), dateRange.getEndDate()); for (String yearMonth : yearMonths) { LOGGER.info("开始处理{}月份的数据,板块公司: {}", yearMonth, bkgs); + // 4. 处理区域两金占比 + LOGGER.info("开始区域两金占比"); + processRegionTwoFundsRatio(conn, yearMonth, bkgs); + // 1. 处理营业收入数据 LOGGER.info("开始营业收入数据"); processRevenueData(conn, yearMonth, bkgs); @@ -136,11 +140,9 @@ public class SaleCountDimensionImpl implements DataSummaryService { LOGGER.info("开始应收账款数据"); processReceivableData(conn, yearMonth, bkgs); - // 4. 处理区域两金占比 - LOGGER.info("开始区域两金占比"); - processRegionTwoFundsRatio(conn, yearMonth, bkgs); + } - conn.commit(); +// conn.commit(); LOGGER.info("所有月份数据处理完成"); }catch (Exception e) { try { @@ -203,12 +205,12 @@ public class SaleCountDimensionImpl implements DataSummaryService { "GROUP BY QYGS, KCZZ, LB_1, LB_2, LB_3, SQ, CS, QY " + "LIMIT " + PAGE_SIZE + " OFFSET " + offset; - LOGGER.debug("营业收入数据查询第{}页,SQL: {}", page + 1, querySql); + LOGGER.info("营业收入数据查询第{}页,SQL: {}", page + 1, querySql); List maps = DBSql.getMaps(conn, querySql, yearMonth.replace("-", ""), bkgs); if (maps.isEmpty()) { hasMore = false; - LOGGER.debug("营业收入数据第{}页无数据,停止分页查询", page + 1); + LOGGER.info("营业收入数据第{}页无数据,停止分页查询", page + 1); } else { ArrayList bos = new ArrayList<>(); for (RowMap map : maps) { @@ -291,12 +293,12 @@ public class SaleCountDimensionImpl implements DataSummaryService { "GROUP BY QYGS, KCZZ, LB_1, LB_2, LB_3, SQ, CS, QY " + "LIMIT " + PAGE_SIZE + " OFFSET " + offset; - LOGGER.debug("销量销额数据查询第{}页,SQL: {}", page + 1, querySql); + LOGGER.info("销量销额数据查询第{}页,SQL: {}", page + 1, querySql); List maps = DBSql.getMaps(conn, querySql, yearMonth.replace("-", ""), bkgs); if (maps.isEmpty()) { hasMore = false; - LOGGER.debug("销量销额数据第{}页无数据,停止分页查询", page + 1); + LOGGER.info("销量销额数据第{}页无数据,停止分页查询", page + 1); } else { ArrayList bos = new ArrayList<>(); for (RowMap map : maps) { @@ -391,12 +393,12 @@ public class SaleCountDimensionImpl implements DataSummaryService { "WHERE DATE(RQ) = ? AND BKGS = ? " + "LIMIT " + PAGE_SIZE + " OFFSET " + offset; - LOGGER.debug("应收账款数据查询第{}页,SQL: {}", page + 1, querySql); + LOGGER.info("应收账款数据查询第{}页,SQL: {}", page + 1, querySql); List maps = DBSql.getMaps(conn, querySql, lastDayOfMonth, bkgs); if (maps.isEmpty()) { hasMore = false; - LOGGER.debug("应收账款数据第{}页无数据,停止分页查询", page + 1); + LOGGER.info("应收账款数据第{}页无数据,停止分页查询", page + 1); } else { ArrayList bos = new ArrayList<>(); for (RowMap map : maps) { @@ -477,16 +479,16 @@ public class SaleCountDimensionImpl implements DataSummaryService { String receivableSql = "SELECT QYGS, XSZZ, SUM(YSYE) as YSZK " + "FROM " + RECEIVABLE_DETAIL_TABLE + " " + "WHERE YEAR(RQ) = YEAR(?) AND MONTH(RQ) = MONTH(?) AND BKGS = ? " + - "GROUP BY QYGS, BKGS" + + "GROUP BY QYGS, BKGS " + "LIMIT " + PAGE_SIZE + " OFFSET " + offset; - LOGGER.debug("应收账款数据查询第{}页,SQL: {}", page + 1, receivableSql); + LOGGER.info("应收账款数据查询第{}页,SQL: {}", page + 1, receivableSql); List receivableMaps = DBSql.getMaps(conn, receivableSql, lastDayOfMonth, lastDayOfMonth, bkgs); if (receivableMaps.isEmpty()) { hasMore = false; - LOGGER.debug("应收账款数据第{}页无数据,停止分页查询", page + 1); + LOGGER.info("应收账款数据第{}页无数据,停止分页查询", page + 1); } else { ArrayList bos = new ArrayList<>(); @@ -506,15 +508,15 @@ public class SaleCountDimensionImpl implements DataSummaryService { String inventorySql = "SELECT STOCKORGNAME, SUM(BALANCE_AMOUNT) as KCJE " + "FROM " + BO_EU_DWD_ORDER_KC_HZ + " " + - "WHERE STOCKORGNAME IN (" + placeholders + ") " + + "WHERE STOCKORGNAME IN ('" + placeholders + "') " + "AND CATEGORY = '产成品' " + - "AND YEAR(INDATE) = YEAR(?) " + - "AND MONTH(INDATE) = MONTH(?) " + + "AND YEAR(INDATE) = YEAR('"+lastDayOfMonth+"') " + + "AND MONTH(INDATE) = MONTH('"+lastDayOfMonth+"') " + "GROUP BY STOCKORGNAME"; - LOGGER.debug("库存金额数据查询,SQL: {}", inventorySql); + LOGGER.info("库存金额数据查询,SQL: {}", inventorySql); - List inventoryMaps = DBSql.getMaps(conn, inventorySql, lastDayOfMonth,lastDayOfMonth); + List inventoryMaps = DBSql.getMaps(conn, inventorySql); Map inventoryMap = inventoryMaps.stream() .collect(Collectors.toMap( row -> row.getString("STOCKORGNAME"),