guoyujia 10 meses atrás
pai
commit
9cf2fe9342

+ 96 - 22
src/main/java/cn/ezhizao/project/business/product/controller/BizProcessInspecionController.java

@@ -1124,6 +1124,20 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
         if (dayworkCarriers.stream().anyMatch(v -> !v.getDayworkId().equals(processInspecion.getDayworkId()))) {
             return error("检测载具已绑定其他批次");
         }
+        if(processInspecion.getId() == null) {
+            if (dayworkCarriers.stream().noneMatch(v -> v.getDayworkId().equals(processInspecion.getDayworkId())) && (processInspecion.getIsInspectionCarrierChanged() == null || processInspecion.getIsInspectionCarrierChanged().equals(0))) {
+                // 该检测载具需要绑定到当前批次
+                BizDayworkCarrier newDayworkCarrier = new BizDayworkCarrier();
+                newDayworkCarrier.setDayworkId(processInspecion.getDayworkId());
+                newDayworkCarrier.setCarrierCode(processInspecion.getInspectionCarrierCode());
+                newDayworkCarrier.setCarrierId(processInspecion.getInspectionCarrierId());
+                newDayworkCarrier.setLotCode(processInspecion.getLotCode());
+                newDayworkCarrier.setLotId(processInspecion.getLotId());
+                newDayworkCarrier.setProductionPlanDetailId(processInspecion.getProductionPlanDetailId());
+                newDayworkCarrier.setProcessInspectionId(processInspecion.getId());
+                bizDayworkCarrierService.save(newDayworkCarrier);
+            }
+        }
 
         //保存
         bizProcessInspecionService.saveOrUpdate(processInspecion);
@@ -1196,18 +1210,7 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
             bizDayworkCarrierService.save(newDayworkCarrier);
         }
 
-        if (dayworkCarriers.stream().noneMatch(v -> v.getDayworkId().equals(processInspecion.getDayworkId())) && (processInspecion.getIsInspectionCarrierChanged() == null || processInspecion.getIsInspectionCarrierChanged().equals(0))) {
-            // 该检测载具需要绑定到当前批次
-            BizDayworkCarrier newDayworkCarrier = new BizDayworkCarrier();
-            newDayworkCarrier.setDayworkId(processInspecion.getDayworkId());
-            newDayworkCarrier.setCarrierCode(processInspecion.getInspectionCarrierCode());
-            newDayworkCarrier.setCarrierId(processInspecion.getInspectionCarrierId());
-            newDayworkCarrier.setLotCode(processInspecion.getLotCode());
-            newDayworkCarrier.setLotId(processInspecion.getLotId());
-            newDayworkCarrier.setProductionPlanDetailId(processInspecion.getProductionPlanDetailId());
-            newDayworkCarrier.setProcessInspectionId(processInspecion.getId());
-            bizDayworkCarrierService.save(newDayworkCarrier);
-        }
+
 
         //保存废品信息
         List<BizProcessInspectionDetail> rejects = processInspecion.getProcessInspectionDetails();
@@ -1417,23 +1420,94 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
         if (dayworkCarriers.stream().anyMatch(v -> !v.getDayworkId().equals(processInspecion.getDayworkId()))) {
             return error("检测载具已绑定其他批次");
         }
+        if (processInspecion.getId() == null) {
+            if (dayworkCarriers.stream().noneMatch(v -> v.getDayworkId().equals(processInspecion.getDayworkId())) && (processInspecion.getIsInspectionCarrierChanged() == null || processInspecion.getIsInspectionCarrierChanged().equals(0))) {
+                // 该检测载具需要绑定到当前批次
+                BizDayworkCarrier newDayworkCarrier = new BizDayworkCarrier();
+                newDayworkCarrier.setDayworkId(processInspecion.getDayworkId());
+                newDayworkCarrier.setCarrierCode(processInspecion.getInspectionCarrierCode());
+                newDayworkCarrier.setCarrierId(processInspecion.getInspectionCarrierId());
+                newDayworkCarrier.setLotCode(processInspecion.getLotCode());
+                newDayworkCarrier.setLotId(processInspecion.getLotId());
+                newDayworkCarrier.setProductionPlanDetailId(processInspecion.getProductionPlanDetailId());
+                newDayworkCarrier.setProcessInspectionId(processInspecion.getId());
+                bizDayworkCarrierService.save(newDayworkCarrier);
+            }
+        }
 
         //保存
         bizProcessInspecionService.saveOrUpdate(processInspecion);
