| | |
| | | import cn.iocoder.yudao.module.mes.enums.md.autocode.MesMdAutoCodeRuleCodeEnum; |
| | | import cn.iocoder.yudao.module.mes.enums.pro.MesProTaskStatusEnum; |
| | | import cn.iocoder.yudao.module.mes.service.dv.machinery.MesDvMachineryService; |
| | | import cn.iocoder.yudao.module.mes.service.cal.team.MesCalTeamService; |
| | | import cn.iocoder.yudao.module.mes.dal.dataobject.cal.team.MesCalTeamDO; |
| | | import cn.iocoder.yudao.module.mes.service.md.autocode.MesMdAutoCodeRecordService; |
| | | import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService; |
| | | import cn.iocoder.yudao.module.mes.service.md.unitmeasure.MesMdUnitMeasureService; |
| | |
| | | @Resource |
| | | @Lazy |
| | | private MesDvMachineryService machineryService; |
| | | @Resource |
| | | private MesCalTeamService teamService; |
| | | |
| | | @Override |
| | | public Long createTask(MesProTaskSaveReqVO createReqVO) { |
| | |
| | | workstationService.validateWorkstationExists(createReqVO.getWorkstationId()); |
| | | routeService.validateRouteExists(createReqVO.getRouteId()); |
| | | processService.validateProcessExistsAndEnable(createReqVO.getProcessId()); |
| | | fillTeamInfo(createReqVO); |
| | | |
| | | // 2. 自动确定 itemId:优先前端传入 → 工艺路线工序的产出产品 → 工单成品 |
| | | Long itemId = createReqVO.getItemId(); |
| | |
| | | if (updateReqVO.getProcessId() != null) { |
| | | processService.validateProcessExistsAndEnable(updateReqVO.getProcessId()); |
| | | } |
| | | fillTeamInfo(updateReqVO); |
| | | MesMdItemDO item; |
| | | if (updateReqVO.getItemId() != null) { |
| | | item = itemService.validateItemExists(updateReqVO.getItemId()); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 校验班组存在并回填班组名称 |
| | | */ |
| | | private void fillTeamInfo(MesProTaskSaveReqVO reqVO) { |
| | | if (reqVO.getTeamId() == null) { |
| | | return; |
| | | } |
| | | MesCalTeamDO team = teamService.validateTeamExists(reqVO.getTeamId()); |
| | | if (team != null) { |
| | | reqVO.setTeamName(team.getName()); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 构建任务名称,格式:"产品名【数量】单位" |
| | | */ |
| | | private String buildTaskName(MesMdItemDO item, BigDecimal quantity) { |