优化后的程序

This commit is contained in:
itzhang 2025-06-04 16:30:53 +08:00
parent fc16d01c27
commit aa352be359
11 changed files with 318 additions and 65 deletions

View File

@ -286,7 +286,7 @@ public class BankInfoController {
Map deptReq = new HashMap<>(); Map deptReq = new HashMap<>();
deptReq.put("data", data); deptReq.put("data", data);
deptReq.put("pageNo", 1); deptReq.put("pageNo", 1);
deptReq.put("pageSize", 1); deptReq.put("pageSize", 1999);
//开始获取金蝶token //开始获取金蝶token
String accessToken = new KDTokenController().getKDAccessTokenTest(); String accessToken = new KDTokenController().getKDAccessTokenTest();

View File

@ -50,7 +50,7 @@ public class DesignController {
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"}; String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
JSONObject getDesignDoc = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getDesignDoc = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("IS", "erp_id__c", Arrays.asList("")), //new Filter("IS", "erp_id__c", Arrays.asList("")),
new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)), new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
//new Filter("EQ", "name", Arrays.asList("SJWJ250528-0022")), //new Filter("EQ", "name", Arrays.asList("SJWJ250528-0022")),
new Filter("GT", "create_time", Arrays.asList("1748923200000")), new Filter("GT", "create_time", Arrays.asList("1748923200000")),
@ -84,7 +84,8 @@ public class DesignController {
String designDocName = designDocData.getString("name"); String designDocName = designDocData.getString("name");
//当前单据的创建时间 //当前单据的创建时间
String createTime = designDocData.getString("create_time"); //String createTime = designDocData.getString("create_time");
String createTime = designDocData.getString("last_modified_time");
//开始查询该单据是否已经集成过 //开始查询该单据是否已经集成过
JSONObject isLog = new JSONObject(); JSONObject isLog = new JSONObject();
@ -106,7 +107,19 @@ public class DesignController {
//开始封装传输至ERP中的请求 //开始封装传输至ERP中的请求
Map erpDesignMap = new HashMap<>(); Map erpDesignMap = new HashMap<>();
erpDesignMap.put("billno", designDocName);//设计文件编号 erpDesignMap.put("billno", designDocName);//设计文件编号
erpDesignMap.put("org_number", "ZHY");//组织编码
//判断组织编码
String orgCode = "";
if (designDocData.getString("erp_organization_sales_con__c__v") != null && !"".equals(designDocData.getString("erp_organization_sales_con__c__v"))) {
orgCode = designDocData.getString("erp_organization_sales_con__c__v");
} else if (designDocData.getString("erp_organization_pre_contr__c__v") != null && !"".equals(designDocData.getString("erp_organization_pre_contr__c__v"))) {
orgCode = designDocData.getString("erp_organization_pre_contr__c__v");
} else {
log.info("当前单据没有组织编码,将不再向下执行");
continue;
}
erpDesignMap.put("org_number", orgCode);//组织编码
erpDesignMap.put("billtype_number", "pm_requirapplybill_BT_sjwjxf");//单据类型 erpDesignMap.put("billtype_number", "pm_requirapplybill_BT_sjwjxf");//单据类型
erpDesignMap.put("biztype_name", "物料类采购");//业务类型 erpDesignMap.put("biztype_name", "物料类采购");//业务类型
@ -139,15 +152,18 @@ public class DesignController {
deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : ""; deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : "";
} }
erpDesignMap.put("dept_number", "004");//部门编码 //erpDesignMap.put("dept_number", "004");//部门编码
erpDesignMap.put("dept_number", deptCode);//部门编码
//获取负责人编码 //获取负责人编码
String ownerCode = ""; String ownerCode = "";
List ownerIdList = designDocData.getJSONArray("owner"); List ownerIdList = designDocData.getJSONArray("owner");
System.out.println(ownerIdList);
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", ownerIdList) new Filter("EQ", "user_id", ownerIdList)
), "PersonnelObj"); ), "PersonnelObj");
JSONObject ownerRes = new JSONObject(); JSONObject ownerRes = new JSONObject();
@ -158,13 +174,16 @@ public class DesignController {
e.printStackTrace(); e.printStackTrace();
} }
System.out.println("查询负责人结果为:" + ownerRes);
if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0); JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} }
erpDesignMap.put("bizuser_number", "ID-000011");//人员编码 //erpDesignMap.put("bizuser_number", "ID-000011");//人员编码
erpDesignMap.put("bizorg_number", "ZHY");//采购组织 erpDesignMap.put("bizuser_number", ownerCode);//人员编码
erpDesignMap.put("bizorg_number", orgCode);//采购组织
erpDesignMap.put("project_number", "SJ20250424-0033");//todo 项目号商机 erpDesignMap.put("project_number", "SJ20250424-0033");//todo 项目号商机
erpDesignMap.put("contractno", designDocData.getString("sales_contract_number__c__r"));//合同号 erpDesignMap.put("contractno", designDocData.getString("sales_contract_number__c__r"));//合同号
erpDesignMap.put("crmid", designDocId);//crm唯一id erpDesignMap.put("crmid", designDocId);//crm唯一id
@ -415,7 +434,19 @@ public class DesignController {
Map erpDesignMap = new HashMap<>(); Map erpDesignMap = new HashMap<>();
erpDesignMap.put("id", erpId);//erpId erpDesignMap.put("id", erpId);//erpId
erpDesignMap.put("billno", designDocName);//设计文件编号 erpDesignMap.put("billno", designDocName);//设计文件编号
erpDesignMap.put("org_number", "ZHY");//组织编码
//判断组织编码
String orgCode = "";
if (designDocData.getString("erp_organization_sales_con__c__v") != null && !"".equals(designDocData.getString("erp_organization_sales_con__c__v"))) {
orgCode = designDocData.getString("erp_organization_sales_con__c__v");
} else if (designDocData.getString("erp_organization_pre_contr__c__v") != null && !"".equals(designDocData.getString("erp_organization_pre_contr__c__v"))) {
orgCode = designDocData.getString("erp_organization_pre_contr__c__v");
} else {
log.info("当前单据没有组织编码,将不再向下执行");
continue;
}
erpDesignMap.put("org_number", orgCode);//组织编码
erpDesignMap.put("billtype_number", "pm_requirapplybill_STD_BT_S");//单据类型 erpDesignMap.put("billtype_number", "pm_requirapplybill_STD_BT_S");//单据类型
erpDesignMap.put("biztype_name", "物料类采购");//业务类型 erpDesignMap.put("biztype_name", "物料类采购");//业务类型
@ -448,7 +479,8 @@ public class DesignController {
deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : ""; deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : "";
} }
erpDesignMap.put("dept_number", "ZHY");//部门编码 //erpDesignMap.put("dept_number", "ZHY");//部门编码
erpDesignMap.put("dept_number", deptCode);//部门编码
//获取负责人编码 //获取负责人编码
String ownerCode = ""; String ownerCode = "";
@ -467,13 +499,16 @@ public class DesignController {
e.printStackTrace(); e.printStackTrace();
} }
System.out.println("测试负责人"+ownerRes);
if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0); JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} }
erpDesignMap.put("bizuser_number", "ID-000011");//人员编码 //erpDesignMap.put("bizuser_number", "ID-000011");//人员编码
erpDesignMap.put("bizorg_number", "ZHY");//采购组织 erpDesignMap.put("bizuser_number", ownerCode);//人员编码
erpDesignMap.put("bizorg_number", orgCode);//采购组织
erpDesignMap.put("project_number", designDocData.getString("project_id__c"));//todo 项目号商机 erpDesignMap.put("project_number", designDocData.getString("project_id__c"));//todo 项目号商机
erpDesignMap.put("contractno", designDocData.getString("sales_contract_number__c__r"));//合同号 erpDesignMap.put("contractno", designDocData.getString("sales_contract_number__c__r"));//合同号
erpDesignMap.put("crmid", designDocId);//crm唯一id erpDesignMap.put("crmid", designDocId);//crm唯一id

