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 | 9 | ALTER TABLE `fw_morax`.`eval_group_indicator_target_hit_log` |
10 | 10 | ADD COLUMN `extra_reach_value` decimal(18, 4) NULL COMMENT '额外达成目标' AFTER `reach_value`, |
11 | 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 | 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 | 50 | */ |
51 | 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 | 29 | |
30 | 30 | private static final long serialVersionUID = 1L; |
31 | 31 | /** |
32 | + * id | |
33 | + */ | |
34 | + private Long id; | |
35 | + /** | |
32 | 36 | * 考评组编码 |
33 | 37 | */ |
34 | 38 | private String egc; |
... | ... | @@ -71,6 +75,16 @@ public class EvalShopPoolVO { |
71 | 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 | 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 | 525 | .approvalNo(flowVal.getEvalShopReward()) |
526 | 526 | .briefContent(Lists.newArrayList( |
527 | 527 | "申请人:" + user.getUserName(), |
528 | - "考评/活动名称:" + user.getUserName(), | |
529 | - "考评类型:" + rewardDist.getEvalType().getName(), | |
530 | - "考评组:" + rewardDist.getEvalGroupName(), | |
528 | + "考评排名组:" + rewardDist.getEvalGroupRankName(), | |
529 | + "考评排名组阶段:" + rewardDist.getEvalGroupRankStageName(), | |
531 | 530 | "门店奖惩金额:" + rewardDist.getReward(), |
532 | 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 | 94 | this.setShopRewardDetails(evalShopPoolVO, dataDate); |
95 | 95 | evalShopPoolVO.setDataDate(dataDate); |
96 | 96 | |
97 | - Eval eval = evalService.getById(pool.getEvalId()); | |
98 | - BV.notNull(pool, "考评池不存在"); | |
99 | - evalShopPoolVO.setEvalType(eval.getType()); | |
100 | - | |
101 | 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 | 183 | @Transactional(rollbackFor = Exception.class) |
184 | 184 | public void sendDistRewardTodo(List<EvalGroupRewardDim> shopRewardDims, EvalGroup evalGroup, |
185 | 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 | 186 | List<BacklogBatchPlanItemReqDTO> itemList = new ArrayList<>(); |
194 | 187 | List<Long> distPoolIds = new ArrayList<>(); |
195 | 188 | for (EvalGroupRewardDim rewardDim : shopRewardDims) { |
... | ... | @@ -232,7 +225,7 @@ public class EvalRewardService { |
232 | 225 | rewardDist.setReward(reward); |
233 | 226 | evalRewardDistService.save(rewardDist); |
234 | 227 | BacklogBatchPlanItemReqDTO planItemReq = this.createBacklog(rewardDist, user.getUserId()); |
235 | - planItemReq.setDynamicMap(rewardDistDynamicMap(rewardDist, evalGroupRankName, evalGroupRankStageName, timeStr)); | |
228 | + planItemReq.setDynamicMap(rewardDistDynamicMap(rewardDist, evalGroupRank, evalGroupRankStage)); | |
236 | 229 | itemList.add(planItemReq); |
237 | 230 | } |
238 | 231 | } |
... | ... | @@ -268,10 +261,16 @@ public class EvalRewardService { |
268 | 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 | 271 | DecimalFormat decimalFormat = new DecimalFormat("##########.##"); |
273 | 272 | Map<String, String> dynamicMap = new HashMap<>(8); |
274 | - dynamicMap.put("evalGroupRankName", evalGroupRankName); | |
273 | + dynamicMap.put("evalGroupRankName", evalGroupRank.getName()); | |
275 | 274 | dynamicMap.put("evalGroupRankStageName", evalGroupRankStageName); |
276 | 275 | dynamicMap.put("evalGroupRankStageTime", timeStr); |
277 | 276 | dynamicMap.put("amount", decimalFormat.format(rewardDist.getReward())); | ... | ... |