From edc227277159601c5cb86829f1c5ce14cf7903a4 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期二, 24 九月 2024 10:12:55 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override

---
 north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java |   76 ++++++++++++++++++++++++++++++++-----
 1 files changed, 65 insertions(+), 11 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 79f2485..6d200f6 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
@@ -10,12 +10,14 @@
 import com.example.erp.entity.pp.FlowCard;
 import com.example.erp.entity.sd.Order;
 import com.example.erp.entity.sd.OrderDetail;
+import com.example.erp.entity.userInfo.Log;
 import com.example.erp.entity.userInfo.SysError;
 import com.example.erp.mapper.mm.BasicWarehouseTypeMapper;
 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.LogService;
 import com.example.erp.service.userInfo.SysErrorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -44,6 +46,8 @@
     OrderMapper orderMapper;
     @Autowired
     SysErrorService sysErrorService;
+    @Autowired
+    LogService logService;
 
     public Map<String, Object> defaultDateFinishedGoodsInventory(Integer pageNum, Integer pageSize, FinishedGoodsInventory finishedGoodsInventory) {
         Integer offset = (pageNum - 1) * pageSize;
@@ -88,6 +92,12 @@
             if (object.get("userId") != null) {
                 userId = object.get("userId").toString();
             }
+            Log log = new Log();
+            log.setOperator(userName);
+            log.setOperatorId(userId);
+            log.setContent(object.toString());
+            log.setFunction("addSelectWarehousing鍏ュ簱");
+            logService.saveLog(log);
 
             //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
             List<FlowCard> flowCardlist = JSONArray.parseArray(JSONObject.toJSONString(object.get("flowCard")), FlowCard.class);
@@ -176,6 +186,12 @@
             if (object.get("userId") != null) {
                 userId = object.get("userId").toString();
             }
+            Log log = new Log();
+            log.setOperator(userName);
+            log.setOperatorId(userId);
+            log.setContent(object.toString());
+            log.setFunction("addDeliveryDetail鍑哄簱");
+            logService.saveLog(log);
             //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
             List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
             if (!orderDetaillist.isEmpty()){
@@ -267,6 +283,12 @@
             if (object.get("userId") != null) {
                 userId = object.get("userId").toString();
             }
+            Log log = new Log();
+            log.setOperator(userName);
+            log.setOperatorId(userId);
+            log.setContent(object.toString());
+            log.setFunction("updateFinishedGoodsInventoryAllocate璋冩嫧");
+            logService.saveLog(log);
             //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
             List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
             if (!orderDetaillist.isEmpty()){
@@ -361,6 +383,12 @@
             if (object.get("operateType") != null) {
                 operateType = object.get("operateType").toString();
             }
+            Log log = new Log();
+            log.setOperator(userName);
+            log.setOperatorId(userId);
+            log.setContent(object.toString());
+            log.setFunction("updateFinishedGoodsInventoryTakeOut棰嗗嚭");
+            logService.saveLog(log);
             //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
             List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), OrderDetail.class);
             if (!orderDetaillist.isEmpty()){
@@ -494,6 +522,10 @@
             if (object.get("userId") != null) {
                 userId = object.get("userId").toString();
             }
+            Log log = new Log();
+            log.setOperator(userName);
+            log.setOperatorId(userId);
+            log.setContent(object.toString());
             //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
             List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
             if (!finishedOperateLogslist.isEmpty()){
@@ -503,15 +535,18 @@
                         finishedOperateLogMapper.updateToExamine(finishedOperateLog,userName,"宸插鏍�");
                         //瀹℃牳淇敼搴撳瓨鏁伴噺
                         finishedGoodsInventoryMapper.updateInventoryInventoryOut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),Math.toIntExact(finishedOperateLog.getQuantity()));
+                        log.setFunction("updateFinishedGoodsInventoryToExamine瀹℃牳");
                     } else if (Objects.equals(type, "鍙嶅")) {
                         //瀹℃牳淇敼棰嗗嚭璁板綍
                         finishedOperateLogMapper.updateToExamine(finishedOperateLog,userName,"鏈鏍�");
                         //瀹℃牳淇敼搴撳瓨鏁伴噺
                         finishedGoodsInventoryMapper.updateInventoryInventoryInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),Math.toIntExact(finishedOperateLog.getQuantity()));
+                        log.setFunction("updateFinishedGoodsInventoryToExamine鍙嶅");
                     }
 
                 }
             }