View File

@ -41,7 +41,7 @@ public class FrameContractController {
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"}; String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
JSONObject frameContract = crmRequestUtil.getCRMList(Arrays.asList( JSONObject frameContract = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("IS", "erp_id__c", Arrays.asList("")), //new Filter("IS", "erp_id__c", Arrays.asList("")),
new Filter("EQ", "life_status", Arrays.asList("normal")), new Filter("EQ", "life_status", Arrays.asList("normal")),
new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)), new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
//new Filter("EQ", "name", Arrays.asList("KJ2505200005")), //new Filter("EQ", "name", Arrays.asList("KJ2505200005")),
@ -73,7 +73,8 @@ public class FrameContractController {
//合同名称 //合同名称
String frameContractName = frameContractData.getString("name"); String frameContractName = frameContractData.getString("name");
//创建时间 //创建时间
String createTime = frameContractData.getString("create_time"); //String createTime = frameContractData.getString("create_time");
String createTime = frameContractData.getString("last_modified_time");
//开始查询是否已经集成过该合同 //开始查询是否已经集成过该合同
JSONObject isLogRes = new JSONObject(); JSONObject isLogRes = new JSONObject();
@ -122,11 +123,11 @@ public class FrameContractController {
frameContractReqMap.put("project_number", projectCode);//todo 项目号商机编号 frameContractReqMap.put("project_number", projectCode);//todo 项目号商机编号
frameContractReqMap.put("billtype_number", "conm_salcontract_BT_QD");//erp单据类型 frameContractReqMap.put("billtype_number", "conm_salcontract_BT_QD");//erp单据类型
frameContractReqMap.put("zhybilltype", frameContractData.getString("contract_type__c") != null ? frameContractData.getString("contract_type__c") : "");//合同类型 frameContractReqMap.put("zhybilltype", frameContractData.getString("contract_type__c") != null ? frameContractData.getString("contract_type__c") : "");//合同类型
frameContractReqMap.put("billname", frameContractData.getString("contract_name__c") != null ? frameContractData.getString("contract_name__c") : "");//合同名称 frameContractReqMap.put("billname", frameContractData.getString("project_name__c") != null ? frameContractData.getString("project_name__c") : "");//合同名称
frameContractReqMap.put("type_number", "XSHT-QD03");//合同类型 frameContractReqMap.put("type_number", "XSHT-QD03");//合同类型
frameContractReqMap.put("contparties_number", "BU-0002");//合同主体 frameContractReqMap.put("contparties_number", frameContractData.getString("our_company_name__c") != null ? frameContractData.getString("our_company_name__c") : "");//合同主体
frameContractReqMap.put("createorg_number", "zyierp");//销售组织编码 frameContractReqMap.put("createorg_number", frameContractData.getString("our_company_name__c") != null ? frameContractData.getString("our_company_name__c") : "");//销售组织编码
frameContractReqMap.put("org_number", "zyierp");//销售组织编码 frameContractReqMap.put("org_number", frameContractData.getString("our_company_name__c") != null ? frameContractData.getString("our_company_name__c") : "");//销售组织编码
frameContractReqMap.put("currency_number", "CNY");//本位币.货币代码 frameContractReqMap.put("currency_number", "CNY");//本位币.货币代码
frameContractReqMap.put("settlecurrency_number", "CNY");//结算币别.货币代码 frameContractReqMap.put("settlecurrency_number", "CNY");//结算币别.货币代码
@ -170,7 +171,7 @@ public class FrameContractController {
List ownerIdList = frameContractData.getJSONArray("owner"); List ownerIdList = frameContractData.getJSONArray("owner");
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", ownerIdList) new Filter("EQ", "user_id", ownerIdList)
), "PersonnelObj"); ), "PersonnelObj");
JSONObject ownerRes = new JSONObject(); JSONObject ownerRes = new JSONObject();
@ -186,7 +187,8 @@ public class FrameContractController {
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} }
frameContractReqMap.put("operator", "ZHY12025");//todo 负责人 //frameContractReqMap.put("operator", "ZHY12025");//todo 负责人
frameContractReqMap.put("operator", ownerCode);
//合同单位 //合同单位
String customerId = frameContractData.getString("contract_unit_name__c"); String customerId = frameContractData.getString("contract_unit_name__c");
@ -300,6 +302,11 @@ public class FrameContractController {
} }
//开始回写 //开始回写
//解锁
if ("1".equals(frameContractData.getString("lock_status"))) {
log.info("解锁");
crmRequestUtil.unlockCRM(frameContractId, "framework_contract__c");
}
JSONObject backReq = crmRequestUtil.updateCRM(backReqMap); JSONObject backReq = crmRequestUtil.updateCRM(backReqMap);
JSONObject backRes = new JSONObject(); JSONObject backRes = new JSONObject();

