This commit is contained in:
itzhang 2025-04-24 11:29:55 +08:00
parent bf0de882b4
commit d873d97584
3 changed files with 82 additions and 79 deletions

View File

@ -46,8 +46,8 @@ public class DeptController {
private RestTemplate restTemplate = new RestTemplate(); private RestTemplate restTemplate = new RestTemplate();
public static void main(String[] args) { public static void main(String[] args) {
//new DeptController().syncDept(); new DeptController().syncDept();
new DeptController().syncDeptUp(); //new DeptController().syncDeptUp();
} }
/** /**
@ -73,7 +73,7 @@ public class DeptController {
Map data = new HashMap<>(); Map data = new HashMap<>();
data.put("createtime", "2020-01-01 00:00:00"); data.put("createtime", "2020-01-01 00:00:00");
data.put("enable", "1"); data.put("enable", "1");
data.put("number", Arrays.asList("ZHY002.005.003")); data.put("number", Arrays.asList("ZHY002.005.003.004"));
// data.put("level", "3"); // data.put("level", "3");
Map deptReq = new HashMap<>(); Map deptReq = new HashMap<>();
@ -81,7 +81,7 @@ public class DeptController {
deptReq.put("pageNo", 1); deptReq.put("pageNo", 1);
deptReq.put("pageSize", 1999); deptReq.put("pageSize", 1999);
String accessToken = kdTokenController.getKDAccessToken(); String accessToken = new KDTokenController().getKDAccessToken();
if (accessToken == null || accessToken.equals("")) { if (accessToken == null || accessToken.equals("")) {
log.info("金蝶token为空或不存在"); log.info("金蝶token为空或不存在");
@ -98,7 +98,7 @@ public class DeptController {
//开始发起请求 //开始发起请求
//请求地址 //请求地址
String deptUrl = "http://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; String deptUrl = "https://lxr2.zhydsp.cn:40448/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery";
String deptRes = ""; String deptRes = "";
try { try {
@ -150,7 +150,7 @@ public class DeptController {
//部门名称 //部门名称
String deptName = deptData.getString("name"); String deptName = deptData.getString("name");
if (deptName.contains("")){ if (deptName.contains("")) {
deptName = deptName.replace("", "_"); deptName = deptName.replace("", "_");
} }
//父部门编码 //父部门编码
@ -162,7 +162,7 @@ public class DeptController {
//开始封装数据 //开始封装数据
Map deptSyncReq = new HashMap<>(); Map deptSyncReq = new HashMap<>();
deptSyncReq.put("name", deptName+"_"); deptSyncReq.put("name", deptName);
deptSyncReq.put("erp_id__c", deptId); deptSyncReq.put("erp_id__c", deptId);
deptSyncReq.put("field_Vj6sf__c", deptCode); deptSyncReq.put("field_Vj6sf__c", deptCode);
deptSyncReq.put("field_v711K__c", parentDeptName); deptSyncReq.put("field_v711K__c", parentDeptName);
@ -186,7 +186,7 @@ public class DeptController {
System.out.println(parentDeptRes); System.out.println(parentDeptRes);
if (!"success".equals(parentDeptRes.getString("errorDescription"))){ if (!"success".equals(parentDeptRes.getString("errorDescription"))) {
log.info("查询失败"); log.info("查询失败");
continue; continue;
} }
@ -205,7 +205,7 @@ public class DeptController {
//判断部门是否在crm中存在 //判断部门是否在crm中存在
//请求封装 //请求封装
JSONObject deptIsExistReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject deptIsExistReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "name", Arrays.asList(deptName+"_")), new Filter("EQ", "name", Arrays.asList(deptName + "_")),
new Filter("EQ", "field_v711K__c", Arrays.asList(parentDeptName)), new Filter("EQ", "field_v711K__c", Arrays.asList(parentDeptName)),
new Filter("EQ", "field_31u4r__c", Arrays.asList(parentDeptCode)) new Filter("EQ", "field_31u4r__c", Arrays.asList(parentDeptCode))
), "DepartmentObj"); ), "DepartmentObj");
@ -313,7 +313,7 @@ public class DeptController {
Map data = new HashMap<>(); Map data = new HashMap<>();
data.put("modifytime", "2020-01-01 00:00:00"); data.put("modifytime", "2020-01-01 00:00:00");
data.put("enable", "1"); data.put("enable", "1");
//data.put("number", Arrays.asList("ZHY003.002")); data.put("number", Arrays.asList("ZHY002.005.001.006"));
// data.put("level", "3"); // data.put("level", "3");
Map deptReq = new HashMap<>(); Map deptReq = new HashMap<>();
@ -321,7 +321,7 @@ public class DeptController {
deptReq.put("pageNo", 1); deptReq.put("pageNo", 1);
deptReq.put("pageSize", 1000); deptReq.put("pageSize", 1000);
String accessToken = kdTokenController.getKDAccessToken(); String accessToken = new KDTokenController().getKDAccessToken();
if (accessToken == null || accessToken.equals("")) { if (accessToken == null || accessToken.equals("")) {
log.info("金蝶token为空或不存在"); log.info("金蝶token为空或不存在");
@ -336,7 +336,7 @@ public class DeptController {
//开始发起请求 //开始发起请求
//请求地址 //请求地址
String deptUrl = "http://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; String deptUrl = "https://lxr2.zhydsp.cn:40448/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery";
String deptRes = ""; String deptRes = "";
try { try {
@ -389,7 +389,7 @@ public class DeptController {
//部门名称 //部门名称
String deptName = deptData.getString("name"); String deptName = deptData.getString("name");
if (deptName.contains("")){ if (deptName.contains("")) {
deptName = deptName.replace("", "_"); deptName = deptName.replace("", "_");
} }
//父部门编码 //父部门编码
@ -555,7 +555,7 @@ public class DeptController {
//开始发起请求 //开始发起请求
//请求地址 //请求地址
String deptUrl = "http://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery"; String deptUrl = "https://lxr2.zhydsp.cn:40448/ierp/kapi/v2/f9w5/base/bos_adminorg/adminOrgQuery";
String deptRes = ""; String deptRes = "";
try { try {

View File

@ -33,8 +33,8 @@ public class KDTokenController {
* @Author weiloong_zhang * @Author weiloong_zhang
*/ */
public static void main(String[] args) { public static void main(String[] args) {
//new KDTokenController().getKDAppToken(); new KDTokenController().getKDAppToken();
new KDTokenController().getKDAccessToken(); //new KDTokenController().getKDAccessToken();
} }
/** /**
@ -43,13 +43,12 @@ public class KDTokenController {
* @return void * @return void
* @Author weiloong_zhang * @Author weiloong_zhang
*/ */
@PostMapping("/getKD/APP_token")
public String getKDAppToken() { public String getKDAppToken() {
log.info("开始获取金蝶的AppToken"); log.info("开始获取金蝶的AppToken");
//开始封装 //开始封装
//接口地址 //接口地址
String appTokenUrl = "http://192.168.31.121:8022/ierp/api/getAppToken.do"; String appTokenUrl = "https://lxr2.zhydsp.cn:40448/ierp/api/getAppToken.do";
//请求参数 //请求参数
LinkedHashMap appTokenParams = new LinkedHashMap<>(); LinkedHashMap appTokenParams = new LinkedHashMap<>();
appTokenParams.put("appId", "erpapi"); appTokenParams.put("appId", "erpapi");
@ -88,7 +87,6 @@ public class KDTokenController {
* @return java.lang.String * @return java.lang.String
* @Author weiloong_zhang * @Author weiloong_zhang
*/ */
@PostMapping("/getKD/access_token")
public String getKDAccessToken() { public String getKDAccessToken() {
log.info("开始获取金蝶accessToken"); log.info("开始获取金蝶accessToken");
@ -105,7 +103,7 @@ public class KDTokenController {
//不存在将执行获取accessToken的逻辑 //不存在将执行获取accessToken的逻辑
//开始封装参数 //开始封装参数
//URL //URL
String accessTokenUrl = "http://192.168.31.121:8022/ierp/api/login.do"; String accessTokenUrl = "https://lxr2.zhydsp.cn:40448/ierp/api/login.do";
//请求参数 //请求参数
LinkedHashMap accessTokenParams = new LinkedHashMap<>(); LinkedHashMap accessTokenParams = new LinkedHashMap<>();

View File

@ -1,25 +1,26 @@
package org.ssssssss.magicboot.controller; package org.ssssssss.magicboot.controller;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.xxl.job.core.context.XxlJobHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.ssssssss.magicboot.fxapi.HttpClientResult;
import org.ssssssss.magicboot.fxapi.HttpClientUtils;
import org.ssssssss.magicboot.fxapi.XKTokenAccess;
import org.ssssssss.magicboot.zdyutils.FXHTTP;
import org.ssssssss.magicboot.zdyutils.FXTIC;
import org.ssssssss.magicboot.zdyutils.GcjJson;
import org.ssssssss.magicboot.zdyutils.MagicApi;
import java.text.SimpleDateFormat; import com.alibaba.fastjson.JSON;
import java.util.HashMap; import com.alibaba.fastjson.JSONArray;
import java.util.LinkedHashMap; import com.alibaba.fastjson.JSONObject;
import java.util.Map; import com.xxl.job.core.context.XxlJobHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.ssssssss.magicboot.fxapi.HttpClientResult;
import org.ssssssss.magicboot.fxapi.HttpClientUtils;
import org.ssssssss.magicboot.fxapi.XKTokenAccess;
import org.ssssssss.magicboot.zdyutils.FXHTTP;
import org.ssssssss.magicboot.zdyutils.FXTIC;
import org.ssssssss.magicboot.zdyutils.GcjJson;
import org.ssssssss.magicboot.zdyutils.MagicApi;
import java.text.SimpleDateFormat;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Map;
/** /**
* 人员同步 * 人员同步
@ -42,14 +43,20 @@ public class UsceController {
// time = "2024-05-01"; // time = "2024-05-01";
String sendUrl = "https://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_user/userQuery"; String sendUrl = "https://192.168.31.121:8022/ierp/kapi/v2/f9w5/base/bos_user/userQuery";
Map<String, String> headers = new HashMap<String, String>(); Map<String, String> headers = new HashMap<String, String>();
String token = "2095350818281620480_38r7dCr7UfM45m43Givw964713GJgVwF2xS0uolYf9EvP6kgi8KeRegeih5L6qmyWCr5LjUCeEe8lVwMGsT3KLWz3PxgAwuBCuau01"; //String token = "2095350818281620480_38r7dCr7UfM45m43Givw964713GJgVwF2xS0uolYf9EvP6kgi8KeRegeih5L6qmyWCr5LjUCeEe8lVwMGsT3KLWz3PxgAwuBCuau01";
headers.put("accessToken", token);//放token String accessToken = new KDTokenController().getKDAccessToken();
if (accessToken == null || accessToken.equals("")) {
log.info("金蝶token为空或不存在");
return;
}
headers.put("accessToken", accessToken);//放token
JSONObject params = new JSONObject(); JSONObject params = new JSONObject();
JSONObject datajson = new JSONObject(); JSONObject datajson = new JSONObject();
datajson.put("createtime","2012-02-26 11:04:43"); datajson.put("createtime", "2012-02-26 11:04:43");
JSONArray arr = new JSONArray(); JSONArray arr = new JSONArray();
String[] strings = { String[] strings = {
"ZHY003.009" "ZHY003.009"
}; };
@ -60,23 +67,22 @@ public class UsceController {
} }
datajson.put("dpt_number", arr);
datajson.put("dpt_number",arr);
params.put("data",datajson); params.put("data", datajson);
params.put("pageNo",1); params.put("pageNo", 1);
params.put("pageSize",1000); params.put("pageSize", 1000);
HttpClientResult rtn = HttpClientUtils.doPostJson(sendUrl, headers, params.toJSONString()); HttpClientResult rtn = HttpClientUtils.doPostJson(sendUrl, headers, params.toJSONString());
String resStr = rtn.getContent(); String resStr = rtn.getContent();
JSONObject resjs = JSONObject.parseObject(resStr); JSONObject resjs = JSONObject.parseObject(resStr);
if (resjs!=null){ if (resjs != null) {
if("0".equals(resjs.getString("errorCode"))){//查询成功 if ("0".equals(resjs.getString("errorCode"))) {//查询成功
JSONObject data = resjs.getJSONObject("data"); JSONObject data = resjs.getJSONObject("data");
System.out.println("查询人员总数量" + data.getInteger("totalCount")); System.out.println("查询人员总数量" + data.getInteger("totalCount"));
JSONArray resJson = data.getJSONArray("rows"); JSONArray resJson = data.getJSONArray("rows");
System.out.println("待同步人员数量" + resJson.size()); System.out.println("待同步人员数量" + resJson.size());
@ -172,21 +178,21 @@ public class UsceController {
String phone = GcjJson.getNodeValue(str, "JSON.phone") != null ? GcjJson.getNodeValue(str, "JSON.phone").toString() : ""; String phone = GcjJson.getNodeValue(str, "JSON.phone") != null ? GcjJson.getNodeValue(str, "JSON.phone").toString() : "";
//状态 //状态
String enable = GcjJson.getNodeValue(str, "JSON.enable") != null ? GcjJson.getNodeValue(str, "JSON.enable").toString() : ""; String enable = GcjJson.getNodeValue(str, "JSON.enable") != null ? GcjJson.getNodeValue(str, "JSON.enable").toString() : "";
JSONArray entryentity = str.getJSONArray("entryentity"); JSONArray entryentity = str.getJSONArray("entryentity");
String deptNumber = ""; String deptNumber = "";
if(entryentity!=null){ if (entryentity != null) {
JSONObject deptobj = (JSONObject) entryentity.get(0); JSONObject deptobj = (JSONObject) entryentity.get(0);
deptNumber = deptobj.getString("dpt_number"); deptNumber = deptobj.getString("dpt_number");
} }
try{ try {
JSONObject dataSyn = MagicApi.getSendSYNDataUser("user", syn_type, dataId,"3"); JSONObject dataSyn = MagicApi.getSendSYNDataUser("user", syn_type, dataId, "3");
if (dataSyn != null && dataId.equals(dataSyn.getString("dsfId")) && endtime.equals(dataSyn.getString("mark")) ) { if (dataSyn != null && dataId.equals(dataSyn.getString("dsfId")) && endtime.equals(dataSyn.getString("mark"))) {
log.info("数据已存在-" + name); log.info("数据已存在-" + name);
XxlJobHelper.log("--数据已存在---" + name); XxlJobHelper.log("--数据已存在---" + name);
tbflag = true; tbflag = true;
@ -200,11 +206,11 @@ public class UsceController {
if (crmId != null && !crmId.equals("")) { if (crmId != null && !crmId.equals("")) {
//人员id //人员id
map.put("body.data.object_data._id", crmId); map.put("body.data.object_data._id", crmId);
flag=false; flag = false;
} }
String crmdeptID = "999999"; String crmdeptID = "999999";
if (deptNumber!=""){ if (deptNumber != "") {
crmdeptID = fxapi.getDataBYID("DepartmentObj", "field_Vj6sf__c", deptNumber, "JSON.data.dataList[0]._id"); crmdeptID = fxapi.getDataBYID("DepartmentObj", "field_Vj6sf__c", deptNumber, "JSON.data.dataList[0]._id");
System.out.println(crmdeptID); System.out.println(crmdeptID);
} }
@ -216,20 +222,21 @@ public class UsceController {
map.put("body.data.object_data.user_name", phone); map.put("body.data.object_data.user_name", phone);
map.put("body.data.object_data.email", email); map.put("body.data.object_data.email", email);
if(enable.equals("2")){ if (enable.equals("2")) {
map.put("body.data.object_data.status", "1"); map.put("body.data.object_data.status", "1");
map.put("body.data.object_data.is_pause_login", true); map.put("body.data.object_data.is_pause_login", true);
}else { } else {
map.put("body.data.object_data.status", "0"); map.put("body.data.object_data.status", "0");
map.put("body.data.object_data.is_pause_login", false); map.put("body.data.object_data.is_pause_login", false);
} }
if(gender.equals("1")){ if (gender.equals("1")) {
map.put("body.data.object_data.sex", "M"); map.put("body.data.object_data.sex", "M");
}if(gender.equals("2")){ }
if (gender.equals("2")) {
map.put("body.data.object_data.sex", "F"); map.put("body.data.object_data.sex", "F");
}else { } else {
map.put("body.data.object_data.sex", "P"); map.put("body.data.object_data.sex", "P");
} }
map.put("body.data.object_data.main_department[0]", crmdeptID);//主属部门 map.put("body.data.object_data.main_department[0]", crmdeptID);//主属部门
@ -245,20 +252,21 @@ public class UsceController {
log.info("--请求json---" + obj); log.info("--请求json---" + obj);
XxlJobHelper.log("--请求json---" + obj); XxlJobHelper.log("--请求json---" + obj);
}catch (Exception e) { } catch (Exception e) {
sendFlag = true; sendFlag = true;
stringBuffer.append("参数解析错误,请联系开发人员"); stringBuffer.append("参数解析错误,请联系开发人员");
e.printStackTrace(); e.printStackTrace();
} }
getSynDataSave(stringBuffer,sendFlag,flag,fxapi,dataId,name,obj,getData); getSynDataSave(stringBuffer, sendFlag, flag, fxapi, dataId, name, obj, getData);
} }
} }
} }
/** /**
* 写数据 * 写数据
*/ */
public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,Boolean flag,FXHTTP fxapi,String dataId,String nameData,JSONObject obj,JSONObject str) { public void getSynDataSave(StringBuffer stringBuffer, Boolean sendFlag, Boolean flag, FXHTTP fxapi, String dataId, String nameData, JSONObject obj, JSONObject str) {
String syn_type = "0";//同步类型 0新增 1修改 2删除 String syn_type = "0";//同步类型 0新增 1修改 2删除
String res_url = ""; String res_url = "";
String res_param = ""; String res_param = "";
@ -266,14 +274,14 @@ public class UsceController {
try { try {
if (flag) { if (flag) {
res = fxapi.saveV2Obj(obj); res = fxapi.saveV2Obj(obj);
res_url=FXTIC.URL_FX_CREATE; res_url = FXTIC.URL_FX_CREATE;
} else { } else {
syn_type = "1"; syn_type = "1";
res = fxapi.updateV2Obj(obj); res = fxapi.updateV2Obj(obj);
res_url=FXTIC.URL_FX_UPDATE; res_url = FXTIC.URL_FX_UPDATE;
} }
res_param=obj.toJSONString(); res_param = obj.toJSONString();
log.info("返回值:"+res); log.info("返回值:" + res);
JSONObject resjs = JSON.parseObject(res); JSONObject resjs = JSON.parseObject(res);
if (resjs != null && "0".equals(resjs.getString("errorCode"))) { if (resjs != null && "0".equals(resjs.getString("errorCode"))) {
@ -309,7 +317,4 @@ public class UsceController {
} }
} }