优化了部分内容

This commit is contained in:
itzhang 2025-06-29 16:01:31 +08:00
parent f1ba57ada3
commit 4faceb97c9
4 changed files with 233 additions and 160 deletions

View File

@ -144,6 +144,8 @@ public class FrameContractController {
frameContractReqMap.put("party1st", frameContractData.getString("contract_unit_name__c__r") != null ? frameContractData.getString("contract_unit_name__c__r") : "");//甲方 frameContractReqMap.put("party1st", frameContractData.getString("contract_unit_name__c__r") != null ? frameContractData.getString("contract_unit_name__c__r") : "");//甲方
frameContractReqMap.put("party2nd", frameContractData.getString("our_company_name__c__r") != null ? frameContractData.getString("our_company_name__c__r") : "");//乙方 frameContractReqMap.put("party2nd", frameContractData.getString("our_company_name__c__r") != null ? frameContractData.getString("our_company_name__c__r") : "");//乙方
frameContractReqMap.put("bizmode", "C");//业务模式 A:统谈统签, B:统谈分签,C:分谈分签 frameContractReqMap.put("bizmode", "C");//业务模式 A:统谈统签, B:统谈分签,C:分谈分签
frameContractReqMap.put("isentrysumamt", false);//明细金额汇总
frameContractReqMap.put("totalallamount", frameContractData.getBigDecimal("contract_amount_yuan__c") != null ? frameContractData.getBigDecimal("contract_amount_yuan__c") : BigDecimal.ZERO);//价税合计
//部门编码 //部门编码
String deptCode = ""; String deptCode = "";
@ -448,54 +450,54 @@ public class FrameContractController {
frameContractBGMap.put("srcsysbillid", originalContractId);//来源单ID frameContractBGMap.put("srcsysbillid", originalContractId);//来源单ID
frameContractBGMap.put("crmid", originalContractId);//CRMID frameContractBGMap.put("crmid", originalContractId);//CRMID
//获取部门 // //获取部门
String ownerDept = frameContractBGData.getString("owner_department_id") != null ? frameContractBGData.getString("owner_department_id") : ""; // String ownerDept = frameContractBGData.getString("owner_department_id") != null ? frameContractBGData.getString("owner_department_id") : "";
//
JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( // JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", Arrays.asList(ownerDept)) // new Filter("EQ", "_id", Arrays.asList(ownerDept))
), "DepartmentObj"); // ), "DepartmentObj");
//
JSONObject deptRes = new JSONObject(); // JSONObject deptRes = new JSONObject();
//
try { // try {
deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); // deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
} catch (RestClientException e) { // } catch (RestClientException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { // if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("不存在该部门,将不再向下执行"); // log.info("不存在该部门,将不再向下执行");
continue; // continue;
} // }
//
String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); // String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
frameContractBGMap.put("dept", deptERPCode);//部门编码 // frameContractBGMap.put("dept", deptERPCode);//部门编码
//frameContractBGMap.put("dept", "ZHY");//部门编码 // //frameContractBGMap.put("dept", "ZHY");//部门编码
//
List ownerId = frameContractBGData.getJSONArray("change_owner") != null ? frameContractBGData.getJSONArray("change_owner") : new ArrayList<>(); // List ownerId = frameContractBGData.getJSONArray("change_owner") != null ? frameContractBGData.getJSONArray("change_owner") : new ArrayList<>();
//
JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( // JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "user_id", ownerId) // new Filter("EQ", "user_id", ownerId)
), "PersonnelObj"); // ), "PersonnelObj");
//
JSONObject ownerRes = new JSONObject(); // JSONObject ownerRes = new JSONObject();
//
try { // try {
ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); // ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
} catch (RestClientException e) { // } catch (RestClientException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { // if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("负责人不存在或者请求失败"); // log.info("负责人不存在或者请求失败");
continue; // continue;
} // }
//
System.out.println("负责人数据为:" + ownerRes); // System.out.println("负责人数据为:" + ownerRes);
//
String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c"); // String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c");
//YQBGMap.put("operator", ownerUserId);//负责人 // //YQBGMap.put("operator", ownerUserId);//负责人
frameContractBGMap.put("operator", "ID-000016");//负责人 // frameContractBGMap.put("operator", "ID-000016");//负责人
//质保期 //质保期
frameContractBGMap.put("warranty", frameContractBGData.getBigDecimal("change_warranty_period_months__c") != null ? frameContractBGData.getBigDecimal("warranty_period") : BigDecimal.ZERO); frameContractBGMap.put("warranty", frameContractBGData.getBigDecimal("change_warranty_period_months__c") != null ? frameContractBGData.getBigDecimal("warranty_period") : BigDecimal.ZERO);

