From e53fcbe9fe844b7788b29c5106c1ac24d17c5535 Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Sat, 08 May 2021 22:40:19 +0800 Subject: [PATCH] Merge branch 'score_shop' into api_score_meger --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java | 98 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 76 insertions(+), 22 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 c91af9b..f0c6d88 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,5 +1,6 @@ package com.matrix.system.hive.service.imp; +import cn.hutool.core.collection.CollUtil; import com.matrix.core.constance.MatrixConstance; import com.matrix.core.exception.GlobleException; import com.matrix.core.pojo.PaginationVO; @@ -8,7 +9,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.*; @@ -18,6 +22,8 @@ import com.matrix.system.hive.dao.SysProjUseDao; import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.hive.service.AchieveNewService; +import com.matrix.system.hive.service.SysProjServicesService; +import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -42,6 +48,9 @@ @Autowired private SysProjUseDao sysProjUseDao; + + @Autowired + private SysProjServicesService projServicesService; @Override public int add(AchieveNew achieveNew) { @@ -161,6 +170,9 @@ Long achieveId = projServices.getCreateStaffId(); + // 下单人是否计算消耗业绩 + boolean flag = projServicesService.skipServiceOrderStep(Dictionary.SALE_MAN_IS_CONSUME_ACHIEVE); + for (SysBeauticianState beauticianState : beauticianStateList) { // 是否第一次计算改美疗师 boolean isFirst = true; @@ -184,18 +196,38 @@ achieveNew.setShopId(projServices.getShopId()); achieveNew.setCompanyId(projServices.getCompanyId()); achieveNew.setShoppingGoodsId(projUse.getProjId()); - achieveNew.setNumberOfPeople(1D / size); + + if (flag) { +// if (!achieveId.equals(beauticianState.getStaffId())) { + AchieveNew saleMan = new AchieveNew(); + BeanUtils.copyProperties(achieveNew, saleMan); + saleMan.setBeaultId(achieveId); + + saleAchieveNumOfPeople(saleMan); + achieveNewList.add(saleMan); +// } + } + + List<AchieveNew> beautyList = achieveNewDao.selectBeautyManAchieveList(beauticianState.getStaffId(), projServices.getVipId(), new Date()); + if (CollUtil.isEmpty(beautyList)) { + achieveNew.setNumberOfPeople(1D / size); + } else { + achieveNew.setNumberOfPeople(1D / (size + beautyList.size())); + achieveNewDao.updateAchieveNumOfPeople(beautyList, achieveNew.getNumberOfPeople()); + } + achieveNew.setProjNum(1); if (StringUtils.isNotBlank(beauticianState.getExtract())) { 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); @@ -207,16 +239,30 @@ } + /** + * 顾问人头业绩 + * @param achieveNew + */ + private void saleAchieveNumOfPeople(AchieveNew achieveNew) { + List<AchieveNew> saleList = achieveNewDao.selectSaleManAchieveList(achieveNew.getSaleId(), achieveNew.getVipId(), new Date()); + if (CollUtil.isEmpty(saleList)) { + achieveNew.setNumberOfPeople(1D); + } else { + achieveNew.setNumberOfPeople(1D / (1D + saleList.size())); + achieveNewDao.updateAchieveNumOfPeople(saleList, achieveNew.getNumberOfPeople()); + } + } + @Override public void addAchaeveByOrder(SysOrder pageOrder) { List<AchieveNew> achieveNewList = new ArrayList<>(); 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); @@ -232,12 +278,15 @@ @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.setT1((0 - Double.parseDouble(achieveNew.getT1())) + ""); + achieveNew.setGoodsCash(0 - achieveNew.getGoodsCash()); } achieveNew.setVipId(pageOrder.getVipId()); @@ -248,6 +297,19 @@ } 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()); + } + + } + + // 设置顾问人头业绩 + saleAchieveNumOfPeople(achieveNew); + achieveNew.setOrderType(Dictionary.ORDER_TYPE_SEAL); achieveNew.setOrderId(pageOrder.getId()); achieveNew.setOrderItemId(orderItem.getId()); @@ -256,14 +318,6 @@ achieveNew.setShoppingGoodsId(orderItem.getGoodsId()); // 是否赠送 achieveNew.setT2(orderItem.getIsFree()); - // 根据商品类型设置业绩类型 - - if (Dictionary.ACHIEVE_TYPE_CASH.equals(achieveNew.getT3())){ - achieveNew.setCardCash(Double.parseDouble(achieveNew.getT1())); - } else { - // 设置划扣金额 - achieveNew.setConsume(Double.parseDouble(achieveNew.getT1())); - } } @Override @@ -309,17 +363,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); -- Gitblit v1.9.1