From a5e195c4d1cf661ec0f1c03517ce3b5436b7e5b2 Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期五, 24 十一月 2023 17:03:49 +0800
Subject: [PATCH] feat: 对仓库内物品按型号进行预警判断

---
 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java |   91 ++++++++++++++++++++++++---------------------
 1 files changed, 49 insertions(+), 42 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
index 5f65e91..144e817 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java
@@ -1,23 +1,22 @@
 package com.consum.base.service;
 
 import com.consum.base.core.utils.LockManage;
-import com.consum.model.po.BaseWarehouse;
-import com.consum.model.po.LWarehouseFlow;
-import com.consum.model.po.LWhFormProcure;
-import com.consum.model.po.LWhGoodsRecord;
-import com.consum.model.po.LWhProcureModel;
+import com.consum.model.po.*;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.NumberGenerator;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.jdbc.core.JdbcTemplate;
 import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
 import org.springframework.jdbc.core.namedparam.SqlParameterSource;
 import org.springframework.jdbc.core.simple.SimpleJdbcCall;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.PostConstruct;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName LWarehouseFlowService
@@ -36,15 +35,22 @@
     private LWhGoodsRecordService lWhGoodsRecordService;
     private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
 
+    @Value("${spring.datasource.dataBaseName}")
+    private String dataBaseName;
+
+    @PostConstruct
+    public void init() {
+        this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withCatalogName(dataBaseName).withProcedureName("InsertL_WH_GOODS");
+    }
+
     @Autowired
     public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService,
