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/LWhFormInventoryController.java | 130 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 115 insertions(+), 15 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java index 45a18cd..710f2f3 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormInventoryController.java @@ -1,7 +1,11 @@ package com.consum.base.controller; +import cn.afterturn.easypoi.excel.ExcelExportUtil; +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.PageUtil; +import com.consum.base.pojo.excel.InventoryExcelTemplate; import com.consum.base.pojo.query.LWhFormInventoryQry; import com.consum.base.pojo.request.FormInventoryParam; import com.consum.base.pojo.request.LWhFormInventoryParam; @@ -14,20 +18,30 @@ import com.consum.model.po.LWhFormInventory; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; +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; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.net.URLEncoder; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Objects; +import java.util.Optional; +import javax.servlet.http.HttpServletResponse; +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.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; @@ -57,7 +71,13 @@ @ApiImplicitParam(name = "param", value = "鐩樼偣鍗曚俊鎭�", dataType = "FormInventoryParam") }) @PostMapping("/add") - public ResponseValue add(@RequestBody FormInventoryParam param) { + public ResponseValue add() { + + FormInventoryParam param = CommonUtil.getObjFromReqBody(FormInventoryParam.class); + FormInventoryParam formInventoryParam = new FormInventoryParam(); + CommonUtil.copyProperties(param, formInventoryParam); + param = formInventoryParam; + FinSysTenantUser sysInfo = this.getSysInfo(); if (sysInfo == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -87,7 +107,12 @@ @ApiImplicitParam(name = "param", value = "鐩樼偣鏉′欢", dataType = "LWhFormInventoryParam", required = true, paramType = "query") }) @GetMapping("/list") - public ResponseValue queryList(LWhFormInventoryQry param) { + public ResponseValue queryList() { + LWhFormInventoryQry param = CommonUtil.getObjFromReq(LWhFormInventoryQry.class); + LWhFormInventoryQry param2 = new LWhFormInventoryQry(); + CommonUtil.copyProperties(param, param2); + param = param2; + FinSysTenantUser sysInfo = this.getSysInfo(); if (sysInfo == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -110,10 +135,12 @@ if (id == null) { return ResponseValue.error("鍙傛暟涓嶈兘涓虹┖"); } + //閫氳繃鏈烘瀯鏌ヨ鐩稿叧鐨勬ā鏉夸俊鎭� FormInventoryVO formInventoryVO = this.lWhFormInventoryService.queryInventBaseGoodTemplate(id); - this.lWhFormInventoryService.saveInventory(formInventoryVO, id); - return ResponseValue.success(formInventoryVO); + // 淇濆瓨鍚庤繑鍥炶褰曚俊鎭� + List<FormInventoryGoodsVO> result = this.lWhFormInventoryService.saveInventory(formInventoryVO, id); + return ResponseValue.success(result); } /** @@ -126,7 +153,12 @@ @ApiImplicitParam(name = "param", value = "鐩樼偣鍗曚俊鎭�", dataType = "FormInventoryParam") }) @PostMapping("/edit") - public ResponseValue edit(@RequestBody FormInventoryParam param) { + public ResponseValue edit() { + FormInventoryParam param = CommonUtil.getObjFromReqBody(FormInventoryParam.class); + FormInventoryParam formInventoryParam = new FormInventoryParam(); + CommonUtil.copyProperties(param, formInventoryParam); + param = formInventoryParam; + LWhFormInventory lWhFormInventory = lWhFormInventoryService.get(new LWhFormInventory(param.getId())); if (lWhFormInventory == null) { return ResponseValue.error("缂栬緫澶辫触锛�"); @@ -138,8 +170,18 @@ if (num == 0) { return ResponseValue.error("缂栬緫澶辫触锛�"); } - ResponseValue add = this.add(param); - if (add.getCode() == ResponseValue.CODE_SUCCESS) { + + //鏍规嵁鐩樼偣浜篿d鏌ヨ鐩樼偣浜� + FinSysTenantUser finSysTenantUser = new FinSysTenantUser(); + finSysTenantUser.setId(param.getOperatorUserId()); + FinSysTenantUser operatorUser = finSysTenantUserService.get(finSysTenantUser); + //鏍规嵁鐩戠洏浜篿d鏌ヨ鐩戠洏浜� + FinSysTenantUser monitorUserInfo = new FinSysTenantUser(); + monitorUserInfo.setId(param.getMonitorUserId()); + FinSysTenantUser monitorUser = finSysTenantUserService.get(monitorUserInfo); + int result = this.lWhFormInventoryService.add(param, this.getSysInfo(), operatorUser, monitorUser); + + if (result > 0) { return ResponseValue.success(); } @@ -185,12 +227,17 @@ @ApiImplicitParam(name = "param", value = "鐩樼偣鍗曚俊鎭�", dataType = "LWhFormInventoryDto") }) @PostMapping("/temporary/storage") - public ResponseValue temporaryStorage(@RequestBody LWhFormInventoryParam dto) { - if (dto == null) { + public ResponseValue updateTemporaryStorage() { + LWhFormInventoryParam param = CommonUtil.getObjFromReqBody(LWhFormInventoryParam.class); + LWhFormInventoryParam formInventoryParam = new LWhFormInventoryParam(); + CommonUtil.copyProperties(param, formInventoryParam); + param = formInventoryParam; + + if (param == null) { return ResponseValue.error("鍙傛暟閿欒"); } - int num = this.lWhFormInventoryService.updateInventoryInfo(dto, 1, null, null); + int num = this.lWhFormInventoryService.updateInventoryInfo(param, 1, null, null); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鏆傚瓨澶辫触锛�"); } @@ -205,13 +252,18 @@ @ApiImplicitParam(name = "param", value = "鐩樼偣鍗曚俊鎭�", dataType = "LWhFormInventoryDto") }) @PostMapping("/finish") - public ResponseValue finishPd(@RequestBody LWhFormInventoryParam dto) { - if (dto == null) { + public ResponseValue updateFinishPd() { + LWhFormInventoryParam param = CommonUtil.getObjFromReqBody(LWhFormInventoryParam.class); + LWhFormInventoryParam formInventoryParam = new LWhFormInventoryParam(); + CommonUtil.copyProperties(param, formInventoryParam); + param = formInventoryParam; + + if (param == null) { return ResponseValue.error("鍙傛暟閿欒"); } S_user_core currentUser = this.getCurrentUser(); FinSysTenantUser sysInfo = this.getSysInfo(); - int num = this.lWhFormInventoryService.updateInventoryInfo(dto, 2, currentUser, sysInfo); + int num = this.lWhFormInventoryService.updateInventoryInfo(param, 2, currentUser, sysInfo); return num > 0 ? ResponseValue.success(1) : ResponseValue.error("鐩樼偣澶辫触锛�"); } @@ -226,7 +278,12 @@ @ApiImplicitParam(name = "param", value = "鐩樼偣鏉′欢", dataType = "LWhFormInventoryParam", paramType = "query") }) @GetMapping("/list/PdDetail") - public ResponseValue queryPdDetailList(LWhFormInventoryQry param) { + public ResponseValue queryPdDetailList() { + LWhFormInventoryQry param = CommonUtil.getObjFromReq(LWhFormInventoryQry.class); + LWhFormInventoryQry param2 = new LWhFormInventoryQry(); + CommonUtil.copyProperties(param, param2); + param = param2; + FinSysTenantUser sysInfo = this.getSysInfo(); if (sysInfo == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); @@ -259,6 +316,49 @@ return ResponseValue.success(formInventoryVO); } + @ApiOperation(value = "鐩樼偣鍗曞鍑�", notes = "鐩樼偣鍗曞鍑�") + @GetMapping("/list/export") + public void export(Long id, HttpServletResponse response) throws IOException { + + List<InventoryExcelTemplate> exportList = lWhFormInventoryService.getExportList(id); + if (CollectionUtils.isEmpty(exportList)) { + throw new RuntimeException("鏁版嵁涓虹┖"); + } + TemplateExportParams params = new TemplateExportParams("import/浣庡�兼槗鑰楀搧鐩樼偣琛�.xls"); + params.setHeadingStartRow(2); + + Optional<InventoryExcelTemplate> first = exportList.stream().findFirst(); + InventoryExcelTemplate inventoryExcelTemplate = first.get(); + Long createTime = inventoryExcelTemplate.getCreateTime(); + String operatorName = inventoryExcelTemplate.getOperatorName(); + String monitorName = inventoryExcelTemplate.getMonitorName(); + Long endTime = inventoryExcelTemplate.getEndTime(); + + Map<String, Object> map = new HashMap<>(); + map.put("date", DateUtils.toShowDate(createTime)); + map.put("endDate", DateUtils.toShowDate(endTime)); + map.put("monitorName", monitorName); + map.put("name", operatorName); + Workbook workbook = ExcelExportUtil.exportExcel(params, InventoryExcelTemplate.class, + exportList, map); + + downLoadExcel("浣庡�兼槗鑰楀搧鐩樼偣琛�", response, workbook); + } + + private void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) { + try (OutputStream out = response.getOutputStream()) { + response.setCharacterEncoding("UTF-8"); + response.setHeader("content-Type", "application/vnd.ms-excel"); + response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName + ".xls", "UTF-8")); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + workbook.write(baos); + response.setHeader("Content-Length", String.valueOf(baos.size())); + out.write(baos.toByteArray()); + } catch (Exception e) { + logger.error("瀵煎嚭鏂囦欢澶辫触", e); + } + } + } -- Gitblit v1.9.1