From d8fb6d11aa24b77b8bbcc5740140d31f5692837d Mon Sep 17 00:00:00 2001
From: cy <1664593601@qq.com>
Date: 星期四, 16 十一月 2023 16:11:05 +0800
Subject: [PATCH] feat: 调拨调整

---
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
index a870d09..c1bfa39 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java
@@ -121,6 +121,7 @@
         whFormOutput.setOutputName("璋冩嫧鍑哄簱");
         whFormOutput.setWarehouseId(outWarehouseId);
         whFormOutput.setWarehouseName(outWarehouseName);
+        // 杩欐牱灏辨煡璇笉鍒拌鏉¤褰�
         whFormOutput.setAgencyId(null);
         whFormOutput.setAgencyName(null);
         whFormOutput.setOperatorId(currentUser.getId());
@@ -145,7 +146,7 @@
      * @return 娴佹按璁板綍鎬昏〃ID
      */
     @Transactional(rollbackFor = Exception.class)
-    public Long outFormByTransId(Long outWarehouseFormId, S_user_core currentUser, Long dealTime) {
+    public Long outFormByTransId(Long outWarehouseFormId,WhBusinessEnum businessType, S_user_core currentUser, Long dealTime) {
         if (outWarehouseFormId == null) {
             return null;
         }
@@ -181,7 +182,7 @@
         short queryModelStatusT = 1;
         //閲囪喘鏂瑰紡锛�1锛氶泦閲囷紱2=鑷噰锛�
         Short buyTypeT = null;
-        Short modGoodsTransferingStatusT = null;
+        Integer modGoodsTransferingStatusT = null;
         String outputCode = lWhFormOutput.getOutputCode();
         if ((BaseWarehouseParam1.In_OutPutTypeEnum.Transfer_Output.getValue() + "").equals(outputCode)) {
             //璋冩嫧鍑哄簱
@@ -200,7 +201,7 @@
         }
         short queryModelStatus = queryModelStatusT;
         Short buyType = buyTypeT;
-        Short modGoodsTransferingStatus = modGoodsTransferingStatusT;
+        Integer modGoodsTransferingStatus = modGoodsTransferingStatusT;
 
         goodsModelNumList.forEach(itemModelInfo -> {
             // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙�
@@ -239,6 +240,7 @@
 
             //閫氳繃LockManage鑾峰緱閿�
             Object warehouseModelLockObj = LockManage.acquireLock(outWarehouseType, outWarehouseId, baseGoodsModelsId);
+            List<Long> outGoodsId = null;
             synchronized (warehouseModelLockObj) {
                 // 鑾峰緱閿佸悗鏌ヨ璇ュ瀷鍙风殑鏈熷垵鏁伴噺
                 int goodsModelNum = lWhGoodsService.queryGoodsModelNum(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType);
@@ -252,19 +254,25 @@
                 whGoodsRecord.setEndCount(goodsModelNum - counts);
 
                 //鍑哄簱鏃跺�欙紝鎸� 鍏堝叆搴撶殑鍏堝嚭搴擄紝鍚屾椂鍏ュ簱鐨勶紝鎸変环鏍奸珮鐨勫厛鍑哄簱
-                List<Long> outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType, goodsModelNum);
+                outGoodsId = lWhGoodsService.queryOutGoodsId(outWarehouseType, outWarehouseId, baseGoodsModelsId, queryModelStatus, buyType,
+                        counts);
                 lWhGoodsService.modGoodsTransfering(outGoodsId, inWarehouseType, inWarehouseId, inWarehouseName, modGoodsTransferingStatus);
                 // 鎵归噺鎻掑叆 杩涘嚭搴撴祦姘存槑缁哰L_WH_GOODS_RECORD_DETAILS]
                 lWhGoodsRecordDetailsService.sameGoodsInsertMore(outGoodsId, whGoodsRecordId, (short) 0);
-                lWhGoodsRecordService.insert(whGoodsRecord);
             }
+            long totalAmount = lWhGoodsService.queryGoodsPriceById(outGoodsId);
+            LWhProcureModel lWhProcureModel = new LWhProcureModel(itemModelInfo.getId());
+            whGoodsRecord.setTotalPrice(totalAmount);
+            lWhGoodsRecordService.insert(whGoodsRecord);
+            lWhProcureModel.setTotalAmount(totalAmount);
+            lWhProcureModelService.update(lWhProcureModel);
         });
         LWarehouseFlow warehouseFlow = new LWarehouseFlow();
         warehouseFlow.setId(lWarehouseFlowId);
         warehouseFlow.setWarehouseId(outWarehouseId);
         warehouseFlow.setWarehouseName(warehouseName);
         warehouseFlow.setThisType(2);
-        warehouseFlow.setBusinessType(WhBusinessEnum.DIAOBO.getValue() + 0);
+        warehouseFlow.setBusinessType(businessType.getValue() + 0);
 
         warehouseFlow.setBusinessFormId(lWarehouseFlowBusinessId);
         warehouseFlow.setOperatorId(userId);

--
Gitblit v1.9.1