diff --git a/src/main/java/com/management/controller/FrameContractController.java b/src/main/java/com/management/controller/FrameContractController.java index 259131f..c8ac30c 100644 --- a/src/main/java/com/management/controller/FrameContractController.java +++ b/src/main/java/com/management/controller/FrameContractController.java @@ -244,6 +244,64 @@ public class FrameContractController { 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") : "");//销售方式 + 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<>(); erpFrameContractReqMap.put("data", Arrays.asList(frameContractReqMap));//请求体