View File

@ -52,7 +52,7 @@ public class GoodsPlanController {
//要货计划请求 //要货计划请求
JSONObject getGoodsPlan = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getGoodsPlan = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("IS", "erp_id__c", Arrays.asList("")), //new Filter("IS", "erp_id__c", Arrays.asList("")),
new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)), new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
new Filter("GT", "create_time", Arrays.asList("1748923200000")), new Filter("GT", "create_time", Arrays.asList("1748923200000")),
//new Filter("EQ", "name", Arrays.asList("YHJH20250508-0002")), //new Filter("EQ", "name", Arrays.asList("YHJH20250508-0002")),
@ -88,7 +88,8 @@ public class GoodsPlanController {
String goodsPlanName = goodsPlanData.getString("name"); String goodsPlanName = goodsPlanData.getString("name");
//获取当前单据的创建时间 //获取当前单据的创建时间
String createTime = goodsPlanData.getString("create_time"); //String createTime = goodsPlanData.getString("create_time");
String createTime = goodsPlanData.getString("last_modified_time");
//开始查询该单据是否已经集成过 //开始查询该单据是否已经集成过
JSONObject logRes = new JSONObject(); JSONObject logRes = new JSONObject();
@ -144,7 +145,8 @@ public class GoodsPlanController {
deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : ""; deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : "";
} }
erpGoodsPlanReq.put("dept", "zyierp");//todo 归属部门 //erpGoodsPlanReq.put("dept", "zyierp");//todo 归属部门
erpGoodsPlanReq.put("dept", deptCode);//todo 归属部门
//获取负责人编码 //获取负责人编码
String ownerCode = ""; String ownerCode = "";
@ -168,7 +170,8 @@ public class GoodsPlanController {
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} }
erpGoodsPlanReq.put("operator", "ID-000011");//todo 负责人 //erpGoodsPlanReq.put("operator", "ID-000011");//todo 负责人
erpGoodsPlanReq.put("operator", ownerCode);//todo 负责人
//根据要货计划查询要货计划明细 //根据要货计划查询要货计划明细
JSONObject getGoodsPlanDetail = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getGoodsPlanDetail = crmRequestUtil.getCRMList(Arrays.asList(
@ -204,7 +207,7 @@ public class GoodsPlanController {
Map erpGoodsPlanDetailReq = new HashMap<>(); Map erpGoodsPlanDetailReq = new HashMap<>();
erpGoodsPlanDetailReq.put("f9w5_crmentryid", goodsPlanDetailData.getString("_id"));//crm明细id erpGoodsPlanDetailReq.put("f9w5_crmentryid", goodsPlanDetailData.getString("_id"));//crm明细id
erpGoodsPlanDetailReq.put("material_number", goodsPlanDetailData.getString("material_id__c__r"));//物料编号 erpGoodsPlanDetailReq.put("material_number", goodsPlanDetailData.getString("material_id__c__r"));//物料编号
erpGoodsPlanDetailReq.put("entryorg_number", "zyierp");//组织编码 erpGoodsPlanDetailReq.put("entryorg_number", "zyierp");//todo 组织编码
erpGoodsPlanDetailReq.put("qty", goodsPlanDetailData.getBigDecimal("quantity__c") != null ? goodsPlanDetailData.getBigDecimal("quantity__c") : 0);//数量 erpGoodsPlanDetailReq.put("qty", goodsPlanDetailData.getBigDecimal("quantity__c") != null ? goodsPlanDetailData.getBigDecimal("quantity__c") : 0);//数量
//erpGoodsPlanDetailReq.put("lot_number", goodsPlanDetailData.getString("batch_number__c") != null ? goodsPlanDetailData.getString("batch_number__c") : "");//批号 //erpGoodsPlanDetailReq.put("lot_number", goodsPlanDetailData.getString("batch_number__c") != null ? goodsPlanDetailData.getString("batch_number__c") : "");//批号
erpGoodsPlanDetailReq.put("entrycomment", goodsPlanDetailData.getString("remark__c") != null ? goodsPlanDetailData.getString("remark__c") : "");//备注 erpGoodsPlanDetailReq.put("entrycomment", goodsPlanDetailData.getString("remark__c") != null ? goodsPlanDetailData.getString("remark__c") : "");//备注
@ -465,7 +468,7 @@ public class GoodsPlanController {
List ownerIdList = goodsPlanData.getJSONArray("owner"); List ownerIdList = goodsPlanData.getJSONArray("owner");
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", ownerIdList) new Filter("EQ", "user_id", ownerIdList)
), "PersonnelObj"); ), "PersonnelObj");
JSONObject ownerRes = new JSONObject(); JSONObject ownerRes = new JSONObject();
@ -481,7 +484,7 @@ public class GoodsPlanController {
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} }
erpGoodsPlanReq.put("operator", "ID-000011");//todo 负责人 erpGoodsPlanReq.put("operator", ownerCode);//todo 负责人
//根据要货计划查询要货计划明细 //根据要货计划查询要货计划明细
JSONObject getGoodsPlanDetail = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getGoodsPlanDetail = crmRequestUtil.getCRMList(Arrays.asList(

View File

@ -43,7 +43,7 @@ public class InvoiceController {
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"}; String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
JSONObject getInvoice = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getInvoice = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("IS", "erp_id__c", Arrays.asList("")), //new Filter("IS", "erp_id__c", Arrays.asList("")),
new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)), new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
new Filter("EQ", "life_status", Arrays.asList("normal")), new Filter("EQ", "life_status", Arrays.asList("normal")),
//new Filter("EQ", "name", Arrays.asList("20250527-000010")) //new Filter("EQ", "name", Arrays.asList("20250527-000010"))
@ -78,7 +78,8 @@ public class InvoiceController {
//发票名称 //发票名称
String invoiceName = invoiceData.getString("name"); String invoiceName = invoiceData.getString("name");
//开票创建时间 //开票创建时间
String createTime = invoiceData.getString("create_time"); //String createTime = invoiceData.getString("create_time");
String createTime = invoiceData.getString("last_modified_time");
//开始判断数据库中是否存在数据 //开始判断数据库中是否存在数据
JSONObject isLogRes = new JSONObject(); JSONObject isLogRes = new JSONObject();
@ -101,9 +102,64 @@ public class InvoiceController {
String invoiceType = invoiceData.getString("record_type") != null ? invoiceData.getString("record_type") : ""; String invoiceType = invoiceData.getString("record_type") != null ? invoiceData.getString("record_type") : "";
invoiceMap.put("billsourcetype", "blue"); invoiceMap.put("billsourcetype", "blue");
invoiceMap.put("f9w5_crmbillno", invoiceName);//单据编号 invoiceMap.put("crmbillno", invoiceName);//单据编号
invoiceMap.put("crmid", invoiceData.getString("sales1_contract__c"));//销售合同CRMID invoiceMap.put("crmid", invoiceData.getString("sales1_contract__c"));//销售合同CRMID
//是否国网
String isGWStr = invoiceData.getString("is_state_grid__c") != null ? invoiceData.getString("is_state_grid__c") : "";
Boolean isGW = null;
switch (isGWStr) {
case "ubaL12a0M":
isGW = true;
break;
case "tiVjNIMLU":
isGW = false;
break;
default:
isGW = null;
break;
}
invoiceMap.put("isgw", isGW);//是否国网
//是否设计建筑服务
String isJZStr = invoiceData.getString("is_involved_construction_s__c") != null ? invoiceData.getString("is_involved_construction_s__c") : "";
Boolean isJZ = null;
switch (isJZStr) {
case "option_is_yes__c":
isJZ = true;
break;
case "option_is_no__c":
isJZ = false;
break;
default:
isJZ = null;
break;
}
invoiceMap.put("isjzfw", isJZ);//是否设计建筑服务
//是否跨地市
String isCityStr = invoiceData.getString("is_cross_city__c") != null ? invoiceData.getString("is_cross_city__c") : "";
Boolean isCity = null;
switch (isCityStr) {
case "option_is_yes__c":
isCity = true;
break;
case "option_is_no__c":
isCity = false;
break;
default:
isCity = null;
break;
}
invoiceMap.put("iskds", isCity);//是否跨地市
invoiceMap.put("jzaddr", invoiceData.getString("field_b11hY__c") != null ? invoiceData.getString("field_b11hY__c") : "");//建筑服务发生地
invoiceMap.put("jzpjname", invoiceData.getString("field_6cxEV__c") != null ? invoiceData.getString("field_6cxEV__c") : "");//建筑服务项目名称
invoiceMap.put("crminvoiceid", invoiceId);//crm开票申请ID invoiceMap.put("crminvoiceid", invoiceId);//crm开票申请ID
//开票类型 //开票类型
@ -184,8 +240,8 @@ public class InvoiceController {
invoiceMap.put("issoftworks", isHasSoftBool); invoiceMap.put("issoftworks", isHasSoftBool);
//todo 软著版本编码 //软著版本编码
invoiceMap.put("softworks_number", "21321321"); invoiceMap.put("softworks_number", invoiceData.getString("positive_number__c") != null ? invoiceData.getString("positive_number__c") : "");
//开始查询明细 //开始查询明细
JSONObject getInvoiceDetail = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getInvoiceDetail = crmRequestUtil.getCRMList(Arrays.asList(
@ -339,8 +395,14 @@ public class InvoiceController {
public void syncRedInvoice() { public void syncRedInvoice() {
CrmRequestUtil crmRequestUtil = new CrmRequestUtil(); CrmRequestUtil crmRequestUtil = new CrmRequestUtil();
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
JSONObject getRedInvoice = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getRedInvoice = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "name", Arrays.asList("HCFP2505-0003")) new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
//new Filter("IS", "field_UB1hE__c", Arrays.asList("")),
//new Filter("EQ", "name", Arrays.asList("HCFP2505-0003")),
new Filter("GT", "create_time", Arrays.asList("1748923200000")),
new Filter("EQ", "life_status", Arrays.asList("normal"))
), "custom_object_example1__c"); ), "custom_object_example1__c");
JSONObject redInvoiceRes = new JSONObject(); JSONObject redInvoiceRes = new JSONObject();
@ -388,7 +450,7 @@ public class InvoiceController {
Map invoiceMap = new HashMap(); Map invoiceMap = new HashMap();
invoiceMap.put("billsourcetype", "red");//单据类型 invoiceMap.put("billsourcetype", "red");//单据类型
invoiceMap.put("f9w5_crmbillno", redInvoiceName);//单据编号 invoiceMap.put("crmbillno", redInvoiceName);//单据编号
invoiceMap.put("crmid", redInvoiceData.getString("blue_invoice_application__c"));//红冲开票CRMID invoiceMap.put("crmid", redInvoiceData.getString("blue_invoice_application__c"));//红冲开票CRMID
invoiceMap.put("crminvoiceid", redInvoiceId);//CRM红冲开票申请ID invoiceMap.put("crminvoiceid", redInvoiceId);//CRM红冲开票申请ID
invoiceMap.put("invoicetype", redInvoiceData.getString("invoice_type__c") != null ? redInvoiceData.getString("invoice_type__c") : "");//开票类型 invoiceMap.put("invoicetype", redInvoiceData.getString("invoice_type__c") != null ? redInvoiceData.getString("invoice_type__c") : "");//开票类型
@ -442,7 +504,7 @@ public class InvoiceController {
} }
invoiceMap.put("issoftworks", isSoftWorksFlag);//是否含软 invoiceMap.put("issoftworks", isSoftWorksFlag);//是否含软
invoiceMap.put("softworks_number", "ooooaaaa");//软著版本编码 invoiceMap.put("softworks_number", redInvoiceData.getString("registration_number__c") != null ? redInvoiceData.getString("registration_number__c") : "");//软著版本编码
invoiceMap.put("blueinvoiceno", redInvoiceData.getString("original_invoice_number__c") != null ? redInvoiceData.getString("original_invoice_number__c") : "");//待冲蓝字发票号码 invoiceMap.put("blueinvoiceno", redInvoiceData.getString("original_invoice_number__c") != null ? redInvoiceData.getString("original_invoice_number__c") : "");//待冲蓝字发票号码
invoiceMap.put("redreason", redInvoiceData.getString("redemption_reason__c") != null ? redInvoiceData.getString("redemption_reason__c") : "");//冲红原因 invoiceMap.put("redreason", redInvoiceData.getString("redemption_reason__c") != null ? redInvoiceData.getString("redemption_reason__c") : "");//冲红原因

View File

@ -51,7 +51,7 @@ public class PreContractController {
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"}; String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
JSONObject preContractReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject preContractReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("IS", "erp_id__c", Arrays.asList("")), //new Filter("IS", "erp_id__c", Arrays.asList("")),
new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)), new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
new Filter("GT", "create_time", Arrays.asList("1748923200000")), new Filter("GT", "create_time", Arrays.asList("1748923200000")),
//new Filter("EQ", "name", Arrays.asList("YQ2505220005")), //new Filter("EQ", "name", Arrays.asList("YQ2505220005")),
@ -79,7 +79,8 @@ public class PreContractController {
System.out.println("当前正在处理的数据为:" + preContractData); System.out.println("当前正在处理的数据为:" + preContractData);
String preContractId = preContractData.getString("_id"); String preContractId = preContractData.getString("_id");
String createTime = preContractData.getString("create_time"); //String createTime = preContractData.getString("create_time");
String createTime = preContractData.getString("last_modified_time");
//根据唯一id和创建时间查询是否已经执行当前数据 //根据唯一id和创建时间查询是否已经执行当前数据
JSONObject preContractIsExist = new JSONObject(); JSONObject preContractIsExist = new JSONObject();
@ -112,9 +113,9 @@ public class PreContractController {
erpContractReq.put("billtype_number", "conm_salcontract_BT_YQ");//单据类型 erpContractReq.put("billtype_number", "conm_salcontract_BT_YQ");//单据类型
erpContractReq.put("billname", preContractData.getString("project_name__c") != null ? preContractData.getString("project_name__c") : "预签合同");//合同名称 erpContractReq.put("billname", preContractData.getString("project_name__c") != null ? preContractData.getString("project_name__c") : "预签合同");//合同名称
erpContractReq.put("type_number", "XSHT-YQ01");//合同类型 erpContractReq.put("type_number", "XSHT-YQ01");//合同类型
erpContractReq.put("contparties_number", "ZHY");//合同主体 erpContractReq.put("contparties_number", preContractData.getString("our_company_name__c") != null ? preContractData.getString("our_company_name__c") : "");//合同主体
erpContractReq.put("createorg_number", "ZHY");//销售组织编码 erpContractReq.put("createorg_number", preContractData.getString("our_company_name__c") != null ? preContractData.getString("our_company_name__c") : "");//销售组织编码
erpContractReq.put("org_number", "ZHY");//销售组织编码 erpContractReq.put("org_number", preContractData.getString("our_company_name__c") != null ? preContractData.getString("our_company_name__c") : "");//销售组织编码
erpContractReq.put("currency_number", "CNY");//本位币.货币代码 erpContractReq.put("currency_number", "CNY");//本位币.货币代码
erpContractReq.put("settlecurrency_number", "CNY");//结算币别.货币代码 erpContractReq.put("settlecurrency_number", "CNY");//结算币别.货币代码
erpContractReq.put("biztime", date);//签订日期,单据日期 erpContractReq.put("biztime", date);//签订日期,单据日期
@ -147,8 +148,10 @@ public class PreContractController {
deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : ""; deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : "";
} }
erpContractReq.put("dept", "ZHY");//归属部门 //erpContractReq.put("dept", "ZHY");//归属部门
erpContractReq.put("dept_number", "004");//归属部门 erpContractReq.put("dept", deptCode);//归属部门
//erpContractReq.put("dept_number", "004");//归属部门
erpContractReq.put("dept_number", deptCode);//归属部门
//获取负责人编码 //获取负责人编码
String ownerCode = ""; String ownerCode = "";
@ -156,7 +159,7 @@ public class PreContractController {
List ownerIdList = preContractData.getJSONArray("owner"); List ownerIdList = preContractData.getJSONArray("owner");
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", ownerIdList) new Filter("EQ", "user_id", ownerIdList)
), "PersonnelObj"); ), "PersonnelObj");
JSONObject ownerRes = new JSONObject(); JSONObject ownerRes = new JSONObject();
@ -172,7 +175,8 @@ public class PreContractController {
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} }
erpContractReq.put("operator", "ID-000016");//todo 负责人 //erpContractReq.put("operator", "ID-000016");//todo 负责人
erpContractReq.put("operator", ownerCode);//负责人
//合同单位 //合同单位
String customerId = preContractData.getString("contract_unit_name__c"); String customerId = preContractData.getString("contract_unit_name__c");
@ -280,7 +284,7 @@ public class PreContractController {
//开始审核 //开始审核
KingDeeUtils kingDeeUtils = new KingDeeUtils(); KingDeeUtils kingDeeUtils = new KingDeeUtils();
kingDeeUtils.audit(contractRes.getJSONObject("data").getJSONArray("result").getJSONObject(0).getString("id"), "conm_salcontract_BT_YQ"); kingDeeUtils.audit(contractRes.getJSONObject("data").getJSONArray("result").getJSONObject(0).getString("id"), "conm_salcontract");
} else { } else {
//同步失败 //同步失败
logMap.put("log_status", "1"); logMap.put("log_status", "1");

View File

@ -46,7 +46,7 @@ public class QualityBackController {
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"}; String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
JSONObject getQualityBack = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getQualityBack = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("IS", "erp_id__c", Arrays.asList("")), //new Filter("IS", "erp_id__c", Arrays.asList("")),
new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)), new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
new Filter("EQ", "life_status", Arrays.asList("normal")), new Filter("EQ", "life_status", Arrays.asList("normal")),
//new Filter("EQ", "name", Arrays.asList("ZLXXFK202505270002")), //new Filter("EQ", "name", Arrays.asList("ZLXXFK202505270002")),
@ -79,7 +79,8 @@ public class QualityBackController {
//反馈单单号 //反馈单单号
String qualityName = qualityBackData.getString("name"); String qualityName = qualityBackData.getString("name");
//反馈单创建时间 //反馈单创建时间
String createTime = qualityBackData.getString("create_time"); //String createTime = qualityBackData.getString("create_time");
String createTime = qualityBackData.getString("last_modified_time");
//开始查询当前单据是否已经集成过 //开始查询当前单据是否已经集成过
JSONObject isLogRes = new JSONObject(); JSONObject isLogRes = new JSONObject();
@ -108,7 +109,7 @@ public class QualityBackController {
List ownerIdList = qualityBackData.getJSONArray("owner"); List ownerIdList = qualityBackData.getJSONArray("owner");
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", ownerIdList) new Filter("EQ", "user_id", ownerIdList)
), "PersonnelObj"); ), "PersonnelObj");
JSONObject ownerRes = new JSONObject(); JSONObject ownerRes = new JSONObject();
@ -123,7 +124,8 @@ public class QualityBackController {
JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0); JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} }
qualityReqMap.put("provider_number", "ZHY10542");//todo 反馈人负责人编号 //qualityReqMap.put("provider_number", "ZHY10542");//todo 反馈人负责人编号
qualityReqMap.put("provider_number", ownerCode);//todo 反馈人负责人编号
//部门编码 //部门编码
String deptCode = ""; String deptCode = "";
@ -148,8 +150,10 @@ public class QualityBackController {
deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : ""; deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : "";
} }
qualityReqMap.put("dept_number", "ZHY");//归属部门 //qualityReqMap.put("dept_number", "ZHY");//归属部门
qualityReqMap.put("org_number", "ZHY");//todo 组织编码 qualityReqMap.put("dept_number", deptCode);//归属部门
//qualityReqMap.put("org_number", "ZHY");//todo 组织编码
qualityReqMap.put("org_number", qualityBackData.getString("erp_organization__c") != null ? qualityBackData.getString("erp_organization__c") : "");//todo 组织编码
qualityReqMap.put("contractno", qualityBackData.getString("contract_number__c__r") != null ? qualityBackData.getString("contract_number__c__r") : "");//销售合同号 qualityReqMap.put("contractno", qualityBackData.getString("contract_number__c__r") != null ? qualityBackData.getString("contract_number__c__r") : "");//销售合同号
qualityReqMap.put("productionbatch", qualityBackData.getString("production_batch__c") != null ? qualityBackData.getString("production_batch__c") : "");//生产批次 qualityReqMap.put("productionbatch", qualityBackData.getString("production_batch__c") != null ? qualityBackData.getString("production_batch__c") : "");//生产批次

