|
@@ -4,8 +4,12 @@ import kd.bos.bill.OperationStatus;
|
|
|
import kd.bos.common.enums.EnableEnum;
|
|
import kd.bos.common.enums.EnableEnum;
|
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
import kd.bos.dataentity.entity.DynamicObject;
|
|
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
import kd.bos.dataentity.entity.DynamicObjectCollection;
|
|
|
|
|
+import kd.bos.entity.EntityMetadataCache;
|
|
|
|
|
+import kd.bos.entity.QueryEntityType;
|
|
|
|
|
+import kd.bos.entity.constant.StatusEnum;
|
|
|
import kd.bos.entity.datamodel.events.ChangeData;
|
|
import kd.bos.entity.datamodel.events.ChangeData;
|
|
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
import kd.bos.entity.datamodel.events.PropertyChangedArgs;
|
|
|
|
|
+import kd.bos.ext.mmc.util.MetaDataHelper;
|
|
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
|
|
import kd.bos.form.field.DateEdit;
|
|
import kd.bos.form.field.DateEdit;
|
|
|
import kd.bos.form.operate.FormOperate;
|
|
import kd.bos.form.operate.FormOperate;
|
|
@@ -13,7 +17,11 @@ import kd.bos.form.plugin.AbstractFormPlugin;
|
|
|
import kd.bos.mvc.base.BaseModel;
|
|
import kd.bos.mvc.base.BaseModel;
|
|
|
import kd.bos.orm.query.QCP;
|
|
import kd.bos.orm.query.QCP;
|
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
|
|
|
+import kd.bos.servicehelper.MetadataServiceHelper;
|
|
|
import kd.hr.hbp.business.servicehelper.HRBaseServiceHelper;
|
|
import kd.hr.hbp.business.servicehelper.HRBaseServiceHelper;
|
|
|
|
|
+import kd.hr.hbp.business.servicehelper.HRMetaDataServiceHelper;
|
|
|
|
|
+import kd.hr.hbp.business.servicehelper.HRQueryEntityHelper;
|
|
|
|
|
+import kd.hr.hbp.common.constants.history.HisModelDataStatusEnum;
|
|
|
import kd.hr.hbp.common.util.HRDateTimeUtils;
|
|
import kd.hr.hbp.common.util.HRDateTimeUtils;
|
|
|
import kd.hr.hbp.common.util.HRObjectUtils;
|
|
import kd.hr.hbp.common.util.HRObjectUtils;
|
|
|
import kd.hr.hbp.common.util.HRStringUtils;
|
|
import kd.hr.hbp.common.util.HRStringUtils;
|
|
@@ -39,6 +47,8 @@ import java.util.stream.Collectors;
|
|
|
* @date: 2025/12/2 18:28
|
|
* @date: 2025/12/2 18:28
|
|
|
*/
|
|
*/
|
|
|
public class SanDingPlanFormPlugin extends AbstractFormPlugin {
|
|
public class SanDingPlanFormPlugin extends AbstractFormPlugin {
|
|
|
|
|
+ /** 获取公司负责人查询标识 */
|
|
|
|
|
+ private static final String NCKD_SDM_GETCOMPANYMANAGERQUERY_ENTITY = "nckd_sdm_getcompanymanagerquery";
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public void afterCreateNewData(EventObject e) {
|
|
public void afterCreateNewData(EventObject e) {
|
|
@@ -102,26 +112,34 @@ public class SanDingPlanFormPlugin extends AbstractFormPlugin {
|
|
|
String managerIdKey = String.join(".", SanDingConstant.NCKD_MANAGER_KEY, SanDingConstant.ID_KEY);
|
|
String managerIdKey = String.join(".", SanDingConstant.NCKD_MANAGER_KEY, SanDingConstant.ID_KEY);
|
|
|
// 查询公司负责人
|
|
// 查询公司负责人
|
|
|
String selectFields = QueryFieldBuilder.create()
|
|
String selectFields = QueryFieldBuilder.create()
|
|
|
- .add(companyIdKey)
|
|
|
|
|
- .add(managerIdKey)
|
|
|
|
|
|
|
+ .add(SanDingConstant.NCKD_COMPANYMANAGE_NCKD_MANAGER_ID)
|
|
|
|
|
+ .add(SanDingConstant.NCKD_COMPANYMANAGE_NCKD_MANAGER_EMPNUMBER)
|
|
|
.buildSelect();
|
|
.buildSelect();
|
|
|
// 排序 物理层级、排序号
|
|
// 排序 物理层级、排序号
|
|
|
String orderBys = QueryFieldBuilder.create()
|
|
String orderBys = QueryFieldBuilder.create()
|
|
|
- .addAsc(SanDingConstant.NCKD_COMPANY_KEY, SanDingConstant.LEVEL_KEY)
|
|
|
|
|
- .addAsc(SanDingConstant.NCKD_COMPANY_KEY, SanDingConstant.INDEX_KEY)
|
|
|
|
|
|
|
+ .addAsc(SanDingConstant.LEVEL_KEY)
|
|
|
|
|
+ .addAsc(SanDingConstant.INDEX_KEY)
|
|
|
.buildOrder();
|
|
.buildOrder();
|
|
|
- DynamicObject[] companyManagerDyos = HRBaseServiceHelper.create(SanDingConstant.NCKD_COMPANYMANAGER_ENTITY).queryOriginalArray(selectFields, null, orderBys);
|
|
|
|
|
|
|
+ //DynamicObject[] companyManagerDyos = HRBaseServiceHelper.create(SanDingConstant.NCKD_COMPANYMANAGER_ENTITY).queryOriginalArray(selectFields, null, orderBys);
|
|
|
|
|
+ QFilter qFilter = new QFilter(String.join(".", SanDingConstant.PARENTORG_KEY, SanDingConstant.NUMBER_KEY), QCP.equals, "01")
|
|
|
|
|
+ .and(SanDingConstant.ENABLE, QCP.equals, EnableEnum.YES.getCode())
|
|
|
|
|
+ .and(SanDingConstant.STATUS, QCP.equals, StatusEnum.C.toString())
|
|
|
|
|
+ .and(SanDingConstant.DATA_STATUS, QCP.equals, HisModelDataStatusEnum.EFFECTING.getStatus())
|
|
|
|
|
+ .and(SanDingConstant.ADMINORGTYPE_KEY, QCP.equals, 1020L)
|
|
|
|
|
+ .and(SanDingConstant.OTCLASSIFY_KEY, QCP.equals, 1010L)
|
|
|
|
|
+ .and(SanDingConstant.ISVIRTUALORG_KEY, QCP.equals, EnableEnum.NO.getCode())
|
|
|
|
|
+ .and(SanDingConstant.IS_CURRENT_VERSION, QCP.equals, EnableEnum.YES.getCode());
|
|
|
|
|
+ DynamicObjectCollection companyManagerDyos = HRQueryEntityHelper.getInstance().getQueryDyoColl((QueryEntityType) MetadataServiceHelper.getDataEntityType(NCKD_SDM_GETCOMPANYMANAGERQUERY_ENTITY), selectFields, new QFilter[]{qFilter}, orderBys);
|
|
|
// 处理数据
|
|
// 处理数据
|
|
|
- Map<Long, Long> companyManagerMap = new LinkedHashMap<>();
|
|
|
|
|
Set<Long> companyIds = new HashSet<Long>();
|
|
Set<Long> companyIds = new HashSet<Long>();
|
|
|
Set<Long> managerIds = new HashSet<Long>();
|
|
Set<Long> managerIds = new HashSet<Long>();
|
|
|
- for (int i = 0; i < companyManagerDyos.length; i++) {
|
|
|
|
|
- DynamicObject companyManagerDyo = companyManagerDyos[i];
|
|
|
|
|
- Long companyId = companyManagerDyo.getLong(companyIdKey);
|
|
|
|
|
- Long managerId = companyManagerDyo.getLong(managerIdKey);
|
|
|
|
|
- companyManagerMap.put(companyId, managerId);
|
|
|
|
|
|
|
+ for (DynamicObject companyManagerDyo : companyManagerDyos) {
|
|
|
|
|
+ Long companyId = companyManagerDyo.getLong(SanDingConstant.ID_KEY);
|
|
|
|
|
+ Long managerId = (Long) companyManagerDyo.get(SanDingConstant.NCKD_COMPANYMANAGE_NCKD_MANAGER_ID);
|
|
|
companyIds.add(companyId);
|
|
companyIds.add(companyId);
|
|
|
- managerIds.add(managerId);
|
|
|
|
|
|
|
+ if (managerId != null) {
|
|
|
|
|
+ managerIds.add(managerId);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
// 获取单位数据
|
|
// 获取单位数据
|
|
|
DynamicObject[] companyDyos = HRBaseServiceHelper.create(SanDingConstant.ADMINORG_ENTITYID).load(new QFilter[]{QFilterCommonHelper.getIdInFilter(companyIds)});
|
|
DynamicObject[] companyDyos = HRBaseServiceHelper.create(SanDingConstant.ADMINORG_ENTITYID).load(new QFilter[]{QFilterCommonHelper.getIdInFilter(companyIds)});
|
|
@@ -136,9 +154,9 @@ public class SanDingPlanFormPlugin extends AbstractFormPlugin {
|
|
|
for (DynamicObject companyManagerDyo : companyManagerDyos) {
|
|
for (DynamicObject companyManagerDyo : companyManagerDyos) {
|
|
|
DynamicObject entryDyo = entryEntityColl.addNew();
|
|
DynamicObject entryDyo = entryEntityColl.addNew();
|
|
|
// 设置 单位
|
|
// 设置 单位
|
|
|
- entryDyo.set(SanDingConstant.NCKD_COMPANY_KEY, companyMap.get(companyManagerDyo.getLong(companyIdKey)));
|
|
|
|
|
|
|
+ entryDyo.set(SanDingConstant.NCKD_COMPANY_KEY, companyMap.get(companyManagerDyo.getLong(SanDingConstant.ID_KEY)));
|
|
|
// 设置 负责人
|
|
// 设置 负责人
|
|
|
- entryDyo.set(SanDingConstant.NCKD_MANAGER_KEY, managerMap.get(companyManagerDyo.getLong(managerIdKey)));
|
|
|
|
|
|
|
+ entryDyo.set(SanDingConstant.NCKD_MANAGER_KEY, managerMap.getOrDefault((Long) companyManagerDyo.get(SanDingConstant.NCKD_COMPANYMANAGE_NCKD_MANAGER_ID), null));
|
|
|
// 设置 状态
|
|
// 设置 状态
|
|
|
entryDyo.set(SanDingConstant.NCKD_STATUS_KEY, SanDingPlanEntryStatus.UNSEND.getCode());// 默认未发起
|
|
entryDyo.set(SanDingConstant.NCKD_STATUS_KEY, SanDingPlanEntryStatus.UNSEND.getCode());// 默认未发起
|
|
|
}
|
|
}
|