瀏覽代碼

feat(opmc): 完善绩效管理保存操作逻辑- 在批量评估周期表单插件中增加组织机构字段处理
- 绩效管理保存操作中优化人员信息获取逻辑
- 新增实体创建时设置创建组织、使用组织和所属组织信息
-修复绩效管理人员信息为空时的默认值处理
- 确保考核周期名称格式统一并包含起止年份信息

wyc 1 周之前
父節點
當前提交
2382079ce6

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

@@ -143,7 +143,6 @@ public class PerfRankMgmtSaveOpPlugin extends AbstractOperationServicePlugIn imp
                     }
                     throw new ValidationException("同步考核周期失败,原因:"+errorMsg);
                 }
-
             }
         }
     }

+ 8 - 1
code/opmc/nckd-jxccl-opmc/src/main/java/nckd/jxccl/opmc/pm/plugin/form/cycle/BatchEvalCycleFormPlugin.java

@@ -181,6 +181,10 @@ public class BatchEvalCycleFormPlugin extends AbstractFormPlugin implements Plug
 
     private void executeOperateSave() {
 
+        DynamicObject createOrg = ConvertUtil.toDynamicObjectOrNull(this.getModel().getValue(FormConstant.CREATEORG_KEY));
+        DynamicObject useOrg = ConvertUtil.toDynamicObjectOrNull(this.getModel().getValue(FormConstant.USEORG_KEY));
+        DynamicObject org = ConvertUtil.toDynamicObjectOrNull(this.getModel().getValue(FormConstant.ORG_KEY));
+
         String isAddOrUpdate = ConvertUtil.toStr(this.getModel().getValue("nckd_isaddorupdate"));
         boolean isUpdate = "2".equalsIgnoreCase(isAddOrUpdate);
         DynamicObjectCollection perfManagerList = this.getModel().getEntryEntity(FormConstant.NCKD_ENTRYENTITY);
@@ -278,10 +282,13 @@ public class BatchEvalCycleFormPlugin extends AbstractFormPlugin implements Plug
                 savePerfManager = dbPerfManager;
             }else{
                 //新增
-                savePerfManager = EntityHelper.newAvailableBasicEntity(PerfManagerFormConstant.PERFMANAGER_ENTITYID);
+                savePerfManager = EntityHelper.newEntity(PerfManagerFormConstant.PERFMANAGER_ENTITYID);
                 DynamicObjectUtils.copy(dynamicObject, savePerfManager);
                 savePerfManager.set(PerfManagerFormConstant.CTRLSTRATEGY_KEY, CtrlStrategyEnum.GLOBAL_SHARE.getCtrlStrategy());
                 savePerfManager.set(FormConstant.NAME_KEY, StrFormatter.format("【{}】{}~{}的考核周期",personName,beginYear.getYear(),endYear.getYear()));
+                savePerfManager.set(PerfManagerFormConstant.CREATEORG_KEY, createOrg);
+                savePerfManager.set(PerfManagerFormConstant.ORG_KEY, org);
+                savePerfManager.set(PerfManagerFormConstant.USEORG_KEY, useOrg);
             }
             savePerfManagerList.add(savePerfManager);
         }

+ 5 - 1
code/opmc/nckd-jxccl-opmc/src/main/java/nckd/jxccl/opmc/pm/plugin/operate/cycle/PerfManagerSaveOpPlugin.java

@@ -70,8 +70,9 @@ public class PerfManagerSaveOpPlugin extends AbstractOperationServicePlugIn impl
                     DynamicObject data = rowDataEntity.getDataEntity();
                     int dataEntityIndex = rowDataEntity.getDataEntityIndex();
                     long id = data.getLong(FormConstant.ID_KEY);
-
                     DynamicObject person = data.getDynamicObject(FormConstant.NCKD_PERSON);
+                    person = person == null ? data.getDynamicObject(FormConstant.NCKD_EMPPOSORGREL).getDynamicObject(FormConstant.EMPLOYEE_KEY) : person;
+                    data.set(FormConstant.NCKD_PERSON, person);
                     Date beginYear = data.getDate(PerfManagerFormConstant.NCKD_BEGINYEAR);
                     Date endYear = data.getDate(PerfManagerFormConstant.NCKD_ENDYEAR);
                     String description = data.getString(FormConstant.DESCRIPTION_KEY);
@@ -98,6 +99,7 @@ public class PerfManagerSaveOpPlugin extends AbstractOperationServicePlugIn impl
                 for (ExtendedDataEntity rowDataEntity : getDataEntities()) {
                     DynamicObject data = rowDataEntity.getDataEntity();
                     DynamicObject person = data.getDynamicObject(FormConstant.NCKD_PERSON);
+                    person = person == null ? data.getDynamicObject(FormConstant.NCKD_EMPPOSORGREL).getDynamicObject(FormConstant.EMPLOYEE_KEY) : person;
                     long personId = person.getLong(FormConstant.ID_KEY);
                     String personName = person.getString(FormConstant.NAME_KEY);
                     LocalDateTime beginYear = ConvertUtil.toLocalDateTime(data.getDate(PerfManagerFormConstant.NCKD_BEGINYEAR));
@@ -216,6 +218,8 @@ public class PerfManagerSaveOpPlugin extends AbstractOperationServicePlugIn impl
 
         for (DynamicObject dataEntity : e.getDataEntities()) {
             DynamicObject person = dataEntity.getDynamicObject(FormConstant.NCKD_PERSON);
+            person = person == null ? dataEntity.getDynamicObject(FormConstant.NCKD_EMPPOSORGREL).getDynamicObject(FormConstant.EMPLOYEE_KEY) : person;
+            dataEntity.set(FormConstant.NCKD_PERSON, person);
             LocalDateTime beginYear = DateUtil.toLocalDateTime(dataEntity.getDate(PerfManagerFormConstant.NCKD_BEGINYEAR));
             LocalDateTime endYear = DateUtil.toLocalDateTime(dataEntity.getDate(PerfManagerFormConstant.NCKD_ENDYEAR));
             long personId = person.getLong(FormConstant.ID_KEY);