工序检验逻辑修改

liweidong
李涛 4 days ago
parent d2c878cc26
commit e10b6792e4
  1. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderServiceImpl.java
  2. 87
      blade-service/blade-desk/src/main/java/org/springblade/desk/quality/service/impl/InspectionTaskServiceImpl.java

@ -1456,7 +1456,7 @@ public class WorkOrderServiceImpl extends BaseServiceImpl<WorkOrderMapper, WorkO
} }
// 检验记录 // 检验记录
InspectionTask prWorkCheckByWpId = inspectionTaskMapper.selectOne(Wrappers.lambdaQuery(InspectionTask.class).eq(InspectionTask::getWpId, wpId)); InspectionTask prWorkCheckByWpId = inspectionTaskMapper.selectOne(Wrappers.lambdaQuery(InspectionTask.class).eq(InspectionTask::getWpId, wpId), false);
if (prWorkCheckByWpId != null) { if (prWorkCheckByWpId != null) {
ProduceMonitorWorkCheckVO workCheckVO = new ProduceMonitorWorkCheckVO(); ProduceMonitorWorkCheckVO workCheckVO = new ProduceMonitorWorkCheckVO();
BeanUtils.copyProperties(prWorkCheckByWpId, workCheckVO); BeanUtils.copyProperties(prWorkCheckByWpId, workCheckVO);

@ -2291,44 +2291,46 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
if (null == task) { if (null == task) {
throw new IllegalArgumentException("error id!"); throw new IllegalArgumentException("error id!");
} }
int checkResult = task.getCheckResult();
List<WorkPlanItem> itemList = wpItemService.listByTaskId(id); List<WorkPlanItem> itemList = wpItemService.listByTaskId(id);
StatusCountMap map = new StatusCountMap(); if (CollectionUtils.isNotEmpty(itemList)) {
int sumCheckQ = 0, sumTestQty = 0, sumLossQty = 0; StatusCountMap map = new StatusCountMap();
for (WorkPlanItem item : itemList) { int sumCheckQ = 0, sumTestQty = 0, sumLossQty = 0;
sumCheckQ += item.getCheckQty() != null ? item.getCheckQty().intValue() : 0; for (WorkPlanItem item : itemList) {
sumTestQty += item.getTestQty() != null ? item.getTestQty().intValue() : 0; sumCheckQ += item.getCheckQty() != null ? item.getCheckQty().intValue() : 0;
sumLossQty += item.getLossQty() != null ? item.getLossQty().intValue() : 0; sumTestQty += item.getTestQty() != null ? item.getTestQty().intValue() : 0;
map.add1(item.getCheckResult()); sumLossQty += item.getLossQty() != null ? item.getLossQty().intValue() : 0;
} map.add1(item.getCheckResult());
int countToDo = map.get(InspectionTaskConst.CHECK_RESULT_TODO); }
int countOK = map.get(InspectionTaskConst.CHECK_RESULT_OK); int countToDo = map.get(InspectionTaskConst.CHECK_RESULT_TODO);
int countNO = map.get(InspectionTaskConst.CHECK_RESULT_NG); int countOK = map.get(InspectionTaskConst.CHECK_RESULT_OK);
int countNA = map.get(InspectionTaskConst.CHECK_RESULT_NA); int countNO = map.get(InspectionTaskConst.CHECK_RESULT_NG);
log.info("countToDo = {}", countToDo); int countNA = map.get(InspectionTaskConst.CHECK_RESULT_NA);
log.info("countOK = {}", countOK); log.info("countToDo = {}", countToDo);
log.info("countNO = {}", countNO); log.info("countOK = {}", countOK);
log.info("countNA = {}", countNA); log.info("countNO = {}", countNO);
if (countOK != 0 || countNO != 0 || countNA != 0) { log.info("countNA = {}", countNA);
// 设置接收时间 if (countOK != 0 || countNO != 0 || countNA != 0) {
task.setReceiveDate(LocalDateTime.now()); // 设置接收时间
} task.setReceiveDate(LocalDateTime.now());
// checkResult 处理 }
int checkResult = InspectionTaskConst.CHECK_RESULT_TODO; // 默认 数据库 // checkResult 处理
if (countToDo == 0) { // 未检验为0 checkResult = InspectionTaskConst.CHECK_RESULT_TODO; // 默认 数据库
if (countOK == itemList.size()) { // 全部item 合格 if (countToDo == 0) { // 未检验为0
checkResult = InspectionTaskConst.CHECK_RESULT_OK; if (countOK == itemList.size()) { // 全部item 合格
checkResult = InspectionTaskConst.CHECK_RESULT_OK;
task.setCheckUserId(AuthUtil.getUserId());
task.setCheckDate(LocalDateTime.now()); task.setCheckUserId(AuthUtil.getUserId());
this.computeOrderQty(wp, task, wo, sumCheckQ, sumTestQty, sumLossQty, 0); task.setCheckDate(LocalDateTime.now());
IWorkOrderService workOrderService = context.getBean(IWorkOrderService.class); this.computeOrderQty(wp, task, wo, sumCheckQ, sumTestQty, sumLossQty, 0);
workOrderService.qualified(wp, task, wo, AuthUtil.getUserName()); IWorkOrderService workOrderService = context.getBean(IWorkOrderService.class);
} else if (countNA == itemList.size()) { // 全部item NA workOrderService.qualified(wp, task, wo, AuthUtil.getUserName());
checkResult = InspectionTaskConst.CHECK_RESULT_NA; } else if (countNA == itemList.size()) { // 全部item NA
} else if (countNO >= 0 && countNO <= itemList.size()) { // 不合格 checkResult = InspectionTaskConst.CHECK_RESULT_NA;
checkResult = InspectionTaskConst.CHECK_RESULT_NG; } else if (countNO >= 0 && countNO <= itemList.size()) { // 不合格
checkResult = InspectionTaskConst.CHECK_RESULT_NG;
}
} }
}
// if (countOK == itemList.size()) { // 全部item 合格 // if (countOK == itemList.size()) { // 全部item 合格
// checkResult = InspectionTaskConst.CHECK_RESULT_OK; // checkResult = InspectionTaskConst.CHECK_RESULT_OK;
@ -2337,11 +2339,12 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
// } else if (countNO >= 0 && countNO <= itemList.size()) { // 不合格 // } else if (countNO >= 0 && countNO <= itemList.size()) { // 不合格
// checkResult = InspectionTaskConst.CHECK_RESULT_NG; // checkResult = InspectionTaskConst.CHECK_RESULT_NG;
// } // }
// 最新状态 // 最新状态
task.setCheckResult(checkResult); task.setCheckResult(checkResult);
task.setStatus(checkResult); task.setStatus(checkResult);
// 更新 // 更新
updateById(task); updateById(task);
}
// 如果检验任务结果不合格,创建 生产处置单 // 如果检验任务结果不合格,创建 生产处置单
if (checkResult == InspectionTaskConst.CHECK_RESULT_NG) { if (checkResult == InspectionTaskConst.CHECK_RESULT_NG) {
addRsSheet(id); addRsSheet(id);
@ -2510,7 +2513,7 @@ public class InspectionTaskServiceImpl extends BaseServiceImpl<InspectionTaskMap
sub.put("partCode", sjCompleteVO.getPartCode());//零件号 sub.put("partCode", sjCompleteVO.getPartCode());//零件号
sub.put("material", sjCompleteVO.getMaterial());//材料 sub.put("material", sjCompleteVO.getMaterial());//材料
sub.put("plate", sjCompleteVO.getPlate());//镀种 sub.put("plate", sjCompleteVO.getPlate());//镀种
sub.put("poArea",sjCompleteVO.getYpArea());//面积 sub.put("poArea", sjCompleteVO.getYpArea());//面积
sunPrWorkOrderList.add(sub); sunPrWorkOrderList.add(sub);
} }
} }

Loading…
Cancel
Save