工序检验逻辑修改

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) {
ProduceMonitorWorkCheckVO workCheckVO = new ProduceMonitorWorkCheckVO();
BeanUtils.copyProperties(prWorkCheckByWpId, workCheckVO);

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

Loading…
Cancel
Save