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/sd/DeliveryService.java |   66 ++++++++++++++++++++++++--------
 1 files changed, 49 insertions(+), 17 deletions(-)

diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
index 1097312..dbc234f 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/DeliveryService.java
@@ -160,7 +160,7 @@
         //璁剧疆鍥炴粴鐐�
         Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
 
-
+        try {
             String deliveryId="";
             String oddNumber;
             if (object.get("deliveryId") != null) {
@@ -168,6 +168,7 @@
             } else {
                 deliveryId = "";
             }
+            String deliveryIdType = object.get("deliveryIdType").toString();
             Delivery delivery = JSONObject.parseObject(JSONObject.toJSONString(object.get("title")), Delivery.class);
             List<OrderDetail> orderDetaillist = JSONArray.parseArray(JSONObject.toJSONString(object.get("delivery")), OrderDetail.class);
             List<DeliveryOtherMoney> deliveryOtherMoneyList = JSONArray.parseArray(JSONObject.toJSONString(object.get("otherMoney")), DeliveryOtherMoney.class);
@@ -206,7 +207,7 @@
                 deliveryMapper.updateDelivery(delivery, oddNumber, orderDetaillist.get(0).getOrderId());
             } else {
                 //鑾峰彇鍗曞彿
-                oddNumber = orderNumberSetting("鍙戣揣");
+                oddNumber = orderNumberSetting("鍙戣揣",deliveryIdType);
                 //鏂板鍙戣揣琛ㄦ暟鎹�
                 deliveryMapper.insertDelivery(delivery, oddNumber, orderDetaillist.get(0).getOrderId());
             }
@@ -255,9 +256,14 @@
                             if(isnull) {
                                 Map<String, Object> moneryItemmap = new HashMap<>();
                                 Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(orderDetail.getOrderId(),orderDetail.getOrderNumber(), key, jsonObject.get(key).toString());
-                                otherMoneys=otherMoneys+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString());
-                                moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
-                                moneryList.add(moneryItemmap);
+                                if(deliveryDetailOtherMoney.get("monery")!=null){
+                                    otherMoneys=otherMoneys+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString());
+                                    moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney);
+                                    moneryList.add(moneryItemmap);
+                                }else{
+                                    TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+                                    return false;
+                                }
                             }
                         }
 
@@ -316,7 +322,16 @@
             } else {
                 return false;
             }
+        }catch (Exception e) {
+            TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
+            //灏嗗紓甯镐紶鍏ユ暟鎹簱
+            SysError sysError = new SysError();
+            sysError.setError(e+Arrays.toString(e.getStackTrace()));
+            sysError.setFunc("insertDelivery");
+            sysErrorService.insert(sysError);
+            saveState = false;
 
+        }
 
         return saveState;
     }
@@ -369,8 +384,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("deleteDelivery");
             sysErrorService.insert(sysError);
             saveState = false;
 
@@ -472,6 +487,10 @@
 
     public List<DeliveryDetailProductDTO> exportDeliveryDetailProductReport(List<LocalDate> dates) {
         return deliveryDetailMapper.exportDeliveryDetailProductReport(dates);
+    }
+
+    public boolean updateDeliveryPrintNumber(String deliveryId) {
+        return deliveryMapper.updateDeliveryPrintNumber(deliveryId);
     }
 
 
@@ -720,21 +739,34 @@
         }
     }
 
-    public String orderNumberSetting(String type) {
+    public String orderNumberSetting(String type,String deliveryIdType) {
         //鏍规嵁绫诲瀷鑷姩鐢熸垚涓嶅悓鐨勬搷浣滃崟鍙�
         String alias="";
         if(Objects.equals(type, "鍙戣揣")){
             alias="FH";
         }
-        //鏌ヨ褰撳ぉ鐨勬渶澶ф暟閲�
-        Integer maximum=deliveryMapper.getmaximum(type);
-        //璁剧疆涓や綅涓嶅琛�0
-        String formattedNumber = String.format("%02d", maximum+1);
-        //鏍煎紡鍖栧綋鍓嶆棩鏈�
-        Date currentDate = new Date();
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
-        String formattedDate = dateFormat.format(currentDate);
-        String oddNumbers =  alias+formattedDate+formattedNumber;
+        String oddNumbers="";
+
+        if(deliveryIdType.equals("day")){
+            //鏌ヨ褰撳ぉ鐨勬渶澶ф暟閲�
+            Integer maximum=deliveryMapper.getmaximum(type);
+            //璁剧疆涓や綅涓嶅琛�0
+            String formattedNumber = String.format("%02d", maximum+1);
+            //鏍煎紡鍖栧綋鍓嶆棩鏈�
+            Date currentDate = new Date();
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
+            String formattedDate = dateFormat.format(currentDate);
+             oddNumbers =  alias+formattedDate+formattedNumber;
+        }else if(deliveryIdType.equals("month")){
+            Integer maximum = deliveryMapper.getmaximumMonth();
+            String formattedNumber = String.format("%04d", maximum+1);
+            Date currentDate = new Date();
+            SimpleDateFormat dateFormat = new SimpleDateFormat("yyMM");
+            String formattedDate = dateFormat.format(currentDate);
+            oddNumbers =  alias+formattedDate+formattedNumber;
+
+        }
+
         return oddNumbers;
     }
 }

--
Gitblit v1.8.0