|
|
|
|
@ -163,16 +163,22 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper, |
|
|
|
|
@Override |
|
|
|
|
public R batchApproval(List<OemApproval> approvals) { |
|
|
|
|
|
|
|
|
|
List<String> errors = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < approvals.size(); i++) { |
|
|
|
|
OemApproval approval = approvals.get(i); |
|
|
|
|
|
|
|
|
|
try { |
|
|
|
|
R r = singleApprovalInNewTransaction(approval); |
|
|
|
|
} 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("操作完成"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -203,10 +209,11 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper, |
|
|
|
|
String wxCode = workOrderRun.getWoCode(); |
|
|
|
|
Oem oldOemCustomer = oemMapper.selectById(workOrderRun.getInCustomer()); |
|
|
|
|
WorkOrderRun oldWorkOrderRun = workOrderRunMapper.selectById(wo.getWorId()); |
|
|
|
|
if (oldWorkOrderRun != null) { |
|
|
|
|
oldWorkOrderRun.setRunStatus(WorkOrderRun.RUN_STATUS_VOIDED); |
|
|
|
|
workOrderRunMapper.updateById(oldWorkOrderRun); |
|
|
|
|
wp = workPlanMapper.selectOne(new LambdaQueryWrapper<WorkPlan>() |
|
|
|
|
.eq(WorkPlan::getWoId, wo.getId())); |
|
|
|
|
} |
|
|
|
|
wp = workPlanMapper.selectById(wo.getWpId()); |
|
|
|
|
wo.setCollaborate(workOrderRun.getCollaborate()); |
|
|
|
|
|
|
|
|
|
// 若当前序小于等于已接收
|
|
|
|
|
@ -296,16 +303,31 @@ public class WorkOrderRunServiceImpl extends BaseServiceImpl<WorkOrderRunMapper, |
|
|
|
|
} |
|
|
|
|
//根据外协工艺更新车间订单信息
|
|
|
|
|
OemCraftAbilityEntity oa = null; |
|
|
|
|
Long oemId = null; |
|
|
|
|
Long craftAbilityId = null; |
|
|
|
|
if (wp.getStatus().equals(WorkPlan.STATUS_WORK_OK)) { |
|
|
|
|
WorkPlan nextWp = workPlanMapper.selectOne(new LambdaQueryWrapper<WorkPlan>() |
|
|
|
|
.eq(WorkPlan::getId, wp.getNextWpId())); |
|
|
|
|
oa = oemCraftAbilityMapper.selectOne(new LambdaQueryWrapper<OemCraftAbilityEntity>().eq(OemCraftAbilityEntity::getOtherId, nextWp.getOcId()) |
|
|
|
|
.eq(OemCraftAbilityEntity::getCraftAbilityId, nextWp.getCaId())); |
|
|
|
|
if (nextWp != null) { |
|
|
|
|
oemId = nextWp.getOcId(); |
|
|
|
|
craftAbilityId = nextWp.getCaId(); |
|
|
|
|
oa = oemCraftAbilityMapper.selectOne(new LambdaQueryWrapper<OemCraftAbilityEntity>().eq(OemCraftAbilityEntity::getOtherId, oemId) |
|
|
|
|
.eq(OemCraftAbilityEntity::getCraftAbilityId, craftAbilityId)); |
|
|
|
|
} |
|
|
|
|
} else { |
|
|
|
|
oa = oemCraftAbilityMapper.selectOne(new LambdaQueryWrapper<OemCraftAbilityEntity>().eq(OemCraftAbilityEntity::getOtherId, wp.getOcId()) |
|
|
|
|
.eq(OemCraftAbilityEntity::getCraftAbilityId, wp.getCaId())); |
|
|
|
|
oemId = wp.getOcId(); |
|
|
|
|
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); |
|
|
|
|
} |
|
|
|
|
Date date = DateUtil.plusDays(wo.getSendDownTime(), days); |
|
|
|
|
|