guoyujia 6 meses atrás
pai
commit
99c2f0cea1

+ 8 - 2
src/main/java/cn/ezhizao/project/business/product/controller/BizQuickDayworkController.java

@@ -147,8 +147,14 @@ public class BizQuickDayworkController extends BaseController {
         List<BizDayworkCarrier> allCarrier = bizDayworkCarrierService.query().eq("process_inspection_id", 0L).in("daywork_id", items.stream().map(BizDayworkItem::getDayworkId).collect(Collectors.toList())).list();
         List<BizDayworkItem> dayworkItemList = bizDayworkItemService.query().in("daywork_id", dayworks.stream().map(BizDaywork::getId).collect(Collectors.toList())).list();
         AtomicBoolean checkFinishBatch = new AtomicBoolean(true);
-        dayworks.forEach(l -> {
+        for(BizDaywork l : dayworks) {
+            //当前的步骤编码
+            String processStepNumber = items.stream().filter(v -> v.getDayworkId().equals(l.getId())).findFirst().orElse(null).getProcessStepNumber();
             BizDayworkItem latestItem = dayworkItemList.stream().filter(v -> v.getDayworkId().equals(l.getId())).max(Comparator.comparing(BizDayworkItem::getCreateTime)).orElse(new BizDayworkItem());
+            //如果latestItem中是周转状态,或者步骤编码跟当前的不一样,则返回错误
+            if((latestItem.getStatus().equals("4") || latestItem.getStatus().equals("5") || latestItem.getStatus().equals("7")) || !processStepNumber.equals(latestItem.getProcessStepNumber())) {
+                return error(l.getLotCode() + "批次已周转,请勿重复操作");
+            }
             List<BizDayworkItem> currentItems = dayworkItemList.stream().filter(v -> v.getDayworkId().equals(l.getId()) && v.getTechnologicalProcessDetailId().equals(latestItem.getTechnologicalProcessDetailId())).sorted(Comparator.comparing(BizDayworkItem::getStatus)).collect(Collectors.toList());
             // 假设该批次报工不在选中报工中,且该报工中不存在已完成则判断周转箱中有未完成。
             if (currentItems.stream().noneMatch(v -> items.stream().anyMatch(e -> e.getId().equals(v.getId()))) && currentItems.stream().noneMatch(v -> v.getStatus().equals("3"))) {
@@ -216,7 +222,7 @@ public class BizQuickDayworkController extends BaseController {
                 turnItem.setPlace(quickItem.getQuickInfo().getPlace());
                 addItems.add(turnItem);
             }
-        });
+        }
         // 判断该周转箱是否有未完成的批次
         if (!checkFinishBatch.get()) {
             // 有未周转批次返回错误