From 4dab41eef4ffde0c2631fbc7147cd2eee3cd0780 Mon Sep 17 00:00:00 2001
From: jyy <935090232@qq.com>
Date: Thu, 04 Mar 2021 18:57:56 +0800
Subject: [PATCH] 优化订单业绩

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java |   74 ++++++++++++------------------------
 1 files changed, 25 insertions(+), 49 deletions(-)

diff --git a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
index d2466f9..c5101d6 100644
--- a/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
+++ b/zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java
@@ -154,7 +154,7 @@
 
 
     @Override
-    public void addAchieveByServiceOrder(SysProjServices projServices) {
+    public void     addAchieveByServiceOrder(SysProjServices projServices) {
         List<AchieveNew> achieveNewList = new ArrayList<>();
         List<SysBeauticianState> beauticianStateList = sysBeauticianStateDao.selectBySerIds(projServices.getId());
         int size = beauticianStateList.size();
@@ -172,20 +172,17 @@
             achieveNew.setVipId(projServices.getVipId());
             // 是否为赠送业绩
             if (Dictionary.TAOCAN_SOURCE_ZS.equals(projUse.getSource())) {
-                achieveNew.setFreeConsume(projUse.getPrice());
+                achieveNew.setFreeConsume(projUse.getPrice()*beauticianState.getCount());
             } else {
-                achieveNew.setHisConsume(projUse.getPrice());
+                achieveNew.setHisConsume(projUse.getPrice()*beauticianState.getCount());
             }
             achieveNew.setT2(projUse.getSource());
-            if (projServices.getCreateTime() != null) {
-                achieveNew.setDatatime(projServices.getCreateTime());
-            } else {
-                achieveNew.setDatatime(new Date());
-            }
+            achieveNew.setDatatime(new Date());
             achieveNew.setOrderType(Dictionary.ORDER_TYPE_SERVICE);
             achieveNew.setServiceOrderId(projServices.getId());
             achieveNew.setOrderItemId(beauticianState.getId());
             achieveNew.setShopId(projServices.getShopId());
+            achieveNew.setCompanyId(projServices.getCompanyId());
             achieveNew.setShoppingGoodsId(projUse.getProjId());
             achieveNew.setNumberOfPeople(1D / size);
             achieveNew.setProjNum(1);
@@ -216,23 +213,15 @@
         if (CollectionUtils.isNotEmpty(pageOrder.getItems())) {
             for (SysOrderItem orderItem : pageOrder.getItems()) {
 
-                if (orderItem != null && CollectionUtils.isNotEmpty(orderItem.getAchaeveList())) {
+                if (orderItem != null && CollectionUtils.isNotEmpty(orderItem.getAchieveList())) {
 
-                    for (AchieveNew achieveNew : orderItem.getAchaeveList()) {
-                        if (achieveNew !=null   && achieveNew.getT1()!=null) {
+                    for (AchieveNew achieveNew : orderItem.getAchieveList()) {
+                        if (achieveNew !=null   && achieveNew.getGoodsCash()!=null) {
                             buildAchieve(pageOrder,  orderItem, achieveNew);
                             // 新增美疗师业绩
                             achieveNewList.add(achieveNew);
                         }
                     }
-                } else {
-                    // 如果该订单明细没有设置美疗师则单独设置顾问业绩
-                    AchieveNew achieveNew = new AchieveNew();
-                    // 顾问业绩等于收款金额
-                    achieveNew.setT1(orderItem.getPayMoney() + "");
-                    buildAchieve(pageOrder, orderItem, achieveNew);
-                    // 新增顾问业绩
-                    achieveNewList.add(achieveNew);
                 }
             }
         }
@@ -245,13 +234,17 @@
     ShoppingGoodsDao shoppingGoodsDao;
 
     private void buildAchieve(SysOrder pageOrder, SysOrderItem orderItem, AchieveNew achieveNew) {
+        if (Dictionary.ORDER_STATU_TK.equals(pageOrder.getStatu())) {
+            achieveNew.setId(null);
+            achieveNew.setProjPercentage(0 - achieveNew.getProjPercentage());
+            achieveNew.setT1((0 - Double.parseDouble(achieveNew.getT1())) + "");
+        }
+
         achieveNew.setVipId(pageOrder.getVipId());
         achieveNew.setSaleId(pageOrder.getStaffId());
 
-        if (pageOrder.getOrderTime() != null) {
-            achieveNew.setDatatime(pageOrder.getOrderTime());
-        } else if (pageOrder.getOrderTime() != null) {
-            achieveNew.setDatatime(pageOrder.getOrderTime());
+        if (pageOrder.getPayTime() != null) {
+            achieveNew.setDatatime(pageOrder.getPayTime());
         } else {
             achieveNew.setDatatime(new Date());
         }
@@ -259,32 +252,10 @@
         achieveNew.setOrderId(pageOrder.getId());
         achieveNew.setOrderItemId(orderItem.getId());
         achieveNew.setShopId(pageOrder.getShopId());
+        achieveNew.setCompanyId(pageOrder.getCompanyId());
         achieveNew.setShoppingGoodsId(orderItem.getGoodsId());
         // 是否赠送
         achieveNew.setT2(orderItem.getIsFree());
-        // 根据商品类型设置业绩类型
-
-        String goodType = shoppingGoodsDao.selectById(orderItem.getGoodsId()).getGoodType();
-        if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY)
-                && Dictionary.SHOPPING_GOODS_TYPE_XM.equals(goodType)) {
-            // 现金支付设置现金单次
-            achieveNew.setProjCash(Double.parseDouble(achieveNew.getT1()));
-
-        } else if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY)
-                && Dictionary.SHOPPING_GOODS_TYPE_JJCP.equals(goodType)) {
-            // 设置现金产品
-            achieveNew.setGoodsCash(Double.parseDouble(achieveNew.getT1()));
-        } else if (orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_MOENY)
-                && (Dictionary.SHOPPING_GOODS_TYPE_TC.equals(goodType)
-                || Dictionary.SHOPPING_GOODS_TYPE_CZK.equals(goodType)
-                || Dictionary.SHOPPING_GOODS_TYPE_ZHK.equals(goodType)
-                || Dictionary.SHOPPING_GOODS_TYPE_TCK.equals(goodType))) {
-            // 设置卡项
-            achieveNew.setCardCash(Double.parseDouble(achieveNew.getT1()));
-        } else if (!orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_CARD)) {
-            // 设置划扣金额
-            achieveNew.setConsume(Double.parseDouble(achieveNew.getT1()));
-        }
     }
 
     @Override
@@ -330,17 +301,17 @@
             // 本日
             case 1 :
                 break;
-                // 昨日
+            // 昨日
             case 2:
                 startTime = DateUtil.previousNDate(startTime, 1);
                 endTime = startTime;
                 break;
-                // 本月
+            // 本月
             case 3:
                 calendar.set(Calendar.DAY_OF_MONTH, 1);
                 startTime = calendar.getTime();
                 break;
-                // 上月
+            // 上月
             case 4:
                 calendar.add(Calendar.MONTH, -1);
                 calendar.set(Calendar.DAY_OF_MONTH, 1);
@@ -355,4 +326,9 @@
 
         return achieveNewDao.selectUserAchieveByTime(startTime, endTime, users.getSuId());
     }
+
+    @Override
+    public List<AchieveNew> findOrderItemAchieve(Long orderId) {
+        return achieveNewDao.selectOrderItemAchieveByOrderId(orderId);
+    }
 }
\ No newline at end of file

--
Gitblit v1.9.1