소스 검색

bugFix
1.解决换线没有更新时间的问题
2.修改交货期增加相关日志

xiahan 10 달 전
부모
커밋
e011e14094

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

@@ -2715,7 +2715,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             log.error("无法获取到坯料计划信息");
             throw new CustomException("无法获取到坯料计划信息");
         }
+        logger.debug("开始更新坯料计划:{}对应的交货期没", apsBlankOrderDo.getId());
         List<UpdateBlankDeliveryDateVo> blankDeliveryDate = this.getBaseMapper().getBlankDeliveryDate(apsBlankOrderDo.getId());
+        log.debug("获取当前坯料计划的相关的计划完工时间");
         if (blankDeliveryDate.isEmpty()) {
             return;
         }
@@ -2726,6 +2728,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         Date startDate = timeAddHour(blankDeliveryDate.get(0).getPlanenddate(), blankDeliveryDate.get(0).getDeliverytime());
         //排程交货期-止
         Date endDate = timeAddHour(blankDeliveryDate.get(1).getPlanenddate(), blankDeliveryDate.get(0).getDeliverytime());
+        logger.debug("坯料计划新的排程交货期为:{}-{},旧的为{}-{}",startDate,endDate,apsBlankOrderDo.getScheduledatestart(),
+                apsBlankOrderDo.getScheduledateend());
         // 更新数据
         this.update(new LambdaUpdateWrapper<ApsBlankOrderDo>().eq(ApsBlankOrderDo::getId, apsBlankOrderDo.getId())
                 .set(BaseDo::getDeleted, 0)
@@ -2733,8 +2737,11 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 .set(ApsBlankOrderDo::getScheduledateend, startDate)
                 .set(apsBlankOrderDo.getPromisedatestart() == null, ApsBlankOrderDo::getPromisedatestart, timeAddHour(startDate, 48))
                 .set(apsBlankOrderDo.getPromisedateend() == null, ApsBlankOrderDo::getPromisedateend, timeAddHour(endDate, 48)));
+        logger.debug("坯料计划新的承诺交货日期:{}-{},旧的为{}-{}",apsBlankOrderDo.getPromisedatestart(),apsBlankOrderDo.getPromisedateend(),
+                timeAddHour(startDate, 48),timeAddHour(endDate, 48));
         apsBlankOrderDo.setPromisedatestart(timeAddHour(startDate, 48));
         apsBlankOrderDo.setPromisedateend(timeAddHour(endDate, 48));
+
         List<String> updateIds = new ArrayList<>();
         if (startDate.compareTo(apsBlankOrderDo.getPromisedatestart()) > 0) {
             updateIds.add(blankDeliveryDate.get(0).getId());
@@ -2746,6 +2753,7 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             return;
         }
         List<ApsProcessOperationProcessEquBackupDo> equBackupDos = apsProcessOperationProcessEquBackupDao.selectBatchIds(updateIds);
+        logger.debug("记录冲突信息超出承诺交货期:{}", equBackupDos);
         equBackupDos.forEach(data -> {
             data.setConflictdes(addNewConflictsDesc(data.getConflictdes(), EXCEEDING_THE_PROMISED_DELIVERY_DEADLINE));
             if (StringUtils.isBlank(data.getConflictdes()) && StringUtils.isBlank(data.getSoftconflictdes())) {

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

@@ -303,7 +303,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 .map(ApsProcessOperationProcessEquDo::getPlanstartdate).min(Comparator.naturalOrder());
         // 获取开工时间间隔=所选作业明细最早计划开工时间-所选加工开始时间
         long timeInterval = minDate.get().getTime() - changingWiresVos.get(0).getProcessingTime().getTime();
-
+        Set<String> blankIds = new HashSet<>();
         // 是否需要清空备份
         AtomicReference<Boolean> emptyBackup = new AtomicReference<>(false);
         List<CheckConflictVo> checkConflictVos = new ArrayList<>();
@@ -331,7 +331,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 log.debug("该工序作业明细:{}已全部报工无需换线", processEqus.getId());
                 continue;
             }
-
+            blankIds.add(processEqus.getBlankid());
             // 获取该工序作业最早的计划开始时间
             Date planstartdate = processEqus.getPlanstartdate();
             Date planenddate = processEqus.getPlanenddate();
@@ -446,8 +446,6 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                 }
                 saveList.add(processEqus);
             }
-            // 更新坯料交货期
-            apsBlankOrderService.updateBlankDeliveryDate(null, apsProcessOperationDo.getBlankid());
         }
         // 换线拆单后 需要校验 是否存在冲突 如果存在冲突 提示
 //        if (!checkConflictVos.isEmpty()) {
@@ -466,6 +464,11 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
         if (!saveList.isEmpty()) {
             this.saveOrUpdateBatch(saveList);
         }
+        blankIds.forEach(data->{
+            // 更新坯料交货期
+            apsBlankOrderService.updateBlankDeliveryDate(null, data);
+        });
+
         if (!updateConflictVoList.isEmpty()) {
             updateConflictVoList.forEach(data -> {
                 ApsProcessOperationProcessEquDo apsProcessOperationProcessEquDo = data.getApsProcessOperationProcessEquDo();