This commit is contained in:
张光起 2025-06-04 10:02:56 +08:00
parent c24f033b8e
commit 04381350e1
8 changed files with 274 additions and 58 deletions

View File

@ -43,23 +43,33 @@ public class ProjectNewOpportunityController {
String apiName = "NewOpportunityObj";
/* List<CrmFXApiParam> paramList = Arrays.asList(
List<CrmFXApiParam> paramList = Arrays.asList(
new CrmFXApiParam("GT", "create_time", "1748923200000"),
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
new CrmFXApiParam("IS", "erp_id__c", ""),
new CrmFXApiParam("EQ", "sync_status__c", "option_pending_sync__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);
@ -77,6 +87,9 @@ public class ProjectNewOpportunityController {
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 +102,7 @@ public class ProjectNewOpportunityController {
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.saveSendSYNDataProject(jsonObjectData);
@ -120,6 +133,11 @@ public class ProjectNewOpportunityController {
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 number = GcjJson.getNodeValue(str, "JSON.opportunity_id__c") != null ? GcjJson.getNodeValue(str, "JSON.opportunity_id__c").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 org = GcjJson.getNodeValue(str, "JSON.erp_organization__c") != null ? GcjJson.getNodeValue(str, "JSON.erp_organization__c").toString() : "";
String strJson = "";
try{
@ -128,6 +146,9 @@ public class ProjectNewOpportunityController {
log.info("数据已存在-" + nameData);
XxlJobHelper.log("--数据已存在---" + nameData);
tbflag = true;
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
tbflag = false;
}
}
if (tbflag) {
continue;
@ -146,7 +167,7 @@ public class ProjectNewOpportunityController {
datajson.put("enable","1");//使用状态
datajson.put("status","C");//数据状态
//创建组织
datajson.put("createorg_number","zyierp");
datajson.put("createorg_number",org);
dataarr.add(datajson);
params.put("data",dataarr);
log.info("--请求json---" + params.toJSONString());

View File

@ -43,23 +43,33 @@ public class ProjectObjController {
String apiName = "ProjectObj";
/* List<CrmFXApiParam> paramList = Arrays.asList(
List<CrmFXApiParam> paramList = Arrays.asList(
new CrmFXApiParam("GT", "create_time", "1748923200000"),
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
new CrmFXApiParam("IS", "erp_id__c", ""),
new CrmFXApiParam("EQ", "sync_status__c", "option_pending_sync__c"),
new CrmFXApiParam("EQ", "life_status", "normal")
);*/
);
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "设备台账集成测试22"));
// List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "设备台账集成测试22"));
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);
@ -77,6 +87,9 @@ public class ProjectObjController {
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 +102,7 @@ public class ProjectObjController {
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.saveSendSYNDataProject(jsonObjectData);
@ -120,7 +133,19 @@ public class ProjectObjController {
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 number = GcjJson.getNodeValue(str, "JSON.project_no__c") != null ? GcjJson.getNodeValue(str, "JSON.project_no__c").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 org1 = GcjJson.getNodeValue(str, "JSON.erp_organization_code_pre__c__v") != null ? GcjJson.getNodeValue(str, "JSON.erp_organization_code_pre__c__v").toString() : "";
String org2 = GcjJson.getNodeValue(str, "JSON.erp_organization_code_sale__c__v") != null ? GcjJson.getNodeValue(str, "JSON.erp_organization_code_sale__c__v").toString() : "";
String org = "";
if(!"".equals(org2)){
org = org2;
}else {
org = org1;
}
String strJson = "";
try{
JSONObject dataSyn = MagicApi.getSendSYNDataProject("project", syn_type, dataId,"3");
@ -128,6 +153,9 @@ public class ProjectObjController {
log.info("数据已存在-" + nameData);
XxlJobHelper.log("--数据已存在---" + nameData);
tbflag = true;
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
tbflag = false;
}
}
if (tbflag) {
continue;
@ -146,7 +174,7 @@ public class ProjectObjController {
datajson.put("enable","1");//使用状态
datajson.put("status","C");//数据状态
//创建组织
datajson.put("createorg_number","zyierp");
datajson.put("createorg_number",org);
dataarr.add(datajson);
params.put("data",dataarr);
log.info("--请求json---" + params.toJSONString());

View File

@ -44,6 +44,7 @@ public class customerContactController {
String apiName = "ContactObj";
List<CrmFXApiParam> paramList = Arrays.asList(
new CrmFXApiParam("GT", "create_time", "1748923200000"),
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", ""),

View File

@ -44,6 +44,7 @@ public class customerFinInfoController {
String apiName = "AccountFinInfoObj";
List<CrmFXApiParam> paramList = Arrays.asList(
new CrmFXApiParam("GT", "create_time", "1748923200000"),
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", ""),

View File

@ -28,9 +28,40 @@ public class materialreqbillXTController {
static Logger log = LoggerFactory.getLogger("materialreqbillv2");
public static void main(String[] args) throws Exception {
// new materialreqbillXTController().getSynDataAdd();
// new materialreqbillXTController().materialreqbillSave();
new materialreqbillXTController().doOperation("6836d1275313060001419706","audit");
new materialreqbillXTController().getSynDataAdd();
new materialreqbillXTController().materialreqbillSave();
}
public void getOperation()throws Exception{
FXHTTP fxapi = new FXHTTP();
String apiName = "shipping_application__c";
String[] arr ={"option_awaiting_review__c","option_pending_submission__c","option_pending_cancellation__c","option_awaiting_re__c"};
List<CrmFXApiParam> paramList = Arrays.asList(
new CrmFXApiParam("ISN", "erp_id__c", ""),
new CrmFXApiParam("IN", "erp_document_status__c", arr),
new CrmFXApiParam("EQ", "sync_status__c", "option_sync_success__c")
);
JSONObject jsonject = fxapi.getSynNewDataObj(true, "发货申请", apiName, paramList);
JSONArray array = jsonject.getJSONObject("data").getJSONArray("dataList");
if(array.isEmpty()){
return;
}
for (int i = 0; i < array.size(); i++) {
JSONObject str = array.getJSONObject(i);
String crmId = GcjJson.getNodeValue(str, "JSON._id") != null ? GcjJson.getNodeValue(str, "JSON._id").toString() : "";
String status = GcjJson.getNodeValue(str, "JSON.erp_document_status__c") != null ? GcjJson.getNodeValue(str, "JSON.erp_document_status__c").toString() : "";
if("option_pending_submission__c".equals(status)){
new materialreqbillXTController().doOperation(crmId,"submit");
} else if ("option_awaiting_review__c".equals(status)) {
new materialreqbillXTController().doOperation(crmId,"audit");
} else if ("option_pending_cancellation__c".equals(status)) {
new materialreqbillXTController().doOperation(crmId,"unsubmit");
} else if ("option_awaiting_re__c".equals(status)) {
new materialreqbillXTController().doOperation(crmId,"unaudit");
}
}
}
public void getSynDataAdd() throws Exception {
@ -43,23 +74,34 @@ public class materialreqbillXTController {
String apiName = "shipping_application__c";
/* List<CrmFXApiParam> paramList = Arrays.asList(
List<CrmFXApiParam> paramList = Arrays.asList(
new CrmFXApiParam("GT", "create_time", "1748923200000"),
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
new CrmFXApiParam("IS", "erp_id__c", ""),
new CrmFXApiParam("EQ", "life_status", "normal")
);*/
new CrmFXApiParam("EQ", "sync_status__c", "option_pending_sync__c"),
new CrmFXApiParam("EQ", "life_status", "under_review")
);
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "FHSQ202505280014"));
// List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "FHSQ202505280014"));
JSONObject jsonject = fxapi.getSynNewDataObj(true, "发货申请", 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(true, "发货申请重新同步", 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);
@ -77,6 +119,9 @@ public class materialreqbillXTController {
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 +134,7 @@ public class materialreqbillXTController {
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.saveSendSYNDatamaterialreqbill(jsonObjectData);
@ -125,15 +170,27 @@ public class materialreqbillXTController {
String contractno2 = GcjJson.getNodeValue(str, "JSON.pre_signed_contract_number__c") != null ? GcjJson.getNodeValue(str, "JSON.pre_signed_contract_number__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 org1 = GcjJson.getNodeValue(str, "JSON.erp_organization_pre_contr__c__v") != null ? GcjJson.getNodeValue(str, "JSON.erp_organization_pre_contr__c__v").toString() : "";
String org2 = GcjJson.getNodeValue(str, "JSON.erp_organization_sales_con__c__v") != null ? GcjJson.getNodeValue(str, "JSON.erp_organization_sales_con__c__v").toString() : "";
String org = "";
if(!"".equals(org2)){
org = org2;
}else {
org = org1;
}
String cemployeeid = "";
if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) {
cemployeeid = GcjJson.getNodeValue(str, "JSON.owner__r.id").toString();
cemployeeid = fxapi.getDataBYID("PersonnelObj", "_id", cemployeeid, "JSON.data.dataList[0].field_T1xid__c");
}
/* if (StringUtils.isBlank(cemployeeid)) {
sendFlag = true;
stringBuffer.append("销售员不存在\n");
}*/
String cdeptid = "";
if (GcjJson.getNodeValue(str, "JSON.owner_department_id") != null) {
String dept_id = GcjJson.getNodeValue(str, "JSON.owner_department_id").toString();
@ -146,6 +203,9 @@ public class materialreqbillXTController {
log.info("数据已存在-" + nameData);
XxlJobHelper.log("--数据已存在---" + nameData);
tbflag = true;
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
tbflag = false;
}
}
if (tbflag) {
continue;
@ -156,12 +216,13 @@ public class materialreqbillXTController {
JSONArray dataarr = new JSONArray();
JSONObject datajson = new JSONObject();
datajson.put("billno",nameData);
//datajson.put("org_number","zyierp");
datajson.put("org","ZHY");
datajson.put("bizorg","ZHY");
datajson.put("org",org);
datajson.put("bizorg",org);
datajson.put("biztime",sdf.format(GcjJson.getNodeValue(str, "JSON.application_date__c")));
datajson.put("applyuser","ID-000016");
datajson.put("applydept","004");
datajson.put("applyuser",cemployeeid);
datajson.put("applydept",cdeptid);
if(!"".equals(contractno2)){
datajson.put("contractno",contractno2);//contractno
}else {
@ -196,7 +257,7 @@ public class materialreqbillXTController {
//批号
groupstandardjson.put("lot",GcjJson.getNodeValue(stra, "JSON.batch_number__c"));
groupstandardjson.put("ecostcenter","ZHY");
groupstandardjson.put("ecostcenter",org);
//项目编码
groupstandardjson.put("project",GcjJson.getNodeValue(stra, "JSON.project_code__c"));
@ -263,18 +324,24 @@ public class materialreqbillXTController {
paramMap.put("erp_id__c", erpid);//数据ID
paramMap.put("sync_status__c", "option_sync_success__c");
paramMap.put("sync_info__c", "同步成功");
paramMap.put("erp_document_status__c", "submit");
fxapi.lock(false, dataId, "shipping_application__c");
//回写json
fxapi.upSynZDYFieldParam("", "shipping_application__c", dataId, paramMap);
//调用提交
this.doOperation(dataId,"submit");
}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);
paramMap.put("erp_document_status__c", "option_pending_action__c");
fxapi.lock(false, dataId, "shipping_application__c");
//回写json
fxapi.upSynZDYFieldParam("", "shipping_application__c", dataId, paramMap);
fxapi.lock(true, dataId, "shipping_application__c");
}
} catch (Exception e) {
sendFlag = true;
@ -282,8 +349,11 @@ public class materialreqbillXTController {
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("erp_document_status__c", "option_pending_action__c");
fxapi.lock(false, dataId, "shipping_application__c");
//回写json
fxapi.upSynZDYFieldParam("", "shipping_application__c", dataId, paramMap);
fxapi.lock(true, dataId, "shipping_application__c");
}
JSONObject sendData = new JSONObject();
@ -311,6 +381,7 @@ public class materialreqbillXTController {
}
public void doOperation(String crmId,String operation) throws Exception {
FXHTTP fxapi = new FXHTTP();
//操作类型submit提交audit审核撤销unsubmit删除:delete;反审核unaudit
String res_url = "http://192.168.31.158:8022/ierp/kapi/v2/f9w5/im/materialreqbill/doOperation";
JSONObject datajson = new JSONObject();
@ -333,13 +404,36 @@ public class materialreqbillXTController {
String crmid = successdata.getString("crmid");
String erpid = successdata.getString("pkId");
String billno = successdata.getString("billno");
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("erp_document_status__c", operation);//数据ID
paramMap.put("review_info__c", operation+"调用成功");
fxapi.lock(false, crmId, "shipping_application__c");
//回写json
fxapi.upSynZDYFieldParam("", "shipping_application__c", crmId, paramMap);
if("submit".equals(operation)){//审核成功操作完锁定状态
fxapi.lock(true, crmId, "shipping_application__c");
}
}else{
//响应的消息
String message = resjs.getString("message");
Map<String, Object> paramMap = new HashMap<String, Object>();
paramMap.put("erp_document_status__c", "option_pending_action__c");//数据ID
paramMap.put("review_info__c", message);
if("submit".equals(operation)){//审核失败解锁更新状态
fxapi.cancel( message,crmId, "shipping_application__c");//取消审批
//回写json
fxapi.upSynZDYFieldParam("", "shipping_application__c", crmId, paramMap);
}else {
//其他情况先解锁在更新
fxapi.lock(false, crmId, "shipping_application__c");
fxapi.upSynZDYFieldParam("", "shipping_application__c", crmId, paramMap);
}
}
}
}

View File

@ -51,23 +51,33 @@ public class priceapprovaController {
String apiName = "project_quote_quotation__c";
/* List<CrmFXApiParam> paramList = Arrays.asList(
List<CrmFXApiParam> paramList = Arrays.asList(
new CrmFXApiParam("GT", "create_time", "1748923200000"),
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
new CrmFXApiParam("IS", "erp_id__c", ""),
new CrmFXApiParam("EQ", "sync_status__c", "option_pending_sync__c"),
new CrmFXApiParam("EQ", "life_status", "normal")
);*/
);
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "BJD-2025-05-270002"));
// List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "BJD-2025-05-270002"));
JSONObject jsonject = fxapi.getSynNewDataObj(true, "项目报价询价", 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(true, "重新同步", 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);
@ -85,6 +95,9 @@ public class priceapprovaController {
log.info("数据已存在-" + nameData);
XxlJobHelper.log("--数据已存在---" + nameData);
tbflag = true;
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
tbflag = false;
}
}
if (tbflag) {
continue;
@ -97,7 +110,7 @@ public class priceapprovaController {
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.saveSendSYNDatapriceapprova(jsonObjectData);
@ -129,6 +142,8 @@ public class priceapprovaController {
String nameData = GcjJson.getNodeValue(str, "JSON.name") != null ? GcjJson.getNodeValue(str, "JSON.name").toString() : "";
String warranty = GcjJson.getNodeValue(str, "JSON.field_I3e77__c") != null ? GcjJson.getNodeValue(str, "JSON.field_I3e77__c").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 project_location = GcjJson.getNodeValue(str, "JSON.project_location__c") != null ? GcjJson.getNodeValue(str, "JSON.project_location__c").toString() : "";
String crspdencestd = GcjJson.getNodeValue(str, "JSON.field_h1HJx__c") != null ? GcjJson.getNodeValue(str, "JSON.field_h1HJx__c").toString() : "";
@ -139,6 +154,7 @@ public class priceapprovaController {
JSONArray specificationfile = (JSONArray) GcjJson.getNodeValue(str, "JSON.technical_specification__c");
String org = GcjJson.getNodeValue(str, "JSON.erp_organization__c") != null ? GcjJson.getNodeValue(str, "JSON.erp_organization__c").toString() : "";
String cemployeeid = "";
@ -146,10 +162,7 @@ public class priceapprovaController {
cemployeeid = GcjJson.getNodeValue(str, "JSON.owner__r.id").toString();
cemployeeid = fxapi.getDataBYID("PersonnelObj", "_id", cemployeeid, "JSON.data.dataList[0].field_T1xid__c");
}
/* if (StringUtils.isBlank(cemployeeid)) {
sendFlag = true;
stringBuffer.append("销售员不存在\n");
}*/
String cdeptid = "";
if (GcjJson.getNodeValue(str, "JSON.owner_department_id") != null) {
String dept_id = GcjJson.getNodeValue(str, "JSON.owner_department_id").toString();
@ -162,6 +175,9 @@ public class priceapprovaController {
log.info("数据已存在-" + nameData);
XxlJobHelper.log("--数据已存在---" + nameData);
tbflag = true;
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
tbflag = false;
}
}
if (tbflag) {
continue;
@ -184,7 +200,7 @@ public class priceapprovaController {
datajson.put("billcretype","3");
datajson.put("currency_number","CNY");
datajson.put("pricelisttypeid_number","JMLX_SYS_CG");
datajson.put("org_number","ZHY");
datajson.put("org_number",org);
datajson.put("f9w5_warranty",warranty);
datajson.put("f9w5_projectlocation",project_location);
datajson.put("f9w5_crspdencestd",crspdencestd);
@ -218,8 +234,8 @@ public class priceapprovaController {
//产品编码
groupstandardjson.put("material_number",GcjJson.getNodeValue(stra, "JSON.product_code_text__c"));
groupstandardjson.put("user_operatornumber","ID-000016");
groupstandardjson.put("dept_number","004");
groupstandardjson.put("user_operatornumber",cemployeeid);
groupstandardjson.put("dept_number",cdeptid);
//供应商编码
groupstandardjson.put("supplierid_number",GcjJson.getNodeValue(stra, "JSON.supplier_code__c"));
// groupstandardjson.put("supplierid_number","Sup-000001");

View File

@ -43,23 +43,36 @@ public class returnapplicationController {
String apiName = "return_application__c";
/* List<CrmFXApiParam> paramList = Arrays.asList(
List<CrmFXApiParam> paramList = Arrays.asList(
new CrmFXApiParam("GT", "create_time", "1748923200000"),
new CrmFXApiParam("GT", "last_modified_time", System.currentTimeMillis() - (1000 * 60 * 60 * 24)),
new CrmFXApiParam("IS", "erp_id__c", ""),
new CrmFXApiParam("EQ", "sync_status__c", "option_pending_sync__c"),
new CrmFXApiParam("EQ", "life_status", "normal")
);*/
);
List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "THSQ20250528-0005"));
// List<CrmFXApiParam> paramList = Arrays.asList(new CrmFXApiParam("EQ", "name", "THSQ20250528-0005"));
JSONObject jsonject = fxapi.getSynNewDataObj(true, "退货申请", 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(true, "退货申请重新同步", 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);
@ -77,6 +90,9 @@ public class returnapplicationController {
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 +105,7 @@ public class returnapplicationController {
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.saveSendSYNDatamaterialreqbill(jsonObjectData);
@ -127,15 +143,26 @@ public class returnapplicationController {
String contractno2 = GcjJson.getNodeValue(str, "JSON.pre_signed_contract_number__c") != null ? GcjJson.getNodeValue(str, "JSON.pre_signed_contract_number__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 org1 = GcjJson.getNodeValue(str, "JSON.erp_organization_pre_contr__c__v") != null ? GcjJson.getNodeValue(str, "JSON.erp_organization_pre_contr__c__v").toString() : "";
String org2 = GcjJson.getNodeValue(str, "JSON.erp_organization_sales_con__c__v") != null ? GcjJson.getNodeValue(str, "JSON.erp_organization_sales_con__c__v").toString() : "";
String org = "";
if(!"".equals(org2)){
org = org2;
}else {
org = org1;
}
String cemployeeid = "";
if (GcjJson.getNodeValue(str, "JSON.owner__r.id") != null) {
cemployeeid = GcjJson.getNodeValue(str, "JSON.owner__r.id").toString();
cemployeeid = fxapi.getDataBYID("PersonnelObj", "_id", cemployeeid, "JSON.data.dataList[0].field_T1xid__c");
}
/* if (StringUtils.isBlank(cemployeeid)) {
sendFlag = true;
stringBuffer.append("销售员不存在\n");
}*/
String cdeptid = "";
if (GcjJson.getNodeValue(str, "JSON.owner_department_id") != null) {
String dept_id = GcjJson.getNodeValue(str, "JSON.owner_department_id").toString();
@ -148,6 +175,9 @@ public class returnapplicationController {
log.info("数据已存在-" + nameData);
XxlJobHelper.log("--数据已存在---" + nameData);
tbflag = true;
if("option_resync__c".equals(status) && !endtime.equals(dataSyn.getString("mark"))){
tbflag = false;
}
}
if (tbflag) {
continue;
@ -169,10 +199,12 @@ public class returnapplicationController {
datajson.put("applydept","004");
datajson.put("applyuser","ID-000016");
datajson.put("bizorg","ZHY");
datajson.put("org","ZHY");
datajson.put("applydept",cdeptid);
datajson.put("applyuser",cemployeeid);
datajson.put("bizorg",org);
datajson.put("org",org);
datajson.put("crmid",dataId);
datajson.put("erpid",erpid);
@ -203,7 +235,7 @@ public class returnapplicationController {
groupstandardjson.put("location",GcjJson.getNodeValue(stra, "JSON.warehouse_position__c"));
//项目编码
groupstandardjson.put("project",GcjJson.getNodeValue(stra, "JSON.project_code__c"));
groupstandardjson.put("ecostcenter","ZHY");
groupstandardjson.put("ecostcenter",org);
groupstandardjson.put("erpEntryId",GcjJson.getNodeValue(stra, "JSON.erp_outbound_line_id__c"));

View File

@ -948,6 +948,29 @@ public class FXHTTP {
APIUtil.FXApiObj(url, Xkjson);
}
public void cancel(String message, String id, String apiName) {
XKTokenAccess xktonken = new XKTokenAccess();
String Xkjson = "{\n" +
" \"corpId\": \"" + FXTIC.CORPID + "\",\n" +
" \"corpAccessToken\": \"" + xktonken.getCorpAccessToken().getCorpAccessToken() + "\",\n" +
" \"currentOpenUserId\": \"" + FXTIC.CURRENTOPENUSERID + "\",\n" +
" \"data\":{\n" +
" \n" +
" \"entityId\":\"" + apiName + "\",\n" +
" \"objectId\":\"" + id + "\",\n" +
" \"detailObjStrategy\":\"" + message + "\" \n" +
" \n" +
" }\n" +
"}";
String url = "https://open.fxiaoke.com/cgi/crm/v2/special/approval/instance/cancel";
//请求接口
APIUtil.FXApiObj(url, Xkjson);
}
/**
* 修改同步字段-成功
*