From d6a442fa7c8b9be884870c030968786b8f04b2d6 Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期三, 29 十一月 2023 15:02:16 +0800 Subject: [PATCH] feat: 部门台账 --- consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java | 84 +++++++++++++++++++++++++++++++++-------- 1 files changed, 67 insertions(+), 17 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java index ed68075..89306ef 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java @@ -1,5 +1,8 @@ package com.consum.base.controller; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +import cn.afterturn.easypoi.excel.entity.TemplateExportParams; +import cn.hutool.core.util.ReflectUtil; import com.consum.base.BaseController; import com.consum.base.core.CodeGeneratorEnum; import com.consum.base.core.CodeGeneratorService; @@ -19,7 +22,6 @@ import com.consum.base.pojo.response.LWhFormProcureGoodsVO; import com.consum.base.service.BaseGoodsTemplateServiceImpl; import com.consum.base.service.BaseWarehouseServiceImpl; -import com.consum.base.service.FinSysTenantServiceImpl; import com.consum.base.service.LOrgSupplierServiceImpl; import com.consum.base.service.LWhFormProcureCoreService; import com.consum.base.service.LWhFormProcureGoodsService; @@ -42,7 +44,10 @@ 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.lang.reflect.Field; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -50,12 +55,13 @@ import java.util.Map; import java.util.Set; import javax.annotation.Resource; +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.web.bind.annotation.DeleteMapping; 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; @@ -75,8 +81,6 @@ @Resource private BaseWarehouseServiceImpl baseWarehouseService; @Resource - private FinSysTenantServiceImpl finSysTenantService; - @Resource private CodeGeneratorService codeGeneratorService; @Resource private LWhFormProcureGoodsService lWhFormProcureGoodsService; @@ -95,7 +99,15 @@ * @Description 鏂板 */ @PostMapping("/add") - public ResponseValue add(@RequestBody LWhFormProcureParam param) { + public ResponseValue add() { + LWhFormProcureParam param = CommonUtil.getObjFromReqBody(LWhFormProcureParam.class); + LWhFormProcureParam param2 = new LWhFormProcureParam(); + CommonUtil.copyProperties(param, param2); + param = param2; + return this.add(param); + } + + private ResponseValue add(LWhFormProcureParam param) { Long warehouseId = param.getWarehouseId(); if (param.getWarehouseId() == null) { return ResponseValue.error("浠撳簱ID涓嶈兘涓虹┖"); @@ -225,7 +237,11 @@ @ApiImplicitParam(name = "param", value = "閲囪喘鏌ヨ鏉′欢", required = true, dataType = "FormProcureQryDto", paramType = "query") }) @GetMapping("/list") - public ResponseValue queryFormProcureList(FormProcureQry param) { + public ResponseValue queryFormProcureList() { + FormProcureQry param = CommonUtil.getObjFromReq(FormProcureQry.class); + FormProcureQry param2 = new FormProcureQry(); + CommonUtil.copyProperties(param, param2); + param = param2; S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -264,8 +280,9 @@ } try { Field fieldDatas = GenericPager.class.getDeclaredField("datas"); - fieldDatas.setAccessible(true); - fieldDatas.set(genericPager, result); +// fieldDatas.setAccessible(true); +// fieldDatas.set(genericPager, result); + ReflectUtil.setFieldValue(genericPager, fieldDatas, result); } catch (Exception e) { e.printStackTrace(); } @@ -277,7 +294,11 @@ * @Description 缂栬緫 */ @PostMapping("/edit") - public ResponseValue edit(@RequestBody LWhFormProcureParam param) { + public ResponseValue edit() { + LWhFormProcureParam param = CommonUtil.getObjFromReqBody(LWhFormProcureParam.class); + LWhFormProcureParam param2 = new LWhFormProcureParam(); + CommonUtil.copyProperties(param, param2); + param = param2; ResponseValue delFlag = delById(param.getId()); if (delFlag.getCode() == ResponseValue.CODE_SUCCESS) { return this.add(param); @@ -342,13 +363,13 @@ lWhFormProcureGoods.setWhFormProcureId(id); List<LWhFormProcureGoods> formProcureGoods = lWhFormProcureGoodsService.select(lWhFormProcureGoods); - Field fieldModels = null; - try { - fieldModels = LWhFormProcureGoodsVO.class.getDeclaredField("models"); - } catch (NoSuchFieldException e) { - e.printStackTrace(); - } - fieldModels.setAccessible(true); +// Field fieldModels = null; +// try { +// fieldModels = LWhFormProcureGoodsVO.class.getDeclaredField("models"); +// } catch (NoSuchFieldException e) { +// e.printStackTrace(); +// } +// fieldModels.setAccessible(true); ArrayList<LWhFormProcureGoodsVO> procureGoodsVOList = new ArrayList<>(); for (LWhFormProcureGoods formProcureGood : formProcureGoods) { LWhFormProcureGoodsVO lWhFormProcureGoodsVO = new LWhFormProcureGoodsVO(); @@ -371,7 +392,9 @@ GoodsModelVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsModelVO.class); goodsModelVOList.add(goodsModelVO); }); - fieldModels.set(lWhFormProcureGoodsVO, goodsModelVOList); +// fieldModels.set(lWhFormProcureGoodsVO, goodsModelVOList); + ReflectUtil.setFieldValue(lWhFormProcureGoodsVO, "models", goodsModelVOList); + procureGoodsVOList.add(lWhFormProcureGoodsVO); } lWhFormProcureExtendVO.setProcureGoods(procureGoodsVOList); @@ -384,6 +407,10 @@ @GetMapping("detail/list") public ResponseValue queryFormProcureDetailList() { FormProcureQry formProcureQry = CommonUtil.getObjFromReq(FormProcureQry.class); + FormProcureQry param2 = new FormProcureQry(); + CommonUtil.copyProperties(formProcureQry, param2); + formProcureQry = param2; + S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -392,4 +419,27 @@ GenericPager genericPager = lWhFormProcureService.queryFormProcureDetailList(formProcureQry); return ResponseValue.success(genericPager); } + + @ApiOperation(value = "閲囪喘鍗曞鍑�", notes = "閲囪喘鍗曞鍑�") + @GetMapping("/list/export") + public void export(Long id, HttpServletResponse response) throws IOException { + TemplateExportParams params = new TemplateExportParams( + "import/閲囪喘鍏ュ簱鍗�.xlsx"); + + FinSysTenantUser sysInfo = this.getSysInfo(); + String userName = sysInfo.getUserName(); + + Map<String, Object> map = lWhFormProcureService.getExportList(id, userName); + if (CollectionUtils.isEmpty(map)) { + throw new RuntimeException("鏁版嵁涓虹┖"); + } + Workbook workbook = ExcelExportUtil.exportExcel(params, map); + + try (OutputStream outputStream = response.getOutputStream()) { + response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); + response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("閲囪喘鍏ュ簱鍗�.xls", "utf-8")); + workbook.write(outputStream); + workbook.close(); + } + } } -- Gitblit v1.9.1