From 3be9cfcb6b59366b936821966d20a998a6895f9f Mon Sep 17 00:00:00 2001 From: 黎星凯 <13949086503@163.com> Date: 星期二, 30 四月 2024 14:38:13 +0800 Subject: [PATCH] bug41、42修改 --- consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java | 152 ++++++++++++++++++++++++++++++-------------------- 1 files changed, 92 insertions(+), 60 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..08ea887 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,34 +1,43 @@ package com.consum.base.controller; -import com.consum.base.BaseController; -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.query.LWhFormScrappedQry; -import com.consum.base.pojo.response.FromTransferTemplateInfoVO; -import com.consum.base.pojo.response.LWhFormScrappedExtendVO; -import com.consum.base.pojo.response.LWhFormScrappedVO; -import com.consum.base.service.LWhFormScrappedServiceImpl; -import com.consum.model.po.FinSysTenantUser; -import com.consum.model.po.LWhFormScrapped; -import com.walker.infrastructure.utils.CollectionUtils; -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.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; + +import com.consum.base.BaseController; +import com.consum.base.core.utils.CommonUtil; +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.GoodsTemplateCountVO; +import com.consum.base.pojo.response.LWhFormScrappedExtendVO; +import com.consum.base.pojo.response.LWhFormScrappedVO; +import com.consum.base.service.LWhFormScrappedService; +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 cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; /** * @Description 鎶ュ簾鍗� @@ -41,8 +50,7 @@ public class LWhFormScrappedController extends BaseController { @Autowired - private LWhFormScrappedServiceImpl lWhFormScrappedService; - + private LWhFormScrappedService lWhFormScrappedService; /** * @Description 鏂板鎶ュ簾鍗� @@ -50,11 +58,13 @@ * @Date 2023/11/1 */ @ApiOperation(value = "鏂板鎶ュ簾鍗�", notes = "鏂板鎶ュ簾鍗�") - @ApiImplicitParams({ - @ApiImplicitParam(name = "param", value = "鎶ュ簾鍗曚俊鎭�", dataType = "LWhFormScrappedParam", paramType = "body") - }) + @ApiImplicitParams({@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); if (result > 0) { @@ -66,14 +76,20 @@ /** * @Description 鍒楄〃鏌ヨ * @Author 鍗㈠簡闃� - * @Date 2023/11/02 1.鏌ヨ鎶ュ簾鍗� 2.鏌ヨ鎶ュ簾鍗曠墿鍝� + * @Date 2023/11/02 + * <p> + * </>1.鏌ヨ鎶ュ簾鍗� 2.鏌ヨ鎶ュ簾鍗曠墿鍝� */ @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(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("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -85,19 +101,10 @@ data.forEach(item -> { LWhFormScrappedVO lWhFormScrappedVO = new LWhFormScrappedVO(); BeanUtils.copyProperties(item, lWhFormScrappedVO); - 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"; - Map<String, Object> paramMap = new HashMap<>(); - paramMap.put("id", item.getId()); - List<Map<String, Object>> procureModelList = lWhFormScrappedService.select(sql, paramMap, new MapperUtil()); - for (Map<String, Object> map : procureModelList) { - FromTransferTemplateInfoVO fromTransferTemplateInfoVO = MapUtils.convertMapToObj(map, FromTransferTemplateInfoVO.class); - list.add(fromTransferTemplateInfoVO); - } - lWhFormScrappedVO.setGoodTemplateInfo(list); + List<GoodsTemplateCountVO> scrappedCount = + lWhFormScrappedService.getScrappedCountByBusinessId(item.getId()); + lWhFormScrappedVO.setGoodTemplateInfo(scrappedCount); result.add(lWhFormScrappedVO); }); } @@ -111,9 +118,7 @@ * @Date 2023/11/2 */ @ApiOperation(value = "鏍规嵁id鏌ヨ璇︽儏", notes = "鏍规嵁id鏌ヨ璇︽儏") - @ApiImplicitParams({ - @ApiImplicitParam(name = "id", value = "鎶ュ簾鍗昳d", dataType = "Long", paramType = "query") - }) + @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "鎶ュ簾鍗昳d", dataType = "Long", paramType = "query")}) @GetMapping("/detail") public ResponseValue getById(Long id) { if (id == null) { @@ -126,15 +131,19 @@ /** * 鎶ュ簾鏄庣粏 * - * @param param + * @param * @return */ @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(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("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -143,20 +152,43 @@ return ResponseValue.success(pageUtil); } - /** - * @Description 瀵煎嚭鎶ュ簾鐧昏鍗� - * @Author 鍗㈠簡闃� - * @Date 2023/11/2 - */ - @GetMapping("/export") - public ResponseValue export(Long id) { + @ApiOperation(value = "瀵煎嚭鎶ュ簾鍗�", notes = "瀵煎嚭鎶ュ簾鍗�") + @ApiImplicitParams({@ApiImplicitParam(name = "id", value = "鎶ュ簾鍗昳d", dataType = "Long", paramType = "query")}) + @GetMapping("/list/export") + public ResponseValue<String> export(Long id, HttpServletResponse response) throws Exception { if (id == null) { - return ResponseValue.error("鎶ュ簾鍗昳d涓虹┖"); + throw new RuntimeException("鎶ュ簾鍗昳d涓虹┖"); } - //LWhFormScrappedExtendVO scrappedExtend = this.lWhFormScrappedService.export(id, this.getSysInfo()); - return ResponseValue.success(null); + + 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(); + double totalAmount = export.stream().filter(item -> item.getTotalAmount() != null) + .mapToDouble(ScrappedInfoExcelTemplate::getAmount).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); + String filePath = downLoadExcel("鎶ュ簾鐧昏鍗�", sheets); + return ResponseValue.success("瀵煎嚭鎴愬姛", filePath); + } - } - -- Gitblit v1.9.1