| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import cn.afterturn.easypoi.excel.ExcelExportUtil; |
| | | import cn.afterturn.easypoi.excel.entity.ExportParams; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.annotation.Log; |
| | | import com.ruoyi.common.basic.PageInfo; |
| | | import com.ruoyi.common.constant.DictConstants; |
| | |
| | | import com.ruoyi.common.utils.DictUtils; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.WebUtils; |
| | | import com.ruoyi.system.dto.TTenantDTO; |
| | | import com.ruoyi.system.export.ContractExport; |
| | | import com.ruoyi.system.model.TContract; |
| | | import com.ruoyi.system.model.TTenant; |
| | | import com.ruoyi.system.query.TContractQuery; |
| | | import com.ruoyi.system.query.TTenantQuery; |
| | | import com.ruoyi.system.service.TContractService; |
| | | import com.ruoyi.system.service.TTenantService; |
| | | import com.ruoyi.system.vo.TenantVO; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.poi.ss.usermodel.Workbook; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.security.access.prepost.PreAuthorize; |
| | | 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.net.URLEncoder; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | public class TTenantController { |
| | | |
| | | private final TTenantService tenantService; |
| | | private final TContractService contractService; |
| | | @Autowired |
| | | public TTenantController(TTenantService tenantService) { |
| | | public TTenantController(TTenantService tenantService, TContractService contractService) { |
| | | this.tenantService = tenantService; |
| | | this.contractService = contractService; |
| | | } |
| | | |
| | | /** |
| | |
| | | @GetMapping(value = "/getDetailById") |
| | | public R<TTenant> getDetailById(@RequestParam String id) { |
| | | TTenant tenant = tenantService.getById(id); |
| | | tenant.setTenantAttributes(DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenant.getTenantAttributes())); |
| | | tenant.setTenantType(DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenant.getTenantType())); |
| | | tenant.setTenantAttributes(StringUtils.isNotEmpty(tenant.getTenantAttributes())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_ATTRIBUTE,tenant.getTenantAttributes()):""); |
| | | tenant.setTenantType(StringUtils.isNotEmpty(tenant.getTenantType())?DictUtils.getDictLabel(DictConstants.DICT_TYPE_TENANT_TYPE,tenant.getTenantType()):""); |
| | | return R.ok(tenant); |
| | | } |
| | | |
| | | @PreAuthorize("@ss.hasPermi('system:contract:list')") |
| | | @ApiOperation(value = "获取合同分页列表") |
| | | @GetMapping(value = "/contractListByTenantId") |
| | | public R<List<TContract>> contractListByTenantId(@RequestParam String tenantId) { |
| | | return R.ok(contractService.list(Wrappers.lambdaQuery(TContract.class).eq(TContract::getTenantId, tenantId))); |
| | | } |
| | | |
| | | /** |
| | |
| | | return R.ok(tenantService.removeByIds(ids)); |
| | | } |
| | | |
| | | /** |
| | | * 导出 |
| | | */ |
| | | @ApiOperation(value = "导出") |
| | | @PreAuthorize("@ss.hasPermi('system:contract:export')") |
| | | @Log(title = "导出", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void exportOpticalInspection(@Validated @RequestBody TContractQuery query) |
| | | { |
| | | List<ContractExport> contractExports = new ArrayList<>(); |
| | | List<TContract> exportList = contractService.list(Wrappers.lambdaQuery(TContract.class).eq(TContract::getTenantId, query.getTenantId())); |
| | | 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(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |