|
@@ -8,11 +8,11 @@ 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.EntityMetadataCache;
|
|
|
import kd.bos.entity.MainEntityType;
|
|
import kd.bos.entity.MainEntityType;
|
|
|
|
|
+import kd.bos.entity.constant.StatusEnum;
|
|
|
import kd.bos.entity.operate.result.OperationResult;
|
|
import kd.bos.entity.operate.result.OperationResult;
|
|
|
import kd.bos.form.IFormView;
|
|
import kd.bos.form.IFormView;
|
|
|
import kd.bos.form.IPageCache;
|
|
import kd.bos.form.IPageCache;
|
|
|
import kd.bos.form.MessageBoxOptions;
|
|
import kd.bos.form.MessageBoxOptions;
|
|
|
-import kd.bos.form.ShowType;
|
|
|
|
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
|
import kd.bos.form.events.AfterDoOperationEventArgs;
|
|
|
import kd.bos.list.plugin.AbstractListPlugin;
|
|
import kd.bos.list.plugin.AbstractListPlugin;
|
|
|
import kd.bos.mvc.SessionManager;
|
|
import kd.bos.mvc.SessionManager;
|
|
@@ -20,7 +20,6 @@ import kd.bos.orm.query.QCP;
|
|
|
import kd.bos.orm.query.QFilter;
|
|
import kd.bos.orm.query.QFilter;
|
|
|
import kd.bos.servicehelper.QueryServiceHelper;
|
|
import kd.bos.servicehelper.QueryServiceHelper;
|
|
|
import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
|
|
import kd.bos.servicehelper.basedata.BaseDataServiceHelper;
|
|
|
-import kd.bos.servicehelper.operation.OperationServiceHelper;
|
|
|
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
import kd.bos.servicehelper.operation.SaveServiceHelper;
|
|
|
import kd.hr.hbp.common.model.AuthorizedOrgResultWithSub;
|
|
import kd.hr.hbp.common.model.AuthorizedOrgResultWithSub;
|
|
|
import kd.sdk.hr.hbp.business.helper.permission.HRPermissionServiceHelper;
|
|
import kd.sdk.hr.hbp.business.helper.permission.HRPermissionServiceHelper;
|
|
@@ -29,11 +28,9 @@ import nckd.jxccl.base.common.constant.FormConstant;
|
|
|
import nckd.jxccl.base.common.utils.DateUtil;
|
|
import nckd.jxccl.base.common.utils.DateUtil;
|
|
|
import nckd.jxccl.base.common.utils.QueryFieldBuilder;
|
|
import nckd.jxccl.base.common.utils.QueryFieldBuilder;
|
|
|
import nckd.jxccl.base.common.utils.ShowOperExecuteResult;
|
|
import nckd.jxccl.base.common.utils.ShowOperExecuteResult;
|
|
|
-import nckd.jxccl.base.common.utils.StrFormatter;
|
|
|
|
|
import nckd.jxccl.base.entity.helper.EntityHelper;
|
|
import nckd.jxccl.base.entity.helper.EntityHelper;
|
|
|
import nckd.jxccl.base.hrpi.helper.EmpPosOrgRelHelper;
|
|
import nckd.jxccl.base.hrpi.helper.EmpPosOrgRelHelper;
|
|
|
-import nckd.jxccl.base.orm.helper.QFilterCommonHelper;
|
|
|
|
|
-import nckd.jxccl.swc.mas.common.SubCoHeadServiceConstant;
|
|
|
|
|
|
|
+import nckd.jxccl.swc.mas.common.MasConstant;
|
|
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.temporal.ChronoUnit;
|
|
import java.time.temporal.ChronoUnit;
|
|
@@ -44,6 +41,7 @@ import java.util.Date;
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
|
|
+import java.util.Optional;
|
|
|
import java.util.function.BinaryOperator;
|
|
import java.util.function.BinaryOperator;
|
|
|
import java.util.function.Function;
|
|
import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -61,7 +59,7 @@ public class SubCoHeadServiceListPlugin extends AbstractListPlugin implements Pl
|
|
|
public void afterDoOperation(AfterDoOperationEventArgs e) {
|
|
public void afterDoOperation(AfterDoOperationEventArgs e) {
|
|
|
String operateKey = e.getOperateKey();
|
|
String operateKey = e.getOperateKey();
|
|
|
if(e.getOperationResult() != null && e.getOperationResult().isSuccess()){
|
|
if(e.getOperationResult() != null && e.getOperationResult().isSuccess()){
|
|
|
- if(SubCoHeadServiceConstant.LOADPARTYPOSITION_OP.equals(operateKey)){
|
|
|
|
|
|
|
+ if(MasConstant.LOADPARTYPOSITION_OP.equals(operateKey)){
|
|
|
//载入党政职务履历
|
|
//载入党政职务履历
|
|
|
loadParTyPosition();
|
|
loadParTyPosition();
|
|
|
}
|
|
}
|
|
@@ -101,105 +99,186 @@ public class SubCoHeadServiceListPlugin extends AbstractListPlugin implements Pl
|
|
|
// 只处理权限范围内的人员
|
|
// 只处理权限范围内的人员
|
|
|
Long currUserId = RequestContext.get().getCurrUserId();
|
|
Long currUserId = RequestContext.get().getCurrUserId();
|
|
|
AuthorizedOrgResultWithSub userAdminOrgWithSub = HRPermissionServiceHelper.getUserAdminOrgsWithSub(
|
|
AuthorizedOrgResultWithSub userAdminOrgWithSub = HRPermissionServiceHelper.getUserAdminOrgsWithSub(
|
|
|
- currUserId, "nckd_pm", SubCoHeadServiceConstant.SUBCOHEADSERVICE_ENTITYID,
|
|
|
|
|
|
|
+ currUserId, "nckd_pm", MasConstant.SUBCOHEADSERVICE_ENTITYID,
|
|
|
PermItemConst.ITEM_VIEW, "nckd_employee.hsbs_empposorgrel.adminorg", new HashMap<>());
|
|
PermItemConst.ITEM_VIEW, "nckd_employee.hsbs_empposorgrel.adminorg", new HashMap<>());
|
|
|
QueryFieldBuilder subCoHeadServiceFieldBuilder = QueryFieldBuilder.create()
|
|
QueryFieldBuilder subCoHeadServiceFieldBuilder = QueryFieldBuilder.create()
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_EMPLOYEE);
|
|
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_EMPLOYEE);
|
|
|
//查询当年已生成子企业负责人任职情况的人员
|
|
//查询当年已生成子企业负责人任职情况的人员
|
|
|
- QFilter subCoHeadServiceFilter = new QFilter(SubCoHeadServiceConstant.NCKD_YEAR, QCP.large_equals, startOfYear)
|
|
|
|
|
- .and(SubCoHeadServiceConstant.NCKD_YEAR, QCP.less_equals, endOfYear);
|
|
|
|
|
- DynamicObjectCollection subCoHeadServiceFilterQuery = QueryServiceHelper.query(SubCoHeadServiceConstant.SUBCOHEADSERVICE_ENTITYID, subCoHeadServiceFieldBuilder.buildSelect(), new QFilter[]{subCoHeadServiceFilter});
|
|
|
|
|
|
|
+ QFilter subCoHeadServiceFilter = new QFilter(MasConstant.NCKD_YEAR, QCP.large_equals, startOfYear)
|
|
|
|
|
+ .and(MasConstant.NCKD_YEAR, QCP.less_equals, endOfYear);
|
|
|
|
|
+ DynamicObjectCollection subCoHeadServiceFilterQuery = QueryServiceHelper.query(MasConstant.SUBCOHEADSERVICE_ENTITYID, subCoHeadServiceFieldBuilder.buildSelect(), new QFilter[]{subCoHeadServiceFilter});
|
|
|
List<Long> employeeIds = subCoHeadServiceFilterQuery.stream()
|
|
List<Long> employeeIds = subCoHeadServiceFilterQuery.stream()
|
|
|
- .map(dynamicObject -> dynamicObject.getLong(String.join(".", SubCoHeadServiceConstant.NCKD_EMPLOYEE, FormConstant.ID_KEY)))
|
|
|
|
|
|
|
+ .map(dynamicObject -> dynamicObject.getLong(String.join(".", MasConstant.NCKD_EMPLOYEE, FormConstant.ID_KEY)))
|
|
|
.collect(Collectors.toList());
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
|
|
//查询党政履历
|
|
//查询党政履历
|
|
|
// nckd_hrpi_partyposh
|
|
// nckd_hrpi_partyposh
|
|
|
QueryFieldBuilder partyPoshFieldBuilder = QueryFieldBuilder.create()
|
|
QueryFieldBuilder partyPoshFieldBuilder = QueryFieldBuilder.create()
|
|
|
- .add(SubCoHeadServiceConstant.STARTDATE)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.ENDDATE)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_PAYUNIT)
|
|
|
|
|
|
|
+ .add(MasConstant.STARTDATE)
|
|
|
|
|
+ .add(MasConstant.ENDDATE)
|
|
|
|
|
+ .add(MasConstant.NCKD_PAYUNIT)
|
|
|
//变动时间
|
|
//变动时间
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_CHANGETIME)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_POSNAME)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_POSCHTP)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_POSLEVEL)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_POSGRADE)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_APPRWAY)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_OFFICEDEPT)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_APPRDOCNO)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_ISDIRCADRE)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_ORGPOSGRD)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.EMPLOYEE_KEY)
|
|
|
|
|
- .orderDesc(SubCoHeadServiceConstant.STARTDATE,SubCoHeadServiceConstant.ENDDATE);
|
|
|
|
|
- QFilter partyPoshFilter = new QFilter(SubCoHeadServiceConstant.STARTDATE, QCP.less_equals, endOfYear)
|
|
|
|
|
- .and(new QFilter(SubCoHeadServiceConstant.ENDDATE, QCP.is_null,null)
|
|
|
|
|
- .or(SubCoHeadServiceConstant.ENDDATE, QCP.large_equals, startOfYear))
|
|
|
|
|
- //TODO 法人岗位层级为高管
|
|
|
|
|
- .and(FormConstant.EMPLOYEE_KEY, QCP.not_in, employeeIds);
|
|
|
|
|
- DynamicObjectCollection partyPoshQuery = QueryServiceHelper.query(FormConstant.NCKD_HRPI_PARTYPOSH, partyPoshFieldBuilder.buildSelect(), new QFilter[]{partyPoshFilter});
|
|
|
|
|
|
|
+ .add(MasConstant.NCKD_CHANGETIME)
|
|
|
|
|
+ .add(MasConstant.NCKD_POSNAME)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_POSCHTP)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_POSLEVEL)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_POSGRADE)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_APPRWAY)
|
|
|
|
|
+ .add(MasConstant.NCKD_OFFICEDEPT)
|
|
|
|
|
+ .add(MasConstant.NCKD_APPRDOCNO)
|
|
|
|
|
+ .add(MasConstant.NCKD_ISDIRCADRE)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_ORGPOSGRD)
|
|
|
|
|
+ .addIdNumberName(MasConstant.EMPLOYEE_KEY)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_ORG)
|
|
|
|
|
+ .orderDesc(MasConstant.STARTDATE, MasConstant.ENDDATE);
|
|
|
|
|
+ QFilter allPartyPoshFilter = new QFilter(MasConstant.EMPLOYEE_KEY, QCP.not_in, employeeIds);
|
|
|
|
|
+ //TODO 法人岗位层级为高管;
|
|
|
|
|
+ DynamicObjectCollection allPartyPoshQuery = QueryServiceHelper.query(FormConstant.NCKD_HRPI_PARTYPOSH, partyPoshFieldBuilder.buildSelect(), new QFilter[]{allPartyPoshFilter});
|
|
|
//按员工ID分组
|
|
//按员工ID分组
|
|
|
- Map<Long, DynamicObject> latestPartyPoshRecordMap = partyPoshQuery.stream()
|
|
|
|
|
- .collect(Collectors.toMap(obj -> obj.getLong(String.join(".", FormConstant.EMPLOYEE_KEY, FormConstant.ID_KEY)), Function.identity(), BinaryOperator.maxBy(Comparator.comparing(
|
|
|
|
|
- // 按 STARTDATE 字段比较
|
|
|
|
|
- obj -> obj.getDate(SubCoHeadServiceConstant.STARTDATE)
|
|
|
|
|
- ))));
|
|
|
|
|
|
|
+ Map<Long, List<DynamicObject>> groupedPartyPoshQuery = allPartyPoshQuery.stream()
|
|
|
|
|
+ .collect(Collectors.groupingBy(
|
|
|
|
|
+ obj -> obj.getLong(String.join(".", FormConstant.EMPLOYEE_KEY, FormConstant.ID_KEY))
|
|
|
|
|
+ ));
|
|
|
|
|
+
|
|
|
|
|
+ // 找出当年范围内的党政履历信息(如果有多条则取开始时间最新一条)
|
|
|
|
|
+ Map<Long, DynamicObject> latestPartyPoshRecordMap = new HashMap<>();
|
|
|
|
|
+ // 用于存储下一条党政履历记录的映射
|
|
|
|
|
+ Map<Long, DynamicObject> nextPartyPoshRecordMap = new HashMap<>();
|
|
|
|
|
+ for (Map.Entry<Long, List<DynamicObject>> entry : groupedPartyPoshQuery.entrySet()) {
|
|
|
|
|
+ Long employeeId = entry.getKey();
|
|
|
|
|
+ List<DynamicObject> records = entry.getValue();
|
|
|
|
|
+
|
|
|
|
|
+ // 筛选出在当年时间范围内的记录,然后取STARTDATE最新的那一条
|
|
|
|
|
+ Optional<DynamicObject> latestRecord = records.stream()
|
|
|
|
|
+ .filter(record -> {
|
|
|
|
|
+ Date startDate = record.getDate(MasConstant.STARTDATE);
|
|
|
|
|
+ Date endDate = record.getDate(MasConstant.ENDDATE);
|
|
|
|
|
+ // 判断记录是否在当年范围内
|
|
|
|
|
+ return startDate != null && !startDate.after(endOfYear) &&
|
|
|
|
|
+ (endDate == null || !endDate.before(startOfYear));
|
|
|
|
|
+ })
|
|
|
|
|
+ .max(Comparator.comparing(record -> record.getDate(MasConstant.STARTDATE),
|
|
|
|
|
+ Comparator.nullsFirst(Comparator.naturalOrder())));
|
|
|
|
|
+
|
|
|
|
|
+ if (latestRecord.isPresent()) {
|
|
|
|
|
+ DynamicObject currentRecord = latestRecord.get();
|
|
|
|
|
+ latestPartyPoshRecordMap.put(employeeId, currentRecord);
|
|
|
|
|
+
|
|
|
|
|
+ // 根据当前记录的结束时间查找下一条记录
|
|
|
|
|
+ Date currentEndDate = currentRecord.getDate(MasConstant.ENDDATE);
|
|
|
|
|
+ if (currentEndDate != null) {
|
|
|
|
|
+ // 查找开始时间等于当前记录结束时间的下一条记录
|
|
|
|
|
+ Optional<DynamicObject> nextRecord = records.stream()
|
|
|
|
|
+ .filter(record -> {
|
|
|
|
|
+ Date startDate = record.getDate(MasConstant.STARTDATE);
|
|
|
|
|
+ // 查找开始时间等于当前记录结束时间的记录
|
|
|
|
|
+ return startDate != null && !startDate.before(currentEndDate);
|
|
|
|
|
+ })
|
|
|
|
|
+ .findFirst();
|
|
|
|
|
+
|
|
|
|
|
+ nextRecord.ifPresent(record -> nextPartyPoshRecordMap.put(employeeId, record));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
//查询企业负责人信息
|
|
//查询企业负责人信息
|
|
|
QueryFieldBuilder entHeadFieldBuilder = QueryFieldBuilder.create()
|
|
QueryFieldBuilder entHeadFieldBuilder = QueryFieldBuilder.create()
|
|
|
- .add(SubCoHeadServiceConstant.STARTDATE)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.ENDDATE)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_HEADTYPE)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_ISPROFMAN)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_PROFMANTYP)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_ISMANAGER)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_SALCALCPOST)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_SALNEGOT)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_TERM)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_POSTLEVEL)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_LEGPOSTLV)
|
|
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.EMPLOYEE_KEY)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.NCKD_TERMCONT)
|
|
|
|
|
- .orderDesc(SubCoHeadServiceConstant.STARTDATE,SubCoHeadServiceConstant.ENDDATE);
|
|
|
|
|
- QFilter entHeadFilter = new QFilter(SubCoHeadServiceConstant.STARTDATE, QCP.less_equals, endOfYear)
|
|
|
|
|
- .and(new QFilter(SubCoHeadServiceConstant.ENDDATE, QCP.is_null,null)
|
|
|
|
|
- .or(SubCoHeadServiceConstant.ENDDATE, QCP.large_equals, startOfYear))
|
|
|
|
|
- .and(FormConstant.EMPLOYEE_KEY,QCP.not_in, employeeIds)
|
|
|
|
|
|
|
+ .add(MasConstant.STARTDATE)
|
|
|
|
|
+ .add(MasConstant.ENDDATE)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_HEADTYPE)
|
|
|
|
|
+ .add(MasConstant.NCKD_ISPROFMAN)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_PROFMANTYP)
|
|
|
|
|
+ .add(MasConstant.NCKD_ISMANAGER)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_SALCALCPOST)
|
|
|
|
|
+ .add(MasConstant.NCKD_SALNEGOT)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_TERM)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_POSTLEVEL)
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_LEGPOSTLV)
|
|
|
|
|
+ .addIdNumberName(MasConstant.EMPLOYEE_KEY)
|
|
|
|
|
+ .add(MasConstant.NCKD_TERMCONT)
|
|
|
|
|
+ .orderDesc(MasConstant.STARTDATE, MasConstant.ENDDATE);
|
|
|
|
|
+
|
|
|
|
|
+ //查询下一段的企业负责人信息;用于后续逻辑查找下一段的负责人信息
|
|
|
|
|
+ QFilter allEntHeadFilter = new QFilter(FormConstant.EMPLOYEE_KEY, QCP.not_in, employeeIds)
|
|
|
//法人岗位层级为高管
|
|
//法人岗位层级为高管
|
|
|
- .and(String.join(".", SubCoHeadServiceConstant.NCKD_LEGPOSTLV, SubCoHeadServiceConstant.NCKD_ISEXEC),QCP.equals, EnableEnum.YES.getCode());
|
|
|
|
|
- DynamicObjectCollection entHeadQuery = QueryServiceHelper.query(FormConstant.NCKD_HRPI_ENTHEAD, entHeadFieldBuilder.buildSelect(), new QFilter[]{entHeadFilter});
|
|
|
|
|
- Map<Long, DynamicObject> entHeadRecordMap = entHeadQuery.stream()
|
|
|
|
|
- .collect(Collectors.toMap(obj -> obj.getLong(String.join(".", FormConstant.EMPLOYEE_KEY, FormConstant.ID_KEY)), Function.identity(), BinaryOperator.maxBy(Comparator.comparing(
|
|
|
|
|
- // 按 STARTDATE 字段比较
|
|
|
|
|
- obj -> obj.getDate(SubCoHeadServiceConstant.STARTDATE)
|
|
|
|
|
- ))));
|
|
|
|
|
|
|
+ .and(String.join(".", MasConstant.NCKD_LEGPOSTLV, MasConstant.NCKD_ISEXEC),QCP.equals, EnableEnum.YES.getCode());
|
|
|
|
|
+ //查询出人员所有的企业负责人信息
|
|
|
|
|
+ DynamicObjectCollection allEntHeadQuery = QueryServiceHelper.query(FormConstant.NCKD_HRPI_ENTHEAD, entHeadFieldBuilder.buildSelect(), new QFilter[]{allEntHeadFilter});
|
|
|
|
|
+ Map<Long, List<DynamicObject>> groupedEntHeadQuery = allEntHeadQuery.stream()
|
|
|
|
|
+ .collect(Collectors.groupingBy(
|
|
|
|
|
+ obj -> obj.getLong(String.join(".", MasConstant.EMPLOYEE_KEY, FormConstant.ID_KEY))
|
|
|
|
|
+ ));
|
|
|
|
|
+ // 找出当年范围内的企业负责人信息(如果有多条则取开始时间最新一条)
|
|
|
|
|
+ Map<Long, DynamicObject> entHeadRecordMap = new HashMap<>();
|
|
|
|
|
+ // 用于存储下一条记录的映射
|
|
|
|
|
+ Map<Long, DynamicObject> nextEntHeadRecordMap = new HashMap<>();
|
|
|
|
|
+ for (Map.Entry<Long, List<DynamicObject>> entry : groupedEntHeadQuery.entrySet()) {
|
|
|
|
|
+ Long employeeId = entry.getKey();
|
|
|
|
|
+ List<DynamicObject> records = entry.getValue();
|
|
|
|
|
+
|
|
|
|
|
+ // 筛选出在当年时间范围内的记录,然后取STARTDATE最新的那一条
|
|
|
|
|
+ Optional<DynamicObject> latestRecord = records.stream()
|
|
|
|
|
+ .filter(record -> {
|
|
|
|
|
+ Date startDate = record.getDate(MasConstant.STARTDATE);
|
|
|
|
|
+ Date endDate = record.getDate(MasConstant.ENDDATE);
|
|
|
|
|
+ // 判断记录是否在当年范围内
|
|
|
|
|
+ return startDate != null && !startDate.after(endOfYear) &&
|
|
|
|
|
+ (endDate == null || !endDate.before(startOfYear));
|
|
|
|
|
+ })
|
|
|
|
|
+ .max(Comparator.comparing(record -> record.getDate(MasConstant.STARTDATE),
|
|
|
|
|
+ Comparator.nullsFirst(Comparator.naturalOrder())));
|
|
|
|
|
+
|
|
|
|
|
+ if (latestRecord.isPresent()) {
|
|
|
|
|
+ DynamicObject currentRecord = latestRecord.get();
|
|
|
|
|
+ entHeadRecordMap.put(employeeId, currentRecord);
|
|
|
|
|
+ // 根据当前记录的结束时间查找下一条记录
|
|
|
|
|
+ Date currentEndDate = currentRecord.getDate(MasConstant.ENDDATE);
|
|
|
|
|
+ if (currentEndDate != null) {
|
|
|
|
|
+ // 查找开始时间等于当前记录结束时间的下一条记录
|
|
|
|
|
+ Optional<DynamicObject> nextRecord = records.stream()
|
|
|
|
|
+ .filter(record -> {
|
|
|
|
|
+ Date startDate = record.getDate(MasConstant.STARTDATE);
|
|
|
|
|
+ // 查找开始时间等于当前记录结束时间的记录
|
|
|
|
|
+ // 查找开始时间大于等于当前记录结束时间的记录
|
|
|
|
|
+ return startDate != null && !startDate.before(currentEndDate);
|
|
|
|
|
+ })
|
|
|
|
|
+ .findFirst();
|
|
|
|
|
+
|
|
|
|
|
+ nextRecord.ifPresent(record -> nextEntHeadRecordMap.put(employeeId, record));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
//查询人员最新任职经历
|
|
//查询人员最新任职经历
|
|
|
DynamicObject[] empPosOrgRelArray = EmpPosOrgRelHelper.queryEmpPosOrgRelByEmployees(entHeadRecordMap.keySet());
|
|
DynamicObject[] empPosOrgRelArray = EmpPosOrgRelHelper.queryEmpPosOrgRelByEmployees(entHeadRecordMap.keySet());
|
|
|
List<Long> empPosOrgRelIds = Arrays.stream(empPosOrgRelArray).map(empPosOrgRel -> empPosOrgRel.getLong(FormConstant.ID_KEY)).collect(Collectors.toList());
|
|
List<Long> empPosOrgRelIds = Arrays.stream(empPosOrgRelArray).map(empPosOrgRel -> empPosOrgRel.getLong(FormConstant.ID_KEY)).collect(Collectors.toList());
|
|
|
//查询人员法人单位
|
|
//查询人员法人单位
|
|
|
QueryFieldBuilder legalPostFieldBuilder = QueryFieldBuilder.create()
|
|
QueryFieldBuilder legalPostFieldBuilder = QueryFieldBuilder.create()
|
|
|
- .add(SubCoHeadServiceConstant.STARTDATE)
|
|
|
|
|
- .add(SubCoHeadServiceConstant.ENDDATE)
|
|
|
|
|
|
|
+ .add(MasConstant.STARTDATE)
|
|
|
|
|
+ .add(MasConstant.ENDDATE)
|
|
|
.addIdNumberName(FormConstant.NCKD_EMPPOSORGREL,FormConstant.EMPLOYEE_KEY)
|
|
.addIdNumberName(FormConstant.NCKD_EMPPOSORGREL,FormConstant.EMPLOYEE_KEY)
|
|
|
- .addIdNumberName(SubCoHeadServiceConstant.NCKD_LAWENTITY);
|
|
|
|
|
- QFilter legalPostFilter = QFilterCommonHelper.getValidDateFilter(SubCoHeadServiceConstant.STARTDATE,SubCoHeadServiceConstant.ENDDATE)
|
|
|
|
|
|
|
+ .addIdNumberName(MasConstant.NCKD_LAWENTITY);
|
|
|
|
|
+ QFilter legalPostFilter = new QFilter(MasConstant.STARTDATE, QCP.less_equals, endOfYear)
|
|
|
|
|
+ .and(new QFilter(MasConstant.ENDDATE, QCP.is_null,null)
|
|
|
|
|
+ .or(MasConstant.ENDDATE, QCP.large_equals, startOfYear))
|
|
|
.and(FormConstant.NCKD_EMPPOSORGREL,QCP.in, empPosOrgRelIds);
|
|
.and(FormConstant.NCKD_EMPPOSORGREL,QCP.in, empPosOrgRelIds);
|
|
|
DynamicObjectCollection legalPostQuery = QueryServiceHelper.query(FormConstant.NCKD_HRPI_LEGALPOST, legalPostFieldBuilder.buildSelect(), new QFilter[]{legalPostFilter});
|
|
DynamicObjectCollection legalPostQuery = QueryServiceHelper.query(FormConstant.NCKD_HRPI_LEGALPOST, legalPostFieldBuilder.buildSelect(), new QFilter[]{legalPostFilter});
|
|
|
Map<Long, DynamicObject> legalPostMap = legalPostQuery.stream()
|
|
Map<Long, DynamicObject> legalPostMap = legalPostQuery.stream()
|
|
|
.collect(Collectors.toMap(obj -> obj.getLong(String.join(".",FormConstant.NCKD_EMPPOSORGREL, FormConstant.EMPLOYEE_KEY, FormConstant.ID_KEY)), Function.identity(), BinaryOperator.maxBy(Comparator.comparing(
|
|
.collect(Collectors.toMap(obj -> obj.getLong(String.join(".",FormConstant.NCKD_EMPPOSORGREL, FormConstant.EMPLOYEE_KEY, FormConstant.ID_KEY)), Function.identity(), BinaryOperator.maxBy(Comparator.comparing(
|
|
|
// 按 STARTDATE 字段比较
|
|
// 按 STARTDATE 字段比较
|
|
|
- obj -> obj.getDate(SubCoHeadServiceConstant.STARTDATE)
|
|
|
|
|
|
|
+ obj -> obj.getDate(MasConstant.STARTDATE)
|
|
|
))));
|
|
))));
|
|
|
|
|
|
|
|
|
|
|
|
|
- List<Long> createOrgList = BaseDataServiceHelper.getCreateOrgList(SubCoHeadServiceConstant.SUBCOHEADSERVICE_ENTITYID);
|
|
|
|
|
|
|
+ List<Long> createOrgList = BaseDataServiceHelper.getCreateOrgList(MasConstant.SUBCOHEADSERVICE_ENTITYID);
|
|
|
MainEntityType bosOrgEntityType = EntityMetadataCache.getDataEntityType(FormConstant.BOS_ORG);
|
|
MainEntityType bosOrgEntityType = EntityMetadataCache.getDataEntityType(FormConstant.BOS_ORG);
|
|
|
DynamicObject org = new DynamicObject(bosOrgEntityType);
|
|
DynamicObject org = new DynamicObject(bosOrgEntityType);
|
|
|
if (!createOrgList.isEmpty()) {
|
|
if (!createOrgList.isEmpty()) {
|
|
|
org.set(FormConstant.ID_KEY, createOrgList.get(0));
|
|
org.set(FormConstant.ID_KEY, createOrgList.get(0));
|
|
|
}
|
|
}
|
|
|
- String ctrlStrategy = BaseDataServiceHelper.getBdCtrlStrgy(SubCoHeadServiceConstant.SUBCOHEADSERVICE_ENTITYID,org.getLong(FormConstant.ID_KEY)+"");
|
|
|
|
|
|
|
+ String ctrlStrategy = BaseDataServiceHelper.getBdCtrlStrgy(MasConstant.SUBCOHEADSERVICE_ENTITYID,org.getLong(FormConstant.ID_KEY)+"");
|
|
|
//构建子企业负责人任职情况实体
|
|
//构建子企业负责人任职情况实体
|
|
|
List<DynamicObject> saveSubCoHeadServiceList = new ArrayList<>();
|
|
List<DynamicObject> saveSubCoHeadServiceList = new ArrayList<>();
|
|
|
for (Map.Entry<Long, DynamicObject> entHeadRecordEntry : entHeadRecordMap.entrySet()) {
|
|
for (Map.Entry<Long, DynamicObject> entHeadRecordEntry : entHeadRecordMap.entrySet()) {
|
|
@@ -207,51 +286,76 @@ public class SubCoHeadServiceListPlugin extends AbstractListPlugin implements Pl
|
|
|
DynamicObject entHead = entHeadRecordEntry.getValue();
|
|
DynamicObject entHead = entHeadRecordEntry.getValue();
|
|
|
//党政履历
|
|
//党政履历
|
|
|
DynamicObject partyPosh = latestPartyPoshRecordMap.get(entHeadRecordEntry.getKey());
|
|
DynamicObject partyPosh = latestPartyPoshRecordMap.get(entHeadRecordEntry.getKey());
|
|
|
- DynamicObject newSubCoHeadService = EntityHelper.newEntity(SubCoHeadServiceConstant.SUBCOHEADSERVICE_ENTITYID);
|
|
|
|
|
|
|
+ DynamicObject newSubCoHeadService = EntityHelper.newEntity(MasConstant.SUBCOHEADSERVICE_ENTITYID);
|
|
|
newSubCoHeadService.set(FormConstant.CREATEORG_KEY,org);
|
|
newSubCoHeadService.set(FormConstant.CREATEORG_KEY,org);
|
|
|
newSubCoHeadService.set(FormConstant.CTRLSTRATEGY_KEY,ctrlStrategy);
|
|
newSubCoHeadService.set(FormConstant.CTRLSTRATEGY_KEY,ctrlStrategy);
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_YEAR,DateUtil.toDate(beginYear));
|
|
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_EMPLOYEE,entHeadRecordEntry.getKey());
|
|
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_YEAR,DateUtil.toDate(beginYear));
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_EMPLOYEE,entHeadRecordEntry.getKey());
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.STATUS, StatusEnum.B.toString());
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.ENABLE, EnableEnum.YES.getCode());
|
|
|
|
|
+ //党政履历
|
|
|
if(partyPosh != null) {
|
|
if(partyPosh != null) {
|
|
|
- //所属二级单位
|
|
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_PAYUNIT, partyPosh.getString(SubCoHeadServiceConstant.NCKD_PAYUNIT));
|
|
|
|
|
|
|
+ //所属二级单位(发薪单位)
|
|
|
|
|
+ long payOrgId = partyPosh.getLong(String.join(".", FormConstant.NCKD_ORG, FormConstant.ID_KEY));
|
|
|
|
|
+ DynamicObject payOrg = EntityHelper.newEntity(FormConstant.ADMINORGHR_ENTITYID, payOrgId);
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_PAYUNIT, payOrg);
|
|
|
//职务
|
|
//职务
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_POSNAME,partyPosh.getString(SubCoHeadServiceConstant.NCKD_POSNAME));
|
|
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_POSNAME,partyPosh.getString(MasConstant.NCKD_POSNAME));
|
|
|
//是否直管干部
|
|
//是否直管干部
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_ISDIRCADRE,partyPosh.getString(SubCoHeadServiceConstant.NCKD_ISDIRCADRE));
|
|
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_ISDIRCADRE,partyPosh.getString(MasConstant.NCKD_ISDIRCADRE));
|
|
|
//任职开始时间(变动日期)
|
|
//任职开始时间(变动日期)
|
|
|
- Date changeTime = entHead.getDate(SubCoHeadServiceConstant.NCKD_CHANGETIME);
|
|
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_STARTDATE,changeTime);
|
|
|
|
|
- //TODO 任职结束时间(下一段的开始日期)
|
|
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_ENDDATE,null);
|
|
|
|
|
|
|
+ Date changeTime = partyPosh.getDate(MasConstant.NCKD_CHANGETIME);
|
|
|
|
|
+
|
|
|
if(changeTime != null){
|
|
if(changeTime != null){
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_STARTDATE,changeTime);
|
|
|
|
|
+ DynamicObject nextPartyPoshRecord = nextPartyPoshRecordMap.get(entHeadRecordEntry.getKey());
|
|
|
|
|
+ if(nextPartyPoshRecord != null){
|
|
|
|
|
+ //任职结束时间(下一段的变动时间)
|
|
|
|
|
+ Date nextChangeTime = nextPartyPoshRecord.getDate(MasConstant.NCKD_CHANGETIME);
|
|
|
|
|
+ if(nextChangeTime != null) {
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_ENDDATE, nextChangeTime);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_ENDDATE, DateUtil.getMaxDateAsDate());
|
|
|
|
|
+ }
|
|
|
|
|
+ }else{
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_ENDDATE, DateUtil.getMaxDateAsDate());
|
|
|
|
|
+ }
|
|
|
//【变动时间】的次月到当年年底的月数
|
|
//【变动时间】的次月到当年年底的月数
|
|
|
LocalDateTime newMonths = DateUtil.addMonths(DateUtil.toLocalDateTime(changeTime), 1);
|
|
LocalDateTime newMonths = DateUtil.addMonths(DateUtil.toLocalDateTime(changeTime), 1);
|
|
|
long between = DateUtil.between(newMonths, endYear, ChronoUnit.MONTHS);
|
|
long between = DateUtil.between(newMonths, endYear, ChronoUnit.MONTHS);
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_SERVICEMONTHS,between);
|
|
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_SERVICEMONTHS,between);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
DynamicObject legalPost = legalPostMap.get(entHeadRecordEntry.getKey());
|
|
DynamicObject legalPost = legalPostMap.get(entHeadRecordEntry.getKey());
|
|
|
if(legalPost != null){
|
|
if(legalPost != null){
|
|
|
- long lawEntityId = legalPost.getLong(String.join(".", SubCoHeadServiceConstant.NCKD_LAWENTITY, FormConstant.ID_KEY));
|
|
|
|
|
|
|
+ long lawEntityId = legalPost.getLong(String.join(".", MasConstant.NCKD_LAWENTITY, FormConstant.ID_KEY));
|
|
|
//法人单位
|
|
//法人单位
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_LAWENTITY,lawEntityId);
|
|
|
|
|
|
|
+ DynamicObject lawentity = EntityHelper.newEntity(FormConstant.HBSS_LAWENTITY, lawEntityId);
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_LAWENTITY,lawentity);
|
|
|
}
|
|
}
|
|
|
|
|
+ //企业负责人信息
|
|
|
if(entHead != null){
|
|
if(entHead != null){
|
|
|
|
|
|
|
|
//是否职业经理人
|
|
//是否职业经理人
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_ISPROFMAN,entHead.getString(SubCoHeadServiceConstant.NCKD_ISPROFMAN));
|
|
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_ISPROFMAN,entHead.getString(MasConstant.NCKD_ISPROFMAN));
|
|
|
//是否经理层成员
|
|
//是否经理层成员
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_ISMANAGER,entHead.getString(SubCoHeadServiceConstant.NCKD_ISMANAGER));
|
|
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_ISMANAGER,entHead.getString(MasConstant.NCKD_ISMANAGER));
|
|
|
//薪酬核算岗位
|
|
//薪酬核算岗位
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_SALCALCPOST,entHead.getLong(String.join(".", SubCoHeadServiceConstant.NCKD_SALCALCPOST,FormConstant.ID_KEY)));
|
|
|
|
|
|
|
+ DynamicObject salCalcPost = EntityHelper.newEntity(FormConstant.HBPM_POSITIONHR, entHead.getLong(String.join(".", MasConstant.NCKD_SALCALCPOST, FormConstant.ID_KEY)));
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_SALCALCPOST,salCalcPost);
|
|
|
//薪酬是否一人一议
|
|
//薪酬是否一人一议
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_SALNEGOT,entHead.getString(SubCoHeadServiceConstant.NCKD_SALNEGOT));
|
|
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_SALNEGOT,entHead.getString(MasConstant.NCKD_SALNEGOT));
|
|
|
//TODO 当前取的是岗位管理层级,可能要改为岗位管理层级细项
|
|
//TODO 当前取的是岗位管理层级,可能要改为岗位管理层级细项
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_POSTLEVEL,entHead.getLong(String.join(".", SubCoHeadServiceConstant.NCKD_POSTLEVEL,FormConstant.ID_KEY)));
|
|
|
|
|
|
|
+ DynamicObject postLevel = EntityHelper.newEntity(FormConstant.NCKD_HPFS_POSTLEVEL, entHead.getLong(String.join(".", MasConstant.NCKD_POSTLEVEL, FormConstant.ID_KEY)));
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_POSTLEVEL,postLevel);
|
|
|
//法人岗位层级
|
|
//法人岗位层级
|
|
|
- newSubCoHeadService.set(SubCoHeadServiceConstant.NCKD_LEGPOSTLV,entHead.getLong(String.join(".", SubCoHeadServiceConstant.NCKD_LEGPOSTLV,FormConstant.ID_KEY)));
|
|
|
|
|
|
|
+ DynamicObject legPostLv = EntityHelper.newEntity(FormConstant.NCKD_HBSS_LEGPOSTLV, entHead.getLong(String.join(".", MasConstant.NCKD_LEGPOSTLV,FormConstant.ID_KEY)));
|
|
|
|
|
+ newSubCoHeadService.set(MasConstant.NCKD_LEGPOSTLV,legPostLv);
|
|
|
|
|
+ //员工信息
|
|
|
|
|
+ DynamicObject employee = EntityHelper.newEntity(MasConstant.HSBS_EMPLOYEE, entHead.getLong(String.join(".", FormConstant.EMPLOYEE_KEY, FormConstant.ID_KEY)));
|
|
|
|
|
+ employee.set(FormConstant.NAME_KEY,entHead.getString(String.join(".", FormConstant.EMPLOYEE_KEY, FormConstant.NAME_KEY)));
|
|
|
|
|
+ newSubCoHeadService.set(FormConstant.NCKD_EMPLOYEE,employee);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
saveSubCoHeadServiceList.add(newSubCoHeadService);
|
|
saveSubCoHeadServiceList.add(newSubCoHeadService);
|
|
@@ -261,7 +365,7 @@ public class SubCoHeadServiceListPlugin extends AbstractListPlugin implements Pl
|
|
|
//调用save op
|
|
//调用save op
|
|
|
OperateOption option = OperateOption.create();
|
|
OperateOption option = OperateOption.create();
|
|
|
option.setVariableValue("load", Boolean.TRUE+"");
|
|
option.setVariableValue("load", Boolean.TRUE+"");
|
|
|
- OperationResult operationResult = SaveServiceHelper.saveOperate(SubCoHeadServiceConstant.SUBCOHEADSERVICE_ENTITYID, saveSubCoHeadServiceList.toArray(new DynamicObject[0]), option);
|
|
|
|
|
|
|
+ OperationResult operationResult = SaveServiceHelper.saveOperate(MasConstant.SUBCOHEADSERVICE_ENTITYID, saveSubCoHeadServiceList.toArray(new DynamicObject[0]), option);
|
|
|
if (!operationResult.isSuccess()) {
|
|
if (!operationResult.isSuccess()) {
|
|
|
String parentPageId = this.getView().getFormShowParameter().getPageId();
|
|
String parentPageId = this.getView().getFormShowParameter().getPageId();
|
|
|
IFormView parentView = SessionManager.getCurrent().getViewNoPlugin(parentPageId);
|
|
IFormView parentView = SessionManager.getCurrent().getViewNoPlugin(parentPageId);
|
|
@@ -272,15 +376,13 @@ public class SubCoHeadServiceListPlugin extends AbstractListPlugin implements Pl
|
|
|
for (Object successPkId : operationResult.getSuccessPkIds()) {
|
|
for (Object successPkId : operationResult.getSuccessPkIds()) {
|
|
|
successMap.put(successPkId, customData.get(successPkId.toString()));
|
|
successMap.put(successPkId, customData.get(successPkId.toString()));
|
|
|
}
|
|
}
|
|
|
- int billCount = operationResult.getBillCount();
|
|
|
|
|
- int successCount = operationResult.getSuccessPkIds().size();
|
|
|
|
|
- int validError = billCount - successCount;
|
|
|
|
|
- String title = StrFormatter.format("载入人数:{},成功数量:{},失败数量:{}。", billCount, successCount, validError);
|
|
|
|
|
- this.getView().showForm(ShowOperExecuteResult.getOperResultForm(title, "载入党政职务履历", successMap, pageCache, operationResult));
|
|
|
|
|
|
|
+ this.getView().showForm(ShowOperExecuteResult.getOperResultForm("载入党政职务履历", successMap, pageCache, operationResult));
|
|
|
|
|
+ this.getView().invokeOperation(FormConstant.REFRESH_OP);
|
|
|
} else {
|
|
} else {
|
|
|
//刷新列表
|
|
//刷新列表
|
|
|
Map<String, String> customData = operationResult.getCustomData();
|
|
Map<String, String> customData = operationResult.getCustomData();
|
|
|
Map<Object, Object> successMap = new HashMap<>();
|
|
Map<Object, Object> successMap = new HashMap<>();
|
|
|
|
|
+ //成功的记录
|
|
|
for (Object successPkId : operationResult.getSuccessPkIds()) {
|
|
for (Object successPkId : operationResult.getSuccessPkIds()) {
|
|
|
successMap.put(successPkId, customData.get(successPkId.toString()));
|
|
successMap.put(successPkId, customData.get(successPkId.toString()));
|
|
|
}
|
|
}
|
|
@@ -289,6 +391,7 @@ public class SubCoHeadServiceListPlugin extends AbstractListPlugin implements Pl
|
|
|
IFormView parentView = SessionManager.getCurrent().getViewNoPlugin(parentPageId);
|
|
IFormView parentView = SessionManager.getCurrent().getViewNoPlugin(parentPageId);
|
|
|
IPageCache pageCache = (IPageCache) parentView.getService(IPageCache.class);
|
|
IPageCache pageCache = (IPageCache) parentView.getService(IPageCache.class);
|
|
|
this.getView().showForm(ShowOperExecuteResult.getOperResultForm("载入党政职务履历", successMap, pageCache, operationResult));
|
|
this.getView().showForm(ShowOperExecuteResult.getOperResultForm("载入党政职务履历", successMap, pageCache, operationResult));
|
|
|
|
|
+ this.getView().invokeOperation(FormConstant.REFRESH_OP);
|
|
|
} else {
|
|
} else {
|
|
|
this.getView().invokeOperation(FormConstant.REFRESH_OP);
|
|
this.getView().invokeOperation(FormConstant.REFRESH_OP);
|
|
|
this.getView().showConfirm("提示", operationResult.getMessage(), MessageBoxOptions.OK, null, null, null, null);
|
|
this.getView().showConfirm("提示", operationResult.getMessage(), MessageBoxOptions.OK, null, null, null, null);
|