From d82642e04f2dd9f2dc04dd7196a1e83fcfc95913 Mon Sep 17 00:00:00 2001
From: Fancy <Fancy.fx@outlook.com>
Date: 星期二, 27 八月 2024 11:31:40 +0800
Subject: [PATCH] order status

---
 pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java |   46 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 45 insertions(+), 1 deletions(-)

diff --git a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java
index db2edf4..2999306 100644
--- a/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java
+++ b/pms-parent/pms-web-product/src/main/java/com/dy/pmsProduct/order/OrderSv.java
@@ -14,6 +14,8 @@
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.List;
 import java.util.Map;
 
@@ -45,7 +47,8 @@
         if (orderDao.exists(p.name, p.id)) {
             throw new RuntimeException("璁㈠崟鍚嶇О涓嶈兘閲嶅");
         }
-        p.setDeleted(false);
+        extractedCheck(p);
+        p.deleted = false;
         BaUser loginUser = userUtil.getUser(UserTokenContext.get());
         if (loginUser != null) {
             p.creator = loginUser.id;
@@ -60,6 +63,7 @@
         if (orderDao.exists(p.name, p.id)) {
             throw new RuntimeException("璁㈠崟鍚嶇О涓嶈兘閲嶅");
         }
+        extractedCheck(p);
         int count = orderDao.updateByPrimaryKeySelective(p);
         if (count > 0) {
             saveOrderItems(p);
@@ -151,4 +155,44 @@
         }
         return orderList;
     }
+    /**
+     * 鍙洿鏂扮姸鎬�,涓嶆洿鏂板叾浠栧瓧娈�
+     * @param order
+     * 鏇存柊鐘舵��  濡傛灉鏈夊湪鎵ц涓殑浠诲姟,涓嶈鏆傚仠
+     * @return
+     */
+   @Transactional
+    public int updateStatus(PrOrder order) {
+        if(order.status == OrderStatusEnum.NORMAL.getCode()){
+            PrOrder prOrder = orderDao.selectByPrimaryKey(order.id);
+            prOrder.status = order.status;
+            extractedCheck(prOrder);
+        }
+       PrOrder param = new PrOrder();
+        param.id =order.id;
+        param.status = order.status;
+        return orderDao.updateByPrimaryKeySelective(param);
+    }
+    //濡傛灉浜ゆ湡灏忎簬褰撳墠鏃堕棿,涓嶅厑璁歌缃负姝e父
+    private void extractedCheck(PrOrder order) {
+        if(order.status == OrderStatusEnum.NORMAL.getCode()){
+            String deliveryDateStr = order.getDeliveryDate();
+            LocalDate endDate = LocalDate.parse(deliveryDateStr, DateTimeFormatter.ISO_LOCAL_DATE);
+            LocalDate nextDay = endDate.plusDays(1);
+            LocalDate today = LocalDate.now(); // 鑾峰彇褰撳墠鏃ユ湡
+            if (nextDay.isBefore(today)) {
+                throw new RuntimeException("浜や粯鏃ユ湡蹇呴』澶т簬绛変簬褰撳墠鏃ユ湡,璇蜂慨鏀逛氦浠樻棩鏈�");
+            }
+        }
+        //濡傛灉鏈夊湪鐢熶骇鐨勪换鍔′笉鑳借缃负鏆傚仠 鎴� 缁撴潫
+ /*
+        PrProductionProcess process = processDao.selectByPrimaryKey(order.processId);
+        if(process == null || !process.proId.equals(order.proId)){
+            throw new RuntimeException("浜у搧涓庣敓浜ф祦绋嬩笉鍖归厤");
+        }
+        //寮�濮嬫棩鏈熻灏忎簬缁撴潫鏃ユ湡
+        if(order.startDate.compareTo(order.endDate) > 0){
+            throw new RuntimeException("寮�濮嬫棩鏈熶笉鑳藉ぇ浜庣粨鏉熸棩鏈�");
+        }*/
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0