From 82e4870fa7b15f931cc593dc8a1a5f273cde930f Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期六, 08 二月 2025 17:20:26 +0800 Subject: [PATCH] 房屋合同 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java | 67 +++++++++++++++++++++++++++++++-- 1 files changed, 62 insertions(+), 5 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java index 4d9f1e7..6bc7ae8 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TContractController.java @@ -1,6 +1,8 @@ package com.ruoyi.web.controller.api; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.basic.PageInfo; @@ -11,9 +13,12 @@ import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.DictUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.common.utils.WebUtils; import com.ruoyi.system.dto.TContractDTO; import com.ruoyi.system.dto.THouseDTO; import com.ruoyi.system.dto.TerminateContractDTO; +import com.ruoyi.system.export.ContractExport; +import com.ruoyi.system.export.OpticalInspectionExport; import com.ruoyi.system.model.*; import com.ruoyi.system.query.TContractBillQuery; import com.ruoyi.system.query.TContractQuery; @@ -29,18 +34,19 @@ import com.ruoyi.system.vo.TContractVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.math.BigDecimal; +import java.net.URLEncoder; import java.time.LocalDateTime; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * <p> @@ -178,7 +184,6 @@ @ApiOperation(value = "生成合同附件") @PostMapping("/set") public R set(Integer id, HttpServletResponse response){ - TContract contract = contractService.getById(id); THouse tHouse = houseService.getById(contract.getHouseId()); Map<String, Object> templateParam = new HashMap<>(5); @@ -204,7 +209,59 @@ templateParam.put("partyTwoPhone", contract.getPartyTwoPhone()); String url = wordUtil.generatePdf("/templates", "1_yzj_租赁合同.xml", templateParam, "租赁合同", "E:\\"); return R.ok(url); + } + @ApiOperation(value = "导出") + @PostMapping("/export") + public void export(@RequestBody TContractQuery query){ + contractService.export(query); + } + /** + * 光缆巡检列表导出 + */ + @ApiOperation(value = "光缆巡检列表导出") + @Log(title = "现场作业-光缆巡检列表导出", businessType = BusinessType.EXPORT) + @PostMapping("/exportOpticalInspection") + public void exportOpticalInspection(@RequestBody TContractQuery query) + { + List<ContractExport> contractExports = new ArrayList<>(); + List<TContract> exportList = contractService.contractExportList(query); + for (TContract contract : exportList) { + ContractExport contractExport = new ContractExport(); + contractExport.setContractNumber(contract.getContractNumber()); + contractExport.setContractName(contract.getContractName()); + contractExport.setPartyOneName(contract.getPartyOneName()); + contractExport.setPartyTwoName(contract.getPartyTwoName()); + contractExport.setCreate_time(contract.getCreateTime()); + contractExport.setStartTime(contract.getStartTime()); + contractExport.setEndTime(contract.getEndTime()); + contractExport.setPayType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_PAY_TYPE,contract.getPayType())); + contractExport.setDeposit(contract.getDeposit()+""); + contractExport.setStatus(DictUtils.getDictLabel(DictConstants.DICT_TYPE_CONTRACT_STATUS,contract.getStatus())); + } + Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), ContractExport.class, contractExports); + HttpServletResponse response = WebUtils.response(); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding("utf-8"); + ServletOutputStream outputStream = null; + try { + String fileName = URLEncoder.encode("合同列表.xls", "utf-8"); + response.setHeader("Content-Disposition", "attachment;filename=" + fileName); + response.setContentType("application/vnd.ms-excel;charset=UTF-8"); + response.setHeader("Pragma", "no-cache"); + response.setHeader("Cache-Control", "no-cache"); + outputStream = response.getOutputStream(); + workbook.write(outputStream); + } catch (IOException e) { + e.printStackTrace(); + System.err.println("合同列表信息导出失败"); + } finally { + try { + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } } -- Gitblit v1.7.1