Преглед изворни кода

fix(performance): 修复排名比例配置和薪资标准匹配问题

- 添加未配置排名比例信息时的提示通知
- 修复薪资标准匹配中rankId参数错误的问题
- 确保查询结果为空时正确返回避免后续处理错误
wyc пре 3 дана
родитељ
комит
b744b4b546

+ 4 - 0
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/psms/plugin/form/performance/PerfRankMgmtFormPlugin.java

@@ -234,6 +234,10 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
                 .addGroup(new String[]{FormConstant.NCKD_ENTRYENTITY}, PerfRankMgmtConstant.NCKD_RATIO)
                 .addGroup(new String[]{FormConstant.NCKD_ENTRYENTITY, PositionStructureConstant.NCKD_APPRAISALRESULT}, FormConstant.NUMBER_KEY);
         DynamicObjectCollection query = QueryServiceHelper.query(PerfRankMgmtConstant.RANKRATIOCONF_ENTITYID, queryFieldBuilder.buildSelect(), null);
+        if(query.isEmpty()){
+            this.getView().showTipNotification("未配置排名比例信息");
+            return;
+        }
         Map<String, BigDecimal> appraisalResultRatioMap = new HashMap<>();
         query.forEach(dynamicObject -> {
             String key = dynamicObject.getString(String.join(".", FormConstant.NCKD_ENTRYENTITY, PositionStructureConstant.NCKD_APPRAISALRESULT, FormConstant.NUMBER_KEY));

+ 1 - 1
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/psms/plugin/operate/file/PersonPosFileSaveOpPlugin.java

@@ -116,7 +116,7 @@ public class PersonPosFileSaveOpPlugin extends AbstractOperationServicePlugIn im
                             DynamicObject dynamicObject = salaryStandardMap.get(result.salaryStDv.getLong(FormConstant.ID_KEY));
                             if (dynamicObject != null) {
                                 long rankId = dynamicObject.getLong(String.join(".", "rankentry", "rank", FormConstant.ID_KEY));
-                                stdTableDataMatchParam.put("rankId",result.salaryGrade.getLong(FormConstant.ID_KEY));
+                                stdTableDataMatchParam.put("rankId",rankId);
                                 matchParams.add(stdTableDataMatchParam);
                             }
                         }