优化后的程序
This commit is contained in:
parent
fc16d01c27
commit
aa352be359
@ -286,7 +286,7 @@ public class BankInfoController {
|
||||
Map deptReq = new HashMap<>();
|
||||
deptReq.put("data", data);
|
||||
deptReq.put("pageNo", 1);
|
||||
deptReq.put("pageSize", 1);
|
||||
deptReq.put("pageSize", 1999);
|
||||
|
||||
//开始获取金蝶token
|
||||
String accessToken = new KDTokenController().getKDAccessTokenTest();
|
||||
|
@ -50,7 +50,7 @@ public class DesignController {
|
||||
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
|
||||
|
||||
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("EQ", "name", Arrays.asList("SJWJ250528-0022")),
|
||||
new Filter("GT", "create_time", Arrays.asList("1748923200000")),
|
||||
@ -84,7 +84,8 @@ public class DesignController {
|
||||
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();
|
||||
@ -106,7 +107,19 @@ public class DesignController {
|
||||
//开始封装传输至ERP中的请求
|
||||
Map erpDesignMap = new HashMap<>();
|
||||
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("biztype_name", "物料类采购");//业务类型
|
||||
|
||||
@ -139,15 +152,18 @@ public class DesignController {
|
||||
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 = "";
|
||||
|
||||
List ownerIdList = designDocData.getJSONArray("owner");
|
||||
|
||||
System.out.println(ownerIdList);
|
||||
|
||||
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
|
||||
new Filter("EQ", "_id", ownerIdList)
|
||||
new Filter("EQ", "user_id", ownerIdList)
|
||||
), "PersonnelObj");
|
||||
|
||||
JSONObject ownerRes = new JSONObject();
|
||||
@ -158,13 +174,16 @@ public class DesignController {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
System.out.println("查询负责人结果为:" + ownerRes);
|
||||
|
||||
if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
|
||||
JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
|
||||
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
|
||||
}
|
||||
|
||||
erpDesignMap.put("bizuser_number", "ID-000011");//人员编码
|
||||
erpDesignMap.put("bizorg_number", "ZHY");//采购组织
|
||||
//erpDesignMap.put("bizuser_number", "ID-000011");//人员编码
|
||||
erpDesignMap.put("bizuser_number", ownerCode);//人员编码
|
||||
erpDesignMap.put("bizorg_number", orgCode);//采购组织
|
||||
erpDesignMap.put("project_number", "SJ20250424-0033");//todo 项目号(商机)
|
||||
erpDesignMap.put("contractno", designDocData.getString("sales_contract_number__c__r"));//合同号
|
||||
erpDesignMap.put("crmid", designDocId);//crm唯一id
|
||||
@ -415,7 +434,19 @@ public class DesignController {
|
||||
Map erpDesignMap = new HashMap<>();
|
||||
erpDesignMap.put("id", erpId);//erpId
|
||||
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("biztype_name", "物料类采购");//业务类型
|
||||
|
||||
@ -448,7 +479,8 @@ public class DesignController {
|
||||
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 = "";
|
||||
@ -467,13 +499,16 @@ public class DesignController {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
System.out.println("测试负责人"+ownerRes);
|
||||
|
||||
if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
|
||||
JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
|
||||
ownerCode = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
|
||||
}
|
||||
|
||||
erpDesignMap.put("bizuser_number", "ID-000011");//人员编码
|
||||
erpDesignMap.put("bizorg_number", "ZHY");//采购组织
|
||||
//erpDesignMap.put("bizuser_number", "ID-000011");//人员编码
|
||||
erpDesignMap.put("bizuser_number", ownerCode);//人员编码
|
||||
erpDesignMap.put("bizorg_number", orgCode);//采购组织
|
||||
erpDesignMap.put("project_number", designDocData.getString("project_id__c"));//todo 项目号(商机)
|
||||
erpDesignMap.put("contractno", designDocData.getString("sales_contract_number__c__r"));//合同号
|
||||
erpDesignMap.put("crmid", designDocId);//crm唯一id
|
||||
|
@ -41,7 +41,7 @@ public class FrameContractController {
|
||||
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
|
||||
|
||||
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("IN", "sync_status__c", Arrays.asList(syncStatus)),
|
||||
//new Filter("EQ", "name", Arrays.asList("KJ2505200005")),
|
||||
@ -73,7 +73,8 @@ public class FrameContractController {
|
||||
//合同名称
|
||||
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();
|
||||
@ -122,11 +123,11 @@ public class FrameContractController {
|
||||
frameContractReqMap.put("project_number", projectCode);//todo 项目号(商机编号)
|
||||
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("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("contparties_number", "BU-0002");//合同主体
|
||||
frameContractReqMap.put("createorg_number", "zyierp");//销售组织编码
|
||||
frameContractReqMap.put("org_number", "zyierp");//销售组织编码
|
||||
frameContractReqMap.put("contparties_number", frameContractData.getString("our_company_name__c") != null ? frameContractData.getString("our_company_name__c") : "");//合同主体
|
||||
frameContractReqMap.put("createorg_number", frameContractData.getString("our_company_name__c") != null ? frameContractData.getString("our_company_name__c") : "");//销售组织编码
|
||||
frameContractReqMap.put("org_number", frameContractData.getString("our_company_name__c") != null ? frameContractData.getString("our_company_name__c") : "");//销售组织编码
|
||||
frameContractReqMap.put("currency_number", "CNY");//本位币.货币代码
|
||||
frameContractReqMap.put("settlecurrency_number", "CNY");//结算币别.货币代码
|
||||
|
||||
@ -170,7 +171,7 @@ public class FrameContractController {
|
||||
List ownerIdList = frameContractData.getJSONArray("owner");
|
||||
|
||||
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
|
||||
new Filter("EQ", "_id", ownerIdList)
|
||||
new Filter("EQ", "user_id", ownerIdList)
|
||||
), "PersonnelObj");
|
||||
|
||||
JSONObject ownerRes = new JSONObject();
|
||||
@ -186,7 +187,8 @@ public class FrameContractController {
|
||||
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");
|
||||
@ -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 backRes = new JSONObject();
|
||||
|
@ -52,7 +52,7 @@ public class GoodsPlanController {
|
||||
|
||||
//要货计划请求
|
||||
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("GT", "create_time", Arrays.asList("1748923200000")),
|
||||
//new Filter("EQ", "name", Arrays.asList("YHJH20250508-0002")),
|
||||
@ -88,7 +88,8 @@ public class GoodsPlanController {
|
||||
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();
|
||||
@ -144,7 +145,8 @@ public class GoodsPlanController {
|
||||
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 = "";
|
||||
@ -168,7 +170,8 @@ public class GoodsPlanController {
|
||||
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(
|
||||
@ -204,7 +207,7 @@ public class GoodsPlanController {
|
||||
Map erpGoodsPlanDetailReq = new HashMap<>();
|
||||
erpGoodsPlanDetailReq.put("f9w5_crmentryid", goodsPlanDetailData.getString("_id"));//crm明细id
|
||||
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("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") : "");//备注
|
||||
@ -465,7 +468,7 @@ public class GoodsPlanController {
|
||||
List ownerIdList = goodsPlanData.getJSONArray("owner");
|
||||
|
||||
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
|
||||
new Filter("EQ", "_id", ownerIdList)
|
||||
new Filter("EQ", "user_id", ownerIdList)
|
||||
), "PersonnelObj");
|
||||
|
||||
JSONObject ownerRes = new JSONObject();
|
||||
@ -481,7 +484,7 @@ public class GoodsPlanController {
|
||||
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(
|
||||
|
@ -43,7 +43,7 @@ public class InvoiceController {
|
||||
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
|
||||
|
||||
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("EQ", "life_status", Arrays.asList("normal")),
|
||||
//new Filter("EQ", "name", Arrays.asList("20250527-000010"))
|
||||
@ -78,7 +78,8 @@ public class InvoiceController {
|
||||
//发票名称
|
||||
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();
|
||||
@ -101,9 +102,64 @@ public class InvoiceController {
|
||||
|
||||
String invoiceType = invoiceData.getString("record_type") != null ? invoiceData.getString("record_type") : "";
|
||||
invoiceMap.put("billsourcetype", "blue");
|
||||
invoiceMap.put("f9w5_crmbillno", invoiceName);//单据编号
|
||||
invoiceMap.put("crmbillno", invoiceName);//单据编号
|
||||
|
||||
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
|
||||
|
||||
//开票类型
|
||||
@ -184,8 +240,8 @@ public class InvoiceController {
|
||||
|
||||
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(
|
||||
@ -339,8 +395,14 @@ public class InvoiceController {
|
||||
public void syncRedInvoice() {
|
||||
CrmRequestUtil crmRequestUtil = new CrmRequestUtil();
|
||||
|
||||
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
|
||||
|
||||
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");
|
||||
|
||||
JSONObject redInvoiceRes = new JSONObject();
|
||||
@ -388,7 +450,7 @@ public class InvoiceController {
|
||||
|
||||
Map invoiceMap = new HashMap();
|
||||
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("crminvoiceid", redInvoiceId);//CRM红冲开票申请ID
|
||||
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("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("redreason", redInvoiceData.getString("redemption_reason__c") != null ? redInvoiceData.getString("redemption_reason__c") : "");//冲红原因
|
||||
|
||||
|
@ -51,7 +51,7 @@ public class PreContractController {
|
||||
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
|
||||
|
||||
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("GT", "create_time", Arrays.asList("1748923200000")),
|
||||
//new Filter("EQ", "name", Arrays.asList("YQ2505220005")),
|
||||
@ -79,7 +79,8 @@ public class PreContractController {
|
||||
System.out.println("当前正在处理的数据为:" + preContractData);
|
||||
|
||||
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和创建时间查询是否已经执行当前数据
|
||||
JSONObject preContractIsExist = new JSONObject();
|
||||
@ -112,9 +113,9 @@ public class PreContractController {
|
||||
erpContractReq.put("billtype_number", "conm_salcontract_BT_YQ");//单据类型
|
||||
erpContractReq.put("billname", preContractData.getString("project_name__c") != null ? preContractData.getString("project_name__c") : "预签合同");//合同名称
|
||||
erpContractReq.put("type_number", "XSHT-YQ01");//合同类型
|
||||
erpContractReq.put("contparties_number", "ZHY");//合同主体
|
||||
erpContractReq.put("createorg_number", "ZHY");//销售组织编码
|
||||
erpContractReq.put("org_number", "ZHY");//销售组织编码
|
||||
erpContractReq.put("contparties_number", preContractData.getString("our_company_name__c") != null ? preContractData.getString("our_company_name__c") : "");//合同主体
|
||||
erpContractReq.put("createorg_number", preContractData.getString("our_company_name__c") != null ? preContractData.getString("our_company_name__c") : "");//销售组织编码
|
||||
erpContractReq.put("org_number", preContractData.getString("our_company_name__c") != null ? preContractData.getString("our_company_name__c") : "");//销售组织编码
|
||||
erpContractReq.put("currency_number", "CNY");//本位币.货币代码
|
||||
erpContractReq.put("settlecurrency_number", "CNY");//结算币别.货币代码
|
||||
erpContractReq.put("biztime", date);//签订日期,单据日期
|
||||
@ -147,8 +148,10 @@ public class PreContractController {
|
||||
deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : "";
|
||||
}
|
||||
|
||||
erpContractReq.put("dept", "ZHY");//归属部门
|
||||
erpContractReq.put("dept_number", "004");//归属部门
|
||||
//erpContractReq.put("dept", "ZHY");//归属部门
|
||||
erpContractReq.put("dept", deptCode);//归属部门
|
||||
//erpContractReq.put("dept_number", "004");//归属部门
|
||||
erpContractReq.put("dept_number", deptCode);//归属部门
|
||||
|
||||
//获取负责人编码
|
||||
String ownerCode = "";
|
||||
@ -156,7 +159,7 @@ public class PreContractController {
|
||||
List ownerIdList = preContractData.getJSONArray("owner");
|
||||
|
||||
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
|
||||
new Filter("EQ", "_id", ownerIdList)
|
||||
new Filter("EQ", "user_id", ownerIdList)
|
||||
), "PersonnelObj");
|
||||
|
||||
JSONObject ownerRes = new JSONObject();
|
||||
@ -172,7 +175,8 @@ public class PreContractController {
|
||||
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");
|
||||
@ -280,7 +284,7 @@ public class PreContractController {
|
||||
|
||||
//开始审核
|
||||
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 {
|
||||
//同步失败
|
||||
logMap.put("log_status", "1");
|
||||
|
@ -46,7 +46,7 @@ public class QualityBackController {
|
||||
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
|
||||
|
||||
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("EQ", "life_status", Arrays.asList("normal")),
|
||||
//new Filter("EQ", "name", Arrays.asList("ZLXXFK202505270002")),
|
||||
@ -79,7 +79,8 @@ public class QualityBackController {
|
||||
//反馈单单号
|
||||
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();
|
||||
@ -108,7 +109,7 @@ public class QualityBackController {
|
||||
List ownerIdList = qualityBackData.getJSONArray("owner");
|
||||
|
||||
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
|
||||
new Filter("EQ", "_id", ownerIdList)
|
||||
new Filter("EQ", "user_id", ownerIdList)
|
||||
), "PersonnelObj");
|
||||
|
||||
JSONObject ownerRes = new JSONObject();
|
||||
@ -123,7 +124,8 @@ public class QualityBackController {
|
||||
JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
|
||||
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 = "";
|
||||
@ -148,8 +150,10 @@ public class QualityBackController {
|
||||
deptCode = deptData.getString("field_Vj6sf__c") != null ? deptData.getString("field_Vj6sf__c") : "";
|
||||
}
|
||||
|
||||
qualityReqMap.put("dept_number", "ZHY");//归属部门
|
||||
qualityReqMap.put("org_number", "ZHY");//todo 组织编码
|
||||
//qualityReqMap.put("dept_number", "ZHY");//归属部门
|
||||
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("productionbatch", qualityBackData.getString("production_batch__c") != null ? qualityBackData.getString("production_batch__c") : "");//生产批次
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class TenderingController {
|
||||
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
|
||||
|
||||
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("EQ", "life_status", Arrays.asList("normal")),
|
||||
//new Filter("EQ", "name", Arrays.asList("BSGM250509")),
|
||||
@ -79,7 +79,8 @@ public class TenderingController {
|
||||
//投标单号
|
||||
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();
|
||||
@ -121,7 +122,7 @@ public class TenderingController {
|
||||
|
||||
tenderingMapReq.put("f9w5_applytype", applyTypeStr);//申请类型
|
||||
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
|
||||
String vendorId = tenderingData.getString("bidding_agency__c") != null ? tenderingData.getString("bidding_agency__c") : "";
|
||||
|
@ -50,7 +50,7 @@ public class XSHTController {
|
||||
String[] syncStatus = {"option_pending_sync__c", "option_resync__c"};
|
||||
|
||||
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("GT", "create_time", Arrays.asList("1748923200000")),
|
||||
//new Filter("EQ", "name", Arrays.asList("ZHY2505280021")),
|
||||
@ -82,7 +82,8 @@ public class XSHTController {
|
||||
//合同名称
|
||||
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();
|
||||
@ -137,9 +138,9 @@ public class XSHTController {
|
||||
erpContractReq.put("billtype_number", "conm_salcontract_BT_QD");//单据类型
|
||||
erpContractReq.put("billname", contractData.getString("project_name__c") != null ? contractData.getString("project_name__c") : "销售合同");//合同名称
|
||||
erpContractReq.put("type_number", "XSHT-QD01");//合同类型
|
||||
erpContractReq.put("contparties_number", "ZHY");//合同主体
|
||||
erpContractReq.put("createorg_number", "ZHY");//销售组织编码
|
||||
erpContractReq.put("org_number", "ZHY");//销售组织编码
|
||||
erpContractReq.put("contparties_number", contractData.getString("our_company_name__c") != null ? contractData.getString("our_company_name__c") : "");//合同主体
|
||||
erpContractReq.put("createorg_number", contractData.getString("our_company_name__c") != null ? contractData.getString("our_company_name__c") : "");//销售组织编码
|
||||
erpContractReq.put("org_number", contractData.getString("our_company_name__c") != null ? contractData.getString("our_company_name__c") : "");//销售组织编码
|
||||
erpContractReq.put("currency_number", "CNY");//本位币.货币代码
|
||||
erpContractReq.put("settlecurrency_number", "CNY");//结算币别.货币代码
|
||||
erpContractReq.put("biztime", date);//签订日期,单据日期
|
||||
@ -174,7 +175,8 @@ public class XSHTController {
|
||||
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 = "";
|
||||
@ -182,7 +184,7 @@ public class XSHTController {
|
||||
List ownerIdList = contractData.getJSONArray("owner");
|
||||
|
||||
JSONObject ownerReq = crmRequestUtil.getCRMList(Arrays.asList(
|
||||
new Filter("EQ", "_id", ownerIdList)
|
||||
new Filter("EQ", "user_id", ownerIdList)
|
||||
), "PersonnelObj");
|
||||
|
||||
JSONObject ownerRes = new JSONObject();
|
||||
@ -198,7 +200,8 @@ public class XSHTController {
|
||||
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");
|
||||
@ -283,6 +286,22 @@ public class XSHTController {
|
||||
//销售方式
|
||||
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(
|
||||
new Filter("EQ", "sale_contract_id", Arrays.asList(contractId))
|
||||
@ -311,7 +330,7 @@ public class XSHTController {
|
||||
|
||||
//开始封装销售合同明细
|
||||
Map contractDetailMap = new HashMap();
|
||||
contractDetailMap.put("linetype_number", "020");//行类型
|
||||
contractDetailMap.put("linetype_number", contractTypeStr);//行类型
|
||||
contractDetailMap.put("goodsname", contractDetailData.getString("product_name__c"));//产品名称
|
||||
//contractDetailMap.put("material_number", contractDetailData.getString("product_id__r"));//物料编号
|
||||
contractDetailMap.put("material_number", "TEST0001");//todo 物料编号
|
||||
@ -405,7 +424,7 @@ public class XSHTController {
|
||||
//同步失败
|
||||
logMap.put("log_status", "1");
|
||||
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"));
|
||||
}
|
||||
|
||||
@ -456,7 +475,7 @@ public class XSHTController {
|
||||
|
||||
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();
|
||||
|
@ -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("执行完毕");
|
||||
}
|
||||
}
|
@ -461,5 +461,76 @@ public class CrmRequestUtil {
|
||||
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;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user