|
@@ -395,6 +395,7 @@ public class SalaryAdjOpPlugin extends AbstractOperationServicePlugIn implements
|
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_WAGEEXPLAIN, result.reason);
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_WAGEEXPLAIN, result.reason);
|
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_APPRAISALTYPE, result.type);
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_APPRAISALTYPE, result.type);
|
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_WAGESTATUS,"1");
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_WAGESTATUS,"1");
|
|
|
|
|
+ newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_ADJUSTDIFF,result.level);
|
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_OLDSTANDARDITEM, result.oldStandardItem);
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_OLDSTANDARDITEM, result.oldStandardItem);
|
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_STANDARDITEM, result.oldStandardItem);
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_STANDARDITEM, result.oldStandardItem);
|
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_ADJMONEY, result.amount.subtract(result.oldAmount));
|
|
newSalAdjTracker.set(SalAdjTrackerConstant.NCKD_ADJMONEY, result.amount.subtract(result.oldAmount));
|
|
@@ -447,6 +448,7 @@ public class SalaryAdjOpPlugin extends AbstractOperationServicePlugIn implements
|
|
|
DynamicObject person = perfManager.getDynamicObject(FormConstant.NCKD_PERSON);
|
|
DynamicObject person = perfManager.getDynamicObject(FormConstant.NCKD_PERSON);
|
|
|
String personName = person.getString(FormConstant.NAME_KEY);
|
|
String personName = person.getString(FormConstant.NAME_KEY);
|
|
|
newPerfManager.set(FormConstant.CREATEORG_KEY, perfManager.get(FormConstant.CREATEORG_KEY));
|
|
newPerfManager.set(FormConstant.CREATEORG_KEY, perfManager.get(FormConstant.CREATEORG_KEY));
|
|
|
|
|
+ newPerfManager.set(PerfManagerFormConstant.CTRLSTRATEGY_KEY, CtrlStrategyEnum.GLOBAL_SHARE.getCtrlStrategy());
|
|
|
newPerfManager.set(FormConstant.NCKD_EMPPOSORGREL, perfManager.getDynamicObject(FormConstant.NCKD_EMPPOSORGREL));
|
|
newPerfManager.set(FormConstant.NCKD_EMPPOSORGREL, perfManager.getDynamicObject(FormConstant.NCKD_EMPPOSORGREL));
|
|
|
newPerfManager.set(FormConstant.NCKD_DEP, perfManager.getDynamicObject(FormConstant.NCKD_DEP));
|
|
newPerfManager.set(FormConstant.NCKD_DEP, perfManager.getDynamicObject(FormConstant.NCKD_DEP));
|
|
|
newPerfManager.set(FormConstant.NCKD_PERSON, person);
|
|
newPerfManager.set(FormConstant.NCKD_PERSON, person);
|
|
@@ -455,7 +457,7 @@ public class SalaryAdjOpPlugin extends AbstractOperationServicePlugIn implements
|
|
|
newPerfManager.set(PerfManagerFormConstant.NCKD_BEGINYEAR, DateUtil.toDate(newBeginDate));
|
|
newPerfManager.set(PerfManagerFormConstant.NCKD_BEGINYEAR, DateUtil.toDate(newBeginDate));
|
|
|
newPerfManager.set(PerfManagerFormConstant.NCKD_ENDYEAR, DateUtil.toDate(newEndDate));
|
|
newPerfManager.set(PerfManagerFormConstant.NCKD_ENDYEAR, DateUtil.toDate(newEndDate));
|
|
|
newPerfManager.set(PerfManagerFormConstant.DESCRIPTION_KEY, "调档后生成新周期");
|
|
newPerfManager.set(PerfManagerFormConstant.DESCRIPTION_KEY, "调档后生成新周期");
|
|
|
- newPerfManager.set(PerfManagerFormConstant.CTRLSTRATEGY_KEY, CtrlStrategyEnum.GLOBAL_SHARE.getCtrlStrategy());
|
|
|
|
|
|
|
+ newPerfManager.set(PerfManagerFormConstant.NCKD_LASTPERFMANAGER,perfManager);
|
|
|
newPerfManager.set(FormConstant.NAME_KEY, StrFormatter.format("【{}】{}~{}的考核周期",personName,newBeginDate.getYear(),newEndDate.getYear()));
|
|
newPerfManager.set(FormConstant.NAME_KEY, StrFormatter.format("【{}】{}~{}的考核周期",personName,newBeginDate.getYear(),newEndDate.getYear()));
|
|
|
addPerfManagerList.add(newPerfManager);
|
|
addPerfManagerList.add(newPerfManager);
|
|
|
}
|
|
}
|
|
@@ -578,29 +580,31 @@ public class SalaryAdjOpPlugin extends AbstractOperationServicePlugIn implements
|
|
|
firstYearValue, firstYearResultName, secondYearValue, secondYearResultName, thirdYearValue, thirdYearResultName);
|
|
firstYearValue, firstYearResultName, secondYearValue, secondYearResultName, thirdYearValue, thirdYearResultName);
|
|
|
type = TYPE_PROMOTE_FOR_TWO_EXCELLENT_AND_THREE_PASS_FOR_TWO_YEARS;
|
|
type = TYPE_PROMOTE_FOR_TWO_EXCELLENT_AND_THREE_PASS_FOR_TWO_YEARS;
|
|
|
level = 2;
|
|
level = 2;
|
|
|
- }
|
|
|
|
|
- // 规则2: 考核结果连续两年优秀-上调一档(只要连续两年优秀就可以上调,不需要三年都存在)
|
|
|
|
|
- if ((isFirstYearExcellent && isSecondYearExcellent) ||
|
|
|
|
|
- (isSecondYearExcellent && isThirdYearExcellent)) {
|
|
|
|
|
- reason = String.format("连续两年考核结果为【优秀】【升一档】(%d年:%s,%d年:%s,%d年:%s)",
|
|
|
|
|
- firstYearValue, firstYearResultName, secondYearValue, secondYearResultName, thirdYearValue, thirdYearResultName);
|
|
|
|
|
- type = TYPE_PROMOTE_FOR_TWO_EXCELLENT;
|
|
|
|
|
- level = 1;
|
|
|
|
|
- }
|
|
|
|
|
- // 规则1: 考核结果三年合格及以上-上调一档(较低优先级)
|
|
|
|
|
- if (isFirstYearQualifiedOrAbove && isSecondYearQualifiedOrAbove && isThirdYearQualifiedOrAbove) {
|
|
|
|
|
- reason = String.format("三年考核结果均为【合格】【升一档】(%d年:%s,%d年:%s,%d年:%s)",
|
|
|
|
|
- firstYearValue, firstYearResultName, secondYearValue, secondYearResultName, thirdYearValue, thirdYearResultName);
|
|
|
|
|
- // 特殊处理:如果是因为连续两年优秀上调一档,并且同时满足三年合格及以上,则更新类型
|
|
|
|
|
- if(type == TYPE_PROMOTE_FOR_TWO_EXCELLENT){
|
|
|
|
|
- reason = String.format("连续两年考核结果【优秀】且三年【合格及以上】【升一档】(%d年:%s,%d年:%s,%d年:%s)",
|
|
|
|
|
|
|
+ }else{
|
|
|
|
|
+ // 规则2: 考核结果连续两年优秀-上调一档(只要连续两年优秀就可以上调,不需要三年都存在)
|
|
|
|
|
+ if ((isFirstYearExcellent && isSecondYearExcellent) ||
|
|
|
|
|
+ (isSecondYearExcellent && isThirdYearExcellent)) {
|
|
|
|
|
+ reason = String.format("连续两年考核结果为【优秀】【升一档】(%d年:%s,%d年:%s,%d年:%s)",
|
|
|
firstYearValue, firstYearResultName, secondYearValue, secondYearResultName, thirdYearValue, thirdYearResultName);
|
|
firstYearValue, firstYearResultName, secondYearValue, secondYearResultName, thirdYearValue, thirdYearResultName);
|
|
|
- type = TYPE_PROMOTE_FOR_TWO_EXCELLENT_AND_THREE_PASS;
|
|
|
|
|
- }else{
|
|
|
|
|
- type = TYPE_PROMOTE_FOR_THREE_PASS;
|
|
|
|
|
|
|
+ type = TYPE_PROMOTE_FOR_TWO_EXCELLENT;
|
|
|
|
|
+ level = 1;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 规则1: 考核结果三年合格及以上-上调一档(较低优先级)
|
|
|
|
|
+ if (isFirstYearQualifiedOrAbove && isSecondYearQualifiedOrAbove && isThirdYearQualifiedOrAbove) {
|
|
|
|
|
+ reason = String.format("三年考核结果均为【合格】【升一档】(%d年:%s,%d年:%s,%d年:%s)",
|
|
|
|
|
+ firstYearValue, firstYearResultName, secondYearValue, secondYearResultName, thirdYearValue, thirdYearResultName);
|
|
|
|
|
+ // 特殊处理:如果是因为连续两年优秀上调一档,并且同时满足三年合格及以上,则更新类型
|
|
|
|
|
+ if(type == TYPE_PROMOTE_FOR_TWO_EXCELLENT){
|
|
|
|
|
+ reason = String.format("连续两年考核结果【优秀】且三年【合格及以上】【升一档】(%d年:%s,%d年:%s,%d年:%s)",
|
|
|
|
|
+ firstYearValue, firstYearResultName, secondYearValue, secondYearResultName, thirdYearValue, thirdYearResultName);
|
|
|
|
|
+ type = TYPE_PROMOTE_FOR_TWO_EXCELLENT_AND_THREE_PASS;
|
|
|
|
|
+ }else{
|
|
|
|
|
+ type = TYPE_PROMOTE_FOR_THREE_PASS;
|
|
|
|
|
+ }
|
|
|
|
|
+ level = 1;
|
|
|
}
|
|
}
|
|
|
- level = 1;
|
|
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
return new SalaryAdjustmentResult(type, level, reason);
|
|
return new SalaryAdjustmentResult(type, level, reason);
|
|
|
}
|
|
}
|