From e02086786067b03d481e52034ccbea0e3a5c7f95 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sat, 16 Jan 2021 13:53:39 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   26 +++++++++++++++++---------
 1 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
index 41b857e..9974d18 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java
@@ -167,6 +167,10 @@
     @Override
     public SysOrder checkAndSaveOrder(SysOrder sysOrder) {
         // 收款改变订单状态
+        SysOrder source = null;
+        if (sysOrder.getId() != null) {
+            source = sysOrderDao.selectById(sysOrder.getId());
+        }
 
         // 计算订单折扣金额,收款情况下 计算订单总额
         double zkTotal = 0.0;
@@ -203,8 +207,8 @@
         SysUsers user = (SysUsers) WebUtil.getSession().getAttribute(MatrixConstance.LOGIN_KEY);
         sysOrder.setZkTotal(zkTotal);
         sysOrder.setStatu(orderStatus);
-        sysOrder.setStaffId(user.getSuId());
-        sysOrder.setCompanyId(user.getCompanyId());
+        sysOrder.setStaffId(source != null ? source.getStaffId() : user.getSuId());
+        sysOrder.setCompanyId(source != null ? source.getCompanyId() : user.getCompanyId());
 
         sysOrder.setPayTime(new Date());
         if(sysOrder.getId()==null){
@@ -221,11 +225,16 @@
 
         sysOrder.getItems().forEach(sysOrderItem -> {
             sysOrderItem.setOrderId(sysOrder.getId());
-            // 取负数
-            sysOrderItem.setCount(-sysOrderItem.getCount());
-            orderItemDao.insert(sysOrderItem);
-            // 调整回来
-            sysOrderItem.setCount(-sysOrderItem.getCount());
+            if (sysOrder.getStatu().equals(Dictionary.ORDER_STATU_TK)) {
+                // 取负数
+                sysOrderItem.setCount(-sysOrderItem.getCount());
+                orderItemDao.insert(sysOrderItem);
+                // 调整回来
+                sysOrderItem.setCount(-sysOrderItem.getCount());
+            } else {
+                orderItemDao.insert(sysOrderItem);
+            }
+
         });
 
         return sysOrder;
@@ -565,8 +574,7 @@
             Integer buyNum = orderItemDao.selectByGoodsId(shopGoods.getId());
             buyNum = (buyNum == null ? 0 : buyNum);
             if ((buyNum + carItem.getCount()) > maxNum) {
-
-                throw new GlobleException(shopGoods.getName() + "已超过最大销售数量,还剩【" + (maxNum - buyNum) + "】件");
+                throw new GlobleException(shopGoods.getName() + "已超过最大销售数量");
             }
             if ((buyNum + carItem.getCount()) == maxNum) {
                 if (!shopGoods.getStaus().equals(Dictionary.BUSINESS_STATE_DOWN)) {

--
Gitblit v1.9.1