From 0ec6c7ee0b8236cbc6f49a8cc0e466099a09e08d Mon Sep 17 00:00:00 2001
From: haoyahui <2032914783@qq.com>
Date: 星期一, 27 十一月 2023 10:25:32 +0800
Subject: [PATCH] 物品报废

---
 consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java |   38 ++++++++++++++++++++++++++++++--------
 1 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java
index db31877..1a2f7c9 100644
--- a/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java
+++ b/consum-base/src/main/java/com/consum/base/service/LWhFormProcureCoreService.java
@@ -1,6 +1,7 @@
 package com.consum.base.service;
 
 import com.consum.base.core.WhBusinessEnum;
+import com.consum.base.core.service.LWhWarningCoreServiceImpl;
 import com.consum.model.po.LWarehouseFlow;
 import com.consum.model.po.LWhFormProcure;
 import com.consum.model.po.LWhProcureModel;
@@ -9,13 +10,14 @@
 import com.walker.infrastructure.utils.NumberGenerator;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @ClassName LWhFormProcureCoreService
- * @Author cy
  * @Date 2023/10/26
  * @Description
  * @Version 1.0
@@ -30,6 +32,9 @@
     private LWhFormProcureService lWhFormProcureService;
 
     @Resource
+    private LWhWarningCoreServiceImpl lWhWarningCoreService;
+
+    @Resource
     private LWarehouseFlowCoreService lWarehouseFlowService;
 
     /**
@@ -37,13 +42,17 @@
      * 绗竴姝ワ細閫氳繃閲囪喘鍗旾D鏌ヨ閲囪喘鍗曞瀷鍙枫�怢_WH_PROCURE_MODEL銆戝緱鍒板晢鍝佸瀷鍙蜂互鍙婃暟閲�
      * 绗簩姝ワ細璁板綍杩涘嚭搴撴祦姘达細L_WAREHOUSE_FLOW
      */
-    public void doProcure(Long whFormProcureId, S_user_core currentUser) {
+    @Transactional(rollbackFor = Exception.class)
+    public String doProcure(Long whFormProcureId, S_user_core currentUser) {
+        if (whFormProcureId == null) {
+            return "閲囪喘鍗昳d涓虹┖";
+        }
         //閲囪喘鍗曚俊鎭�
         LWhFormProcure whFormProcure = new LWhFormProcure(whFormProcureId);
         LWhFormProcure lWhFormProcure = lWhFormProcureService.get(whFormProcure);
-        if (lWhFormProcure == null || lWhFormProcure.getStates() != 0) {
+        if (lWhFormProcure == null || lWhFormProcure.getStates() != 1) {
             log.error("鍏ュ簱澶辫触锛佽妫�鏌ュ叆搴撳崟鐘舵��");
-            return;
+            return "鍏ュ簱澶辫触锛佽妫�鏌ュ叆搴撳崟鐘舵��";
         }
         Long userId = currentUser.getId();
         String nickName = currentUser.getNick_name();
@@ -51,10 +60,12 @@
 
         List<LWhProcureModel> goodsModelNum = lWhProcureModelService.getModelByForm(WhBusinessEnum.CAIGOU, whFormProcureId);
         // 娴佹按璁板綍鎬昏〃ID
+        Long warehouseId = lWhFormProcure.getWarehouseId();
         long lWarehouseFlowId = NumberGenerator.getLongSequenceNumberNano();
         LWarehouseFlow warehouseFlow = new LWarehouseFlow();
         warehouseFlow.setId(lWarehouseFlowId);
-        warehouseFlow.setWarehouseId(lWhFormProcure.getWarehouseId());
+        warehouseFlow.setWarehouseType(0);
+        warehouseFlow.setWarehouseId(warehouseId);
         warehouseFlow.setWarehouseName(lWhFormProcure.getWarehouseName());
         warehouseFlow.setThisType(1);
         warehouseFlow.setBusinessType(WhBusinessEnum.CAIGOU.getValue() + 0);
@@ -65,15 +76,26 @@
         int flowInsertFlag = lWarehouseFlowService.buyInsertWareFlow(goodsModelNum, lWhFormProcure, warehouseFlow);
         if (flowInsertFlag == 1) {
             // 鏇存柊閲囪喘鍗曘�怢_WH_FORM_PROCURE銆�
-            whFormProcure.setStates(1);
+            whFormProcure = new LWhFormProcure(whFormProcureId);
+            whFormProcure.setStates(2);
             whFormProcure.setLWarehouseFlowId(lWarehouseFlowId);
             whFormProcure.setIncomeId(userId);
             whFormProcure.setIncomeName(nickName);
             whFormProcure.setIncomeTime(dealTime);
             lWhFormProcureService.update(whFormProcure);
         }
-        log.info("鍏ュ簱鍗曪細{} 鍏ュ簱瀹屾垚", whFormProcureId);
-        return;
 
+
+        // 鎻愬彇baseGoodsModelsId骞舵斁鍏ユ柊鐨凩ist涓�
+        List<Long> allChangModelList = goodsModelNum.stream()
+                .map(LWhProcureModel::getBaseGoodsModelsId)
+                .distinct()
+                .collect(Collectors.toList());
+        //褰撳簱瀛樺彉鍔ㄦ椂璋冪敤璇ユ柟娉�
+        lWhWarningCoreService.updateKuCun((short) 0, warehouseId, allChangModelList, null, dealTime);
+
+        log.info("鍏ュ簱鍗曪細{} 鍏ュ簱瀹屾垚", whFormProcureId);
+        return null;
     }
+
 }

--
Gitblit v1.9.1