From ceecebe477faf5a45b19f3b258f7add8f93b4583 Mon Sep 17 00:00:00 2001
From: futian.liu <liufutianyoo@163.com>
Date: 星期二, 05 十二月 2023 10:00:24 +0800
Subject: [PATCH] 代码优化 结构调整

---
 consum-base/src/main/java/com/consum/base/service/LWhFormOutputCoreService.java |   66 +++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 27 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 c8830d7..0e49726 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
@@ -1,26 +1,33 @@
 package com.consum.base.service;
 
-import cn.hutool.core.convert.Convert;
-import com.consum.base.core.CodeGeneratorEnum;
-import com.consum.base.core.CodeGeneratorService;
-import com.consum.base.core.WhBusinessEnum;
-import com.consum.base.core.param.BaseWarehouseParam1;
-import com.consum.base.core.service.LWhWarningCoreServiceImpl;
-import com.consum.base.core.utils.LockManage;
-import com.consum.model.po.*;
-import com.iplatform.model.po.S_user_core;
-import com.walker.infrastructure.utils.CollectionUtils;
-import com.walker.infrastructure.utils.NumberGenerator;
-import lombok.extern.slf4j.Slf4j;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import com.consum.base.core.CodeGeneratorEnum;
+import com.consum.base.core.CodeGeneratorService;
+import com.consum.base.core.WhBusinessEnum;
+import com.consum.base.core.param.BaseWarehouseParam1;
+import com.consum.base.core.service.LWhWarningCoreServiceImpl;
+import com.consum.base.core.utils.IdUtil;
+import com.consum.base.core.utils.LockManage;
+import com.consum.model.po.LWarehouseFlow;
+import com.consum.model.po.LWhFormOutput;
+import com.consum.model.po.LWhFormTransfer;
+import com.consum.model.po.LWhGoodsRecord;
+import com.consum.model.po.LWhProcureModel;
+import com.iplatform.model.po.S_user_core;
+import com.walker.infrastructure.utils.CollectionUtils;
+import com.walker.infrastructure.utils.NumberGenerator;
+
+import cn.hutool.core.convert.Convert;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * @ClassName WhFormOutputCoreService
@@ -33,7 +40,7 @@
 @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
 public class LWhFormOutputCoreService {
 
-    private BaseGoodsTemplateServiceImpl baseGoodsTemplateService;
+    private BaseGoodsTemplateService baseGoodsTemplateService;
     private LWhGoodsService lWhGoodsService;
     private CodeGeneratorService codeGeneratorService;
     private LWhProcureModelService lWhProcureModelService;
@@ -41,17 +48,17 @@
     private LWhWarningCoreServiceImpl lWhWarningCoreService;
     private LWarehouseFlowService lWarehouseFlowService;
     private LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService;
-    private LWhGoodsRecordService lWhGoodsRecordService;
+    private LWhGoodsRecordService lWhGoodsRecordServiceImpl;
 
     @Autowired
-    public LWhFormOutputCoreService(BaseGoodsTemplateServiceImpl baseGoodsTemplateService,
+    public LWhFormOutputCoreService(BaseGoodsTemplateService baseGoodsTemplateService,
                                     LWhGoodsService lWhGoodsService,
                                     CodeGeneratorService codeGeneratorService,
                                     LWhProcureModelService lWhProcureModelService,
                                     LWhFormOutputService lWhFormOutputService,
                                     LWarehouseFlowService lWarehouseFlowService,
                                     LWhGoodsRecordDetailsService lWhGoodsRecordDetailsService,
-                                    LWhGoodsRecordService lWhGoodsRecordService,
+                                    LWhGoodsRecordService lWhGoodsRecordServiceImpl,
                                     LWhWarningCoreServiceImpl lWhWarningCoreService) {
         this.baseGoodsTemplateService = baseGoodsTemplateService;
         this.lWhGoodsService = lWhGoodsService;
@@ -60,7 +67,7 @@
         this.lWhFormOutputService = lWhFormOutputService;
         this.lWarehouseFlowService = lWarehouseFlowService;
         this.lWhGoodsRecordDetailsService = lWhGoodsRecordDetailsService;
-        this.lWhGoodsRecordService = lWhGoodsRecordService;
+        this.lWhGoodsRecordServiceImpl = lWhGoodsRecordServiceImpl;
         this.lWhWarningCoreService = lWhWarningCoreService;
     }
 
@@ -92,7 +99,8 @@
         List<LWhProcureModel> goodsModelNumList = lWhProcureModelService.getModelByForm(businessEnum, whFormTransferId);
         if (CollectionUtils.isEmpty(goodsModelNumList)) {
             log.error("娌℃湁瑕佸叆搴撶殑鐗╁搧");
-            return null;
+            throw new RuntimeException("娌℃湁瑕佸叆搴撶殑鐗╁搧");
+//            return null;
         }
         Long outWarehouseId = lWhFormTransfer.getOutWarehouseId();
         String outWarehouseName = lWhFormTransfer.getOutWarehouseName();
@@ -104,7 +112,7 @@
         // 璋冩嫧鍗曠墿鍝� 宸茬粡鎸夊瀷鍙峰垎濂戒簡
         goodsModelNumList.forEach(itemModelInfo -> {
             // 澶嶇敤瀵硅薄
-            itemModelInfo.setId(NumberGenerator.getLongSequenceNumber());
+            itemModelInfo.setId(IdUtil.generateId());
             itemModelInfo.setFromProcureGoodsId(null);
             itemModelInfo.setBusinessType(3);
             itemModelInfo.setBusinessId(outWarehouseFormId);
@@ -153,7 +161,7 @@
      * @return 娴佹按璁板綍鎬昏〃ID
      */
     @Transactional(rollbackFor = Exception.class)
-    public Long outFormByTransId(Long outWarehouseFormId, WhBusinessEnum businessType, S_user_core currentUser, Long dealTime) {
+    public Long outFormByTransId(Long outWarehouseFormId, WhBusinessEnum businessType, S_user_core currentUser, Long dealTime, Long whFormTransferId) {
         if (outWarehouseFormId == null) {
             return null;
         }
@@ -220,7 +228,11 @@
         goodsModelNumList.forEach(itemModelInfo -> {
             // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鐨勬煇涓瀷鍙�
             Long baseGoodsModelsId = itemModelInfo.getBaseGoodsModelsId();
-            allChangModelList.add(baseGoodsModelsId);
+
+            //TODO 涓虹┖鏃朵笉鍔犲叆鏇存柊鍒楄〃
+            if (baseGoodsModelsId != null) {
+                allChangModelList.add(baseGoodsModelsId);
+            }
             // 闇�瑕佽皟鎷ㄧ殑鐗╁搧鏌愪釜鍨嬪彿鐨勬暟閲�
             Integer counts = itemModelInfo.getCounts();
 
@@ -278,7 +290,7 @@
             long totalAmount = lWhGoodsService.queryGoodsPriceById(outGoodsId);
             LWhProcureModel lWhProcureModel = new LWhProcureModel(itemModelInfo.getId());
             whGoodsRecord.setTotalPrice(totalAmount);
-            lWhGoodsRecordService.insert(whGoodsRecord);
+            lWhGoodsRecordServiceImpl.insert(whGoodsRecord);
             lWhProcureModel.setTotalAmount(totalAmount);
             lWhProcureModelService.update(lWhProcureModel);
         });
@@ -289,7 +301,7 @@
         warehouseFlow.setThisType(2);
         warehouseFlow.setBusinessType(businessType.getValue() + 0);
 
-        warehouseFlow.setBusinessFormId(lWarehouseFlowBusinessId);
+        warehouseFlow.setBusinessFormId(whFormTransferId == null ? lWarehouseFlowBusinessId : whFormTransferId);
         warehouseFlow.setOperatorId(userId);
         warehouseFlow.setOperatorName(nickName);
         warehouseFlow.setDealTime(dealTime);
@@ -305,7 +317,7 @@
         lWhFormOutputService.update(lWhFormOutput);
 
         //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉�
-        if (outWarehouseType == 0){
+        if (outWarehouseType == 0) {
             lWhWarningCoreService.updateKuCun(Convert.toShort(outWarehouseType, (short) 0), outWarehouseId, allChangModelList, null, dealTime);
         }
         return lWarehouseFlowId;

--
Gitblit v1.9.1