Преглед на файлове

aps-甘特图锁定/解锁增加校验补充

zhoudazhuang преди 6 месеца
родител
ревизия
8fc49f5ff0
променени са 1 файла, в които са добавени 13 реда и са изтрити 11 реда
  1. 13 11
      cx-aps/cx-aps-common/src/main/java/com/rongwei/bscommon/sys/service/impl/ApsBlankOrderServiceImpl.java

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

@@ -504,22 +504,24 @@ public class ApsBlankOrderServiceImpl extends ServiceImpl<ApsBlankOrderDao, ApsB
         }
         // 作业明细锁定
         if (orderLockVo.getId() != null && orderLockVo.getId().size() > 0) {
-            //校验工序作业状态
-            List<ApsProcessOperationDo> apsProcessOperationDos = new ArrayList<>(apsProcessOperationService.listByIds(orderLockVo.getId()));
-            //解锁的情况下校验 工序作业对应的生产状态
-            boolean b = apsProcessOperationDos.stream().allMatch(info -> COMPLETED.equals(info.getProcessstatus()) ||
-                    PROCESSING.equals(info.getProcessstatus()));
-            if (b) {
-                return R.error("所选作业都已开工,不可以解锁,不能锁定");
-            }
-            apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
-                    .in(ApsProcessOperationProcessEquDo::getId, orderLockVo.getId())
-                    .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, lockMark));
             // 查询作业明细的所属作业ID
             List<ApsProcessOperationProcessEquDo> apsProcessOperationProcessEquDos = (List<ApsProcessOperationProcessEquDo>) apsProcessOperationProcessEquService.listByIds(orderLockVo.getId());
             //  所有作业ID
             List<String> proids = apsProcessOperationProcessEquDos.stream().map(ApsProcessOperationProcessEquDo::getProcessid).collect(Collectors.toList());
             proids = proids.stream().distinct().collect(Collectors.toList());
+            //校验工序作业状态
+            List<ApsProcessOperationDo> apsProcessOperationDos = new ArrayList<>(apsProcessOperationService.listByIds(proids));
+            if (!apsProcessOperationDos.isEmpty()){
+                //解锁的情况下校验 工序作业对应的生产状态
+                boolean b = apsProcessOperationDos.stream().allMatch(info -> COMPLETED.equals(info.getProcessstatus()) ||
+                        PROCESSING.equals(info.getProcessstatus()));
+                if (b) {
+                    return R.error("所选作业都已开工,不可以解锁,不能锁定");
+                }
+            }
+            apsProcessOperationProcessEquService.update(new LambdaUpdateWrapper<ApsProcessOperationProcessEquDo>()
+                    .in(ApsProcessOperationProcessEquDo::getId, orderLockVo.getId())
+                    .set(ApsProcessOperationProcessEquDo::getLockmarkdetail, lockMark));
             // 查询存在未锁定作业明细的作业ID
             List<ApsProcessOperationProcessEquDo> popes = apsProcessOperationProcessEquService.list(new LambdaQueryWrapper<ApsProcessOperationProcessEquDo>().in(ApsProcessOperationProcessEquDo::getProcessid, proids)
                     .eq(ApsProcessOperationProcessEquDo::getLockmarkdetail, LOCKMARK_N));