ezhizao_zx il y a 1 an
Parent
commit
9077558998

+ 12 - 2
src/main/java/cn/ezhizao/project/business/controller/BizLotController.java

@@ -2,6 +2,7 @@ package cn.ezhizao.project.business.controller;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Comparator;
 import java.util.List;
 import java.util.stream.Collectors;
 import javax.annotation.Resource;
@@ -339,7 +340,7 @@ public class BizLotController extends BaseController
                         BizDaywork newDaywork = new BizDaywork(v);
                         v.setId(snowflakeIdWorker.nextId());
                         v.setProcessQualifiedNum(l.getProdNum());
-                        List<BizDayworkItem> items = baseDayworkItems.stream().filter(e -> e.getDayworkId().equals(v.getId())).collect(Collectors.toList());
+                        List<BizDayworkItem> items = baseDayworkItems.stream().filter(e -> e.getDayworkId().equals(v.getId())).sorted(Comparator.comparing(BizDayworkItem::getCreateTime).reversed()).collect(Collectors.toList());
                         items.forEach(e -> {
                             BizDayworkItem item = new BizDayworkItem(e);
                             item.setDayworkId(newDaywork.getId());
@@ -350,7 +351,16 @@ public class BizLotController extends BaseController
                     });
                     bizDayworks.addAll(newDayworks);
                 } else {
-                    // 本批将当前报工数量改成分批后的数量。
+                    // 本批将当前报工数量改成分批后的数量
+                    // 获取最新报工信息
+                    BizDayworkItem latestItem = baseDayworkItems.stream().filter(v -> v.getDayworkId().equals(l.getId())).max(Comparator.comparing(BizDayworkItem::getCreateTime)).orElse(new BizDayworkItem());
+                    // 假设最新报工是状态未开始开始的产品数量
+                    if ("0".equals(latestItem.getStatus())) {
+                        latestItem.setProdNum(l.getProdNum());
+                    } else if (Arrays.asList("4", "5", "7").contains(latestItem.getStatus())) {
+                        latestItem.setProdNum(l.getProdNum());
+                    }
+                    // 假设最新是周转,只改周转数量
                 }
             });
         }