From a672e4e8c05be9c763943a06cfe5220ef217934c Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Sat, 23 Jan 2021 20:07:44 +0800
Subject: [PATCH] modify

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java |   94 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 65 insertions(+), 29 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 7211bb8..be82e79 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
@@ -1,9 +1,14 @@
 package com.matrix.system.hive.service.imp;
 
+import com.matrix.core.constance.MatrixConstance;
 import com.matrix.core.exception.GlobleException;
 import com.matrix.core.pojo.PaginationVO;
+import com.matrix.core.tools.DateUtil;
 import com.matrix.core.tools.ModelUtils;
 import com.matrix.core.tools.StringUtils;
+import com.matrix.core.tools.WebUtil;
+import com.matrix.system.app.vo.UserAchieveVo;
+import com.matrix.system.common.bean.SysUsers;
 import com.matrix.system.common.dao.SysUsersDao;
 import com.matrix.system.constance.Dictionary;
 import com.matrix.system.hive.bean.*;
@@ -16,10 +21,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * This field was generated by Zking.software.Codegen.
@@ -184,6 +186,7 @@
             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);
@@ -223,14 +226,6 @@
                             achieveNewList.add(achieveNew);
                         }
                     }
-                } else {
-                    // 如果该订单明细没有设置美疗师则单独设置顾问业绩
-                    AchieveNew achieveNew = new AchieveNew();
-                    // 顾问业绩等于收款金额
-                    achieveNew.setT1(orderItem.getPayMoney() + "");
-                    buildAchieve(pageOrder, orderItem, achieveNew);
-                    // 新增顾问业绩
-                    achieveNewList.add(achieveNew);
                 }
             }
         }
@@ -243,6 +238,12 @@
     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());
 
@@ -257,29 +258,15 @@
         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))) {
-            // 设置卡项
+        if (Dictionary.ACHIEVE_TYPE_CASH.equals(achieveNew.getT3())){
             achieveNew.setCardCash(Double.parseDouble(achieveNew.getT1()));
-        } else if (!orderItem.getPayMethod().equals(Dictionary.PAY_TYPE_CARD)) {
+        } else {
             // 设置划扣金额
             achieveNew.setConsume(Double.parseDouble(achieveNew.getT1()));
         }
@@ -308,5 +295,54 @@
         achieveNewDao.updateAchieveTime(achieveNew);
     }
 
+    @Override
+    public List<AchieveNew> findVipConsumeStatisticsList(AchieveNew achieveNew, PaginationVO pageVo) {
+        return achieveNewDao.selectVipConsumeStatisticsList(achieveNew, pageVo);
+    }
 
+    @Override
+    public int findVipConsumeStatisticsTotal(AchieveNew achieveNew) {
+        return achieveNewDao.selectVipConsumeStatisticsTotal(achieveNew);
+    }
+
+    @Override
+    public UserAchieveVo findUserAchieveByTime(int type) {
+        SysUsers users = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY);
+        Calendar calendar = Calendar.getInstance();
+        Date startTime = calendar.getTime();
+        Date endTime = calendar.getTime();
+        switch (type) {
+            // 本日
+            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);
+                startTime = calendar.getTime();
+                calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+                endTime = calendar.getTime();
+                break;
+            default:
+                break;
+
+        }
+
+        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