| | |
| | | // 批量插入统计数据 |
| | | log.info("钣金计划大表:计算每个工单中每个车间的开始、结束时间"); |
| | | List<ApsPlateProcessShopStat> statsToInsert = new ArrayList<>(); |
| | | for (ApsPlatePlan plan : planList) { |
| | | log.info("钣金计划大表:计算工单:"+plan.getDocumentNumber()); |
| | | for (ApsShop shop : shopList) { |
| | | log.info("钣金计划大表V1:开始计算每个工单车间工时"); |
| | | planList.stream().parallel().forEach(plan -> { |
| | | shopList.stream().parallel().forEach(shop -> { |
| | | ApsPlateProcessShopStat stat = createShopStat(plan, shop, shopToProcessNames, statList); |
| | | statsToInsert.add(stat); |
| | | } |
| | | } |
| | | }); |
| | | }); |
| | | log.info("钣金计划大表:批量保存工序开工和完工时间"); |
| | | List<List<ApsPlateProcessStat>> processStatBatchList = ListUtil.split(statList, 1000); |
| | | processStatBatchList.forEach(batch -> apsPlateProcessStatMapper.batchInsertPlateStat(batch)); |
| | | processStatBatchList.stream().parallel().forEach(batch -> apsPlateProcessStatMapper.batchInsertPlateStat(batch)); |
| | | |
| | | |
| | | log.info("钣金计划大表:批量保存工单-车间时间信息"); |
| | | 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("钣金计划大表:未找到标准工序数据!"); |