优化了部分内容

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("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("isentrysumamt", false);//明细金额汇总
frameContractReqMap.put("totalallamount", frameContractData.getBigDecimal("contract_amount_yuan__c") != null ? frameContractData.getBigDecimal("contract_amount_yuan__c") : BigDecimal.ZERO);//价税合计
//部门编码
String deptCode = "";
@ -448,54 +450,54 @@ public class FrameContractController {
frameContractBGMap.put("srcsysbillid", originalContractId);//来源单ID
frameContractBGMap.put("crmid", originalContractId);//CRMID
//获取部门
String ownerDept = frameContractBGData.getString("owner_department_id") != null ? frameContractBGData.getString("owner_department_id") : "";
JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", Arrays.asList(ownerDept))
), "DepartmentObj");
JSONObject deptRes = new JSONObject();
try {
deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
} catch (RestClientException e) {
e.printStackTrace();
}
if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("不存在该部门,将不再向下执行");
continue;
}
String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
frameContractBGMap.put("dept", deptERPCode);//部门编码
//frameContractBGMap.put("dept", "ZHY");//部门编码
List ownerId = frameContractBGData.getJSONArray("change_owner") != null ? frameContractBGData.getJSONArray("change_owner") : new ArrayList<>();
JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "user_id", ownerId)
), "PersonnelObj");
JSONObject ownerRes = new JSONObject();
try {
ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
} catch (RestClientException e) {
e.printStackTrace();
}
if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("负责人不存在或者请求失败");
continue;
}
System.out.println("负责人数据为:" + ownerRes);
String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c");
//YQBGMap.put("operator", ownerUserId);//负责人
frameContractBGMap.put("operator", "ID-000016");//负责人
// //获取部门
// String ownerDept = frameContractBGData.getString("owner_department_id") != null ? frameContractBGData.getString("owner_department_id") : "";
//
// JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
// new Filter("EQ", "_id", Arrays.asList(ownerDept))
// ), "DepartmentObj");
//
// JSONObject deptRes = new JSONObject();
//
// try {
// deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
// } catch (RestClientException e) {
// e.printStackTrace();
// }
//
// if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
// log.info("不存在该部门,将不再向下执行");
// continue;
// }
//
// String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
// frameContractBGMap.put("dept", deptERPCode);//部门编码
// //frameContractBGMap.put("dept", "ZHY");//部门编码
//
// List ownerId = frameContractBGData.getJSONArray("change_owner") != null ? frameContractBGData.getJSONArray("change_owner") : new ArrayList<>();
//
// JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
// new Filter("EQ", "user_id", ownerId)
// ), "PersonnelObj");
//
// JSONObject ownerRes = new JSONObject();
//
// try {
// ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
// } catch (RestClientException e) {
// e.printStackTrace();
// }
//
// if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
// log.info("负责人不存在或者请求失败");
// continue;
// }
//
// System.out.println("负责人数据为:" + ownerRes);
//
// String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c");
// //YQBGMap.put("operator", ownerUserId);//负责人
// frameContractBGMap.put("operator", "ID-000016");//负责人
//质保期
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("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 = "";
@ -303,16 +321,63 @@ public class PastContractController {
//销售方式
erpContractReq.put("salesmethod", contractData.getString("sales_method__c") != null ? contractData.getString("sales_method__c") : "");
//付款方式
Map paymentMethodMap = new HashMap<>();
//收款比例
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("isprepay", false);
List payMethodList = contractData.getJSONArray("payment_method__c") != null ? contractData.getJSONArray("payment_method__c") : new ArrayList();
erpContractReq.put("payentry", Arrays.asList(paymentMethodMap));
List payMethodListMap = new ArrayList();
if (payMethodList != null && !payMethodList.isEmpty()) {
for (Object payMethodStr : payMethodList) {
String payMethod = payMethodStr.toString();
//单个付款方式
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("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);
} 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", payMethodListMap);
//根据合同号查询合同明细
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("curtaxamount", contractDetailData.getBigDecimal("tax_amount__c") != null ? contractDetailData.getBigDecimal("tax_amount__c") : 0);//金额
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);
@ -437,7 +508,7 @@ public class PastContractController {
logMap.put("log_status", "1");
logMap.put("res_body", "同步失败:" + contractRes.getString("message"));
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("crmid", preContractBGData.getString("original_data"));//CRMID
//获取部门
String ownerDept = preContractBGData.getString("owner_department_id") != null ? preContractBGData.getString("owner_department_id") : "";
JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", Arrays.asList(ownerDept))
), "DepartmentObj");
JSONObject deptRes = new JSONObject();
try {
deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
} catch (RestClientException e) {
e.printStackTrace();
}
if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("不存在该部门,将不再向下执行");
continue;
}
String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
YQBGMap.put("dept", deptERPCode);//部门编码
//YQBGMap.put("dept", "ZHY");//部门编码
List ownerId = preContractBGData.getJSONArray("change_owner") != null ? preContractBGData.getJSONArray("change_owner") : new ArrayList<>();
JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "user_id", ownerId)
), "PersonnelObj");
JSONObject ownerRes = new JSONObject();
try {
ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
} catch (RestClientException e) {
e.printStackTrace();
}
if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("负责人不存在或者请求失败");
continue;
}
System.out.println("负责人数据为:" + ownerRes);
String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c");
YQBGMap.put("operator", ownerUserId);//负责人
//YQBGMap.put("operator", "ID-000016");//负责人
// //获取部门
// String ownerDept = preContractBGData.getString("owner_department_id") != null ? preContractBGData.getString("owner_department_id") : "";
//
// JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
// new Filter("EQ", "_id", Arrays.asList(ownerDept))
// ), "DepartmentObj");
//
// JSONObject deptRes = new JSONObject();
//
// try {
// deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
// } catch (RestClientException e) {
// e.printStackTrace();
// }
//
// if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
// log.info("不存在该部门,将不再向下执行");
// continue;
// }
//
// String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
// YQBGMap.put("dept", deptERPCode);//部门编码
// //YQBGMap.put("dept", "ZHY");//部门编码
//
// List ownerId = preContractBGData.getJSONArray("change_owner") != null ? preContractBGData.getJSONArray("change_owner") : new ArrayList<>();
//
// JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
// new Filter("EQ", "user_id", ownerId)
// ), "PersonnelObj");
//
// JSONObject ownerRes = new JSONObject();
//
// try {
// ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
// } catch (RestClientException e) {
// e.printStackTrace();
// }
//
// if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
// log.info("负责人不存在或者请求失败");
// continue;
// }
//
// System.out.println("负责人数据为:" + ownerRes);
//
// String ownerUserId = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_T1xid__c");
// YQBGMap.put("operator", ownerUserId);//负责人
// //YQBGMap.put("operator", "ID-000016");//负责人
//质保期
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
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") : "";
JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "_id", Arrays.asList(ownerDept))
), "DepartmentObj");
JSONObject deptRes = new JSONObject();
try {
deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
} catch (RestClientException e) {
e.printStackTrace();
}
if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("不存在该部门,将不再向下执行");
continue;
}
//开始获取部门
String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
contractBGMap.put("dept", deptERPCode);//部门编码
//contractBGMap.put("dept", "zyierp");//部门编码
List ownerId = contractBGData.getJSONArray("owner") != null ? contractBGData.getJSONArray("owner") : new ArrayList<>();
JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
new Filter("EQ", "user_id", ownerId)
), "PersonnelObj");
JSONObject ownerRes = new JSONObject();
try {
ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
} catch (RestClientException e) {
e.printStackTrace();
}
if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
log.info("负责人不存在或者请求失败");
continue;
}
System.out.println("负责人数据为:" + ownerRes);
String ownerUserId = "";
if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
ownerUserId = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
}
contractBGMap.put("operator", ownerUserId);//负责人
//contractBGMap.put("operator", "ID-000016");//负责人
// //获取部门
// String ownerDept = contractBGData.getString("owner_department_id") != null ? contractBGData.getString("owner_department_id") : "";
//
// JSONObject getDept = crmRequestUtil.getCRMList(Arrays.asList(
// new Filter("EQ", "_id", Arrays.asList(ownerDept))
// ), "DepartmentObj");
//
// JSONObject deptRes = new JSONObject();
//
// try {
// deptRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getDept, JSONObject.class);
// } catch (RestClientException e) {
// e.printStackTrace();
// }
//
// if (!"success".equals(deptRes.getString("errorDescription")) || deptRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
// log.info("不存在该部门,将不再向下执行");
// continue;
// }
//
// //开始获取部门
// String deptERPCode = deptRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0).getString("field_Vj6sf__c");
// contractBGMap.put("dept", deptERPCode);//部门编码
// //contractBGMap.put("dept", "zyierp");//部门编码
//
// List ownerId = contractBGData.getJSONArray("owner") != null ? contractBGData.getJSONArray("owner") : new ArrayList<>();
//
// JSONObject getOwner = crmRequestUtil.getCRMList(Arrays.asList(
// new Filter("EQ", "user_id", ownerId)
// ), "PersonnelObj");
//
// JSONObject ownerRes = new JSONObject();
//
// try {
// ownerRes = restTemplate.postForObject(URLConstant.GET_CRM_LIST_URL, getOwner, JSONObject.class);
// } catch (RestClientException e) {
// e.printStackTrace();
// }
//
// if (!"success".equals(ownerRes.getString("errorDescription")) || ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
// log.info("负责人不存在或者请求失败");
// continue;
// }
//
// System.out.println("负责人数据为:" + ownerRes);
//
// String ownerUserId = "";
//
// if ("success".equals(ownerRes.getString("errorDescription")) && !ownerRes.getJSONObject("data").getJSONArray("dataList").isEmpty()) {
// JSONObject ownerData = ownerRes.getJSONObject("data").getJSONArray("dataList").getJSONObject(0);
// ownerUserId = ownerData.getString("field_T1xid__c") != null ? ownerData.getString("field_T1xid__c") : "";
// }
// contractBGMap.put("operator", ownerUserId);//负责人
// //contractBGMap.put("operator", "ID-000016");//负责人
//是否招投标
Boolean isBidding = null;