guoyujia 7 달 전
부모
커밋
b9e79628e2
1개의 변경된 파일85개의 추가작업 그리고 2개의 파일을 삭제
  1. 85 2
      src/main/java/cn/ezhizao/project/business/product/controller/BizProcessInspecionController.java

+ 85 - 2
src/main/java/cn/ezhizao/project/business/product/controller/BizProcessInspecionController.java

@@ -2652,8 +2652,8 @@ public class BizProcessInspecionController extends BaseController {
         SysUser technicianUser = sysUserService.selectUserById(product.getTechnicianId());
         BizDayworkItem dayworkItem = bizDayworkItemService.selById(processInspecion.getLot().getDayworkItemId());
 //        BizDayworkItem dayworkItem = bizDayworkItemService.getById(processInspecion.getLot().getDayworkItemId());
-        processInspecion.setUserId(processInspecion.getUser().getUserId());
-        processInspecion.setNickName(processInspecion.getUser().getNickName());
+        processInspecion.setUserId(SecurityUtils.getLoginUser().getUser().getUserId());
+        processInspecion.setNickName(SecurityUtils.getLoginUser().getUser().getNickName());
         processInspecion.setCarrierId(processInspecion.getLot().getCarrierId());
         processInspecion.setCarrierCode(processInspecion.getLot().getCarrierCode());
         processInspecion.setDayworkId(daywork.getId());
@@ -2820,6 +2820,89 @@ public class BizProcessInspecionController extends BaseController {
         }
         return success(bizDayworkItemService.saveOrUpdate(dayworkItem));
     }
+    //没有出厂检权限新增
+    @Transactional
+    @PostMapping("/saveFirstFactoryInspection")
+    public AjaxResult saveFirstFactoryInspection(@RequestBody BizProcessInspecion processInspecion) throws NoSuchFieldException, IllegalAccessException {
+        if (processInspecion.getFlag() != null && processInspecion.getFlag() && (processInspecion.getIsInspectionCarrierChanged() != null && processInspecion.getIsInspectionCarrierChanged().equals(1))) {
+            throw new RuntimeException("检测载具已解绑,移交仪器室,请绑定载具");
+        }
+        //根据lot信息保存序检表
+        BizDaywork daywork = bizDayworkService.query().eq("lot_code", processInspecion.getLot().getLotCode()).one();
+        BizProduct product = bizProductService.getById(processInspecion.getLot().getProductId());
+        SysUser technicianUser = sysUserService.selectUserById(product.getTechnicianId());
+        BizDayworkItem dayworkItem = bizDayworkItemService.selById(processInspecion.getLot().getDayworkItemId());
+//        BizDayworkItem dayworkItem = bizDayworkItemService.getById(processInspecion.getLot().getDayworkItemId());
+        processInspecion.setUserId(SecurityUtils.getLoginUser().getUser().getUserId());
+        processInspecion.setNickName(SecurityUtils.getLoginUser().getUser().getNickName());
+        processInspecion.setCarrierId(processInspecion.getLot().getCarrierId());
+        processInspecion.setCarrierCode(processInspecion.getLot().getCarrierCode());
+        processInspecion.setDayworkId(daywork.getId());
+        processInspecion.setProcessStepNumber(processInspecion.getLot().getProcessStepNumber());
+        processInspecion.setProductionPlanId(daywork.getProductionPlanId());
+        processInspecion.setDayworkItemId(dayworkItem.getId());
+        processInspecion.setProductionPlanDetailId(daywork.getProductionPlanDetailId());
+        processInspecion.setProductionPlanDetailSubDetailId(daywork.getProductionPlanDetailSubDetailId());
+        processInspecion.setProductDescription(processInspecion.getLot().getProductDescription());
+        processInspecion.setLotId(processInspecion.getLot().getId());
+        processInspecion.setLotCode(processInspecion.getLot().getLotCode());
+        processInspecion.setDeptId(daywork.getDeptId());
+        processInspecion.setProductId(processInspecion.getLot().getProductId());
+        processInspecion.setTechnologicalProcessId(processInspecion.getLot().getTechnologicalProcessId());
+        if (processInspecion.getId() == null) {
+            processInspecion.setInspectionCarrierCode(processInspecion.getLot().getInspectionCarrierCode());
+            processInspecion.setInspectionCarrierId(processInspecion.getLot().getInspectionCarrierId());
+        } else {
+            processInspecion.setInspectionCarrierCode(processInspecion.getInspectionCarrierCode());
+            processInspecion.setInspectionCarrierId(processInspecion.getInspectionCarrierId());
+        }
+        if (processInspecion.getId() == null) {
+            processInspecion.setStatus(0);
+        }
+        //出厂检创建时不添加检察员id
+        if (processInspecion.getId() != null) {
+            processInspecion.setReviewerId(SecurityUtils.getLoginUser().getUserId());
+        } else {
+            processInspecion.setReviewerId(processInspecion.getReviewerId());
+        }
+        processInspecion.setType("factoryInspection");
+        if (processInspecion.getStartTime() == null) {
+            processInspecion.setStartTime(new Date());
+        }
+        //BizCarrier carrier = bizCarrierService.query().eq("id", processInspecion.getInspectionCarrierId()).one();
+        List<BizDayworkCarrier> dayworkCarriers = bizDayworkCarrierService.query().eq("carrier_id", processInspecion.getInspectionCarrierId()).eq("is_changed", 0).list();
+        if (dayworkCarriers.stream().anyMatch(v -> !v.getDayworkId().equals(processInspecion.getDayworkId()))) {
+            return error("检测载具已绑定其他批次");
+        }
+        Boolean isSave = false;
+        if (processInspecion.getId() == null) {
+            isSave = true;
+        }
+        bizProcessInspecionService.saveOrUpdate(processInspecion);
+        //载具保存
+        if (isSave) {
+            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.setTenantId(processInspecion.getTenantId());
+                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);
+            }
+        }
+        //修改daywaork信息
+        dayworkItem.setIsProcessInspection(1);
+        dayworkItem.setTenantId(processInspecion.getTenantId());
+        if(dayworkItem.getDeleted() == 1) {
+            return success();
+        }
+        return success(bizDayworkItemService.saveOrUpdate(dayworkItem));
+    }
 
     /**
      * 根据箱号查询批次信息