From 01107e8aadfaf1e84a971d8eeb9ab37e1c5569f3 Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期五, 01 十二月 2023 09:38:56 +0800 Subject: [PATCH] feat: 部门退回/报废公用接口 --- consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java | 58 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 40 insertions(+), 18 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java index d7c0e2c..af3e13f 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormTransferController.java @@ -1,5 +1,7 @@ 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.utils.CommonUtil; @@ -14,11 +16,11 @@ import com.consum.base.pojo.query.TransferQry; import com.consum.base.pojo.request.LWhFormTransferParam; import com.consum.base.pojo.request.ProcureModelInfoParam; +import com.consum.base.pojo.request.RecordInfoParam; import com.consum.base.pojo.response.FormTransferVO; import com.consum.base.pojo.response.FromTransferTemplateInfoVO; import com.consum.base.pojo.response.LWHFromTransferExtendVO; import com.consum.base.pojo.response.TransferInfoVO; -import com.consum.base.service.BaseGoodsModelsServiceImpl; import com.consum.base.service.BaseWarehouseServiceImpl; import com.consum.base.service.LWhFormTransferCoreService; import com.consum.base.service.LWhFormTransferServiceImpl; @@ -30,7 +32,6 @@ import com.consum.model.po.LWhFormTransfer; import com.consum.model.po.LWhProcureModelUser; import com.consum.model.po.LWhProcureModelUserRecord; -import com.consum.model.vo.LWhFormOutputVo; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.CollectionUtils; @@ -40,14 +41,20 @@ 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.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; +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; @@ -75,8 +82,6 @@ private LWhProcureModelUserServiceImpl lWhProcureModelUserService; @Autowired private LWhProcureModelUserRecordServiceImpl lWhProcureModelUserRecordService; - @Autowired - private BaseGoodsModelsServiceImpl baseGoodsModelsService; @Autowired private BaseWarehouseServiceImpl baseWarehouseService; @@ -301,13 +306,24 @@ * @Author 鍗㈠簡闃� * @Date 2023/10/31 */ - @GetMapping("/export") - public ResponseValue export(Long id) { - if (id == null) { - return ResponseValue.error("璋冩嫧鍗昳d涓虹┖"); + @GetMapping("/list/export") + public void export(Long id, Integer type, HttpServletResponse response) throws IOException { + + TemplateExportParams params; + if (type == 1) { + params = new TemplateExportParams("import/璋冩嫧鍏ュ簱鍗�.xls"); + } else { + params = new TemplateExportParams("import/璋冩嫧鍑哄簱鍗�.xls"); } - LWhFormOutputVo vo = this.lWhFormTransferService.export(id, this.getCurrentUser()); - return ResponseValue.success(vo); + Map<String, Object> map = this.lWhFormTransferService.export(id, type); + + 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(); + } } @@ -344,19 +360,20 @@ @PostMapping("/useInfo/update") public ResponseValue infoUpdate() { - List<ProcureModelInfoParam> param = CommonUtil.getObjFromReqBody(List.class); - List<ProcureModelInfoParam> procureModelInfoParam = Lists.newArrayList(); - procureModelInfoParam.addAll(param); + RecordInfoParam param = CommonUtil.getObjFromReqBody(RecordInfoParam.class); + RecordInfoParam recordInfoParam = new RecordInfoParam(); + CommonUtil.copyProperties(param, recordInfoParam); + param = recordInfoParam; S_user_core currentUser = this.getCurrentUser(); if (currentUser == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } - if (CollectionUtils.isEmpty(procureModelInfoParam)) { + if (CollectionUtils.isEmpty(param.getRecordInfoList())) { return ResponseValue.error("鍙傛暟閿欒"); } - Map<Long, List<ProcureModelInfoParam>> collect = procureModelInfoParam.stream() + Map<Long, List<ProcureModelInfoParam>> collect = param.getRecordInfoList().stream() .collect(Collectors.groupingBy(ProcureModelInfoParam::getBaseGoodModelId)); for (Map.Entry<Long, List<ProcureModelInfoParam>> entry : collect.entrySet()) { Long baseGoodModelId = entry.getKey(); @@ -375,7 +392,7 @@ lWhProcureModelUserRecordService.insert(lWhProcureModelUserRecord); List<LWhProcureModelUser> procureModelUserList = Lists.newArrayList(); - if (CollectionUtils.isEmpty(procureModelInfoList)) { + if (!CollectionUtils.isEmpty(procureModelInfoList)) { for (ProcureModelInfoParam item : procureModelInfoList) { LWhProcureModelUser lWhProcureModelUser = new LWhProcureModelUser(); lWhProcureModelUser.setId(IdUtil.generateId()); @@ -418,7 +435,7 @@ if (CollectionUtils.isEmpty(useRecordDTOList)) { return ResponseValue.error("鏈煡璇㈠埌浣跨敤璁板綍"); } - List<GoodsUseRecordVO> result = Lists.newArrayList(); + List<GoodsUseRecordVO> goodsUseRecordList = Lists.newArrayList(); //鍒嗙粍 Map<Long, Map<Long, List<UseRecordDTO>>> collect = useRecordDTOList.stream() .collect(Collectors.groupingBy(UseRecordDTO::getId, Collectors.groupingBy(UseRecordDTO::getBaseGoodsModelsId))); @@ -452,10 +469,15 @@ useRecordSkuVO.setRecordUserInfos(recordUserInfoList); useRecordSkuList.add(useRecordSkuVO); goodsUseRecordVO.setRecordSkuDtoList(useRecordSkuList); - result.add(goodsUseRecordVO); + goodsUseRecordList.add(goodsUseRecordVO); } } } + //鍒嗙粍涔嬪悗閲嶆柊鎺掑簭 + List<GoodsUseRecordVO> result = goodsUseRecordList.stream() + .sorted(Comparator.comparing(GoodsUseRecordVO::getUpdateTime + , Comparator.nullsFirst(Long::compareTo)).reversed()) + .collect(Collectors.toList()); return ResponseValue.success(result); } -- Gitblit v1.9.1