From 89495b208235d2e30244ce9485c75ac2f1690c79 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 28 十一月 2023 20:48:08 +0800 Subject: [PATCH] 部门分发 --- consum-base/src/main/java/com/consum/base/pojo/excel/TemplateExcelExport.java | 32 +++ consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java | 2 consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java | 2 consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java | 14 deploy-jar-single/src/main/resources/import/采购入库单.xls | 0 consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java | 100 ++++------ consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java | 55 ++++++ deploy-jar-single/src/main/resources/import/采购退货单.xls | 0 consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java | 14 + consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java | 58 ++++++ deploy-jar-single/src/main/resources/import/采购入库单.xlsx | 0 /dev/null | 0 consum-base/src/main/java/com/consum/base/pojo/response/OutAndInDetailVO.java | 40 ++++ consum-base/src/main/java/com/consum/base/controller/LWhFormProcureController.java | 85 +++++++- deploy-jar-single/src/main/resources/import/采购退货单.xlsx | 0 consum-base/src/main/java/com/consum/base/core/utils/MixType.java | 44 ++++ consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java | 91 ++------- 17 files changed, 387 insertions(+), 150 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java index 2b87db8..4cceb53 100644 --- a/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java +++ b/consum-base/src/main/java/com/consum/base/controller/LWhFormOutputController.java @@ -7,6 +7,7 @@ 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.LWhFormOutputParam; import com.consum.base.pojo.query.LWhFormOutputQry; import com.consum.base.pojo.response.FormOutputGoodsVO; @@ -16,34 +17,34 @@ import com.consum.base.pojo.response.LWhFormOutputExtendVO; import com.consum.base.service.LWarehouseFlowService; import com.consum.base.service.LWhFormOutputServiceImpl; -import com.consum.base.service.LWhGoodsService; import com.consum.base.service.LWhProcureModelService; import com.consum.model.po.FinSysTenantUser; import com.consum.model.po.LWhFormOutput; 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 java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.InputStream; import java.io.OutputStream; import java.lang.reflect.Field; import java.net.URLEncoder; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.annotation.Resource; -import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.commons.compress.utils.Lists; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.ss.usermodel.Workbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.io.ClassPathResource; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; @@ -63,8 +64,6 @@ private LWhFormOutputServiceImpl lWhFormOutputService; @Autowired private LWhProcureModelService lWhProcureModelService; - @Autowired - private LWhGoodsService lWhGoodsService; @Resource private LWarehouseFlowService lWarehouseFlowService; @@ -203,74 +202,55 @@ if (currentUser == null) { return ResponseValue.error("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } - GenericPager<Map<String, Object>> genericPager = lWarehouseFlowService.queryAllBusinessFlow(formOutputQry); + PageUtil genericPager = lWarehouseFlowService.queryAllBusinessFlow(formOutputQry); return ResponseValue.success(genericPager); } @ApiOperation(value = "鍑哄簱鍗曞鍑�", notes = "鍑哄簱鍗曞鍑�") @GetMapping("/list/export") - public void export(Long id, HttpServletRequest request, HttpServletResponse response) throws IOException { - TemplateExportParams params = new TemplateExportParams( - "import/閲囪喘閫�璐у崟.xls"); + public void export(Long id, HttpServletResponse response) throws IOException { + ClassPathResource classPathResource = new ClassPathResource("import/閲囪喘閫�璐у崟.xls"); + // 鑾峰彇鏂囦欢杈撳叆娴� + InputStream inputStream = classPathResource.getInputStream(); + Workbook wb = new HSSFWorkbook(inputStream); + TemplateExportParams params = new TemplateExportParams(); + params.setTemplateWb(wb); FinSysTenantUser sysInfo = this.getSysInfo(); String userName = sysInfo.getUserName(); - String sql = "SELECT\n" - + "\tfo.BUSINESS_FORM_CODE,\n" - + "\tfo.AGENCY_NAME tenantName,\n" - + "\tGOODS_NAME goodsName,\n" - + "\tpm.BASE_GOODS_MODELS_NAME goodsModeName,\n" - + "\tcounts num,\n" - + "\ttotal_amount sqje,\n" - + "\tBEIZ remark\n" - + "FROM\n" - + "\tl_wh_procure_model pm\n" - + "\tLEFT JOIN base_goods_models bgm ON pm.BASE_GOODS_MODELS_ID = bgm.id\n" - + "\tLEFT JOIN base_goods_template bgt ON bgm.GOODS_TEMPLATES_ID = bgt.id\n" - + "\tLEFT JOIN l_wh_form_output fo ON fo.ID = pm.BUSINESS_ID\n" - + "WHERE\n" - + "\tpm.BUSINESS_ID = 1393373943914496"; - - Map<String, Object> param = new HashMap<>(); - param.put("id", id); - List<Map<String, Object>> select = lWhFormOutputService.select(sql, param, new MapperUtil()); - - String dateForHuman = DateUtils.getDateForHuman(System.currentTimeMillis()); - Map<String, Object> map = new HashMap<>(); - //鑾峰彇select涓殑BUSINESS_FORM_CODE鍊硷紝 - for (Map<String, Object> item : select) { - String businessFormCode = (String) item.get("businessFormCode"); - map.put("code", businessFormCode); - Object num = item.get("num"); - map.put("numCount", 100); - map.put("amountCount", 100); + Map<String, Object> map = lWhFormOutputService.getExportList(id, userName); + if (CollectionUtils.isEmpty(map)) { + throw new RuntimeException("鏁版嵁涓虹┖"); } - List<Map<String, String>> listMap = new ArrayList<>(); - map.put("code", "璐颁桨涓�"); - map.put("date", dateForHuman); - map.put("name", userName); -// for (int i = 0; i < 4; i++) { -// Map<String, String> lm = new HashMap<>(); -// lm.put("tenantName", i + 1 + ""); -// lm.put("goodsName", "A001"); -// lm.put("goodsModeName", "璁捐"); -// lm.put("num", "EasyPoi " + i + "鏈�"); -// lm.put("price", "寮�婧愰」鐩�"); -// lm.put("sqje", i * 10000 + ""); -// lm.put("remark", i * 10000 + ""); -// listMap.add(lm); -// } - map.put("maplist", select); Workbook workbook = ExcelExportUtil.exportExcel(params, map); + downLoadExcel("111", response, workbook); - 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(); +// try (OutputStream outputStream = response.getOutputStream()) { +// response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); +// response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode("閲囪喘閫�璐у崟1.xlsx", "utf-8")); +// workbook.write(outputStream); +// workbook.close(); +// } + } + + private void downLoadExcel(String fileName, HttpServletResponse response, Workbook workbook) throws IOException { + 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) { + try { + throw new Exception(e.getMessage()); + } catch (Exception e1) { + e1.printStackTrace(); + } } } 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 79df3ac..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,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.CodeGeneratorEnum; @@ -13,9 +15,26 @@ import com.consum.base.pojo.LWhFormProcureParam; import com.consum.base.pojo.LWhProcureModelParam; import com.consum.base.pojo.query.FormProcureQry; -import com.consum.base.pojo.response.*; -import com.consum.base.service.*; -import com.consum.model.po.*; +import com.consum.base.pojo.response.FormProcureVO; +import com.consum.base.pojo.response.FromProcureTemplateInfoVO; +import com.consum.base.pojo.response.GoodsModelVO; +import com.consum.base.pojo.response.LWhFormProcureExtendVO; +import com.consum.base.pojo.response.LWhFormProcureGoodsVO; +import com.consum.base.service.BaseGoodsTemplateServiceImpl; +import com.consum.base.service.BaseWarehouseServiceImpl; +import com.consum.base.service.LOrgSupplierServiceImpl; +import com.consum.base.service.LWhFormProcureCoreService; +import com.consum.base.service.LWhFormProcureGoodsService; +import com.consum.base.service.LWhFormProcureService; +import com.consum.base.service.LWhGoodsService; +import com.consum.base.service.LWhProcureModelService; +import com.consum.model.po.BaseGoodsTemplate; +import com.consum.model.po.BaseWarehouse; +import com.consum.model.po.FinSysTenantUser; +import com.consum.model.po.LOrgSupplier; +import com.consum.model.po.LWhFormProcure; +import com.consum.model.po.LWhFormProcureGoods; +import com.consum.model.po.LWhProcureModel; import com.iplatform.model.po.S_user_core; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.CollectionUtils; @@ -25,13 +44,26 @@ import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import org.apache.commons.compress.utils.Lists; -import org.springframework.beans.BeanUtils; -import org.springframework.web.bind.annotation.*; - -import javax.annotation.Resource; +import java.io.IOException; +import java.io.OutputStream; import java.lang.reflect.Field; -import java.util.*; +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +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.RequestMapping; +import org.springframework.web.bind.annotation.RestController; /** * @ClassName LWhFormProcureController @@ -48,8 +80,6 @@ private LWhFormProcureService lWhFormProcureService; @Resource private BaseWarehouseServiceImpl baseWarehouseService; - @Resource - private FinSysTenantServiceImpl finSysTenantService; @Resource private CodeGeneratorService codeGeneratorService; @Resource @@ -204,7 +234,7 @@ */ @ApiOperation(value = "閲囪喘鍗曞垪琛ㄦ煡璇�", notes = "閲囪喘鍗曞垪琛ㄦ煡璇�") @ApiImplicitParams({ - @ApiImplicitParam(name = "param", value = "閲囪喘鏌ヨ鏉′欢", required = true, dataType = "FormProcureQryDto", paramType = "query") + @ApiImplicitParam(name = "param", value = "閲囪喘鏌ヨ鏉′欢", required = true, dataType = "FormProcureQryDto", paramType = "query") }) @GetMapping("/list") public ResponseValue queryFormProcureList() { @@ -234,8 +264,8 @@ // 鏌ヨ鍨嬪彿鏁伴噺 String sql = "select fpg.id,BASE_CATEGORY_ID ,BASE_GOODS_TEMPLATE_ID ,GOODS_TEMPLATE_NAME ,sum(counts) count " - + "from L_WH_FORM_PROCURE_GOODS fpg left join L_WH_PROCURE_MODEL pm on fpg.id = pm.FROM_PROCURE_GOODS_ID " - + "where fpg.WH_FORM_PROCURE_ID =:id group by pm.FROM_PROCURE_GOODS_ID"; + + "from L_WH_FORM_PROCURE_GOODS fpg left join L_WH_PROCURE_MODEL pm on fpg.id = pm.FROM_PROCURE_GOODS_ID " + + "where fpg.WH_FORM_PROCURE_ID =:id group by pm.FROM_PROCURE_GOODS_ID"; Map<String, Object> paramMap = new HashMap<>(); paramMap.put("id", item.getId()); List<Map<String, Object>> procureModelList = lWhProcureModelService.select(sql, paramMap, new MapperUtil()); @@ -354,8 +384,8 @@ Map<String, Object> paramMap = new HashMap<>(); paramMap.put("formProcureGoodId", formProcureGood.getId()); String sql = "SELECT\n" + "pm.BASE_GOODS_MODELS_ID,pm.BASE_GOODS_MODELS_NAME,pm.PRICE,pm.COUNTS,pm.WOREHOUSE_COUNT,bgm.unit " + "FROM\n" - + "\tl_wh_procure_model pm\n" - + "\tLEFT JOIN base_goods_models bgm on pm.BASE_GOODS_MODELS_ID = bgm.id where pm.FROM_PROCURE_GOODS_ID =:formProcureGoodId"; + + "\tl_wh_procure_model pm\n" + + "\tLEFT JOIN base_goods_models bgm on pm.BASE_GOODS_MODELS_ID = bgm.id where pm.FROM_PROCURE_GOODS_ID =:formProcureGoodId"; List<Map<String, Object>> procureModelList = lWhProcureModelService.select(sql, paramMap, new MapperUtil()); List<GoodsModelVO> goodsModelVOList = Lists.newArrayList(); procureModelList.forEach(item -> { @@ -389,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(); + } + } } diff --git a/consum-base/src/main/java/com/consum/base/core/utils/MixType.java b/consum-base/src/main/java/com/consum/base/core/utils/MixType.java new file mode 100644 index 0000000..944c386 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/core/utils/MixType.java @@ -0,0 +1,44 @@ +package com.consum.base.core.utils; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author asus + * @version 1.0 + * @description: 鍑哄叆搴撴槑缁嗙姸鎬� + * @date 2023/11/14 16:19 + */ +public class MixType { + + private final static Map<String, String> map = new HashMap<>(); + + static { + // 鍗曟嵁绫诲瀷 1 閲囪喘2 璋冩嫧 3鍑哄簱4閮ㄩ棬鍒嗗彂 + // 1=璋冨锛�2=璋冨噺 + //1閲囪喘鍏ュ簱 + map.put("1" + "1", "1"); + //2閫�杩樺叆搴� + map.put("2" + "1", "2"); + //3璋冩嫧鍏ュ簱 + map.put("3" + "1", "3"); + //4鐩樼泩鍏ュ簱 + map.put("7" + "1", "4"); + //5鐢抽鍑哄簱 + map.put("4" + "2", "5"); + //6璋冩嫧鍑哄簱 + map.put("2" + "2", "6"); + //7鐩樹簭鍑哄簱 + map.put("7" + "2", "7"); + //8鎶ュ簾鍑哄簱 + map.put("5" + "2", "8"); + //9鍏朵粬鍑哄簱 + map.put("3" + "2", "9"); + } + + public static String getMixType(String key) { + return map.get(key); + } + + +} diff --git a/consum-base/src/main/java/com/consum/base/pojo/excel/TemplateExcelExport.java b/consum-base/src/main/java/com/consum/base/pojo/excel/TemplateExcelExport.java new file mode 100644 index 0000000..b182d06 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/excel/TemplateExcelExport.java @@ -0,0 +1,32 @@ +package com.consum.base.pojo.excel; + +import lombok.Data; + +/** + * @author asus + * @version 1.0 + * @description: 瀵煎嚭杞崲瀵硅薄 + * @date 2023/11/27 15:31 + */ +@Data +public class TemplateExcelExport { + + + private String businessFormCode; + + private String tenantName; + + private String goodsName; + + private String goodsModeName; + + private Integer num; + + private Integer totalAmount; + + private String remark; + + private int price; + + private String warehouseName; +} diff --git "a/consum-base/src/main/java/com/consum/base/pojo/excel/\344\270\223\351\241\271\346\224\257\345\207\272\347\224\250\346\254\276\347\224\263\350\257\267\344\271\246_map.xls" "b/consum-base/src/main/java/com/consum/base/pojo/excel/\344\270\223\351\241\271\346\224\257\345\207\272\347\224\250\346\254\276\347\224\263\350\257\267\344\271\246_map.xls" deleted file mode 100644 index 0d0181d..0000000 --- "a/consum-base/src/main/java/com/consum/base/pojo/excel/\344\270\223\351\241\271\346\224\257\345\207\272\347\224\250\346\254\276\347\224\263\350\257\267\344\271\246_map.xls" +++ /dev/null Binary files differ diff --git a/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java b/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java index b630806..4d2e391 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java +++ b/consum-base/src/main/java/com/consum/base/pojo/query/LWhFormOutputQry.java @@ -29,12 +29,23 @@ * 鐗╁搧妯$増鍚嶇О */ @ApiModelProperty(value = "鐗╁搧妯$増鍚嶇О") + private String goodsTempName; + /** + * 鐗╁搧妯$増鍚嶇О + */ + @ApiModelProperty(value = "鐗╁搧妯$増id") + private String goodsTemplateId; + /** + * 鐗╁搧妯$増鍚嶇О + */ + @ApiModelProperty(value = "鐗╁搧妯$増鍚嶇О") private String goodsName; /** * 鐗╁搧妯$増鍚嶇О */ @ApiModelProperty(value = "鐗╁搧妯$増id") private String baseGoodsId; + /** * 鏈烘瀯 */ @@ -55,6 +66,9 @@ * 鐢抽鍑哄簱 map.put("4" + "2", "7") */ @ApiModelProperty(value = "1閲囪喘鍏ュ簱 2閫�杩樺叆搴� 3璋冩嫧鍏ュ簱 4鐩樼泩鍏ュ簱 5鐢抽鍑哄簱 6璋冩嫧鍑哄簱 7鐩樹簭鍑哄簱 8鎶ュ簾鍑哄簱 9鍏朵粬鍑哄簱") + private Integer flowType; + + @ApiModelProperty(value = "鐘舵��") private Integer states; /** diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java index 5bb70e5..436f636 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/FormInventoryDetailVO.java @@ -45,6 +45,6 @@ private String agencyName; private String operatorName; private Long operatorTime; - private Long warehouseFormCode; + private String warehouseFormCode; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java index b456110..b96f406 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java +++ b/consum-base/src/main/java/com/consum/base/pojo/response/LWHFromTransferExtendVO.java @@ -104,7 +104,7 @@ private String departmentName; @ApiModelProperty(value = "鐢佃瘽") - private String tel; + private Long tel; private List<FormTransferGoodsVO> formTransferGoods; } diff --git a/consum-base/src/main/java/com/consum/base/pojo/response/OutAndInDetailVO.java b/consum-base/src/main/java/com/consum/base/pojo/response/OutAndInDetailVO.java new file mode 100644 index 0000000..ea63ef4 --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/pojo/response/OutAndInDetailVO.java @@ -0,0 +1,40 @@ +package com.consum.base.pojo.response; + +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @author asus + * @version 1.0 + * @description: TODO + * @date 2023/11/28 11:25 + */ +@NoArgsConstructor +@Data +public class OutAndInDetailVO { + + @JsonProperty("id") + private Long id; + @JsonProperty("thisType") + private Integer thisType; + @JsonProperty("dealTime") + private Long dealTime; + @JsonProperty("totalPrice") + private Integer totalPrice; + @JsonProperty("businessFormCode") + private String businessFormCode; + @JsonProperty("baseGoodsModelsName") + private String baseGoodsModelsName; + @JsonProperty("businessType") + private Integer businessType; + @JsonProperty("thisCount") + private Integer thisCount; + @JsonProperty("operatorName") + private String operatorName; + @JsonProperty("agencyName") + private String agencyName; + @JsonProperty("goodsTemplateName") + private String goodsTemplateName; + private String mixType; +} diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java index 501c5ec..7b08e06 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowService.java @@ -2,14 +2,20 @@ import com.consum.base.core.WhBusinessEnum; import com.consum.base.core.utils.MapRowMapper; +import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; +import com.consum.base.core.utils.MixType; +import com.consum.base.core.utils.PageUtil; import com.consum.base.pojo.LWarehouseFlowParam; import com.consum.base.pojo.query.LWhFormOutputQry; +import com.consum.base.pojo.response.OutAndInDetailVO; import com.walker.db.page.GenericPager; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import java.util.HashMap; +import java.util.List; import java.util.Map; +import org.apache.commons.compress.utils.Lists; import org.springframework.stereotype.Service; /** @@ -76,63 +82,6 @@ return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapRowMapper()); } - public GenericPager<Map<String, Object>> queryBusinessFlowDetail(LWhFormOutputQry param) { - StringBuilder sql = new StringBuilder(QUERY_BUSINESS_FLOW); - Map<String, Object> paramts = new HashMap<>(); - if (StringUtils.isNotEmpty(param.getBusinessFormCode())) { - sql.append("AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUSINESS_FORM_CODE=:businessFormCode" - + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.BUSINESS_FORM_CODE=:businessFormCode END "); - paramts.put("businessFormCode", param.getBusinessFormCode()); - } - if (StringUtils.isNotEmpty(param.getGoodsName())) { - sql.append("AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName "); - paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsName() + StringUtils.CHAR_PERCENT); - } - - if (param.getBaseGoodsModelsId() != null) { - sql.append("AND record.BASE_GOODS_MODELS_ID =:baseGoodsModelsId "); - paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); - } - if (param.getAgencyId() != null) { - sql.append("AND tCaiGou.AGENCY_id=:agencyId "); - paramts.put("agencyId", param.getAgencyId()); - } - - if (StringUtils.isNotEmpty(param.getCreateName())) { - sql.append("AND CASE WHEN flow.BUSINESS_TYPE = 1 THEN tCaiGou.BUYER_NAME = :createdName" - + " WHEN flow.BUSINESS_TYPE = 3 THEN tFormOut.OPERATOR_NAME = :createdName END "); - paramts.put("createdName", param.getCreateName()); - } - if (param.getStartTime() != null) { - sql.append("and flow.DEAL_TIME >=:dealTimeStart "); - paramts.put("dealTimeStart", param.getStartTime() * 1000000); - } - if (param.getEndTime() != null) { - sql.append("and flow.DEAL_TIME <:dealTimeEnd "); - paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000); - } - if (param.getStates() != null) { - - switch (param.getStates()) { - case 1: - sql.append("and flow.BUSINESS_TYPE =:businessType"); - break; - case 2: - sql.append("and flow.FLOW_STATE = 2 "); - break; - default: - sql.append("and flow.FLOW_STATE = 3 "); - } - - } - -// if (param.getBusinessType() != null) { -// sql.append(" and flow.BUSINESS_TYPE =:businessType"); -// paramts.put("businessType", param.getBusinessType()); -// } - - return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); - } /** * 鍙拌处鏌ヨ @@ -255,7 +204,7 @@ } - public GenericPager<Map<String, Object>> queryAllBusinessFlow(LWhFormOutputQry param) { + public PageUtil queryAllBusinessFlow(LWhFormOutputQry param) { StringBuilder sql = new StringBuilder("SELECT\n" + "CASE WHEN flow.BUSINESS_TYPE=1 THEN tCaiGou.id \n" + "WHEN (flow.BUSINESS_TYPE=2 OR flow.BUSINESS_TYPE=4 OR flow.BUSINESS_TYPE=6) THEN tTrans.id \n" @@ -302,13 +251,13 @@ } //鐗╁搧鍚嶇О - if (StringUtils.isNotEmpty(param.getGoodsName())) { + if (StringUtils.isNotEmpty(param.getGoodsTempName())) { sql.append(" AND record.GOODS_TEMPLATE_NAME like :goodsTemplateName"); - paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsName() + StringUtils.CHAR_PERCENT); + paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTempName() + StringUtils.CHAR_PERCENT); } - if (param.getBaseGoodsId() != null) { - sql.append(" AND record.BASE_GOODS_TEMPLATE_ID=:goodsTemplateId"); - paramts.put("goodsTemplateId", param.getBaseGoodsId()); + if (param.getGoodsTemplateId() != null) { + sql.append(" AND record.BASE_GOODS_TEMPLATE_ID =:goodsTemplateId"); + paramts.put("goodsTemplateId", param.getGoodsTemplateId()); } //瑙勬牸鍨嬪彿 if (param.getBaseGoodsModelsId() != null) { @@ -316,7 +265,7 @@ paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); } // 鍚岀爜琛紝1閲囪喘鍏ュ簱 2閫�杩樺叆搴� 3璋冩嫧鍏ュ簱 4鐩樼泩鍏ュ簱 5鐢抽鍑哄簱 6璋冩嫧鍑哄簱 7鐩樹簭鍑哄簱 8鎶ュ簾鍑哄簱 9鍏朵粬鍑哄簱 - Integer flowType = param.getStates(); + Integer flowType = param.getFlowType(); if (flowType != null) { Map<String, Short> typeByFlowType = WhBusinessEnum.getTypeByFlowType(flowType.shortValue()); //鏈璋冩暣绫诲瀷锛�1=璋冨锛�2=璋冨噺锛� @@ -353,6 +302,18 @@ paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000); } sql.append(" ORDER BY record.DEAL_TIME desc,record.id DESC "); - return selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); + GenericPager<Map<String, Object>> mapGenericPager = selectSplit(sql.toString(), paramts, param.getPageNum(), param.getPageSize(), new MapperUtil()); + PageUtil pageUtil = new PageUtil(mapGenericPager); + List<OutAndInDetailVO> result = Lists.newArrayList(); + mapGenericPager.getDatas().forEach(map -> { + OutAndInDetailVO outAndInDetailVO = MapUtils.convertMapToObj(map, OutAndInDetailVO.class); + Integer thisType = outAndInDetailVO.getThisType(); + Integer businessType = outAndInDetailVO.getBusinessType(); + String mixType = MixType.getMixType(businessType + "" + thisType); + outAndInDetailVO.setMixType(mixType); + result.add(outAndInDetailVO); + }); + pageUtil.setDatas(result); + return pageUtil; } } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java index aebbe2f..4d8a13c 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputServiceImpl.java @@ -5,10 +5,12 @@ import com.consum.base.core.WhBusinessEnum; import com.consum.base.core.param.BaseWarehouseParam1; import com.consum.base.core.utils.IdUtil; +import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; import com.consum.base.pojo.LWFormsOutputGoodsInfoParam; import com.consum.base.pojo.LWFormsOutputGoodsModelParam; import com.consum.base.pojo.LWhFormOutputParam; +import com.consum.base.pojo.excel.TemplateExcelExport; import com.consum.base.pojo.query.LWhFormOutputQry; import com.consum.model.po.BaseGoodsModels; import com.consum.model.po.BaseWarehouse; @@ -17,13 +19,17 @@ import com.consum.model.po.LWhProcureModel; 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.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Optional; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.compress.utils.Lists; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.interceptor.TransactionAspectSupport; @@ -225,4 +231,53 @@ } + public Map<String, Object> getExportList(Long id, String userName) { + String sql = "SELECT\n" + + "\tfo.BUSINESS_FORM_CODE,\n" + + "\tfo.AGENCY_NAME tenantName,\n" + + "\tGOODS_NAME goodsName,\n" + + "\tpm.BASE_GOODS_MODELS_NAME goodsModeName,\n" + + "\tcounts num,\n" + + "\ttotal_amount totalAmount,\n" + + "\tBEIZ remark\n" + + "FROM\n" + + "\tl_wh_procure_model pm\n" + + "\tLEFT JOIN base_goods_models bgm ON pm.BASE_GOODS_MODELS_ID = bgm.id\n" + + "\tLEFT JOIN base_goods_template bgt ON bgm.GOODS_TEMPLATES_ID = bgt.id\n" + + "\tLEFT JOIN l_wh_form_output fo ON fo.ID = pm.BUSINESS_ID\n" + + "WHERE\n" + + "\tpm.BUSINESS_ID = :id"; + + Map<String, Object> param = new HashMap<>(); + param.put("id", id); + List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); + if (CollectionUtils.isEmpty(select)) { + return null; + } + List<TemplateExcelExport> list = Lists.newArrayList(); + select.forEach(item -> { + TemplateExcelExport templateExcelExport = MapUtils.convertMapToObj(item, TemplateExcelExport.class); + templateExcelExport.setTenantName(StringUtils.isNotEmpty(templateExcelExport.getTenantName()) ? templateExcelExport.getTenantName() : ""); + templateExcelExport.setRemark(StringUtils.isNotEmpty(templateExcelExport.getRemark()) ? templateExcelExport.getRemark() : ""); + templateExcelExport.setTotalAmount(templateExcelExport.getTotalAmount() == null ? 0 : templateExcelExport.getTotalAmount()); + templateExcelExport.setNum(templateExcelExport.getNum() == null ? 0 : templateExcelExport.getNum()); + list.add(templateExcelExport); + }); + int sum = list.stream().filter(item -> item.getNum() != null).mapToInt(TemplateExcelExport::getNum).sum(); + int totalAmount = list.stream().filter(export -> export.getTotalAmount() != null).mapToInt(TemplateExcelExport::getTotalAmount).sum(); + Optional<TemplateExcelExport> first = list.stream().findFirst(); + TemplateExcelExport templateExcelExport = first.get(); + String businessFormCode = templateExcelExport.getBusinessFormCode(); + + String dateForHuman = DateUtils.getDateForHuman(System.currentTimeMillis()); + Map<String, Object> map = new HashMap<>(); + map.put("code", businessFormCode); + map.put("date", dateForHuman); + map.put("name", userName); + map.put("sum", sum); + map.put("totalAmount", totalAmount); + map.put("data", list); + return map; + } + } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java index 5145cc3..a3b1464 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureService.java @@ -1,14 +1,21 @@ package com.consum.base.service; +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.excel.TemplateExcelExport; import com.consum.base.pojo.query.FormProcureQry; import com.consum.model.po.LWhFormProcure; import com.walker.db.page.GenericPager; +import com.walker.infrastructure.utils.CollectionUtils; +import com.walker.infrastructure.utils.DateUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.jdbc.service.BaseServiceImpl; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.Optional; +import org.apache.commons.compress.utils.Lists; import org.springframework.stereotype.Service; /** @@ -113,4 +120,55 @@ } + public Map<String, Object> getExportList(Long id, String userName) { + String sql = "SELECT\n" + + "\tfp.BUSINESS_FORM_CODE,\n" + + "\tfp.AGENCY_NAME tenantName,\n" + + "\tGOODS_NAME goodsName,\n" + + "\tpm.BASE_GOODS_MODELS_NAME goodsModeName,\n" + + "\tcounts num,\n" + + "\tprice,\n" + + "\ttotal_amount totalAmount,\n" + + "\tWAREHOUSE_NAME,\n" + + "\tBEIZ remark\n" + + "FROM\n" + + "\tl_wh_procure_model pm\n" + + "\tLEFT JOIN base_goods_models bgm ON pm.BASE_GOODS_MODELS_ID = bgm.id\n" + + "\tLEFT JOIN base_goods_template bgt ON bgm.GOODS_TEMPLATES_ID = bgt.id\n" + + "\tLEFT JOIN l_wh_form_procure fp ON fp.ID = pm.BUSINESS_ID\n" + + "WHERE\n" + + "\tpm.BUSINESS_ID = :id"; + Map<String, Object> param = new HashMap<>(); + param.put("id", id); + List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); + if (CollectionUtils.isEmpty(select)) { + return null; + } + + List<TemplateExcelExport> list = Lists.newArrayList(); + select.forEach(item -> { + TemplateExcelExport templateExcelExport = MapUtils.convertMapToObj(item, TemplateExcelExport.class); + templateExcelExport.setTotalAmount(templateExcelExport.getTotalAmount() == null ? 0 : templateExcelExport.getTotalAmount()); + templateExcelExport.setNum(templateExcelExport.getNum() == null ? 0 : templateExcelExport.getNum()); + templateExcelExport.setTenantName(StringUtils.isNotEmpty(templateExcelExport.getTenantName()) ? templateExcelExport.getTenantName() : ""); + templateExcelExport.setRemark(StringUtils.isNotEmpty(templateExcelExport.getRemark()) ? templateExcelExport.getRemark() : ""); + list.add(templateExcelExport); + }); + int sum = list.stream().filter(item -> item.getNum() != null).mapToInt(TemplateExcelExport::getNum).sum(); + int totalAmount = list.stream().filter(export -> export.getTotalAmount() != null).mapToInt(TemplateExcelExport::getTotalAmount).sum(); + Optional<TemplateExcelExport> first = list.stream().findFirst(); + TemplateExcelExport templateExcelExport = first.get(); + String businessFormCode = templateExcelExport.getBusinessFormCode(); + + String dateForHuman = DateUtils.getDateForHuman(System.currentTimeMillis()); + Map<String, Object> map = new HashMap<>(); + map.put("code", businessFormCode); + map.put("date", dateForHuman); + map.put("name", userName); + map.put("sum", sum); + map.put("totalAmount", totalAmount); + map.put("data", list); + return map; + + } } diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java index bcedeb0..2277cff 100644 --- a/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/LWhFormTransferServiceImpl.java @@ -124,13 +124,13 @@ //浠庡綋鍓嶇櫥褰曞簱绠′汉浠庡簱涓嚭搴擄紝鍏ュ埌鎵�閫夐儴闂ㄧ殑涓� //鏌ヨ搴撶鍛樹俊鎭拰鐩稿叧浠撳簱 - Long id = sysInfo.getSysUserId(); + Long id = sysInfo.getId(); BaseWarehouseManager manager = new BaseWarehouseManager(); manager.setManagerId(id); List<BaseWarehouseManager> managerList = baseWarehouseManagerService.select(manager); if (CollectionUtils.isEmpty(managerList)) { - log.error("搴撶鍛樹笉瀛樺湪"); - throw new Exception("搴撶鍛樹笉瀛樺湪"); + log.error("璇ョ敤鎴蜂笉鏄簱绠″憳"); + throw new Exception("璇ョ敤鎴蜂笉鏄簱绠″憳"); } Optional<BaseWarehouseManager> first = managerList.stream().findFirst(); if (first.isPresent()) { @@ -331,6 +331,7 @@ LWhFormTransfer lWhFormTransfer = this.get(new LWhFormTransfer(id)); if (lWhFormTransfer != null) { BeanUtils.copyProperties(lWhFormTransfer, result); + result.setDepartmentName(lWhFormTransfer.getInWarehouseName()); } String sql = "SELECT bgt.id, CATEGORY_ID, CATEGORY_NAME, GOODS_NAME,bgt.CLASSIFICATION type " @@ -377,8 +378,6 @@ }); goodsModelVO.setUseInfo(departGoodsUseInfoList); } - // TODO 閮ㄩ棬鍚嶇О -// result.setDepartmentName(); } goodsModelVOList.add(goodsModelVO); @@ -447,9 +446,10 @@ HashMap<String, Object> paramts = new HashMap<>(); StringBuilder sql = new StringBuilder( "SELECT ft.id,ft.BUSINESS_FORM_CODE,bgt.GOODS_NAME,bgt.CLASSIFICATION type,bgm.id goodsModelId,bgm.MODEL_NAME goodsModelName,pm.COUNTS goodsCount,fst.`name` tenantName," - + "fstd.NAME departmentName,ft.OPERATOR_ID,ft.CREATE_TIME FROM l_wh_form_transfer ft " + + "ft.IN_WAREHOUSE_NAME departmentName,ft.OPERATOR_ID,ft.CREATE_TIME,ft.OPERATOR_NAME FROM l_wh_form_transfer ft " + "inner JOIN l_wh_procure_model pm ON ft.ID = pm.BUSINESS_ID " + "inner JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " - + "inner JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + "inner JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID " + + "inner JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " + + "inner JOIN fin_sys_tenant_user fstu ON fstu.id = ft.OPERATOR_ID " + "inner JOIN fin_sys_tenant_department fstd ON fstu.SYS_DEPT_ID = fstd.ID " + "inner JOIN fin_sys_tenant fst ON fst.id = fstd.TENANT_ID where ft.BUSINESS_TYPE =1 "); //鍗曞彿 diff --git "a/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\345\205\245\345\272\223\345\215\225.xls" "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\345\205\245\345\272\223\345\215\225.xls" new file mode 100644 index 0000000..e2bbeba --- /dev/null +++ "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\345\205\245\345\272\223\345\215\225.xls" Binary files differ diff --git "a/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\345\205\245\345\272\223\345\215\225.xlsx" "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\345\205\245\345\272\223\345\215\225.xlsx" new file mode 100644 index 0000000..70c8101 --- /dev/null +++ "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\345\205\245\345\272\223\345\215\225.xlsx" Binary files differ diff --git "a/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xls" "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xls" index 306de0e..8567af0 100644 --- "a/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xls" +++ "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xls" Binary files differ diff --git "a/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xlsx" "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xlsx" new file mode 100644 index 0000000..8e6b845 --- /dev/null +++ "b/deploy-jar-single/src/main/resources/import/\351\207\207\350\264\255\351\200\200\350\264\247\345\215\225.xlsx" Binary files differ -- Gitblit v1.9.1