From 3f69b4dfc585c4dfbc3c07a6acf5cdd838033636 Mon Sep 17 00:00:00 2001 From: liuguocan <527956374@qq.com> Date: 星期二, 28 十一月 2023 14:45:49 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/controller/LWhFormScrappedController.java | 175 +++++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 124 insertions(+), 51 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 e5bad62..6d2c4d5 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,51 +1,92 @@ package com.consum.base.controller; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.ExportParams; import com.consum.base.BaseController; -import com.consum.base.pojo.LWhFormScrappedExtend; +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.service.LWhFormScrappedGoodsService; +import com.consum.base.pojo.excel.ScrappedInfoExport; +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.consum.model.po.LWhFormScrappedGoods; -import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.CollectionUtils; import com.walker.web.ResponseValue; -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +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 org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @Description 鎶ュ簾鍗� * @Author 鍗㈠簡闃� * @Date 2023/11/1 */ +@Api(value = "鎶ュ簾鍗�", tags = "鎶ュ簾鍗�") @RestController @RequestMapping("/pc/l/wh/form/scrapped") public class LWhFormScrappedController extends BaseController { @Autowired private LWhFormScrappedServiceImpl lWhFormScrappedService; - @Autowired - private LWhFormScrappedGoodsService scrappedGoodsService; + /** * @Description 鏂板鎶ュ簾鍗� * @Author 鍗㈠簡闃� * @Date 2023/11/1 */ + @ApiOperation(value = "鏂板鎶ュ簾鍗�", notes = "鏂板鎶ュ簾鍗�") + @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); + 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); } @@ -55,40 +96,47 @@ /** * @Description 鍒楄〃鏌ヨ * @Author 鍗㈠簡闃� - * @Date 2023/11/02 + * @Date 2023/11/02 1.鏌ヨ鎶ュ簾鍗� 2.鏌ヨ鎶ュ簾鍗曠墿鍝� */ - //1.鏌ヨ鎶ュ簾鍗� - //2.鏌ヨ鎶ュ簾鍗曠墿鍝� + @ApiOperation(value = "鍒楄〃鏌ヨ", notes = "鍒楄〃鏌ヨ") + @ApiImplicitParams({ + @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query") + }) @GetMapping("/list") - public ResponseValue queryList(LWhFormScrappedParam 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("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } - - GenericPager genericPager = lWhFormScrappedService.queryList(param, sysInfo); - List<LWhFormScrapped> datas = genericPager.getDatas(); - ArrayList<LWhFormScrappedExtend> newDatas = new ArrayList<>(); - if (!CollectionUtils.isEmpty(datas)) { - datas.forEach(item -> { - // 鏌ヨ鎶ュ簾鍗曠墿鍝� - LWhFormScrappedGoods scrappedGoods = new LWhFormScrappedGoods(); - scrappedGoods.setFormScrappedId(item.getId()); - List<LWhFormScrappedGoods> scrappedGoodsList = scrappedGoodsService.select(scrappedGoods); - LWhFormScrappedExtend formScrappedExtend = new LWhFormScrappedExtend(); - BeanUtils.copyProperties(item, formScrappedExtend); - formScrappedExtend.setScrappedGoodsList(scrappedGoodsList); - newDatas.add(formScrappedExtend); + PageUtil genericPager = lWhFormScrappedService.queryList(param, sysInfo); + List<LWhFormScrapped> data = genericPager.getDatas(); + List<LWhFormScrappedVO> result = Lists.newArrayList(); + if (!CollectionUtils.isEmpty(data)) { + 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); + result.add(lWhFormScrappedVO); }); } - try { - Field fieldDatas = GenericPager.class.getDeclaredField("datas"); - fieldDatas.setAccessible(true); - fieldDatas.set(genericPager, newDatas); - } catch (Exception e) { - e.printStackTrace(); - } -// genericPager.setDatas(newDatas); + genericPager.setDatas(result); return ResponseValue.success(genericPager); } @@ -97,29 +145,42 @@ * @Author 鍗㈠簡闃� * @Date 2023/11/2 */ + @ApiOperation(value = "鏍规嵁id鏌ヨ璇︽儏", notes = "鏍规嵁id鏌ヨ璇︽儏") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鎶ュ簾鍗昳d", dataType = "Long", paramType = "query") + }) @GetMapping("/detail") public ResponseValue getById(Long id) { if (id == null) { return ResponseValue.error("鎶ュ簾鍗昳d涓虹┖"); } - LWhFormScrappedExtend scrappedExtend = this.lWhFormScrappedService.getById(id); + LWhFormScrappedExtendVO scrappedExtend = this.lWhFormScrappedService.getById(id); return ResponseValue.success(scrappedExtend); } /** * 鎶ュ簾鏄庣粏 * - * @param param + * @param * @return */ + @ApiOperation(value = "鎶ュ簾鏄庣粏", notes = "鎶ュ簾鏄庣粏") + @ApiImplicitParams({ + @ApiImplicitParam(name = "param", value = "鏌ヨ鏉′欢", dataType = "LWhFormScrappedQry", paramType = "query") + }) @GetMapping("/list/detailList") - public ResponseValue queryDetailList(LWhFormScrappedParam 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("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } - GenericPager<Map<String, Object>> genericPager = lWhFormScrappedService.queryDetailList(param, sysInfo); - return ResponseValue.success(genericPager); + PageUtil pageUtil = lWhFormScrappedService.queryDetailList(param, sysInfo); + return ResponseValue.success(pageUtil); } /** @@ -128,12 +189,24 @@ * @Date 2023/11/2 */ @GetMapping("/export") - public ResponseValue export(Long id) { + public ResponseValue export(Long id, HttpServletRequest request, HttpServletResponse response) { if (id == null) { return ResponseValue.error("鎶ュ簾鍗昳d涓虹┖"); } - LWhFormScrappedExtend scrappedExtend = this.lWhFormScrappedService.export(id, this.getSysInfo()); - return ResponseValue.success(scrappedExtend); + 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); + } + return ResponseValue.success(); } -- Gitblit v1.9.1