From b58adf14617cd852296bec9e1ca57978741c9f0a Mon Sep 17 00:00:00 2001 From: 935090232@qq.com <ak473600000> Date: Tue, 20 Apr 2021 01:12:09 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/score_shop' into score_shop --- zq-erp/src/main/java/com/matrix/system/hive/service/imp/AchieveNewServiceImpl.java | 47 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 45 insertions(+), 2 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 40331bd..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; @@ -21,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; @@ -45,6 +48,9 @@ @Autowired private SysProjUseDao sysProjUseDao; + + @Autowired + private SysProjServicesService projServicesService; @Override public int add(AchieveNew achieveNew) { @@ -164,6 +170,9 @@ Long achieveId = projServices.getCreateStaffId(); + // 下单人是否计算消耗业绩 + boolean flag = projServicesService.skipServiceOrderStep(Dictionary.SALE_MAN_IS_CONSUME_ACHIEVE); + for (SysBeauticianState beauticianState : beauticianStateList) { // 是否第一次计算改美疗师 boolean isFirst = true; @@ -187,7 +196,26 @@ 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())); @@ -209,6 +237,20 @@ achieveNewDao.batchInsert(achieveNewList); } + } + + /** + * 顾问人头业绩 + * @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 @@ -265,7 +307,8 @@ } - + // 设置顾问人头业绩 + saleAchieveNumOfPeople(achieveNew); achieveNew.setOrderType(Dictionary.ORDER_TYPE_SEAL); achieveNew.setOrderId(pageOrder.getId()); -- Gitblit v1.9.1