框架合同新增收款计划

This commit is contained in:
itzhang 2025-07-03 16:02:18 +08:00
parent 787f55f675
commit 36746331fb

View File

@ -244,6 +244,64 @@ public class FrameContractController {
frameContractReqMap.put("projectsource", frameContractData.getString("project_source__c") != null ? frameContractData.getString("project_source__c") : "");//项目来源 frameContractReqMap.put("projectsource", frameContractData.getString("project_source__c") != null ? frameContractData.getString("project_source__c") : "");//项目来源
frameContractReqMap.put("salesmethod", frameContractData.getString("sales_method__c") != null ? frameContractData.getString("sales_method__c") : "");//销售方式 frameContractReqMap.put("salesmethod", frameContractData.getString("sales_method__c") != null ? frameContractData.getString("sales_method__c") : "");//销售方式
List payMethodList = frameContractData.getJSONArray("multiple_choice__c") != null ? frameContractData.getJSONArray("multiple_choice__c") : new ArrayList();
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", frameContractData.getBigDecimal("prepayment_ratio__c") != null ? frameContractData.getBigDecimal("prepayment_ratio__c") : BigDecimal.ZERO);
//预付款金额
paymentMethodMap.put("payamount", frameContractData.getBigDecimal("pre_invoice_amount__c") != null ? frameContractData.getBigDecimal("pre_invoice_amount__c") : BigDecimal.ZERO);
//是否预收
paymentMethodMap.put("isprepay", true);
} else if ("2".equals(payMethod)) {
//到货款
//款项名称
paymentMethodMap.put("payname_number", "2");
//收款比例
paymentMethodMap.put("payrate", frameContractData.getBigDecimal("arrival_payment_ratio__c") != null ? frameContractData.getBigDecimal("arrival_payment_ratio__c") : BigDecimal.ZERO);
//预付款金额
paymentMethodMap.put("payamount", frameContractData.getBigDecimal("received_amount__c") != null ? frameContractData.getBigDecimal("received_amount__c") : BigDecimal.ZERO);
//是否预收
paymentMethodMap.put("isprepay", false);
} else if ("3".equals(payMethod)) {
//投运款
//款项名称
paymentMethodMap.put("payname_number", "3");
//收款比例
paymentMethodMap.put("payrate", frameContractData.getBigDecimal("commission_ratio__c") != null ? frameContractData.getBigDecimal("commission_ratio__c") : BigDecimal.ZERO);
//预付款金额
paymentMethodMap.put("payamount", frameContractData.getBigDecimal("commission_amount__c") != null ? frameContractData.getBigDecimal("commission_amount__c") : BigDecimal.ZERO);
//是否预收
paymentMethodMap.put("isprepay", false);
} else if ("4".equals(payMethod)) {
//质保金
//款项名称
paymentMethodMap.put("payname_number", "4");
//收款比例
paymentMethodMap.put("payrate", frameContractData.getBigDecimal("warranty_percentage__c") != null ? frameContractData.getBigDecimal("warranty_percentage__c") : BigDecimal.ZERO);
//预付款金额
paymentMethodMap.put("payamount", frameContractData.getBigDecimal("warranty_amount__c") != null ? frameContractData.getBigDecimal("warranty_amount__c") : BigDecimal.ZERO);
//是否预收
paymentMethodMap.put("isprepay", false);
}
payMethodListMap.add(paymentMethodMap);
}
}
frameContractReqMap.put("payentry", payMethodListMap);
Map erpFrameContractReqMap = new HashMap<>(); Map erpFrameContractReqMap = new HashMap<>();
erpFrameContractReqMap.put("data", Arrays.asList(frameContractReqMap));//请求体 erpFrameContractReqMap.put("data", Arrays.asList(frameContractReqMap));//请求体