Commit f945186c3da5569f02f4ef4c3402aab4cdbf7d34

Authored by 姜超
1 parent 687a3a0a

feature(*): 修改个人考评

修改个人考评
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
... ... @@ -54,7 +54,7 @@ public class Constant {
54 54 /**
55 55 * 时间分隔符
56 56 */
57   - public final static String TIME_SEPARATOR = "—";
  57 + public final static String TIME_SEPARATOR = "—";
58 58  
59 59 /**
60 60 * 薪酬报表车系名称
... ...
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()));
... ...