-        BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) {
+                                     BaseGoodsTemplateServiceImpl baseGoodsTemplateService, LWhGoodsRecordService lWhGoodsRecordService) {
         this.jdbcTemplate = jdbcTemplate;
         this.lWarehouseFlowService = lWarehouseFlowService;
         this.baseGoodsTemplateService = baseGoodsTemplateService;
         this.lWhGoodsService = lWhGoodsService;
         this.lWhGoodsRecordService = lWhGoodsRecordService;
-        this.simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate).withProcedureName("InsertL_WH_GOODS");
     }
 
     /**
@@ -82,11 +88,11 @@
 
         //缁熻鍚勫瀷鍙锋暟閲�
         Map<Long, Integer> countsSumByBaseGoodsModelsId = goodsModelNumList.stream()
-            .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId,
-                Collectors.summingInt(LWhProcureModel::getCounts)));
+                .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId,
+                        Collectors.summingInt(LWhProcureModel::getCounts)));
         Map<Long, List<LWhProcureModel>> sameModelList = goodsModelNumList.stream()
-            // 鎸夊瀷鍙峰垎
-            .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId));
+                // 鎸夊瀷鍙峰垎
+                .collect(Collectors.groupingBy(LWhProcureModel::getBaseGoodsModelsId));
         countsSumByBaseGoodsModelsId.forEach((baseGoodsModelsId, modelCount) -> {
             //鏌ヨ鍨嬪彿淇℃伅
             Map<String, Object> tempGoodsInfo = baseGoodsTemplateService.queryGoodsInfoByModelId(baseGoodsModelsId);
@@ -136,11 +142,12 @@
                     Long price = item.getPrice();
                     //鐗╁搧涓暟
                     Integer counts = item.getCounts();
-                    totalPrice = totalPrice + counts*price;
+                    totalPrice = totalPrice + counts * price;
                     sameGoodsInsertMore(warehouseFlowId, warehouseType, warehouseId, whGoodsRecordId, (short) 1, warehouseName,
-                        classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName,
-                        supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts);
-                };
+                            classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName,
+                            supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts);
+                }
+                ;
                 whGoodsRecord.setTotalPrice(totalPrice);
             }
             lWhGoodsRecordService.insert(whGoodsRecord);
@@ -169,31 +176,31 @@
      * @param pTimes               鎻掑叆鏉℃暟
      */
     public void sameGoodsInsertMore(long pWarehouseFlowId, Integer warehouseType, long pWarehouseId, long pWhGoodsRecordId, short pRecordType,
-        String pWarehouseName, short pCostType,
-        long pBaseGoodsTemplateId, String pGoodsTemplateName, long pBaseGoodsModelsId,
-        String pBaseGoodsModelsName, String pSupplier, short pBuyType,
-        String pUnit, long pPrice, long pProcureDate,
-        int pStates, long pDealTime, int pTimes) {
+                                    String pWarehouseName, short pCostType,
+                                    long pBaseGoodsTemplateId, String pGoodsTemplateName, long pBaseGoodsModelsId,
+                                    String pBaseGoodsModelsName, String pSupplier, short pBuyType,
+                                    String pUnit, long pPrice, long pProcureDate,
+                                    int pStates, long pDealTime, int pTimes) {
         SqlParameterSource in = new MapSqlParameterSource()
-            .addValue("p_WAREHOUSE_FLOW_ID", pWarehouseFlowId)
-            .addValue("p_WAREHOUSE_TYPE", warehouseType)
-            .addValue("p_WAREHOUSE_ID", pWarehouseId)
-            .addValue("p_WH_GOODS_RECORD_ID", pWhGoodsRecordId)
-            .addValue("p_RECORD_TYPE", pRecordType)
-            .addValue("p_WAREHOUSE_NAME", pWarehouseName)
-            .addValue("p_COST_TYPE", pCostType)
-            .addValue("p_BASE_GOODS_TEMPLATE_ID", pBaseGoodsTemplateId)
-            .addValue("p_GOODS_TEMPLATE_NAME", pGoodsTemplateName)
-            .addValue("p_BASE_GOODS_MODELS_ID", pBaseGoodsModelsId)
-            .addValue("p_BASE_GOODS_MODELS_NAME", pBaseGoodsModelsName)
-            .addValue("p_SUPPLIER", pSupplier)
-            .addValue("p_BUY_TYPE", pBuyType)
-            .addValue("p_UNIT", pUnit)
-            .addValue("p_PRICE", pPrice)
-            .addValue("p_PROCURE_DATE", pProcureDate)
-            .addValue("p_STATES", pStates)
-            .addValue("p_DEAL_TIME", pDealTime)
-            .addValue("p_times", pTimes);
+                .addValue("p_WAREHOUSE_FLOW_ID", pWarehouseFlowId)
+                .addValue("p_WAREHOUSE_TYPE", warehouseType)
+                .addValue("p_WAREHOUSE_ID", pWarehouseId)
+                .addValue("p_WH_GOODS_RECORD_ID", pWhGoodsRecordId)
+                .addValue("p_RECORD_TYPE", pRecordType)
+                .addValue("p_WAREHOUSE_NAME", pWarehouseName)
+                .addValue("p_COST_TYPE", pCostType)
+                .addValue("p_BASE_GOODS_TEMPLATE_ID", pBaseGoodsTemplateId)
+                .addValue("p_GOODS_TEMPLATE_NAME", pGoodsTemplateName)
+                .addValue("p_BASE_GOODS_MODELS_ID", pBaseGoodsModelsId)
+                .addValue("p_BASE_GOODS_MODELS_NAME", pBaseGoodsModelsName)
+                .addValue("p_SUPPLIER", pSupplier)
+                .addValue("p_BUY_TYPE", pBuyType)
+                .addValue("p_UNIT", pUnit)
+                .addValue("p_PRICE", pPrice)
+                .addValue("p_PROCURE_DATE", pProcureDate)
+                .addValue("p_STATES", pStates)
+                .addValue("p_DEAL_TIME", pDealTime)
+                .addValue("p_times", pTimes);
         Map<String, Object> out = simpleJdbcCall.execute(in);
         System.out.println("Procedure result: " + out);
     }

--
Gitblit v1.9.1