From 5ec9dc2cee9c172c7799235d0a6452dd3a229a0f Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 15 十一月 2024 11:23:34 +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 |   68 ++++++++++++++++++++--------------
 1 files changed, 40 insertions(+), 28 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 edf883a..2afd92f 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
@@ -8,6 +8,7 @@
 import com.example.erp.entity.mm.FinishedGoodsInventory;
 import com.example.erp.entity.mm.FinishedOperateLog;
 import com.example.erp.entity.pp.FlowCard;
+import com.example.erp.entity.sd.Delivery;
 import com.example.erp.entity.sd.DeliveryDetail;
 import com.example.erp.entity.sd.Order;
 import com.example.erp.entity.sd.OrderDetail;
@@ -208,6 +209,7 @@
                 for (OrderDetail orderDetail : orderDetaillist) {
                     //鑾峰彇鍗曞彿
                     String oddNumber= orderNumberSetting("鍑哄簱");
+                    OrderDetail orderDetailNew= finishedGoodsInventoryMapper.findOrderDetailNumberd(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
                     //娣诲姞鍑哄叆搴撹褰�
                     finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber);
                     Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
@@ -230,7 +232,7 @@
                     if (finishedGoodsInventorycount > 0) {
                         //鍒ゆ柇鍙戣揣鍗曟槸鍚﹀凡鍑哄簱
                         if(deliveryDetail==null){
-                            if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
+                            if(orderDetailNew.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
                                 //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
                                 finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
                                 //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
@@ -251,6 +253,9 @@
                                     //淇敼鍙戣揣琛ㄧ姸鎬�
                                     finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2);
                                 }
+                            }else{
+                                TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+                                return "false3";
                             }
                         }else{
                             TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -649,7 +654,7 @@
         return map;
     }
 
-    public Map<String, Object> getSelectFinishedOperateLogReport(Integer pageNum, Integer pageSize, List<String> selectDate, FinishedOperateLog finishedOperateLog) {
+    public Map<String, Object> getSelectFinishedOperateLogReport(String type,Integer pageNum, Integer pageSize, List<String> selectDate, FinishedOperateLog finishedOperateLog) {
         Integer offset = (pageNum-1)*pageSize;
         String endDate = LocalDate.now().toString();
         String startDate = LocalDate.now().minusDays(15).toString();
@@ -663,8 +668,8 @@
         }
 
         Map<String, Object> map = new HashMap<>();
-        map.put("data", finishedOperateLogMapper.getSelectFinishedOperateLogReport(offset, pageSize,startDate, endDate, finishedOperateLog));
-        map.put("total", finishedOperateLogMapper.getSelectFinishedOperateLogReportPageTotal(offset, pageSize,startDate, endDate, finishedOperateLog));
+        map.put("data", finishedOperateLogMapper.getSelectFinishedOperateLogReport(offset, pageSize,startDate, endDate, finishedOperateLog,type));
+        map.put("total", finishedOperateLogMapper.getSelectFinishedOperateLogReportPageTotal(offset, pageSize,startDate, endDate, finishedOperateLog,type));
         List<String> list = new ArrayList<>();
         list.add(startDate);
         list.add(endDate);
@@ -673,8 +678,8 @@
     }
 
 
-    public Boolean cancelFinishedGoodsInventoryStorage(Map<String,Object> object) {
-        boolean saveState = true;
+    public String cancelFinishedGoodsInventoryStorage(Map<String,Object> object) {
+        String saveState = "true";
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
         try {
@@ -692,27 +697,34 @@
                     Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(finishedOperateLog.getOperationOrderNumber(),1);
 
                     if(Objects.equals(finishedOperateLog.getOperateType(), "鍏ュ簱")){
-                        //淇敼璁板綍琛�
-                        finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
-                        //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
-                        finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
-                        if(finishedOperateLog.getProcessId()!=null){
-                            //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
-                            finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+                        Delivery delivery = finishedGoodsInventoryMapper.findOrderDelivery(finishedOperateLog.getOrderId());
+                        if(delivery==null){
+                            //淇敼璁板綍琛�
+                            finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
+                            //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
+                            finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
+                            if(finishedOperateLog.getProcessId()!=null){
+                                //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
+                                finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+                            }
+
+                            //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
+                            finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
+                            //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
+                            if (Objects.equals(ordersum, ordernumbersum)) {
+                                //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+                                finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),1);
+                            }
+                            if (ordernumbersum-finishedOperateLog.getQuantity()==0) {
+                                //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+                                finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),0);
+                            }
+                            log.setFunction("cancelFinishedGoodsInventoryStorage鍏ュ簱");
+                        }else{
+                            return "false1";
                         }
 
-                        //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
-                        finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
-                        //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
-                        if (Objects.equals(ordersum, ordernumbersum)) {
-                            //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
-                            finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),1);
-                        }
-                        if (ordernumbersum-finishedOperateLog.getQuantity()==0) {
-                            //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
-                            finishedGoodsInventoryMapper.updateOrderWarehousingState(finishedOperateLog.getOrderId(),0);
-                        }
-                        log.setFunction("cancelFinishedGoodsInventoryStorage鍏ュ簱");
+
 
                     }else if(Objects.equals(finishedOperateLog.getOperateType(), "鍑哄簱")){
                         //淇敼璁板綍琛�
@@ -752,15 +764,15 @@
             sysError.setError(e+Arrays.toString(e.getStackTrace()));
             sysError.setFunc("cancelFinishedGoodsInventoryStorage");
             sysErrorService.insert(sysError);
-            saveState = false;
+            saveState = "false";
 
         }
         return saveState;
 
     }
 
-    public List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates) {
-        return finishedOperateLogMapper.exportFinishedOperateLogReport(dates);
+    public List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates,String type) {
+        return finishedOperateLogMapper.exportFinishedOperateLogReport(dates,type);
     }
 
 

--
Gitblit v1.8.0