diff --git a/doc/2023_update.sql b/doc/2023_update.sql
index ecce0a0..977c3a9 100644
--- a/doc/2023_update.sql
+++ b/doc/2023_update.sql
@@ -4,6 +4,7 @@ ALTER TABLE `fw_morax`.`eval_group_reward_ladders`
CREATE TABLE `eval_group_reward_rank_log` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
+ `name` varchar(512) NOT NULL COMMENT '名称',
`pool_id` bigint(20) DEFAULT NULL COMMENT '人员id 、门店id',
`scope_type` tinyint(4) NOT NULL COMMENT '考评范围; 1:门店考评 2:人员考评',
`refer_id` bigint(20) DEFAULT NULL COMMENT '考评奖惩 前置条件 配置id',
@@ -11,6 +12,7 @@ CREATE TABLE `eval_group_reward_rank_log` (
`value` decimal(18,4) DEFAULT NULL COMMENT '原始值',
`reach_value` decimal(18,4) DEFAULT NULL COMMENT '达成目标',
`rank` int(10) DEFAULT NULL COMMENT '排名',
+ `hit` tinyint(1) DEFAULT NULL COMMENT '是否命中',
`data_date` date NOT NULL COMMENT '数据日期',
`group_id` bigint(20) NOT NULL COMMENT '集团',
`create_time` datetime DEFAULT NULL,
diff --git a/fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalGroupRewardHitLogDao.java b/fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalGroupRewardHitLogDao.java
index aee510b..9211ae9 100644
--- a/fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalGroupRewardHitLogDao.java
+++ b/fw-morax-dao/src/main/java/cn/fw/morax/dao/eval/EvalGroupRewardHitLogDao.java
@@ -2,7 +2,12 @@ package cn.fw.morax.dao.eval;
import cn.fw.morax.domain.db.eval.EvalGroupRewardHitLog;
+import cn.fw.morax.domain.vo.eval.EvalGroupRewardHitLogVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.time.LocalDate;
+import java.util.List;
/**
*
@@ -14,4 +19,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface EvalGroupRewardHitLogDao extends BaseMapper {
+ List getUserHitLogs(@Param("evalGroupRewardId")Long evalGroupRewardId, @Param("dataDate")LocalDate dataDate);
+
+ List getShopHitLogs(@Param("evalGroupRewardId")Long evalGroupRewardId, @Param("dataDate")LocalDate dataDate);
+
}
diff --git a/fw-morax-dao/src/main/resources/mapper/eval/EvalGroupRewardHitLogMapper.xml b/fw-morax-dao/src/main/resources/mapper/eval/EvalGroupRewardHitLogMapper.xml
index 39f11cd..bbf8854 100644
--- a/fw-morax-dao/src/main/resources/mapper/eval/EvalGroupRewardHitLogMapper.xml
+++ b/fw-morax-dao/src/main/resources/mapper/eval/EvalGroupRewardHitLogMapper.xml
@@ -2,6 +2,50 @@
+
+
\ No newline at end of file
diff --git a/fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java b/fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java
index beb8e94..34805ac 100644
--- a/fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java
+++ b/fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java
@@ -48,6 +48,11 @@ public class EvalGroupUserShop {
private Long poolId;
/**
+ * 名称
+ */
+ private String name;
+
+ /**
* 用户id、门店id
*/
private Long referId;
diff --git a/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupRewardRankLog.java b/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupRewardRankLog.java
index b6a134d..bdd46f2 100644
--- a/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupRewardRankLog.java
+++ b/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupRewardRankLog.java
@@ -41,6 +41,11 @@ public class EvalGroupRewardRankLog extends BaseAuditableTimeEntity> queryRewardProportion(Long evalGroupRewardId,
+ public Message> queryUserRewardProportion(@NotNull(message = "奖惩id不能为空") Long evalGroupRewardId,
+ @NotNull(message = "类型不能为空") Integer scopeType,
@NotNull(message = "日期不能为空") @RequestParam("dataDate") LocalDate dataDate) {
- return success(evalGroupPoolService.queryRewardProportion(evalGroupRewardId, dataDate));
+ EvalScopeEnum scopeTypeEnum = EvalScopeEnum.ofValue(scopeType);
+ BV.notNull(scopeTypeEnum, "参数错误");
+ return success(evalGroupPoolService.queryRewardProportion(scopeTypeEnum, evalGroupRewardId, dataDate));
}
+
/**
* 门店考评池列表
*
diff --git a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/reward/EvalRewardBaseCalculator.java b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/reward/EvalRewardBaseCalculator.java
index bc2a2c0..9f4fc6b 100644
--- a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/reward/EvalRewardBaseCalculator.java
+++ b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/reward/EvalRewardBaseCalculator.java
@@ -468,6 +468,7 @@ public abstract class EvalRewardBaseCalculator implements CalculatorlambdaUpdate()
- .eq(EvalGroupRewardRankLog::getId, matchRankLogs.stream().map(EvalGroupRewardRankLog::getId).collect(Collectors.toList()))
+ .in(EvalGroupRewardRankLog::getId, matchRankLogs.stream().map(EvalGroupRewardRankLog::getId).collect(Collectors.toList()))
.set(EvalGroupRewardRankLog::getHit, Boolean.TRUE)
);
}
diff --git a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalCalculateService.java b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalCalculateService.java
index 3dd3626..b0da103 100644
--- a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalCalculateService.java
+++ b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalCalculateService.java
@@ -413,6 +413,7 @@ public class EvalCalculateService {
public EvalGroupUserShop convertBO(EvalGroupUser user, EvalUserPool userPool) {
EvalGroupUserShop userShop = new EvalGroupUserShop();
+ userShop.setName(user.getUserName());
userShop.setScopeType(EvalScopeEnum.STAFF);
userShop.setEvalGroupId(user.getEvalGroupId());
userShop.setPoolId(userPool.getId());
@@ -426,6 +427,7 @@ public class EvalCalculateService {
public EvalGroupUserShop convertBO(EvalShopPool shopPool, EvalGroup evalGroup, LocalDate dataDate) {
EvalGroupUserShop userShop = new EvalGroupUserShop();
+ userShop.setName(shopPool.getShopName());
userShop.setReferId(shopPool.getShopId());
userShop.setPoolId(shopPool.getId());
userShop.setScopeType(EvalScopeEnum.SHOP);
diff --git a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java
index 09e7499..c0640cc 100644
--- a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java
+++ b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java
@@ -65,6 +65,8 @@ public class EvalGroupPoolService {
private final IndicatorUserValueService indicatorUserValueService;
private final EvalIndicatorValueService evalIndicatorValueService;
private final EvalGroupUserService evalGroupUserService;
+ private final EvalGroupRewardService evalGroupRewardService;
+ private final EvalGroupService evalGroupService;
private final EvalUserPoolService evalUserPoolService;
private final EvalShopPoolService evalShopPoolService;
private final CommonService commonService;
@@ -1258,12 +1260,14 @@ public class EvalGroupPoolService {
return rankLogVOs;
}
- public List queryRewardProportion(Long evalGroupRewardId, LocalDate dataDate) {
- List rewardHitLogs = evalGroupRewardHitLogService.list(Wrappers.lambdaQuery()
- .eq(EvalGroupRewardHitLog::getEvalGroupRewardId, evalGroupRewardId)
- .eq(EvalGroupRewardHitLog::getDataDate, dataDate)
- );
- List hitLogVOS = PublicUtil.copyList(rewardHitLogs, EvalGroupRewardHitLogVO.class);
+ public List queryRewardProportion(EvalScopeEnum scopeType, Long evalGroupRewardId, LocalDate dataDate) {
+ List hitLogVOS = null;
+ if (EvalScopeEnum.STAFF.equals(scopeType)) {
+ hitLogVOS = evalGroupRewardHitLogService.getUserHitLogs(evalGroupRewardId, dataDate);
+ } else {
+ hitLogVOS = evalGroupRewardHitLogService.getShopHitLogs(evalGroupRewardId, dataDate);
+ }
+ hitLogVOS.stream().forEach(hitLog -> hitLog.convertValueToPercent());
return hitLogVOS;
}
}
diff --git a/fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/EvalGroupRewardHitLogService.java b/fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/EvalGroupRewardHitLogService.java
index d62c0c9..ade40e6 100644
--- a/fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/EvalGroupRewardHitLogService.java
+++ b/fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/EvalGroupRewardHitLogService.java
@@ -3,8 +3,12 @@ package cn.fw.morax.service.data.eval;
import cn.fw.morax.domain.db.eval.EvalGroupReward;
import cn.fw.morax.domain.db.eval.EvalGroupRewardHitLog;
+import cn.fw.morax.domain.vo.eval.EvalGroupRewardHitLogVO;
import com.baomidou.mybatisplus.extension.service.IService;
+import java.time.LocalDate;
+import java.util.List;
+
/**
*
* 考评奖惩 服务类
@@ -15,4 +19,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface EvalGroupRewardHitLogService extends IService {
+ List getUserHitLogs(Long evalGroupRewardId, LocalDate dataDate);
+
+ List getShopHitLogs(Long evalGroupRewardId, LocalDate dataDate);
+
}
diff --git a/fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalGroupRewardHitLogServiceImpl.java b/fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalGroupRewardHitLogServiceImpl.java
index 8cd8889..a705f51 100644
--- a/fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalGroupRewardHitLogServiceImpl.java
+++ b/fw-morax-service/src/main/java/cn/fw/morax/service/data/eval/impl/EvalGroupRewardHitLogServiceImpl.java
@@ -5,11 +5,15 @@ import cn.fw.morax.dao.eval.EvalGroupRewardHitLogDao;
import cn.fw.morax.dao.eval.EvalGroupRewardTargetHitLogDao;
import cn.fw.morax.domain.db.eval.EvalGroupRewardHitLog;
import cn.fw.morax.domain.db.eval.EvalGroupRewardTargetHitLog;
+import cn.fw.morax.domain.vo.eval.EvalGroupRewardHitLogVO;
import cn.fw.morax.service.data.eval.EvalGroupRewardHitLogService;
import cn.fw.morax.service.data.eval.EvalGroupRewardTargetHitLogService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
+import java.time.LocalDate;
+import java.util.List;
+
/**
*
* 考评指标达成目标记录 服务实现类
@@ -23,4 +27,13 @@ public class EvalGroupRewardHitLogServiceImpl
extends ServiceImpl
implements EvalGroupRewardHitLogService {
+ @Override
+ public List getUserHitLogs(Long evalGroupRewardId, LocalDate dataDate) {
+ return this.baseMapper.getUserHitLogs(evalGroupRewardId, dataDate);
+ }
+
+ @Override
+ public List getShopHitLogs(Long evalGroupRewardId, LocalDate dataDate) {
+ return this.baseMapper.getShopHitLogs(evalGroupRewardId, dataDate);
+ }
}