From 6e670a95d253ffef6d8baf66adb7bc08e6ea14e3 Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Thu, 29 Jul 2021 20:39:07 +0800
Subject: [PATCH] bug修复

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/SysOrderServiceImpl.java |   50 ++++++++++++++++++++------------------------------
 1 files changed, 20 insertions(+), 30 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 adf9bcf..2b11597 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
@@ -484,9 +484,6 @@
         //检查交易限制调整
         checkSealLimit(pageOrder);
 
-        //交易业绩设置是否合理
-        checkAchieveIsOk(pageOrder);
-
 
         // 更新收款时间
         pageOrder.setPayTime(new Date());
@@ -558,27 +555,7 @@
 
     }
 
-    /**
-     * 交易业绩设置是否合理
-     * @param pageOrder
-     */
-    private void checkAchieveIsOk(SysOrder pageOrder) {
-        double huakouSum = pageOrder.getItems().stream()
-                .mapToDouble(
-                        item ->
-                                item.getAchieveList().stream()
-                                        .filter(achieveNew -> "划扣".equals(achieveNew.getPayMethod()))
-                                        .mapToDouble(achieve -> achieve.getGoodsCash()).sum()
-                ).sum();
 
-        double czkPay= pageOrder.getFlows().stream()
-                .filter(sysOrderFlow -> "储值卡".equals(sysOrderFlow.getPayMethod()))
-                .mapToDouble(sysOrderFlow ->sysOrderFlow.getAmount().doubleValue()).sum();
-
-        if(czkPay!=huakouSum){
-            throw new GlobleException("划扣业绩不等于储值卡扣款金额,请修改业绩设置!");
-        }
-    }
 
     /**
      * 设置会员消费积分
@@ -1262,11 +1239,20 @@
             //赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗
             boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE);
             if(zsConsumeAchieve){
-                if (taocanId == null) {
-                    puse.setPrice(goodsAssemble.getShoppingGoods().getPrice() );
-                } else {
-                    puse.setPrice(goodsAssemble.getPrice());
+                if(sysOrderItem.getPrice()>0){
+
+
+                    
+
+                }else{
+                    //等于0取原价
+                    if (taocanId == null) {
+                        puse.setPrice(goodsAssemble.getShoppingGoods().getPrice() );
+                    } else {
+                        puse.setPrice(goodsAssemble.getPrice());
+                    }
                 }
+
             }else{
                 puse.setPrice(0D);
             }
@@ -1370,7 +1356,11 @@
             //赠送项目是否计算消耗业绩否则 赠送产品按原价计算消耗
             boolean zsConsumeAchieve = projServicesService.skipServiceOrderStep(Dictionary.ZS_CONSUME_ACHIEVE);
             if(zsConsumeAchieve){
-                puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice());
+                if(sysOrderItem.getPrice()>0){
+                    puse.setPrice(sysOrderItem.getZkPrice());
+                }else{
+                    puse.setPrice(sysOrderItem.getShoppingGoods().getSealPice());
+                }
             }else{
                 puse.setPrice(0D);
             }
@@ -1550,7 +1540,7 @@
         sourceOrder.setIsHasRefund(SysOrder.IS_HAS_REFUND_Y);
 //        sourceOrder.setStatu(Dictionary.ORDER_STATU_TK);
         sysOrderDao.update(sourceOrder);
-        SysOrder oldOrder=sysOrderDao.selectById(   sysOrder.getOldOrderId());
+        SysOrder oldOrder=sysOrderDao.selectById(sysOrder.getOldOrderId());
 
         sysOrder.setId(null);
         sysOrder.setStaffId(user.getSuId());
@@ -1723,7 +1713,7 @@
                 List<SysProjUse> sysProjUses = sysProjUseDao.selectByModel(queryProjUse);
 
 
-                for (int i = 0; i < item.getCount(); i++) {
+                for (int i = 0; i < sysProjUses.size(); i++) {
 
                     SysProjUse sysProjUse = sysProjUses.get(i);
                     sysProjUse.setIsOver(Dictionary.FLAG_YES_Y);

--
Gitblit v1.9.1