From 62b6a7fac3f2acde70b578431147c4a01f19c182 Mon Sep 17 00:00:00 2001
From: 黎星凯 <13949086503@163.com>
Date: 星期一, 15 四月 2024 09:07:05 +0800
Subject: [PATCH] bug修改

---
 consum-base/src/main/java/com/consum/base/service/impl/LWhProcureModelServiceImpl.java |   75 ++++++++++++++++++++++++++-----------
 1 files changed, 53 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..7dbf735 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,27 +140,52 @@
         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;
     }
+
+    @Override
+    public List<LWhProcureModel> getModelByForm1(WhBusinessEnum businessType, Long businessId) {
+        StringBuilder sql = new StringBuilder("SELECT * FROM L_WH_PROCURE_MODEL WHERE 1=1 ");
+        HashMap<String, Object> paramts = new HashMap<>();
+        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);
+        }
+        List<LWhProcureModel> select = select(sql.toString(), paramts, new LWhProcureModel());
+        return select;
+    }
 }

--
Gitblit v1.9.1