From 36746331fb9270d875d3a334d134e9543cfc6115 Mon Sep 17 00:00:00 2001 From: itzhang <2019326567@qq.com> Date: Thu, 3 Jul 2025 16:02:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A1=86=E6=9E=B6=E5=90=88=E5=90=8C=E6=96=B0?= =?UTF-8?q?=E5=A2=9E=E6=94=B6=E6=AC=BE=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/FrameContractController.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) 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));//请求体