diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java index f9d99404d..29316dc25 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/service/optimizeplan/OptimizePlanServiceImpl.java @@ -48,6 +48,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.IOException; +import java.text.SimpleDateFormat; import java.time.LocalDateTime; import java.util.*; @@ -109,6 +110,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { private static final String ES_SELECT_DATA_ERROR = "优化生产ES文档查询异常: "; + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + @Override public List getPlateListByPlanId(Long planId) { return planMapper.selectPlateListByPlanId(planId,getUserOrganId()); @@ -144,6 +147,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS); + Date date = new Date(); + // todo 目前只解决了非混单的情况,混单情况待解决 List optimizeBoardModelDOS = buildBoardByPlanId(planId, ORDER_REMAIN_PLATE_MODEL, 10); @@ -182,9 +187,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { } - for (Long goods : goodsNo) { - plateNo.addAll(outputList.stream().filter(f -> f.getBi().equals(goods)).map(BlockPlaceInfo::getBo).distinct().toList()); - } + goodsNo.forEach(g-> + plateNo.addAll(outputList.stream().filter(f -> f.getBi().equals(g)).map(BlockPlaceInfo::getBo).distinct().toList()) + ); List plateDOS = plateMapper.selectPlateByPlateNo(plateNo.stream().distinct().toList(), getUserOrganId()); @@ -217,6 +222,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { long cutedBoardNumber = cutedBoardList.size(); + if(CollUtil.isEmpty(cutedBoardList)){ + cutedBoardNumber = 0; + } + // 将需要更新更新的数据更新到原数据中 cutedBoardInfo.setCutedBoardNumber(cutedBoardNumber); cutedBoardInfo.setCutedBoardList(cutedBoardList); @@ -225,6 +234,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { // 更新开料相关的数据 HashMap objectObjectHashMap = new HashMap<>(); objectObjectHashMap.put("cutedBoardInfo",cutedBoardInfo); + objectObjectHashMap.put("updateTime",simpleDateFormat.format(date)); try { @@ -293,6 +303,8 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { return; } + Date date = new Date(); + PlanDO planDO = planMapper.selectById(planId); AssertUtils.notEmpty(planDO,PLAN_NOT_EXISTS); @@ -326,6 +338,9 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { // 减去取消开料的大板数量 cutedBoardNumber -= goodsNo.size(); + if(CollUtil.isEmpty(cutedBoardList)){ + cutedBoardNumber = 0; + } // 将需要更新更新的数据更新到原数据中 cutedBoardInfo.setCutedBoardNumber(cutedBoardNumber); @@ -335,6 +350,7 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { // 更新开料相关的数据 HashMap objectObjectHashMap = new HashMap<>(); objectObjectHashMap.put("cutedBoardInfo", cutedBoardInfo); + objectObjectHashMap.put("updateTime",simpleDateFormat.format(date)); try { @@ -377,9 +393,10 @@ public class OptimizePlanServiceImpl implements OptimizePlanService { List plateNo = new ArrayList<>(); - for (Long aLong : goodsNo) { - plateNo.addAll(asJsonObject.stream().filter(f->f.getBi().equals(aLong)).map(PlatePlaceInfo::getBo).toList()); - } + + goodsNo.forEach(g->{ + plateNo.addAll(asJsonObject.stream().filter(f->f.getBi().equals(g)).map(PlatePlaceInfo::getBo).toList()); + }); List orderIds = plateMapper.selectPlateByPlateNo(plateNo, getUserOrganId()).stream().map(PlateDO::getOrderId).toList();