diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java index b35e9b5..8b1cede 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessContentServiceImpl.java @@ -5,6 +5,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.content.MesPr import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessContentDO; import cn.iocoder.yudao.module.mes.dal.mysql.pro.process.MesProProcessContentMapper; import jakarta.annotation.Resource; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; @@ -25,8 +26,16 @@ public class MesProProcessContentServiceImpl implements MesProProcessContentServ @Resource private MesProProcessContentMapper processContentMapper; + @Resource + @Lazy + private MesProProcessService processService; + @Override public Long createProcessContent(MesProProcessContentSaveReqVO createReqVO) { + // 校验工序存在 + processService.validateProcessExists(createReqVO.getProcessId()); + + // 插入 MesProProcessContentDO content = BeanUtils.toBean(createReqVO, MesProProcessContentDO.class); processContentMapper.insert(content); return content.getId(); @@ -36,6 +45,7 @@ public class MesProProcessContentServiceImpl implements MesProProcessContentServ public void updateProcessContent(MesProProcessContentSaveReqVO updateReqVO) { // 校验存在 validateProcessContentExists(updateReqVO.getId()); + // 更新 MesProProcessContentDO updateObj = BeanUtils.toBean(updateReqVO, MesProProcessContentDO.class); processContentMapper.updateById(updateObj); @@ -45,6 +55,7 @@ public class MesProProcessContentServiceImpl implements MesProProcessContentServ public void deleteProcessContent(Long id) { // 校验存在 validateProcessContentExists(id); + // 删除 processContentMapper.deleteById(id); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java index 6d3cbc5..5af834b 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/process/MesProProcessServiceImpl.java @@ -7,8 +7,9 @@ import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcess import cn.iocoder.yudao.module.mes.controller.admin.pro.process.vo.MesProProcessSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO; import cn.iocoder.yudao.module.mes.dal.mysql.pro.process.MesProProcessMapper; -import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProcessMapper; +import cn.iocoder.yudao.module.mes.service.pro.route.MesProRouteProcessService; import jakarta.annotation.Resource; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -36,10 +37,12 @@ public class MesProProcessServiceImpl implements MesProProcessService { private MesProProcessContentService processContentService; @Resource - private MesProRouteProcessMapper routeProcessMapper; + @Lazy + private MesProRouteProcessService routeProcessService; @Override public Long createProcess(MesProProcessSaveReqVO createReqVO) { + // TODO @AI:validateXXXSaveData,传入 vo; // 1.1 校验工序编码唯一性 validateProcessCodeUnique(null, createReqVO.getCode()); // 1.2 校验工序名称唯一性 @@ -55,6 +58,7 @@ public class MesProProcessServiceImpl implements MesProProcessService { public void updateProcess(MesProProcessSaveReqVO updateReqVO) { // 1.1 校验存在 validateProcessExists(updateReqVO.getId()); + // TODO @AI:validateXXXSaveData,传入 vo; // 1.2 校验工序编码唯一性 validateProcessCodeUnique(updateReqVO.getId(), updateReqVO.getCode()); // 1.3 校验工序名称唯一性 @@ -71,7 +75,7 @@ public class MesProProcessServiceImpl implements MesProProcessService { // 1.1 校验存在 validateProcessExists(id); // 1.2 校验是否被工艺路线引用 - if (CollUtil.isNotEmpty(routeProcessMapper.selectListByProcessId(id))) { + if (CollUtil.isNotEmpty(routeProcessService.getRouteProcessListByProcessId(id))) { throw exception(PRO_PROCESS_USED_BY_ROUTE); } diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessService.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessService.java index 12f20cf..96ccdab 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessService.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessService.java @@ -67,6 +67,14 @@ public interface MesProRouteProcessService { List getRouteProcessListByProductId(Long productId); /** + * 按工序获得工艺路线工序列表 + * + * @param processId 工序编号 + * @return 工艺路线工序列表 + */ + List getRouteProcessListByProcessId(Long processId); + + /** * 按工艺路线删除工序(级联删除使用) * * @param routeId 工艺路线编号 diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java index 2d00958..20fca3e 100644 --- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java +++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java @@ -192,6 +192,7 @@ public class MesProRouteProcessServiceImpl implements MesProRouteProcessService MesProRouteProductDO routeProduct = routeProductService.getRouteProductByItemId(productId); if (routeProduct == null) { // TODO @芋艿:会不会存在配置了多个的情况??? + // TODO @AI:会有这个情况么? return Collections.emptyList(); } // 2. 返回该工艺路线的工序列表 @@ -199,6 +200,11 @@ public class MesProRouteProcessServiceImpl implements MesProRouteProcessService } @Override + public List getRouteProcessListByProcessId(Long processId) { + return routeProcessMapper.selectListByProcessId(processId); + } + + @Override public void deleteRouteProcessByRouteId(Long routeId) { routeProcessMapper.deleteByRouteId(routeId); }