From 6cfff55d44314e88fefd6e3adb290ec16b303f89 Mon Sep 17 00:00:00 2001 From: 黎星凯 <13949086503@163.com> Date: 星期五, 05 一月 2024 10:42:53 +0800 Subject: [PATCH] 1、供产品导数据临时用(用户,机构,部门,仓库,库管员 可删) 2、选择库管员增加过滤参数 --- consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java | 59 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 37 insertions(+), 22 deletions(-) diff --git a/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java b/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java index 64bc8de..809348f 100644 --- a/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java @@ -1,12 +1,5 @@ package com.consum.base.service.impl; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.commons.compress.utils.Lists; -import org.springframework.stereotype.Service; - import com.consum.base.core.WhBusinessEnum; import com.consum.base.core.utils.MapUtils; import com.consum.base.core.utils.MapperUtil; @@ -15,6 +8,13 @@ import com.consum.base.service.LWhProcureModelService; import com.consum.model.po.LWhProcureModel; import com.walker.jdbc.service.BaseServiceImpl; +import org.apache.commons.compress.utils.Lists; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; /** * @ClassName LWhProcureModelService @@ -36,7 +36,6 @@ public List<LWhProcureModel> getModelByForm(WhBusinessEnum businessType, Long businessId) { StringBuilder sql = new StringBuilder(GET_MODEL_BY_FORM); HashMap<String, Object> paramts = new HashMap<>(); - // 椤圭洰闃舵id if (businessType != null) { sql.append(" and BUSINESS_TYPE=:businessType "); paramts.put("businessType", businessType.getValue()); @@ -64,7 +63,6 @@ public List<Map<String, Object>> getFfOrderByGoodsIdAndDept(Long goodsTemplateId, Long departmentId) { StringBuilder sql = new StringBuilder(GET_FF_ORDER_BY_GOODS_ID_AND_DEPT); HashMap<String, Object> paramts = new HashMap<>(); - // 椤圭洰闃舵id if (goodsTemplateId != null) { sql.append(" AND baseTemp.ID=:goodsTemplateId "); paramts.put("goodsTemplateId", goodsTemplateId); @@ -84,21 +82,27 @@ * @return */ private static String GET_GOODS_USE_INFO_BY_FF_ORDER_AND_GOOD_ID = - "SELECT baseModel.GOODS_TEMPLATES_ID,proModel.BASE_GOODS_MODELS_ID,baseModel.MODEL_NAME,baseModel.UNIT,CONCAT(baseCate.CLASSIFICATION,'绫�') CLASSIFICATION,modelUser.id MODEL_USER_id,modelUser.NOW_USER_PHONE,modelUser.NOW_USER_NAME,CASE WHEN modelUser.id IS NULL THEN proModel.USE_COUNT ELSE modelUser.USE_COUNT END AS user_Use_Count,CASE WHEN modelUser.id IS NULL THEN proModel.COUNTS ELSE modelUser.GOODS_NUM END AS GOODS_NUM FROM L_WH_PROCURE_MODEL proModel LEFT JOIN BASE_GOODS_MODELS baseModel ON proModel.BASE_GOODS_MODELS_ID=baseModel.id LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseTemp.id=baseModel.GOODS_TEMPLATES_ID LEFT JOIN BASE_CATEGORY baseCate ON baseCate.id=baseTemp.CATEGORY_ID LEFT JOIN L_WH_PROCURE_MODEL_USER modelUser ON modelUser.WH_PROCURE_MODEL_ID=proModel.id WHERE proModel.BUSINESS_TYPE=4 AND proModel.USE_COUNT> 0 "; + "SELECT baseModel.GOODS_TEMPLATES_ID,proModel.BASE_GOODS_MODELS_ID,baseModel.MODEL_NAME,baseModel.UNIT,CONCAT(baseCate.CLASSIFICATION,'绫�') CLASSIFICATION,modelUser.id MODEL_USER_id,modelUser.NOW_USER_PHONE,modelUser.NOW_USER_NAME,CASE WHEN modelUser.id IS NULL THEN proModel.USE_COUNT ELSE modelUser.USE_COUNT END AS user_Use_Count,CASE WHEN modelUser.id IS NULL THEN proModel.COUNTS ELSE modelUser.GOODS_NUM END AS GOODS_NUM FROM L_WH_PROCURE_MODEL proModel LEFT JOIN BASE_GOODS_MODELS baseModel ON proModel.BASE_GOODS_MODELS_ID=baseModel.id LEFT JOIN BASE_GOODS_TEMPLATE baseTemp ON baseTemp.id=baseModel.GOODS_TEMPLATES_ID LEFT JOIN BASE_CATEGORY baseCate ON baseCate.id=baseTemp.CATEGORY_ID LEFT JOIN L_WH_PROCURE_MODEL_USER modelUser ON modelUser.WH_PROCURE_MODEL_ID=proModel.id " ; + private static String GET_GOODS_USE_INFO_BY_FF_ORDER_AND_GOOD_ID_END = "WHERE proModel.BUSINESS_TYPE=4 AND proModel.USE_COUNT> 0 "; @Override public List<Map<String, Object>> getGoodsUseInfoByFfOrderAndGoodId(Long goodsTemplateId, Long transBusinessId) { StringBuilder sql = new StringBuilder(GET_GOODS_USE_INFO_BY_FF_ORDER_AND_GOOD_ID); + StringBuilder sqlEnd = new StringBuilder(GET_GOODS_USE_INFO_BY_FF_ORDER_AND_GOOD_ID_END); HashMap<String, Object> paramts = new HashMap<>(); if (goodsTemplateId != null) { - sql.append(" AND baseModel.GOODS_TEMPLATES_ID=:goodsTemplateId "); + sqlEnd.append(" AND baseModel.GOODS_TEMPLATES_ID=:goodsTemplateId "); paramts.put("goodsTemplateId", goodsTemplateId); } if (transBusinessId != null) { - sql.append(" AND proModel.BUSINESS_ID=:transBusinessId "); + sql.append("and modelUser.PROCURE_MODEL_USER_RECORD_ID = (select max(ID) from L_WH_PROCURE_MODEL_USER_RECORD where TRANS_BUSINESS_ID=:recordTransBusinessId)"); + paramts.put("recordTransBusinessId", transBusinessId); + sqlEnd.append(" AND proModel.BUSINESS_ID=:transBusinessId "); paramts.put("transBusinessId", transBusinessId); + } else { + sql.append("and modelUser.PROCURE_MODEL_USER_RECORD_ID = (select max(ID) from L_WH_PROCURE_MODEL_USER_RECORD)"); } - return select(sql.toString(), paramts, new MapperUtil()); + return select(sql.append(sqlEnd).toString(), paramts, new MapperUtil()); } @Override @@ -116,7 +120,9 @@ List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); select.forEach(item -> { GoodsTemplateCountVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsTemplateCountVO.class); - goodsTemplateCount.add(goodsModelVO); + if (Objects.nonNull(goodsModelVO)) { + goodsTemplateCount.add(goodsModelVO); + } }); return goodsTemplateCount; @@ -134,26 +140,35 @@ List<Map<String, Object>> procureModelList = this.select(sql, paramMap, new MapperUtil()); for (Map<String, Object> map : procureModelList) { GoodsTemplateCountVO goodsTemplateCountVO = MapUtils.convertMapToObj(map, GoodsTemplateCountVO.class); - goodsTemplateCount.add(goodsTemplateCountVO); + if (Objects.nonNull(goodsTemplateCountVO)) { + goodsTemplateCount.add(goodsTemplateCountVO); + } } return goodsTemplateCount; } @Override - public List<GoodModelInfoDTO> getGoodsModelListByBusinessId(Long businessId) { + public List<GoodModelInfoDTO> getGoodsModelListByBusinessId(Long businessId, Long procureGoodId) { // 鏌ヨ鍨嬪彿鍒楄〃淇℃伅 List<GoodModelInfoDTO> goodsModelList = Lists.newArrayList(); String sql = - "SELECT bgt.id baseGoodsTemplateId,pm.id,CATEGORY_ID,CATEGORY_NAME,GOODS_NAME baseGoodsName,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount " - + "FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " - + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID " - + "WHERE pm.BUSINESS_ID = :businessId"; + "SELECT bgt.id baseGoodsTemplateId,pm.id,CATEGORY_ID,CATEGORY_NAME,GOODS_NAME baseGoodsName,pm.BASE_GOODS_MODELS_NAME,bgm.UNIT,COUNTS,total_amount, " + + "pm.BASE_GOODS_MODELS_ID,PRICE,WOREHOUSE_COUNT,bgt.CLASSIFICATION type FROM l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON bgm.id = pm.BASE_GOODS_MODELS_ID " + + "LEFT JOIN base_goods_template bgt ON bgt.id = bgm.GOODS_TEMPLATES_ID WHERE "; Map<String, Object> paramMap = new HashMap<>(); - paramMap.put("businessId", businessId); + if (businessId != null) { + sql += "pm.BUSINESS_ID = :businessId "; + paramMap.put("businessId", businessId); + } else { + sql += "pm.FROM_PROCURE_GOODS_ID =:procureGoodId "; + paramMap.put("procureGoodId", procureGoodId); + } List<Map<String, Object>> modelList = select(sql, paramMap, new MapperUtil()); modelList.forEach(item -> { GoodModelInfoDTO goodsModelVO = MapUtils.convertMapToObj(item, GoodModelInfoDTO.class); - goodsModelList.add(goodsModelVO); + if (Objects.nonNull(goodsModelVO)) { + goodsModelList.add(goodsModelVO); + } }); return goodsModelList; } -- Gitblit v1.9.1