View File

@ -45,7 +45,7 @@ public class TenderingController {
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"}; String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
JSONObject getTendering = crmRequestUtil.getCRMList(Arrays.asList( JSONObject getTendering = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("IS", "erp_id__c", Arrays.asList("")), //new Filter("IS", "erp_id__c", Arrays.asList("")),
new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)), new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
new Filter("EQ", "life_status", Arrays.asList("normal")), new Filter("EQ", "life_status", Arrays.asList("normal")),
//new Filter("EQ", "name", Arrays.asList("BSGM250509")), //new Filter("EQ", "name", Arrays.asList("BSGM250509")),
@ -79,7 +79,8 @@ public class TenderingController {
//投标单号 //投标单号
String tenderingName = tenderingData.getString("name"); String tenderingName = tenderingData.getString("name");
//投标单创建时间 //投标单创建时间
String createTime = tenderingData.getString("create_time"); //String createTime = tenderingData.getString("create_time");
String createTime = tenderingData.getString("last_modified_time");
//开始判断是否集成过该单据了 //开始判断是否集成过该单据了
JSONObject isLogRes = new JSONObject(); JSONObject isLogRes = new JSONObject();
@ -121,7 +122,7 @@ public class TenderingController {
tenderingMapReq.put("f9w5_applytype", applyTypeStr);//申请类型 tenderingMapReq.put("f9w5_applytype", applyTypeStr);//申请类型
tenderingMapReq.put("f9w5_lot", tenderingData.getString("batch_name__c") != null ? tenderingData.getString("batch_name__c") : "");//批次名称 tenderingMapReq.put("f9w5_lot", tenderingData.getString("batch_name__c") != null ? tenderingData.getString("batch_name__c") : "");//批次名称
tenderingMapReq.put("createorg_number", "ZHY");//组织 tenderingMapReq.put("createorg_number", tenderingData.getString("erp_organization__c__v") != null ? tenderingData.getString("erp_organization__c__v") : "");//组织
//供应商ID //供应商ID
String vendorId = tenderingData.getString("bidding_agency__c") != null ? tenderingData.getString("bidding_agency__c") : ""; String vendorId = tenderingData.getString("bidding_agency__c") != null ? tenderingData.getString("bidding_agency__c") : "";

View File

@ -50,7 +50,7 @@ public class XSHTController {
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"}; String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
JSONObject preContractReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject preContractReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("IS", "erp_id__c", Arrays.asList("")), //new Filter("IS", "erp_id__c", Arrays.asList("")),
new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)), new Filter("IN", "sync_status__c", Arrays.asList(syncStatus)),
new Filter("GT", "create_time", Arrays.asList("1748923200000")), new Filter("GT", "create_time", Arrays.asList("1748923200000")),
//new Filter("EQ", "name", Arrays.asList("ZHY2505280021")), //new Filter("EQ", "name", Arrays.asList("ZHY2505280021")),
@ -82,7 +82,8 @@ public class XSHTController {
//合同名称 //合同名称
String contractName = contractData.getString("name"); String contractName = contractData.getString("name");
//创建时间 //创建时间
String createTime = contractData.getString("create_time"); //String createTime = contractData.getString("create_time");
String createTime = contractData.getString("last_modified_time");
//查看数据库表中是否已执行过当前数据 //查看数据库表中是否已执行过当前数据
JSONObject isLogRes = new JSONObject(); JSONObject isLogRes = new JSONObject();
@ -137,9 +138,9 @@ public class XSHTController {
erpContractReq.put("billtype_number", "conm_salcontract_BT_QD");//单据类型 erpContractReq.put("billtype_number", "conm_salcontract_BT_QD");//单据类型
erpContractReq.put("billname", contractData.getString("project_name__c") != null ? contractData.getString("project_name__c") : "销售合同");//合同名称 erpContractReq.put("billname", contractData.getString("project_name__c") != null ? contractData.getString("project_name__c") : "销售合同");//合同名称
erpContractReq.put("type_number", "XSHT-QD01");//合同类型 erpContractReq.put("type_number", "XSHT-QD01");//合同类型
erpContractReq.put("contparties_number", "ZHY");//合同主体 erpContractReq.put("contparties_number", contractData.getString("our_company_name__c") != null ? contractData.getString("our_company_name__c") : "");//合同主体
erpContractReq.put("createorg_number", "ZHY");//销售组织编码 erpContractReq.put("createorg_number", contractData.getString("our_company_name__c") != null ? contractData.getString("our_company_name__c") : "");//销售组织编码
erpContractReq.put("org_number", "ZHY");//销售组织编码 erpContractReq.put("org_number", contractData.getString("our_company_name__c") != null ? contractData.getString("our_company_name__c") : "");//销售组织编码
erpContractReq.put("currency_number", "CNY");//本位币.货币代码 erpContractReq.put("currency_number", "CNY");//本位币.货币代码
erpContractReq.put("settlecurrency_number", "CNY");//结算币别.货币代码 erpContractReq.put("settlecurrency_number", "CNY");//结算币别.货币代码
erpContractReq.put("biztime", date);//签订日期,单据日期 erpContractReq.put("biztime", date);//签订日期,单据日期
@ -174,7 +175,8 @@ public class XSHTController {
deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : ""; deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : "";
} }
erpContractReq.put("dept", "zyierp");//归属部门 //erpContractReq.put("dept", "zyierp");//归属部门
erpContractReq.put("dept", deptCode);//归属部门
//获取负责人编码 //获取负责人编码
String ownerCode = ""; String ownerCode = "";
@ -182,7 +184,7 @@ public class XSHTController {
List ownerIdList = contractData.getJSONArray("owner"); List ownerIdList = contractData.getJSONArray("owner");
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", ownerIdList) new Filter("EQ", "user_id", ownerIdList)
), "PersonnelObj"); ), "PersonnelObj");
JSONObject ownerRes = new JSONObject(); JSONObject ownerRes = new JSONObject();
@ -198,7 +200,8 @@ public class XSHTController {
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} }
erpContractReq.put("operator", "ZHY10542");//todo 负责人 //erpContractReq.put("operator", "ZHY10542");//todo 负责人
erpContractReq.put("operator", ownerCode);//todo 负责人
//合同单位 //合同单位
String customerId = contractData.getString("account_id"); String customerId = contractData.getString("account_id");
@ -283,6 +286,22 @@ public class XSHTController {
//销售方式 //销售方式
erpContractReq.put("salesmethod", contractData.getString("sales_method__c")); erpContractReq.put("salesmethod", contractData.getString("sales_method__c"));
//合同种类
String contractType = contractData.getString("contract_zl__c") != null ? contractData.getString("contract_zl__c") : "";
if (contractType.equals("")) {
log.info("合同种类不存在,将不再向下执行");
continue;
}
String contractTypeStr = "";
if (contractType.equals("option_sales_contract_details__c")) {
contractTypeStr = "020";
} else if (contractType.equals("option_sales_contract_total_amoun__c")) {
contractTypeStr = "020-1";
}
//根据合同号查询合同明细 //根据合同号查询合同明细
JSONObject contractDetailReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject contractDetailReq = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "sale_contract_id", Arrays.asList(contractId)) new Filter("EQ", "sale_contract_id", Arrays.asList(contractId))
@ -311,7 +330,7 @@ public class XSHTController {
//开始封装销售合同明细 //开始封装销售合同明细
Map contractDetailMap = new HashMap(); Map contractDetailMap = new HashMap();
contractDetailMap.put("linetype_number", "020");//行类型 contractDetailMap.put("linetype_number", contractTypeStr);//行类型
contractDetailMap.put("goodsname", contractDetailData.getString("product_name__c"));//产品名称 contractDetailMap.put("goodsname", contractDetailData.getString("product_name__c"));//产品名称
//contractDetailMap.put("material_number", contractDetailData.getString("product_id__r"));//物料编号 //contractDetailMap.put("material_number", contractDetailData.getString("product_id__r"));//物料编号
contractDetailMap.put("material_number", "TEST0001");//todo 物料编号 contractDetailMap.put("material_number", "TEST0001");//todo 物料编号
@ -405,7 +424,7 @@ public class XSHTController {
//同步失败 //同步失败
logMap.put("log_status", "1"); logMap.put("log_status", "1");
logMap.put("res_body", "同步失败:" + contractRes.getString("message")); logMap.put("res_body", "同步失败:" + contractRes.getString("message"));
backReqMap.put("sync_status__c", "k2JhS69IK"); backReqMap.put("sync_status__c", "option_sync_failure__c");
backReqMap.put("response_info__c", contractRes.getString("message")); backReqMap.put("response_info__c", contractRes.getString("message"));
} }
@ -456,7 +475,7 @@ public class XSHTController {
log.info("附件存在,继续向下执行"); log.info("附件存在,继续向下执行");
MultiValueMap<String, Object> body = crmRequestUtil.attachmentuploadFile(contractFileList, Long.parseLong(contractERPID)); MultiValueMap<String, Object> body = crmRequestUtil.contractFile(contractFileList, Long.parseLong(contractERPID));
//开始封装请求实体 //开始封装请求实体
HttpHeaders httpHeaders = new HttpHeaders(); HttpHeaders httpHeaders = new HttpHeaders();

View File

@ -0,0 +1,47 @@
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.*;
@Configuration
@EnableScheduling
public class ZHYTask {
@Autowired
PreContractController preContractController;
@Autowired
FrameContractController frameContractController;
@Autowired
XSHTController xshtController;
@Autowired
DesignController designController;
@Autowired
GoodsPlanController goodsPlanController;
@Autowired
InvoiceController invoiceController;
@Autowired
QualityBackController qualityBackController;
@Autowired
TenderingController tenderingController;
@Autowired
BankInfoController bankInfoController;
@Scheduled(cron = "0 0/1 * * * ?")
private void configureTasks() throws Exception {
System.out.println("开始同步数据");
preContractController.syncContract();
frameContractController.syncFrameContract();
xshtController.syncXSHT();
xshtController.isComplete();
designController.syncDesign();
goodsPlanController.syncGoodsPlan();
invoiceController.syncInvoice();
invoiceController.syncRedInvoice();
qualityBackController.qualityFeedBack();
tenderingController.syncTendering();
bankInfoController.syncBankInfo();
System.out.println("执行完毕");
}
}

View File

@ -461,5 +461,76 @@ public class CrmRequestUtil {
return body; return body;
} }
public MultiValueMap<String, Object> contractFile(List<?> fileList, Long erpId) {
MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
JSONObject args = new JSONObject();
args.put("entityNumber","conm_salcontract");
args.put("billPkId",erpId);
args.put("controlKey","attachmentpanel");
body.add("attachmentUploadFileArgs", args);
if (fileList == null || fileList.isEmpty()) {
log.info("文件列表为空");
return body; // 返回空map而不是null
}
for (Object fileObj : fileList) {
JSONObject fileData = JSON.parseObject(JSON.toJSONString(fileObj));
Map<String, Object> fileReq = new HashMap<>();
fileReq.put("corpAccessToken", getCRMToken());
fileReq.put("corpId", CertificateConstant.CORP_ID);
fileReq.put("mediaTypeDesc", "DOCUMENT");
fileReq.put("mediaId", fileData.getString("path"));
fileReq.put("igonreMediaIdConvert", false);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<Map<String, Object>> fileReqEntity = new HttpEntity<>(fileReq, headers);
try {
ResponseEntity<byte[]> fileResp = restTemplate.exchange(
"https://open.fxiaoke.com/media/download",
HttpMethod.POST,
fileReqEntity,
byte[].class);
if (fileResp.getStatusCode() == HttpStatus.OK && fileResp.getBody() != null) {
byte[] fileBytes = fileResp.getBody();
String fileName = fileData.getString("filename");
String contentType = fileData.getString("ext");
ByteArrayResource byteArrayResource = new ByteArrayResource(fileBytes) {
@Override
public String getFilename() {
return fileName != null ? fileName : UUID.randomUUID() + ".dat";
}
};
HttpHeaders fileHeaders = new HttpHeaders();
fileHeaders.setContentDispositionFormData("file", byteArrayResource.getFilename());
try {
fileHeaders.setContentType(MediaType.parseMediaType(
contentType != null ? contentType : MediaType.APPLICATION_OCTET_STREAM_VALUE));
} catch (Exception e) {
fileHeaders.setContentType(MediaType.APPLICATION_OCTET_STREAM);
}
HttpEntity<ByteArrayResource> fileEntity = new HttpEntity<>(byteArrayResource, fileHeaders);
body.add("file", fileEntity);
} else {
log.error("文件下载失败mediaId: {}", fileData.getString("path"));
}
} catch (Exception e) {
log.error("下载文件出错", e);
}
}
return body;
}
} }