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,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, "绩效组名称在草稿中存在,请重新输入");