From 8e4000461f3a6bbee34068b78ed60292c0ada611 Mon Sep 17 00:00:00 2001 From: futian.liu <liufutianyoo@163.com> Date: 星期二, 05 十二月 2023 13:46:52 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java | 140 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 140 insertions(+), 0 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 new file mode 100644 index 0000000..e2564bd --- /dev/null +++ b/consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java @@ -0,0 +1,140 @@ +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; +import com.consum.base.pojo.response.GoodsTemplateCountVO; +import com.consum.base.service.LWhProcureModelService; +import com.consum.model.po.LWhProcureModel; +import com.walker.jdbc.service.BaseServiceImpl; + +/** + * @ClassName LWhProcureModelService + * @Date 2023/10/24 + * @Description + * @Version 1.0 + **/ +@Service +public class LWhProcureModelServiceImpl extends BaseServiceImpl implements LWhProcureModelService { + + private static String GET_MODEL_BY_FORM = "SELECT * FROM L_WH_PROCURE_MODEL WHERE 1=1 "; + + /** + * 閫氳繃鍗曟嵁绫诲瀷 鍗曟嵁ID鏌ヨ璇ヨ鍗曞叧鑱旂殑璁惧鍨嬪彿浠ュ強鏁伴噺 + * + * @return + */ + @Override + 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()); + } + if (businessId != null) { + sql.append(" and BUSINESS_ID=:businessId "); + paramts.put("businessId", businessId); + } + return this.select(sql.toString(), paramts, new LWhProcureModel()); + } + + /** + * 鏍规嵁閮ㄩ棬銆佺墿鍝佹煡璇㈣皟鎷ㄥ崟 + * + * @param goodsTemplateId 鐗╁搧ID + * @param departmentId 閮ㄩ棬ID + * @return + */ + private static String GET_FF_ORDER_BY_GOODS_ID_AND_DEPT = + "SELECT trans.ID TRANS_BUSINESS_ID,trans.BUSINESS_FORM_CODE,baseTemp.ID BASE_GOODS_TEMPLATE_ID,baseTemp.GOODS_NAME BASE_GOODS_TEMPLATE_NAME,sum(proModel.COUNTS) total_count,sum(proModel.USE_COUNT) use_count,trans.IN_TIME FROM L_WH_FORM_TRANSFER trans LEFT JOIN L_WH_PROCURE_MODEL proModel ON proModel.BUSINESS_ID=trans.id 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 WHERE proModel.BUSINESS_TYPE=4 AND proModel.USE_COUNT> 0 "; + private static String GET_FF_ORDER_BY_GOODS_ID_AND_DEPT_END = + " GROUP BY trans.ID,trans.BUSINESS_FORM_CODE,baseTemp.ID,baseTemp.GOODS_NAME,trans.IN_TIME order by trans.BUSINESS_FORM_CODE desc"; + + @Override + 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); + } + if (departmentId != null) { + sql.append(" AND trans.IN_WAREHOUSE_TYPE=1 and trans.IN_WAREHOUSE_ID=:departmentId "); + paramts.put("departmentId", departmentId); + } + return select(sql.append(GET_FF_ORDER_BY_GOODS_ID_AND_DEPT_END).toString(), paramts, new MapperUtil()); + } + + /** + * 鏍规嵁閮ㄩ棬銆佺墿鍝佹煡璇㈣皟鎷ㄥ崟 + * + * @param goodsTemplateId 鐗╁搧ID + * @param departmentId 鍒嗗彂鍗旾D + * @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 "; + + @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); + HashMap<String, Object> paramts = new HashMap<>(); + if (goodsTemplateId != null) { + sql.append(" AND baseModel.GOODS_TEMPLATES_ID=:goodsTemplateId "); + paramts.put("goodsTemplateId", goodsTemplateId); + } + if (transBusinessId != null) { + sql.append(" AND proModel.BUSINESS_ID=:transBusinessId "); + paramts.put("transBusinessId", transBusinessId); + } + return select(sql.toString(), paramts, new MapperUtil()); + } + + @Override + public List<GoodsTemplateCountVO> getGoodsTemplateCountByBusinessId(Long businessId) { + List<GoodsTemplateCountVO> goodsTemplateCount = Lists.newArrayList(); + + // 鏌ヨ鍨嬪彿鏁伴噺 + String sql = "SELECT bgt.id,goods_name,sum(counts) count FROM " + + "l_wh_procure_model pm LEFT JOIN base_goods_models bgm ON pm.BASE_GOODS_MODELS_ID = bgm.id " + + "LEFT JOIN base_goods_template bgt ON bgm.goods_templates_id = bgt.id " + + "WHERE pm.business_id =:businessId GROUP BY bgm.goods_templates_id"; + + HashMap<String, Object> param = new HashMap<>(); + param.put("businessId", businessId); + List<Map<String, Object>> select = this.select(sql, param, new MapperUtil()); + select.forEach(item -> { + GoodsTemplateCountVO goodsModelVO = MapUtils.convertMapToObj(item, GoodsTemplateCountVO.class); + goodsTemplateCount.add(goodsModelVO); + }); + + return goodsTemplateCount; + } + + @Override + public List<GoodsTemplateCountVO> getProcureCountByBusinessId(Long businessId) { + List<GoodsTemplateCountVO> goodsTemplateCount = Lists.newArrayList(); + // 鏌ヨ閲囪喘鍨嬪彿缁熻鏁伴噺 + String sql = "select fpg.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 =:businessId group by pm.FROM_PROCURE_GOODS_ID"; + Map<String, Object> paramMap = new HashMap<>(); + paramMap.put("businessId", businessId); + 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); + } + return goodsTemplateCount; + } +} -- Gitblit v1.9.1