View File

@ -169,6 +169,24 @@ public class PastContractController {
erpContractReq.put("deviceqty", 0);//价税合计 erpContractReq.put("deviceqty", 0);//价税合计
erpContractReq.put("iselecsignature", false);//是否电子签章 erpContractReq.put("iselecsignature", false);//是否电子签章
//是否竣工
String isComplete = contractData.getString("is_complete__c") != null ? contractData.getString("is_complete__c") : "";
switch (isComplete) {
case "yes":
erpContractReq.put("becompletestatus", "C");
break;
case "no":
erpContractReq.put("becompletestatus", "A");
break;
default:
erpContractReq.put("becompletestatus", "");
break;
}
//已收金额
erpContractReq.put("receiptallamount", contractData.getBigDecimal("field_de2AP__c") != null ? contractData.getBigDecimal("field_de2AP__c") : BigDecimal.ZERO);
//部门编码 //部门编码
String deptCode = ""; String deptCode = "";
@ -303,16 +321,63 @@ public class PastContractController {
//销售方式 //销售方式
erpContractReq.put("salesmethod", contractData.getString("sales_method__c") != null ? contractData.getString("sales_method__c") : ""); erpContractReq.put("salesmethod", contractData.getString("sales_method__c") != null ? contractData.getString("sales_method__c") : "");
//付款方式 List payMethodList = contractData.getJSONArray("payment_method__c") != null ? contractData.getJSONArray("payment_method__c") : new ArrayList();
List payMethodListMap = new ArrayList();
if (payMethodList != null && !payMethodList.isEmpty()) {
for (Object payMethodStr : payMethodList) {
String payMethod = payMethodStr.toString();
//单个付款方式
Map paymentMethodMap = new HashMap<>(); Map paymentMethodMap = new HashMap<>();
if ("1".equals(payMethod)) {
//预付款
//款项名称
paymentMethodMap.put("payname_number", "1");
//收款比例 //收款比例
paymentMethodMap.put("payrate", contractData.getBigDecimal("prepayment_ratio__c") != null ? contractData.getBigDecimal("prepayment_ratio__c") : BigDecimal.ZERO); paymentMethodMap.put("payrate", contractData.getBigDecimal("prepayment_ratio__c") != null ? contractData.getBigDecimal("prepayment_ratio__c") : BigDecimal.ZERO);
//预付款金额 //预付款金额
paymentMethodMap.put("payamount", contractData.getBigDecimal("pre_invoice_amount__c") != null ? contractData.getBigDecimal("pre_invoice_amount__c") : BigDecimal.ZERO); paymentMethodMap.put("payamount", contractData.getBigDecimal("pre_invoice_amount__c") != null ? contractData.getBigDecimal("pre_invoice_amount__c") : BigDecimal.ZERO);
//是否预收 //是否预收
paymentMethodMap.put("isprepay", true);
} else if ("2".equals(payMethod)) {
//到货款
//款项名称
paymentMethodMap.put("payname_number", "2");
//收款比例
paymentMethodMap.put("payrate", contractData.getBigDecimal("arrival_payment_ratio__c") != null ? contractData.getBigDecimal("arrival_payment_ratio__c") : BigDecimal.ZERO);
//预付款金额
paymentMethodMap.put("payamount", contractData.getBigDecimal("received_amount__c") != null ? contractData.getBigDecimal("received_amount__c") : BigDecimal.ZERO);
//是否预收
paymentMethodMap.put("isprepay", false); paymentMethodMap.put("isprepay", false);
} else if ("3".equals(payMethod)) {
//投运款
//款项名称
paymentMethodMap.put("payname_number", "3");
//收款比例
paymentMethodMap.put("payrate", contractData.getBigDecimal("commission_ratio__c") != null ? contractData.getBigDecimal("commission_ratio__c") : BigDecimal.ZERO);
//预付款金额
paymentMethodMap.put("payamount", contractData.getBigDecimal("commission_amount__c") != null ? contractData.getBigDecimal("commission_amount__c") : BigDecimal.ZERO);
//是否预收
paymentMethodMap.put("isprepay", false);
} else if ("4".equals(payMethod)) {
//质保金
//款项名称
paymentMethodMap.put("payname_number", "4");
//收款比例
paymentMethodMap.put("payrate", contractData.getBigDecimal("warranty_deposit__c") != null ? contractData.getBigDecimal("warranty_deposit__c") : BigDecimal.ZERO);
//预付款金额
paymentMethodMap.put("payamount", contractData.getBigDecimal("warranty_amount__c") != null ? contractData.getBigDecimal("warranty_amount__c") : BigDecimal.ZERO);
//是否预收
paymentMethodMap.put("isprepay", false);
}
payMethodListMap.add(paymentMethodMap);
}
}
erpContractReq.put("payentry", Arrays.asList(paymentMethodMap)); erpContractReq.put("payentry", payMethodListMap);
//根据合同号查询合同明细 //根据合同号查询合同明细
JSONObject contractDetailReq = crmRequestUtil.getCRMList(Arrays.asList( JSONObject contractDetailReq = crmRequestUtil.getCRMList(Arrays.asList(
@ -360,6 +425,12 @@ public class PastContractController {
contractDetailMap.put("curamountandtax", contractDetailData.getBigDecimal("subtotal") != null ? contractDetailData.getBigDecimal("subtotal") : 0);//价税合计 contractDetailMap.put("curamountandtax", contractDetailData.getBigDecimal("subtotal") != null ? contractDetailData.getBigDecimal("subtotal") : 0);//价税合计
//contractDetailMap.put("curtaxamount", contractDetailData.getBigDecimal("tax_amount__c") != null ? contractDetailData.getBigDecimal("tax_amount__c") : 0);//金额 //contractDetailMap.put("curtaxamount", contractDetailData.getBigDecimal("tax_amount__c") != null ? contractDetailData.getBigDecimal("tax_amount__c") : 0);//金额
contractDetailMap.put("crmentryid", contractDetailData.getString("_id"));//明细id contractDetailMap.put("crmentryid", contractDetailData.getString("_id"));//明细id
//开票金额
contractDetailMap.put("arjoinamountf", contractDetailData.getBigDecimal("initial_invoice_amount__c") != null ? contractDetailData.getBigDecimal("initial_invoice_amount__c") : BigDecimal.ZERO);
//应收金额
contractDetailMap.put("aramount", contractDetailData.getBigDecimal("initial_invoice_amount__c") != null ? contractDetailData.getBigDecimal("initial_invoice_amount__c") : BigDecimal.ZERO);
//收入金额
contractDetailMap.put("f9w5_revenueamount", contractDetailData.getBigDecimal("initial_invoice_amount__c") != null ? contractDetailData.getBigDecimal("initial_invoice_amount__c") : BigDecimal.ZERO);
contractDetailList.add(contractDetailMap); contractDetailList.add(contractDetailMap);
@ -437,7 +508,7 @@ public class PastContractController {
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", "option_sync_failure__c"); 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"));
} }
//开始回写 //开始回写

View File

@ -421,54 +421,54 @@ public class PreContractController {
YQBGMap.put("srcsysbillid", preContractBGData.getString("original_data"));//来源单ID YQBGMap.put("srcsysbillid", preContractBGData.getString("original_data"));//来源单ID
YQBGMap.put("crmid", preContractBGData.getString("original_data"));//CRMID YQBGMap.put("crmid", preContractBGData.getString("original_data"));//CRMID
//获取部门 // //获取部门
String ownerDept = preContractBGData.getString("owner_department_id") != null ? preContractBGData.getString("owner_department_id") : ""; // String ownerDept = preContractBGData.getString("owner_department_id") != null ? preContractBGData.getString("owner_department_id") : "";
//
JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( // JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", Arrays.asList(ownerDept)) // new Filter("EQ", "_id", Arrays.asList(ownerDept))
), "DepartmentObj"); // ), "DepartmentObj");
//
JSONObject deptRes = new JSONObject(); // JSONObject deptRes = new JSONObject();
//
try { // try {
deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); // deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
} catch (RestClientException e) { // } catch (RestClientException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { // if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("不存在该部门,将不再向下执行"); // log.info("不存在该部门,将不再向下执行");
continue; // continue;
} // }
//
String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); // String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
YQBGMap.put("dept", deptERPCode);//部门编码 // YQBGMap.put("dept", deptERPCode);//部门编码
//YQBGMap.put("dept", "ZHY");//部门编码 // //YQBGMap.put("dept", "ZHY");//部门编码
//
List ownerId = preContractBGData.getJSONArray("change_owner") != null ? preContractBGData.getJSONArray("change_owner") : new ArrayList<>(); // List ownerId = preContractBGData.getJSONArray("change_owner") != null ? preContractBGData.getJSONArray("change_owner") : new ArrayList<>();
//
JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( // JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "user_id", ownerId) // new Filter("EQ", "user_id", ownerId)
), "PersonnelObj"); // ), "PersonnelObj");
//
JSONObject ownerRes = new JSONObject(); // JSONObject ownerRes = new JSONObject();
//
try { // try {
ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); // ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
} catch (RestClientException e) { // } catch (RestClientException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { // if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("负责人不存在或者请求失败"); // log.info("负责人不存在或者请求失败");
continue; // continue;
} // }
//
System.out.println("负责人数据为:" + ownerRes); // System.out.println("负责人数据为:" + ownerRes);
//
String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c"); // String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c");
YQBGMap.put("operator", ownerUserId);//负责人 // YQBGMap.put("operator", ownerUserId);//负责人
//YQBGMap.put("operator", "ID-000016");//负责人 // //YQBGMap.put("operator", "ID-000016");//负责人
//质保期 //质保期
YQBGMap.put("warranty", preContractBGData.getBigDecimal("change_warranty_period_months__c") != null ? preContractBGData.getBigDecimal("warranty_period") : BigDecimal.ZERO); YQBGMap.put("warranty", preContractBGData.getBigDecimal("change_warranty_period_months__c") != null ? preContractBGData.getBigDecimal("warranty_period") : BigDecimal.ZERO);