+            logService.saveLog(log);
 
         } catch (Exception e) {
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -540,11 +575,18 @@
             if (object.get("userId") != null) {
                 userId = object.get("userId").toString();
             }
+            Log log = new Log();
+            log.setOperator(userName);
+            log.setOperatorId(userId);
+            log.setContent(object.toString());
+            log.setFunction("cancelFinishedGoodsInventoryToExamine浣滃簾");
+            logService.saveLog(log);
             //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
             List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
             if (!finishedOperateLogslist.isEmpty()){
                 for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
                     finishedGoodsInventoryMapper.updateInventoryquantityInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Math.toIntExact(finishedOperateLog.getQuantity()));
+                    finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Long.valueOf(finishedOperateLog.getQuantity()));
                     finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
 
                 }
@@ -617,13 +659,16 @@
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
         try {
-
+            Log log = new Log();
+            log.setContent(object.toString());
             //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
             List<FinishedOperateLog> finishedOperateLogslist = JSONArray.parseArray(JSONObject.toJSONString(object.get("orderDetail")), FinishedOperateLog.class);
             if (!finishedOperateLogslist.isEmpty()){
                 for (FinishedOperateLog finishedOperateLog : finishedOperateLogslist) {
                     Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(finishedOperateLog.getOrderId());
                     Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(finishedOperateLog.getOrderId());
+                    Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(finishedOperateLog.getOperationOrderNumber());
+                    Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(finishedOperateLog.getOperationOrderNumber(),1);
 
                     if(Objects.equals(finishedOperateLog.getOperateType(), "鍏ュ簱")){
                         //淇敼璁板綍琛�
@@ -646,6 +691,7 @@
                             //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
                             finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),0);
                         }
+                        log.setFunction("cancelFinishedGoodsInventoryStorage鍏ュ簱");
 
                     }else if(Objects.equals(finishedOperateLog.getOperateType(), "鍑哄簱")){
                         //淇敼璁板綍琛�
@@ -655,26 +701,28 @@
                         //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
                         finishedGoodsInventoryMapper.updateDeliveryDetailState(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getOperationOrderNumber(),1);
                         //淇敼鍙戣揣琛ㄧ姸鎬�
-                        finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0);
+                        finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),1);
                         //淇敼璁㈠崟鏄庣粏琛ㄥ簱鍐呮暟閲�
                         finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(), Long.valueOf(finishedOperateLog.getQuantity()));
                         //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
-                        finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOrderId(),1);
+                        finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1);
                         //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
-                        if (ordernumbersum-finishedOperateLog.getQuantity()==0) {
-                            //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
-                            finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1);
-
-                        }
-                        if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum) {
+                        if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum){
                             //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
                             finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),0);
+
                         }
+                        if (deliverysum==finishedOperateLog.getQuantity()+deliverydetailsum) {
+                            //淇敼鍙戣揣琛ㄧ姸鎬�
+                            finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0);
+                        }
+                        log.setFunction("cancelFinishedGoodsInventoryStorage鍑哄簱");
 
                     }
 
                 }
             }
+            logService.saveLog(log);
 
         } catch (Exception e) {
             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -698,21 +746,27 @@
     public Boolean oneClickStorage(String  orderId,String  userName) {
         boolean saveState = true;
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        Log log = new Log();
+        log.setContent(orderId);
+        log.setOperator(userName);
+        log.setFunction("oneClickStorage鍏ュ簱:"+orderId);
+        logService.saveLog(log);
         try {
             String oddNumber= orderNumberSetting("鍏ュ簱");
             Order order = orderMapper.selectOne(new QueryWrapper<Order>().eq("order_id",orderId));
-            if(order.getWarehousing()==0){
+            if(order.getWarehousing()!=2){
                 List<OrderDetail> orderDetailList=finishedGoodsInventoryMapper.getSelectOrderDetail(orderId);
                 for (OrderDetail orderDetail:orderDetailList){
                     FinishedGoodsInventory finishedGoodsInventory = finishedGoodsInventoryMapper.findOrderNumberd(orderDetail.getOrderId(),orderDetail.getOrderNumber());
                     if(finishedGoodsInventory!=null){
+                        finishedOperateLogMapper.updateOrderFinishedOperateLog(orderDetail,userName,oddNumber);
                         //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
                         finishedGoodsInventoryMapper.updateOrderInventory(orderDetail);
                     }else{
                         finishedGoodsInventoryMapper.insertOrderFinishedGoodsInventory(orderDetail);
                     }
                     finishedOperateLogMapper.insertOrderFinishedOperateLog(orderDetail,userName,oddNumber);
-                    finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),orderDetail.getQuantity());
+                    finishedGoodsInventoryMapper.updateOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),orderDetail.getQuantity());
                 }
                 finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2);
             }

--
Gitblit v1.8.0