Quellcode durchsuchen

feat(performance): 优化绩效排名管理功能

- 新增删除条目操作的处理逻辑
- 启用注释掉的视图更新代码以同步界面
- 仅对参与排名的条目执行校验逻辑
- 在保存操作中跳过非排名人员的考核周期检查
- 获取并处理删除行的变量值
wyc vor 1 Tag
Ursprung
Commit
550a8cd157

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

@@ -582,6 +582,8 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
                 //控制显示隐藏
                 importResultStep();
             }
+        }else if(FormConstant.DELETEENTRY_OP.equalsIgnoreCase(itemKey)){
+
         }
         if(Arrays.asList(FormConstant.DELETEENTRY_OP, PerfRankMgmtConstant.GETRANKLIST_OP).contains(itemKey)){
             sortEntry();
@@ -801,8 +803,8 @@ public class PerfRankMgmtFormPlugin extends AbstractFormPlugin implements Wizard
                 Boolean isRanking2 = o2.getBoolean(PerfRankMgmtConstant.NCKD_ISRANKING);
                 return Boolean.compare(isRanking2, isRanking1);
             });
-/*            this.getModel().updateEntryCache(entryEntityCols);
-            this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);*/
+            this.getModel().updateEntryCache(entryEntityCols);
+            this.getView().updateView(PerfRankMgmtConstant.NCKD_PERFRANKMGMTENTRY);
         }
     }
 

+ 1 - 0
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/psms/plugin/operate/performance/PerfRankMgmtSaveOpPlugin.java

@@ -100,6 +100,7 @@ public class PerfRankMgmtSaveOpPlugin extends AbstractOperationServicePlugIn imp
             }
         }
 
+        String deleteRow = this.getOption().getVariableValue(FormConstant.DELETEENTRY_OP, StringUtils.EMPTY);
         Boolean removedEntries = ConvertUtil.toBoolean(this.getOption().getVariableValue("removedEntries",StringUtils.EMPTY),Boolean.FALSE);
         Map<Long, List<DynamicObject>> nonRankingEntriesMap = new HashMap<>();
         if(removedEntries){

+ 9 - 5
code/hr/nckd-jxccl-hr/src/main/java/nckd/jxccl/hr/psms/plugin/operate/performance/validate/PerfRankMgmtSaveValidate.java

@@ -208,7 +208,9 @@ public class PerfRankMgmtSaveValidate extends AbstractValidator {
 
         for (int i = 0; i < entries.size(); i++) {
             DynamicObject entry = entries.get(i);
-            validateEntry(entry, rowDataEntity, i + 1, personIds, context);
+            if(entry.getBoolean(PerfRankMgmtConstant.NCKD_ISRANKING)) {
+                validateEntry(entry, rowDataEntity, i + 1, personIds, context);
+            }
         }
         context.personIds = personIds;
 
@@ -260,10 +262,12 @@ public class PerfRankMgmtSaveValidate extends AbstractValidator {
                 ));
 //        StringJoiner msgJoiner = new StringJoiner(StrFormatter.LINE_SEPARATOR);
         for (DynamicObject entry : entries) {
-            long person = entry.getDynamicObject(PerfRankMgmtConstant.NCKD_PERSON).getLong(FormConstant.ID_KEY);
-            if (!personMap.containsKey(person)) {
-                String personName = entry.getDynamicObject(PerfRankMgmtConstant.NCKD_PERSON).getString(FormConstant.NAME_KEY);
-                this.addFatalErrorMessage(rowDataEntity,StrFormatter.format("人员【{}】没有【{}】年度的考核周期;", personName,theYear));
+            if(entry.getBoolean(PerfRankMgmtConstant.NCKD_ISRANKING)) {
+                long person = entry.getDynamicObject(PerfRankMgmtConstant.NCKD_PERSON).getLong(FormConstant.ID_KEY);
+                if (!personMap.containsKey(person)) {
+                    String personName = entry.getDynamicObject(PerfRankMgmtConstant.NCKD_PERSON).getString(FormConstant.NAME_KEY);
+                    this.addFatalErrorMessage(rowDataEntity, StrFormatter.format("人员【{}】没有【{}】年度的考核周期;", personName, theYear));
+                }
             }
         }
         /*if(msgJoiner.length() > 0){