View File

@ -689,60 +689,60 @@ public class XSHTController {
//CRMID //CRMID
contractBGMap.put("crmid", contractBGData.getString("original_data") != null ? contractBGData.getString("original_data") : ""); contractBGMap.put("crmid", contractBGData.getString("original_data") != null ? contractBGData.getString("original_data") : "");
//获取部门 // //获取部门
String ownerDept = contractBGData.getString("owner_department_id") != null ? contractBGData.getString("owner_department_id") : ""; // String ownerDept = contractBGData.getString("owner_department_id") != null ? contractBGData.getString("owner_department_id") : "";
//
JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList( // JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", Arrays.asList(ownerDept)) // new Filter("EQ", "_id", Arrays.asList(ownerDept))
), "DepartmentObj"); // ), "DepartmentObj");
//
JSONObject deptRes = new JSONObject(); // JSONObject deptRes = new JSONObject();
//
try { // try {
deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class); // deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
} catch (RestClientException e) { // } catch (RestClientException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { // if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("不存在该部门,将不再向下执行"); // log.info("不存在该部门,将不再向下执行");
continue; // continue;
} // }
//
//开始获取部门 // //开始获取部门
String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c"); // String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
contractBGMap.put("dept", deptERPCode);//部门编码 // contractBGMap.put("dept", deptERPCode);//部门编码
//contractBGMap.put("dept", "zyierp");//部门编码 // //contractBGMap.put("dept", "zyierp");//部门编码
//
List ownerId = contractBGData.getJSONArray("owner") != null ? contractBGData.getJSONArray("owner") : new ArrayList<>(); // List ownerId = contractBGData.getJSONArray("owner") != null ? contractBGData.getJSONArray("owner") : new ArrayList<>();
//
JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList( // JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "user_id", ownerId) // new Filter("EQ", "user_id", ownerId)
), "PersonnelObj"); // ), "PersonnelObj");
//
JSONObject ownerRes = new JSONObject(); // JSONObject ownerRes = new JSONObject();
//
try { // try {
ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class); // ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
} catch (RestClientException e) { // } catch (RestClientException e) {
e.printStackTrace(); // e.printStackTrace();
} // }
//
if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) { // if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("负责人不存在或者请求失败"); // log.info("负责人不存在或者请求失败");
continue; // continue;
} // }
//
System.out.println("负责人数据为:" + ownerRes); // System.out.println("负责人数据为:" + ownerRes);
//
String ownerUserId = ""; // String ownerUserId = "";
//
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);
ownerUserId = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : ""; // ownerUserId = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
} // }
contractBGMap.put("operator", ownerUserId);//负责人 // contractBGMap.put("operator", ownerUserId);//负责人
//contractBGMap.put("operator", "ID-000016");//负责人 // //contractBGMap.put("operator", "ID-000016");//负责人
//是否招投标 //是否招投标
Boolean isBidding = null; Boolean isBidding = null;