人员、组织接口优化

This commit is contained in:
zengweihai 2024-06-26 17:18:51 +08:00
parent 780fdd4ace
commit e4cfd53241
3 changed files with 37 additions and 7 deletions

View File

@ -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;

View File

@ -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<Object,Long> 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<String, Object> 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

View File

@ -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<String, Object> 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){//若人不存在则更新部门