From d39e4f7d839167c16425086dfa2f8747bccfdff9 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期四, 05 十一月 2026 17:39:01 +0800
Subject: [PATCH] feat: 打通销售采购财务闭环并完成累计业务优化

---
 yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java |   28 +++++++++++++++++++++++++---
 1 files changed, 25 insertions(+), 3 deletions(-)

diff --git a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
index c824d07..5e01383 100644
--- a/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
+++ b/yudao-module-mes/src/main/java/cn/iocoder/yudao/module/mes/service/pro/workorder/MesProWorkOrderServiceImpl.java
@@ -13,6 +13,7 @@
 import cn.iocoder.yudao.module.mes.enums.wm.BarcodeBizTypeEnum;
 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemBatchConfigService;
 import cn.iocoder.yudao.module.mes.service.md.item.MesMdItemService;
+import cn.iocoder.yudao.module.mes.service.common.bpm.MesBpmProcessService;
 import cn.iocoder.yudao.module.mes.controller.admin.pro.workorder.vo.MesProWorkOrderProgressRespVO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.md.workstation.MesMdWorkstationDO;
 import cn.iocoder.yudao.module.mes.dal.dataobject.pro.process.MesProProcessDO;
@@ -48,6 +49,11 @@
 public class MesProWorkOrderServiceImpl implements MesProWorkOrderService {
 
     @Resource
+    private MesBpmProcessService mesBpmProcessService;
+
+    private static final String BPM_PROCESS_DEFINITION_CATEGORY_CODE = "mes_pro_feedback_audit";
+
+    @Resource
     private MesProWorkOrderMapper workOrderMapper;
 
     @Resource
@@ -68,6 +74,8 @@
     private MesMdWorkstationService workstationService;
     @Resource
     private CrmCustomerApi customerApi;
+    @Resource
+    private MesProWorkOrderTechnicalFileService technicalFileService;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -83,6 +91,7 @@
         MesProWorkOrderDO workOrder = BeanUtils.toBean(createReqVO, MesProWorkOrderDO.class);
         workOrder.setStatus(MesProWorkOrderStatusEnum.PREPARE.getStatus());
         workOrderMapper.insert(workOrder);
+        technicalFileService.snapshot(workOrder.getId(), workOrder.getProductId());
 
         // 3. 鑷姩鐢熸垚 BOM锛氭牴鎹骇鍝� BOM 鐢熸垚宸ュ崟 BOM
         workOrderBomService.generateWorkOrderBom(workOrder.getId(), createReqVO, false);
@@ -116,7 +125,10 @@
 
         // 3. 鏇存柊
         MesProWorkOrderDO updateObj = BeanUtils.toBean(updateReqVO, MesProWorkOrderDO.class);
+        // 宸ュ崟鐩樺彿娌跨敤鍒涘缓鏃剁殑鏉ユ簮蹇収锛岄伩鍏嶄笌璁″垝鍜屽凡鐢熸垚鐨勪笅娓歌褰曚笉涓�鑷淬��
+        updateObj.setReelNo(null);
         workOrderMapper.updateById(updateObj);
+        if (productChanged) technicalFileService.replace(updateReqVO.getId(), updateReqVO.getProductId());
     }
 
     @Override
@@ -150,6 +162,13 @@
     }
 
     @Override
+    public List<Map<String, Object>> getWorkOrderApproveProcessDefinitionList() {
+        return mesBpmProcessService.getApproveProcessDefinitionList(BPM_PROCESS_DEFINITION_CATEGORY_CODE);
+    }
+
+
+
+    @Override
     public MesProWorkOrderDO getWorkOrder(Long id) {
         return workOrderMapper.selectById(id);
     }
@@ -161,9 +180,12 @@
 
     @Override
     public PageResult<MesProWorkOrderDO> getWorkOrderPage(MesProWorkOrderPageReqVO pageReqVO) {
-        // 鑾峰彇鐢ㄦ埛鏈夋潈闄愮殑瀹㈡埛 ID 鍒楄〃
-        List<Long> permittedClientIds = customerApi.getPermittedCustomerIds();
-        return workOrderMapper.selectPage(pageReqVO, permittedClientIds);
+        return workOrderMapper.selectPage(pageReqVO, (List<Long>) null);
+    }
+
+    @Override
+    public PageResult<MesProWorkOrderDO> getWorkOrderSchedulePage(MesProWorkOrderPageReqVO pageReqVO) {
+        return workOrderMapper.selectSchedulePage(pageReqVO, (List<Long>) null);
     }
 
     @Override

--
Gitblit v1.9.3