外协查询、审批问题修改,增加报错日志输出

liweidong
zangzhipeng 4 days ago
parent 4323e24f9d
commit 700e4d3ba8
  1. 2
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/WorkOrderRunMapper.xml
  2. 40
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/WorkOrderRunServiceImpl.java

@ -133,7 +133,7 @@
AND mwor.run_type = #{query.runType} AND mwor.run_type = #{query.runType}
</if> </if>
<if test="query.orderCode != null and query.orderCode != ''"> <if test="query.orderCode != null and query.orderCode != ''">
AND two.wo_code LIKE CONCAT('%', CONCAT(#{query.orderCode}, '%')) AND mwor.wo_code LIKE CONCAT('%', CONCAT(#{query.orderCode}, '%'))
</if> </if>
<if test="query.partCode != null and query.partCode != ''"> <if test="query.partCode != null and query.partCode != ''">
AND tyo.part_code LIKE CONCAT('%', CONCAT(#{query.partCode}, '%')) AND tyo.part_code LIKE CONCAT('%', CONCAT(#{query.partCode}, '%'))

@ -163,16 +163,22 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
@Override @Override
public R batchApproval(List<OemApproval> approvals) { public R batchApproval(List<OemApproval> approvals) {
List<String> errors = new ArrayList<>();
for (int i = 0; i < approvals.size(); i++) { for (int i = 0; i < approvals.size(); i++) {
OemApproval approval = approvals.get(i); OemApproval approval = approvals.get(i);
try { try {
R r = singleApprovalInNewTransaction(approval); R r = singleApprovalInNewTransaction(approval);
} catch (Exception e) { } catch (Exception e) {
log.error(String.format("审批失败,单据ID: {}", approval.getWorkOrderRunId()), e); String errMsg = "审批失败,单据ID: " + approval.getWorkOrderRunId();
log.error(errMsg, e);
errors.add(errMsg + "," + e.getMessage());
} }
} }
if (!errors.isEmpty()) {
return R.fail(String.join(";", errors));
}
return R.success("操作完成"); return R.success("操作完成");
} }
@ -203,10 +209,11 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
String wxCode = workOrderRun.getWoCode(); String wxCode = workOrderRun.getWoCode();
Oem oldOemCustomer = oemMapper.selectById(workOrderRun.getInCustomer()); Oem oldOemCustomer = oemMapper.selectById(workOrderRun.getInCustomer());
WorkOrderRun oldWorkOrderRun = workOrderRunMapper.selectById(wo.getWorId()); WorkOrderRun oldWorkOrderRun = workOrderRunMapper.selectById(wo.getWorId());
oldWorkOrderRun.setRunStatus(WorkOrderRun.RUN_STATUS_VOIDED); if (oldWorkOrderRun != null) {
workOrderRunMapper.updateById(oldWorkOrderRun); oldWorkOrderRun.setRunStatus(WorkOrderRun.RUN_STATUS_VOIDED);
wp = workPlanMapper.selectOne(new LambdaQueryWrapper<WorkPlan>() workOrderRunMapper.updateById(oldWorkOrderRun);
.eq(WorkPlan::getWoId, wo.getId())); }
wp = workPlanMapper.selectById(wo.getWpId());
wo.setCollaborate(workOrderRun.getCollaborate()); wo.setCollaborate(workOrderRun.getCollaborate());
// 若当前序小于等于已接收 // 若当前序小于等于已接收
@ -296,16 +303,31 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper,
} }
//根据外协工艺更新车间订单信息 //根据外协工艺更新车间订单信息
OemCraftAbilityEntity oa = null; OemCraftAbilityEntity oa = null;
Long oemId = null;
Long craftAbilityId = null;
if (wp.getStatus().equals(WorkPlan.STATUS_WORK_OK)) { if (wp.getStatus().equals(WorkPlan.STATUS_WORK_OK)) {
WorkPlan nextWp = workPlanMapper.selectOne(new LambdaQueryWrapper<WorkPlan>() WorkPlan nextWp = workPlanMapper.selectOne(new LambdaQueryWrapper<WorkPlan>()
.eq(WorkPlan::getId, wp.getNextWpId())); .eq(WorkPlan::getId, wp.getNextWpId()));
oa = oemCraftAbilityMapper.selectOne(new LambdaQueryWrapper<OemCraftAbilityEntity>().eq(OemCraftAbilityEntity::getOtherId, nextWp.getOcId()) if (nextWp != null) {
.eq(OemCraftAbilityEntity::getCraftAbilityId, nextWp.getCaId())); oemId = nextWp.getOcId();
craftAbilityId = nextWp.getCaId();
oa = oemCraftAbilityMapper.selectOne(new LambdaQueryWrapper<OemCraftAbilityEntity>().eq(OemCraftAbilityEntity::getOtherId, oemId)
.eq(OemCraftAbilityEntity::getCraftAbilityId, craftAbilityId));
}
} else { } else {
oa = oemCraftAbilityMapper.selectOne(new LambdaQueryWrapper<OemCraftAbilityEntity>().eq(OemCraftAbilityEntity::getOtherId, wp.getOcId()) oemId = wp.getOcId();
.eq(OemCraftAbilityEntity::getCraftAbilityId, wp.getCaId())); craftAbilityId = wp.getCaId();
oa = oemCraftAbilityMapper.selectOne(new LambdaQueryWrapper<OemCraftAbilityEntity>().eq(OemCraftAbilityEntity::getOtherId, oemId)
.eq(OemCraftAbilityEntity::getCraftAbilityId, craftAbilityId));
} }
//更改订单调度员和计划员 //更改订单调度员和计划员
if (oa == null) {
Oem oem = oemMapper.selectById(oemId);
String oemName = oem != null ? oem.getOcName() : "未知厂商";
String errorMsg = String.format("外协厂商【%s】(ID:%s)的工艺能力(ID:%s)未维护,可在基础数据-外协工艺能力页面维护", oemName, oemId, craftAbilityId);
log.error(errorMsg);
throw new ServiceException(errorMsg);
}
workOrderService.maintainOrder(wo, oa.getPlanner(), oa.getDispatcher(), workOrderRun, true); workOrderService.maintainOrder(wo, oa.getPlanner(), oa.getDispatcher(), workOrderRun, true);
} }
Date date = DateUtil.plusDays(wo.getSendDownTime(), days); Date date = DateUtil.plusDays(wo.getSendDownTime(), days);

Loading…
Cancel
Save