ezhizao_zx 1 tahun lalu
induk
melakukan
290f27b705

+ 8 - 6
src/main/java/cn/ezhizao/project/business/product/controller/BizProcessInspecionController.java

@@ -609,6 +609,7 @@ public class BizProcessInspecionController extends BaseController {
         }
 
         Map<String, Object> map = new HashMap<>();
+        dayworkCarrier.setIsChanged(0);
         List<BizDayworkCarrier> list = bizDayworkCarrierService.getList(dayworkCarrier);
         List<BizDaywork> dayworks = bizDayworkService.query().in("id", list.isEmpty() ? Collections.singletonList(0L) : list.stream().map(BizDayworkCarrier::getDayworkId).collect(Collectors.toList())).list();
         if (carrier.getIsInspection().equals(1)) {
@@ -651,20 +652,21 @@ public class BizProcessInspecionController extends BaseController {
         //根据dayworkId查询外协回收信息是否有该批次
         BizReturnReceiptDetail bizReturnReceiptDetail = new BizReturnReceiptDetail();
         bizReturnReceiptDetail.setDayworkId(dayworkCarrier.getDayworkId());
-        bizReturnReceiptDetail.setStatus(1);
-        bizReturnReceiptDetail.setIsAudit(1);
         List<BizReturnReceiptDetail> detailList = bizReturnReceiptDetailService.getList(bizReturnReceiptDetail);
         System.out.println("查询是否有该批次:detailList" + detailList);
         if (detailList.size() == 0) {
             throw new RuntimeException("该批次不是外协回收批次");
         }
 
-        detailList = detailList.stream()
-                .filter(detail -> processCodes.stream().anyMatch(l -> l.trim().equals(detail.getProcessCode())))
-                .collect(Collectors.toList());
-        if (detailList.size() == 0) {
+        if (detailList.stream().noneMatch(detail -> processCodes.stream().anyMatch(l -> l.trim().equals(detail.getProcessCode())))) {
             throw new RuntimeException("该批次不需要外协检查");
         }
+        if (detailList.stream().noneMatch(detail -> detail.getIsAudit().equals(1) && detail.getStatus().equals(1))) {
+            throw new RuntimeException("该批次需要审核通过后才能外协检查");
+        }
+        detailList = detailList.stream()
+                .filter(detail -> processCodes.stream().anyMatch(l -> l.trim().equals(detail.getProcessCode())) && detail.getIsAudit().equals(1) && detail.getStatus().equals(1))
+                .collect(Collectors.toList());
         //如果有多道工序,则根据工序的排序找到最后一条
         if (detailList.size() > 1) {
             //按照工序排序