| | |
| | | import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractPageReqVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractRespVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractSaveReqVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractImportExcelVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractImportRespVO; |
| | | import cn.iocoder.yudao.module.crm.controller.admin.contract.vo.contract.CrmContractTransferReqVO; |
| | | import cn.iocoder.yudao.module.crm.dal.dataobject.business.CrmBusinessDO; |
| | | import cn.iocoder.yudao.module.crm.dal.dataobject.contact.CrmContactDO; |
| | |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | import org.springframework.validation.annotation.Validated; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | | import java.util.Arrays; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | ExcelUtils.write(response, "合同.xls", "数据", CrmContractRespVO.class, list); |
| | | } |
| | | |
| | | @GetMapping("/get-import-template") |
| | | @Operation(summary = "获得导入合同模板") |
| | | @PreAuthorize("@ss.hasPermission('crm:contract:import')") |
| | | public void importTemplate(HttpServletResponse response) throws IOException { |
| | | List<CrmContractImportExcelVO> list = Collections.singletonList( |
| | | CrmContractImportExcelVO.builder() |
| | | .no("HT20260101000001").name("示例合同").customerName("示例客户") |
| | | .orderDate("2026-01-01 10:00:00").startTime("2026-01-01").endTime("2026-12-31") |
| | | .discountPercent(new BigDecimal("0")).depositPrice(new BigDecimal("0")) |
| | | .productCode("ITEM001").productName("示例产品A") |
| | | .count(100).contractPrice(new BigDecimal("20.00")).remark("示例数据,导入前请替换") |
| | | .build()); |
| | | ExcelUtils.write(response, "合同导入模板.xls", "合同", CrmContractImportExcelVO.class, list); |
| | | } |
| | | |
| | | @PostMapping("/import") |
| | | @Operation(summary = "导入合同") |
| | | @PreAuthorize("@ss.hasPermission('crm:contract:import')") |
| | | public CommonResult<CrmContractImportRespVO> importContractExcel(@RequestParam("file") MultipartFile file) throws Exception { |
| | | List<CrmContractImportExcelVO> list = ExcelUtils.read(file, CrmContractImportExcelVO.class); |
| | | return success(contractService.importContractList(list)); |
| | | } |
| | | |
| | | @PutMapping("/transfer") |
| | | @Operation(summary = "合同转移") |
| | | @PreAuthorize("@ss.hasPermission('crm:contract:update')") |