From 4ee56e307915e4e71baab476be819e7642e78269 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期三, 08 十一月 2023 18:19:34 +0800
Subject: [PATCH] --部门物品分发与明细 --采购fix

---
 consum-base/src/main/java/com/consum/base/service/LWarehouseFlowCoreService.java |   21 ++++++++++++++-------
 1 files changed, 14 insertions(+), 7 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..937a759 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
@@ -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