fangpy 9 месяцев назад
Родитель
Сommit
8cddbbfc46

+ 21 - 4
cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java

@@ -665,6 +665,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             logger.info("作业明细保存结束..: " + blankids);
             // 回写订单排程交货期
             Map<String, Date> orderDeliveryTime = new HashMap<>();
+            // 查询所有坯料计划信息
+            List<ApsBlankOrderDo> apsBlankOrderDos = (List<ApsBlankOrderDo>)apsBlankOrderService.listByIds(blankids);
             // 坯料计划ID集合
             List<String> blankKeys = new ArrayList<>();
             List<ApsBlankOrderDo> blankIds = new ArrayList<>();
@@ -672,17 +674,28 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 List<ProduceOrder> produceOrder = process.getProduceOrder();
                 if (produceOrder != null && produceOrder.size() > 0) {
                     for (ProduceOrder order : produceOrder) {
+                        // 坯料计划信息
+                        List<ApsBlankOrderDo> orders = apsBlankOrderDos.stream().filter(v -> v.getId().equals(order.getId())).collect(Collectors.toList());
+                        ApsBlankOrderDo nowOrder = null;
+                        if(orders != null && orders.size()>0){
+                            nowOrder = orders.get(0);
+                        }
+
                         Date endDate = Date.from(process.getEndTime().atZone(ZoneId.systemDefault()).toInstant());
                         List<ApsBlankOrderDo> hasblanks = blankIds.stream().filter(v -> v.getId().equals(order.getId())).collect(Collectors.toList());
                         if (hasblanks != null && hasblanks.size() > 0) {
                             ApsBlankOrderDo blankOrderDo = hasblanks.get(0);
                             if (blankOrderDo.getScheduledatestart().compareTo(endDate) > 0) {
                                 blankOrderDo.setScheduledatestart(endDate);
-                                blankOrderDo.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
+                                if(nowOrder != null && nowOrder.getPromisedatestart() == null){
+                                    blankOrderDo.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
+                                }
                             }
                             if (blankOrderDo.getScheduledateend().compareTo(endDate) < 0) {
                                 blankOrderDo.setScheduledateend(endDate);
-                                blankOrderDo.setPromisedateend(DateUtil.offsetDay(endDate, 2));
+                                if(nowOrder != null && nowOrder.getPromisedateend() == null){
+                                    blankOrderDo.setPromisedateend(DateUtil.offsetDay(endDate, 2));
+                                }
                             }
                         } else {
                             ApsBlankOrderDo blankOrder = this.getById(order.getId());
@@ -691,8 +704,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                             updateBlank.setSchedulingstatus(TO_BE_PUBLISHED);
                             updateBlank.setScheduledatestart(endDate);
                             updateBlank.setScheduledateend(endDate);
-                            updateBlank.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
-                            updateBlank.setPromisedateend(DateUtil.offsetDay(endDate, 2));
+                            if(nowOrder != null && nowOrder.getPromisedatestart() == null){
+                                updateBlank.setPromisedatestart(DateUtil.offsetDay(endDate, 2));
+                            }
+                            if(nowOrder != null && nowOrder.getPromisedateend() == null){
+                                updateBlank.setPromisedateend(DateUtil.offsetDay(endDate, 2));
+                            }
                             // 自动加锁坯料计划
                             updateBlank.setLockmark("y");
                             blankIds.add(updateBlank);