From a13a93a493e7e94e28b2225c26e7e13b52d3288c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 12 Apr 2021 19:48:45 +0800
Subject: [PATCH] 20210412  tqq环境

---
 zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java |  105 +++++++++++++++++++++++++---------------------------
 1 files changed, 50 insertions(+), 55 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..40331bd 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
@@ -8,7 +8,10 @@
 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.BusParameterSettings;
 import com.matrix.system.common.bean.SysUsers;
+import com.matrix.system.common.constance.AppConstance;
+import com.matrix.system.common.dao.BusParameterSettingsDao;
 import com.matrix.system.common.dao.SysUsersDao;
 import com.matrix.system.constance.Dictionary;
 import com.matrix.system.hive.bean.*;
@@ -154,7 +157,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 +175,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);
@@ -193,12 +193,13 @@
                 achieveNew.setProjPercentage(Double.parseDouble(beauticianState.getExtract()));
             }
             if (isFirst && beauticianState.getEndTime() != null && beauticianState.getBeginTime() != null) {
-                long timeSpace = beauticianState.getEndTime().getTime() - beauticianState.getBeginTime().getTime();
-                if (timeSpace > 0) {
-                    achieveNew.setProjTime((int) (timeSpace / 1000 / 60));
-                } else {
-                    achieveNew.setProjTime(1);
-                }
+//                long timeSpace = beauticianState.getEndTime().getTime() - beauticianState.getBeginTime().getTime();
+//                if (timeSpace > 0) {
+//                    achieveNew.setProjTime((int) (timeSpace / 1000 / 60));
+//                } else {
+//                    achieveNew.setProjTime(1);
+//                }
+                achieveNew.setProjTime(beauticianState.getExcTime());
                 isFirst = false;
             }
             achieveNewList.add(achieveNew);
@@ -216,23 +217,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);
                 }
             }
         }
@@ -243,48 +236,45 @@
 
     @Autowired
     ShoppingGoodsDao shoppingGoodsDao;
+    @Autowired
+    BusParameterSettingsDao busParameterSettingsDao;
 
     private void buildAchieve(SysOrder pageOrder, SysOrderItem orderItem, AchieveNew achieveNew) {
+        BusParameterSettings shopManageJjcpasConsume =null;
+        if (Dictionary.ORDER_STATU_TK.equals(pageOrder.getStatu())) {
+            achieveNew.setId(null);
+            achieveNew.setProjPercentage(0 - achieveNew.getProjPercentage());
+            achieveNew.setGoodsCash(0 - achieveNew.getGoodsCash());
+        }
+
         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());
         }
+        if(Dictionary.SHOPPING_GOODS_TYPE_JJCP.equals(orderItem.getShoppingGoods().getGoodType())){
+            if(shopManageJjcpasConsume==null){
+                shopManageJjcpasConsume = busParameterSettingsDao.selectCompanyParamByCode(AppConstance.SHOP_MANAGE_JJCPAS_CONSUME, pageOrder.getCompanyId());
+            }
+            if(AppConstance.IS_Y.equals(shopManageJjcpasConsume.getParamValue())){
+                achieveNew.setHisConsume(achieveNew.getGoodsCash());
+            }
+
+        }
+
+
+
         achieveNew.setOrderType(Dictionary.ORDER_TYPE_SEAL);
         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 +320,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 +345,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