From 81288acce75e2b45334b18d7bb24b6ce25298505 Mon Sep 17 00:00:00 2001 From: zengweihai Date: Fri, 17 May 2024 11:38:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=9A=E5=8A=A1=E5=8D=95=E5=85=83=E5=88=86?= =?UTF-8?q?=E9=85=8D=E9=83=A8=E9=97=A8=E9=BB=98=E8=AE=A4=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../task/DefaultAdminOrgRelationTaskImpl.java | 67 +++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/DefaultAdminOrgRelationTaskImpl.java diff --git a/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/DefaultAdminOrgRelationTaskImpl.java b/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/DefaultAdminOrgRelationTaskImpl.java new file mode 100644 index 0000000..33f7318 --- /dev/null +++ b/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/DefaultAdminOrgRelationTaskImpl.java @@ -0,0 +1,67 @@ +package shkd.cosmic.cxkg.task; + +import kd.bos.context.RequestContext; +import kd.bos.dataentity.OperateOption; +import kd.bos.dataentity.entity.DynamicObject; +import kd.bos.dataentity.entity.DynamicObjectCollection; +import kd.bos.exception.KDException; +import kd.bos.isc.util.dt.D; +import kd.bos.orm.query.QCP; +import kd.bos.orm.query.QFilter; +import kd.bos.schedule.executor.AbstractTask; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.QueryServiceHelper; +import kd.bos.servicehelper.operation.OperationServiceHelper; +import kd.bos.servicehelper.org.OrgUnitServiceHelper; +import kd.sdk.plugin.Plugin; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 后台任务插件 + */ +public class DefaultAdminOrgRelationTaskImpl extends AbstractTask implements Plugin { + + private static Logger logger = LoggerFactory.getLogger(HrmDepartmentTaskImpl.class); + + @Override + public void execute(RequestContext requestContext, Map map) throws KDException { + List orgIds_query = new ArrayList<>(); + orgIds_query.add(1947801724118892544L);//1947801724118892544L + //查询上海晨曦私募基金管理有限公司分配的行政组织集合 + List adminOrgRelation = OrgUnitServiceHelper.getAdminOrgRelation(orgIds_query,true); + //查询oa同步的行政组织 + QFilter qf = new QFilter("number",QCP.not_equals,"16005873"); + qf.and("shkd_oaid",QCP.not_equals,""); + DynamicObjectCollection queryOrges = QueryServiceHelper.query("bos_adminorg", "id,number,name", qf.toArray()); + int i = 0; + OperateOption option = OperateOption.create(); +// List dys = new ArrayList<>();//设置对象集合 + for (DynamicObject queryOrg : queryOrges) { + long id = queryOrg.getLong("id"); + if (!adminOrgRelation.contains(id)){//当查询出的行政组织还没分配给该业务单元时,创建分配关系 + i++; + logger.info("第"+i+"家"+"组织:"+queryOrg.get("name")+",还未分配部门,准备分配中......"); + DynamicObject newDynamicObject = BusinessDataServiceHelper.newDynamicObject("bos_org_orgrelation_dept");//创建实体对象 + DynamicObject newOrg = BusinessDataServiceHelper.newDynamicObject("bos_org");//业务单元 + newOrg.set("id",1947801724118892544L); + DynamicObject newAdminOrg = BusinessDataServiceHelper.newDynamicObject("bos_adminorg");//行政组织 + newAdminOrg.set("id",id); + DynamicObject newOrgDuty = BusinessDataServiceHelper.newDynamicObject("bos_org_duty");//部门属性 + newOrgDuty.set("id",1L); + DynamicObject newOrgTypeRelation = BusinessDataServiceHelper.newDynamicObject("bos_org_typerelation");//协作关系类型 + newOrgTypeRelation.set("id",585511977942548480L); + newDynamicObject.set("fromorg",newOrg); + newDynamicObject.set("toorg",newAdminOrg); + newDynamicObject.set("orgduty",newOrgDuty); + newDynamicObject.set("typerelation",newOrgTypeRelation); + OperationServiceHelper.executeOperate("save", "bos_adminorg", new DynamicObject[]{newDynamicObject}, option); + } + } + } +} \ No newline at end of file