From 656d84011dfae275cb8209dad601fcb61a22ee17 Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期五, 01 十二月 2023 09:34:35 +0800 Subject: [PATCH] feat: 退回单增加机构字段 --- consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java | 101 ++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 89 insertions(+), 12 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java index 32e8b9f..df5e542 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java @@ -1,10 +1,14 @@ package com.consum.base.controller; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; import com.consum.base.BaseController; +import com.consum.base.core.utils.CommonUtil; import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; import com.consum.base.core.utils.PageUtil; import com.consum.base.pojo.LWhFormScrappedParam; +import com.consum.base.pojo.excel.ScrappedInfoExcelTemplate; import com.consum.base.pojo.query.LWhFormScrappedQry; import com.consum.base.pojo.response.FromTransferTemplateInfoVO; import com.consum.base.pojo.response.LWhFormScrappedExtendVO; @@ -13,20 +17,26 @@ import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.LWhFormScrapped; import com.walker.infrastructure.utils.CollectionUtils; +import com.walker.infrastructure.utils.DateUtils; import com.walker.web.ResponseValue; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLEncoder; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; +import javax.servlet.http.HttpServletResponse; import org.apache.commons.compress.utils.Lists; +import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -51,12 +61,35 @@ */ @ApiOperation(value = "鏂板鎶ュ簾鍗�", notes = "鏂板鎶ュ簾鍗�") @ApiImplicitParams({ - @ApiImplicitParam(name = "param", value = "鎶ュ簾鍗曚俊鎭�", dataType = "LWhFormScrappedParam", paramType = "body") + @ApiImplicitParam(name = "param") }) @PostMapping("/add") - public ResponseValue add(@RequestBody LWhFormScrappedParam param) { + public ResponseValue add() { + LWhFormScrappedParam param = CommonUtil.getObjFromReqBody(LWhFormScrappedParam.class); + LWhFormScrappedParam query = new LWhFormScrappedParam(); + CommonUtil.copyProperties(param, query); + param = query; FinSysTenantUser sysInfo = this.getSysInfo(); - int result = this.lWhFormScrappedService.add(param, this.getCurrentUser(), sysInfo); + int result = this.lWhFormScrappedService.add(param, 0, this.getCurrentUser(), sysInfo); + if (result > 0) { + return ResponseValue.success(1); + } + return ResponseValue.error("鏂板澶辫触锛�"); + } + + @ApiOperation(value = "鏂板鎶ュ簾鍗�", notes = "鏂板鎶ュ簾鍗�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "param") + }) + @PostMapping("/deprAdd") + public ResponseValue deprAdd() { + LWhFormScrappedParam param = CommonUtil.getObjFromReqBody(LWhFormScrappedParam.class); + LWhFormScrappedParam query = new LWhFormScrappedParam(); + CommonUtil.copyProperties(param, query); + param = query; + + FinSysTenantUser sysInfo = this.getSysInfo(); + int result = this.lWhFormScrappedService.add(param, 1, this.getCurrentUser(), sysInfo); if (result > 0) { return ResponseValue.success(1); } @@ -73,7 +106,12 @@ @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query") }) @GetMapping("/list") - public ResponseValue queryList(LWhFormScrappedQry param) { + public ResponseValue queryList() { + LWhFormScrappedQry param = CommonUtil.getObjFromReq(LWhFormScrappedQry.class); + LWhFormScrappedQry query = new LWhFormScrappedQry(); + CommonUtil.copyProperties(param, query); + param = query; + FinSysTenantUser sysInfo = getSysInfo(); if (sysInfo == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -126,7 +164,7 @@ /** * 鎶ュ簾鏄庣粏 * - * @param param + * @param * @return */ @ApiOperation(value = "鎶ュ簾鏄庣粏", notes = "鎶ュ簾鏄庣粏") @@ -134,7 +172,12 @@ @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query") }) @GetMapping("/list/detailList") - public ResponseValue queryDetailList(LWhFormScrappedQry param) { + public ResponseValue queryDetailList() { + LWhFormScrappedQry param = CommonUtil.getObjFromReq(LWhFormScrappedQry.class); + LWhFormScrappedQry query = new LWhFormScrappedQry(); + CommonUtil.copyProperties(param, query); + param = query; + FinSysTenantUser sysInfo = this.getSysInfo(); if (sysInfo == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -148,13 +191,47 @@ * @Author 鍗㈠簡闃� * @Date 2023/11/2 */ - @GetMapping("/export") - public ResponseValue export(Long id) { + @GetMapping("/list/export") + public void export(Long id, HttpServletResponse response) { if (id == null) { - return ResponseValue.error("鎶ュ簾鍗昳d涓虹┖"); + throw new RuntimeException("鎶ュ簾鍗昳d涓虹┖"); } - //LWhFormScrappedExtendVO scrappedExtend = this.lWhFormScrappedService.export(id, this.getSysInfo()); - return ResponseValue.success(null); + try { + OutputStream outputStream = response.getOutputStream(); + List<ScrappedInfoExcelTemplate> export = lWhFormScrappedService.export(id); + if (CollectionUtils.isEmpty(export)) { + throw new RuntimeException("鏁版嵁涓虹┖"); + } + TemplateExportParams exportParams = new TemplateExportParams("import/鎶ュ簾鐧昏鍗�.xlsx"); + exportParams.setHeadingStartRow(2); + + Optional<ScrappedInfoExcelTemplate> first = export.stream().findFirst(); + ScrappedInfoExcelTemplate scrappedInfoExcelTemplate = first.get(); + Long dealTime = scrappedInfoExcelTemplate.getDealTime(); + String operatorName = scrappedInfoExcelTemplate.getOperatorName(); + String businessFormCode = scrappedInfoExcelTemplate.getBusinessFormCode(); + + int countNum = export.stream().filter(item -> item.getNum() != null).mapToInt(ScrappedInfoExcelTemplate::getNum).sum(); + int totalAmount = export.stream().filter(item -> item.getTotalAmount() != null).mapToInt(ScrappedInfoExcelTemplate::getTotalAmount).sum(); + + Map<String, Object> map = new HashMap<>(); + map.put("code", businessFormCode); + map.put("date", DateUtils.toShowDate(dealTime)); + map.put("name", operatorName); + map.put("countNum", countNum); + map.put("totalAmount", totalAmount); + + Workbook sheets = ExcelExportUtil.exportExcel(exportParams, ScrappedInfoExcelTemplate.class, export, map); + // 璁剧疆鍝嶅簲澶� + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); + response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("鎶ュ簾鍗曠櫥璁�.xlsx", "utf-8")); + sheets.write(outputStream); + sheets.close(); + } catch (IOException e) { + throw new RuntimeException(e); + } + + } -- Gitblit v1.9.1