Commit 8bfe74fe03417591ab9ebf970361ac2e1ec142de
1 parent
a6b7f4c7
✨ feat(mes): 添加按产品查询工序列表功能
Showing
3 changed files
with
38 additions
and
0 deletions
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/route/MesProRouteProcessController.java
| @@ -74,6 +74,16 @@ public class MesProRouteProcessController { | @@ -74,6 +74,16 @@ public class MesProRouteProcessController { | ||
| 74 | return success(buildRouteProcessRespVO(routeProcess)); | 74 | return success(buildRouteProcessRespVO(routeProcess)); |
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | + // TODO @芋艿:到底叫 list-by-item 还是 list-by-product? | ||
| 78 | + @GetMapping("/list-by-product") | ||
| 79 | + @Operation(summary = "按产品获得工序列表", description = "根据产品查找关联的工艺路线,返回该路线的工序列表") | ||
| 80 | + @Parameter(name = "productId", description = "产品编号", required = true, example = "1") | ||
| 81 | + @PreAuthorize("@ss.hasPermission('mes:pro-route:query')") | ||
| 82 | + public CommonResult<List<MesProRouteProcessRespVO>> getRouteProcessListByProduct(@RequestParam("productId") Long productId) { | ||
| 83 | + List<MesProRouteProcessDO> list = routeProcessService.getRouteProcessListByProductId(productId); | ||
| 84 | + return success(buildRouteProcessRespVOList(list)); | ||
| 85 | + } | ||
| 86 | + | ||
| 77 | @GetMapping("/list-by-route") | 87 | @GetMapping("/list-by-route") |
| 78 | @Operation(summary = "按工艺路线获得工序列表") | 88 | @Operation(summary = "按工艺路线获得工序列表") |
| 79 | @Parameter(name = "routeId", description = "工艺路线编号", required = true, example = "1") | 89 | @Parameter(name = "routeId", description = "工艺路线编号", required = true, example = "1") |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessService.java
| @@ -57,6 +57,16 @@ public interface MesProRouteProcessService { | @@ -57,6 +57,16 @@ public interface MesProRouteProcessService { | ||
| 57 | MesProRouteProcessDO getRouteProcessByRouteIdAndProcessId(Long routeId, Long processId); | 57 | MesProRouteProcessDO getRouteProcessByRouteIdAndProcessId(Long routeId, Long processId); |
| 58 | 58 | ||
| 59 | /** | 59 | /** |
| 60 | + * 按产品获得工序列表 | ||
| 61 | + * | ||
| 62 | + * 根据产品查找关联的工艺路线,返回该路线的工序列表 | ||
| 63 | + * | ||
| 64 | + * @param productId 产品编号 | ||
| 65 | + * @return 工序列表 | ||
| 66 | + */ | ||
| 67 | + List<MesProRouteProcessDO> getRouteProcessListByProductId(Long productId); | ||
| 68 | + | ||
| 69 | + /** | ||
| 60 | * 按工艺路线删除工序(级联删除使用) | 70 | * 按工艺路线删除工序(级联删除使用) |
| 61 | * | 71 | * |
| 62 | * @param routeId 工艺路线编号 | 72 | * @param routeId 工艺路线编号 |
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/route/MesProRouteProcessServiceImpl.java
| @@ -4,7 +4,9 @@ import cn.hutool.core.collection.CollUtil; | @@ -4,7 +4,9 @@ import cn.hutool.core.collection.CollUtil; | ||
| 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 4 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 5 | import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.process.MesProRouteProcessSaveReqVO; | 5 | import cn.iocoder.yudao.module.mes.controller.admin.pro.route.vo.process.MesProRouteProcessSaveReqVO; |
| 6 | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO; | 6 | import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProcessDO; |
| 7 | +import cn.iocoder.yudao.module.mes.dal.dataobject.pro.route.MesProRouteProductDO; | ||
| 7 | import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProcessMapper; | 8 | import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProcessMapper; |
| 9 | +import cn.iocoder.yudao.module.mes.dal.mysql.pro.route.MesProRouteProductMapper; | ||
| 8 | import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService; | 10 | import cn.iocoder.yudao.module.mes.service.pro.process.MesProProcessService; |
| 9 | import jakarta.annotation.Resource; | 11 | import jakarta.annotation.Resource; |
| 10 | import org.springframework.context.annotation.Lazy; | 12 | import org.springframework.context.annotation.Lazy; |
| @@ -32,6 +34,10 @@ public class MesProRouteProcessServiceImpl implements MesProRouteProcessService | @@ -32,6 +34,10 @@ public class MesProRouteProcessServiceImpl implements MesProRouteProcessService | ||
| 32 | @Resource | 34 | @Resource |
| 33 | private MesProRouteProcessMapper routeProcessMapper; | 35 | private MesProRouteProcessMapper routeProcessMapper; |
| 34 | 36 | ||
| 37 | + // TODO @AI:应该使用 MesProRouteProductService; | ||
| 38 | + @Resource | ||
| 39 | + private MesProRouteProductMapper routeProductMapper; | ||
| 40 | + | ||
| 35 | @Resource | 41 | @Resource |
| 36 | @Lazy | 42 | @Lazy |
| 37 | private MesProProcessService processService; | 43 | private MesProProcessService processService; |
| @@ -184,6 +190,18 @@ public class MesProRouteProcessServiceImpl implements MesProRouteProcessService | @@ -184,6 +190,18 @@ public class MesProRouteProcessServiceImpl implements MesProRouteProcessService | ||
| 184 | } | 190 | } |
| 185 | 191 | ||
| 186 | @Override | 192 | @Override |
| 193 | + public List<MesProRouteProcessDO> getRouteProcessListByProductId(Long productId) { | ||
| 194 | + // 1. 根据产品查找关联的工艺路线产品记录 | ||
| 195 | + MesProRouteProductDO routeProduct = routeProductMapper.selectByItemId(productId); | ||
| 196 | + if (routeProduct == null) { | ||
| 197 | + // TODO @芋艿:会不会存在配置了多个的情况??? | ||
| 198 | + return Collections.emptyList(); | ||
| 199 | + } | ||
| 200 | + // 2. 返回该工艺路线的工序列表 | ||
| 201 | + return routeProcessMapper.selectListByRouteId(routeProduct.getRouteId()); | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + @Override | ||
| 187 | public void deleteRouteProcessByRouteId(Long routeId) { | 205 | public void deleteRouteProcessByRouteId(Long routeId) { |
| 188 | routeProcessMapper.deleteByRouteId(routeId); | 206 | routeProcessMapper.deleteByRouteId(routeId); |
| 189 | } | 207 | } |