Parcourir la source

数据组装优化

fangpy il y a 6 mois
Parent
commit
6553980f7d

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

@@ -721,7 +721,8 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
     @Override
     public void apsAfter(ProductionScheduleRetVo productionScheduleRetVo, List<ApsBlankOrderVo> apsBlankOrders, SysUserVo currentUser) {
         // 先删除所有作业的明细
-        List<String> blankids = apsBlankOrders.stream().map(v -> v.getId()).collect(Collectors.toList());
+        List<String> blankids = CollUtil.distinct(productionScheduleRetVo.getProcesses().stream().map(v -> v.getProduceOrder().get(0).getId()).collect(Collectors.toList()));
+//        List<String> blankids = apsBlankOrders.stream().map(v -> v.getId()).collect(Collectors.toList());
 //        processOperationProcessEquService.remove(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
 //                .in(ApsProcessOperationProcessEquDo::getBlankid, blankids));
         // 查询坯料计划所有已存在的作业明细
@@ -927,7 +928,9 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
             }
 
             //更新生产状态为“待发布”(20)
-            List<ApsBlankOrderVo> toupstatus = apsBlankOrders.stream().filter(v -> StringUtils.isBlank(v.getIfcp()) || "N".equals(v.getIfcp())).collect(Collectors.toList());
+            List<ApsBlankOrderVo> toupstatus = apsBlankOrders.stream().filter(v ->
+                    blankids.contains(v.getId()) && (StringUtils.isBlank(v.getIfcp()) || "N".equals(v.getIfcp())))
+                    .collect(Collectors.toList());
             updateProductStatusByOrderIds(toupstatus);
             // 自动加锁坯料计划下的工序作业
             apsProcessOperationService.update(new LambdaUpdateWrapper<ApsProcessOperationDo>().in(ApsProcessOperationDo::getBlankid, blankKeys).set(ApsProcessOperationDo::getLockmark, "y"));

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

@@ -605,6 +605,20 @@ public class ApsServiceImpl implements ApsService {
                 apsBlankOrderss.add(bo);*/
                 apsBlankOrderService.apsAfter(productionScheduleRetVo,apsBlankOrders,currentUser);
                 if(StrUtil.isNotBlank(productionScheduleRetVo.getMsg())){
+                    // 排程异常后恢复历史排程结果为锁定状态
+                    List<String> blankids = CollUtil.distinct(productionScheduleRetVo.getProcesses().stream().map(v -> v.getProduceOrder().get(0).getId()).collect(Collectors.toList()));
+                    List<String> allblankids = apsBlankOrders.stream().map(v -> v.getId()).collect(Collectors.toList());
+                    List<String> exblankids = null;
+                    if(blankids != null && blankids.size()>0){
+                        exblankids = allblankids.stream().filter(v->!blankids.contains(v)).collect(Collectors.toList());
+                    }else{
+                        exblankids = allblankids;
+                    }
+                    if(exblankids != null && exblankids.size()>0){
+                        processOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>().set(ApsProcessOperationProcessEquDo::getLockmark,"y")
+                                .in(ApsProcessOperationProcessEquDo::getBlankid,exblankids));
+                    }
+
                     throw new CustomException(productionScheduleRetVo.getMsg()+" "+DateUtil.formatDateTime(new Date()));
                 }
             }