Commit b7c28a4a15ce6fec18b5672c2556b42077d232d5
1 parent
08af6e93
feature(*): 注释校验,系统会自动将重复绩效组禁用
注释校验,系统会自动将重复绩效组禁用
Showing
2 changed files
with
13 additions
and
10 deletions
fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java
@@ -226,7 +226,10 @@ public class SalaryReportTask { | @@ -226,7 +226,10 @@ public class SalaryReportTask { | ||
226 | List<ReportSalaryDimValue> reportSalaryValues = new ArrayList<>(); | 226 | List<ReportSalaryDimValue> reportSalaryValues = new ArrayList<>(); |
227 | //人的维度为基础,计算各个指标信息对应的数据 | 227 | //人的维度为基础,计算各个指标信息对应的数据 |
228 | for (SalaryPool pool : pools) { | 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 | userDims.add(reportSalaryDim); | 233 | userDims.add(reportSalaryDim); |
231 | final Long userId = pool.getUserId(); | 234 | final Long userId = pool.getUserId(); |
232 | final Long reportSalaryDimId = reportSalaryDim.getId(); | 235 | final Long reportSalaryDimId = reportSalaryDim.getId(); |
@@ -236,7 +239,7 @@ public class SalaryReportTask { | @@ -236,7 +239,7 @@ public class SalaryReportTask { | ||
236 | continue; | 239 | continue; |
237 | } | 240 | } |
238 | final Long salaryGroupProjectId = salaryGroupProject.getId(); | 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 | List<SalaryGroupProjectParamVO> salaryGroupProjectParamVos = salaryGroupProjectParamService.getSalaryGroupProjectParamVO(salaryGroupProject.getId()); | 243 | List<SalaryGroupProjectParamVO> salaryGroupProjectParamVos = salaryGroupProjectParamService.getSalaryGroupProjectParamVO(salaryGroupProject.getId()); |
241 | 244 | ||
242 | if (salaryGroupProject.getCalMethod().equals(SalaryCalMethodEnum.CAR_SERIES)) { | 245 | if (salaryGroupProject.getCalMethod().equals(SalaryCalMethodEnum.CAR_SERIES)) { |
@@ -251,15 +254,15 @@ public class SalaryReportTask { | @@ -251,15 +254,15 @@ public class SalaryReportTask { | ||
251 | } | 254 | } |
252 | if (TargetTypeEnum.NO.equals(salaryGroupProjectParam.getTargetType())) { | 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 | BigDecimal value = userValueMap.getOrDefault(userId, BigDecimal.ZERO); | 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 | } else { | 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 | SalaryGroupProjectTargetHitLog hitLog = targetHitLogMap.get(userId); | 263 | SalaryGroupProjectTargetHitLog hitLog = targetHitLogMap.get(userId); |
261 | BigDecimal value = Optional.ofNullable(hitLog).map(SalaryGroupProjectTargetHitLog::getReachValue).orElse(BigDecimal.ZERO); | 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,10 +549,10 @@ public class KpiGroupBizService { | ||
549 | .eq(KpiGroup::getStatus, SettingStatusEnum.EFFECTIVE) | 549 | .eq(KpiGroup::getStatus, SettingStatusEnum.EFFECTIVE) |
550 | ); | 550 | ); |
551 | // BV.isTrue(count <= 0, "绩效组名称重复,请重新输入"); | 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 | List<SettingDraft> drafts = commonService.getEditDraftByName(name, SettingDraftTypeEnum.KPI, draftId); | 557 | List<SettingDraft> drafts = commonService.getEditDraftByName(name, SettingDraftTypeEnum.KPI, draftId); |
558 | BV.isTrue(drafts.size() <= 0, "绩效组名称在草稿中存在,请重新输入"); | 558 | BV.isTrue(drafts.size() <= 0, "绩效组名称在草稿中存在,请重新输入"); |