From f945186c3da5569f02f4ef4c3402aab4cdbf7d34 Mon Sep 17 00:00:00 2001 From: jiangchao Date: Wed, 24 May 2023 11:49:55 +0800 Subject: [PATCH] feature(*): 修改个人考评 --- doc/2023-05-18_update.sql | 23 +++++++++++++++++++++++ fw-morax-common/src/main/java/cn/fw/morax/common/constant/Constant.java | 2 +- fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalRewardDist.java | 8 ++++---- fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalShopPoolVO.java | 14 ++++++++++++++ fw-morax-service/src/main/java/cn/fw/morax/service/biz/ApprovalBizService.java | 5 ++--- fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalGroupPoolService.java | 4 ---- fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalRewardService.java | 19 +++++++++---------- 7 files changed, 53 insertions(+), 22 deletions(-) diff --git a/doc/2023-05-18_update.sql b/doc/2023-05-18_update.sql index 869dd83..e3f2896 100644 --- a/doc/2023-05-18_update.sql +++ b/doc/2023-05-18_update.sql @@ -9,3 +9,26 @@ ALTER TABLE `fw_morax`.`eval_group_user` ALTER TABLE `fw_morax`.`eval_group_indicator_target_hit_log` ADD COLUMN `extra_reach_value` decimal(18, 4) NULL COMMENT '额外达成目标' AFTER `reach_value`, ADD COLUMN `use_target` tinyint(4) NULL DEFAULT 1 COMMENT '考评使用目标; 1:无目标 2:第一目标 3:额外目标值' AFTER `extra_reach_value`; + + +CREATE TABLE `eval_reward_dist` ( +`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID', +`user_id` bigint(20) NOT NULL COMMENT '用户id', +`eval_group_rank_id` bigint(20) NOT NULL COMMENT '考评排名组id', +`eval_group_rank_stage_id` bigint(20) NOT NULL COMMENT '考评排名组阶段id', +`eval_group_id` bigint(20) NOT NULL COMMENT '考评组id', +`eval_group_rank_name` varchar(255) DEFAULT NULL COMMENT '考评排名组名称', +`eval_group_rank_stage_name` varchar(255) DEFAULT NULL COMMENT '考评排名组阶段名称', +`begin_time` date DEFAULT NULL COMMENT '阶段开始时间', +`over_time` date DEFAULT NULL COMMENT '阶段结束时间', +`eval_shop_pool_ids` varchar(512) NOT NULL COMMENT '门店考评池id', +`shop_ids` varchar(512) NOT NULL COMMENT '门店id', +`reward` decimal(18,2) NOT NULL COMMENT '考评奖惩', +`status` tinyint(4) DEFAULT NULL COMMENT '状态', +`group_id` bigint(20) NOT NULL COMMENT '集团id', +`yn` tinyint(1) DEFAULT '1' COMMENT '逻辑删除', +`create_time` datetime DEFAULT NULL COMMENT '创建时间', +`update_time` datetime DEFAULT NULL COMMENT '更新时间', +PRIMARY KEY (`id`), +KEY `eval_pool_salary_group_id_index` (`eval_shop_pool_ids`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='考评门店奖惩分配'; \ No newline at end of file diff --git a/fw-morax-common/src/main/java/cn/fw/morax/common/constant/Constant.java b/fw-morax-common/src/main/java/cn/fw/morax/common/constant/Constant.java index 31d7822..bfc6327 100644 --- a/fw-morax-common/src/main/java/cn/fw/morax/common/constant/Constant.java +++ b/fw-morax-common/src/main/java/cn/fw/morax/common/constant/Constant.java @@ -54,7 +54,7 @@ public class Constant { /** * 时间分隔符 */ - public final static String TIME_SEPARATOR = "——"; + public final static String TIME_SEPARATOR = "—"; /** * 薪酬报表车系名称 diff --git a/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalRewardDist.java b/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalRewardDist.java index 5d813d9..046ecdd 100644 --- a/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalRewardDist.java +++ b/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalRewardDist.java @@ -50,10 +50,10 @@ public class EvalRewardDist extends BaseAuditableTimeEntity shopRewardDims, EvalGroup evalGroup, EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage) { - String evalGroupRankName = evalGroupRank.getName(); - DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); - String beginTimeStr = dtf.format(evalGroupRankStage.getBeginTime()); - String endTimeStr = dtf.format(evalGroupRankStage.getOverTime()); - String timeStr = beginTimeStr + Constant.TIME_SEPARATOR + endTimeStr; - String evalGroupRankStageName = (evalGroupRank.getMultiStage()) ? evalGroupRankStage.getName() : "---"; - List itemList = new ArrayList<>(); List distPoolIds = new ArrayList<>(); for (EvalGroupRewardDim rewardDim : shopRewardDims) { @@ -232,7 +225,7 @@ public class EvalRewardService { rewardDist.setReward(reward); evalRewardDistService.save(rewardDist); BacklogBatchPlanItemReqDTO planItemReq = this.createBacklog(rewardDist, user.getUserId()); - planItemReq.setDynamicMap(rewardDistDynamicMap(rewardDist, evalGroupRankName, evalGroupRankStageName, timeStr)); + planItemReq.setDynamicMap(rewardDistDynamicMap(rewardDist, evalGroupRank, evalGroupRankStage)); itemList.add(planItemReq); } } @@ -268,10 +261,16 @@ public class EvalRewardService { return planItemReq; } - public Map rewardDistDynamicMap(EvalRewardDist rewardDist, String evalGroupRankName, String evalGroupRankStageName, String timeStr) { + public Map rewardDistDynamicMap(EvalRewardDist rewardDist, EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage) { + DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); + String beginTimeStr = dtf.format(rewardDist.getBeginTime()); + String endTimeStr = dtf.format(rewardDist.getOverTime()); + String timeStr = beginTimeStr + Constant.TIME_SEPARATOR + endTimeStr; + String evalGroupRankStageName = (evalGroupRank.getMultiStage()) ? evalGroupRankStage.getName() : "---"; + DecimalFormat decimalFormat = new DecimalFormat("##########.##"); Map dynamicMap = new HashMap<>(8); - dynamicMap.put("evalGroupRankName", evalGroupRankName); + dynamicMap.put("evalGroupRankName", evalGroupRank.getName()); dynamicMap.put("evalGroupRankStageName", evalGroupRankStageName); dynamicMap.put("evalGroupRankStageTime", timeStr); dynamicMap.put("amount", decimalFormat.format(rewardDist.getReward())); -- libgit2 0.22.2