From dce840653b78fc05a732c5c89773c74e15dbed09 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 08 十月 2026 17:41:27 +0800
Subject: [PATCH] 采购管理系统模块优化

---
 src/main/java/com/ruoyi/basic/controller/SupplierManageController.java |   90 +++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 83 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/controller/SupplierManageController.java b/src/main/java/com/ruoyi/basic/controller/SupplierManageController.java
index 4a9635c..7b63f66 100644
--- a/src/main/java/com/ruoyi/basic/controller/SupplierManageController.java
+++ b/src/main/java/com/ruoyi/basic/controller/SupplierManageController.java
@@ -2,16 +2,30 @@
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.basic.dto.SupplierManageDto;
+import com.ruoyi.basic.dto.SupplierArchiveSaveDto;
+import com.ruoyi.basic.pojo.SupplierCooperationRecord;
+import com.ruoyi.basic.pojo.Customer;
 import com.ruoyi.basic.pojo.SupplierManage;
 import com.ruoyi.basic.service.ISupplierService;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.framework.aspectj.lang.annotation.Log;
+import com.ruoyi.framework.aspectj.lang.enums.BusinessType;
 import com.ruoyi.framework.web.domain.AjaxResult;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 
 @RestController
 @RequestMapping("/system/supplier")
+@Api(tags = "渚涘簲鍟嗘。妗�")
 public class SupplierManageController {
 
     @Autowired
@@ -23,6 +37,7 @@
      * @return
      */
     @PostMapping("/add")
+    @ApiOperation("鏂板渚涘簲鍟�")
     public AjaxResult add(@RequestBody SupplierManage supplierManage) {
         supplierService.saveSupplier(supplierManage);
         return AjaxResult.success();
@@ -30,12 +45,16 @@
 
     /**
      * 渚涘簲鍟嗗垹闄�
-     * @param id
+     * @param ids
      * @return
      */
     @DeleteMapping("/del")
-    public AjaxResult delSupplier(Integer id) {
-        supplierService.delSupplier(id);
+    @ApiOperation("鍒犻櫎渚涘簲鍟�")
+    public AjaxResult delSupplier(@RequestBody List<Integer> ids) {
+        if(CollectionUtils.isEmpty(ids)){
+            return AjaxResult.error("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�");
+        }
+        supplierService.delSupplier(ids);
         return AjaxResult.success();
     }
 
@@ -44,8 +63,9 @@
      * @param id
      * @return
      */
-    @GetMapping("/info")
-    public AjaxResult supplierDetail(Integer id) {
+    @GetMapping("/{id}")
+    @ApiOperation("渚涘簲鍟嗚鎯�")
+    public AjaxResult supplierDetail(@PathVariable("id") Integer id) {
         return AjaxResult.success(supplierService.supplierDetail(id));
     }
 
@@ -55,7 +75,9 @@
      * @return
      */
     @PostMapping("/update")
+    @ApiOperation("淇敼渚涘簲鍟�")
     public AjaxResult update(@RequestBody SupplierManage supplierManage) {
+        supplierService.supplierUpdate(supplierManage);
         return AjaxResult.success();
     }
 
@@ -66,6 +88,7 @@
      * @return
      */
     @GetMapping("/listPage")
+    @ApiOperation("渚涘簲鍟嗗垎椤垫煡璇�")
     public AjaxResult supplierListPage(Page page, SupplierManageDto supplierManageDto) {
         return AjaxResult.success(supplierService.supplierListPage(page, supplierManageDto));
     }
@@ -75,8 +98,61 @@
      * @param response
      * @param supplierManageDto
      */
-    @GetMapping("/export")
-    public void supplierExport(HttpServletResponse response, SupplierManageDto supplierManageDto) {
+    @PostMapping("/export")
+    public void supplierExport(HttpServletResponse response,SupplierManageDto supplierManageDto) {
         supplierService.supplierExport(response, supplierManageDto);
     }
+
+    @PostMapping("/downloadTemplate")
+    @Log(title = "渚涘簲鍟�-涓嬭浇妯℃澘", businessType = BusinessType.EXPORT)
+    public void downloadTemplate(HttpServletResponse response) {
+        ExcelUtil<SupplierManage> util = new ExcelUtil<SupplierManage>(SupplierManage.class);
+        util.importTemplateExcel(response, "渚涘簲鍟嗘。妗堟ā鏉�");
+    }
+
+    /**
+     * 渚涘簲鍟嗗鍏�
+     */
+    @PostMapping("/import")
+    @Log(title = "渚涘簲鍟嗗鍏�", businessType = BusinessType.IMPORT)
+    public AjaxResult importData(MultipartFile file) {
+        Boolean b = supplierService.importData(file);
+        if (b) {
+            return AjaxResult.success("瀵煎叆鎴愬姛");
+        }
+        return AjaxResult.error("瀵煎叆澶辫触");
+    }
+
+
+    /**
+     * 渚涘簲鍟嗛�夐」鎺ュ彛
+     * @return
+     */
+    @GetMapping("/getOptions")
+    @ApiOperation("渚涘簲鍟嗛�夐」")
+    public AjaxResult getOptions() {
+        return AjaxResult.success(supplierService.lambdaQuery().eq(SupplierManage::getCooperationStatus,1)
+                .eq(SupplierManage::getDeleteFlag,0)
+                .eq(SupplierManage::getTenantId, SecurityUtils.getLoginUser().getTenantId()).list());
+    }
+
+    @GetMapping("/{id}/archive")
+    @ApiOperation("渚涘簲鍟嗗畬鏁存。妗�")
+    public AjaxResult archive(@PathVariable Integer id) {
+        return AjaxResult.success(supplierService.supplierArchiveDetail(id));
+    }
+
+    @PostMapping("/archive/save")
+    @ApiOperation("淇濆瓨渚涘簲鍟嗗畬鏁存。妗�")
+    @Transactional(rollbackFor = Exception.class)
+    public AjaxResult saveArchive(@RequestBody SupplierArchiveSaveDto archive) {
+        return AjaxResult.success(supplierService.saveArchive(archive));
+    }
+
+    @PostMapping("/{id}/cooperation")
+    @ApiOperation("鏂板渚涘簲鍟嗗悎浣滆褰�")
+    public AjaxResult addCooperation(@PathVariable Integer id, @RequestBody SupplierCooperationRecord record) {
+        supplierService.addCooperationRecord(id, record);
+        return AjaxResult.success();
+    }
 }

--
Gitblit v1.9.3