Commit f945186c3da5569f02f4ef4c3402aab4cdbf7d34
1 parent
687a3a0a
feature(*): 修改个人考评
修改个人考评
Showing
7 changed files
with
53 additions
and
22 deletions
doc/2023-05-18_update.sql
@@ -9,3 +9,26 @@ ALTER TABLE `fw_morax`.`eval_group_user` | @@ -9,3 +9,26 @@ ALTER TABLE `fw_morax`.`eval_group_user` | ||
9 | ALTER TABLE `fw_morax`.`eval_group_indicator_target_hit_log` | 9 | ALTER TABLE `fw_morax`.`eval_group_indicator_target_hit_log` |
10 | ADD COLUMN `extra_reach_value` decimal(18, 4) NULL COMMENT '额外达成目标' AFTER `reach_value`, | 10 | ADD COLUMN `extra_reach_value` decimal(18, 4) NULL COMMENT '额外达成目标' AFTER `reach_value`, |
11 | ADD COLUMN `use_target` tinyint(4) NULL DEFAULT 1 COMMENT '考评使用目标; 1:无目标 2:第一目标 3:额外目标值' AFTER `extra_reach_value`; | 11 | ADD COLUMN `use_target` tinyint(4) NULL DEFAULT 1 COMMENT '考评使用目标; 1:无目标 2:第一目标 3:额外目标值' AFTER `extra_reach_value`; |
12 | + | ||
13 | + | ||
14 | +CREATE TABLE `eval_reward_dist` ( | ||
15 | +`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', | ||
16 | +`user_id` bigint(20) NOT NULL COMMENT '用户id', | ||
17 | +`eval_group_rank_id` bigint(20) NOT NULL COMMENT '考评排名组id', | ||
18 | +`eval_group_rank_stage_id` bigint(20) NOT NULL COMMENT '考评排名组阶段id', | ||
19 | +`eval_group_id` bigint(20) NOT NULL COMMENT '考评组id', | ||
20 | +`eval_group_rank_name` varchar(255) DEFAULT NULL COMMENT '考评排名组名称', | ||
21 | +`eval_group_rank_stage_name` varchar(255) DEFAULT NULL COMMENT '考评排名组阶段名称', | ||
22 | +`begin_time` date DEFAULT NULL COMMENT '阶段开始时间', | ||
23 | +`over_time` date DEFAULT NULL COMMENT '阶段结束时间', | ||
24 | +`eval_shop_pool_ids` varchar(512) NOT NULL COMMENT '门店考评池id', | ||
25 | +`shop_ids` varchar(512) NOT NULL COMMENT '门店id', | ||
26 | +`reward` decimal(18,2) NOT NULL COMMENT '考评奖惩', | ||
27 | +`status` tinyint(4) DEFAULT NULL COMMENT '状态', | ||
28 | +`group_id` bigint(20) NOT NULL COMMENT '集团id', | ||
29 | +`yn` tinyint(1) DEFAULT '1' COMMENT '逻辑删除', | ||
30 | +`create_time` datetime DEFAULT NULL COMMENT '创建时间', | ||
31 | +`update_time` datetime DEFAULT NULL COMMENT '更新时间', | ||
32 | +PRIMARY KEY (`id`), | ||
33 | +KEY `eval_pool_salary_group_id_index` (`eval_shop_pool_ids`) | ||
34 | +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='考评门店奖惩分配'; | ||
12 | \ No newline at end of file | 35 | \ No newline at end of file |
fw-morax-common/src/main/java/cn/fw/morax/common/constant/Constant.java
fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalRewardDist.java
@@ -50,10 +50,10 @@ public class EvalRewardDist extends BaseAuditableTimeEntity<EvalRewardDist, Long | @@ -50,10 +50,10 @@ public class EvalRewardDist extends BaseAuditableTimeEntity<EvalRewardDist, Long | ||
50 | */ | 50 | */ |
51 | private Long evalGroupRankStageId; | 51 | private Long evalGroupRankStageId; |
52 | 52 | ||
53 | - /** | ||
54 | - * 考评组名称 | ||
55 | - */ | ||
56 | - private String evalGroupName; | 53 | +// /** |
54 | +// * 考评组名称 | ||
55 | +// */ | ||
56 | +// private String evalGroupName; | ||
57 | /** | 57 | /** |
58 | * 考评排名组名称 | 58 | * 考评排名组名称 |
59 | */ | 59 | */ |
fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalShopPoolVO.java
@@ -29,6 +29,10 @@ public class EvalShopPoolVO { | @@ -29,6 +29,10 @@ public class EvalShopPoolVO { | ||
29 | 29 | ||
30 | private static final long serialVersionUID = 1L; | 30 | private static final long serialVersionUID = 1L; |
31 | /** | 31 | /** |
32 | + * id | ||
33 | + */ | ||
34 | + private Long id; | ||
35 | + /** | ||
32 | * 考评组编码 | 36 | * 考评组编码 |
33 | */ | 37 | */ |
34 | private String egc; | 38 | private String egc; |
@@ -71,6 +75,16 @@ public class EvalShopPoolVO { | @@ -71,6 +75,16 @@ public class EvalShopPoolVO { | ||
71 | private BigDecimal scoreRatio; | 75 | private BigDecimal scoreRatio; |
72 | 76 | ||
73 | /** | 77 | /** |
78 | + * 绩效总分 | ||
79 | + */ | ||
80 | + private BigDecimal totalScore; | ||
81 | + | ||
82 | + /** | ||
83 | + * 考评得分率(格式化) | ||
84 | + */ | ||
85 | + private String scoreRatioFormat; | ||
86 | + | ||
87 | + /** | ||
74 | * 排名 | 88 | * 排名 |
75 | */ | 89 | */ |
76 | private Integer rank; | 90 | private Integer rank; |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/ApprovalBizService.java
@@ -525,9 +525,8 @@ public class ApprovalBizService { | @@ -525,9 +525,8 @@ public class ApprovalBizService { | ||
525 | .approvalNo(flowVal.getEvalShopReward()) | 525 | .approvalNo(flowVal.getEvalShopReward()) |
526 | .briefContent(Lists.newArrayList( | 526 | .briefContent(Lists.newArrayList( |
527 | "申请人:" + user.getUserName(), | 527 | "申请人:" + user.getUserName(), |
528 | - "考评/活动名称:" + user.getUserName(), | ||
529 | - "考评类型:" + rewardDist.getEvalType().getName(), | ||
530 | - "考评组:" + rewardDist.getEvalGroupName(), | 528 | + "考评排名组:" + rewardDist.getEvalGroupRankName(), |
529 | + "考评排名组阶段:" + rewardDist.getEvalGroupRankStageName(), | ||
531 | "门店奖惩金额:" + rewardDist.getReward(), | 530 | "门店奖惩金额:" + rewardDist.getReward(), |
532 | "申请时间:" + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").format(LocalDateTime.now()) | 531 | "申请时间:" + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").format(LocalDateTime.now()) |
533 | )) | 532 | )) |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java
@@ -94,10 +94,6 @@ public class EvalGroupPoolService { | @@ -94,10 +94,6 @@ public class EvalGroupPoolService { | ||
94 | this.setShopRewardDetails(evalShopPoolVO, dataDate); | 94 | this.setShopRewardDetails(evalShopPoolVO, dataDate); |
95 | evalShopPoolVO.setDataDate(dataDate); | 95 | evalShopPoolVO.setDataDate(dataDate); |
96 | 96 | ||
97 | - Eval eval = evalService.getById(pool.getEvalId()); | ||
98 | - BV.notNull(pool, "考评池不存在"); | ||
99 | - evalShopPoolVO.setEvalType(eval.getType()); | ||
100 | - | ||
101 | return evalShopPoolVO; | 97 | return evalShopPoolVO; |
102 | } | 98 | } |
103 | 99 |
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalRewardService.java
@@ -183,13 +183,6 @@ public class EvalRewardService { | @@ -183,13 +183,6 @@ public class EvalRewardService { | ||
183 | @Transactional(rollbackFor = Exception.class) | 183 | @Transactional(rollbackFor = Exception.class) |
184 | public void sendDistRewardTodo(List<EvalGroupRewardDim> shopRewardDims, EvalGroup evalGroup, | 184 | public void sendDistRewardTodo(List<EvalGroupRewardDim> shopRewardDims, EvalGroup evalGroup, |
185 | EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage) { | 185 | EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage) { |
186 | - String evalGroupRankName = evalGroupRank.getName(); | ||
187 | - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); | ||
188 | - String beginTimeStr = dtf.format(evalGroupRankStage.getBeginTime()); | ||
189 | - String endTimeStr = dtf.format(evalGroupRankStage.getOverTime()); | ||
190 | - String timeStr = beginTimeStr + Constant.TIME_SEPARATOR + endTimeStr; | ||
191 | - String evalGroupRankStageName = (evalGroupRank.getMultiStage()) ? evalGroupRankStage.getName() : "---"; | ||
192 | - | ||
193 | List<BacklogBatchPlanItemReqDTO> itemList = new ArrayList<>(); | 186 | List<BacklogBatchPlanItemReqDTO> itemList = new ArrayList<>(); |
194 | List<Long> distPoolIds = new ArrayList<>(); | 187 | List<Long> distPoolIds = new ArrayList<>(); |
195 | for (EvalGroupRewardDim rewardDim : shopRewardDims) { | 188 | for (EvalGroupRewardDim rewardDim : shopRewardDims) { |
@@ -232,7 +225,7 @@ public class EvalRewardService { | @@ -232,7 +225,7 @@ public class EvalRewardService { | ||
232 | rewardDist.setReward(reward); | 225 | rewardDist.setReward(reward); |
233 | evalRewardDistService.save(rewardDist); | 226 | evalRewardDistService.save(rewardDist); |
234 | BacklogBatchPlanItemReqDTO planItemReq = this.createBacklog(rewardDist, user.getUserId()); | 227 | BacklogBatchPlanItemReqDTO planItemReq = this.createBacklog(rewardDist, user.getUserId()); |
235 | - planItemReq.setDynamicMap(rewardDistDynamicMap(rewardDist, evalGroupRankName, evalGroupRankStageName, timeStr)); | 228 | + planItemReq.setDynamicMap(rewardDistDynamicMap(rewardDist, evalGroupRank, evalGroupRankStage)); |
236 | itemList.add(planItemReq); | 229 | itemList.add(planItemReq); |
237 | } | 230 | } |
238 | } | 231 | } |
@@ -268,10 +261,16 @@ public class EvalRewardService { | @@ -268,10 +261,16 @@ public class EvalRewardService { | ||
268 | return planItemReq; | 261 | return planItemReq; |
269 | } | 262 | } |
270 | 263 | ||
271 | - public Map<String, String> rewardDistDynamicMap(EvalRewardDist rewardDist, String evalGroupRankName, String evalGroupRankStageName, String timeStr) { | 264 | + public Map<String, String> rewardDistDynamicMap(EvalRewardDist rewardDist, EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage) { |
265 | + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); | ||
266 | + String beginTimeStr = dtf.format(rewardDist.getBeginTime()); | ||
267 | + String endTimeStr = dtf.format(rewardDist.getOverTime()); | ||
268 | + String timeStr = beginTimeStr + Constant.TIME_SEPARATOR + endTimeStr; | ||
269 | + String evalGroupRankStageName = (evalGroupRank.getMultiStage()) ? evalGroupRankStage.getName() : "---"; | ||
270 | + | ||
272 | DecimalFormat decimalFormat = new DecimalFormat("##########.##"); | 271 | DecimalFormat decimalFormat = new DecimalFormat("##########.##"); |
273 | Map<String, String> dynamicMap = new HashMap<>(8); | 272 | Map<String, String> dynamicMap = new HashMap<>(8); |
274 | - dynamicMap.put("evalGroupRankName", evalGroupRankName); | 273 | + dynamicMap.put("evalGroupRankName", evalGroupRank.getName()); |
275 | dynamicMap.put("evalGroupRankStageName", evalGroupRankStageName); | 274 | dynamicMap.put("evalGroupRankStageName", evalGroupRankStageName); |
276 | dynamicMap.put("evalGroupRankStageTime", timeStr); | 275 | dynamicMap.put("evalGroupRankStageTime", timeStr); |
277 | dynamicMap.put("amount", decimalFormat.format(rewardDist.getReward())); | 276 | dynamicMap.put("amount", decimalFormat.format(rewardDist.getReward())); |