2025-01-08企学星同步代码上传
This commit is contained in:
@@ -21,6 +21,8 @@ public enum SyncConstants {
|
||||
qxxDeleteOrg("/hklearn/openapi/v1/data/org/delete","企学星删除部门URL"),
|
||||
qxxSelectOrg("/hklearn/openapi/v1/data/org/select","企学星查询部门URL"),
|
||||
qxxSaveUser("/hklearn/openapi/v1/data/user/save","企学星保存用户URL"),
|
||||
qxxDeleteUser("/hklearn/openapi/v1/data/user/delete","企学星删除用户URL"),
|
||||
qxxSelectUser("/hklearn/openapi/v1/data/user/select","企学星查询用户URL"),
|
||||
flowLoginName("demo1", "流程平台登录用户"),
|
||||
flowRestPassword("1cd9ffb0-39ee-4690-8773-e183f233b3b9", "流程平台rest密码"),
|
||||
flowRestUserName("flowdata", "流程平台rest用户"),
|
||||
|
||||
@@ -12,7 +12,7 @@ public interface ISrcDepartmentDao {
|
||||
|
||||
public List<Map<String,Object>> getIncrementDepartmentByUpdateTime(String startDate);
|
||||
|
||||
public List<Map<String,Object>> getAllDepartments ();
|
||||
public List<Map<String,Object>> getAllDepartments();
|
||||
|
||||
public List<String> getDepartmentBySuperPath(String accountPath);
|
||||
|
||||
|
||||
@@ -17,8 +17,8 @@ public class SrcAccountDaoImpl implements ISrcAccountDao {
|
||||
String getSubordinateAccountByPath = "select id from org_unit where type = 'Account' and path like '${path}____'";
|
||||
String getAccountById = "select id,name,code,path from org_unit where type = 'Account' and id = ?";
|
||||
String getAccountByPath = "select id,name,code,path from org_unit where type = 'Account' and path = ?";
|
||||
String getIncrementAccountByModifyDate = "select id,name,code,path,is_enable,sort_id from org_unit where type = 'Account' and id <> -1730833917365171641 and (path not like '00000017%' or name = '湖北省知与行人力资源管理有限公司' ) and is_enable = 1 and update_time >= ?";
|
||||
String getAllAccounts = "select id,name,code,path,is_enable,type,sort_id from org_unit where type = 'Account' and id <> -1730833917365171641 and (path not like '00000017%' or name = '湖北省知与行人力资源管理有限公司' ) and is_enable = 1 order by SORT_ID";
|
||||
String getIncrementAccountByModifyDate = "select id,name,code,path,is_enable,sort_id from org_unit where type = 'Account' and id not in ( -1730833917365171641,3695237350552978435) and (path not like '00000017%' or name = '湖北省知与行人力资源管理有限公司' ) and is_enable = 1 and update_time >= ?";
|
||||
String getAllAccounts = "select id,name,code,path,is_enable,type,sort_id from org_unit where type = 'Account' and id not in ( -1730833917365171641,3695237350552978435) and (path not like '00000017%' or name = '湖北省知与行人力资源管理有限公司' ) and is_enable = 1 order by SORT_ID";
|
||||
|
||||
// select id from org_unit where (id = ? or name = ?)
|
||||
@Override
|
||||
|
||||
@@ -15,7 +15,7 @@ public class SrcDepartmentDaoImpl implements ISrcDepartmentDao {
|
||||
|
||||
|
||||
String getSubordinateDepartmentByPath = "select id from org_unit where type = 'Department' and path like '${path}____'";
|
||||
String getDepartmentByPath = "select name,code,path,id from org_unit where type = 'Department' and path like ?";
|
||||
String getDepartmentByPath = "select name,code,path,id from org_unit where type = 'Department' and path = ? and is_enable = 1 ";
|
||||
String getIncrementDepartmentByUpdateTime = "select id,code,name,path,is_enable,org_account_id,sort_id from org_unit where type = 'Department' and update_time >= ?";
|
||||
String getAllDepatrment = "select id,code,name,path,is_enable,org_account_id,sort_id from org_unit where type = 'Department' and path not like '00000017%' and is_enable = 1 and org_account_id <> -1730833917365171641 order by SORT_ID";
|
||||
String getDepartmentBySuperPath = "select id from org_unit where type = 'Department' and path like '${path}%'";
|
||||
@@ -110,7 +110,7 @@ public class SrcDepartmentDaoImpl implements ISrcDepartmentDao {
|
||||
}
|
||||
|
||||
|
||||
// select id,name,code,path,is_enable from org_unit where type = 'Account'
|
||||
// select id,code,name,path,is_enable,org_account_id,sort_id from org_unit where type = 'Department' and path not like '00000017%' and is_enable = 1 and org_account_id <> -1730833917365171641 order by SORT_ID
|
||||
@Override
|
||||
public List<Map<String,Object>> getAllDepartments (){
|
||||
JDBCAgent agent = new JDBCAgent();
|
||||
|
||||
@@ -21,7 +21,7 @@ public class SrcMemberDaoImpl implements ISrcMemberDao {
|
||||
private String queryClientByName = "select field0001 as client_code,field0002 as client_name,field0067 as area,field0007 as state,field0011 as credit_identifier,field0062 as deputy_manager from formmain_0208 where field0002 = ?";
|
||||
private String getAllMembers = "select id,name,code,is_enable,org_account_id,org_post_id,org_department_id from org_member ";
|
||||
private String getMembersByStartDate = "select id,name,code,is_enable,org_account_id,org_post_id,org_department_id from org_member where update_time>=?";
|
||||
private String getAllClientMembers = "select id,name,code,is_enable,org_account_id,org_post_id,org_department_id from org_member where org_account_id in ( select id from org_unit where path like '00000017%' and type = 'Account')";
|
||||
private String getAllClientMembers = "select id,name,code,is_enable,org_account_id,org_post_id,org_department_id from org_member where org_account_id in ( select id from org_unit where path like '00000017%' and id != 8559604892185870467 and type = 'Account')";
|
||||
private String getMemberById = "select id,name,code,is_enable,org_account_id,org_post_id,org_department_id from org_member where id = ?";
|
||||
private String getMemberByDepartmentId = "select id,name,code,is_enable,org_account_id,org_post_id,org_department_id,'account' type from org_member where org_department_id = ? and is_enable = 1 order by SORT_ID";
|
||||
private String getMemberByAccountId = "select id,name,code,is_enable,org_account_id,org_post_id,org_department_id,'account' type from org_member where org_account_id = ? and is_enable = 1 order by SORT_ID";
|
||||
|
||||
@@ -12,7 +12,7 @@ import java.util.Map;
|
||||
|
||||
public class SyncQixuexingDaoImpl implements ISyncQixuexingDao {
|
||||
|
||||
private String getMaxSynchronizationDate = "select max(create_date) as max_create_date from cst_quartz_log where PARENTID = (select id from CST_QUARTZ where bean_id = 'organizationQuartz') and message not like '%任务执行异常%' and message not like '%上次的任务还在运行中%'";
|
||||
private String getMaxSynchronizationDate = "select max(create_date) as max_create_date from cst_quartz_log where PARENTID = (select id from CST_QUARTZ where bean_id = 'qixuexingOrganizationQuartz') and message not like '%任务执行异常%' and message not like '%上次的任务还在运行中%'";
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getMaxSynchronizationDate() {
|
||||
|
||||
@@ -47,13 +47,12 @@ public class QixuexingOrganizationQuartz extends AbstractQuartzTask {
|
||||
// 进行企学星单位同步操作
|
||||
String errorAccountValue = organizationOrgQixuexingSyncServer.qixuexingSyncAllAccounts();
|
||||
// 进行企学星部门同步操作
|
||||
String errorDepartmentValue = organizationOrgQixuexingSyncServer.qixuexingSyncAllDepartments();
|
||||
// 进行企学星岗位同步操作
|
||||
// String errorDepartmentValue = organizationOrgQixuexingSyncServer.qixuexingSyncAllDepartments();
|
||||
// 进行企学星岗位同步
|
||||
// String errorPostValue = organizationOrgQixuexingSyncServer.qixuexingSyncAllPosts();
|
||||
// 进行企学星职务级别同步操作
|
||||
// String errorLevelValue = organizationOrgQixuexingSyncServer.qixuexingSyncAllLevels();
|
||||
// 进行企学星人员同步操作
|
||||
String errorMemberValue = organizationOrgQixuexingSyncServer.qixuexingSyncAllMembers();
|
||||
// res = errorAccountValue+","+errorDepartmentValue+","+errorMemberValue;
|
||||
// 进行企学星业代人员同步
|
||||
String errorServiceBroker = "";
|
||||
if("是".equals(isServiceBroker)||"Y".equals(isServiceBroker)||"y".equals(isServiceBroker)){
|
||||
@@ -61,13 +60,13 @@ public class QixuexingOrganizationQuartz extends AbstractQuartzTask {
|
||||
}
|
||||
// 进行客户单位下人员同步
|
||||
String errorClientMemberValue = organizationOrgQixuexingSyncServer.qixuexingSyncAllClientMembers();
|
||||
res = errorAccountValue+","+errorDepartmentValue+","+errorMemberValue+","+errorServiceBroker+","+errorClientMemberValue;
|
||||
res = errorMemberValue+","+errorServiceBroker+","+errorClientMemberValue;
|
||||
// res = errorAccountValue+","+errorDepartmentValue+","+errorMemberValue+","+errorServiceBroker+","+errorClientMemberValue;
|
||||
|
||||
}else{
|
||||
// 通过时间查询最新的修改数据并且同步到钉钉。
|
||||
String accountRes = organizationOrgQixuexingSyncServer.qixuexingSyncBatchAccount(simpleDateFormat.format(startDate));
|
||||
String departmrntRes = organizationOrgQixuexingSyncServer.qixuexingSyncBatchDepartment(simpleDateFormat.format(startDate));
|
||||
// String postRes = organizationOrgQixuexingSyncServer.qixuexingSyncBatchPost(simpleDateFormat.format(startDate));
|
||||
// String levelRes = organizationOrgQixuexingSyncServer.qixuexingSyncBatchLevel(simpleDateFormat.format(startDate));
|
||||
String memberRes = organizationOrgQixuexingSyncServer.qixuexingSyncBatchMember(simpleDateFormat.format(startDate));
|
||||
String serviceBrokerRes = "";
|
||||
if("是".equals(isServiceBroker)||"Y".equals(isServiceBroker)||"y".equals(isServiceBroker)){
|
||||
|
||||
@@ -463,7 +463,7 @@ public class OrganizationOrgDingdingSyncServer {
|
||||
} else{
|
||||
// 如果当前部门不是一级部门,则直接获取上级部门ID查询钉钉绑定
|
||||
Map<String,Object> superDepartmentBinding = syncDdDao.getDepartmentBinding(superDepartmentId);
|
||||
if(superDepartmentBinding.size()<0){
|
||||
if(superDepartmentBinding.get("org_department_id")==null){
|
||||
// 未查询到上级单位绑定关系,同步钉钉失败,
|
||||
errorMap.put(departmentMap.get("id").toString(),"钉钉同步单位失败:"+departmentMap.get("name")+"未查询到上级部门绑定关系,同步钉钉失败");
|
||||
return errorMap;
|
||||
|
||||
@@ -7,12 +7,14 @@ import com.seeyon.apps.common.plugin.vo.ConfigVo;
|
||||
import com.seeyon.apps.src_mainorganization.constans.SyncConstants;
|
||||
import com.seeyon.apps.src_mainorganization.dao.*;
|
||||
import com.seeyon.apps.src_mainorganization.util.FormExportUtil;
|
||||
import com.seeyon.apps.src_mainorganization.util.ProtUtil;
|
||||
import com.seeyon.apps.src_mainorganization.util.QixuexingPortUtil;
|
||||
import com.seeyon.ctp.common.AppContext;
|
||||
import com.seeyon.ctp.common.ctpenumnew.manager.EnumManager;
|
||||
import com.seeyon.ctp.common.exceptions.BusinessException;
|
||||
import com.seeyon.ctp.common.po.ctpenumnew.CtpEnumItem;
|
||||
import com.seeyon.ctp.services.ServiceException;
|
||||
import com.seeyon.ctp.util.UUIDLong;
|
||||
import com.seeyon.v3x.services.form.FormFactory;
|
||||
import com.seeyon.v3x.services.form.bean.FormExport;
|
||||
import com.seeyon.v3x.services.form.bean.ValueExport;
|
||||
@@ -108,7 +110,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
from.put("同步类型", "单位");
|
||||
from.put("同步时间", sdf.format(new Date()));
|
||||
from.put("同步对象", accountMap.get("name").toString());
|
||||
// 判断是否为业务架构存在的单位信息
|
||||
// 判断务是否为业架构存在的单位信息
|
||||
if(!accountMap.get("path").toString().startsWith("00000017") || excludeAccount.contains(accountId)) {
|
||||
log.info(accountName + accountMap.get("code") + accountId);
|
||||
if ("1".equals(accountMap.get("is_enable") != null ? accountMap.get("is_enable").toString() : null)) {
|
||||
@@ -118,10 +120,13 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
Map<String,Object> sub = srcAccountDao.getAccountByPath(subPath);
|
||||
String subId = sub.get("id").toString();
|
||||
if(!"-1730833917365171641".equals(subId)){
|
||||
if(excludeAccount.contains(accountId)){
|
||||
subId = "-4020778099040434485";
|
||||
}
|
||||
JSONObject select = QixuexingPortUtil.qixuexingSelectOrg(configVo,subId);
|
||||
String selectCode = select.getString("code");
|
||||
// 如果上级不存在则跳过当前单位信息
|
||||
if(!"0".equals(selectCode)){
|
||||
if(!"200".equals(selectCode)){
|
||||
errorMap.put(accountId+"","企学星同步单位失败:未查询到有效上级信息"+accountName);
|
||||
continue;
|
||||
}else{
|
||||
@@ -135,7 +140,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 封装当前环境单位数据,调用部门保存接口,保存企学星部门信息
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingSaveOrg(configVo,accountMap,subId);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 保存成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星单位保存同步成功");
|
||||
@@ -156,7 +161,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
} else {
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingDeleteOrg(configVo,accountId);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 删除成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星单位删除同步成功");
|
||||
@@ -238,12 +243,20 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 查询上级信息
|
||||
String path = departmentMap.get("path").toString();
|
||||
String subPath = path.substring(0,path.length()-4);
|
||||
// 部门上级在OA中可能为单位或者部门
|
||||
Map<String,Object> sub = srcDepartmentDao.getDepartmentByPath(subPath);
|
||||
if(sub.size()==0){
|
||||
sub = srcAccountDao.getAccountByPath(subPath);
|
||||
}
|
||||
if(sub.size()==0){
|
||||
errorMap.put(departmentId+"","企学星同步部门失败:未查询到有效上级信息"+departmentName);
|
||||
continue;
|
||||
}
|
||||
String subId = sub.get("id").toString();
|
||||
JSONObject select = QixuexingPortUtil.qixuexingSelectOrg(configVo,subId);
|
||||
String selectCode = select.getString("code");
|
||||
// 如果上级不存在则跳过当前单位信息
|
||||
if(!"0".equals(selectCode)){
|
||||
if(!"200".equals(selectCode)){
|
||||
errorMap.put(departmentId+"","企学星同步部门失败:未查询到有效上级信息"+departmentName);
|
||||
continue;
|
||||
}else{
|
||||
@@ -256,7 +269,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 封装当前环境单位数据,调用部门保存接口,保存企学星部门信息
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingSaveOrg(configVo,departmentMap,subId);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 保存成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星部门保存同步成功");
|
||||
@@ -279,7 +292,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 部门停用删除企学星部门
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingDeleteOrg(configVo,departmentId);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 删除成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星部门删除同步成功");
|
||||
@@ -304,6 +317,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
}
|
||||
|
||||
public String qixuexingSyncAllMembers(){
|
||||
log.info("进行全量人员同步");
|
||||
String res = "";
|
||||
// 根据列表查询生成列表部门对象
|
||||
Map<String,String> errorMap = null;
|
||||
@@ -326,6 +340,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
}
|
||||
|
||||
public String qixuexingSyncBatchMember(String startDate){
|
||||
log.info("进行时间增量人员数据同步");
|
||||
String res = "";
|
||||
// 根据列表查询生成列表部门对象
|
||||
Map<String,String> errorMap = null;
|
||||
@@ -350,14 +365,18 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 通过人员列表ID查询人员对象列表
|
||||
public List<Map<String,Object>> v3xOrgMembertoMemberMap(List<Map<String,Object>> incrementMembers) {
|
||||
List<Map<String,Object>> orgMembers = new ArrayList<>();
|
||||
log.info("进行人员数据添加");
|
||||
ConfigVo configVo = this.cstConfigApi.getConfig(this.getPluginId());
|
||||
for(Map<String,Object> incrementMember :incrementMembers){
|
||||
log.info(incrementMember.toString());
|
||||
if(incrementMember.get("id")!=null){
|
||||
String departmentId = incrementMember.get("org_department_id").toString();
|
||||
|
||||
JSONObject select = QixuexingPortUtil.qixuexingSelectOrg(configVo,departmentId);
|
||||
log.info(select.toString());
|
||||
String selectCode = select.getString("code");
|
||||
// 如果上级不存在则跳过当前单位信息
|
||||
if(!"0".equals(selectCode)){
|
||||
if(!"200".equals(selectCode)){
|
||||
continue;
|
||||
}else{
|
||||
String selectData = select.getString("data");
|
||||
@@ -366,11 +385,12 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
}
|
||||
}
|
||||
String memberId = incrementMember.get("id").toString();
|
||||
// 此方法无法查询已经离职人员信息
|
||||
Map<String,Object> memberMap = archiveDao.getMemberArchiveByMemberId(Long.parseLong(memberId));
|
||||
if(memberMap.size()!=0){
|
||||
orgMembers.add(memberMap);
|
||||
}
|
||||
}
|
||||
}
|
||||
return orgMembers;
|
||||
}
|
||||
|
||||
@@ -379,6 +399,10 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
Map<String,String> errorMap = new HashMap<>();
|
||||
for(Map<String,Object> memberMap : list){
|
||||
Map<String,String> from = new HashMap<String,String>();
|
||||
if(memberMap.get("id")==null){
|
||||
errorMap.put(UUIDLong.longUUID()+"","企学星用户保存同步失败:当前处理人员ID为空"+memberMap.toString());
|
||||
continue;
|
||||
}
|
||||
String memberId = memberMap.get("id").toString();
|
||||
String memberName = memberMap.get("name").toString();
|
||||
// 设置日志保存数据
|
||||
@@ -387,7 +411,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
from.put("同步对象", memberName);
|
||||
String memberState = memberMap.get("member_state").toString();
|
||||
CtpEnumItem stateEnum = getEnumManagerNew().getCtpEnumItem(Long.parseLong(memberState));
|
||||
if("1".equals(stateEnum.getValue()) || "0".equals(stateEnum.getValue())){
|
||||
if("1".equals(stateEnum.getValue()) || "2".equals(stateEnum.getValue())){//人员1为在职2为试用
|
||||
// 封装当前环境单位数据,调用部门保存接口,保存企学星部门信息
|
||||
String memberSex = memberMap.get("sex") !=null ?memberMap.get("sex").toString():"";
|
||||
CtpEnumItem sexEnum ;
|
||||
@@ -398,7 +422,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
memberMap.put("member_status","1");
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingSaveUser(configVo,memberMap);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 保存成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星用户保存同步成功");
|
||||
@@ -406,7 +430,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 保存失败
|
||||
from.put("是否成功", "失败");
|
||||
from.put("同步结果", "企学星用户保存同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(memberId+"","企学星用户保存同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(memberId+"","企学星用户保存同步失败"+memberId+memberName+":"+jsonObject.getString("message"));
|
||||
}
|
||||
FormExport formExport = new FormExport();
|
||||
from.put("同步动作", "保存");
|
||||
@@ -421,7 +445,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 部门停用删除企学星部门
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingDeleteUser(configVo,memberId);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 删除成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星用户删除同步成功");
|
||||
@@ -429,7 +453,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 删除失败
|
||||
from.put("是否成功", "失败");
|
||||
from.put("同步结果", "企学星用户删除同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(memberId+"","企学星用户部门失败:"+jsonObject.getString("message"));
|
||||
errorMap.put(memberId+"","企学星用户删除失败:"+memberId+memberName+":"+jsonObject.getString("message"));
|
||||
}
|
||||
FormExport formExport = new FormExport();
|
||||
from.put("同步动作", "删除");
|
||||
@@ -491,6 +515,11 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
ConfigVo configVo = this.cstConfigApi.getConfig(this.getPluginId());
|
||||
Map<String,String> errorMap = new HashMap<>();
|
||||
for(Map<String,Object> serviceBrokerMap : list){
|
||||
// log.info("当前处理业代客户ID"+serviceBrokerMap.get("id"));
|
||||
if(serviceBrokerMap.get("id")==null){
|
||||
errorMap.put(UUIDLong.longUUID()+"","企学星业代用户保存同步失败:当前处理人员ID为空"+serviceBrokerMap.toString());
|
||||
continue;
|
||||
}
|
||||
Map<String,String> from = new HashMap<String,String>();
|
||||
String serviceBrokerId = serviceBrokerMap.get("id").toString();
|
||||
String serviceBrokerName = serviceBrokerMap.get("name").toString();
|
||||
@@ -500,7 +529,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
from.put("同步对象", serviceBrokerName);
|
||||
String serviceBrokerState = serviceBrokerMap.get("state").toString();
|
||||
CtpEnumItem stateEnum = getEnumManagerNew().getCtpEnumItem(Long.parseLong(serviceBrokerState));
|
||||
if("1".equals(stateEnum.getValue()) || "0".equals(stateEnum.getValue())){
|
||||
if("1".equals(stateEnum.getValue()) || "2".equals(stateEnum.getValue())){
|
||||
// 封装当前环境单位数据,调用部门保存接口,保存企学星部门信息
|
||||
String memberSex = serviceBrokerMap.get("sex") !=null ?serviceBrokerMap.get("sex").toString():"";
|
||||
CtpEnumItem sexEnum ;
|
||||
@@ -511,7 +540,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
serviceBrokerMap.put("member_status","1");
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingSaveUserServiceBroker(configVo,serviceBrokerMap);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 保存成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星业代用户保存同步成功");
|
||||
@@ -519,7 +548,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 保存失败
|
||||
from.put("是否成功", "失败");
|
||||
from.put("同步结果", "企学星业代用户保存同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(serviceBrokerId+"","企学星业代用户保存同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(serviceBrokerId+"","企学星业代用户保存同步失败"+serviceBrokerId+serviceBrokerName+":"+jsonObject.getString("message"));
|
||||
}
|
||||
FormExport formExport = new FormExport();
|
||||
from.put("同步动作", "保存");
|
||||
@@ -534,7 +563,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 部门停用删除企学星部门
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingDeleteUserServiceBroker(configVo,serviceBrokerId);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 删除成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星业代用户删除同步成功");
|
||||
@@ -542,7 +571,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 删除失败
|
||||
from.put("是否成功", "失败");
|
||||
from.put("同步结果", "企学星业代用户删除同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(serviceBrokerId+"","企学星业代用户部门失败:"+jsonObject.getString("message"));
|
||||
errorMap.put(serviceBrokerId+"","企学星业代用户删除同步失败:"+serviceBrokerId+serviceBrokerName+":"+jsonObject.getString("message"));
|
||||
}
|
||||
FormExport formExport = new FormExport();
|
||||
from.put("同步动作", "删除");
|
||||
@@ -608,8 +637,8 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
for(Map<String,Object> incrementMember :incrementMembers){
|
||||
if(incrementMember.get("id")!=null){
|
||||
String clientMemberId = incrementMember.get("id").toString();
|
||||
// 此方法无法查询已经离职人员信息
|
||||
Map<String,Object> memberMap = archiveDao.getMemberArchiveByClientMemberId(Long.parseLong(clientMemberId));
|
||||
memberMap.put("orgMemberId",clientMemberId);
|
||||
orgMembers.add(memberMap);
|
||||
}
|
||||
}
|
||||
@@ -620,7 +649,14 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
ConfigVo configVo = this.cstConfigApi.getConfig(this.getPluginId());
|
||||
Map<String,String> errorMap = new HashMap<>();
|
||||
for(Map<String,Object> clientMemberMap : list){
|
||||
log.info("当前处理客户ID"+clientMemberMap.get("id"));
|
||||
Map<String,String> from = new HashMap<String,String>();
|
||||
log.info(clientMemberMap.toString());
|
||||
if(clientMemberMap.get("id")==null){
|
||||
errorMap.put(UUIDLong.longUUID()+"","企学星客户用户保存同步失败:当前处理人员ID为空"+clientMemberMap.toString());
|
||||
continue;
|
||||
// return errorMap;
|
||||
}
|
||||
String clientMemberId = clientMemberMap.get("id").toString();
|
||||
String clientMemberName = clientMemberMap.get("name").toString();
|
||||
// 设置日志保存数据
|
||||
@@ -629,7 +665,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
from.put("同步对象", clientMemberName);
|
||||
String memberState = clientMemberMap.get("member_state").toString();
|
||||
CtpEnumItem stateEnum = getEnumManagerNew().getCtpEnumItem(Long.parseLong(memberState));
|
||||
if("1".equals(stateEnum.getValue()) || "0".equals(stateEnum.getValue())){
|
||||
if("1".equals(stateEnum.getValue()) || "2".equals(stateEnum.getValue())){
|
||||
// 封装当前环境单位数据,调用部门保存接口,保存企学星部门信息
|
||||
String memberSex = clientMemberMap.get("sex") !=null ?clientMemberMap.get("sex").toString():"";
|
||||
CtpEnumItem sexEnum ;
|
||||
@@ -640,7 +676,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
clientMemberMap.put("member_status","1");
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingSaveUserClientMember(configVo,clientMemberMap);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 保存成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星客户用户保存同步成功");
|
||||
@@ -648,7 +684,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 保存失败
|
||||
from.put("是否成功", "失败");
|
||||
from.put("同步结果", "企学星客户用户保存同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(clientMemberId+"","企学星客户用户保存同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(clientMemberId+"","企学星客户用户保存同步失败"+clientMemberId+clientMemberName+":"+jsonObject.getString("message"));
|
||||
}
|
||||
FormExport formExport = new FormExport();
|
||||
from.put("同步动作", "保存");
|
||||
@@ -663,7 +699,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 部门停用删除企学星部门
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingDeleteUserClientMember(configVo,clientMemberId);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("0".equals(resCode)){
|
||||
if("200".equals(resCode)){
|
||||
// 删除成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星客户用户删除同步成功");
|
||||
@@ -671,7 +707,7 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
// 删除失败
|
||||
from.put("是否成功", "失败");
|
||||
from.put("同步结果", "企学星客户用户删除同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(clientMemberId+"","企学星客户用户部门失败:"+jsonObject.getString("message"));
|
||||
errorMap.put(clientMemberId+"","企学星客户用户删除同步失败"+clientMemberId+clientMemberName+":"+jsonObject.getString("message"));
|
||||
}
|
||||
FormExport formExport = new FormExport();
|
||||
from.put("同步动作", "删除");
|
||||
@@ -687,19 +723,136 @@ public class OrganizationOrgQixuexingSyncServer {
|
||||
return errorMap;
|
||||
}
|
||||
|
||||
// public String qixuexingSyncAllPosts () {
|
||||
// return null;
|
||||
public String qixuexingTestMembers(){
|
||||
String res = "";
|
||||
// 根据列表查询生成列表部门对象
|
||||
Map<String,String> errorMap = null;
|
||||
try {
|
||||
// 根据上一次同步时间获取最新修改的单位信息
|
||||
List<Map<String,Object>> incrementMembers = srcMemberDao.getAllMembers();
|
||||
ConfigVo configVo = this.cstConfigApi.getConfig(this.getPluginId());
|
||||
errorMap = new HashMap<>();
|
||||
for(Map<String,Object> memberMap : incrementMembers){
|
||||
Map<String,String> from = new HashMap<String,String>();
|
||||
log.info("当前处理人员客户ID"+memberMap.get("id"));
|
||||
String memberId = memberMap.get("id").toString();
|
||||
String memberName = memberMap.get("name").toString();
|
||||
// 设置日志保存数据
|
||||
from.put("同步类型", "人员");
|
||||
from.put("同步时间", sdf.format(new Date()));
|
||||
from.put("同步对象", memberName);
|
||||
String memberState = memberMap.get("is_enable").toString();
|
||||
// CtpEnumItem stateEnum = getEnumManagerNew().getCtpEnumItem(Long.parseLong(memberState));
|
||||
if("1".equals(memberState)){
|
||||
// 封装当前环境单位数据,调用部门保存接口,保存企学星部门信息
|
||||
// String memberSex = memberMap.get("sex") !=null ?memberMap.get("sex").toString():"";
|
||||
// CtpEnumItem sexEnum ;
|
||||
// if(StringUtil.isNotEmpty(memberSex)){
|
||||
// sexEnum = getEnumManagerNew().getCtpEnumItem(Long.parseLong(memberSex));
|
||||
memberMap.put("member_sex",'1');
|
||||
// }
|
||||
//
|
||||
memberMap.put("member_status","1");
|
||||
String qxxCorpsecret = configVo.getParamVal(SyncConstants.qxxCorpsecret.name());
|
||||
String qxxUrl = configVo.getParamVal(SyncConstants.qxxUrl.name());
|
||||
String qxxGetToken = configVo.getParamVal(SyncConstants.qxxGetToken.name());
|
||||
String qxxCorpid = configVo.getParamVal(SyncConstants.qxxCorpid.name());
|
||||
String qxxToken = ProtUtil.getQxxToken(qxxUrl+qxxGetToken,qxxCorpid,qxxCorpsecret);
|
||||
String qxxSaveUser = configVo.getParamVal(SyncConstants.qxxSaveUser.name());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("userUuid",memberMap.get("id").toString());
|
||||
param.put("username",memberMap.get("id").toString());
|
||||
param.put("realName",memberMap.get("name").toString());
|
||||
param.put("orgUuid",memberMap.get("org_department_id").toString());
|
||||
// param.put("phone",memberMap.get("telnumber").toString());
|
||||
param.put("credentialsType","1");
|
||||
// param.put("credentialsCode",map.get("member_no").toString());
|
||||
param.put("sex","1");
|
||||
param.put("status",memberState);
|
||||
// param.put("entryDate","");
|
||||
Map<String,String> headerMap = new HashMap<>();
|
||||
long uuid = UUIDLong.longUUID();
|
||||
headerMap.put("Content-Type","application/json");
|
||||
headerMap.put("token",qxxToken);
|
||||
long timestamp = new Date().getTime();
|
||||
headerMap.put("timestamp",timestamp+"");
|
||||
headerMap.put("nonce",uuid+"");
|
||||
String signature = QixuexingPortUtil.getSignature
|
||||
(qxxToken,timestamp+"",uuid+"",param.toString(),qxxCorpsecret);
|
||||
headerMap.put("signature",signature);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxSaveUser, headerMap);
|
||||
JSONObject jsonObject = JSONObject.parseObject(str);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("200".equals(resCode)){
|
||||
// 保存成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星用户保存同步成功");
|
||||
}else{
|
||||
// 保存失败
|
||||
from.put("是否成功", "失败");
|
||||
from.put("同步结果", "企学星用户保存同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(memberId+"","企学星用户保存同步失败"+jsonObject.getString("message"));
|
||||
}
|
||||
FormExport formExport = new FormExport();
|
||||
from.put("同步动作", "保存");
|
||||
from.put("主要信息", memberMap.toString());
|
||||
List<ValueExport> valueExports = formExportUtil.setFormValue(from);
|
||||
formExport.setValues(valueExports);
|
||||
//同步记录创建人和钉钉日志创建人共用
|
||||
formFactory.importBusinessFormData(configVo.getParamVal(SyncConstants.dingdingLogloginName.name()),
|
||||
configVo.getParamVal(SyncConstants.qxxLog.name()),
|
||||
formExport, new String[]{});
|
||||
}else{
|
||||
// 用户停用删除企学星部门
|
||||
JSONObject jsonObject = QixuexingPortUtil.qixuexingDeleteUser(configVo,memberId);
|
||||
String resCode = jsonObject.getString("code");
|
||||
if("200".equals(resCode)){
|
||||
// 删除成功
|
||||
from.put("是否成功", "成功");
|
||||
from.put("同步结果", "企学星用户删除同步成功");
|
||||
}else{
|
||||
// 删除失败
|
||||
from.put("是否成功", "失败");
|
||||
from.put("同步结果", "企学星用户删除同步失败"+jsonObject.getString("message"));
|
||||
errorMap.put(memberId+"","企学星用户保存失败:"+jsonObject.getString("message"));
|
||||
}
|
||||
FormExport formExport = new FormExport();
|
||||
from.put("同步动作", "删除");
|
||||
from.put("主要信息", memberMap.toString());
|
||||
List<ValueExport> valueExports = formExportUtil.setFormValue(from);
|
||||
formExport.setValues(valueExports);
|
||||
//同步记录创建人和钉钉日志创建人共用
|
||||
formFactory.importBusinessFormData(configVo.getParamVal(SyncConstants.dingdingLogloginName.name()),
|
||||
configVo.getParamVal(SyncConstants.qxxLog.name()),
|
||||
formExport, new String[]{});
|
||||
}
|
||||
}
|
||||
} catch (ServiceException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
log.info("人员异常数"+errorMap.size());
|
||||
for (Map.Entry<String, String> entry : errorMap.entrySet()) {
|
||||
String value = entry.getValue();
|
||||
res= res+value+";";
|
||||
}
|
||||
return res ;
|
||||
}
|
||||
|
||||
public String qixuexingSyncAllPosts () {
|
||||
// 根据岗位查看同步信息,由于企学星与OA架构不同,所以岗位需要通过用户名进行重复判断
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public String qixuexingSyncBatchPost(String startDate){
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// public String qixuexingSyncAllLevels () {
|
||||
//
|
||||
// return null;
|
||||
// }
|
||||
|
||||
// public String qixuexingSyncBatchPost(String startDate){
|
||||
//
|
||||
// return null;
|
||||
// }
|
||||
//
|
||||
// public String qixuexingSyncBatchLevel(String startDate){
|
||||
//
|
||||
|
||||
@@ -40,14 +40,12 @@ public class OrganizationOrgSyncServer {
|
||||
public Map<String,String> fvSyncBatchAccount(List<V3xOrgAccount> list){
|
||||
Map<String,String> errorMap = new HashMap<>();
|
||||
ConfigVo configVo = this.cstConfigApi.getConfig(this.getPluginId());
|
||||
log.info("执行数据筛选,只处理客户单位下的所有单位信息");
|
||||
List<ThirdDeptBo> thirdDeparts = list.stream().filter((account) -> {
|
||||
String path = account.getPath();
|
||||
return path.startsWith("00000017");
|
||||
}).map((account) -> {
|
||||
return new ThirdDeptBo(account);
|
||||
}).collect(Collectors.toList());
|
||||
log.info("遍历获取到的所有单位信息。");
|
||||
for(int i = 0; i < thirdDeparts.size(); ++i) {
|
||||
ThirdDeptBo thirdDepart = thirdDeparts.get(i);
|
||||
System.out.println(thirdDepart.getName() + thirdDepart.getCode() + thirdDepart.getId());
|
||||
@@ -80,21 +78,18 @@ public class OrganizationOrgSyncServer {
|
||||
public Map<String,String> fvSyncBatchDepartment(List<V3xOrgDepartment> list) throws SQLException {
|
||||
Map<String,String> errorMap = new HashMap<>();
|
||||
ConfigVo configVo = this.cstConfigApi.getConfig(this.getPluginId());
|
||||
//通过路径筛选出需要同步人部门数据
|
||||
log.info("执行数据筛选,只处理客户单位下的所有部门信息同步");
|
||||
// 通过路径筛选出需要同步人部门数据
|
||||
List<ThirdDeptBo> thirdDeparts = list.stream().filter((department) ->{
|
||||
String path = department.getPath();
|
||||
return path.startsWith("00000017");
|
||||
}).map((department) -> {
|
||||
return new ThirdDeptBo( department);
|
||||
}).collect(Collectors.toList());
|
||||
log.info("遍历筛选后的所有部门信息");
|
||||
for(int i = 0 ; i < thirdDeparts.size() ; i++){
|
||||
ThirdDeptBo thirdDepart = thirdDeparts.get(i);
|
||||
log.info(thirdDepart.getName() + thirdDepart.getCode() + thirdDepart.getId());
|
||||
// 同步单位单位信息,通过中间库同步单位信息。客户服务平台同步操作
|
||||
boolean bool = syncFvDao.queryDeptById(thirdDepart.getId()+"");
|
||||
log.info("查询当前部门是否在中间库存在"+bool);
|
||||
if(bool){
|
||||
// 当前修改单位存在,执行变更方法
|
||||
int updateDeptNum = syncFvDao.updateDept(thirdDepart);
|
||||
@@ -122,7 +117,6 @@ public class OrganizationOrgSyncServer {
|
||||
ConfigVo configVo = this.cstConfigApi.getConfig(this.getPluginId());
|
||||
String companyId = configVo.getParamVal(SyncConstants.companyId.name());
|
||||
// 通过路径筛选出需要同步人部门数据
|
||||
log.info("执行数据筛选,只处理客户单位下的所有岗位信息同步");
|
||||
List<ThirdPostBo> thirdPosts = list.stream().filter((post) ->{
|
||||
String path = "";
|
||||
try {
|
||||
@@ -136,7 +130,6 @@ public class OrganizationOrgSyncServer {
|
||||
}).map((post) -> {
|
||||
return new ThirdPostBo(companyId, post);
|
||||
}).collect(Collectors.toList());
|
||||
log.info("遍历筛选后的所有岗位信息");
|
||||
for(int i = 0 ; i < thirdPosts.size() ; i++){
|
||||
try {
|
||||
ThirdPostBo thirdPost = thirdPosts.get(i);
|
||||
@@ -148,7 +141,6 @@ public class OrganizationOrgSyncServer {
|
||||
if(StringUtils.isNotEmpty(banchmarkPostId)){
|
||||
// 根据基准岗位ID查询中间表岗位信息是否存在
|
||||
boolean bool = syncFvDao.queryPostById(banchmarkPostId);
|
||||
log.info("查询当前岗位是否在中间库存在"+bool);
|
||||
// 根据基准岗位ID查询基准岗位信息
|
||||
V3xOrgPost v3xOrgPost = orgManager.getPostById(Long.parseLong(banchmarkPostId));
|
||||
if(bool){
|
||||
@@ -181,7 +173,6 @@ public class OrganizationOrgSyncServer {
|
||||
Map<String,String> errorMap = new HashMap<>();
|
||||
ConfigVo configVo = this.cstConfigApi.getConfig(this.getPluginId());
|
||||
// 循环遍历人员列表
|
||||
log.info("执行数据筛选,只处理客户单位下有的所人员信息同步");
|
||||
List<ThirdMemberBo> thirdMembers = (List)list.stream().filter((member) ->{
|
||||
String path = "";
|
||||
try {
|
||||
@@ -202,7 +193,6 @@ public class OrganizationOrgSyncServer {
|
||||
}
|
||||
return thirdMember;
|
||||
}).collect(Collectors.toList());
|
||||
log.info("遍历筛选后所有的人员信息");
|
||||
// 判断筛选后的人员是都存在于不同步目录中(不同步目录显示为组织架构名称)
|
||||
String customerServiceBlacklist = configVo.getParamVal(SyncConstants.customerServiceBlacklist.name());
|
||||
List<String> customerServiceBlacklistList = Arrays.stream(customerServiceBlacklist.split("[,,]"))
|
||||
@@ -217,11 +207,9 @@ public class OrganizationOrgSyncServer {
|
||||
continue;
|
||||
}
|
||||
// 循环三次查询三次是否存在当前人员档案
|
||||
log.info("根据当前人员信息查询人员档案是否存在");
|
||||
for(int n = 0 ;n < 4 ; n++){
|
||||
Map<String,Object> memeberMap = syncFvDao.queryMemberArchiveByMemberId(thirdMember.getId()+"");
|
||||
if(memeberMap==null){
|
||||
log.info("人员档案不存在等待5秒后再次执行"+"当前执行次数"+n+1);
|
||||
Thread.sleep(5000);
|
||||
continue;
|
||||
}else{
|
||||
|
||||
@@ -182,13 +182,13 @@ public class ProtUtil {
|
||||
// 设置连接请求方式
|
||||
connection.setRequestMethod("POST");
|
||||
// 设置连接主机服务器超时时间:15000毫秒
|
||||
// connection.setConnectTimeout(15000);
|
||||
connection.setConnectTimeout(15000);
|
||||
// 设置读取主机服务器返回数据超时时间:60000毫秒
|
||||
// connection.setReadTimeout(60000);
|
||||
connection.setReadTimeout(60000);
|
||||
// 默认值为:false,当向远程服务器传送数据/写数据时,需要设置为true
|
||||
// connection.setDoOutput(true);
|
||||
connection.setDoOutput(true);
|
||||
// 默认值为:true,当前向远程服务读取数据时,设置为true,该参数可有可无
|
||||
// connection.setDoInput(true);
|
||||
connection.setDoInput(true);
|
||||
if(headerMap.size()>0){
|
||||
for (Map.Entry<String, String> entry : headerMap.entrySet()) {
|
||||
String key = entry.getKey(); // 获取键
|
||||
@@ -243,7 +243,6 @@ public class ProtUtil {
|
||||
}
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.seeyon.apps.src_mainorganization.util;
|
||||
|
||||
import cn.hutool.log.Log;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.seeyon.apps.common.plugin.vo.ConfigVo;
|
||||
import com.seeyon.apps.src_mainorganization.constans.SyncConstants;
|
||||
@@ -14,6 +15,9 @@ import java.util.Map;
|
||||
|
||||
public class QixuexingPortUtil {
|
||||
|
||||
private static Log log = Log.get(QixuexingPortUtil.class);
|
||||
|
||||
|
||||
/**
|
||||
* 获取企学星token信息
|
||||
* @param configVo
|
||||
@@ -60,14 +64,14 @@ public class QixuexingPortUtil {
|
||||
String qxxUrl = configVo.getParamVal(SyncConstants.qxxUrl.name());
|
||||
String qxxSaveOrg = configVo.getParamVal(SyncConstants.qxxSaveOrg.name());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("orgUuid",map.get("id").toString());
|
||||
param.put("name",map.get("name").toString());
|
||||
param.put("orgCode",map.get("code"));
|
||||
param.put("orgUuid",map.get("id")==null?"":map.get("id").toString());
|
||||
param.put("name",map.get("name")==null?"":map.get("name").toString());
|
||||
// param.put("orgCode",map.get("code"));
|
||||
// 上级设置,如果上级为集团则设置为空。
|
||||
if(!"-1730833917365171641".equals(subAccountId)){
|
||||
param.put("parentOrgUuid",subAccountId);
|
||||
}
|
||||
param.put("orderNum",map.get("sort_id").toString());
|
||||
param.put("orderNum",map.get("sort_id")==null?"":map.get("sort_id").toString());
|
||||
param.put("status","1".equals(map.get("is_enable").toString())?"1":"2");
|
||||
Map<String,String> headerMap = setHeaderMap(qxxToken,qxxCorpsecret,param);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxSaveOrg, headerMap);
|
||||
@@ -107,17 +111,19 @@ public class QixuexingPortUtil {
|
||||
String qxxSaveUser = configVo.getParamVal(SyncConstants.qxxSaveUser.name());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("userUuid",map.get("id").toString());
|
||||
param.put("username",map.get("telnumber").toString());
|
||||
param.put("realName",map.get("name").toString());
|
||||
param.put("orgUuid",map.get("department_id").toString());
|
||||
param.put("phone",map.get("telnumber").toString());
|
||||
param.put("username",map.get("telnumber")==null?"":map.get("telnumber").toString());
|
||||
param.put("realName",map.get("name")==null?"":map.get("name").toString());
|
||||
param.put("orgUuid",map.get("department_id")==null?"":map.get("department_id").toString());
|
||||
param.put("phone",map.get("telnumber")==null?"":map.get("telnumber").toString());
|
||||
param.put("credentialsType","1");
|
||||
param.put("credentialsCode",map.get("member_no").toString());
|
||||
param.put("sex",map.get("member_sex").toString());
|
||||
param.put("status",map.get("member_status").toString());
|
||||
param.put("entryDate",map.get("board_date").toString());
|
||||
param.put("credentialsCode",map.get("member_no")==null?"":map.get("member_no").toString());
|
||||
param.put("sex",map.get("member_sex")==null?"":map.get("member_sex").toString());
|
||||
param.put("status",map.get("member_status")==null?"":map.get("member_status").toString());
|
||||
param.put("entryDate",map.get("board_date")==null?"":map.get("board_date").toString());
|
||||
Map<String,String> headerMap = setHeaderMap(qxxToken,qxxCorpsecret,param);
|
||||
log.info("获取用户信息保存请求参数"+param.toString());
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxSaveUser, headerMap);
|
||||
log.info("获取用户信息保存返回结果"+str);
|
||||
JSONObject jsonObject = JSONObject.parseObject(str);
|
||||
return jsonObject;
|
||||
}
|
||||
@@ -132,11 +138,12 @@ public class QixuexingPortUtil {
|
||||
String qxxCorpsecret = configVo.getParamVal(SyncConstants.qxxCorpsecret.name());
|
||||
String qxxToken = qixuexingToken(configVo);
|
||||
String qxxUrl = configVo.getParamVal(SyncConstants.qxxUrl.name());
|
||||
String qxxSaveUser = configVo.getParamVal(SyncConstants.qxxSaveUser.name());
|
||||
String qxxDeleteUser = configVo.getParamVal(SyncConstants.qxxDeleteUser.name());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("userUuid",userUuid);
|
||||
Map<String,String> headerMap = setHeaderMap(qxxToken,qxxCorpsecret,param);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxSaveUser, headerMap);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxDeleteUser, headerMap);
|
||||
log.info("人员删除返回结果"+str);
|
||||
JSONObject jsonObject = JSONObject.parseObject(str);
|
||||
return jsonObject;
|
||||
}
|
||||
@@ -153,18 +160,21 @@ public class QixuexingPortUtil {
|
||||
String qxxUrl = configVo.getParamVal(SyncConstants.qxxUrl.name());
|
||||
String qxxSaveUser = configVo.getParamVal(SyncConstants.qxxSaveUser.name());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("userUuid",map.get("id").toString());
|
||||
param.put("username",map.get("telnumber").toString());
|
||||
param.put("realName",map.get("name").toString());
|
||||
param.put("orgUuid",map.get("dept_id").toString());
|
||||
param.put("phone",map.get("telnumber").toString());
|
||||
param.put("userUuid",map.get("id")==null?"":map.get("id").toString());
|
||||
param.put("username",map.get("telnumber")==null?"":map.get("telnumber").toString());
|
||||
param.put("realName",map.get("name")==null?"":map.get("name").toString());
|
||||
param.put("orgUuid",map.get("dept_id")==null?"":map.get("dept_id").toString());
|
||||
param.put("phone",map.get("telnumber")==null?"":map.get("telnumber").toString());
|
||||
param.put("credentialsType","1");
|
||||
param.put("credentialsCode",map.get("member_no").toString());
|
||||
param.put("sex",map.get("member_sex").toString());
|
||||
param.put("status",map.get("member_status").toString());
|
||||
param.put("entryDate",map.get("hiredate").toString());
|
||||
param.put("credentialsCode",map.get("member_no")==null?"":map.get("member_no").toString());
|
||||
param.put("sex",map.get("member_sex")==null?"":map.get("member_sex").toString());
|
||||
param.put("status",map.get("member_status")==null?"":map.get("member_status").toString());
|
||||
param.put("entryDate",map.get("hiredate")==null?"":map.get("hiredate").toString());
|
||||
Map<String,String> headerMap = setHeaderMap(qxxToken,qxxCorpsecret,param);
|
||||
// 保存请求参数
|
||||
log.info("业代请求参数:"+param.toString());
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxSaveUser, headerMap);
|
||||
log.info("业代返回参数:"+str);
|
||||
JSONObject jsonObject = JSONObject.parseObject(str);
|
||||
return jsonObject;
|
||||
}
|
||||
@@ -179,11 +189,11 @@ public class QixuexingPortUtil {
|
||||
String qxxCorpsecret = configVo.getParamVal(SyncConstants.qxxCorpsecret.name());
|
||||
String qxxToken = qixuexingToken(configVo);
|
||||
String qxxUrl = configVo.getParamVal(SyncConstants.qxxUrl.name());
|
||||
String qxxSaveUser = configVo.getParamVal(SyncConstants.qxxSaveUser.name());
|
||||
String qxxDeleteUser = configVo.getParamVal(SyncConstants.qxxDeleteUser.name());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("userUuid",userUuid);
|
||||
Map<String,String> headerMap = setHeaderMap(qxxToken,qxxCorpsecret,param);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxSaveUser, headerMap);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxDeleteUser, headerMap);
|
||||
JSONObject jsonObject = JSONObject.parseObject(str);
|
||||
return jsonObject;
|
||||
}
|
||||
@@ -200,18 +210,22 @@ public class QixuexingPortUtil {
|
||||
String qxxUrl = configVo.getParamVal(SyncConstants.qxxUrl.name());
|
||||
String qxxSaveUser = configVo.getParamVal(SyncConstants.qxxSaveUser.name());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("userUuid",map.get("id").toString());
|
||||
param.put("username",map.get("telnumber").toString());
|
||||
param.put("realName",map.get("name").toString());
|
||||
param.put("orgUuid",map.get("area_dept").toString());
|
||||
param.put("phone",map.get("telnumber").toString());
|
||||
param.put("userUuid",map.get("id")==null?"":map.get("id").toString());
|
||||
param.put("username",map.get("telnumber")==null?"":map.get("telnumber").toString());
|
||||
param.put("realName",map.get("name")==null?"":map.get("name").toString());
|
||||
param.put("orgUuid",map.get("area_dept")==null?"":map.get("area_dept").toString());
|
||||
param.put("phone",map.get("telnumber")==null?"":map.get("telnumber").toString());
|
||||
param.put("credentialsType","1");
|
||||
param.put("credentialsCode",map.get("member_no").toString());
|
||||
param.put("sex",map.get("member_sex").toString());
|
||||
param.put("status",map.get("member_status").toString());
|
||||
param.put("entryDate",map.get("board_date").toString());
|
||||
param.put("credentialsCode",map.get("member_no")==null?"":map.get("member_no").toString());
|
||||
param.put("sex",map.get("member_sex")==null?"":map.get("member_sex").toString());
|
||||
param.put("status",map.get("member_status")==null?"":map.get("member_status").toString());
|
||||
param.put("entryDate",map.get("board_date")==null?"":map.get("board_date").toString());
|
||||
Map<String,String> headerMap = setHeaderMap(qxxToken,qxxCorpsecret,param);
|
||||
// 请求参数
|
||||
log.info("客户人员同步请求参数"+param);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxSaveUser, headerMap);
|
||||
log.info("客户人员同步请求结果"+str);
|
||||
// 返回结果
|
||||
JSONObject jsonObject = JSONObject.parseObject(str);
|
||||
return jsonObject;
|
||||
}
|
||||
@@ -226,11 +240,11 @@ public class QixuexingPortUtil {
|
||||
String qxxCorpsecret = configVo.getParamVal(SyncConstants.qxxCorpsecret.name());
|
||||
String qxxToken = qixuexingToken(configVo);
|
||||
String qxxUrl = configVo.getParamVal(SyncConstants.qxxUrl.name());
|
||||
String qxxSaveUser = configVo.getParamVal(SyncConstants.qxxSaveUser.name());
|
||||
String qxxDeleteUser = configVo.getParamVal(SyncConstants.qxxDeleteUser.name());
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("userUuid",userUuid);
|
||||
Map<String,String> headerMap = setHeaderMap(qxxToken,qxxCorpsecret,param);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxSaveUser, headerMap);
|
||||
String str = ProtUtil.doPost(param.toString(), qxxUrl+qxxDeleteUser, headerMap);
|
||||
JSONObject jsonObject = JSONObject.parseObject(str);
|
||||
return jsonObject;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user