From b938f236181f5636dcc4b6089c1270d0f138ad23 Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期六, 02 十二月 2023 10:43:50 +0800 Subject: [PATCH] feat: 部门报废详情、明细 --- consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java | 101 ++++++++++++++++++++++++-------------------------- 1 files changed, 49 insertions(+), 52 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 6d2c4d5..d37dd49 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,14 +1,14 @@ package com.consum.base.controller; import cn.afterturn.easypoi.excel.ExcelExportUtil; -import cn.afterturn.easypoi.excel.entity.ExportParams; +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.ScrappedInfoExport; +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; @@ -17,6 +17,7 @@ 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; @@ -26,9 +27,11 @@ 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.*; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.OutputStream; @@ -36,6 +39,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; /** * @Description 鎶ュ簾鍗� @@ -58,7 +62,7 @@ */ @ApiOperation(value = "鏂板鎶ュ簾鍗�", notes = "鏂板鎶ュ簾鍗�") @ApiImplicitParams({ - @ApiImplicitParam(name = "param") + @ApiImplicitParam(name = "param") }) @PostMapping("/add") public ResponseValue add() { @@ -67,26 +71,7 @@ CommonUtil.copyProperties(param, query); param = query; FinSysTenantUser sysInfo = this.getSysInfo(); - 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); + int result = this.lWhFormScrappedService.add(param, this.getCurrentUser(), sysInfo); if (result > 0) { return ResponseValue.success(1); } @@ -100,7 +85,7 @@ */ @ApiOperation(value = "鍒楄〃鏌ヨ", notes = "鍒楄〃鏌ヨ") @ApiImplicitParams({ - @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query") + @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query") }) @GetMapping("/list") public ResponseValue queryList() { @@ -123,8 +108,8 @@ List<FromTransferTemplateInfoVO> list = Lists.newArrayList(); // 鏌ヨ鍨嬪彿鏁伴噺 String sql = - "SELECT fsg.id,fsg.BASE_GOODS_TEMPLATE_ID goodsTemplatesId,fsg.GOODS_TEMPLATE_NAME goodsName,sum(counts) count FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID " - + "where fsg.FORM_SCRAPPED_ID =:id group by fsg.BASE_GOODS_TEMPLATE_ID"; + "SELECT fsg.id,fsg.BASE_GOODS_TEMPLATE_ID goodsTemplatesId,fsg.GOODS_TEMPLATE_NAME goodsName,sum(counts) count FROM l_wh_form_scrapped fs left join l_wh_form_scrapped_goods fsg on fs.id = fsg.FORM_SCRAPPED_ID " + + "where fsg.FORM_SCRAPPED_ID =:id group by fsg.BASE_GOODS_TEMPLATE_ID"; Map<String, Object> paramMap = new HashMap<>(); paramMap.put("id", item.getId()); List<Map<String, Object>> procureModelList = lWhFormScrappedService.select(sql, paramMap, new MapperUtil()); @@ -147,7 +132,7 @@ */ @ApiOperation(value = "鏍规嵁id鏌ヨ璇︽儏", notes = "鏍规嵁id鏌ヨ璇︽儏") @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "鎶ュ簾鍗昳d", dataType = "Long", paramType = "query") + @ApiImplicitParam(name = "id", value = "鎶ュ簾鍗昳d", dataType = "Long", paramType = "query") }) @GetMapping("/detail") public ResponseValue getById(Long id) { @@ -166,10 +151,10 @@ */ @ApiOperation(value = "鎶ュ簾鏄庣粏", notes = "鎶ュ簾鏄庣粏") @ApiImplicitParams({ - @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query") + @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query") }) @GetMapping("/list/detailList") - public ResponseValue queryDetailList( ) { + public ResponseValue queryDetailList() { LWhFormScrappedQry param = CommonUtil.getObjFromReq(LWhFormScrappedQry.class); LWhFormScrappedQry query = new LWhFormScrappedQry(); CommonUtil.copyProperties(param, query); @@ -183,30 +168,42 @@ return ResponseValue.success(pageUtil); } - /** - * @Description 瀵煎嚭鎶ュ簾鐧昏鍗� - * @Author 鍗㈠簡闃� - * @Date 2023/11/2 - */ - @GetMapping("/export") - public ResponseValue export(Long id, HttpServletRequest request, HttpServletResponse response) { + @ApiOperation(value = "瀵煎嚭鎶ュ簾鍗�", notes = "瀵煎嚭鎶ュ簾鍗�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鎶ュ簾鍗昳d", dataType = "Long", paramType = "query") + }) + @GetMapping("/list/export") + public void export(Long id, HttpServletResponse response) throws Exception { if (id == null) { - return ResponseValue.error("鎶ュ簾鍗昳d涓虹┖"); + throw new RuntimeException("鎶ュ簾鍗昳d涓虹┖"); } - try { - OutputStream outputStream = response.getOutputStream(); - List<Map<String, Object>> export = lWhFormScrappedService.export(id); - ExportParams exportParams = new ExportParams("鎶ュ簾鍗曠櫥璁�", "鎶ュ簾鍗曠櫥璁�"); - Workbook sheets = ExcelExportUtil.exportExcel(exportParams, ScrappedInfoExport.class, export); - // 璁剧疆鍝嶅簲澶� - 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); + + List<ScrappedInfoExcelTemplate> export = lWhFormScrappedService.export(id); + if (CollectionUtils.isEmpty(export)) { + throw new RuntimeException("鏁版嵁涓虹┖"); } - return ResponseValue.success(); + 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); + downLoadExcel("鎶ュ簾鐧昏鍗�", response, sheets); + } -- Gitblit v1.9.1