From 381e02b9eccbe953b31d09f2af1c2ce77c816140 Mon Sep 17 00:00:00 2001
From: liu <2021943741@qq.com>
Date: 星期六, 07 十一月 2026 14:51:05 +0800
Subject: [PATCH] fix(mes): 隔离设备物料并支持销售产品映射
---
yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java | 24 +++++++++++++++++++-----
1 files changed, 19 insertions(+), 5 deletions(-)
diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java
index 2f2795d..53fbdb1 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/pro/workorder/MesProWorkOrderBomController.java
@@ -18,9 +18,11 @@
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderBomDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderDO;
import cn.iocoder.yudao.module.mes.dal.dataobject.pro.workorder.MesProWorkOrderProcessDO;
+import cn.iocoder.yudao.module.mes.dal.dataobject.pro.task.MesProTaskDO;
+import cn.iocoder.yudao.module.mes.service.pro.task.MesProTaskService;
import cn.iocoder.yudao.module.mes.dal.dataobject.wm.materialstock.MesWmMaterialStockDO;
import cn.iocoder.yudao.module.mes.dal.mysql.wm.materialstock.MesWmMaterialStockMapper;
-import cn.iocoder.yudao.module.erp.api.purchase.ErpPurchaseOrderApi;
+import cn.iocoder.yudao.module.erp.api.purchase.PurchaseOrderApi;
import cn.iocoder.yudao.module.erp.api.purchase.dto.ErpPurchaseOrderItemRespDTO;
import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemTypeService;
@@ -53,6 +55,9 @@
public class MesProWorkOrderBomController {
@Resource
+ private MesProTaskService taskService;
+
+ @Resource
private MesProWorkOrderBomService workOrderBomService;
@Resource
private MesProWorkOrderService workOrderService;
@@ -71,7 +76,7 @@
@Resource
private MesWmMaterialStockMapper materialStockMapper;
@Resource
- private ErpPurchaseOrderApi purchaseOrderApi;
+ private PurchaseOrderApi purchaseOrderApi;
@PostMapping("/create")
@Operation(summary = "鍒涘缓宸ュ崟 BOM")
@@ -100,7 +105,6 @@
@GetMapping("/get")
@Operation(summary = "鑾峰緱宸ュ崟 BOM")
@Parameter(name = "id", description = "缂栧彿", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
public CommonResult<MesProWorkOrderBomRespVO> getWorkOrderBom(@RequestParam("id") Long id) {
MesProWorkOrderBomDO workOrderBom = workOrderBomService.getWorkOrderBom(id);
if (workOrderBom == null) {
@@ -111,16 +115,26 @@
@GetMapping("/page")
@Operation(summary = "鑾峰緱宸ュ崟 BOM 鍒嗛〉")
- @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
public CommonResult<PageResult<MesProWorkOrderBomRespVO>> getWorkOrderBomPage(@Valid MesProWorkOrderBomPageReqVO pageReqVO) {
PageResult<MesProWorkOrderBomDO> pageResult = workOrderBomService.getWorkOrderBomPage(pageReqVO);
return success(new PageResult<>(buildWorkOrderBomRespVOList(pageResult.getList()), pageResult.getTotal()));
}
+ @GetMapping("/list-by-task-id")
+ @Operation(summary = "鑾峰緱鐢熶骇浠诲姟宸ュ簭鐨勬姇鍏ョ墿鏂�")
+ public CommonResult<List<MesProWorkOrderBomRespVO>> getWorkOrderBomListByTaskId(@RequestParam("taskId") Long taskId) {
+ MesProTaskDO task = taskService.validateTaskExists(taskId);
+ if (task.getWorkOrderId() == null || task.getProcessId() == null) {
+ return success(Collections.emptyList());
+ }
+ List<MesProWorkOrderBomDO> list = workOrderBomService.getWorkOrderBomListByWorkOrderId(task.getWorkOrderId())
+ .stream().filter(bom -> Objects.equals(bom.getProcessId(), task.getProcessId())).toList();
+ return success(buildWorkOrderBomRespVOList(list));
+ }
+
@GetMapping("/item-list-by-work-order-id")
@Operation(summary = "鑾峰緱宸ュ崟鐗╂枡闇�姹傚垪琛�")
@Parameter(name = "workOrderId", description = "宸ュ崟缂栧彿", required = true)
- @PreAuthorize("@ss.hasPermission('mes:pro-work-order:query')")
public CommonResult<List<MesProWorkOrderItemRespVO>> getWorkOrderBomItemListByWorkOrderId(
@RequestParam("workOrderId") Long workOrderId) {
// 1. 鑾峰彇宸ュ崟
--
Gitblit v1.9.3