Forráskód Böngészése

bugFix
1.解决没有记录冲突的问题

xiahan 10 hónapja
szülő
commit
9ee38360ba

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

@@ -2712,12 +2712,12 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             apsBlankOrderDo = this.getById(id);
         }
         if (apsBlankOrderDo == null) {
-            log.error("无法获取到坯料计划信息");
+            logger.error("无法获取到坯料计划信息");
             throw new CustomException("无法获取到坯料计划信息");
         }
         logger.debug("开始更新坯料计划:{}对应的交货期没", apsBlankOrderDo.getId());
         List<UpdateBlankDeliveryDateVo> blankDeliveryDate = this.getBaseMapper().getBlankDeliveryDate(apsBlankOrderDo.getId());
-        log.debug("获取当前坯料计划的相关的计划完工时间");
+        logger.debug("获取当前坯料计划的相关的计划完工时间:{}",blankDeliveryDate);
         if (blankDeliveryDate.isEmpty()) {
             return;
         }
@@ -2728,33 +2728,40 @@ 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(),
+        logger.debug("坯料计划新的排程交货期为:{}-{},旧的为{}-{}", startDate, endDate, apsBlankOrderDo.getScheduledatestart(),
                 apsBlankOrderDo.getScheduledateend());
+        Date newStartDate = apsBlankOrderDo.getPromisedatestart();
+        Date newEndDate = apsBlankOrderDo.getPromisedateend();
+        if (newStartDate == null) {
+            newStartDate = timeAddHour(startDate, 48);
+        }
+        if (newEndDate == null) {
+            newEndDate = timeAddHour(endDate, 48);
+        }
         // 更新数据
         this.update(new LambdaUpdateWrapper<ApsBlankOrderDo>().eq(ApsBlankOrderDo::getId, apsBlankOrderDo.getId())
                 .set(BaseDo::getDeleted, 0)
                 .set(ApsBlankOrderDo::getScheduledatestart, startDate)
-                .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));
+                .set(ApsBlankOrderDo::getScheduledateend, endDate)
+                .set(ApsBlankOrderDo::getPromisedatestart, newStartDate)
+                .set(ApsBlankOrderDo::getPromisedateend, newEndDate));
+        logger.debug("坯料计划新的承诺交货日期:{}-{},旧的为{}-{}", newStartDate,newEndDate,
+                apsBlankOrderDo.getPromisedatestart(), apsBlankOrderDo.getPromisedateend());
+
 
         List<String> updateIds = new ArrayList<>();
-        if (startDate.compareTo(apsBlankOrderDo.getPromisedatestart()) > 0) {
+        if (startDate.compareTo(newStartDate) > 0) {
             updateIds.add(blankDeliveryDate.get(0).getId());
         }
-        if (endDate.compareTo(apsBlankOrderDo.getPromisedateend()) > 0) {
+        if (endDate.compareTo(newEndDate) > 0) {
             updateIds.add(blankDeliveryDate.get(1).getId());
         }
         if (updateIds.isEmpty()) {
             return;
         }
-        List<ApsProcessOperationProcessEquBackupDo> equBackupDos = apsProcessOperationProcessEquBackupDao.selectBatchIds(updateIds);
-        logger.debug("记录冲突信息超出承诺交货期:{}", equBackupDos);
-        equBackupDos.forEach(data -> {
+        List<ApsProcessOperationProcessEquDo> equDos = apsProcessOperationProcessEquService.getBaseMapper().selectBatchIds(updateIds);
+        logger.debug("记录冲突信息超出承诺交货期:{}", equDos);
+        equDos.forEach(data -> {
             data.setConflictdes(addNewConflictsDesc(data.getConflictdes(), EXCEEDING_THE_PROMISED_DELIVERY_DEADLINE));
             if (StringUtils.isBlank(data.getConflictdes()) && StringUtils.isBlank(data.getSoftconflictdes())) {
                 data.setHasconflict("n");
@@ -2762,8 +2769,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
                 data.setHasconflict("y");
             }
         });
-        if (!equBackupDos.isEmpty()) {
-            apsProcessOperationProcessEquBackupService.updateBatchById(equBackupDos);
+        if (!equDos.isEmpty()) {
+            apsProcessOperationProcessEquService.updateBatchById(equDos);
         }
 
     }

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

@@ -264,7 +264,7 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
     @Override
     @Transactional(rollbackFor = Exception.class)
     public R changingWires(List<ChangingWiresVo> changingWiresVos) {
-        ApsUtils.checkScheduling(null);
+//        ApsUtils.checkScheduling(null);
         if (changingWiresVos.isEmpty()) {
             log.error("换线作业的工序作业不为空");
             return R.error("工序作业不能为空");
@@ -464,11 +464,6 @@ 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();
@@ -481,7 +476,10 @@ public class ApsProcessOperationProcessEquServiceImpl extends ServiceImpl<ApsPro
                         apsProcessOperationProcessEquDo.getPlanenddate());
             });
         }
-
+        blankIds.forEach(data->{
+            // 更新坯料交货期
+            apsBlankOrderService.updateBlankDeliveryDate(null, data);
+        });
         // 重新获取甘特图数据并返回前段
         return R.ok(ganttService.getListById(affectedIdList.stream().distinct().collect(Collectors.toList())));
     }