|
@@ -1169,7 +1169,7 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
|
|
|
inspection.setEquipmentDetailCode(processInspecion.getLot().getEquipmentDetailCode());
|
|
|
inspection.setEquipmentDetailId(processInspecion.getLot().getEquipmentDetailId());
|
|
|
inspection.setInspectionChamberId(processInspecion.getInspectionChamberId());
|
|
|
- inspection.setReviewerId(SecurityUtils.getLoginUser().getUserId());
|
|
|
+ //inspection.setReviewerId(SecurityUtils.getLoginUser().getUserId());
|
|
|
inspection.setProcessStepNumber(processInspecion.getProcessStepNumber());
|
|
|
inspection.setFromId(processInspecion.getId());
|
|
|
inspection.setType("instrumentRoomInspection");
|
|
@@ -1218,8 +1218,6 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
|
|
|
//保存废品信息
|
|
|
List<BizProcessInspectionDetail> rejects = processInspecion.getProcessInspectionDetails();
|
|
|
//保存前先删除原先废品信息
|
|
|
- BizDayworkItemReject rej = new BizDayworkItemReject();
|
|
|
- rej.setProcessInspectionId(processInspecion.getId());
|
|
|
List<BizProcessInspectionDetail> processInspectionDetailList = processInspectionDetailService.query().eq("process_inspection_id", processInspecion.getId()).list();
|
|
|
processInspectionDetailService.removeBatchByIds(processInspectionDetailList);
|
|
|
|
|
@@ -1468,7 +1466,7 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
|
|
|
inspection.setEquipmentDetailCode(processInspecion.getLot().getEquipmentDetailCode());
|
|
|
inspection.setEquipmentDetailId(processInspecion.getLot().getEquipmentDetailId());
|
|
|
inspection.setInspectionChamberId(processInspecion.getInspectionChamberId());
|
|
|
- inspection.setReviewerId(SecurityUtils.getLoginUser().getUserId());
|
|
|
+ //inspection.setReviewerId(SecurityUtils.getLoginUser().getUserId());
|
|
|
inspection.setProcessStepNumber(processInspecion.getProcessStepNumber());
|
|
|
inspection.setFromId(processInspecion.getId());
|
|
|
inspection.setType("instrumentRoomInspection");
|
|
@@ -1514,8 +1512,6 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
|
|
|
//保存废品信息
|
|
|
List<BizProcessInspectionDetail> rejects = processInspecion.getProcessInspectionDetails();
|
|
|
//保存前先删除原先废品信息
|
|
|
- BizDayworkItemReject rej = new BizDayworkItemReject();
|
|
|
- rej.setProcessInspectionId(processInspecion.getId());
|
|
|
List<BizProcessInspectionDetail> processInspectionDetailList = processInspectionDetailService.query().eq("process_inspection_id", processInspecion.getId()).list();
|
|
|
processInspectionDetailService.removeBatchByIds(processInspectionDetailList);
|
|
|
|
|
@@ -1649,8 +1645,6 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
|
|
|
//保存废品信息
|
|
|
List<BizProcessInspectionDetail> rejects = processInspecion.getProcessInspectionDetails();
|
|
|
//保存前先删除原先废品信息
|
|
|
- BizDayworkItemReject rej = new BizDayworkItemReject();
|
|
|
- rej.setProcessInspectionId(processInspecion.getId());
|
|
|
List<BizProcessInspectionDetail> processInspectionDetailList = processInspectionDetailService.query().eq("process_inspection_id", processInspecion.getId()).list();
|
|
|
processInspectionDetailService.removeBatchByIds(processInspectionDetailList);
|
|
|
|
|
@@ -1717,6 +1711,175 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
|
|
|
dayworkItem.setIsProcessInspection(1);
|
|
|
return success(bizDayworkItemService.saveOrUpdate(dayworkItem));
|
|
|
}
|
|
|
+ //出厂检
|
|
|
+ @Transactional
|
|
|
+ @PostMapping("/saveFactoryInspection")
|
|
|
+ public AjaxResult saveFactoryInspection(@RequestBody BizProcessInspecion processInspecion) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ //根据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.getById(processInspecion.getLot().getDayworkItemId());
|
|
|
+ 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());
|
|
|
+ }
|
|
|
+ processInspecion.setType("factoryInspection");
|
|
|
+ if (processInspecion.getStartTime() == null) {
|
|
|
+ processInspecion.setStartTime(new Date());
|
|
|
+ }
|
|
|
+ if (processInspecion.getStatus() != 0) {
|
|
|
+ processInspecion.setEndTime(new Date());
|
|
|
+ processInspecion.setFirstUpdaterId(processInspecion.getFirstUpdaterId() == null || processInspecion.getFirstUpdaterId().equals(0L) ? SecurityUtils.getLoginUser().getUserId() : processInspecion.getFirstUpdaterId());
|
|
|
+ }
|
|
|
+ //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.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);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //检查详情,咨询保存
|
|
|
+ if(isSave) {
|
|
|
+ //保存检查明细
|
|
|
+ List<BizInspectionStandardsCheck> inspectionStandardsCheckList = bizInspectionStandardsCheckService.query()
|
|
|
+ .eq("inspection_code", "factoryInspection")
|
|
|
+ .eq("product_id", processInspecion.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(processInspecion.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);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //保存废品信息
|
|
|
+ List<BizProcessInspectionDetail> rejects = processInspecion.getProcessInspectionDetails();
|
|
|
+ //保存前先删除原先废品信息
|
|
|
+ List<BizProcessInspectionDetail> processInspectionDetailList = processInspectionDetailService.query().eq("process_inspection_id", processInspecion.getId()).list();
|
|
|
+ processInspectionDetailService.removeBatchByIds(processInspectionDetailList);
|
|
|
+
|
|
|
+ if (rejects != null && rejects.size() > 0) {
|
|
|
+ for (BizProcessInspectionDetail reject : rejects) {
|
|
|
+ reject.setId(null);
|
|
|
+ reject.setUserId(processInspecion.getLot().getUserId());
|
|
|
+ reject.setProcessInspectionId(processInspecion.getId());
|
|
|
+ reject.setDayworkId(0L);
|
|
|
+ reject.setProductionPlanId(daywork.getProductionPlanId());
|
|
|
+ reject.setProductionPlanDetailId(daywork.getProductionPlanDetailId());
|
|
|
+ reject.setProductionPlanDetailSubDetailId(daywork.getProductionPlanDetailSubDetailId());
|
|
|
+ reject.setLotId(processInspecion.getLot().getId());
|
|
|
+ reject.setDayworkItemId(dayworkItem.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ processInspectionDetailService.saveBatch(rejects);
|
|
|
+
|
|
|
+
|
|
|
+ //保存咨询信息
|
|
|
+
|
|
|
+ List<BizDayworkItemConsult> consults = processInspecion.getDayworkItemConsults().stream().filter(item -> item.getId() == null).collect(Collectors.toList());
|
|
|
+ List<BizDayworkItemConsult> needAdd = new ArrayList<>();
|
|
|
+ if (consults != null && consults.size() > 0) {
|
|
|
+ for (BizDayworkItemConsult consult : consults) {
|
|
|
+ BizDayworkItemConsult consultInfo = new BizDayworkItemConsult();
|
|
|
+ consultInfo.setPictures(consult.getPictures());
|
|
|
+ consultInfo.setUserId(SecurityUtils.getLoginUser().getUserId());
|
|
|
+ consultInfo.setNickName(SecurityUtils.getLoginUser().getUser().getNickName());
|
|
|
+ consultInfo.setDayworkId(daywork.getId());
|
|
|
+ consultInfo.setContent(consult.getContent());
|
|
|
+ consultInfo.setConsultDepartment(consult.getConsultDepartment());
|
|
|
+ consultInfo.setProcessInspectionId(processInspecion.getId());
|
|
|
+ consultInfo.setProductionPlanId(daywork.getProductionPlanId());
|
|
|
+ consultInfo.setProductionPlanDetailId(daywork.getProductionPlanDetailId());
|
|
|
+ consultInfo.setProductionPlanDetailSubDetailId(daywork.getProductionPlanDetailSubDetailId());
|
|
|
+ consultInfo.setLotId(processInspecion.getLot().getId());
|
|
|
+ consultInfo.setLotCode(processInspecion.getLot().getLotCode());
|
|
|
+ consultInfo.setDayworkId(daywork.getId());
|
|
|
+ consultInfo.setDayworkItemId(dayworkItem.getId());
|
|
|
+ consultInfo.setProductId(processInspecion.getLot().getProductId());
|
|
|
+ consultInfo.setProductDescription(processInspecion.getLot().getProductDescription());
|
|
|
+ consultInfo.setTechnologicalProcessId(processInspecion.getLot().getTechnologicalProcessId());
|
|
|
+ consultInfo.setTechnologicalProcessDetailId(dayworkItem.getTechnologicalProcessDetailId());
|
|
|
+ consultInfo.setProcessId(dayworkItem.getProcessId());
|
|
|
+ consultInfo.setIsProcessInspection(1);
|
|
|
+ consultInfo.setProcessAlias(processInspecion.getLot().getProcessAlias());
|
|
|
+ consultInfo.setTechnicianId(technicianUser == null ? 0L : technicianUser.getUserId());
|
|
|
+ needAdd.add(consultInfo);
|
|
|
+ }
|
|
|
+ bizDayworkItemConsultService.saveBatch(needAdd);
|
|
|
+ List<BizDayworkItemConsultPicture> pictures = new ArrayList<>();
|
|
|
+ needAdd.forEach(ne -> {
|
|
|
+ ne.getPictures().forEach(info -> {
|
|
|
+ BizDayworkItemConsultPicture consultPicture = new BizDayworkItemConsultPicture();
|
|
|
+ consultPicture.setDayworkItemConsultId(ne.getId());
|
|
|
+ consultPicture.setPictureName(info.getPictureName());
|
|
|
+ consultPicture.setUrl(info.getUrl());
|
|
|
+ pictures.add(consultPicture);
|
|
|
+ });
|
|
|
+ });
|
|
|
+ bizDayworkItemConsultPictureService.saveBatch(pictures);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //修改daywaork信息
|
|
|
+ dayworkItem.setIsProcessInspection(1);
|
|
|
+ return success(bizDayworkItemService.saveOrUpdate(dayworkItem));
|
|
|
+ }
|
|
|
/**
|
|
|
* 根据箱号查询批次信息
|
|
|
*/
|
|
@@ -1920,6 +2083,58 @@ public TableDataInfo examineList(@RequestBody BizProcessInspecion bizProcessInsp
|
|
|
lot.setPudName(item.getProdNum() == 0 ? lot.getProductionQuantity() : item.getProdNum());
|
|
|
return success(lot);
|
|
|
}
|
|
|
+ @PostMapping("/getLotInfoByFactoryInspection")
|
|
|
+ public AjaxResult getLotInfoByFactoryInspection(@RequestBody BizDayworkCarrier dayworkCarrier) throws NoSuchFieldException, IllegalAccessException {
|
|
|
+ //根据箱号查询当前绑定信息
|
|
|
+ dayworkCarrier = bizDayworkCarrierService.getByCarrierCode(dayworkCarrier);
|
|
|
+ if (dayworkCarrier == null) {
|
|
|
+ return error("该箱号未绑定任何批次");
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取报工信息
|
|
|
+ List<BizDayworkItem> itemList = bizDayworkItemService.getByDayworkId(dayworkCarrier.getDayworkId());
|
|
|
+ if (itemList.size() == 0) {
|
|
|
+ return error("该批次未开始加工");
|
|
|
+ }
|
|
|
+ BizDayworkItem item = itemList.get(0);
|
|
|
+ BizProductionPlanDetail productionPlanDetail = productionPlanDetailService.getById(item.getProductionPlanDetailId());
|
|
|
+ BizProduct product = productService.getById(productionPlanDetail.getProductId());
|
|
|
+ SysUser user = sysUserService.selectUserById(product.getTechnicianId());
|
|
|
+ if (user != null) {
|
|
|
+ item.setTechnicianName(user.getNickName());
|
|
|
+ item.setTechnicianId(user.getUserId());
|
|
|
+ } else {
|
|
|
+ item.setTechnicianName("");
|
|
|
+ item.setTechnicianId(0L);
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询是否为正常批次
|
|
|
+ BizLot lot = new BizLot();
|
|
|
+ lot.setId(item.getLotId());
|
|
|
+ lot = bizLotService.getAllList(lot).get(0);
|
|
|
+ if (lot.getIsWaste() == 1) {
|
|
|
+ return error("该批次已批废");
|
|
|
+ }
|
|
|
+ if (lot.getIsAmend() == 1 || lot.getIsWasteRecycling() == 1) {
|
|
|
+ BizLotTechnologicalProcessDetail process = bizLotTechnologicalProcessDetailService.getById(item.getTechnologicalProcessDetailId());
|
|
|
+ lot.setProcessAlias(process.getProcessAlias());
|
|
|
+ lot.setProcessCode(process.getProcessCode());
|
|
|
+ lot.setProcessId(process.getProcessId());
|
|
|
+ } else {
|
|
|
+ BizTechnologicalProcessDetail process = bizTechnologicalProcessDetailService.getById(item.getTechnologicalProcessDetailId());
|
|
|
+ lot.setProcessAlias(process.getProcessAlias());
|
|
|
+ lot.setProcessCode(process.getProcessCode());
|
|
|
+ lot.setProcessId(process.getProcessId());
|
|
|
+ }
|
|
|
+ lot.setAllCarrierName(item.getCarrierName());
|
|
|
+ lot.setDeptName(item.getDeptName());
|
|
|
+ lot.setDayworkItemId(item.getId());
|
|
|
+ lot.setProcessStepNumber(item.getProcessStepNumber());
|
|
|
+ lot.setCarrierCode(dayworkCarrier.getCarrierCode());
|
|
|
+ lot.setCarrierId(dayworkCarrier.getCarrierId());
|
|
|
+ lot.setPudName(item.getProdNum() == 0 ? lot.getProductionQuantity() : item.getProdNum());
|
|
|
+ return success(lot);
|
|
|
+ }
|
|
|
|
|
|
// /**
|
|
|
// * 根据箱号查询批次信息
|