diff --git a/doc/2023-05-18_update.sql b/doc/2023-05-18_update.sql
index f86f321..869dd83 100644
--- a/doc/2023-05-18_update.sql
+++ b/doc/2023-05-18_update.sql
@@ -4,3 +4,8 @@ ALTER TABLE `fw_morax`.`eval_user_pool`
CHANGE COLUMN `eval_group_stage_id` `eval_group_rank_stage_id` bigint(20) NOT NULL COMMENT '考评阶段id' AFTER `eval_group_rank_id`;
ALTER TABLE `fw_morax`.`eval_group_user`
ADD COLUMN `eval_group_rank_stage_id` bigint(20) NOT NULL COMMENT '考评排名组阶段id' AFTER `eval_group_rank_id`;
+
+-- 2023年5月23日
+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`;
diff --git a/fw-morax-dao/src/main/resources/mapper/eval/EvalGroupIndicatorTargetHitLogMapper.xml b/fw-morax-dao/src/main/resources/mapper/eval/EvalGroupIndicatorTargetHitLogMapper.xml
index 256cc08..043dcec 100644
--- a/fw-morax-dao/src/main/resources/mapper/eval/EvalGroupIndicatorTargetHitLogMapper.xml
+++ b/fw-morax-dao/src/main/resources/mapper/eval/EvalGroupIndicatorTargetHitLogMapper.xml
@@ -9,6 +9,8 @@
+
+
@@ -24,6 +26,8 @@
t1.`pool_id`,
t1.`value` AS `value`,
t1.`reach_value`,
+ t1.`extra_reach_value`,
+ t1.`use_target`,
t1.`data_date`,
t1.`group_id`
FROM
diff --git a/fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java b/fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java
index 14c59e1..c9e381c 100644
--- a/fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java
+++ b/fw-morax-domain/src/main/java/cn/fw/morax/domain/bo/eval/EvalGroupUserShop.java
@@ -65,6 +65,11 @@ public class EvalGroupUserShop {
*/
private Long referId;
+// /**
+// * 多阶段
+// */
+// private Boolean multiStage;
+
/**
* 数据开始日期
*/
diff --git a/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupIndicatorTargetHitLog.java b/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupIndicatorTargetHitLog.java
index 9b0ff98..b67fa43 100644
--- a/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupIndicatorTargetHitLog.java
+++ b/fw-morax-domain/src/main/java/cn/fw/morax/domain/db/eval/EvalGroupIndicatorTargetHitLog.java
@@ -2,6 +2,7 @@ package cn.fw.morax.domain.db.eval;
import cn.fw.common.data.entity.BaseAuditableTimeEntity;
import cn.fw.morax.domain.enums.EvalScopeEnum;
+import cn.fw.morax.domain.enums.EvalUseTargetEnum;
import cn.fw.morax.domain.enums.IndicatorTypeEnum;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
@@ -60,6 +61,16 @@ public class EvalGroupIndicatorTargetHitLog extends BaseAuditableTimeEntity {
+ /**
+ * 考评使用目标; 1:无目标 2:第一目标 3:额外目标值
+ */
+ NO(1, "无目标"),
+ FIRST_TARGET(2, "第一目标"),
+ EXTRA_TARGET(2, "额外目标值"),
+ ;
+
+ /**
+ * 值
+ */
+ private final Integer value;
+ /**
+ * 名称
+ */
+ @Getter
+ private final String name;
+
+ EvalUseTargetEnum(final Integer value, final String name) {
+ this.value = value;
+ this.name = name;
+ }
+
+ /**
+ * 根据枚举值获取枚举对象
+ */
+ @JsonCreator
+ public static EvalUseTargetEnum ofValue(final Integer value) {
+ for (final EvalUseTargetEnum _enum : EvalUseTargetEnum.values()) {
+ if (_enum.value.equals(value)) {
+ return _enum;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * 获取值
+ *
+ * @return 值
+ */
+ @JsonValue
+ @Override
+ public Integer getValue() {
+ return value;
+ }
+
+ /**
+ * 获取描述
+ *
+ * @return 值
+ */
+ @JsonCreator
+ public static String getNameByVale(final Integer value) {
+ for (final EvalUseTargetEnum _enum : EvalUseTargetEnum.values()) {
+ if (_enum.value.equals(value)) {
+ return _enum.getName();
+ }
+ }
+ return "";
+ }
+}
diff --git a/fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalGroupIndicatorParamVO.java b/fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalGroupIndicatorParamVO.java
index a904810..5c17fd8 100644
--- a/fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalGroupIndicatorParamVO.java
+++ b/fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalGroupIndicatorParamVO.java
@@ -93,14 +93,24 @@ public class EvalGroupIndicatorParamVO {
private BigDecimal indicatorValue;
/**
- * 达成值
+ * 达成目标
*/
private BigDecimal reachValue;
/**
+ * 额外达成目标
+ */
+ private BigDecimal extraReachValue;
+
+ /**
+ * 考评使用目标; 1:无目标 2:第一目标 3:额外目标值
+ */
+ private EvalUseTargetEnum useTarget;
+
+ /**
* 时间进度目标值
*/
- private BigDecimal timeScheduleTargetValue;
+// private BigDecimal timeScheduleTargetValue;
/**
* 目标计算类型;1: 目标值计算 2:最低要求计算 3:阶段目标 4:时间进度
diff --git a/fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalGroupIndicatorTargetHitLogVO.java b/fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalGroupIndicatorTargetHitLogVO.java
index f2b26dc..52b6621 100644
--- a/fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalGroupIndicatorTargetHitLogVO.java
+++ b/fw-morax-domain/src/main/java/cn/fw/morax/domain/vo/eval/EvalGroupIndicatorTargetHitLogVO.java
@@ -2,6 +2,7 @@ package cn.fw.morax.domain.vo.eval;
import cn.fw.common.data.entity.BaseAuditableTimeEntity;
import cn.fw.morax.domain.enums.EvalScopeEnum;
+import cn.fw.morax.domain.enums.EvalUseTargetEnum;
import cn.fw.morax.domain.enums.IndicatorTypeEnum;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
@@ -56,6 +57,16 @@ public class EvalGroupIndicatorTargetHitLogVO extends BaseAuditableTimeEntity msg = managerApi.getRealTimeManagerLeaveScope(null, staffId, startLeaveTime.getTime(), endLeaveTime.getTime());
- log.info("ManagerApi.getRealTimeManagerScope: msg.code={}, msg.result={}, msg.data={}", msg.getCode(), msg.getResult(), msg.getData());
+ log.info("ManagerApi.getRealTimeManagerLeaveScope: msg.code={}, msg.result={}, msg.data={}", msg.getCode(), msg.getResult(), msg.getData());
if (msg.isSuccess() && !Objects.isNull(msg.getData())) {
return this.convertStaffBaseDTOs(msg.getData().getManageStaffList());
}
diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/controller/app/EvalPoolController.java b/fw-morax-server/src/main/java/cn/fw/morax/server/controller/app/EvalPoolController.java
index a7cff52..8383c62 100644
--- a/fw-morax-server/src/main/java/cn/fw/morax/server/controller/app/EvalPoolController.java
+++ b/fw-morax-server/src/main/java/cn/fw/morax/server/controller/app/EvalPoolController.java
@@ -90,8 +90,7 @@ public class EvalPoolController {
if (Objects.isNull(userId)) {
userId = user.getUserId();
}
-// return success(evalGroupPoolService.evalPoolSelector(userId, monthly));
- return success();
+ return success(evalGroupPoolService.evalPoolSelector(userId, monthly));
}
/**
@@ -99,11 +98,11 @@ public class EvalPoolController {
*/
@GetMapping("/own-detail")
@ControllerMethod("考评详情查询")
- public Message> evalPoolOwnDetail(@CurrentUser Long userId) {
-// dto.initMonthly();
-// dto.setUserId(userId);
-// return success(evalGroupPoolService.queryRankStagePools(dto));
- return success();
+ public Message> evalPoolOwnDetail(@CurrentUser Long userId,
+ @Valid EvalUserRankDTO dto) {
+ dto.initMonthly();
+ dto.setUserId(userId);
+ return success(evalGroupPoolService.queryRankStagePools(dto));
}
/**
@@ -117,8 +116,7 @@ public class EvalPoolController {
if (PublicUtil.isEmpty(dto.getUserId())) {
throw new BusinessException("人员信息不能为空");
}
-// return success(evalGroupPoolService.queryRankStagePools(dto));
- return success();
+ return success(evalGroupPoolService.queryRankStagePools(dto));
}
/**
diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/controller/erp/EvalTaskController.java b/fw-morax-server/src/main/java/cn/fw/morax/server/controller/erp/EvalTaskController.java
index 8b21b28..be35294 100644
--- a/fw-morax-server/src/main/java/cn/fw/morax/server/controller/erp/EvalTaskController.java
+++ b/fw-morax-server/src/main/java/cn/fw/morax/server/controller/erp/EvalTaskController.java
@@ -49,7 +49,11 @@ public class EvalTaskController {
@GetMapping("/group-user")
@ControllerMethod("考评组人员")
public Message processEvalUser(Date date) {
- evalGroupUserTask.processEvalUser();
+ if (PublicUtil.isEmpty(date)) {
+ evalGroupUserTask.processEvalUser(LocalDate.now().minusDays(1L));
+ } else {
+ evalGroupUserTask.processEvalUser(DateUtil.date2LocalDate(date));
+ }
return success();
}
diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java
index 32278bb..b8dfb3c 100644
--- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java
+++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalGroupUserTask.java
@@ -58,6 +58,12 @@ public class EvalGroupUserTask {
@Scheduled(cron = TimeTaskConstant.EVAL_GROUP_USER)
@Transactional(rollbackFor = Exception.class)
public void processEvalUser() {
+ LocalDate yesterday = LocalDate.now().minusDays(1);
+ this.processEvalUser(yesterday);
+ }
+
+ @Transactional(rollbackFor = Exception.class)
+ public void processEvalUser(LocalDate yesterday) {
Lock lock = distributedLocker.lock(getEvalGroupUserDistKey());
if (((RLock) lock).isLocked()) {
try {
@@ -65,7 +71,6 @@ public class EvalGroupUserTask {
StopWatch stopWatch = new StopWatch();
stopWatch.start("考评组人员更新,查询人事系统人员状态");
//查询员工
- LocalDate yesterday = LocalDate.now().minusDays(1);
List evalGroupUsersForSave = this.queryKpiStaff(yesterday);
stopWatch.stop();
if (PublicUtil.isEmpty(evalGroupUsersForSave)) {
diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalUserReportTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalUserReportTask.java
index b5ae021..534d2dc 100644
--- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalUserReportTask.java
+++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/EvalUserReportTask.java
@@ -96,8 +96,8 @@ public class EvalUserReportTask {
TransactionStatus transactionStatus = platformTransactionManager.getTransaction(transactionDefinition);
try {
log.info("定时任务【考评人员报表数据抽取】开始执行");
- Map> groupKpiGroupMap = queryStaffEffectRank(date);
- for (Map.Entry> entry : groupKpiGroupMap.entrySet()) {
+ Map> groupEvalGroupMap = queryEffectRank(date);
+ for (Map.Entry> entry : groupEvalGroupMap.entrySet()) {
for (EvalGroupRank rank : entry.getValue()) {
//清除当月数据(当月只有一条数据)
cleanRankCurMonthData(rank.getId(), date);
@@ -400,8 +400,13 @@ public class EvalUserReportTask {
return rankCodes;
}
- public Map> queryStaffEffectRank(LocalDate date) {
+ public Map> queryEffectRank(LocalDate date) {
+ List status = new ArrayList(){{
+ add(SettingStatusEnum.EFFECTIVE);
+ add(SettingStatusEnum.BE_EFFECTIVE);
+ }};
List evalGroupRanks = evalGroupRankService.list(Wrappers.lambdaQuery()
+ .in(EvalGroupRank::getStatus, status)
.ge(EvalGroupRank::getOverTime, date)
.eq(EvalGroupRank::getYn, Boolean.TRUE)
);
diff --git a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/kpi/EvalKpiBaseCalculator.java b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/kpi/EvalKpiBaseCalculator.java
index 743ec76..adc5c42 100644
--- a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/kpi/EvalKpiBaseCalculator.java
+++ b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/calculator/eval/kpi/EvalKpiBaseCalculator.java
@@ -80,9 +80,12 @@ public abstract class EvalKpiBaseCalculator implements Calculator 0)) {
- indicatorValue = extraIndicatorValue;
+ if (PublicUtil.isEmpty(reachValue) || (extraReachValue.compareTo(reachValue) > 0)) {
+ indicatorValue = extraReachValue;
+ useTarget = EvalUseTargetEnum.EXTRA_TARGET;
}
}
-
- saveTargetHitLog(userShop, param.getId(), IndicatorTypeEnum.EXAMINE, originValue, indicatorValue);
+ EvalGroupIndicatorTargetHitLog log = new EvalGroupIndicatorTargetHitLog();
+ log.setValue(originValue);
+ log.setReachValue(reachValue);
+ log.setExtraReachValue(extraReachValue);
+ log.setUseTarget(useTarget);
+ saveTargetHitLog(userShop, param.getId(), IndicatorTypeEnum.EXAMINE, originValue, log);
boolean isCap = Boolean.TRUE.equals(param.getCap());
BigDecimal proportion = param.getProportion();
@@ -281,6 +298,26 @@ public abstract class EvalKpiBaseCalculator implements Calculator queryKpiIndicatorValue(IndicatorUserValue indicatorUserValue) {
+ if (PublicUtil.isEmpty(indicatorUserValue) || PublicUtil.isEmpty(indicatorUserValue.getIndicatorValue())) {
+ return Optional.empty();
+ }
+ BigDecimal value = BigDecimal.ZERO;
+ try {
+ JSONObject jsonObject = JSONObject.parseObject(indicatorUserValue.getIndicatorValue());
+ value = Optional.ofNullable(jsonObject.getBigDecimal(indicatorUserValue.getIndicatorCode())).orElse(BigDecimal.ZERO);
+ } catch (Exception e) {
+ log.error("[{}]指标值转化失败", indicatorUserValue, e);
+ }
+ return Optional.of(value);
+ }
+
+ /**
+ * 查询具体指标值
+ *
* @param indicatorCode
* @param originalValue
* @return
@@ -318,6 +355,25 @@ public abstract class EvalKpiBaseCalculator implements CalculatorlambdaQuery()
+ .eq(EvalGroupIndicatorTargetHitLog::getPoolId, userShop.getPoolId())
+ .eq(EvalGroupIndicatorTargetHitLog::getScopeType, userShop.getScopeType())
+ .eq(EvalGroupIndicatorTargetHitLog::getTargetType, targetType)
+ .eq(EvalGroupIndicatorTargetHitLog::getDataDate, userShop.getDataDate())
+ .eq(EvalGroupIndicatorTargetHitLog::getReferId, referId)
+ );
+ log.setPoolId(userShop.getPoolId());
+ log.setScopeType(userShop.getScopeType());
+ log.setReferId(referId);
+ log.setTargetType(targetType);
+ log.setValue(value);
+ log.setDataDate(userShop.getDataDate());
+ log.setGroupId(userShop.getGroupId());
+ log.setYn(Boolean.TRUE);
+ evalGroupIndicatorTargetHitLogService.save(log);
+ }
+
protected void saveTargetHitLog(EvalGroupUserShop userShop, Long referId, IndicatorTypeEnum targetType, BigDecimal value, BigDecimal reachValue) {
evalGroupIndicatorTargetHitLogService.remove(Wrappers.lambdaQuery()
.eq(EvalGroupIndicatorTargetHitLog::getPoolId, userShop.getPoolId())
@@ -333,6 +389,7 @@ public abstract class EvalKpiBaseCalculator implements Calculator hitLogOptional = Optional.ofNullable(paramTargetHitLogMap.get(paramId));
paramVO.setIndicatorValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getValue).orElse(BigDecimal.ZERO));
paramVO.setReachValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getReachValue).orElse(BigDecimal.ZERO));
+ paramVO.setExtraReachValue(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getReachValue).orElse(BigDecimal.ZERO));
+ paramVO.setUseTarget(hitLogOptional.map(EvalGroupIndicatorTargetHitLog::getUseTarget).orElse(EvalUseTargetEnum.NO));
}
Map> indicatorParamMap = paramVos.stream()
@@ -560,23 +569,21 @@ public class EvalGroupPoolService {
EvalScopeEnum scopeType,
LocalDate dataDate,
List paramVos) {
- List hasTargetParamIds = paramVos.stream()
- .filter(param -> (! TargetTypeEnum.NO.equals(param.getTargetType())))
- .map(EvalGroupIndicatorParamVO::getId).collect(Collectors.toList());
+// List hasTargetParamIds = paramVos.stream()
+// .filter(param -> (! TargetTypeEnum.NO.equals(param.getTargetType())))
+// .map(EvalGroupIndicatorParamVO::getId).collect(Collectors.toList());
Map paramTargetHitLogMap = new HashMap<>();
- if (PublicUtil.isNotEmpty(hasTargetParamIds)) {
- List targetHitLogs = evalGroupIndicatorTargetHitLogService.list(Wrappers.lambdaQuery()
- .in(EvalGroupIndicatorTargetHitLog::getReferId, hasTargetParamIds)
- .in(EvalGroupIndicatorTargetHitLog::getTargetType, IndicatorTypeEnum.EXAMINE)
- .eq(EvalGroupIndicatorTargetHitLog::getDataDate, dataDate)
- .eq(EvalGroupIndicatorTargetHitLog::getPoolId, poolId)
- .eq(EvalGroupIndicatorTargetHitLog::getScopeType, scopeType)
- .eq(EvalGroupIndicatorTargetHitLog::getYn, Boolean.TRUE)
- );
- paramTargetHitLogMap = targetHitLogs.stream()
- .collect(Collectors.toMap(EvalGroupIndicatorTargetHitLog::getReferId, Function.identity(), (v1, v2) -> v1));
- }
+ List targetHitLogs = evalGroupIndicatorTargetHitLogService.list(Wrappers.lambdaQuery()
+// .in(EvalGroupIndicatorTargetHitLog::getReferId, hasTargetParamIds)
+ .in(EvalGroupIndicatorTargetHitLog::getTargetType, IndicatorTypeEnum.EXAMINE)
+ .eq(EvalGroupIndicatorTargetHitLog::getDataDate, dataDate)
+ .eq(EvalGroupIndicatorTargetHitLog::getPoolId, poolId)
+ .eq(EvalGroupIndicatorTargetHitLog::getScopeType, scopeType)
+ .eq(EvalGroupIndicatorTargetHitLog::getYn, Boolean.TRUE)
+ );
+ paramTargetHitLogMap = targetHitLogs.stream()
+ .collect(Collectors.toMap(EvalGroupIndicatorTargetHitLog::getReferId, Function.identity(), (v1, v2) -> v1));
return paramTargetHitLogMap;
}
diff --git a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalRewardService.java b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalRewardService.java
index 16356c3..e2b7fa1 100644
--- a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalRewardService.java
+++ b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/eval/EvalRewardService.java
@@ -160,17 +160,6 @@ public class EvalRewardService {
EvalGroupRankStage evalGroupRankStage = evalGroupRankStageService.getById(evalGroup.getEvalGroupRankStageId());
BV.notNull(evalGroupRankStage, "考评阶段不存在,终止计算!");
-
-// List pools = evalShopPoolService.list(Wrappers.lambdaQuery()
-// .eq(EvalShopPool::getEvalGroupId, evalGroupId)
-// .eq(EvalShopPool::getYn, Boolean.TRUE)
-// );
-// if (PublicUtil.isEmpty(pools)) {
-// log.error("考评池不存在,终止计算!");
-// return;
-// }
-// BV.isNotEmpty(pools, "考评池不存在,终止计算!");
-
List shopRewardDims = evalGroupRewardDimService.list(Wrappers.lambdaQuery()
.eq(EvalGroupRewardDim::getEvalGroupId, evalGroup.getId())
.eq(EvalGroupRewardDim::getType, EvalScopeEnum.SHOP)
@@ -201,6 +190,7 @@ public class EvalRewardService {
for (EvalGroupRewardDim rewardDim : shopRewardDims) {
final String roleCode = rewardDim.getDistRoleCode();
List pools = evalShopPoolService.list(Wrappers.lambdaQuery()
+ .ne(EvalShopPool::getReward, BigDecimal.ZERO)
.eq(EvalShopPool::getEvalGroupId, evalGroup.getId())
.in(EvalShopPool::getShopId, rewardDim.getShopIds())
.eq(EvalShopPool::getYn, Boolean.TRUE)
@@ -209,9 +199,7 @@ public class EvalRewardService {
log.error("分配奖惩待办,未找到考评池:{}", JSON.toJSONString(rewardDim));
continue;
}
- List distShopIds = pools.stream().filter(pool -> pool.getReward().compareTo(BigDecimal.ZERO) == 0)
- .map(EvalShopPool::getShopId).collect(Collectors.toList());
-
+ List distShopIds = pools.stream().map(EvalShopPool::getShopId).collect(Collectors.toList());
List users = this.getUserEnableRoleInfos(roleCode, distShopIds);
for (RpcUserRoleInfoDTO user : users) {
List manageShopIds = user.getRangeList().stream()
@@ -260,25 +248,23 @@ public class EvalRewardService {
planItemReq.setExtraData(extraData);
itemList.add(planItemReq);
}
-
- }
-
-
- //推送待办
- BacklogBatchPlanReqDTO batchPlanReq = new BacklogBatchPlanReqDTO(todoVal.getDistEvalReward(), itemList);
- List failItems = Optional.ofNullable(todoRpcService.batchPush(batchPlanReq)).orElse(new ArrayList<>());
- if (PublicUtil.isNotEmpty(failItems)) {
- log.error("发送分配考评奖励待办失败,失败人员信息:{}", JSON.toJSONString(failItems));
}
+ if (PublicUtil.isNotEmpty(itemList)) {
+ //推送待办
+ BacklogBatchPlanReqDTO batchPlanReq = new BacklogBatchPlanReqDTO(todoVal.getDistEvalReward(), itemList);
+ List failItems = Optional.ofNullable(todoRpcService.batchPush(batchPlanReq)).orElse(new ArrayList<>());
+ if (PublicUtil.isNotEmpty(failItems)) {
+ log.error("发送分配考评奖励待办失败,失败人员信息:{}", JSON.toJSONString(failItems));
+ }
- if (PublicUtil.isEmpty(failItems) || itemList.size() > failItems.size()) {
- if (PublicUtil.isNotEmpty(distPoolIds)) {
- evalShopPoolService.update(Wrappers.lambdaUpdate()
- .in(EvalShopPool::getId, distPoolIds)
- .set(EvalShopPool::getStatus, EvalShopPoolStatusEnum.WAIT_DIST_REWARD)
- .set(EvalShopPool::getYn, Boolean.FALSE)
- .set(EvalShopPool::getUpdateTime, new Date())
- );
+ if (PublicUtil.isEmpty(failItems) || itemList.size() > failItems.size()) {
+ if (PublicUtil.isNotEmpty(distPoolIds)) {
+ evalShopPoolService.update(Wrappers.lambdaUpdate()
+ .in(EvalShopPool::getId, distPoolIds)
+ .set(EvalShopPool::getStatus, EvalShopPoolStatusEnum.WAIT_DIST_REWARD)
+ .set(EvalShopPool::getUpdateTime, new Date())
+ );
+ }
}
}
}