ezhizao_zx 11 bulan lalu
induk
melakukan
475d2b4cdd

+ 9 - 2
src/main/java/cn/ezhizao/project/business/controller/BizProductionPlanDetailController.java

@@ -269,8 +269,15 @@ public class BizProductionPlanDetailController extends BaseController {
                 for (int j = 0; j < currentDayworkIds.size(); j++) {
                     Long currentId = currentDayworkIds.get(j);
                     //拿到该批次最新工序步骤
-                    String latestProcessStepNumber = dayworkItemList.stream().filter(item -> item.getDayworkId().equals(currentId)).sorted(Comparator.comparing(BizDayworkItem::getProcessStepNumber).reversed()).collect(Collectors.toList()).get(0).getProcessStepNumber();
-                    List<String> latestStatus = dayworkItemList.stream().filter(item -> item.getDayworkId().equals(currentId) && item.getProcessStepNumber().equals(latestProcessStepNumber)).map(BizDayworkItem::getStatus).collect(Collectors.toList());
+                    BizDayworkItem item = dayworkItemList.stream().filter(v -> v.getDayworkId().equals(currentId)).max(Comparator.comparing(BizDayworkItem::getProcessStepNumber)).orElse(null);
+                    String latestProcessStepNumber;
+                    if (item != null) {
+                        latestProcessStepNumber = item.getProcessStepNumber();
+                    } else {
+                        latestProcessStepNumber = "";
+                    }
+//                    String latestProcessStepNumber = dayworkItemList.stream().filter(item -> item.getDayworkId().equals(currentId)).sorted(Comparator.comparing(BizDayworkItem::getProcessStepNumber).reversed()).collect(Collectors.toList()).get(0).getProcessStepNumber();
+                    List<String> latestStatus = dayworkItemList.stream().filter(v -> v.getDayworkId().equals(currentId) && v.getProcessStepNumber().equals(latestProcessStepNumber)).map(BizDayworkItem::getStatus).collect(Collectors.toList());
                     if (!latestStatus.contains("3") && !latestStatus.contains("4") && !latestStatus.contains("5") && !latestStatus.contains("7")) {
                         inProduction++;
                     }