Kaynağa Gözat

Merge branch 'master' of http://120.46.159.163:7400/ezhizao/ezhizao_dms_app_api

zhuangdezheng 1 yıl önce
ebeveyn
işleme
4ae4386d41

+ 11 - 2
src/main/java/cn/ezhizao/project/business/product/controller/BizDayworkController.java

@@ -122,7 +122,16 @@ public class BizDayworkController extends BaseController {
         // 如果关键字不为空,则根据关键字匹配批次,后面会根据批次进行daywork过滤
         List<BizLot> lots = new ArrayList<>();
         if (!keywords.isEmpty()) {
-            lots = bizLotService.query().like("lot_code", keywords).list();
+            List<BizLot> lotList1 = bizLotService.query()
+                    .like("lot_code", keywords)
+                    .list();
+            List<Long> dayworkCarrierIds = bizDayworkCarrierService.query().like("carrier_code", keywords).list().stream().map(BizDayworkCarrier::getDayworkId).collect(Collectors.toList());
+            List<BizDaywork> dayworkByCarriers = bizDayworkService.query().in("id", dayworkCarrierIds.isEmpty() ? Collections.singletonList(0L) : bizDayworkCarrierService.query().like("carrier_code", keywords).list().stream().map(BizDayworkCarrier::getDayworkId).collect(Collectors.toList())).list();
+            List<BizLot> lotList2 = bizLotService.query().in("id", dayworkByCarriers.stream().map(BizDaywork::getLotId).collect(Collectors.toList())).list();
+            Set<BizLot> uniqueSet = Stream.of(lotList1, lotList2)
+                    .flatMap(Collection::stream)
+                    .collect(Collectors.toSet());
+            lots = uniqueSet.stream().collect(Collectors.toList());
             if (lots.isEmpty()) {
                 return success(new ArrayList<>());
             }
@@ -340,7 +349,7 @@ public class BizDayworkController extends BaseController {
                             .collect(Collectors.toList());
                     List<Long> tempProcessIds = processIds;
                     // 根据得到的工序id集合,获得相对应的工序集合
-                    technologicalDetailList = allLotTechnologicalDetails.stream().filter(ap -> tempProcessIds.contains(ap.getProcessId())).collect(Collectors.toList());
+                    technologicalDetailList = allLotTechnologicalDetails.stream().filter(ap -> daywork.getTechnologicalProcessId().equals(ap.getLotTechnologicalProcessId()) && tempProcessIds.contains(ap.getProcessId())).collect(Collectors.toList());
                 }
                 // daywork_item的status > 4,表示已经离开当前工段,至少是周转中的状态
                 List<BizDayworkItem> finishedTempDayworkItems = tempDayworkItems.stream()