-
-        if (dayworkCarriers.stream().noneMatch(v -> v.getDayworkId().equals(processInspecion.getDayworkId())) && (processInspecion.getIsInspectionCarrierChanged() == null || processInspecion.getIsInspectionCarrierChanged().equals(0))) {
-            // 该检测载具需要绑定到当前批次
+        //移交仪器室
+        if(processInspecion.getFlag()) {
+            BizProcessInspecion inspection = new BizProcessInspecion();
+            inspection.setUserId(processInspecion.getLot().getUserId());
+            inspection.setNickName(processInspecion.getLot().getNickName());
+            inspection.setCarrierId(processInspecion.getCarrierId());
+            inspection.setCarrierCode(processInspecion.getCarrierCode());
+            inspection.setDayworkId(daywork.getId());
+            inspection.setProcessStepNumber(processInspecion.getLot().getProcessStepNumber());
+            inspection.setProductionPlanId(daywork.getProductionPlanId());
+            inspection.setDayworkItemId(dayworkItem.getId());
+            inspection.setProductionPlanDetailId(daywork.getProductionPlanDetailId());
+            inspection.setProductionPlanDetailSubDetailId(daywork.getProductionPlanDetailSubDetailId());
+            inspection.setProductDescription(processInspecion.getLot().getProductDescription());
+            inspection.setLotId(processInspecion.getLot().getId());
+            inspection.setLotCode(processInspecion.getLot().getLotCode());
+            inspection.setDeptId(daywork.getDeptId());
+            inspection.setProductId(processInspecion.getLot().getProductId());
+            inspection.setTechnologicalProcessId(processInspecion.getLot().getTechnologicalProcessId());
+            inspection.setInspectionCarrierCode(processInspecion.getInspectionCarrierCode());
+            inspection.setInspectionCarrierId(processInspecion.getInspectionCarrierId());
+            inspection.setProcessStepNumber(processInspecion.getProcessStepNumber());
+            inspection.setEquipmentDetailCode(processInspecion.getLot().getEquipmentDetailCode());
+            inspection.setEquipmentDetailId(processInspecion.getLot().getEquipmentDetailId());
+            inspection.setInspectionChamberId(processInspecion.getInspectionChamberId());
+            inspection.setReviewerId(SecurityUtils.getLoginUser().getUserId());
+            inspection.setProcessStepNumber(processInspecion.getProcessStepNumber());
+            inspection.setFromId(processInspecion.getId());
+            inspection.setType("instrumentRoomInspection");
+            if (inspection.getStartTime() == null) {
+                inspection.setStartTime(new Date());
+            }
+            bizProcessInspecionService.save(inspection);
+            //保存检查明细
+            List<BizInspectionStandardsCheck> inspectionStandardsCheckList = bizInspectionStandardsCheckService.query()
+                    .eq("inspection_code", "instrumentRoomInspection")
+                    .eq("product_id", inspection.getProductId())
+                    .eq("process_id", processInspecion.getLot().getProcessId()).list();
+            List<BizProcessInspectionDetail> detailList = new ArrayList<>();
+            inspectionStandardsCheckList.forEach(inspectionStandardsCheck -> {
+                BizProcessInspectionDetail detail = new BizProcessInspectionDetail();
+                detail.setId(null);
+                detail.setUserId(processInspecion.getLot().getUserId());
+                detail.setProcessInspectionId(inspection.getId());
+                detail.setDayworkId(0L);
+                detail.setProductionPlanId(daywork.getProductionPlanId());
+                detail.setProductionPlanDetailId(daywork.getProductionPlanDetailId());
+                detail.setProductionPlanDetailSubDetailId(daywork.getProductionPlanDetailSubDetailId());
+                detail.setLotId(processInspecion.getLot().getId());
+                detail.setDayworkItemId(dayworkItem.getId());
+                detail.setCheckStandard(inspectionStandardsCheck.getStandard());
+                detail.setInspectionStandardsId(inspectionStandardsCheck.getId());
+                detailList.add(detail);
+            });
+            if(!detailList.isEmpty()) {
+                processInspectionDetailService.saveBatch(detailList);
+            }
+            //绑定检测载具
             BizDayworkCarrier newDayworkCarrier = new BizDayworkCarrier();
-            newDayworkCarrier.setDayworkId(processInspecion.getDayworkId());
-            newDayworkCarrier.setCarrierCode(processInspecion.getInspectionCarrierCode());
-            newDayworkCarrier.setCarrierId(processInspecion.getInspectionCarrierId());
-            newDayworkCarrier.setLotCode(processInspecion.getLotCode());
-            newDayworkCarrier.setLotId(processInspecion.getLotId());
-            newDayworkCarrier.setProductionPlanDetailId(processInspecion.getProductionPlanDetailId());
-            newDayworkCarrier.setProcessInspectionId(processInspecion.getId());
+            newDayworkCarrier.setDayworkId(inspection.getDayworkId());
+            newDayworkCarrier.setCarrierCode(inspection.getInspectionCarrierCode());
+            newDayworkCarrier.setCarrierId(inspection.getInspectionCarrierId());
+            newDayworkCarrier.setLotCode(inspection.getLotCode());
+            newDayworkCarrier.setLotId(inspection.getLotId());
+            newDayworkCarrier.setProductionPlanDetailId(inspection.getProductionPlanDetailId());
+            newDayworkCarrier.setProcessInspectionId(inspection.getId());
             bizDayworkCarrierService.save(newDayworkCarrier);
         }
 
+
+
         //保存废品信息
         List<BizProcessInspectionDetail> rejects = processInspecion.getProcessInspectionDetails();
         //保存前先删除原先废品信息