From 11f925fdce0f58d1f321f3a13a3f3e84221c6912 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期一, 13 十一月 2023 09:27:14 +0800
Subject: [PATCH] 整理代码

---
 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 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 720aa82..d85b03e 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,6 +1,6 @@
 package com.consum.base.service;
 
-import com.consum.base.core.util.LockManage;
+import com.consum.base.core.utils.LockManage;
 import com.consum.model.po.*;
 import com.walker.infrastructure.utils.CollectionUtils;
 import com.walker.infrastructure.utils.NumberGenerator;
@@ -18,7 +18,7 @@
 
 /**
  * @ClassName LWarehouseFlowService
- * @Author cy
+
  * @Date 2023/10/24
  * @Description
  * @Version 1.0
@@ -31,14 +31,16 @@
     private SimpleJdbcCall simpleJdbcCall;
     private LWarehouseFlowService lWarehouseFlowService;
     private LWhGoodsService lWhGoodsService;
+    private LWhGoodsRecordService lWhGoodsRecordService;
     private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
 
     @Autowired
-    public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, BaseGoodsTemplateServiceImpl baseGoodsTemplateService) {
+    public LWarehouseFlowCoreService(JdbcTemplate jdbcTemplate, LWarehouseFlowService lWarehouseFlowService, LWhGoodsService lWhGoodsService, 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");
     }
 
@@ -49,7 +51,7 @@
      * @param warehouseFlow
      * @return
      */
-    public int insertWareFlow(List<LWhProcureModel> goodsModelNumList, LWhFormProcure lWhFormProcure, LWarehouseFlow warehouseFlow) {
+    public int buyInsertWareFlow(List<LWhProcureModel> goodsModelNumList, LWhFormProcure lWhFormProcure, LWarehouseFlow warehouseFlow) {
         if (CollectionUtils.isEmpty(goodsModelNumList)) {
             log.error("娌℃湁瑕佸叆搴撶殑鐗╁搧");
             return 0;
@@ -59,6 +61,7 @@
         }
         // 鏌ヨ浠撳簱淇℃伅
         Long warehouseFlowId = warehouseFlow.getId();
+        Integer warehouseType = warehouseFlow.getWarehouseType();
         Long warehouseId = warehouseFlow.getWarehouseId();
         Long dealTime = warehouseFlow.getDealTime();
         BaseWarehouse baseWarehouses = lWarehouseFlowService.get(new BaseWarehouse(warehouseId));
@@ -112,10 +115,10 @@
             whGoodsRecord.setThisType(1);
 
             //閫氳繃LockManage鑾峰緱閿�
-            Object warehouseModelLockObj = LockManage.acquireLock(warehouseId, baseGoodsModelsId);
+            Object warehouseModelLockObj = LockManage.acquireLock(warehouseType, warehouseId, baseGoodsModelsId);
             synchronized (warehouseModelLockObj) {
                 // 鑾峰緱閿佸悗鏌ヨ璇ュ瀷鍙风殑鏈熷垵鏁伴噺
-                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseId, baseGoodsModelsId, (short) 1);
+                int goodsModelNum = lWhGoodsService.queryGoodsModelNum(warehouseType, warehouseId, baseGoodsModelsId, (short) 1, null);
                 whGoodsRecord.setInitialCount(goodsModelNum);
                 whGoodsRecord.setThisCount(modelCount);
                 whGoodsRecord.setEndCount(goodsModelNum + modelCount);
@@ -129,15 +132,17 @@
                     Long price = item.getPrice();
                     //鐗╁搧涓暟
                     Integer counts = item.getCounts();
-                    sameGoodsInsertMore(warehouseFlowId, warehouseId, whGoodsRecordId, (short) 1, warehouseName,
+                    sameGoodsInsertMore(warehouseFlowId, warehouseType, warehouseId, whGoodsRecordId, (short) 1, warehouseName,
                             classification, tempGoodsId, goodsName, baseGoodsModelsId, modelName,
                             supplier, buyType, goodsUnit, price, procureTime, 1, dealTime, counts);
                 });
             }
+            lWhGoodsRecordService.insert(whGoodsRecord);
         });
 
         return 1;
     }
+
 
     /**
      * 鍚屾牱瑙勬牸鐨勭墿鍝� 鎻掑叆澶氭锛�
@@ -159,13 +164,14 @@
      * @param pStates              鐘舵��
      * @param pTimes               鎻掑叆鏉℃暟
      */
-    public void sameGoodsInsertMore(long pWarehouseFlowId, long pWarehouseId, long pWhGoodsRecordId, short pRecordType, String pWarehouseName, short pCostType,
+    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) {
         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)
@@ -186,4 +192,5 @@
         Map<String, Object> out = simpleJdbcCall.execute(in);
         System.out.println("Procedure result: " + out);
     }
+
 }

--
Gitblit v1.9.1