|
|
@@ -143,7 +143,7 @@ public class AnnualAdjustmentService {
|
|
|
if(jobLevel == null){
|
|
|
String errorMsg = StrFormatter.format("人员【{}】,职位序列【{}】总积分【{}】职称等级【{}】技能等级【{}】考核结果【{}】没有匹配到符合的职级",
|
|
|
ac.personName,
|
|
|
- ac.jobSeq.getString(FormConstant.NAME_KEY),
|
|
|
+ ac.jobSeq != null ? ac.jobSeq.getString(FormConstant.NAME_KEY) : "未知",
|
|
|
ac.allSumScore.toString(),
|
|
|
ac.data.getZgjbName(),
|
|
|
ac.data.getZyjndjName(),
|
|
|
@@ -153,7 +153,7 @@ public class AnnualAdjustmentService {
|
|
|
}
|
|
|
|
|
|
JobLevelCalculatorService.JobLevelResult jobLevelResult = JobLevelCalculatorService.calculateJobLevel(person, beginDate == null ? new Date() : beginDate, ac.positionAppointment);
|
|
|
- if(jobLevelResult.rankingResultInfo != null) {
|
|
|
+ if(jobLevelResult.rankingResultInfo != null && ac.data.getRankingResultInfo() != null) {
|
|
|
ac.data.getRankingResultInfo().allowanceRankMark = jobLevelResult.rankingResultInfo.allowanceRankMark;
|
|
|
ac.data.getRankingResultInfo().allowanceRankSel = jobLevelResult.rankingResultInfo.allowanceRankSel;
|
|
|
}
|
|
|
@@ -208,7 +208,7 @@ public class AnnualAdjustmentService {
|
|
|
//3、判断当前职称或技能等级序号是否大于最小序号
|
|
|
//4、如果当前职级序号小于最小序号则认为未达到
|
|
|
//这里先不判断,因为其他所有保级情况都已涵盖。剩下的就只有职称或技能达不到了
|
|
|
- if (JobSeqEnum.SKILL.getCode().equals(ac.jobSeq.getString(FormConstant.NUMBER_KEY))) {
|
|
|
+ if (ac.jobSeq != null && JobSeqEnum.SKILL.getCode().equals(ac.jobSeq.getString(FormConstant.NUMBER_KEY))) {
|
|
|
ac.levelKeepReason = 4;
|
|
|
logger.info("保级原因:未聘任高一级的技能");
|
|
|
}else{
|
|
|
@@ -316,7 +316,7 @@ public class AnnualAdjustmentService {
|
|
|
data.setLastJobGradeIndex(jobLevel.getInt(FormConstant.JOBLEVELSEQ));
|
|
|
|
|
|
//---------------------------------- 调整日志 begin ----------------------------------
|
|
|
- ac.whyAdjust1.add(StrFormatter.format("上一职位序列【{}】", jobSeq.getString(FormConstant.NAME_KEY)));
|
|
|
+ ac.whyAdjust1.add(StrFormatter.format("上一职位序列【{}】", jobSeq != null ? jobSeq.getString(FormConstant.NAME_KEY) : "未知"));
|
|
|
ac.whyAdjust1.add(StrFormatter.format("上一职位档案总积分【{}】", lastPersonPosFile.getBigDecimal(PositionStructureConstant.NCKD_ALLSUMSCORE)));
|
|
|
ac.whyAdjust1.add(StrFormatter.format("上一职位档案积分池积分【{}】", data.getLastSumScore()));
|
|
|
|
|
|
@@ -335,12 +335,12 @@ public class AnnualAdjustmentService {
|
|
|
DynamicObject ocpQualLevel = lastPersonPosFile.getDynamicObject(PositionStructureConstant.NCKD_OCPQUALLEVEL);
|
|
|
String jobStatusScore = lastPersonPosFile.getString(PositionStructureConstant.NCKD_JOBSTATUSSCORE);
|
|
|
ac.whyAdjust1.add(StrFormatter.format("上一职位档案技能【{}】,技能等级【{}】,技能等级分【{}】", jobStatusName,ocpQualLevel == null ? "无" : ocpQualLevel.getString(FormConstant.NAME_KEY), jobStatusScore == null ? "无" : jobStatusScore));
|
|
|
- ac.whyAdjust1.add(StrFormatter.format("上一职位档案职级【{}({})】", jobLevel.getString(FormConstant.NAME_KEY),data.getLastJobGradeIndex()));
|
|
|
+ ac.whyAdjust1.add(StrFormatter.format("上一职位档案职级【{}({})】", jobLevel != null ? jobLevel.getString(FormConstant.NAME_KEY) : "未知",data.getLastJobGradeIndex()));
|
|
|
ac.whyAdjust1.add("----------------------------------------------------------");
|
|
|
//---------------------------------- 调整日志 end ----------------------------------
|
|
|
}
|
|
|
|
|
|
- ac.whyAdjust1.add(StrFormatter.format("上年度【{}】考核结果为【{}】;", lastYear, performanceResult.getString(FormConstant.NAME_KEY)));
|
|
|
+ ac.whyAdjust1.add(StrFormatter.format("上年度【{}】考核结果为【{}】;", lastYear, performanceResult != null ? performanceResult.getString(FormConstant.NAME_KEY) : "未知"));
|
|
|
if(rankingInfo == null) {
|
|
|
ac.whyAdjust1.add("无全排名");
|
|
|
}else{
|
|
|
@@ -359,23 +359,23 @@ public class AnnualAdjustmentService {
|
|
|
String scoreItemNumber = allowedScore.getScoreItemNumber();
|
|
|
ScoreItemEnum scoreItemEnum = ScoreItemEnum.getByCode(scoreItemNumber);
|
|
|
BigDecimal validScore = allowedScore.getValidScore();
|
|
|
- if(ScoreItemEnum.RESEARCH_SCORE == scoreItemEnum){
|
|
|
+ if(scoreItemEnum != null && ScoreItemEnum.RESEARCH_SCORE == scoreItemEnum){
|
|
|
data.setYearscoresuma(validScore);
|
|
|
- } else if(ScoreItemEnum.PATENT_SCORE == scoreItemEnum){
|
|
|
+ } else if(scoreItemEnum != null && ScoreItemEnum.PATENT_SCORE == scoreItemEnum){
|
|
|
data.setYearscoresumb(validScore);
|
|
|
- } else if(ScoreItemEnum.PAPER_SCORE == scoreItemEnum){
|
|
|
+ } else if(scoreItemEnum != null && ScoreItemEnum.PAPER_SCORE == scoreItemEnum){
|
|
|
data.setYearscoresumc(validScore);
|
|
|
- } else if(ScoreItemEnum.SKILL_CONTEST_SCORE == scoreItemEnum){
|
|
|
+ } else if(scoreItemEnum != null && ScoreItemEnum.SKILL_CONTEST_SCORE == scoreItemEnum){
|
|
|
data.setYearscoresumd(validScore);
|
|
|
- } else if(ScoreItemEnum.TRAINING_MATERIAL_SCORE == scoreItemEnum) {
|
|
|
+ } else if(scoreItemEnum != null && ScoreItemEnum.TRAINING_MATERIAL_SCORE == scoreItemEnum) {
|
|
|
data.setYearscoresume(validScore);
|
|
|
- } else if(ScoreItemEnum.TECH_STANDARD_SCORE == scoreItemEnum){
|
|
|
+ } else if(scoreItemEnum != null && ScoreItemEnum.TECH_STANDARD_SCORE == scoreItemEnum){
|
|
|
data.setYearscoresumf(validScore);
|
|
|
- } else if(ScoreItemEnum.MGMT_SPEC_SCORE == scoreItemEnum){
|
|
|
+ } else if(scoreItemEnum != null && ScoreItemEnum.MGMT_SPEC_SCORE == scoreItemEnum){
|
|
|
data.setYearscoresumg(validScore);
|
|
|
- } else if(ScoreItemEnum.MENTOR_SCORE == scoreItemEnum){
|
|
|
+ } else if(scoreItemEnum != null && ScoreItemEnum.MENTOR_SCORE == scoreItemEnum){
|
|
|
data.setYearscoresumh(validScore);
|
|
|
- } else if(ScoreItemEnum.TRAINING_SCORE == scoreItemEnum){
|
|
|
+ } else if(scoreItemEnum != null && ScoreItemEnum.TRAINING_SCORE == scoreItemEnum){
|
|
|
data.setYearscoresumi(validScore);
|
|
|
}
|
|
|
allowedScoreSum = allowedScoreSum.add(validScore);
|
|
|
@@ -385,8 +385,9 @@ public class AnnualAdjustmentService {
|
|
|
//比较实际累计总分和未受限制的实际累计总分
|
|
|
if(sumScore.compareTo(validScore) != 0){
|
|
|
//实际累计积分与有效积分不符,说明被限高
|
|
|
- ac.whyAdjust1.add(StrFormatter.format("上年度【{}】【{}】积分实际累计总分为【{}】但达到项目最高分限制,最终有效应用分为【{}】;", scoreItemEnum.getName(), sumScore, validScore));
|
|
|
- logger.warn(StrFormatter.format("上年度【{}】积分实际累计总分为【{}】但达到项目最高分限制,最终有效应用分为【{}】;", scoreItemEnum.getName(), sumScore, validScore));
|
|
|
+ String scoreItemName = scoreItemEnum != null ? scoreItemEnum.getName() : scoreItemNumber;
|
|
|
+ ac.whyAdjust1.add(StrFormatter.format("上年度【{}】【{}】积分实际累计总分为【{}】但达到项目最高分限制,最终有效应用分为【{}】;", scoreItemName, sumScore, validScore));
|
|
|
+ logger.warn(StrFormatter.format("上年度【{}】积分实际累计总分为【{}】但达到项目最高分限制,最终有效应用分为【{}】;", scoreItemName, sumScore, validScore));
|
|
|
}
|
|
|
|
|
|
}
|
|
|
@@ -606,8 +607,8 @@ public class AnnualAdjustmentService {
|
|
|
|
|
|
ac.allSumScore = ac.sumScore
|
|
|
.add(ac.diplomaScore)
|
|
|
- .add(ac.data.getJobScoreInfo().perProTitleScore)
|
|
|
- .add(ac.data.getJobScoreInfo().quaLevelScore);
|
|
|
+ .add(ac.data.getJobScoreInfo() != null ? ac.data.getJobScoreInfo().perProTitleScore : BigDecimal.ZERO)
|
|
|
+ .add(ac.data.getJobScoreInfo() != null ? ac.data.getJobScoreInfo().quaLevelScore : BigDecimal.ZERO);
|
|
|
logger.info("累计总积分: " + ac.allSumScore);
|
|
|
}
|
|
|
|
|
|
@@ -624,7 +625,7 @@ public class AnnualAdjustmentService {
|
|
|
|
|
|
//上一条职位档案的职位序列(如果是管理序列,则转换为职能序列)
|
|
|
String newJobSeqNumber = ac.convertJobSeq.getString(FormConstant.NUMBER_KEY);
|
|
|
- String newLastJobSeqNumber = ac.data.getConvertLastJobSeq().getString(FormConstant.NUMBER_KEY);
|
|
|
+ String newLastJobSeqNumber = ac.data.getConvertLastJobSeq() != null ? ac.data.getConvertLastJobSeq().getString(FormConstant.NUMBER_KEY) : "未知";
|
|
|
if (!newJobSeqNumber.equalsIgnoreCase(newLastJobSeqNumber)) {
|
|
|
//序列发生变化
|
|
|
String errorMsg = StrFormatter.format("人员【{}】,序列发生变化!请先到【员工职位档案调整】中进行操作", ac.personName);
|
|
|
@@ -659,7 +660,7 @@ public class AnnualAdjustmentService {
|
|
|
if(jobLevel == null){
|
|
|
String errorMsg = StrFormatter.format("人员【{}】,职位序列【{}】总积分【{}】职称等级【{}】技能等级【{}】考核结果【{}】没有匹配到符合的职级",
|
|
|
ac.personName,
|
|
|
- ac.jobSeq.getString(FormConstant.NAME_KEY),
|
|
|
+ ac.jobSeq != null ? ac.jobSeq.getString(FormConstant.NAME_KEY) : "未知",
|
|
|
ac.allSumScore.toString(),
|
|
|
ac.data.getZgjbName(),
|
|
|
ac.data.getZyjndjName(),
|
|
|
@@ -801,7 +802,7 @@ public class AnnualAdjustmentService {
|
|
|
if(jobLevel == null){
|
|
|
String errorMsg = StrFormatter.format("人员【{}】,职位序列【{}】总积分【{}】职称等级【{}】技能等级【{}】考核结果【{}】没有匹配到符合的职级",
|
|
|
ac.personName,
|
|
|
- ac.jobSeq.getString(FormConstant.NAME_KEY),
|
|
|
+ ac.jobSeq != null ? ac.jobSeq.getString(FormConstant.NAME_KEY) : "未知",
|
|
|
ac.allSumScore.toString(),
|
|
|
ac.data.getZgjbName(),
|
|
|
ac.data.getZyjndjName(),
|