xiaoyi
5 天以前 481d8165f26fc7e37f0e87f6444ac0340bb563a3
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.writeTemplate(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')")
@@ -114,7 +135,6 @@
    @GetMapping("/get")
    @Operation(summary = "获得销售报价单")
    @Parameter(name = "id", description = "编号", required = true, example = "1024")
    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:query')")
    public CommonResult<CrmSaleQuotationRespVO> getSaleQuotation(@RequestParam("id") Long id) {
        CrmSaleQuotationDO saleQuotation = saleQuotationService.getSaleQuotation(id);
        if (saleQuotation == null) {
@@ -126,7 +146,6 @@
    @GetMapping("/page")
    @Operation(summary = "获得销售报价单分页")
    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:query')")
    public CommonResult<PageResult<CrmSaleQuotationRespVO>> getSaleQuotationPage(@Valid CrmSaleQuotationPageReqVO pageReqVO) {
        PageResult<CrmSaleQuotationDO> pageResult = saleQuotationService.getSaleQuotationPage(pageReqVO, getLoginUserId());
        return success(buildSaleQuotationRespVOPageResult(pageResult));
@@ -134,7 +153,6 @@
    @GetMapping("/page-by-customer")
    @Operation(summary = "获得销售报价单分页(基于客户)")
    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:query')")
    public CommonResult<PageResult<CrmSaleQuotationRespVO>> getSaleQuotationPageByCustomerId(@Valid CrmSaleQuotationPageReqVO pageReqVO) {
        PageResult<CrmSaleQuotationDO> pageResult = saleQuotationService.getSaleQuotationPageByCustomerId(pageReqVO);
        return success(buildSaleQuotationRespVOPageResult(pageResult));
@@ -142,7 +160,6 @@
    @GetMapping("/page-by-business")
    @Operation(summary = "获得销售报价单分页(基于商机)")
    @PreAuthorize("@ss.hasPermission('crm:sale-quotation:query')")
    public CommonResult<PageResult<CrmSaleQuotationRespVO>> getSaleQuotationPageByBusinessId(@Valid CrmSaleQuotationPageReqVO pageReqVO) {
        PageResult<CrmSaleQuotationDO> pageResult = saleQuotationService.getSaleQuotationPageByBusinessId(pageReqVO);
        return success(buildSaleQuotationRespVOPageResult(pageResult));