From bf5f52656e128f578ed42c7979c31cf4b476ce46 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期六, 31 十月 2026 19:04:40 +0800
Subject: [PATCH] feat: 优化业务导入及工艺流程管理

---
 yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/quotation/CrmSaleQuotationController.java |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

diff --git a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/quotation/CrmSaleQuotationController.java b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/quotation/CrmSaleQuotationController.java
index e2d5fc2..9cd55a3 100644
--- a/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/quotation/CrmSaleQuotationController.java
+++ b/yudao-module-crm/src/main/java/cn/iocoder/yudao/module/crm/controller/admin/quotation/CrmSaleQuotationController.java
@@ -9,6 +9,9 @@
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
 import cn.iocoder.yudao.module.crm.controller.admin.quotation.vo.CrmSaleQuotationPageReqVO;
+import cn.iocoder.yudao.module.crm.controller.admin.quotation.vo.CrmSaleQuotationImportExcelVO;
+import cn.iocoder.yudao.module.crm.service.quotation.CrmSaleQuotationImportService;
+import org.springframework.web.multipart.MultipartFile;
 import cn.iocoder.yudao.module.crm.controller.admin.quotation.vo.CrmSaleQuotationRespVO;
 import cn.iocoder.yudao.module.crm.controller.admin.quotation.vo.CrmSaleQuotationSaveReqVO;
 import cn.iocoder.yudao.module.crm.dal.dataobject.quotation.CrmSaleQuotationDO;
@@ -73,6 +76,24 @@
     @Resource
     private StorageAttachmentApi storageAttachmentApi;
 
+    @Resource
+    private CrmSaleQuotationImportService quotationImportService;
+
+    @GetMapping("/get-import-template")
+    @Operation(summary = "涓嬭浇閿�鍞姤浠峰鍏ユā鏉�")
+    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:create')")
+    public void importTemplate(HttpServletResponse response) throws IOException {
+        ExcelUtils.write(response, "閿�鍞姤浠峰鍏ユā鏉�.xls", "鎶ヤ环鏄庣粏", CrmSaleQuotationImportExcelVO.class, java.util.Collections.emptyList());
+    }
+
+    @PostMapping("/import")
+    @Operation(summary = "瀵煎叆閿�鍞姤浠凤紙浠呮柊澧烇級")
+    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:create')")
+    public CommonResult<Map<String, Object>> importQuotation(@RequestParam("file") MultipartFile file,
+            @RequestParam(value = "updateSupport", defaultValue = "false") boolean updateSupport) throws Exception {
+        if (updateSupport) throw new IllegalArgumentException("鎶ヤ环瀵煎叆浠呮敮鎸佹柊澧烇紝璇峰叧闂鐩栭�夐」");
+        return success(quotationImportService.importRows(ExcelUtils.read(file, CrmSaleQuotationImportExcelVO.class), getLoginUserId()));
+    }
     @PostMapping("/create")
     @Operation(summary = "鍒涘缓閿�鍞姤浠峰崟")
     @PreAuthorize("@ss.hasPermission('crm:sale-quotation:create')")

--
Gitblit v1.9.3