Commit b7c28a4a15ce6fec18b5672c2556b42077d232d5

Authored by 姜超
1 parent 08af6e93

feature(*): 注释校验,系统会自动将重复绩效组禁用

注释校验,系统会自动将重复绩效组禁用
fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java
... ... @@ -226,7 +226,10 @@ public class SalaryReportTask {
226 226 List<ReportSalaryDimValue> reportSalaryValues = new ArrayList<>();
227 227 //人的维度为基础,计算各个指标信息对应的数据
228 228 for (SalaryPool pool : pools) {
229   - ReportSalaryDim reportSalaryDim = saveStaffDim(pool, date, reportSalaryId);
  229 + //如果计算日期 与 报表数据抽取日期不一致,使用计算日期(计算日期每个人都可能不一致)
  230 + LocalDate dataDate = (pool.getDataDate().compareTo(date) == 0) ? date : pool.getDataDate();
  231 +
  232 + ReportSalaryDim reportSalaryDim = saveStaffDim(pool, dataDate, reportSalaryId);
230 233 userDims.add(reportSalaryDim);
231 234 final Long userId = pool.getUserId();
232 235 final Long reportSalaryDimId = reportSalaryDim.getId();
... ... @@ -236,7 +239,7 @@ public class SalaryReportTask {
236 239 continue;
237 240 }
238 241 final Long salaryGroupProjectId = salaryGroupProject.getId();
239   - reportSalaryValues.add(this.convertDB(salaryGroupProject, reportSalaryDimId, date, userSalaryMap.get(userId, salaryGroupProjectId)));
  242 + reportSalaryValues.add(this.convertDB(salaryGroupProject, reportSalaryDimId, dataDate, userSalaryMap.get(userId, salaryGroupProjectId)));
240 243 List<SalaryGroupProjectParamVO> salaryGroupProjectParamVos = salaryGroupProjectParamService.getSalaryGroupProjectParamVO(salaryGroupProject.getId());
241 244  
242 245 if (salaryGroupProject.getCalMethod().equals(SalaryCalMethodEnum.CAR_SERIES)) {
... ... @@ -251,15 +254,15 @@ public class SalaryReportTask {
251 254 }
252 255 if (TargetTypeEnum.NO.equals(salaryGroupProjectParam.getTargetType())) {
253 256 //无目标
254   - Map<Long, BigDecimal> userValueMap = queryUserOriginValue(salaryGroupProjectParam.getIndicatorCode(), userId, date);
  257 + Map<Long, BigDecimal> userValueMap = queryUserOriginValue(salaryGroupProjectParam.getIndicatorCode(), userId, dataDate);
255 258 BigDecimal value = userValueMap.getOrDefault(userId, BigDecimal.ZERO);
256   - reportSalaryValues.add(this.convertNoTargetDB(salaryGroupProject, salaryGroupProjectParam, date, reportSalaryDimId, value));
  259 + reportSalaryValues.add(this.convertNoTargetDB(salaryGroupProject, salaryGroupProjectParam, dataDate, reportSalaryDimId, value));
257 260 } else {
258 261 //有目标
259   - Map<Long, SalaryGroupProjectTargetHitLog> targetHitLogMap = queryUserTargetValue(salaryGroupProjectParam.getId(), userId, date);
  262 + Map<Long, SalaryGroupProjectTargetHitLog> targetHitLogMap = queryUserTargetValue(salaryGroupProjectParam.getId(), userId, dataDate);
260 263 SalaryGroupProjectTargetHitLog hitLog = targetHitLogMap.get(userId);
261 264 BigDecimal value = Optional.ofNullable(hitLog).map(SalaryGroupProjectTargetHitLog::getReachValue).orElse(BigDecimal.ZERO);
262   - reportSalaryValues.add(this.convertTargetDB(salaryGroupProject, salaryGroupProjectParam, date, reportSalaryDimId, value));
  265 + reportSalaryValues.add(this.convertTargetDB(salaryGroupProject, salaryGroupProjectParam, dataDate, reportSalaryDimId, value));
263 266 }
264 267 }
265 268 }
... ...
fw-morax-service/src/main/java/cn/fw/morax/service/biz/kpi/KpiGroupBizService.java
... ... @@ -549,10 +549,10 @@ public class KpiGroupBizService {
549 549 .eq(KpiGroup::getStatus, SettingStatusEnum.EFFECTIVE)
550 550 );
551 551 // BV.isTrue(count <= 0, "绩效组名称重复,请重新输入");
552   - if (count > 0) {
553   - log.info("绩效组名称重复,name:{},id:{}: ", name, Optional.ofNullable(id).orElse(0L).toString());
554   - throw new BusinessException("绩效组名称重复,请重新输入");
555   - }
  552 +// if (count > 0) {
  553 +// log.info("绩效组名称重复,name:{},id:{}: ", name, Optional.ofNullable(id).orElse(0L).toString());
  554 +// throw new BusinessException("绩效组名称重复,请重新输入");
  555 +// }
556 556  
557 557 List<SettingDraft> drafts = commonService.getEditDraftByName(name, SettingDraftTypeEnum.KPI, draftId);
558 558 BV.isTrue(drafts.size() <= 0, "绩效组名称在草稿中存在,请重新输入");
... ...