| | |
| | | /** |
| | | * MES 工艺路线工序 Service 实现类 |
| | | * |
| | | * @author 芋道源码 |
| | | * @author 超级管理员 |
| | | */ |
| | | @Service |
| | | @Validated |
| | |
| | | |
| | | // 2. 插入 |
| | | MesProRouteProcessDO routeProcess = BeanUtils.toBean(createReqVO, MesProRouteProcessDO.class); |
| | | if (CollUtil.isNotEmpty(createReqVO.getOutputItemIds())) { |
| | | routeProcess.setOutputItemId( |
| | | createReqVO.getOutputItemIds().stream() |
| | | .map(String::valueOf) |
| | | .collect(Collectors.joining(","))); |
| | | } |
| | | routeProcessMapper.insert(routeProcess); |
| | | |
| | | // 3. 更新工序链 |
| | |
| | | public void updateRouteProcess(MesProRouteProcessSaveReqVO updateReqVO) { |
| | | // 1.0 已启用的工艺路线,不允许操作 |
| | | routeService.validateRouteNotEnable(updateReqVO.getRouteId()); |
| | | // 1.1 校验存在 |
| | | validateRouteProcessExists(updateReqVO.getId()); |
| | | // 1.1 校验存在;部分更新(如仅调整产出产品)时未传的必填字段用现有值回填 |
| | | MesProRouteProcessDO existing = validateRouteProcessExists(updateReqVO.getId()); |
| | | if (updateReqVO.getProcessId() == null) { |
| | | updateReqVO.setProcessId(existing.getProcessId()); |
| | | } |
| | | if (updateReqVO.getSort() == null) { |
| | | updateReqVO.setSort(existing.getSort()); |
| | | } |
| | | // 1.2 校验工艺路线、工序存在 |
| | | validateRouteAndProcessExists(updateReqVO.getRouteId(), updateReqVO.getProcessId()); |
| | | // 1.3 校验唯一性 |
| | |
| | | |
| | | // 2. 更新 |
| | | MesProRouteProcessDO updateObj = BeanUtils.toBean(updateReqVO, MesProRouteProcessDO.class); |
| | | if (CollUtil.isNotEmpty(updateReqVO.getOutputItemIds())) { |
| | | updateObj.setOutputItemId( |
| | | updateReqVO.getOutputItemIds().stream() |
| | | .map(String::valueOf) |
| | | .collect(Collectors.joining(","))); |
| | | } |
| | | routeProcessMapper.updateById(updateObj); |
| | | |
| | | // 3. 重建工序链 |