From e1797a873bf114329f4870062201d388155ef014 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 14 八月 2026 13:39:51 +0800
Subject: [PATCH] refactor(erp): 移除采购来票审核流程并简化业务逻辑

---
 yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderProjectController.java |   48 ++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 46 insertions(+), 2 deletions(-)

diff --git a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderProjectController.java b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderProjectController.java
index feb776a..abed6e7 100644
--- a/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderProjectController.java
+++ b/yudao-module-srm/src/main/java/cn/iocoder/yudao/module/srm/controller/admin/tender/SrmTenderProjectController.java
@@ -5,6 +5,8 @@
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.srm.controller.admin.tender.vo.*;
 import cn.iocoder.yudao.module.srm.service.tender.SrmTenderProjectService;
+import cn.iocoder.yudao.module.srm.service.tender.SrmTenderProjectServiceImpl;
+import cn.iocoder.yudao.module.system.api.storage.StorageAttachmentApi;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -26,6 +28,9 @@
 
     @Resource
     private SrmTenderProjectService tenderProjectService;
+
+    @Resource
+    private StorageAttachmentApi storageAttachmentApi;
 
     @PostMapping("/create")
     @Operation(summary = "鍒涘缓鎷涙爣椤圭洰")
@@ -54,14 +59,27 @@
     @Operation(summary = "鑾峰彇鎷涙爣椤圭洰璇︽儏")
     @PreAuthorize("@ss.hasPermission('srm:tender-project:query')")
     public CommonResult<SrmTenderProjectRespVO> getTenderProject(@RequestParam("id") Long id) {
-        return success(BeanUtils.toBean(tenderProjectService.getTenderProject(id), SrmTenderProjectRespVO.class));
+        var resp = BeanUtils.toBean(tenderProjectService.getTenderProject(id), SrmTenderProjectRespVO.class);
+        enrichAttachments(List.of(resp));
+        return success(resp);
     }
 
     @GetMapping("/page")
     @Operation(summary = "鑾峰彇鎷涙爣椤圭洰鍒嗛〉")
     @PreAuthorize("@ss.hasPermission('srm:tender-project:query')")
     public CommonResult<PageResult<SrmTenderProjectRespVO>> getTenderProjectPage(@Valid SrmTenderProjectPageReqVO pageReqVO) {
-        return success(BeanUtils.toBean(tenderProjectService.getTenderProjectPage(pageReqVO), SrmTenderProjectRespVO.class));
+        var pageResult = tenderProjectService.getTenderProjectPage(pageReqVO);
+        var respList = BeanUtils.toBean(pageResult.getList(), SrmTenderProjectRespVO.class);
+        enrichAttachments(respList);
+        return success(new PageResult<>(respList, pageResult.getTotal()));
+    }
+
+    // ========== 鍏宠仈鏁版嵁濉厖 ==========
+
+    private void enrichAttachments(List<SrmTenderProjectRespVO> list) {
+        if (list == null || list.isEmpty()) return;
+        list.forEach(vo -> vo.setAttachmentList(storageAttachmentApi.listAttachments(
+                SrmTenderProjectServiceImpl.TENDER_PROJECT_RECORD_TYPE, vo.getId())));
     }
 
     @PutMapping("/publish")
@@ -96,6 +114,32 @@
         return success(true);
     }
 
+    @PutMapping("/update-info")
+    @Operation(summary = "閮ㄥ垎鏇存柊鎷涙爣淇℃伅锛堜粎鍙戝竷涓�/鎶曟爣涓彲缂栬緫锛氭嫑鏍囪鏄庡拰璧勮川瑕佹眰锛�")
+    @PreAuthorize("@ss.hasPermission('srm:tender-project:update')")
+    public CommonResult<Boolean> updateTenderProjectInfo(@Valid @RequestBody SrmTenderProjectPartialUpdateReqVO updateReqVO) {
+        tenderProjectService.updateTenderProjectPartial(updateReqVO);
+        return success(true);
+    }
+
+    // ========== 绠�鏄撴ā寮忔搷浣� ==========
+
+    @PutMapping("/start-price-comparing")
+    @Operation(summary = "寮�濮嬫瘮浠凤紙绠�鏄撶増锛�")
+    @PreAuthorize("@ss.hasPermission('srm:tender-project:update')")
+    public CommonResult<Boolean> startPriceComparing(@RequestParam("id") Long id) {
+        tenderProjectService.startPriceComparing(id);
+        return success(true);
+    }
+
+    @PutMapping("/confirm")
+    @Operation(summary = "纭涓爣骞剁敓鎴愰噰璐鍗曪紙绠�鏄撶増锛�")
+    @PreAuthorize("@ss.hasPermission('srm:tender-project:update')")
+    public CommonResult<Boolean> confirmTenderProject(@Valid @RequestBody SrmTenderConfirmReqVO reqVO) {
+        tenderProjectService.confirmTenderProject(reqVO.getId(), reqVO.getBidId());
+        return success(true);
+    }
+
     // ========== 鐗╂枡瀛愯〃 ==========
 
     @PostMapping("/material/create")

--
Gitblit v1.9.3