From 50cf972c100b28e368590b07c33e5f78c20475d0 Mon Sep 17 00:00:00 2001 From: sfd <sun.sunshine@163.com> Date: 星期五, 23 五月 2025 16:17:55 +0800 Subject: [PATCH] Merge branch 'dev' of http://192.168.50.149:8085/r/aps-backend into dev --- aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java | 27 +++++++++++++++++++-------- 1 files changed, 19 insertions(+), 8 deletions(-) diff --git a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java index 49350cd..6a23bcf 100644 --- a/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java +++ b/aps-modules/aps-core/src/main/java/com/aps/core/service/impl/ApsPlate/ApsPlateProcessShopStatServiceImpl.java @@ -147,6 +147,7 @@ // 鏌ヨ鐩稿叧鏁版嵁 ApsPlatePlan platePlan = new ApsPlatePlan(); platePlan.setPlant(plant); + log.info("寮�濮嬫墽琛岄挘閲戣鍒掑ぇ琛�"); List<ApsPlatePlan> planList = apsPlatePlanMapper.selectApsPlatePlanList(platePlan); ApsShop apsShop = new ApsShop(); @@ -160,9 +161,11 @@ List<ApsStandardProcess> shopProcesses = standardProcessMapper.selectApsStandardProcessList(process); if (!planList.isEmpty() && !shopList.isEmpty() && !shopProcesses.isEmpty()) { - // 寮�濮嬩箣鍓嶅厛鍒犻櫎鎵�鏈夊巻鍙叉暟鎹� + + log.info("閽i噾璁″垝澶ц〃锛氬垹闄ゆ墍鏈夊巻鍙叉暟鎹�"); apsPlateProcessStatMapper.deleteAll(); apsPlateProcessShopStatMapper.deleteAll(); + log.info("閽i噾璁″垝澶ц〃锛氭帹绠楀�掓帓閽i噾宸ュ簭璁″垝瀹屽伐鏃ユ湡鍜岃鍒掑紑宸ユ椂闂�"); List<ApsPlateProcessStat> statList =apsPlateProcessStatService.computePlateProcessStat(); // 鏋勫缓杞﹂棿鍚嶇О鍒板伐搴忓悕绉扮殑鏄犲皠 Map<String, List<String>> shopToProcessNames = shopProcesses.stream().filter(x -> null!=x.getWorkShop()) @@ -170,30 +173,38 @@ Collectors.mapping(ApsStandardProcess::getProcessName, Collectors.toList()) )); // 鎵归噺鎻掑叆缁熻鏁版嵁 + log.info("閽i噾璁″垝澶ц〃锛氳绠楁瘡涓伐鍗曚腑姣忎釜杞﹂棿鐨勫紑濮嬨�佺粨鏉熸椂闂�"); List<ApsPlateProcessShopStat> statsToInsert = new ArrayList<>(); - for (ApsPlatePlan plan : planList) { - for (ApsShop shop : shopList) { + log.info("閽i噾璁″垝澶ц〃V1锛氬紑濮嬭绠楁瘡涓伐鍗曡溅闂村伐鏃�"); + planList.stream().parallel().forEach(plan -> { + shopList.stream().parallel().forEach(shop -> { ApsPlateProcessShopStat stat = createShopStat(plan, shop, shopToProcessNames, statList); statsToInsert.add(stat); - } - } + }); + }); + log.info("閽i噾璁″垝澶ц〃锛氭壒閲忎繚瀛樺伐搴忓紑宸ュ拰瀹屽伐鏃堕棿"); List<List<ApsPlateProcessStat>> processStatBatchList = ListUtil.split(statList, 1000); - processStatBatchList.forEach(batch -> apsPlateProcessStatMapper.batchInsertPlateStat(batch)); + processStatBatchList.stream().parallel().forEach(batch -> apsPlateProcessStatMapper.batchInsertPlateStat(batch)); + log.info("閽i噾璁″垝澶ц〃锛氭壒閲忎繚瀛樺伐鍗�-杞﹂棿鏃堕棿淇℃伅"); List<List<ApsPlateProcessShopStat>> shopStatBatchList = ListUtil.split(statsToInsert, 1000); - shopStatBatchList.forEach(batch -> apsPlateProcessShopStatMapper.batchInsert(batch)); + shopStatBatchList.stream().parallel().forEach(batch -> apsPlateProcessShopStatMapper.batchInsert(batch)); }else { if(shopProcesses.isEmpty()){ + log.error("閽i噾璁″垝澶ц〃锛氭湭鎵惧埌鏍囧噯宸ュ簭鏁版嵁锛�"); throw new RuntimeException("鏈壘鍒版爣鍑嗗伐搴忔暟鎹紒"); } if(shopList.isEmpty()){ + log.error("閽i噾璁″垝澶ц〃锛氭湭鎵惧埌杞﹂棿鏁版嵁锛�"); throw new RuntimeException("鏈壘鍒拌溅闂存暟鎹紒"); } if(planList.isEmpty()){ + log.error("閽i噾璁″垝澶ц〃锛氭湭鎵惧埌宸ュ崟鏁版嵁锛�"); throw new RuntimeException("鏈壘鍒板伐鍗曟暟鎹紒"); } } + log.info("閽i噾璁″垝澶ц〃锛氬畬鎴�"); } /** @@ -253,7 +264,7 @@ } } } catch (Exception e) { - log.error("computer error:"+ JSONObject.toJSONString(stat)); + log.error("閽i噾璁″垝澶ц〃 error:"+ JSONObject.toJSONString(stat)); throw new RuntimeException("璁$畻杞﹂棿缁熻鏁版嵁寮傚父锛�"); } return stat; -- Gitblit v1.9.3