From ec4d06c37f948a24f5313b60b4d27327d6975bdc Mon Sep 17 00:00:00 2001
From: 廖井涛 <2265517004@qq.com>
Date: 星期日, 07 七月 2024 18:01:34 +0800
Subject: [PATCH] 修改工程打印以及发货单创建的运费功能添加

---
 north-glass-erp/src/main/java/com/example/erp/service/mm/FinishedGoodsInventoryService.java |  101 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 90 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 cfc4f0f..712dcf6 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.example.erp.dto.mm.FinishedOperateLogDTO;
 import com.example.erp.entity.mm.FinishedGoodsInventory;
 import com.example.erp.entity.mm.FinishedOperateLog;
 import com.example.erp.entity.pp.FlowCard;
@@ -12,6 +13,7 @@
 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.service.userInfo.SysErrorService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -33,6 +35,8 @@
     FinishedOperateLogMapper finishedOperateLogMapper;
     @Autowired
     BasicWarehouseTypeMapper basicWarehouseTypeMapper;
+    @Autowired
+    OrderDetailMapper orderDetailMapper;
     @Autowired
     SysErrorService sysErrorService;
 
@@ -88,7 +92,7 @@
                     Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(flowCard.getOrder().getOrderId());
                     Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(flowCard.getOrder().getOrderId());
 
-                    System.out.println("璁㈠崟鎬绘暟:" + ordersum + "宸插叆搴撴暟閲忥細" + ordernumbersum + "鍑嗗鍏ュ簱鏁伴噺" + flowCard.getInventoryQuantity());
+                    /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "宸插叆搴撴暟閲忥細" + ordernumbersum + "鍑嗗鍏ュ簱鏁伴噺" + flowCard.getInventoryQuantity());*/
                     if (finishedGoodsInventorycount > 0) {
                         //淇敼搴撳瓨琛ㄥ叆搴撴暟閲�
                         finishedGoodsInventoryMapper.updateInventory(flowCard,storageRegion, remark);
@@ -109,8 +113,14 @@
                             finishedGoodsInventoryMapper.updateflowcard(flowCard);
                             //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
                             finishedGoodsInventoryMapper.updateIntOrderNumberConut(flowCard.getOrder().getOrderId(),flowCard.getOrderNumber(),flowCard.getInventoryQuantity());
-                            //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
-                            finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1);
+                            if (ordersum == (ordernumbersum + flowCard.getInventoryQuantity())) {
+                                //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+                                finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),2);
+                            }else{
+                                //淇敼璁㈠崟琛ㄥ叆搴撶姸鎬�
+                                finishedGoodsInventoryMapper.updateOrderWarehousingState(flowCard.getOrder().getOrderId(),1);
+                            }
+
 
                         }
                     }
@@ -167,9 +177,9 @@
                     finishedOperateLogMapper.insertOutFinishedOperateLog(orderDetail,userName,oddNumber);
                     Integer finishedGoodsInventorycount = finishedGoodsInventoryMapper.findOrderNumberdcount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
 
-                    Integer finishedGoodsInventorybycount=finishedGoodsInventoryMapper.finishedGoodsInventorybycount(orderDetail.getDeliveryDetail().getOrderId(),orderDetail.getDeliveryDetail().getOrderNumber());
+
                     Integer ordersum = finishedGoodsInventoryMapper.findOrderQuantity(orderDetail.getDeliveryDetail().getOrderId());
-                    Integer ordernumbersum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId());
+                    Integer orderNumberdsum = finishedGoodsInventoryMapper.findOrderNumberdsum(orderDetail.getDeliveryDetail().getOrderId());
 
                     Integer deliverysum = finishedGoodsInventoryMapper.findDeliveryQuantity(orderDetail.getDeliveryDetail().getDeliveryId());
                     Integer deliverydetailsum = finishedGoodsInventoryMapper.findDeliverydetailsum(orderDetail.getDeliveryDetail().getDeliveryId(),0);
@@ -177,9 +187,9 @@
                         deliverydetailsum=0;
                     }
 
-                    System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟鍓╀綑鏁伴噺锛�" + ordernumbersum + "鍑嗗鍑哄簱鏁伴噺" +
+                    /*System.out.println("璁㈠崟鎬绘暟:" + ordersum + "璁㈠崟搴撳瓨鏁帮細" + orderNumberdsum + "鍑嗗鍑哄簱鏁伴噺" +
                             orderDetail.getWarehouseNum()+ "鍙戣揣鏁伴噺" + orderDetail.getDeliveryDetail().getQuantity()+ "鍙戣揣鎬绘暟" +
-                            deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);
+                            deliverysum+ "宸插彂鏁伴噺" + deliverydetailsum);*/
                     if (finishedGoodsInventorycount > 0) {
                         if(orderDetail.getWarehouseNum()>=orderDetail.getDeliveryDetail().getQuantity()){
                             //淇敼搴撳瓨琛ㄥ簱瀛樻暟閲�
@@ -193,7 +203,8 @@
                             //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
                             finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),1);
                             //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍙戣揣
-                            if (0 == (ordernumbersum - orderDetail.getWarehouseNum())) {
+                            if (orderNumberdsum == orderDetail.getWarehouseNum()) {
+                                //if (ordersum == (orderDeliveryQuantitySum + orderDetail.getWarehouseNum())) {
                                 //淇敼璁㈠崟琛ㄥ彂璐х姸鎬�
                                 finishedGoodsInventoryMapper.updateOrderDeliveryState(orderDetail.getDeliveryDetail().getOrderId(),2);
                             }
@@ -565,6 +576,29 @@
         return map;
     }
 
+    public Map<String, Object> getSelectFinishedOperateLogReport(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();
+        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.getSelectFinishedOperateLogReport(offset, pageSize,startDate, endDate, finishedOperateLog));
+        map.put("total", finishedOperateLogMapper.getSelectFinishedOperateLogReportPageTotal(offset, pageSize,startDate, endDate, 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;
@@ -578,14 +612,17 @@
                 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);
+                        if(finishedOperateLog.getProcessId()!=null){
+                            //淇敼娴佺▼鍗¤〃鍏ュ簱鏁伴噺
+                            finishedGoodsInventoryMapper.updateflowcardOut(finishedOperateLog);
+                        }
+
                         //淇敼璁㈠崟鏄庣粏琛ㄥ叆搴撴暟閲�
                         finishedGoodsInventoryMapper.updateOutOrderNumberConut(finishedOperateLog.getOrderId(),finishedOperateLog.getOperationNumber(),finishedOperateLog.getQuantity());
                         //鍒ゆ柇璁㈠崟鏄惁鍏ㄩ儴鍏ュ簱
@@ -641,6 +678,48 @@
 
     }
 
+    public List<FinishedOperateLogDTO> exportFinishedOperateLogReport(List<LocalDate> dates) {
+        return finishedOperateLogMapper.exportFinishedOperateLogReport(dates);
+    }
+
+
+    public Boolean oneClickStorage(String  orderId,String  userName) {
+        boolean saveState = true;
+        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);
+                }
+                finishedOperateLogMapper.insertOrderFinishedOperateLog(orderDetail,userName,oddNumber);
+                finishedGoodsInventoryMapper.updateIntOrderNumberConut(orderDetail.getOrderId(),orderDetail.getOrderNumber(),Integer.parseInt(orderDetail.getQuantity().toString()));
+            }
+            finishedGoodsInventoryMapper.updateOrderWarehousingState(orderId,2);
+
+        } 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