From 8a6e6f50fb68655f10d27933fdcb622976991330 Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期五, 15 三月 2024 14:39:35 +0800
Subject: [PATCH] 添加出入库返库界面

---
 north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java |  118 +++++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 110 insertions(+), 8 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 35bb246..cfc4f0f 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
@@ -94,6 +94,8 @@
                         finishedGoodsInventoryMapper.updateInventory(flowCard,storageRegion, remark);
                         //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
                         finishedGoodsInventoryMapper.updateflowcard(flowCard);
+                        //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+                        finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1);
                         //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
                         finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity());
                         //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
@@ -175,19 +177,19 @@
                         deliverydetailsum=0;
                     }
 
-                    /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
-                            orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryNum()+ "鍙戣揣鎬绘暟" +
-                            deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/
+                    System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
+                            orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryDetail().getQuantity()+ "鍙戣揣鎬绘暟" +
+                            deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);
                     if (finishedGoodsInventorycount > 0) {
-                        if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryNum()){
+                        if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
                             //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
-                            finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryNum());
+                            finishedGoodsInventoryMapper.updateInventoryInventoryOut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
                             //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
-                            finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail,0);
+                            finishedGoodsInventoryMapper.updateDeliveryDetailState(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getDeliveryId(),0);
                             //淇敼鍙戣揣琛ㄧ姸鎬�
                             finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),1);
                             //淇敼璁㈠崟鏄庣粏琛ㄥ彂璐ф暟閲�
-                            finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryNum());
+                            finishedGoodsInventoryMapper.updateOutOrderNumberConut(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber(),orderDetail.getDeliveryDetail().getQuantity());
                             //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
                             finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
                             //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
@@ -195,7 +197,7 @@
                                 //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
                                 finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
                             }
-                            if (deliverysum==deliverydetailsum+orderDetail.getDeliveryNum()) {
+                            if (deliverysum==deliverydetailsum+orderDetail.getDeliveryDetail().getQuantity()) {
                                 //淇敼鍙戣揣琛ㄧ姸鎬�
                                 finishedGoodsInventoryMapper.updateDeliveryDeliveryState(orderDetail.getDeliveryDetail().getDeliveryId(),2);
                             }
@@ -540,6 +542,106 @@
     }
 
 
+    public Map<String, Object> getSelectStorageRecord(Integer pageNum, Integer pageSize, List<String> selectDate,String type, FinishedOperateLog finishedOperateLog) {
+        Integer offset = (pageNum-1)*pageSize;
+        String endDate = LocalDate.now().toString();
+        String startDate = LocalDate.now().minusDays(15).toString();
+        if(selectDate !=null && selectDate.size()==2){
+            if(!selectDate.get(0).isEmpty()){
+                startDate = selectDate.get(0);
+            }
+            if(!selectDate.get(1).isEmpty()){
+                endDate = selectDate.get(1);
+            }
+        }
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", finishedOperateLogMapper.getSelectStorageRecord(offset, pageSize,startDate, endDate,type, finishedOperateLog));
+        map.put("total", finishedOperateLogMapper.getSelectStorageRecordLogPageTotal(offset, pageSize,startDate, endDate,type, finishedOperateLog));
+        List<String> list = new ArrayList<>();
+        list.add(startDate);
+        list.add(endDate);
+        map.put("selectDate",list);
+        return map;
+    }
+
+
+    public Boolean cancelFinishedGoodsInventoryStorage(Map<String,Object> object) {
+        boolean saveState = true;
+        //璁剧疆鍥炴粴鐐�
+        Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
+        try {
+
+            //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼
+            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());
+                    System.out.println(finishedOperateLog.getOperateType());
+                    if(Objects.equals(finishedOperateLog.getOperateType(), "鍏ュ簱")){
+                        //淇敼璁板綍琛�
+                        finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
+                        //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
+                        finishedGoodsInventoryMapper.updateInventoryOut(finishedOperateLog);
+                        //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
+                        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);
+                        }
+
+                    }else if(Objects.equals(finishedOperateLog.getOperateType(), "鍑哄簱")){
+                        //淇敼璁板綍琛�
+                        finishedOperateLogMapper.updateFinishedOperateLogState(finishedOperateLog,"宸蹭綔搴�");
+                        //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
+                        finishedGoodsInventoryMapper.updateInventoryInventoryInt(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
+                        //淇敼鍙戣揣鏄庣粏琛ㄧ姸鎬�
+                        finishedGoodsInventoryMapper.updateDeliveryDetailState(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getOperationOrderNumber(),1);
+                        //淇敼鍙戣揣琛ㄧ姸鎬�
+                        finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOperationOrderNumber(),0);
+                        //淇敼璁㈠崟鏄庣粏琛ㄥ簱鍐呮暟閲�
+                        finishedGoodsInventoryMapper.updateIntOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
+                        //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+                        finishedGoodsInventoryMapper.updateDeliveryDeliveryState(finishedOperateLog.getOrderId(),1);
+                        //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
+                        if (ordernumbersum-finishedOperateLog.getQuantity()==0) {
+                            //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+                            finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),1);
+
+                        }
+                        if (ordersum==finishedOperateLog.getQuantity()+ordernumbersum) {
+                            //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
+                            finishedGoodsInventoryMapper.updateOrderDeliveryState(finishedOperateLog.getOrderId(),0);
+                        }
+
+                    }
+
+                }
+            }
+
+        } catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e.toString());
+            sysError.setFunc("saveOrder");
+            sysErrorService.insert(sysError);
+            saveState = false;
+
+        }
+        return saveState;
+
+    }
+
+
 
 
 

--
Gitblit v1.8.0