Commit d22abbcbc9e92ad79c86968d1e7feb505e6d37ea

Authored by 姜超
2 parents 1066e8f4 9f48755c

Merge branch 'test' into 'main'

个人考评查看

个人考评查看

See merge request !133
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
... ... @@ -52,6 +52,11 @@ public class Constant {
52 52 public final static String SEPARATOR = "_";
53 53  
54 54 /**
  55 + * 时间分隔符
  56 + */
  57 + public final static String TIME_SEPARATOR = "—";
  58 +
  59 + /**
55 60 * 薪酬报表车系名称
56 61 */
57 62 public final static String REPORT_CAR_SERIES_NAME = "carSeriesName";
... ...
fw-morax-dao/src/main/resources/mapper/eval/EvalShopPoolDao.xml
... ... @@ -4,23 +4,31 @@
4 4  
5 5 <!-- 通用查询映射结果 -->
6 6 <resultMap id="BaseResultMap" type="cn.fw.morax.domain.db.eval.EvalShopPool">
7   - <result column="id" property="id"/>
8   - <result column="egc" property="egc"/>
9   - <result column="eval_group_id" property="evalGroupId"/>
10   - <result column="shop_id" property="shopId"/>
11   - <result column="shop_name" property="shopName"/>
12   - <result column="reward" property="reward"/>
13   - <result column="score" property="score"/>
14   - <result column="score_ratio" property="scoreRatio"/>
15   - <result column="monthly" property="monthly"/>
16   - <result column="group_id" property="groupId"/>
17   - <result column="yn" property="yn"/>
18   - <result column="create_time" property="createTime"/>
19   - <result column="update_time" property="updateTime"/>
  7 + <result column="id" property="id"/>
  8 + <result column="eval_group_rank_id" property="evalGroupRankId"/>
  9 + <result column="eval_group_rank_stage_id" property="evalGroupRankStageId"/>
  10 + <result column="egc" property="egc"/>
  11 + <result column="eval_group_id" property="evalGroupId"/>
  12 + <result column="shop_id" property="shopId"/>
  13 + <result column="shop_name" property="shopName"/>
  14 + <result column="reward" property="reward"/>
  15 + <result column="status" property="status"/>
  16 + <result column="score" property="score"/>
  17 + <result column="score_ratio" property="scoreRatio"/>
  18 + <result column="rank" property="rank"/>
  19 + <result column="data_date" property="dataDate"/>
  20 + <result column="monthly" property="monthly"/>
  21 + <result column="group_id" property="groupId"/>
  22 + <result column="yn" property="yn"/>
  23 + <result column="create_time" property="createTime"/>
  24 + <result column="update_time" property="updateTime"/>
20 25 </resultMap>
21 26  
22 27 <sql id="all_columns">
23   - id,eval_id,egc,eval_group_id,shop_id,shop_name,reward,status,score,score_ratio,monthly,group_id
  28 + id,eval_group_rank_id,eval_group_rank_stage_id
  29 + ,egc,eval_group_id,shop_id,shop_name,reward
  30 + ,status,score,score_ratio,rank,data_date
  31 + ,monthly,group_id,yn,create_time,update_time
24 32 </sql>
25 33  
26 34 <select id="getLastPool" resultType="cn.fw.morax.domain.db.eval.EvalShopPool">
... ... @@ -45,18 +53,24 @@
45 53  
46 54 <select id="queryPagePool" resultType="cn.fw.morax.domain.vo.eval.EvalShopPoolVO">
47 55 SELECT
48   - id,
49   - eval_id,
50   - egc,
51   - eval_group_id,
52   - shop_id,
53   - shop_name,
54   - reward,
55   - status,
56   - score,
57   - score_ratio,
58   - monthly,
59   - group_id
  56 + id
  57 + ,eval_group_rank_id
  58 + ,eval_group_rank_stage_id
  59 + ,egc
  60 + ,eval_group_id
  61 + ,shop_id
  62 + ,shop_name
  63 + ,reward
  64 + ,status
  65 + ,score
  66 + ,score_ratio
  67 + ,rank
  68 + ,data_date
  69 + ,monthly
  70 + ,group_id
  71 + ,yn
  72 + ,create_time
  73 + ,update_time
60 74 from eval_shop_pool
61 75 where yn = 1
62 76 and group_id = #{condition.groupId}
... ...
fw-morax-dao/src/main/resources/mapper/eval/EvalUserPoolDao.xml
... ... @@ -4,43 +4,63 @@
4 4  
5 5 <!-- 通用查询映射结果 -->
6 6 <resultMap id="BaseResultMap" type="cn.fw.morax.domain.db.eval.EvalUserPool">
7   - <result column="id" property="id"/>
8   - <result column="egc" property="egc"/>
9   - <result column="eval_group_id" property="evalGroupId"/>
10   - <result column="user_id" property="userId"/>
11   - <result column="user_name" property="userName"/>
12   - <result column="post_id" property="postId"/>
13   - <result column="post_name" property="postName"/>
14   - <result column="shop_id" property="shopId"/>
15   - <result column="shop_name" property="shopName"/>
16   - <result column="fund_shop_id" property="fundShopId"/>
17   - <result column="fund_shop_name" property="fundShopName"/>
18   - <result column="reward" property="reward"/>
19   - <result column="score" property="score"/>
20   - <result column="monthly" property="monthly"/>
21   - <result column="group_id" property="groupId"/>
22   - <result column="yn" property="yn"/>
23   - <result column="create_time" property="createTime"/>
24   - <result column="update_time" property="updateTime"/>
  7 + <result column="id" property="id"/>
  8 + <result column="eval_group_rank_id" property="evalGroupRankId"/>
  9 + <result column="eval_group_rank_stage_id" property="evalGroupRankStageId"/>
  10 + <result column="egc" property="egc"/>
  11 + <result column="eval_group_id" property="evalGroupId"/>
  12 + <result column="user_id" property="userId"/>
  13 + <result column="user_name" property="userName"/>
  14 + <result column="post_id" property="postId"/>
  15 + <result column="post_name" property="postName"/>
  16 + <result column="shop_id" property="shopId"/>
  17 + <result column="shop_name" property="shopName"/>
  18 + <result column="fund_shop_id" property="fundShopId"/>
  19 + <result column="fund_shop_name" property="fundShopName"/>
  20 + <result column="reward" property="reward"/>
  21 + <result column="score" property="score"/>
  22 + <result column="score_ratio" property="scoreRatio"/>
  23 + <result column="rank" property="rank"/>
  24 + <result column="inclusion" property="inclusion"/>
  25 + <result column="data_date" property="dataDate"/>
  26 + <result column="monthly" property="monthly"/>
  27 + <result column="group_id" property="groupId"/>
  28 + <result column="yn" property="yn"/>
  29 + <result column="create_time" property="createTime"/>
  30 + <result column="update_time" property="updateTime"/>
25 31 </resultMap>
26 32  
  33 + <sql id="all_columns">
  34 + id,eval_group_rank_id,eval_group_rank_stage_id,egc,eval_group_id,user_id,user_name,post_id
  35 + ,post_name,shop_id,shop_name,fund_shop_id,fund_shop_name
  36 + ,reward,score,score_ratio,rank,inclusion,data_date
  37 + ,monthly,group_id,yn,create_time,update_time
  38 +
  39 + </sql>
  40 +
27 41 <select id="getLastPool" resultType="cn.fw.morax.domain.db.eval.EvalUserPool">
28 42 SELECT
29   - t1.id,
30   - t1.egc,
31   - t1.eval_group_id,
32   - t1.user_id,
33   - t1.user_name,
34   - t1.post_id,
35   - t1.post_name,
36   - t1.shop_id,
37   - t1.shop_name,
38   - t1.fund_shop_id,
39   - t1.fund_shop_name,
40   - t1.reward,
41   - t1.score,
42   - t1.monthly,
43   - t1.group_id
  43 + t1.id
  44 + ,t1.eval_group_rank_id
  45 + ,t1.eval_group_rank_stage_id
  46 + ,t1.egc
  47 + ,t1.eval_group_id
  48 + ,t1.user_id
  49 + ,t1.user_name
  50 + ,t1.post_id
  51 + ,t1.post_name
  52 + ,t1.shop_id
  53 + ,t1.shop_name
  54 + ,t1.fund_shop_id
  55 + ,t1.fund_shop_name
  56 + ,t1.reward
  57 + ,t1.score
  58 + ,t1.score_ratio
  59 + ,t1.rank
  60 + ,t1.inclusion
  61 + ,t1.data_date
  62 + ,t1.monthly
  63 + ,t1.group_id
44 64 FROM
45 65 eval_user_pool t1,
46 66 (
... ... @@ -61,7 +81,7 @@
61 81  
62 82 <select id="queryPagePool" resultType="cn.fw.morax.domain.vo.eval.EvalUserPoolVO">
63 83 SELECT
64   - *
  84 + <include refid="all_columns"/>
65 85 from eval_user_pool
66 86 where yn = 1
67 87 and group_id = #{condition.groupId}
... ...
fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java
... ... @@ -65,10 +65,10 @@ public class EvalGroupUserShop {
65 65 */
66 66 private Long referId;
67 67  
68   -// /**
69   -// * 多阶段
70   -// */
71   -// private Boolean multiStage;
  68 + /**
  69 + * 多阶段
  70 + */
  71 + private Boolean multiStage;
72 72  
73 73 /**
74 74 * 数据开始日期
... ...
fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalRewardDist.java
... ... @@ -13,6 +13,7 @@ import lombok.experimental.Accessors;
13 13  
14 14 import java.io.Serializable;
15 15 import java.math.BigDecimal;
  16 +import java.time.LocalDate;
16 17 import java.time.LocalDateTime;
17 18 import java.util.List;
18 19  
... ... @@ -36,31 +37,37 @@ public class EvalRewardDist extends BaseAuditableTimeEntity&lt;EvalRewardDist, Long
36 37 * 用户id
37 38 */
38 39 private Long userId;
39   -
40 40 /**
41   - * 考评id
  41 + * 考评id
42 42 */
43   - private Long evalId;
44   -
  43 + private Long evalGroupId;
45 44 /**
46   - * 考评组编码
  45 + * 考评排名组id
47 46 */
48   - private Long evalGroupId;
  47 + private Long evalGroupRankId;
  48 + /**
  49 + * 考评排名组阶段id
  50 + */
  51 + private Long evalGroupRankStageId;
  52 + /**
  53 + * 考评排名组名称
  54 + */
  55 + private String evalGroupRankName;
49 56  
50 57 /**
51   - * 考评类型; 1:活动考评 2:其他考评
  58 + * 考评排名组阶段名称
52 59 */
53   - private EvalTypeEnum evalType;
  60 + private String evalGroupRankStageName;
54 61  
55 62 /**
56   - * 考评
  63 + * 生效时间
57 64 */
58   - private String evalName;
  65 + private LocalDate beginTime;
59 66  
60 67 /**
61   - * 考评组
  68 + * 结束时间
62 69 */
63   - private String evalGroupName;
  70 + private LocalDate overTime;
64 71  
65 72 /**
66 73 * 考评组id
... ...
fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalShopPool.java
... ... @@ -30,11 +30,6 @@ public class EvalShopPool extends BaseAuditableTimeEntity&lt;EvalShopPool, Long&gt; {
30 30 * 考评组编码
31 31 */
32 32 private String egc;
33   -
34   - /**
35   - * 考评id
36   - */
37   - private Long evalId;
38 33 /**
39 34 * 考评组id
40 35 */
... ... @@ -48,26 +43,6 @@ public class EvalShopPool extends BaseAuditableTimeEntity&lt;EvalShopPool, Long&gt; {
48 43 */
49 44 private Long evalGroupRankStageId;
50 45  
51   -// /**
52   -// * 用户id
53   -// */
54   -// private Long userId;
55   -//
56   -// /**
57   -// * 用户名称
58   -// */
59   -// private String userName;
60   -
61   -// /**
62   -// * 岗位id
63   -// */
64   -// private Long postId;
65   -//
66   -// /**
67   -// * 岗位名称
68   -// */
69   -// private String postName;
70   -
71 46 /**
72 47 * 门店id
73 48 */
... ... @@ -78,16 +53,6 @@ public class EvalShopPool extends BaseAuditableTimeEntity&lt;EvalShopPool, Long&gt; {
78 53 */
79 54 private String shopName;
80 55  
81   -// /**
82   -// * 社保公积金门店id
83   -// */
84   -// private Long fundShopId;
85   -//
86   -// /**
87   -// * 社保公积金门店名称
88   -// */
89   -// private String fundShopName;
90   -
91 56 /**
92 57 * 考评奖惩
93 58 */
... ...
fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalRewardDistVO.java
... ... @@ -12,6 +12,7 @@ import lombok.EqualsAndHashCode;
12 12 import lombok.experimental.Accessors;
13 13  
14 14 import java.math.BigDecimal;
  15 +import java.time.LocalDate;
15 16 import java.util.List;
16 17  
17 18 /**
... ... @@ -37,31 +38,37 @@ public class EvalRewardDistVO {
37 38 * 用户id
38 39 */
39 40 private Long userId;
40   -
41 41 /**
42   - * 考评id
  42 + * 考评id
43 43 */
44   - private Long evalId;
45   -
  44 + private Long evalGroupId;
46 45 /**
47   - * 考评组编码
  46 + * 考评排名组id
48 47 */
49   - private Long evalGroupId;
  48 + private Long evalGroupRankId;
  49 + /**
  50 + * 考评排名组阶段id
  51 + */
  52 + private Long evalGroupRankStageId;
  53 + /**
  54 + * 考评排名组名称
  55 + */
  56 + private String evalGroupRankName;
50 57  
51 58 /**
52   - * 考评类型; 1:活动考评 2:其他考评
  59 + * 考评排名组阶段名称
53 60 */
54   - private EvalTypeEnum evalType;
  61 + private String evalGroupRankStageName;
55 62  
56 63 /**
57   - * 考评
  64 + * 生效时间
58 65 */
59   - private String evalName;
  66 + private LocalDate beginTime;
60 67  
61 68 /**
62   - * 考评组
  69 + * 结束时间
63 70 */
64   - private String evalGroupName;
  71 + private LocalDate overTime;
65 72  
66 73 /**
67 74 * 考评组id
... ...
fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalShopPoolVO.java
... ... @@ -12,6 +12,7 @@ import lombok.EqualsAndHashCode;
12 12  
13 13 import java.math.BigDecimal;
14 14 import java.time.LocalDate;
  15 +import java.time.YearMonth;
15 16 import java.util.List;
16 17  
17 18 /**
... ... @@ -27,56 +28,26 @@ import java.util.List;
27 28 public class EvalShopPoolVO {
28 29  
29 30 private static final long serialVersionUID = 1L;
30   -
31 31 /**
32   - * 考评池id
  32 + * id
33 33 */
34 34 private Long id;
35   -
36 35 /**
37 36 * 考评组编码
38 37 */
39 38 private String egc;
40   -
41   - /**
42   - * 考评组
43   - */
44   - private String evalGroupName;
45   -
46   - /**
47   - * 考评id
48   - */
49   - private Long evalId;
50 39 /**
51 40 * 考评组id
52 41 */
53 42 private Long evalGroupId;
54   -
55   -
56 43 /**
57   - * 考评类型; 1:活动考评 2:其他考评
  44 + * 考评排名组id
58 45 */
59   - private EvalTypeEnum evalType;
60   -
61   -// /**
62   -// * 用户id
63   -// */
64   -// private Long userId;
65   -//
66   -// /**
67   -// * 用户名称
68   -// */
69   -// private String userName;
70   -
71   -// /**
72   -// * 岗位id
73   -// */
74   -// private Long postId;
75   -//
76   -// /**
77   -// * 岗位名称
78   -// */
79   -// private String postName;
  46 + private Long evalGroupRankId;
  47 + /**
  48 + * 考评排名组阶段id
  49 + */
  50 + private Long evalGroupRankStageId;
80 51  
81 52 /**
82 53 * 门店id
... ... @@ -88,16 +59,6 @@ public class EvalShopPoolVO {
88 59 */
89 60 private String shopName;
90 61  
91   -// /**
92   -// * 社保公积金门店id
93   -// */
94   -// private Long fundShopId;
95   -//
96   -// /**
97   -// * 社保公积金门店名称
98   -// */
99   -// private String fundShopName;
100   -
101 62 /**
102 63 * 考评奖惩
103 64 */
... ... @@ -124,10 +85,14 @@ public class EvalShopPoolVO {
124 85 private String scoreRatioFormat;
125 86  
126 87 /**
127   - * 月度
  88 + * 排名
128 89 */
129   - private String monthly;
  90 + private Integer rank;
130 91  
  92 + /**
  93 + * 月度
  94 + */
  95 + private YearMonth monthly;
131 96  
132 97 /**
133 98 * 数据日期
... ...
fw-morax-server/src/main/java/cn/fw/morax/server/controller/app/EvalPoolController.java
... ... @@ -90,28 +90,19 @@ public class EvalPoolController {
90 90 if (Objects.isNull(userId)) {
91 91 userId = user.getUserId();
92 92 }
93   -// return success(evalGroupPoolService.evalPoolSelector(userId, monthly));
94   - return success();
  93 + return success(evalGroupPoolService.evalPoolSelector(userId, monthly));
95 94 }
96 95  
97   -// /**
98   -// * 考评详情查询 (查看自己考评详情)
99   -// */
100   -// @GetMapping("/own-detail")
101   -// @ControllerMethod("考评详情查询")
102   -// public Message<List<EvalUserRankStageVO>> evalPoolOwnDetail(@CurrentUser Long userId,
103   -// @Valid EvalUserRankDTO dto) {
104   -// dto.initMonthly();
105   -// dto.setUserId(userId);
106   -// return success(evalGroupPoolService.queryRankStagePools(dto));
107   -// }
108 96 /**
109 97 * 考评详情查询 (查看自己考评详情)
110 98 */
111 99 @GetMapping("/own-detail")
112 100 @ControllerMethod("考评详情查询")
113   - public Message<List<EvalUserRankStageVO>> evalPoolOwnDetail(@CurrentUser Long userId) {
114   - return success();
  101 + public Message<List<EvalUserRankStageVO>> evalPoolOwnDetail(@CurrentUser Long userId,
  102 + @Valid EvalUserRankDTO dto) {
  103 + dto.initMonthly();
  104 + dto.setUserId(userId);
  105 + return success(evalGroupPoolService.queryRankStagePools(dto));
115 106 }
116 107  
117 108 /**
... ... @@ -120,22 +111,13 @@ public class EvalPoolController {
120 111 */
121 112 @GetMapping("/detail")
122 113 @ControllerMethod("考评详情查询")
123   - public Message<List<EvalUserRankStageVO>> evalPoolDetail() {
124   - return success();
  114 + public Message<List<EvalUserRankStageVO>> evalPoolDetail(@Valid EvalUserRankDTO dto) {
  115 + dto.initMonthly();
  116 + if (PublicUtil.isEmpty(dto.getUserId())) {
  117 + throw new BusinessException("人员信息不能为空");
  118 + }
  119 + return success(evalGroupPoolService.queryRankStagePools(dto));
125 120 }
126   -// /**
127   -// * 考评详情查询 (查看他人考评详情)
128   -// *
129   -// */
130   -// @GetMapping("/detail")
131   -// @ControllerMethod("考评详情查询")
132   -// public Message<List<EvalUserRankStageVO>> evalPoolDetail(@Valid EvalUserRankDTO dto) {
133   -// dto.initMonthly();
134   -// if (PublicUtil.isEmpty(dto.getUserId())) {
135   -// throw new BusinessException("人员信息不能为空");
136   -// }
137   -// return success(evalGroupPoolService.queryRankStagePools(dto));
138   -// }
139 121  
140 122 /**
141 123 * 员工考评得分详情
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/ApprovalBizService.java
... ... @@ -517,6 +517,7 @@ public class ApprovalBizService {
517 517 InitiateApprovalParam.Condition shopCondition = new InitiateApprovalParam.Condition();
518 518 shopCondition.setParamName("shopId");
519 519 shopCondition.setValue(staffInfo.getShopId().toString());
  520 + conditions.add(shopCondition);
520 521 Map extDataMap = new HashMap<String, Object>() {{
521 522 put("id", rewardDist.getId().toString());
522 523 }};
... ... @@ -525,9 +526,8 @@ public class ApprovalBizService {
525 526 .approvalNo(flowVal.getEvalShopReward())
526 527 .briefContent(Lists.newArrayList(
527 528 "申请人:" + user.getUserName(),
528   - "考评/活动名称:" + user.getUserName(),
529   - "考评类型:" + rewardDist.getEvalType().getName(),
530   - "考评组:" + rewardDist.getEvalGroupName(),
  529 + "考评排名组:" + rewardDist.getEvalGroupRankName(),
  530 + "考评排名组阶段:" + rewardDist.getEvalGroupRankStageName(),
531 531 "门店奖惩金额:" + rewardDist.getReward(),
532 532 "申请时间:" + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm").format(LocalDateTime.now())
533 533 ))
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/kpi/EvalKpiBaseCalculator.java
... ... @@ -169,10 +169,11 @@ public abstract class EvalKpiBaseCalculator implements Calculator&lt;EvalGroupUserS
169 169 useTarget = EvalUseTargetEnum.FIRST_TARGET;
170 170 indicatorValue = reachValue;
171 171 }
  172 + //额外计算类型只能为空 或者 时间进度
172 173 if (PublicUtil.isNotEmpty(extraTargetType) && (!TargetTypeEnum.NO.equals(extraTargetType))) {
173 174 extraReachValue = calcTarget(param.getExtraTargetCalcType(), originValue, param.getExtraTargetValue());
174   - //额外计算类型值 原始计算类型值 用大的那个值
175   - if (PublicUtil.isEmpty(reachValue) || (extraReachValue.compareTo(reachValue) > 0)) {
  175 + //只配置了时间进度 时间进度大于阶段目标 并且 时间进度大于1,取时间进度
  176 + if (PublicUtil.isEmpty(reachValue) || ((extraReachValue.compareTo(reachValue) > 0) && (extraReachValue.compareTo(BigDecimal.ONE) >= 0))) {
176 177 indicatorValue = extraReachValue;
177 178 useTarget = EvalUseTargetEnum.EXTRA_TARGET;
178 179 }
... ... @@ -225,20 +226,37 @@ public abstract class EvalKpiBaseCalculator implements Calculator&lt;EvalGroupUserS
225 226 protected Optional<BigDecimal> queryValue(EvalGroupUserShop obj, IndicatorCodeTypeEnum codeType, String indicatorCode) {
226 227 DimensionTypeEnum dimensionType = EvalScopeEnum.STAFF.equals(obj.getScopeType()) ? DimensionTypeEnum.STAFF : DimensionTypeEnum.SHOP;
227 228 if (IndicatorCodeTypeEnum.INDICATOR.equals(codeType)) {
228   - LambdaQueryWrapper<IndicatorUserStageValue> queryWrapper = Wrappers.<IndicatorUserStageValue>lambdaQuery()
229   - .eq(IndicatorUserStageValue::getIndicatorCode, indicatorCode)
230   - .eq(IndicatorUserStageValue::getBeginDate, obj.getBeginDate())
231   - .eq(IndicatorUserStageValue::getEndDate, obj.getDataDate())
232   - .eq(IndicatorUserStageValue::getDimensionType, dimensionType)
233   - .eq(IndicatorUserStageValue::getYn, Boolean.TRUE)
234   - .eq(IndicatorUserStageValue::getGroupId, obj.getGroupId());
  229 + //多阶段查询
  230 + if (Boolean.TRUE.equals(obj.getMultiStage())) {
  231 + LambdaQueryWrapper<IndicatorUserStageValue> queryWrapper = Wrappers.<IndicatorUserStageValue>lambdaQuery()
  232 + .eq(IndicatorUserStageValue::getIndicatorCode, indicatorCode)
  233 + .eq(IndicatorUserStageValue::getBeginDate, obj.getBeginDate())
  234 + .eq(IndicatorUserStageValue::getEndDate, obj.getDataDate())
  235 + .eq(IndicatorUserStageValue::getDimensionType, dimensionType)
  236 + .eq(IndicatorUserStageValue::getYn, Boolean.TRUE)
  237 + .eq(IndicatorUserStageValue::getGroupId, obj.getGroupId());
  238 + if (EvalScopeEnum.STAFF.equals(obj.getScopeType())) {
  239 + queryWrapper.eq(IndicatorUserStageValue::getUserId, obj.getReferId());
  240 + } else {
  241 + queryWrapper.eq(IndicatorUserStageValue::getShopId, obj.getReferId());
  242 + }
  243 + IndicatorUserStageValue indicatorUserStageValue = indicatorUserStageValueService.getOne(queryWrapper, Boolean.FALSE);
  244 + return queryKpiIndicatorValue(indicatorUserStageValue);
  245 + }
  246 + //单阶段查询
  247 + LambdaQueryWrapper<IndicatorUserValue> queryWrapper = Wrappers.<IndicatorUserValue>lambdaQuery()
  248 + .eq(IndicatorUserValue::getIndicatorCode, indicatorCode)
  249 + .eq(IndicatorUserValue::getDataDate, obj.getDataDate())
  250 + .eq(IndicatorUserValue::getDimensionType, dimensionType)
  251 + .eq(IndicatorUserValue::getYn, Boolean.TRUE)
  252 + .eq(IndicatorUserValue::getGroupId, obj.getGroupId());
235 253 if (EvalScopeEnum.STAFF.equals(obj.getScopeType())) {
236   - queryWrapper.eq(IndicatorUserStageValue::getUserId, obj.getReferId());
  254 + queryWrapper.eq(IndicatorUserValue::getUserId, obj.getReferId());
237 255 } else {
238   - queryWrapper.eq(IndicatorUserStageValue::getShopId, obj.getReferId());
  256 + queryWrapper.eq(IndicatorUserValue::getShopId, obj.getReferId());
239 257 }
240   - IndicatorUserStageValue indicatorUserStageValue = indicatorUserStageValueService.getOne(queryWrapper, Boolean.FALSE);
241   - return queryKpiIndicatorValue(indicatorUserStageValue);
  258 + IndicatorUserValue indicatorUserValue = indicatorUserValueService.getOne(queryWrapper, Boolean.FALSE);
  259 + return queryKpiIndicatorValue(indicatorUserValue);
242 260 }
243 261  
244 262 EvalIndicatorValue evalIndicatorValue = evalIndicatorValueService.queryLastValue(obj.getReferId(),
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalCalculateService.java
... ... @@ -183,7 +183,12 @@ public class EvalCalculateService {
183 183 log.error("考评排名组阶段[{}]不存在,终止计算!", JSON.toJSONString(evalGroup));
184 184 return;
185 185 }
186   - List<EvalGroupUserShop> userShops = this.buildEvalGroupObj(evalGroup, evalGroupRankStage, localDate, scopeType);
  186 + EvalGroupRank evalGroupRank = evalGroupRankService.getById(evalGroup.getEvalGroupRankId());
  187 + if (Objects.isNull(evalGroupRank)) {
  188 + log.error("考评组[{}]排名组不存在,终止计算!", evalGroup.getEvalGroupRankId());
  189 + return;
  190 + }
  191 + List<EvalGroupUserShop> userShops = this.buildEvalGroupObj(evalGroup, evalGroupRank, evalGroupRankStage, localDate, scopeType);
187 192 if (CollectionUtils.isEmpty(userShops)) {
188 193 log.error("考评组[{}]人员为空,终止计算!", evalGroupId);
189 194 return;
... ... @@ -269,8 +274,7 @@ public class EvalCalculateService {
269 274 }
270 275  
271 276  
272   - public List<EvalGroupUserShop> buildEvalGroupObj(EvalGroup evalGroup, EvalGroupRankStage evalGroupRankStage, LocalDate localDate, EvalScopeEnum scopeType) {
273   - LocalDate beginDate = evalGroupRankStage.getBeginTime();
  277 + public List<EvalGroupUserShop> buildEvalGroupObj(EvalGroup evalGroup, EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage, LocalDate localDate, EvalScopeEnum scopeType) {
274 278 List<EvalGroupUserShop> userShops = new ArrayList<>();
275 279 if (EvalScopeEnum.STAFF.equals(scopeType)) {
276 280 List<EvalGroupUser> users = evalGroupUserService.list(Wrappers.<EvalGroupUser>lambdaQuery()
... ... @@ -282,7 +286,7 @@ public class EvalCalculateService {
282 286 Map<Long, EvalUserPool> userPoolMap = evalPoolCommonService.inspectionUserPoolMap(evalGroup, evalGroupRankStage, users, localDate);
283 287 for (EvalGroupUser user : users) {
284 288 EvalUserPool userPool = userPoolMap.get(user.getUserId());
285   - userShops.add(convertBO(user, userPool));
  289 + userShops.add(convertBO(user, userPool, evalGroupRank, evalGroupRankStage));
286 290 }
287 291 return userShops;
288 292 }
... ... @@ -291,7 +295,7 @@ public class EvalCalculateService {
291 295 for (Long shopId : evalGroup.getShopIds()) {
292 296 EvalShopPool shopPool = shopPoolBOMap.get(shopId);
293 297 Boolean ignored = ! distShopIds.contains(shopId);
294   - userShops.add(convertBO(shopPool, evalGroup, beginDate, localDate, ignored));
  298 + userShops.add(convertBO(shopPool, evalGroup, evalGroupRank, evalGroupRankStage, localDate, ignored));
295 299 }
296 300 return userShops;
297 301 }
... ... @@ -619,7 +623,7 @@ public class EvalCalculateService {
619 623 return poolDetail;
620 624 }
621 625  
622   - public EvalGroupUserShop convertBO(EvalGroupUser user, EvalUserPool userPool) {
  626 + public EvalGroupUserShop convertBO(EvalGroupUser user, EvalUserPool userPool, EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage) {
623 627 EvalGroupUserShop userShop = new EvalGroupUserShop();
624 628 userShop.setName(user.getUserName());
625 629 userShop.setScopeType(EvalScopeEnum.STAFF);
... ... @@ -628,7 +632,9 @@ public class EvalCalculateService {
628 632 userShop.setPostId(userPool.getPostId());
629 633 userShop.setShopId(userPool.getShopId());
630 634 userShop.setReferId(user.getUserId());
  635 + userShop.setBeginDate(evalGroupRankStage.getBeginTime());
631 636 userShop.setDataDate(user.getDataDate());
  637 + userShop.setMultiStage(evalGroupRank.getMultiStage());
632 638 userShop.setGroupId(user.getGroupId());
633 639 userShop.setScore(BigDecimal.ZERO);
634 640 userShop.setReward(BigDecimal.ZERO);
... ... @@ -636,7 +642,7 @@ public class EvalCalculateService {
636 642 return userShop;
637 643 }
638 644  
639   - public EvalGroupUserShop convertBO(EvalShopPool shopPool, EvalGroup evalGroup, LocalDate beginDate, LocalDate dataDate, Boolean ignored) {
  645 + public EvalGroupUserShop convertBO(EvalShopPool shopPool, EvalGroup evalGroup, EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage, LocalDate dataDate, Boolean ignored) {
640 646 EvalGroupUserShop userShop = new EvalGroupUserShop();
641 647 userShop.setName(shopPool.getShopName());
642 648 userShop.setReferId(shopPool.getShopId());
... ... @@ -645,8 +651,9 @@ public class EvalCalculateService {
645 651 userShop.setScopeType(EvalScopeEnum.SHOP);
646 652 userShop.setEvalId(userShop.getEvalId());
647 653 userShop.setEvalGroupId(evalGroup.getId());
648   - userShop.setBeginDate(beginDate);
  654 + userShop.setBeginDate(evalGroupRankStage.getBeginTime());
649 655 userShop.setDataDate(dataDate);
  656 + userShop.setMultiStage(evalGroupRank.getMultiStage());
650 657 userShop.setGroupId(evalGroup.getGroupId());
651 658 userShop.setIgnored(ignored);
652 659 userShop.setScore(BigDecimal.ZERO);
... ...
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  
... ... @@ -289,14 +285,14 @@ public class EvalGroupPoolService {
289 285 //排名维度
290 286 for (Map.Entry<Long, List<EvalUserPool>> rankEntry : rankPools.entrySet()) {
291 287 List<EvalUserPool> userRankPools = rankEntry.getValue();
292   - double averageKpiScoreRatio = userRankPools.stream()
  288 + Double averageKpiScoreRatio = userRankPools.stream()
293 289 .mapToDouble(r -> Optional.ofNullable(r.getScoreRatio()).orElse(BigDecimal.ZERO).doubleValue())
294 290 .average()
295 291 .orElse(0);
296 292 BigDecimal reward = userRankPools.stream().map(EvalUserPool::getReward).reduce(BigDecimal.ZERO, BigDecimal::add);
297 293 EvalUserGroupRankVO rank = new EvalUserGroupRankVO();
298 294 rank.setEvalGroupRankName(rankNameMap.getOrDefault(rankEntry.getKey(), ""));
299   - rank.setScoreRatio(new BigDecimal(averageKpiScoreRatio).multiply(Constant.ONE_HUNDRED));
  295 + rank.setScoreRatio(new BigDecimal(averageKpiScoreRatio.toString()).multiply(Constant.ONE_HUNDRED));
300 296 rank.setReward(reward);
301 297 rank.setEvalGroupRankId(rankEntry.getKey());
302 298 ranks.add(rank);
... ... @@ -500,6 +496,10 @@ public class EvalGroupPoolService {
500 496 if (! TargetTypeEnum.NO.equals(paramVO.getTargetType())) {
501 497 paramVO.setReachValue(Optional.ofNullable(paramVO.getReachValue()).orElse(BigDecimal.ZERO).multiply(Constant.ONE_HUNDRED));
502 498 }
  499 + //有目标
  500 + if (PublicUtil.isNotEmpty(paramVO.getExtraTargetType()) && (! TargetTypeEnum.NO.equals(paramVO.getExtraTargetType()))) {
  501 + paramVO.setExtraReachValue(Optional.ofNullable(paramVO.getExtraReachValue()).orElse(BigDecimal.ZERO).multiply(Constant.ONE_HUNDRED));
  502 + }
503 503 }
504 504  
505 505 for (EvalGroupIndicatorParamVO paramVO : Optional.ofNullable(detail.getLadderParams()).orElse(new ArrayList<>())) {
... ... @@ -511,6 +511,10 @@ public class EvalGroupPoolService {
511 511 if (! TargetTypeEnum.NO.equals(paramVO.getTargetType())) {
512 512 paramVO.setReachValue(Optional.ofNullable(paramVO.getReachValue()).orElse(BigDecimal.ZERO).multiply(Constant.ONE_HUNDRED));
513 513 }
  514 + //有目标
  515 + if (PublicUtil.isNotEmpty(paramVO.getExtraTargetType()) && (! TargetTypeEnum.NO.equals(paramVO.getExtraTargetType()))) {
  516 + paramVO.setExtraReachValue(Optional.ofNullable(paramVO.getExtraReachValue()).orElse(BigDecimal.ZERO).multiply(Constant.ONE_HUNDRED));
  517 + }
514 518 }
515 519  
516 520 for (EvalGroupIndicatorPreconditionVO preconditionVO : Optional.ofNullable(detail.getConds()).orElse(new ArrayList<>())) {
... ... @@ -543,7 +547,6 @@ public class EvalGroupPoolService {
543 547 scopeType, dataDate, paramVos);
544 548  
545 549 for (EvalGroupIndicatorParamVO paramVO : paramVos) {
546   - String code = paramVO.getCode();
547 550 Long paramId = paramVO.getId();
548 551 //无目标
549 552 // if (TargetTypeEnum.NO.equals(paramVO.getTargetType())) {
... ... @@ -556,8 +559,15 @@ public class EvalGroupPoolService {
556 559 Optional<EvalGroupIndicatorTargetHitLog> hitLogOptional = Optional.ofNullable(paramTargetHitLogMap.get(paramId));
557 560 paramVO.setIndicatorValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getValue).orElse(BigDecimal.ZERO));
558 561 paramVO.setReachValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getReachValue).orElse(BigDecimal.ZERO));
559   - paramVO.setExtraReachValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getReachValue).orElse(BigDecimal.ZERO));
  562 + paramVO.setExtraReachValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getExtraReachValue).orElse(BigDecimal.ZERO));
560 563 paramVO.setUseTarget(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getUseTarget).orElse(EvalUseTargetEnum.NO));
  564 +
  565 +// paramVO.setTargetCalcType(paramVO.getTargetCalcType());
  566 +// paramVO.setTargetType(paramVO.getTargetType());
  567 +// paramVO.setTargetValue(paramVO.getTargetValue());
  568 +// paramVO.setExtraTargetCalcType(paramVO.getExtraTargetCalcType());
  569 +// paramVO.setExtraTargetType(paramVO.getExtraTargetType());
  570 +// paramVO.setExtraTargetValue(paramVO.getExtraTargetValue());
561 571 }
562 572  
563 573 Map<ParamTypeEnum, List<EvalGroupIndicatorParamVO>> indicatorParamMap = paramVos.stream()
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalRewardService.java
... ... @@ -5,6 +5,7 @@ import cn.fw.common.cache.locker.DistributedLocker;
5 5 import cn.fw.common.exception.BusinessException;
6 6 import cn.fw.common.web.auth.LoginAuthBean;
7 7 import cn.fw.morax.common.config.TodoVal;
  8 +import cn.fw.morax.common.constant.Constant;
8 9 import cn.fw.morax.common.pojo.event.ApprovalResultEvent;
9 10 import cn.fw.morax.common.utils.DateUtil;
10 11 import cn.fw.morax.common.utils.PublicUtil;
... ... @@ -44,9 +45,11 @@ import org.springframework.stereotype.Service;
44 45 import org.springframework.transaction.annotation.Transactional;
45 46  
46 47 import java.math.BigDecimal;
  48 +import java.text.DateFormat;
47 49 import java.text.DecimalFormat;
48 50 import java.time.LocalDate;
49 51 import java.time.LocalDateTime;
  52 +import java.time.format.DateTimeFormatter;
50 53 import java.util.*;
51 54 import java.util.concurrent.RejectedExecutionException;
52 55 import java.util.concurrent.ThreadPoolExecutor;
... ... @@ -169,7 +172,7 @@ public class EvalRewardService {
169 172 log.error("考评奖惩没有门店:{}", JSON.toJSONString(evalGroup));
170 173 return;
171 174 }
172   -// sendDistRewardTodo(shopRewardDims, evalGroup, evalGroupRank, evalGroupRankStage);
  175 + sendDistRewardTodo(shopRewardDims, evalGroup, evalGroupRank, evalGroupRankStage);
173 176 }
174 177  
175 178 /**
... ... @@ -180,13 +183,8 @@ public class EvalRewardService {
180 183 @Transactional(rollbackFor = Exception.class)
181 184 public void sendDistRewardTodo(List<EvalGroupRewardDim> shopRewardDims, EvalGroup evalGroup,
182 185 EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage) {
183   - String evalGroupRankName = evalGroupRank.getName();
184   - String evalGroupRankStageName = evalGroupRankStage.getName();
185   - DecimalFormat decimalFormat = new DecimalFormat("##########.##");
186 186 List<BacklogBatchPlanItemReqDTO> itemList = new ArrayList<>();
187   -
188 187 List<Long> distPoolIds = new ArrayList<>();
189   - final Date expireTime = DateUtil.localDateTime2Date(LocalDateTime.now().plusDays(2L));
190 188 for (EvalGroupRewardDim rewardDim : shopRewardDims) {
191 189 final String roleCode = rewardDim.getDistRoleCode();
192 190 List<EvalShopPool> pools = evalShopPoolService.list(Wrappers.<EvalShopPool>lambdaQuery()
... ... @@ -219,33 +217,15 @@ public class EvalRewardService {
219 217 }
220 218 //奖惩为0不分配
221 219 if (BigDecimal.ZERO.compareTo(reward) == 0) {
222   - return;
  220 + continue;
223 221 }
224 222  
225   - EvalRewardDist rewardDist = transferPo(evalGroup);
  223 + EvalRewardDist rewardDist = this.convertRewardDist(evalGroup, evalGroupRank, evalGroupRankStage, poolIds, manageShopIds);
226 224 rewardDist.setUserId(user.getUserId());
227   - rewardDist.setEvalShopPoolIds(poolIds);
228   - rewardDist.setShopIds(manageShopIds);
229   - rewardDist.setEvalName(evalGroupRankName);
230   -// rewardDist.setEvalType(evalType);
231 225 rewardDist.setReward(reward);
232 226 evalRewardDistService.save(rewardDist);
233   -
234   - BacklogBatchPlanItemReqDTO planItemReq = new BacklogBatchPlanItemReqDTO();
235   - planItemReq.setDataId(rewardDist.getId().toString());
236   - planItemReq.setUserId(user.getUserId());
237   - planItemReq.setPlanTime(new Date());
238   - planItemReq.setExpireTime(expireTime);
239   -
240   - Map<String, String> dynamicMap = new HashMap<>(8);
241   - dynamicMap.put("evalGroupName", evalGroupRankName);
242   - dynamicMap.put("evalName", evalGroupRankStageName);
243   -// dynamicMap.put("evalType", evalType.getName());
244   - dynamicMap.put("amount", decimalFormat.format(rewardDist.getReward()));
245   - planItemReq.setDynamicMap(dynamicMap);
246   -
247   - Map<String, Object> extraData = new HashMap<>();
248   - planItemReq.setExtraData(extraData);
  227 + BacklogBatchPlanItemReqDTO planItemReq = this.createBacklog(rewardDist, user.getUserId());
  228 + planItemReq.setDynamicMap(rewardDistDynamicMap(rewardDist, evalGroupRank, evalGroupRankStage));
249 229 itemList.add(planItemReq);
250 230 }
251 231 }
... ... @@ -269,11 +249,49 @@ public class EvalRewardService {
269 249 }
270 250 }
271 251  
272   - public EvalRewardDist transferPo(EvalGroup evalGroup) {
  252 +
  253 + public BacklogBatchPlanItemReqDTO createBacklog(EvalRewardDist rewardDist, Long userId) {
  254 + Date expireTime = DateUtil.localDateTime2Date(LocalDateTime.now().plusDays(2L));
  255 + BacklogBatchPlanItemReqDTO planItemReq = new BacklogBatchPlanItemReqDTO();
  256 + planItemReq.setDataId(rewardDist.getId().toString());
  257 + planItemReq.setUserId(userId);
  258 + planItemReq.setPlanTime(new Date());
  259 + planItemReq.setExpireTime(expireTime);
  260 + planItemReq.setExtraData(new HashMap<>());
  261 + return planItemReq;
  262 + }
  263 +
  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 +
  271 + DecimalFormat decimalFormat = new DecimalFormat("##########.##");
  272 + Map<String, String> dynamicMap = new HashMap<>(8);
  273 + dynamicMap.put("evalGroupRankName", evalGroupRank.getName());
  274 + dynamicMap.put("evalGroupRankStageName", evalGroupRankStageName);
  275 + dynamicMap.put("evalGroupRankStageTime", timeStr);
  276 + dynamicMap.put("amount", decimalFormat.format(rewardDist.getReward()));
  277 + return dynamicMap;
  278 + }
  279 +
  280 + public EvalRewardDist convertRewardDist(EvalGroup evalGroup, EvalGroupRank evalGroupRank, EvalGroupRankStage evalGroupRankStage,
  281 + List<Long> poolIds, List<Long> manageShopIds) {
273 282 EvalRewardDist rewardDist = new EvalRewardDist();
274   - rewardDist.setEvalId(evalGroup.getEvalGroupRankId());
275 283 rewardDist.setEvalGroupId(evalGroup.getId());
276   -// rewardDist.setEvalGroupName(evalGroup.getName());
  284 + rewardDist.setEvalGroupRankId(evalGroupRank.getId());
  285 + rewardDist.setEvalGroupRankStageId(evalGroupRankStage.getId());
  286 + rewardDist.setEvalGroupRankName(evalGroupRank.getName());
  287 + String evalGroupRankStageName = (PublicUtil.isNotEmpty(evalGroupRankStage.getName()) ? evalGroupRankStage.getName() : "---");
  288 + rewardDist.setEvalGroupRankStageName(evalGroupRankStageName);
  289 + rewardDist.setBeginTime(evalGroupRankStage.getBeginTime());
  290 + rewardDist.setOverTime(evalGroupRankStage.getOverTime());
  291 + rewardDist.setEvalShopPoolIds(poolIds);
  292 + rewardDist.setShopIds(manageShopIds);
  293 +
  294 + rewardDist.setEvalGroupId(evalGroup.getId());
277 295 rewardDist.setStatus(EvalRewardDistStatusEnum.NO_DIST);
278 296 rewardDist.setGroupId(evalGroup.getGroupId());
279 297 rewardDist.setYn(Boolean.TRUE);
... ...