From 1ae5f2198b70aba54c49f1752e02dfe7b9d5a2e9 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期日, 04 八月 2024 17:35:30 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java |   87 +++++++++++++++++++++++++------------------
 1 files changed, 51 insertions(+), 36 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
index 712dcf6..79f2485 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java
@@ -3,6 +3,7 @@
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.example.erp.dto.mm.FinishedOperateLogDTO;
 import com.example.erp.entity.mm.FinishedGoodsInventory;
 import com.example.erp.entity.mm.FinishedOperateLog;
@@ -14,6 +15,7 @@
 import com.example.erp.mapper.mm.FinishedGoodsInventoryMapper;
 import com.example.erp.mapper.mm.FinishedOperateLogMapper;
 import com.example.erp.mapper.sd.OrderDetailMapper;
+import com.example.erp.mapper.sd.OrderMapper;
 import com.example.erp.service.userInfo.SysErrorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -21,6 +23,7 @@
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import java.sql.SQLException;
+import java.sql.Wrapper;
 import java.text.SimpleDateFormat;
 import java.time.LocalDate;
 import java.util.*;
@@ -37,6 +40,8 @@
     BasicWarehouseTypeMapper basicWarehouseTypeMapper;
     @Autowired
     OrderDetailMapper orderDetailMapper;
+    @Autowired
+    OrderMapper orderMapper;
     @Autowired
     SysErrorService sysErrorService;
 
@@ -64,11 +69,15 @@
             //瀹氫箟鍓嶇浼犺緭鐨勬暟鎹�
             String storageRegion = "";
             String remark = "";
+            String container = "";
             if (object.get("remark") != null) {
                 remark = object.get("remark").toString();
             }
             if (object.get("storageRegion") != null) {
                 storageRegion = object.get("storageRegion").toString();
+            }
+            if (object.get("container") != null) {
+                container = object.get("container").toString();
             }
 
             String userName = "";
@@ -81,13 +90,13 @@
             }
 
             //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
-            List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowcard")), FlowCard.class);
+            List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
             if (!flowCardlist.isEmpty()){
                 for (FlowCard flowCard : flowCardlist) {
                     //鑾峰彇鍗曞彿
                     String oddNumber= orderNumberSetting("鍏ュ簱");
                     //娣诲姞鍑哄叆搴撹褰�
-                    finishedOperateLogMapper.insertIntFinishedOperateLog(flowCard,userName,oddNumber);
+                    finishedOperateLogMapper.insertIntFinishedOperateLog(flowCard,userName,oddNumber,container);
                     Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber());
                     Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(flowCard.getOrder().getOrderId());
                     Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(flowCard.getOrder().getOrderId());
@@ -101,7 +110,7 @@
                         //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
                         finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1);
                         //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
-                        finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity());
+                        finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(), Long.valueOf(flowCard.getInventoryQuantity()));
                         //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
                         if (ordersum == (ordernumbersum + flowCard.getInventoryQuantity())) {
                             //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
@@ -112,7 +121,7 @@
                             //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
                             finishedGoodsInventoryMapper.updateflowcard(flowCard);
                             //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
-                            finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity());
+                            finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(), Long.valueOf(flowCard.getInventoryQuantity()));
                             if (ordersum == (ordernumbersum + flowCard.getInventoryQuantity())) {
                                 //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
                                 finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),2);
@@ -133,8 +142,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("addSelectWarehousing");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -214,6 +223,9 @@
                             }
                         }
 
+                    }else{
+                        TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+                        saveState = false;
                     }
                 }
             }
@@ -222,8 +234,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("addDeliveryDetail");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -276,7 +288,7 @@
                     //淇敼鍘熻鍗曟槑缁嗚〃鍙戣揣鏁伴噺
                     finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getFinishedGoodsInventory().getOrderId(),orderDetail.getFinishedGoodsInventory().getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
                     //淇敼璋冩嫧鏂拌鍗曟槑缁嗚〃鍙戣揣鏁伴噺
-                    finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(), Math.toIntExact(orderDetail.getQuantity()));
+                    finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(), orderDetail.getQuantity());
                     if (newordersum==newordernumbersum+orderDetail.getQuantity()){
                         //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
                         finishedGoodsInventoryMapper.updateOrderWarehousingState(orderDetail.getOrderId(),2);
@@ -292,8 +304,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("updateFinishedGoodsInventoryAllocate");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -375,8 +387,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("updateFinishedGoodsInventoryTakeOut");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -458,8 +470,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("updateFinishedGoodsInventoryRework");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -505,8 +517,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("updateFinishedGoodsInventoryToExamine");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -542,8 +554,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("cancelFinishedGoodsInventoryToExamine");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -645,7 +657,7 @@
                         //淇敼鍙戣揣琛ㄧ姸鎬�
                         finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0);
                         //淇敼璁㈠崟鏄庣粏琛ㄥ簱鍐呮暟閲�
-                        finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
+                        finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Long.valueOf(finishedOperateLog.getQuantity()));
                         //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
                         finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOrderId(),1);
                         //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
@@ -668,8 +680,8 @@
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("cancelFinishedGoodsInventoryStorage");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -688,27 +700,30 @@
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
         try {
             String oddNumber= orderNumberSetting("鍏ュ簱");
-            List<OrderDetail> orderDetailList=finishedGoodsInventoryMapper.getSelectOrderDetail(orderId);
-            for (OrderDetail orderDetail:orderDetailList){
-                Integer finishedGoodsInventoryCount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getOrderId(),orderDetail.getOrderNumber());
-                System.out.println(finishedGoodsInventoryCount);
-                if(finishedGoodsInventoryCount>0){
-                    //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
-                    finishedGoodsInventoryMapper.updateOrderInventory(orderDetail);
-                }else{
-                    finishedGoodsInventoryMapper.insertOrderFinishedGoodsInventory(orderDetail);
+            Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",orderId));
+            if(order.getWarehousing()==0){
+                List<OrderDetail> orderDetailList=finishedGoodsInventoryMapper.getSelectOrderDetail(orderId);
+                for (OrderDetail orderDetail:orderDetailList){
+                    FinishedGoodsInventory finishedGoodsInventory = finishedGoodsInventoryMapper.findOrderNumberd(orderDetail.getOrderId(),orderDetail.getOrderNumber());
+                    if(finishedGoodsInventory!=null){
+                        //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
+                        finishedGoodsInventoryMapper.updateOrderInventory(orderDetail);
+                    }else{
+                        finishedGoodsInventoryMapper.insertOrderFinishedGoodsInventory(orderDetail);
+                    }
+                    finishedOperateLogMapper.insertOrderFinishedOperateLog(orderDetail,userName,oddNumber);
+                    finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),orderDetail.getQuantity());
                 }
-                finishedOperateLogMapper.insertOrderFinishedOperateLog(orderDetail,userName,oddNumber);
-                finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),Integer.parseInt(orderDetail.getQuantity().toString()));
+                finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2);
             }
-            finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2);
+
 
         } catch (Exception e) {
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
             //灏嗗紓甯镐紶鍏ユ暟鎹簱
             SysError sysError = new SysError();
-            sysError.setError(e.toString());
-            sysError.setFunc("saveOrder");
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("oneClickStorage");
             sysErrorService.insert(sysError);
             saveState = false;
 

--
Gitblit v1.8.0