From b7c28a4a15ce6fec18b5672c2556b42077d232d5 Mon Sep 17 00:00:00 2001 From: jiangchao Date: Thu, 25 May 2023 15:49:00 +0800 Subject: [PATCH] feature(*): 注释校验,系统会自动将重复绩效组禁用 --- fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java | 15 +++++++++------ fw-morax-service/src/main/java/cn/fw/morax/service/biz/kpi/KpiGroupBizService.java | 8 ++++---- 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java b/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java index 53d58de..478b573 100644 --- a/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java +++ b/fw-morax-server/src/main/java/cn/fw/morax/server/task/SalaryReportTask.java @@ -226,7 +226,10 @@ public class SalaryReportTask { List reportSalaryValues = new ArrayList<>(); //人的维度为基础,计算各个指标信息对应的数据 for (SalaryPool pool : pools) { - ReportSalaryDim reportSalaryDim = saveStaffDim(pool, date, reportSalaryId); + //如果计算日期 与 报表数据抽取日期不一致,使用计算日期(计算日期每个人都可能不一致) + LocalDate dataDate = (pool.getDataDate().compareTo(date) == 0) ? date : pool.getDataDate(); + + ReportSalaryDim reportSalaryDim = saveStaffDim(pool, dataDate, reportSalaryId); userDims.add(reportSalaryDim); final Long userId = pool.getUserId(); final Long reportSalaryDimId = reportSalaryDim.getId(); @@ -236,7 +239,7 @@ public class SalaryReportTask { continue; } final Long salaryGroupProjectId = salaryGroupProject.getId(); - reportSalaryValues.add(this.convertDB(salaryGroupProject, reportSalaryDimId, date, userSalaryMap.get(userId, salaryGroupProjectId))); + reportSalaryValues.add(this.convertDB(salaryGroupProject, reportSalaryDimId, dataDate, userSalaryMap.get(userId, salaryGroupProjectId))); List salaryGroupProjectParamVos = salaryGroupProjectParamService.getSalaryGroupProjectParamVO(salaryGroupProject.getId()); if (salaryGroupProject.getCalMethod().equals(SalaryCalMethodEnum.CAR_SERIES)) { @@ -251,15 +254,15 @@ public class SalaryReportTask { } if (TargetTypeEnum.NO.equals(salaryGroupProjectParam.getTargetType())) { //无目标 - Map userValueMap = queryUserOriginValue(salaryGroupProjectParam.getIndicatorCode(), userId, date); + Map userValueMap = queryUserOriginValue(salaryGroupProjectParam.getIndicatorCode(), userId, dataDate); BigDecimal value = userValueMap.getOrDefault(userId, BigDecimal.ZERO); - reportSalaryValues.add(this.convertNoTargetDB(salaryGroupProject, salaryGroupProjectParam, date, reportSalaryDimId, value)); + reportSalaryValues.add(this.convertNoTargetDB(salaryGroupProject, salaryGroupProjectParam, dataDate, reportSalaryDimId, value)); } else { //有目标 - Map targetHitLogMap = queryUserTargetValue(salaryGroupProjectParam.getId(), userId, date); + Map targetHitLogMap = queryUserTargetValue(salaryGroupProjectParam.getId(), userId, dataDate); SalaryGroupProjectTargetHitLog hitLog = targetHitLogMap.get(userId); BigDecimal value = Optional.ofNullable(hitLog).map(SalaryGroupProjectTargetHitLog::getReachValue).orElse(BigDecimal.ZERO); - reportSalaryValues.add(this.convertTargetDB(salaryGroupProject, salaryGroupProjectParam, date, reportSalaryDimId, value)); + reportSalaryValues.add(this.convertTargetDB(salaryGroupProject, salaryGroupProjectParam, dataDate, reportSalaryDimId, value)); } } } diff --git a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/kpi/KpiGroupBizService.java b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/kpi/KpiGroupBizService.java index 4a995b9..68be5b3 100644 --- a/fw-morax-service/src/main/java/cn/fw/morax/service/biz/kpi/KpiGroupBizService.java +++ b/fw-morax-service/src/main/java/cn/fw/morax/service/biz/kpi/KpiGroupBizService.java @@ -549,10 +549,10 @@ public class KpiGroupBizService { .eq(KpiGroup::getStatus, SettingStatusEnum.EFFECTIVE) ); // BV.isTrue(count <= 0, "绩效组名称重复,请重新输入"); - if (count > 0) { - log.info("绩效组名称重复,name:{},id:{}: ", name, Optional.ofNullable(id).orElse(0L).toString()); - throw new BusinessException("绩效组名称重复,请重新输入"); - } +// if (count > 0) { +// log.info("绩效组名称重复,name:{},id:{}: ", name, Optional.ofNullable(id).orElse(0L).toString()); +// throw new BusinessException("绩效组名称重复,请重新输入"); +// } List drafts = commonService.getEditDraftByName(name, SettingDraftTypeEnum.KPI, draftId); BV.isTrue(drafts.size() <= 0, "绩效组名称在草稿中存在,请重新输入"); -- libgit2 0.22.2