From b938f236181f5636dcc4b6089c1270d0f138ad23 Mon Sep 17 00:00:00 2001 From: cy <1664593601@qq.com> Date: 星期六, 02 十二月 2023 10:43:50 +0800 Subject: [PATCH] feat: 部门报废详情、明细 --- consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java | 64 +++++++++++++++- consum-base/src/main/java/com/consum/base/controller/DepFormScrappedController.java | 135 +++++++++++++++++++-------------- consum-base/src/main/java/com/consum/base/pojo/query/LDeptFormScrappedQry.java | 11 ++ 3 files changed, 148 insertions(+), 62 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/controller/DepFormScrappedController.java b/consum-base/src/main/java/com/consum/base/controller/DepFormScrappedController.java index fe0d734..c7a8918 100644 --- a/consum-base/src/main/java/com/consum/base/controller/DepFormScrappedController.java +++ b/consum-base/src/main/java/com/consum/base/controller/DepFormScrappedController.java @@ -13,6 +13,7 @@ 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.web.ResponseValue; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -26,12 +27,8 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; import java.io.OutputStream; import java.net.URLEncoder; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -188,61 +185,83 @@ } } - public static void main(String[] args) { - TemplateExportParams exportParams = new TemplateExportParams("D:\\MyProjects\\jmy\\浣庡�兼槗鑰楀搧\\low-consum-manage\\deploy-jar-single\\src\\main\\resources\\import\\deptScrapped.xlsx"); - exportParams.setHeadingStartRow(2); + @GetMapping("/deptListByModel") + public ResponseValue export() { + LDeptFormScrappedQry param = CommonUtil.getObjFromReq(LDeptFormScrappedQry.class); + LDeptFormScrappedQry query = new LDeptFormScrappedQry(); + CommonUtil.copyProperties(param, query); + param = query; - List<Map<String, Object>> export = new ArrayList<>(); - - // 鍒涘缓绗竴鏉℃暟鎹� - Map<String, Object> data1 = new HashMap<>(); - data1.put("agencyName", 1); - data1.put("baseGoodsTemplateName", "Bob"); - data1.put("scrappedName", "Bob"); - data1.put("bz", "Bob"); - data1.put("baseGoodsModelsName", 30); - data1.put("counts", 30); - data1.put("totalPrice", 30); - export.add(data1); - - // 鍒涘缓绗簩鏉℃暟鎹� - Map<String, Object> data2 = new HashMap<>(); - data2.put("agencyName", 2); - data2.put("baseGoodsTemplateName", "Bob"); - data2.put("scrappedName", "Bob"); - data2.put("bz", "Bob"); - data2.put("baseGoodsModelsName", 30); - data2.put("counts", 30); - data2.put("totalPrice", 30); - export.add(data2); - - - Map<String, Object> map = new HashMap<>(); - map.put("code", "2023"); - map.put("date", "2023"); - map.put("name", "operatorName"); - map.put("countNum", 0); - map.put("totalAmount", 0); - map.put("maplist", export); - - Workbook workbook = ExcelExportUtil.exportExcel(exportParams, map); - - File file = new File("C:\\Users\\cy\\Desktop\\鏂板缓鏂囦欢澶�"); - OutputStream stream = null; - try { - SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd"); - stream = new FileOutputStream(new File(file, "鏈烘瀯瀹㈡埛淇℃伅琛�.xls")); - //document.write(stream); - workbook.write(stream); - } catch (Exception e) { - e.printStackTrace(); - } finally { - if (stream != null) ; - try { - stream.close(); - } catch (IOException e) { - e.printStackTrace(); - } + FinSysTenantUser sysInfo = getSysInfo(); + if (sysInfo == null) { + throw new RuntimeException("鐧诲綍鐢ㄦ埛淇℃伅涓嶅瓨鍦�"); } + /*褰撳墠鐧诲綍浜哄彧鑳界湅鍒拌嚜宸辨満鏋勪笅鐨勫垪琛�*/ + String tenantId = sysInfo.getTenantId(); + String paramAgencyId = param.getAgencyId(); + if (StringUtils.isEmpty(paramAgencyId) || !paramAgencyId.startsWith(tenantId)) { + param.setAgencyId(tenantId); + } + + List<Map<String, Object>> export = depFormScrappedService.listByModel(param); + return ResponseValue.success(export); } + +// public static void main(String[] args) { +// TemplateExportParams exportParams = new TemplateExportParams("D:\\MyProjects\\jmy\\浣庡�兼槗鑰楀搧\\low-consum-manage\\deploy-jar-single\\src\\main\\resources\\import\\deptScrapped.xlsx"); +// exportParams.setHeadingStartRow(2); +// +// List<Map<String, Object>> export = new ArrayList<>(); +// +// // 鍒涘缓绗竴鏉℃暟鎹� +// Map<String, Object> data1 = new HashMap<>(); +// data1.put("agencyName", 1); +// data1.put("baseGoodsTemplateName", "Bob"); +// data1.put("scrappedName", "Bob"); +// data1.put("bz", "Bob"); +// data1.put("baseGoodsModelsName", 30); +// data1.put("counts", 30); +// data1.put("totalPrice", 30); +// export.add(data1); +// +// // 鍒涘缓绗簩鏉℃暟鎹� +// Map<String, Object> data2 = new HashMap<>(); +// data2.put("agencyName", 2); +// data2.put("baseGoodsTemplateName", "Bob"); +// data2.put("scrappedName", "Bob"); +// data2.put("bz", "Bob"); +// data2.put("baseGoodsModelsName", 30); +// data2.put("counts", 30); +// data2.put("totalPrice", 30); +// export.add(data2); +// +// +// Map<String, Object> map = new HashMap<>(); +// map.put("code", "2023"); +// map.put("date", "2023"); +// map.put("name", "operatorName"); +// map.put("countNum", 0); +// map.put("totalAmount", 0); +// map.put("maplist", export); +// +// Workbook workbook = ExcelExportUtil.exportExcel(exportParams, map); +// +// File file = new File("C:\\Users\\cy\\Desktop\\鏂板缓鏂囦欢澶�"); +// OutputStream stream = null; +// try { +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy_MM_dd"); +// stream = new FileOutputStream(new File(file, "鏈烘瀯瀹㈡埛淇℃伅琛�.xls")); +// //document.write(stream); +// workbook.write(stream); +// } catch (Exception e) { +// e.printStackTrace(); +// } finally { +// if (stream != null) ; +// try { +// stream.close(); +// } catch (IOException e) { +// e.printStackTrace(); +// } +// } +// } } diff --git a/consum-base/src/main/java/com/consum/base/pojo/query/LDeptFormScrappedQry.java b/consum-base/src/main/java/com/consum/base/pojo/query/LDeptFormScrappedQry.java index 9e5fcdb..0f83176 100644 --- a/consum-base/src/main/java/com/consum/base/pojo/query/LDeptFormScrappedQry.java +++ b/consum-base/src/main/java/com/consum/base/pojo/query/LDeptFormScrappedQry.java @@ -1,5 +1,6 @@ package com.consum.base.pojo.query; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -11,6 +12,10 @@ **/ @Data public class LDeptFormScrappedQry { + /** + * 鎶ュ簾鍗昳d + */ + private Long id; /** * 鎶ュ簾鍗曞彿 */ @@ -37,6 +42,12 @@ */ private String agencyId; + @ApiModelProperty("瑙勬牸鍨嬪彿") + private Long baseGoodsModelsId; + + @ApiModelProperty("閮ㄩ棬ID") + private Long departmentId; + private Integer pageSize = 10; private Integer pageNum = 1; diff --git a/consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java index cc9a437..e05d42e 100644 --- a/consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/DepFormScrappedServiceImpl.java @@ -202,8 +202,8 @@ paramts.put("businessFormCode", param.getBusinessFormCode()); } //鏈烘瀯 - sql.append(" and scrap.AGENCY_ID = :agencyId "); if (param.getAgencyId() != null) { + sql.append(" and scrap.AGENCY_ID = :agencyId "); paramts.put("agencyId", param.getAgencyId()); } //鐗╁搧鍚嶇О @@ -253,15 +253,21 @@ DepFormScrappedModel depFormScrappedModel = new DepFormScrappedModel(); depFormScrappedModel.setDepFormScrappedGoodsId(scrappedGoodsId); List<DepFormScrappedModel> scrappedModelList = select(depFormScrappedModel); - scrappedGoodsMap.put("models", scrappedModelList); + List<List<DepFormScrappedModel>> modelList = scrappedModelList.stream() + .collect(Collectors.groupingBy(DepFormScrappedModel::getBaseGoodsModelsId)) + .values().stream() + .map(list -> list.stream().collect(Collectors.toList())) + .collect(Collectors.toList()); + + scrappedGoodsMap.put("models", modelList); goodsList.add(scrappedGoodsMap); } scrappedExtend.setGoods(goodsList); return scrappedExtend; } - private static String EXPORT_SQL = "SELECT scrap.BUSINESS_FORM_CODE,scrap.DEAL_TIME,scrap.OPERATOR_NAME,scrap.AGENCY_NAME,model.BASE_GOODS_TEMPLATE_NAME,model.BASE_GOODS_MODELS_NAME,scrap.OUT_WAREHOUSE_NAME,model.COUNTS,2 AS TOTAL_PRICE,model.SCRAPPED_NAME,NULL AS bz FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID WHERE 1=1 "; - private static String EXPORT_SQL_END = "order by scrap.BUSINESS_FORM_CODE desc "; + private static String EXPORT_SQL = "SELECT scrap.id,scrap.BUSINESS_FORM_CODE,model.BASE_GOODS_TEMPLATE_NAME,model.BASE_GOODS_MODELS_NAME,model.COUNTS,scrap.AGENCY_NAME,scrap.DEPARTMENT_NAME,scrap.OPERATOR_NAME,scrap.DEAL_TIME,scrap.OUT_WAREHOUSE_NAME,2 AS TOTAL_PRICE,model.SCRAPPED_NAME,NULL AS bz FROM DEP_FORM_SCRAPPED scrap LEFT JOIN DEP_FORM_SCRAPPED_MODEL model ON scrap.id=model.DEP_FORM_SCRAPPED_ID WHERE 1=1 "; + private static String EXPORT_SQL_END = "order by scrap.DEAL_TIME DESC"; public List<Map<String, Object>> export(Long id, String agencyId) { HashMap<String, Object> paramts = new HashMap<>(); @@ -278,4 +284,54 @@ } return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); } + public List<Map<String, Object>> listByModel(LDeptFormScrappedQry param) { + HashMap<String, Object> paramts = new HashMap<>(); + StringBuilder sql = new StringBuilder(EXPORT_SQL); + //鎶ュ簾鍗昳d + if (param.getId() != null) { + sql.append(" and scrap.id = :id"); + paramts.put("id", param.getId()); + } + //鎶ュ簾鍗曞彿 + if (param.getBusinessFormCode() != null) { + sql.append(" and scrap.BUSINESS_FORM_CODE= :businessFormCode"); + paramts.put("businessFormCode", param.getBusinessFormCode()); + } + //鐗╁搧鍚嶇О + if (StringUtils.isNotEmpty(param.getGoodsTemplateName())){ + sql.append(" and model.BASE_GOODS_TEMPLATE_NAME LIKE :goodsTemplateName "); + paramts.put("goodsTemplateName", StringUtils.CHAR_PERCENT + param.getGoodsTemplateName() + StringUtils.CHAR_PERCENT); + } + //瑙勬牸鍨嬪彿 + if (param.getBaseGoodsModelsId() != null) { + sql.append("and model.BASE_GOODS_MODELS_ID =:baseGoodsModelsId "); + paramts.put("baseGoodsModelsId", param.getBaseGoodsModelsId()); + } + + //鏈烘瀯 + if (param.getAgencyId() != null) { + sql.append(" and scrap.AGENCY_ID = :agencyId "); + paramts.put("agencyId", param.getAgencyId()); + } + // 閮ㄩ棬 姝ゅ鎸夌殑鏄墿鍝佷娇鐢ㄩ儴闂� 鑰屼笉鏄� 鎿嶄綔浜烘墍鍦ㄩ儴闂� + if (param.getDepartmentId() != null) { + sql.append(" and scrap.OUT_WAREHOUSE_ID= :departmentId"); + paramts.put("departmentId", param.getDepartmentId()); + } + //鍒涘缓浜� + if (!StringUtils.isEmpty(param.getOperatorName())) { + sql.append(" and scrap.OPERATOR_NAME LIKE :operatorName "); + paramts.put("operatorName", StringUtils.CHAR_PERCENT + param.getOperatorName() + StringUtils.CHAR_PERCENT); + } + //鎶ュ簾鏃堕棿 + if (param.getStartTime() != null) { + sql.append(" and scrap.DEAL_TIME >=:dealTimeStart "); + paramts.put("dealTimeStart", param.getStartTime() * 1000000); + } + if (param.getEndTime() != null) { + sql.append(" and scrap.DEAL_TIME <:dealTimeEnd "); + paramts.put("dealTimeEnd", param.getEndTime() * 1000000 + 240000); + } + return select(sql.append(EXPORT_SQL_END).toString(), paramts, new MapperUtil()); + } } -- Gitblit v1.9.1