From c1ac6d13630b04b4e11d6f383858e4f8fa64f924 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期六, 02 十二月 2023 17:24:34 +0800
Subject: [PATCH] 盘点查询返回结果修改

---
 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java |   98 +++++++++++++++++++++++++++----------------------
 1 files changed, 54 insertions(+), 44 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..a9989b2 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,24 @@
 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 org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import javax.annotation.PostConstruct;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName LWarehouseFlowService
@@ -27,6 +28,7 @@
  **/
 @Service
 @Slf4j
+@Transactional(propagation = Propagation.REQUIRED)
 public class LWarehouseFlowCoreService {
 
     private final JdbcTemplate jdbcTemplate;
@@ -36,15 +38,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");
     }
 
     /**
@@ -72,8 +81,8 @@
         //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
         short buyType = lWhFormProcure.getBuyType().shortValue();
         //閲囪喘鏃堕棿
-        Long procureTime = lWhFormProcure.getProcureTime();
-
+        Long procureTime2 = lWhFormProcure.getProcureTime();
+        Long procureTime = procureTime2 == null ? dealTime : procureTime2;
         // 鎻掑叆娴佹按鎬昏〃
         int flowInsertFlag = lWarehouseFlowService.insert(warehouseFlow);
         if (flowInsertFlag == 0) {
@@ -82,11 +91,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 +145,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 +179,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