diff --git a/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/DTO/QueryDTO.java b/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/DTO/QueryDTO.java index f0bd614..0bb5593 100644 --- a/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/DTO/QueryDTO.java +++ b/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/DTO/QueryDTO.java @@ -12,6 +12,11 @@ package shkd.cosmic.cxkg.task.DTO; public class QueryDTO { private int pagesize; //每页条数 private int curpage; //第几页 + + private String canceled; + + + private String created; //创建时间戳;(使用>=) private String modified; //修改时间戳;(使用>=) @@ -52,6 +57,13 @@ public class QueryDTO { public String getBase_custom_data() { return base_custom_data; } + public String getCanceled() { + return canceled; + } + + public void setCanceled(String canceled) { + this.canceled = canceled; + } public void setBase_custom_data(String base_custom_data) { this.base_custom_data = base_custom_data; diff --git a/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/HrmDepartmentTaskImpl.java b/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/HrmDepartmentTaskImpl.java index 15e2178..ab622dd 100644 --- a/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/HrmDepartmentTaskImpl.java +++ b/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/HrmDepartmentTaskImpl.java @@ -1,5 +1,8 @@ package shkd.cosmic.cxkg.task; +import kd.bos.entity.operate.result.OperationResult; +import kd.bos.servicehelper.BusinessDataServiceHelper; +import kd.bos.servicehelper.operation.OperationServiceHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import cn.hutool.http.HttpRequest; @@ -57,6 +60,7 @@ public class HrmDepartmentTaskImpl extends AbstractTask implements Plugin { QueryDTO queryDTO = new QueryDTO(); queryDTO.setCurpage(CURPAGE); queryDTO.setPagesize(PAGESIZE); + queryDTO.setCanceled("2"); query.setQueryDTO(queryDTO); if("0".equals(isFull)){//判断是否全量,不是则设置时间戳参数 @@ -179,16 +183,28 @@ public class HrmDepartmentTaskImpl extends AbstractTask implements Plugin { private OrgParam builderOrg(JSONObject item , Map orgIds) { OrgParam orgParam = new OrgParam(); String id = item.getString("id"); - if(id == null || id == ""){//当id不存在时,该数据不合法,方法结束。 - return null;//结束 - } - + String departmentcode = item.getString("departmentcode"); + String canceled = item.getString("canceled"); //设置自定义id(设置新增组织id)及id(为空则新增,其他则更新) Long depId = orgIds.get(id); if (depId != null){ orgParam.setId(depId); orgParam.setCustomOrgId(depId); + if("1".equals(canceled)){ + DynamicObject bos_adminorg = BusinessDataServiceHelper.loadSingle(depId, "bos_adminorg"); + OperationResult operationResult = OperationServiceHelper.executeOperate("freeze", "bos_adminorg", new DynamicObject[]{bos_adminorg}, null); + boolean success = operationResult.isSuccess(); + if (!success){ + logger.info(item.getString("departmentname")+"封存失败,"+operationResult.getMessage()); + } + } } + + if(id == null ||"".equals(id)||"1".equals(canceled)){//当id不存在时,该数据不合法,方法结束。 + return null;//结束 + } + + // 设置组织属性 orgParam.setNumber(item.getString("departmentcode")); orgParam.setName(item.getString("departmentname")); @@ -198,6 +214,7 @@ public class HrmDepartmentTaskImpl extends AbstractTask implements Plugin { Map proMap = new HashMap<>(); proMap.put("shkd_oaid",id); + proMap.put("isfreeze","1".equals(item.getString("canceled"))?"1":"0"); orgParam.setPropertyMap(proMap); //上级部门设置 String supDepId = item.getString("supdepid");//获取oa数据的上级部门id diff --git a/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/UserTaskImpl.java b/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/UserTaskImpl.java index 7c31a92..10372ae 100644 --- a/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/UserTaskImpl.java +++ b/shkd-cosmic-debug/src/main/java/shkd/cosmic/cxkg/task/UserTaskImpl.java @@ -9,6 +9,7 @@ import kd.bos.dataentity.entity.DynamicObject; import kd.bos.dataentity.entity.DynamicObjectCollection; import kd.bos.dataentity.metadata.dynamicobject.DynamicObjectType; import kd.bos.entity.EntityMetadataCache; +import kd.bos.entity.operate.result.OperationResult; import kd.bos.exception.KDException; import kd.bos.org.model.OrgParam; import kd.bos.permission.model.UserParam; @@ -17,6 +18,7 @@ import kd.bos.service.ServiceFactory; import kd.bos.servicehelper.BusinessDataServiceHelper; import kd.bos.servicehelper.QueryServiceHelper; +import kd.bos.servicehelper.operation.OperationServiceHelper; import kd.bos.servicehelper.org.OrgUnitServiceHelper; import kd.bos.servicehelper.user.UserServiceHelper; import kd.bos.servicehelper.operation.SaveServiceHelper; @@ -171,7 +173,7 @@ public class UserTaskImpl extends AbstractTask { user.setCustomUserId(workid); } Map dataMap = new HashMap<>(); - dataMap.put("name", userData.getString("lastname")); // 姓名 + dataMap.put("name", userData.getString("lastname")); // 姓名、 dataMap.put("username", userData.getString("loginid")); //用户名 dataMap.put("usertype", "1");//类型 dataMap.put("phone", userData.getString("mobile"));//移动电话 @@ -180,13 +182,12 @@ public class UserTaskImpl extends AbstractTask { dataMap.put("birthday", userData.getDate("birthday"));//生日 dataMap.put("gender", "男" .equals(userData.getString("sex")) ? "1" : "2"); //性别 dataMap.put("shkd_oaid",userData.getString("id")); + dataMap.put("enable","5".equals(userData.getString("status"))?"0":"1");//禁用 JSONObject base_custom_data = userData.getJSONObject("base_custom_data"); String field1= base_custom_data.getString("field1"); if (!"".equals(field1)){ dataMap.put("shkd_labororg",orgIds.get(field1)); } - - // 职位分 if(workid == null){//若人不存在则更新部门