更新
This commit is contained in:
parent
83e3616272
commit
c24f033b8e
@ -46,8 +46,8 @@ public class DeptController {
|
||||
private RestTemplate restTemplate = new RestTemplate();
|
||||
|
||||
public static void main(String[] args) {
|
||||
new DeptController().syncDept();
|
||||
//new DeptController().syncDeptUp();
|
||||
// new DeptController().syncDept();
|
||||
new DeptController().syncDeptUp();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -71,9 +71,9 @@ public class DeptController {
|
||||
|
||||
//开始查询部门(暂时使用固定值)
|
||||
Map data = new HashMap<>();
|
||||
data.put("createtime", "2020-01-01 00:00:00");
|
||||
data.put("createtime", "2025-06-01 00:00:00");
|
||||
data.put("enable", "1");
|
||||
data.put("number", Arrays.asList("ZHY002.005.003.004"));
|
||||
// data.put("number", Arrays.asList("ZHY002.005.003.004"));
|
||||
// data.put("level", "3");
|
||||
|
||||
Map deptReq = new HashMap<>();
|
||||
@ -311,9 +311,9 @@ public class DeptController {
|
||||
|
||||
//开始查询部门(暂时使用固定值)
|
||||
Map data = new HashMap<>();
|
||||
data.put("modifytime", "2020-01-01 00:00:00");
|
||||
data.put("modifytime", "2025-06-01 00:00:00");
|
||||
data.put("enable", "1");
|
||||
data.put("number", Arrays.asList("ZHY002.005.001.006"));
|
||||
// data.put("number", Arrays.asList("ZHY002.005.001.006"));
|
||||
// data.put("level", "3");
|
||||
|
||||
Map deptReq = new HashMap<>();
|
||||
|
@ -56,7 +56,7 @@ public class UsceController {
|
||||
JSONObject params = new JSONObject();
|
||||
|
||||
JSONObject datajson = new JSONObject();
|
||||
datajson.put("createtime", "2012-02-26 11:04:43");
|
||||
datajson.put("createtime", "2025-06-01 00:00:00");
|
||||
JSONArray arr = new JSONArray();
|
||||
String[] strings = {
|
||||
"苗依达"
|
||||
@ -68,7 +68,7 @@ public class UsceController {
|
||||
}
|
||||
|
||||
|
||||
datajson.put("name", arr);
|
||||
// datajson.put("name", arr);
|
||||
|
||||
|
||||
params.put("data", datajson);
|
||||
|
@ -55,11 +55,20 @@ public class customerContactController {
|
||||
JSONObject jsonject = fxapi.getSynNewDataObj(false, "联系人", apiName, paramList);
|
||||
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
|
||||
|
||||
List<CrmFXApiParam> paramListB = Arrays.asList(
|
||||
new CrmFXApiParam("EQ", "sync_status__c", "option_resync__c"),
|
||||
new CrmFXApiParam("EQ", "life_status", "normal")
|
||||
);
|
||||
JSONObject jsonjectB = fxapi.getSynNewDataObj(false, "联系人重新同步", apiName, paramListB);
|
||||
JSONArray arrayA = jsonjectB.getJSONObject("data").getJSONArray("dataList");
|
||||
array.addAll(arrayA);
|
||||
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
JSONObject str = array.getJSONObject(i);
|
||||
String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
|
||||
String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
|
||||
String endtime = GcjJson.getNodeValue(str, "JSON.last_modified_time") != null ? GcjJson.getNodeValue(str, "JSON.last_modified_time").toString() : "";
|
||||
String status = GcjJson.getNodeValue(str, "JSON.sync_status__c") != null ? GcjJson.getNodeValue(str, "JSON.sync_status__c").toString() : "";
|
||||
|
||||
String syn_type = "0";//同步类型 0新增 1修改 2删除
|
||||
log.info("-------------------开始执行联系人" + i + " -------------------" + nameData);
|
||||
@ -77,6 +86,9 @@ public class customerContactController {
|
||||
log.info("数据已存在-" + nameData);
|
||||
XxlJobHelper.log("--数据已存在---" + nameData);
|
||||
tbflag = true;
|
||||
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
|
||||
tbflag = false;
|
||||
}
|
||||
}
|
||||
if (tbflag) {
|
||||
continue;
|
||||
@ -89,7 +101,7 @@ public class customerContactController {
|
||||
jsonObjectData.put("crmzhu_id", dataId);//数据id
|
||||
jsonObjectData.put("send_status", 3);//同步状态 true同步成功 false同步失败 3待同步
|
||||
jsonObjectData.put("crm_code", nameData);//数据名称
|
||||
jsonObjectData.put("mark", nameData);//标识
|
||||
jsonObjectData.put("mark", endtime);//标识
|
||||
jsonObjectData.put("crm_json", str.toJSONString());//标识
|
||||
|
||||
MagicApi.saveSendSYNDatacustomer(jsonObjectData);
|
||||
@ -121,6 +133,8 @@ public class customerContactController {
|
||||
String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
|
||||
String account_id = GcjJson.getNodeValue(str, "JSON.account_id") != null ? GcjJson.getNodeValue(str, "JSON.account_id").toString() : "";
|
||||
String customer_code__c = GcjJson.getNodeValue(str, "JSON.customer_code__c") != null ? GcjJson.getNodeValue(str, "JSON.customer_code__c").toString() : "";
|
||||
String endtime = GcjJson.getNodeValue(str, "JSON.last_modified_time") != null ? GcjJson.getNodeValue(str, "JSON.last_modified_time").toString() : "";
|
||||
String status = GcjJson.getNodeValue(str, "JSON.sync_status__c") != null ? GcjJson.getNodeValue(str, "JSON.sync_status__c").toString() : "";
|
||||
|
||||
|
||||
String strJson = "";
|
||||
@ -130,6 +144,9 @@ public class customerContactController {
|
||||
log.info("数据已存在-" + nameData);
|
||||
XxlJobHelper.log("--数据已存在---" + nameData);
|
||||
tbflag = true;
|
||||
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
|
||||
tbflag = false;
|
||||
}
|
||||
}
|
||||
if (tbflag) {
|
||||
continue;
|
||||
@ -159,13 +176,16 @@ public class customerContactController {
|
||||
groupstandardjson.put("dept",GcjJson.getNodeValue(stra, "JSON.department"));
|
||||
groupstandardjson.put("email",GcjJson.getNodeValue(stra, "JSON.email"));
|
||||
groupstandardjson.put("phone",GcjJson.getNodeValue(stra, "JSON.mobile1"));
|
||||
groupstandardarr.add(groupstandardjson);
|
||||
|
||||
if(j==0){
|
||||
groupstandardjson.put("isdefault_linkman",true);
|
||||
}
|
||||
groupstandardarr.add(groupstandardjson);
|
||||
}
|
||||
|
||||
datajson.put("entry_linkman",groupstandardarr);//联系人
|
||||
//创建组织
|
||||
datajson.put("createorg_number","zycxjtpoc.test");
|
||||
datajson.put("createorg_number","zyierp");
|
||||
dataarr.add(datajson);
|
||||
params.put("data",dataarr);
|
||||
log.info("--请求json---" + params.toJSONString());
|
||||
@ -208,7 +228,7 @@ public class customerContactController {
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
|
||||
paramMap.put("sync_status__c", "option_sync_success__c");
|
||||
// paramMap.put("sync_info__c", resjs.getString("message"));
|
||||
paramMap.put("sync_info__c", resjs.getString("message"));
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "ContactObj", dataId, paramMap);
|
||||
}else{
|
||||
@ -216,7 +236,7 @@ public class customerContactController {
|
||||
stringBuffer.append("联系人创建接口调用失败:"+resjs.getString("message"));
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
// paramMap.put("sync_info__c", stringBuffer);
|
||||
paramMap.put("sync_info__c", stringBuffer);
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "ContactObj", dataId, paramMap);
|
||||
}
|
||||
@ -225,7 +245,7 @@ public class customerContactController {
|
||||
stringBuffer.append("联系人创建接口调用失败,请检查网络配置");
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
// paramMap.put("sync_info__c", stringBuffer);
|
||||
paramMap.put("sync_info__c", stringBuffer);
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "ContactObj", dataId, paramMap);
|
||||
}
|
||||
|
@ -44,24 +44,37 @@ public class customerController {
|
||||
|
||||
String apiName = "AccountObj";
|
||||
|
||||
/* List<CrmFXApiParam> paramList = Arrays.asList(
|
||||
List<CrmFXApiParam> paramList = Arrays.asList(
|
||||
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
|
||||
new CrmFXApiParam("IS", "erp_id__c", ""),
|
||||
new CrmFXApiParam("ISN", "erp_category__c", ""),
|
||||
new CrmFXApiParam("EQ", "sync_status__c", "option_test__c"),
|
||||
new CrmFXApiParam("EQ", "life_status", "normal")
|
||||
);*/
|
||||
);
|
||||
|
||||
|
||||
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "灵宝市窄口水务管理局"));
|
||||
// List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "灵宝市窄口水务管理局"));
|
||||
|
||||
JSONObject jsonject = fxapi.getSynNewDataObj(false, "客户", apiName, paramList);
|
||||
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
|
||||
|
||||
|
||||
List<CrmFXApiParam> paramListB = Arrays.asList(
|
||||
new CrmFXApiParam("EQ", "sync_status__c", "option_resync__c"),
|
||||
new CrmFXApiParam("EQ", "life_status", "normal")
|
||||
);
|
||||
JSONObject jsonjectB = fxapi.getSynNewDataObj(false, "客户重新同步", apiName, paramListB);
|
||||
JSONArray arrayA = jsonjectB.getJSONObject("data").getJSONArray("dataList");
|
||||
array.addAll(arrayA);
|
||||
|
||||
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
JSONObject str = array.getJSONObject(i);
|
||||
String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
|
||||
String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
|
||||
String status = GcjJson.getNodeValue(str, "JSON.sync_status__c") != null ? GcjJson.getNodeValue(str, "JSON.sync_status__c").toString() : "";
|
||||
String endtime = GcjJson.getNodeValue(str, "JSON.last_modified_time") != null ? GcjJson.getNodeValue(str, "JSON.last_modified_time").toString() : "";
|
||||
|
||||
|
||||
String syn_type = "0";//同步类型 0新增 1修改 2删除
|
||||
log.info("-------------------开始执行客户" + i + " -------------------" + nameData);
|
||||
@ -79,6 +92,9 @@ public class customerController {
|
||||
log.info("数据已存在-" + nameData);
|
||||
XxlJobHelper.log("--数据已存在---" + nameData);
|
||||
tbflag = true;
|
||||
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
|
||||
tbflag = false;
|
||||
}
|
||||
}
|
||||
if (tbflag) {
|
||||
continue;
|
||||
@ -91,7 +107,7 @@ public class customerController {
|
||||
jsonObjectData.put("crmzhu_id", dataId);//数据id
|
||||
jsonObjectData.put("send_status", 3);//同步状态 true同步成功 false同步失败 3待同步
|
||||
jsonObjectData.put("crm_code", nameData);//数据名称
|
||||
jsonObjectData.put("mark", nameData);//标识
|
||||
jsonObjectData.put("mark", endtime);//标识
|
||||
jsonObjectData.put("crm_json", str.toJSONString());//标识
|
||||
|
||||
MagicApi.saveSendSYNDatacustomer(jsonObjectData);
|
||||
@ -127,6 +143,8 @@ public class customerController {
|
||||
String account_no = GcjJson.getNodeValue(str, "JSON.account_no") != null ? GcjJson.getNodeValue(str, "JSON.account_no").toString() : "";
|
||||
String erp_category__c = GcjJson.getNodeValue(str, "JSON.erp_category__c") != null ? GcjJson.getNodeValue(str, "JSON.erp_category__c").toString() : "";
|
||||
|
||||
String endtime = GcjJson.getNodeValue(str, "JSON.last_modified_time") != null ? GcjJson.getNodeValue(str, "JSON.last_modified_time").toString() : "";
|
||||
String status = GcjJson.getNodeValue(str, "JSON.sync_status__c") != null ? GcjJson.getNodeValue(str, "JSON.sync_status__c").toString() : "";
|
||||
|
||||
String strJson = "";
|
||||
try{
|
||||
@ -135,6 +153,9 @@ public class customerController {
|
||||
log.info("数据已存在-" + nameData);
|
||||
XxlJobHelper.log("--数据已存在---" + nameData);
|
||||
tbflag = true;
|
||||
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
|
||||
tbflag = false;
|
||||
}
|
||||
}
|
||||
if (tbflag) {
|
||||
continue;
|
||||
@ -173,7 +194,6 @@ public class customerController {
|
||||
JSONArray arrayZ = jsonjectZ.getJSONObject("data").getJSONArray("dataList");
|
||||
if (!arrayZ.isEmpty()){
|
||||
for (int j = 0; j < arrayZ.size(); j++) {
|
||||
|
||||
JSONObject stra = arrayZ.getJSONObject(j);
|
||||
JSONObject lxrjson = new JSONObject();
|
||||
lxrjson.put("contactperson",GcjJson.getNodeValue(stra, "JSON.name"));
|
||||
@ -184,32 +204,33 @@ public class customerController {
|
||||
if(j==0){
|
||||
lxrjson.put("isdefault_linkman",true);
|
||||
}
|
||||
|
||||
lxrarr.add(lxrjson);
|
||||
}
|
||||
datajson.put("entry_linkman",lxrarr);//联系人
|
||||
}
|
||||
|
||||
JSONArray groupstandardarr2 = new JSONArray();
|
||||
JSONObject groupstandardjson2 = new JSONObject();
|
||||
groupstandardjson2.put("bank_number","001100001509");
|
||||
groupstandardjson2.put("accountname","1");
|
||||
groupstandardjson2.put("currency_number","CNY");
|
||||
groupstandardjson2.put("bankaccount","1");
|
||||
groupstandardjson2.put("isdefault_bank",true);
|
||||
groupstandardarr2.add(groupstandardjson2);
|
||||
JSONObject jsonjectC = fxapi.getSynDataObj("客户下财务信息", "AccountFinInfoObj", "account_id", dataId);
|
||||
JSONArray arrayC = jsonjectC.getJSONObject("data").getJSONArray("dataList");
|
||||
if (!arrayC.isEmpty()){
|
||||
for (int j = 0; j < arrayC.size(); j++) {
|
||||
JSONObject stra = arrayC.getJSONObject(j);
|
||||
JSONObject groupstandardjson2 = new JSONObject();
|
||||
groupstandardjson2.put("bank_number",GcjJson.getNodeValue(stra, "JSON.bank_name_branch_number__c"));
|
||||
groupstandardjson2.put("accountname",GcjJson.getNodeValue(stra, "JSON.account_name__c"));
|
||||
groupstandardjson2.put("currency_number","CNY");
|
||||
groupstandardjson2.put("bankaccount",GcjJson.getNodeValue(stra, "JSON.account_bank_no"));
|
||||
|
||||
groupstandardjson2.put("isdefault_bank",false);
|
||||
if(j==0){
|
||||
groupstandardjson2.put("isdefault_bank",true);
|
||||
}
|
||||
groupstandardarr2.add(groupstandardjson2);
|
||||
}
|
||||
datajson.put("entry_bank",groupstandardarr2);//银行信息
|
||||
}
|
||||
|
||||
|
||||
JSONObject groupstandardjson3 = new JSONObject();
|
||||
groupstandardjson3.put("bank_number","001110012009");
|
||||
groupstandardjson3.put("accountname","2");
|
||||
groupstandardjson3.put("currency_number","CNY");
|
||||
groupstandardjson3.put("bankaccount","2");
|
||||
groupstandardjson3.put("isdefault_bank",false);
|
||||
groupstandardarr2.add(groupstandardjson3);
|
||||
|
||||
|
||||
datajson.put("entry_bank",groupstandardarr2);//银行信息
|
||||
|
||||
//创建组织
|
||||
datajson.put("createorg_number","zyierp");
|
||||
@ -258,6 +279,7 @@ public class customerController {
|
||||
paramMap.put("erp_id__c", erpid);//数据ID
|
||||
paramMap.put("sync_status__c", "option_sync_success__c");
|
||||
paramMap.put("sync_info__c", resjs.getString("message"));
|
||||
//fxapi.lock(false, dataId, "AccountObj");
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "AccountObj", dataId, paramMap);
|
||||
}else{
|
||||
@ -314,16 +336,16 @@ public class customerController {
|
||||
|
||||
String apiName = "AccountObj";
|
||||
|
||||
/* List<CrmFXApiParam> paramList = Arrays.asList(
|
||||
List<CrmFXApiParam> paramList = Arrays.asList(
|
||||
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
|
||||
new CrmFXApiParam("ISN", "erp_id__c", ""),
|
||||
new CrmFXApiParam("ISN", "erp_category__c", ""),
|
||||
new CrmFXApiParam("EQ", "sync_status__c", "option_sync_success__c"),
|
||||
new CrmFXApiParam("EQ", "life_status", "normal")
|
||||
);*/
|
||||
);
|
||||
|
||||
|
||||
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "国网湖北省电力有限公司武汉供电公司"));
|
||||
// List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "国网湖北省电力有限公司武汉供电公司"));
|
||||
|
||||
JSONObject jsonject = fxapi.getSynNewDataObj(false, "客户", apiName, paramList);
|
||||
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
|
||||
@ -439,26 +461,46 @@ public class customerController {
|
||||
datajson.put("entry_groupstandard",groupstandardarr);//分类标准
|
||||
|
||||
|
||||
JSONArray lxrarr = new JSONArray();
|
||||
JSONObject jsonjectZ = fxapi.getSynDataObj("客户下联系人", "ContactObj", "account_id", dataId);
|
||||
JSONArray arrayZ = jsonjectZ.getJSONObject("data").getJSONArray("dataList");
|
||||
if (!arrayZ.isEmpty()){
|
||||
for (int j = 0; j < arrayZ.size(); j++) {
|
||||
JSONObject stra = arrayZ.getJSONObject(j);
|
||||
JSONObject lxrjson = new JSONObject();
|
||||
lxrjson.put("contactperson",GcjJson.getNodeValue(stra, "JSON.name"));
|
||||
lxrjson.put("contactpersonpost",GcjJson.getNodeValue(stra, "JSON.job_title"));
|
||||
lxrjson.put("dept",GcjJson.getNodeValue(stra, "JSON.department"));
|
||||
lxrjson.put("email",GcjJson.getNodeValue(stra, "JSON.email"));
|
||||
lxrjson.put("phone",GcjJson.getNodeValue(stra, "JSON.mobile1"));
|
||||
if(j==0){
|
||||
lxrjson.put("isdefault_linkman",true);
|
||||
}
|
||||
lxrarr.add(lxrjson);
|
||||
}
|
||||
datajson.put("entry_linkman",lxrarr);//联系人
|
||||
}
|
||||
|
||||
JSONArray groupstandardarr2 = new JSONArray();
|
||||
JSONObject groupstandardjson2 = new JSONObject();
|
||||
groupstandardjson2.put("bank_number","001100001509");
|
||||
groupstandardjson2.put("accountname","1");
|
||||
groupstandardjson2.put("currency_number","CNY");
|
||||
groupstandardjson2.put("bankaccount","1");
|
||||
groupstandardjson2.put("isdefault_bank",true);
|
||||
groupstandardarr2.add(groupstandardjson2);
|
||||
JSONObject jsonjectC = fxapi.getSynDataObj("客户下财务信息", "AccountFinInfoObj", "account_id", dataId);
|
||||
JSONArray arrayC = jsonjectC.getJSONObject("data").getJSONArray("dataList");
|
||||
if (!arrayC.isEmpty()){
|
||||
for (int j = 0; j < arrayC.size(); j++) {
|
||||
JSONObject stra = arrayC.getJSONObject(j);
|
||||
JSONObject groupstandardjson2 = new JSONObject();
|
||||
groupstandardjson2.put("bank_number",GcjJson.getNodeValue(stra, "JSON.bank_name_branch_number__c"));
|
||||
groupstandardjson2.put("accountname",GcjJson.getNodeValue(stra, "JSON.account_name__c"));
|
||||
groupstandardjson2.put("currency_number","CNY");
|
||||
groupstandardjson2.put("bankaccount",GcjJson.getNodeValue(stra, "JSON.account_bank_no"));
|
||||
|
||||
|
||||
JSONObject groupstandardjson3 = new JSONObject();
|
||||
groupstandardjson3.put("bank_number","001110012009");
|
||||
groupstandardjson3.put("accountname","2");
|
||||
groupstandardjson3.put("currency_number","CNY");
|
||||
groupstandardjson3.put("bankaccount","2");
|
||||
groupstandardjson3.put("isdefault_bank",false);
|
||||
groupstandardarr2.add(groupstandardjson3);
|
||||
|
||||
|
||||
datajson.put("entry_bank",groupstandardarr2);//银行信息
|
||||
groupstandardjson2.put("isdefault_bank",false);
|
||||
if(j==0){
|
||||
groupstandardjson2.put("isdefault_bank",true);
|
||||
}
|
||||
groupstandardarr2.add(groupstandardjson2);
|
||||
}
|
||||
datajson.put("entry_bank",groupstandardarr2);//银行信息
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -503,13 +545,17 @@ public class customerController {
|
||||
JSONArray result = successdata.getJSONArray("result");
|
||||
JSONObject erpdata = (JSONObject) result.get(0);
|
||||
String erpid = erpdata.getString("id");
|
||||
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
// paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
paramMap.put("sync_info__c", "修改成功");
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "AccountObj", dataId, paramMap);
|
||||
|
||||
}else{
|
||||
sendFlag=true;
|
||||
stringBuffer.append("客户修改接口调用失败:"+resjs.getString("message"));
|
||||
stringBuffer.append("客户修改失败:"+resjs.getString("message"));
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
// paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
paramMap.put("sync_info__c", stringBuffer);
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "AccountObj", dataId, paramMap);
|
||||
@ -518,7 +564,7 @@ public class customerController {
|
||||
sendFlag = true;
|
||||
stringBuffer.append("客户修改接口调用失败,请检查网络配置");
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
//paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
paramMap.put("sync_info__c", stringBuffer);
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "AccountObj", dataId, paramMap);
|
||||
|
@ -0,0 +1,273 @@
|
||||
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.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.fxapi.model.CrmFXApiParam;
|
||||
import org.ssssssss.magicboot.zdyutils.FXHTTP;
|
||||
import org.ssssssss.magicboot.zdyutils.GcjJson;
|
||||
import org.ssssssss.magicboot.zdyutils.MagicApi;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Arrays;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/FinInfo")
|
||||
public class customerFinInfoController {
|
||||
static Logger log = LoggerFactory.getLogger("FinInfo");
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
new customerFinInfoController().getSynDataAdd();
|
||||
new customerFinInfoController().SaveSyn();
|
||||
|
||||
}
|
||||
|
||||
public void getSynDataAdd() throws Exception {
|
||||
FXHTTP fxapi = new FXHTTP();
|
||||
XKTokenAccess xktonken = new XKTokenAccess();
|
||||
// 查询magic接口
|
||||
//获取时间戳
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String time = sdf.format(System.currentTimeMillis() - (1000 * 60 * 60));
|
||||
|
||||
String apiName = "AccountFinInfoObj";
|
||||
|
||||
List<CrmFXApiParam> paramList = Arrays.asList(
|
||||
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
|
||||
new CrmFXApiParam("EQ", "sync_status__c", "option_pending_sync__c"),
|
||||
new CrmFXApiParam("ISN", "field_7qGnx__c", ""),
|
||||
new CrmFXApiParam("EQ", "life_status", "normal")
|
||||
);
|
||||
|
||||
/* List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "河北省水利行业协会"));*/
|
||||
|
||||
JSONObject jsonject = fxapi.getSynNewDataObj(false, "财务信息", apiName, paramList);
|
||||
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
|
||||
List<CrmFXApiParam> paramListB = Arrays.asList(
|
||||
new CrmFXApiParam("EQ", "sync_status__c", "option_resync__c"),
|
||||
new CrmFXApiParam("EQ", "life_status", "normal")
|
||||
);
|
||||
JSONObject jsonjectB = fxapi.getSynNewDataObj(false, "财务信息重新同步", apiName, paramListB);
|
||||
JSONArray arrayA = jsonjectB.getJSONObject("data").getJSONArray("dataList");
|
||||
array.addAll(arrayA);
|
||||
|
||||
for (int i = 0; i < array.size(); i++) {
|
||||
JSONObject str = array.getJSONObject(i);
|
||||
String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
|
||||
String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
|
||||
String endtime = GcjJson.getNodeValue(str, "JSON.last_modified_time") != null ? GcjJson.getNodeValue(str, "JSON.last_modified_time").toString() : "";
|
||||
String status = GcjJson.getNodeValue(str, "JSON.sync_status__c") != null ? GcjJson.getNodeValue(str, "JSON.sync_status__c").toString() : "";
|
||||
|
||||
String syn_type = "0";//同步类型 0新增 1修改 2删除
|
||||
log.info("-------------------开始执行财务信息" + i + " -------------------" + nameData);
|
||||
XxlJobHelper.log("-------------------开始执行财务信息" + i + " -------------------" + nameData);
|
||||
|
||||
Boolean sendFlag = false;
|
||||
StringBuffer stringBuffer = new StringBuffer();
|
||||
|
||||
try {
|
||||
boolean tbflag = false;
|
||||
//验证数据是否已存在
|
||||
JSONObject dataSyn = MagicApi.getSendSYNDataCustomer("CW", syn_type, dataId);
|
||||
|
||||
if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
|
||||
log.info("数据已存在-" + nameData);
|
||||
XxlJobHelper.log("--数据已存在---" + nameData);
|
||||
tbflag = true;
|
||||
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
|
||||
tbflag = false;
|
||||
}
|
||||
}
|
||||
if (tbflag) {
|
||||
continue;
|
||||
}
|
||||
log.info("财务信息待同步数据-" + i + " ------" + nameData);
|
||||
JSONObject jsonObjectData = new JSONObject();
|
||||
jsonObjectData.put("send_type", "CW"); //业务类型
|
||||
jsonObjectData.put("send_syn", "0"); //同步类型 0新增 1修改 2删除
|
||||
jsonObjectData.put("crm_id", dataId);//数据id
|
||||
jsonObjectData.put("crmzhu_id", dataId);//数据id
|
||||
jsonObjectData.put("send_status", 3);//同步状态 true同步成功 false同步失败 3待同步
|
||||
jsonObjectData.put("crm_code", nameData);//数据名称
|
||||
jsonObjectData.put("mark", endtime);//标识
|
||||
jsonObjectData.put("crm_json", str.toJSONString());//标识
|
||||
|
||||
MagicApi.saveSendSYNDatacustomer(jsonObjectData);
|
||||
} catch (Exception e) {
|
||||
continue;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void SaveSyn() throws Exception {
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
|
||||
FXHTTP fxapi = new FXHTTP();
|
||||
String resJsonStr = MagicApi.getWNRES("http://localhost:18088/syn/queryCustomer?sendType=CW&sendStatus=3&sendSyn=0", "");
|
||||
JSONObject resJson = JSON.parseObject(resJsonStr);
|
||||
if (resJson != null) {
|
||||
log.info("待同步财务信息数" + resJson.getJSONArray("data").size());
|
||||
for (int i = 0; i < resJson.getJSONArray("data").size(); i++) {
|
||||
|
||||
JSONObject getData = resJson.getJSONArray("data").getJSONObject(i);
|
||||
JSONObject str = getData.getJSONObject("crmJson");
|
||||
String syn_type = "0";//同步类型 0新增 1修改 2删除
|
||||
Boolean sendFlag = false;
|
||||
StringBuffer stringBuffer = new StringBuffer();
|
||||
boolean tbflag = false;
|
||||
// 构建json
|
||||
|
||||
String dataId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
|
||||
String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
|
||||
String account_id = GcjJson.getNodeValue(str, "JSON.account_id") != null ? GcjJson.getNodeValue(str, "JSON.account_id").toString() : "";
|
||||
String customer_code__c = GcjJson.getNodeValue(str, "JSON.customer_code__c") != null ? GcjJson.getNodeValue(str, "JSON.customer_code__c").toString() : "";
|
||||
String endtime = GcjJson.getNodeValue(str, "JSON.last_modified_time") != null ? GcjJson.getNodeValue(str, "JSON.last_modified_time").toString() : "";
|
||||
String status = GcjJson.getNodeValue(str, "JSON.sync_status__c") != null ? GcjJson.getNodeValue(str, "JSON.sync_status__c").toString() : "";
|
||||
|
||||
|
||||
String strJson = "";
|
||||
try{
|
||||
JSONObject dataSyn = MagicApi.getSendSYNDataCustomer("CW", syn_type, dataId,"3");
|
||||
if (dataSyn != null && dataId.equals(dataSyn.getString("crmId"))) {
|
||||
log.info("数据已存在-" + nameData);
|
||||
XxlJobHelper.log("--数据已存在---" + nameData);
|
||||
tbflag = true;
|
||||
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
|
||||
tbflag = false;
|
||||
}
|
||||
}
|
||||
if (tbflag) {
|
||||
continue;
|
||||
}
|
||||
|
||||
JSONObject params = new JSONObject();
|
||||
|
||||
JSONArray dataarr = new JSONArray();
|
||||
JSONObject datajson = new JSONObject();
|
||||
|
||||
//编码
|
||||
datajson.put("number",customer_code__c);
|
||||
|
||||
JSONArray groupstandardarr2 = new JSONArray();
|
||||
JSONObject jsonjectC = fxapi.getSynDataObj("客户下财务信息", "AccountFinInfoObj", "account_id", dataId);
|
||||
JSONArray arrayC = jsonjectC.getJSONObject("data").getJSONArray("dataList");
|
||||
if (!arrayC.isEmpty()){
|
||||
for (int j = 0; j < arrayC.size(); j++) {
|
||||
JSONObject stra = arrayC.getJSONObject(j);
|
||||
JSONObject groupstandardjson2 = new JSONObject();
|
||||
groupstandardjson2.put("bank_number",GcjJson.getNodeValue(stra, "JSON.bank_name_branch_number__c"));
|
||||
groupstandardjson2.put("accountname",GcjJson.getNodeValue(stra, "JSON.account_name__c"));
|
||||
groupstandardjson2.put("currency_number","CNY");
|
||||
groupstandardjson2.put("bankaccount",GcjJson.getNodeValue(stra, "JSON.account_bank_no"));
|
||||
|
||||
groupstandardjson2.put("isdefault_bank",false);
|
||||
if(j==0){
|
||||
groupstandardjson2.put("isdefault_bank",true);
|
||||
}
|
||||
groupstandardarr2.add(groupstandardjson2);
|
||||
}
|
||||
datajson.put("entry_bank",groupstandardarr2);//银行信息
|
||||
}
|
||||
//创建组织
|
||||
datajson.put("createorg_number","zyierp");
|
||||
dataarr.add(datajson);
|
||||
params.put("data",dataarr);
|
||||
log.info("--请求json---" + params.toJSONString());
|
||||
System.out.println("--请求json:---" +params.toJSONString());
|
||||
strJson = params.toJSONString();
|
||||
|
||||
}catch (Exception e) {
|
||||
sendFlag = true;
|
||||
stringBuffer.append("参数解析错误,请联系开发人员");
|
||||
e.printStackTrace();
|
||||
}
|
||||
getSynDataSave(stringBuffer,sendFlag,fxapi,dataId,nameData,strJson,getData);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 写数据
|
||||
*/
|
||||
public void getSynDataSave(StringBuffer stringBuffer,Boolean sendFlag,FXHTTP fxapi,String dataId,String nameData,String obj,JSONObject str) {
|
||||
String syn_type = "0";//同步类型 0新增 1修改 2删除
|
||||
String res_url = "http://192.168.31.158:8022/ierp/kapi/v2/f9w5/basedata/bd_customer/customerSave";
|
||||
String res_param = obj;
|
||||
String res = "";
|
||||
try {
|
||||
// String token = "2096108315279888384_HJyMZK1Lco9gSZUKU1ipq85P5J32eQDdaz8WgChd1DvHrPZylIodiBmBYa8U2smKVC8MKAspXtjNQ2Fjw5MlWXDnkn5nPFPQWzSB03";
|
||||
String accessToken = new KDTokenController().getKDAccessToken();
|
||||
|
||||
|
||||
Map<String, String> headers = new HashMap<String, String>();
|
||||
headers.put("accessToken", accessToken);//放token
|
||||
HttpClientResult rtn = HttpClientUtils.doPostJson(res_url, headers, obj);
|
||||
String resStr = rtn.getContent();
|
||||
JSONObject resjs = JSONObject.parseObject(resStr);
|
||||
res = resStr;
|
||||
if (resjs != null && resjs.getBoolean("status")) {
|
||||
JSONObject successdata = resjs.getJSONObject("data");
|
||||
JSONArray result = successdata.getJSONArray("result");
|
||||
JSONObject erpdata = (JSONObject) result.get(0);
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
|
||||
paramMap.put("sync_status__c", "option_sync_success__c");
|
||||
paramMap.put("sync_info__c", resjs.getString("message"));
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "AccountFinInfoObj", dataId, paramMap);
|
||||
}else{
|
||||
sendFlag=true;
|
||||
stringBuffer.append("财务信息创建接口调用失败:"+resjs.getString("message"));
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
paramMap.put("sync_info__c", stringBuffer);
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "AccountFinInfoObj", dataId, paramMap);
|
||||
}
|
||||
} catch (Exception e) {
|
||||
sendFlag = true;
|
||||
stringBuffer.append("财务信息创建接口调用失败,请检查网络配置");
|
||||
Map<String, Object> paramMap = new HashMap<String, Object>();
|
||||
paramMap.put("sync_status__c", "option_sync_failure__c");
|
||||
paramMap.put("sync_info__c", stringBuffer);
|
||||
//回写json
|
||||
fxapi.upSynFieldParam("", "AccountFinInfoObj", dataId, paramMap);
|
||||
}
|
||||
|
||||
JSONObject sendData = new JSONObject();
|
||||
|
||||
sendData.put("send_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
|
||||
|
||||
sendData.put("send_id", str.getString("sendId")); //send_id
|
||||
MagicApi.updateSendSYUPDATEcustomer(sendData);
|
||||
|
||||
JSONObject logData = new JSONObject();
|
||||
logData.put("log_type", "CW"); //业务类型
|
||||
logData.put("log_status", !sendFlag);//同步状态 true同步成功 false同步失败 3待同步
|
||||
logData.put("syn_type", syn_type);//同步类型 0新增 1修改 2删除
|
||||
logData.put("data_id", dataId);//数据id
|
||||
logData.put("data_name", nameData);//数据名称
|
||||
logData.put("res_body", "同步成功");//返回值
|
||||
logData.put("res_url", res_url);//
|
||||
logData.put("res_param", res_param);//
|
||||
logData.put("res_res", res);//
|
||||
if (sendFlag) {
|
||||
logData.put("res_body", stringBuffer.toString());//返回值
|
||||
}
|
||||
//写入传输日志
|
||||
MagicApi.saveCustomerLog(logData);
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,56 @@
|
||||
package org.ssssssss.magicboot.task;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.ssssssss.magicboot.controller.UsceController;
|
||||
import org.ssssssss.magicboot.controller.customerContactController;
|
||||
import org.ssssssss.magicboot.controller.customerController;
|
||||
import org.ssssssss.magicboot.controller.customerFinInfoController;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Configuration //1.主要用于标记配置类,兼备Component的效果。
|
||||
@EnableScheduling // 2.开启定时任务
|
||||
public class testTask {
|
||||
@Autowired
|
||||
UsceController user;
|
||||
|
||||
@Autowired
|
||||
customerController customer;
|
||||
@Autowired
|
||||
customerContactController contact;
|
||||
@Autowired
|
||||
customerFinInfoController finInfo;
|
||||
|
||||
@Scheduled(cron = "0 */1 * * * ?")
|
||||
//或直接指定时间间隔,例如:5秒
|
||||
private void configureTasks() throws Exception {
|
||||
customer.getSynDataAdd();
|
||||
customer.getSynKH();
|
||||
customer.getSynDataUpdate();
|
||||
customer.getSynKHUPdate();
|
||||
|
||||
System.err.println("执行静态定时任务时间: " + LocalDateTime.now());
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 */2 * * * ?")
|
||||
//或直接指定时间间隔,例如:5秒
|
||||
private void configureTasks2() throws Exception {
|
||||
contact.getSynDataAdd();
|
||||
contact.SaveSyn();
|
||||
finInfo.getSynDataAdd();
|
||||
finInfo.SaveSyn();
|
||||
|
||||
System.err.println("执行2静态定时任务时间: " + LocalDateTime.now());
|
||||
}
|
||||
|
||||
@Scheduled(cron = "0 */30 * * * ?")
|
||||
//或直接指定时间间隔,例如:5秒
|
||||
private void configureTasks30() throws Exception {
|
||||
user.getUserData();
|
||||
user.saveSynUser();
|
||||
System.err.println("执行30静态定时任务时间: " + LocalDateTime.now());
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user