From 9ae42b3bb1b7b8a6b67f6689ae5ca16512aa92dd Mon Sep 17 00:00:00 2001 From: gityjf <2211675158@qq.com> Date: Thu, 20 Aug 2020 10:13:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E5=B9=B3=E5=8F=B0=E4=B8=9A?= =?UTF-8?q?=E5=8A=A1=E7=94=B3=E8=AF=B7=E6=89=A7=E8=A1=8C=E8=84=9A=E6=9C=AC?= =?UTF-8?q?=E4=BF=AE=E6=94=B9(kaer)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/interfacePlatform.properties | 3 +- .../commbusiness/PlatformDataToTemp.java | 4 +- .../PlatformDataToTempNotKjflc.java | 265 ++++++++++++++++++ 3 files changed, 270 insertions(+), 2 deletions(-) create mode 100644 src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTempNotKjflc.java diff --git a/config/interfacePlatform.properties b/config/interfacePlatform.properties index 279757282..6201fbbb4 100644 --- a/config/interfacePlatform.properties +++ b/config/interfacePlatform.properties @@ -2,4 +2,5 @@ url=http://localhost:8080/platform/batch/kjflc/ FileToPush=pushToBatchDealAllTimer AtTheEndOfContractPush=ContractFinishPushTimer ContractLoanPush=loanPushTimer -PushApprovalOpinions=publicPushApproveTimer \ No newline at end of file +PushApprovalOpinions=publicPushApproveTimer +channel_kjflc=KJFLC \ No newline at end of file diff --git a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTemp.java b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTemp.java index 324186669..15f8edaef 100644 --- a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTemp.java +++ b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTemp.java @@ -13,6 +13,7 @@ import com.amarsoft.awe.util.Transaction; import com.amarsoft.context.ASUser; import com.tenwa.comm.util.jboutil.DataOperatorUtil; import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.httpclient.resources.InterfacePlatformConfigure; import com.tenwa.reckon.executor.CreateTransactionExecutor; import com.tenwa.util.SerialNumberUtil; import jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP; @@ -41,7 +42,8 @@ public class PlatformDataToTemp extends BaseBussiness { public Object run(Transaction Sqlca) throws Exception { this.initBussinessParam(Sqlca); if (this.getAttribute("serial") == null) return "true"; - if (this.getAttribute("channel") != null && this.getAttribute("channel").toString().equals("KAER")) + String channel_kjflc = InterfacePlatformConfigure.get("channel_kjflc"); + if (this.getAttribute("channel") != null && !this.getAttribute("channel").toString().equals(channel_kjflc)) return "true"; ASUser asUser = new ASUser(this.getAttribute("CurUserID").toString()); diff --git a/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTempNotKjflc.java b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTempNotKjflc.java new file mode 100644 index 000000000..1428e69ee --- /dev/null +++ b/src_tenwa/com/tenwa/lease/flow/project/commbusiness/PlatformDataToTempNotKjflc.java @@ -0,0 +1,265 @@ +package com.tenwa.lease.flow.project.commbusiness; + +import com.amarsoft.app.als.sys.tools.DateUtil; +import com.amarsoft.app.util.ProductParamUtil; +import com.amarsoft.are.jbo.BizObject; +import com.amarsoft.are.jbo.BizObjectManager; +import com.amarsoft.are.jbo.JBOFactory; +import com.amarsoft.are.jbo.JBOTransaction; +import com.amarsoft.are.lang.StringX; +import com.amarsoft.awe.util.Transaction; +import com.tenwa.flow.baseBussion.BaseBussiness; +import com.tenwa.httpclient.resources.InterfacePlatformConfigure; +import com.tenwa.reckon.executor.CreateTransactionExecutor; +import com.tenwa.util.SerialNumberUtil; +import jbo.app.tenwa.calc.LC_CALC_CONDITION_TEMP; +import org.apache.commons.lang3.time.DateUtils; + +import java.math.BigDecimal; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +/** + * 业务申请阶段接口平台数据拷入临时表(非KJFLC渠道) + */ +public class PlatformDataToTempNotKjflc extends BaseBussiness { + + @Override + public Object run(Transaction Sqlca) throws Exception { + this.initBussinessParam(Sqlca); + if (this.getAttribute("serial") == null) return "true"; + String channel_kjflc = InterfacePlatformConfigure.get("channel_kjflc"); + if (this.getAttribute("channel") != null && this.getAttribute("channel").toString().equals(channel_kjflc)) + return "true"; + + String flowunid = this.getAttribute("ObjectNo").toString(); + String projectId = this.getAttribute("ProjectId").toString(); + String productId = this.getAttribute("ProductId").toString(); + String calType = "proj_process"; + + /**商务条件*/ + BizObjectManager lcctBm = JBOFactory.getBizObjectManager(LC_CALC_CONDITION_TEMP.CLASS_NAME, Sqlca); + BizObject lcctBo = lcctBm.createQuery("flowunid=:flowunid").setParameter("flowunid", flowunid).getSingleResult(true); + + /**计算综合融资额*/ + BigDecimal totalAll = new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()); + /**购置税是否参融*/ + String purchaseTaxFinan = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "PURCHASE_TAX", "FINAN"); + if ("Y".equals(purchaseTaxFinan) && lcctBo.getAttribute("PURCHASE_TAX").toString().length() > 0) { + totalAll = totalAll.add(new BigDecimal(lcctBo.getAttribute("PURCHASE_TAX").toString())); + } + /**GPS设备费是否参融*/ + String gpsFeeStr = StringX.isSpace(lcctBo.getAttribute("GPS_FEE").getString()) ? "0" : lcctBo.getAttribute("GPS_FEE").getString(); + BigDecimal gpsFee = new BigDecimal(gpsFeeStr); + String gpsFeeFinan = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "GPS_FEE", "FINAN"); + if ("Y".equals(gpsFeeFinan) && lcctBo.getAttribute("GPS_FEE").toString().length() > 0) { + totalAll = totalAll.add(new BigDecimal(lcctBo.getAttribute("GPS_FEE").toString())); + } + /**加装费是否参融*/ + String tablewareFeeFinan = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "TABLEWARE_FEE", "FINAN"); + if ("Y".equals(tablewareFeeFinan) && lcctBo.getAttribute("TABLEWARE_FEE").toString().length() > 0) { + totalAll = totalAll.add(new BigDecimal(lcctBo.getAttribute("TABLEWARE_FEE").toString())); + } + /**保险费是否参融*/ + String insurancePremiumFinan = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "INSURANCE_PREMIUM", "FINAN"); + if ("Y".equals(insurancePremiumFinan) && lcctBo.getAttribute("INSURANCE_PREMIUM").toString().length() > 0) { + totalAll = totalAll.add(new BigDecimal(lcctBo.getAttribute("INSURANCE_PREMIUM").toString())); + } + /**杂费是否参融*/ + String incidentalFinan = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "INCIDENTAL", "FINAN"); + if ("Y".equals(incidentalFinan) && lcctBo.getAttribute("INCIDENTAL").toString().length() > 0) { + totalAll = totalAll.add(new BigDecimal(lcctBo.getAttribute("INCIDENTAL").toString())); + } + + /**首付款比例*/ + String firstPaymentRefer = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "FIRST_PAYMENT", "CostType07"); + BigDecimal firstPaymentReferB = new BigDecimal(0.00); + if (lcctBo.getAttribute("FIRST_PAYMENT").toString().length() > 0) + if ("EquipAmt".equals(firstPaymentRefer)) { + firstPaymentReferB = new BigDecimal(lcctBo.getAttribute("FIRST_PAYMENT").toString()).divide(new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } else if ("TOTAL_ALL".equals(firstPaymentRefer)) { + firstPaymentReferB = new BigDecimal(lcctBo.getAttribute("FIRST_PAYMENT").toString()).divide(totalAll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } + + /**保证金比例*/ + String cautionMoneyRefer = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "CAUTION_MONEY", "CostType07"); + BigDecimal cautionMoneyReferB = new BigDecimal(0.00); + if (lcctBo.getAttribute("CAUTION_MONEY").toString().length() > 0) + if ("EquipAmt".equals(cautionMoneyRefer)) { + cautionMoneyReferB = new BigDecimal(lcctBo.getAttribute("CAUTION_MONEY").toString()).divide(new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } else if ("TOTAL_ALL".equals(cautionMoneyRefer)) { + cautionMoneyReferB = new BigDecimal(lcctBo.getAttribute("CAUTION_MONEY").toString()).divide(totalAll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } + + /**手续费比例*/ + String handlingChargeMoneyRefer = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "HANDLING_CHARGE_MONEY", "CostType07"); + BigDecimal handlingChargeMoneyReferB = new BigDecimal(0.00); + if (lcctBo.getAttribute("HANDLING_CHARGE_MONEY").toString().length() > 0) + if ("EquipAmt".equals(handlingChargeMoneyRefer)) { + handlingChargeMoneyReferB = new BigDecimal(lcctBo.getAttribute("HANDLING_CHARGE_MONEY").toString()).divide(new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } else if ("TOTAL_ALL".equals(handlingChargeMoneyRefer)) { + handlingChargeMoneyReferB = new BigDecimal(lcctBo.getAttribute("HANDLING_CHARGE_MONEY").toString()).divide(totalAll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } + + /**加装费比例*/ + String tablewareFeeRefer = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "TABLEWARE_FEE", "CostType07"); + BigDecimal tablewareFeeReferB = new BigDecimal(0.00); + if (lcctBo.getAttribute("TABLEWARE_FEE").toString().length() > 0) + if ("EquipAmt".equals(tablewareFeeRefer)) { + tablewareFeeReferB = new BigDecimal(lcctBo.getAttribute("TABLEWARE_FEE").toString()).divide(new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } else if ("TOTAL_ALL".equals(tablewareFeeRefer)) { + tablewareFeeReferB = new BigDecimal(lcctBo.getAttribute("TABLEWARE_FEE").toString()).divide(totalAll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } + + + /**购置锐比例*/ + String purchaseTaxRefer = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "PURCHASE_TAX", "CostType07"); + BigDecimal purchaseTaxReferB = new BigDecimal(0.00); + if (lcctBo.getAttribute("PURCHASE_TAX").toString().length() > 0) + if ("EquipAmt".equals(purchaseTaxRefer)) { + purchaseTaxReferB = new BigDecimal(lcctBo.getAttribute("PURCHASE_TAX").toString()).divide(new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } else if ("TOTAL_ALL".equals(purchaseTaxRefer)) { + purchaseTaxReferB = new BigDecimal(lcctBo.getAttribute("PURCHASE_TAX").toString()).divide(totalAll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } + + /**保险费比例*/ + String insurancePremiumRefer = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "INSURANCE_PREMIUM", "CostType07"); + BigDecimal insurancePremiumReferB = new BigDecimal(0.00); + if (lcctBo.getAttribute("INSURANCE_PREMIUM").toString().length() > 0) + if ("EquipAmt".equals(insurancePremiumRefer)) { + insurancePremiumReferB = new BigDecimal(lcctBo.getAttribute("INSURANCE_PREMIUM").toString()).divide(new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } else if ("TOTAL_ALL".equals(insurancePremiumRefer)) { + insurancePremiumReferB = new BigDecimal(lcctBo.getAttribute("INSURANCE_PREMIUM").toString()).divide(totalAll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } + + /**杂费比例*/ + String incidentalRefer = ProductParamUtil.getProductParameterValue(productId, "PRD0315", "INCIDENTAL", "CostType07"); + BigDecimal incidentalReferB = new BigDecimal(0.00); + if (lcctBo.getAttribute("INCIDENTAL").toString().length() > 0) + if ("EquipAmt".equals(incidentalRefer)) { + incidentalReferB = new BigDecimal(lcctBo.getAttribute("INCIDENTAL").toString()).divide(new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } else if ("TOTAL_ALL".equals(incidentalRefer)) { + incidentalReferB = new BigDecimal(lcctBo.getAttribute("INCIDENTAL").toString()).divide(totalAll, 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN); + } + + lcctBo.setAttributeValue("PROJECT_ID", projectId); + String planNumber = SerialNumberUtil.getPlannumber(this.getAttribute("ProjectNo").toString(), calType, Sqlca); + lcctBo.setAttributeValue("PROJECT_PLAN_NUMBER", planNumber); + + Map otherProperty = new HashMap(); + // 调息方式 + setProductAdjustRules(otherProperty, productId); + lcctBo.setAttributeValue("ADJUST_TYPE", otherProperty.get("ADJUST_TYPE")); + lcctBo.setAttributeValue("ADJUST_STYLE", otherProperty.get("ADJUST_STYLE")); + // 投放日 + lcctBo.setAttributeValue("LEASE_AMT_DATE", DateUtil.getToday()); + lcctBo.setAttributeValue("START_DATE", DateUtil.getToday()); + // 租金推算方式 + lcctBo.setAttributeValue("RENT_OR_RATE", "rate"); + // 设置年利率 + setYearRate(otherProperty, productId); + lcctBo.setAttributeValue("PERIOD_TYPE", otherProperty.get("PERIOD_TYPE")); + lcctBo.setAttributeValue("YEAR_RATE", otherProperty.get("YEAR_RATE")); + // 设置还款间隔 + lcctBo.setAttributeValue("INCOME_NUMBER_YEAR", "income_12"); + lcctBo.setAttributeValue("INCOME_INTERVAL_MONTH", "1"); + lcctBo.setAttributeValue("GPS_FEE", gpsFee.toString()); + lcctBo.setAttributeValue("LEASE_TERM", lcctBo.getAttribute("INCOME_NUMBER")); + // 计算第一,第二期租金支付日 + setFirstSecondPlan(otherProperty, productId, lcctBo); + lcctBo.setAttributeValue("FIRST_PLAN_DATE", otherProperty.get("FIRST_PLAN_DATE")); + lcctBo.setAttributeValue("SECOND_PLAN_DATE", otherProperty.get("SECOND_PLAN_DATE")); + lcctBo.setAttributeValue("EQUIP_AMT", lcctBo.getAttribute("EQUIP_AMT")); + lcctBo.setAttributeValue("FIRST_PAYMENT", lcctBo.getAttribute("FIRST_PAYMENT")); + lcctBo.setAttributeValue("FIRST_PAYMENT_RATIO", firstPaymentReferB); + lcctBo.setAttributeValue("FINAL_PAYMENT", lcctBo.getAttribute("FINAL_PAYMENT")); + lcctBo.setAttributeValue("NOMINAL_PRICE", lcctBo.getAttribute("NOMINAL_PRICE")); + lcctBo.setAttributeValue("HANDLING_CHARGE_MONEY", lcctBo.getAttribute("HANDLING_CHARGE_MONEY")); + lcctBo.setAttributeValue("HANDLING_CHARGE_MONEY_RATIO", handlingChargeMoneyReferB); + lcctBo.setAttributeValue("CAUTION_MONEY", lcctBo.getAttribute("CAUTION_MONEY")); + lcctBo.setAttributeValue("CAUTION_MONEY_RATIO", cautionMoneyReferB); + lcctBo.setAttributeValue("GPS_FEE_FINA", lcctBo.getAttribute("GPS_FEE_FINA")); + lcctBo.setAttributeValue("PURCHASE_TAX", lcctBo.getAttribute("PURCHASE_TAX")); + lcctBo.setAttributeValue("PURCHASE_TAX_RATIO", purchaseTaxReferB); + lcctBo.setAttributeValue("INSURANCE_PREMIUM", lcctBo.getAttribute("INSURANCE_PREMIUM")); + lcctBo.setAttributeValue("INSURANCE_PREMIUM_RATIO", insurancePremiumReferB); + lcctBo.setAttributeValue("SETTLE_METHOD", lcctBo.getAttribute("SETTLE_METHOD")); + lcctBo.setAttributeValue("INCOME_NUMBER", lcctBo.getAttribute("INCOME_NUMBER")); + lcctBo.setAttributeValue("DefaultDueDay", lcctBo.getAttribute("DefaultDueDay")); + lcctBo.setAttributeValue("TABLEWARE_FEE", lcctBo.getAttribute("TABLEWARE_FEE")); + lcctBo.setAttributeValue("TABLEWARE_FEE_RATIO", tablewareFeeReferB); + lcctBo.setAttributeValue("INCIDENTAL", lcctBo.getAttribute("INCIDENTAL")); + lcctBo.setAttributeValue("INCIDENTAL_RATIO", incidentalReferB); + lcctBo.setAttributeValue("TOTAL_ALL", totalAll); + lcctBo.setAttributeValue("ALL_FIRST_PAYMENT", lcctBo.getAttribute("FIRST_PAYMENT").toString()); + lcctBo.setAttributeValue("ALL_FIRST_PAYMENT_RATIO", new BigDecimal(lcctBo.getAttribute("FIRST_PAYMENT").toString()).multiply(new BigDecimal("100")).divide(totalAll, 6, BigDecimal.ROUND_HALF_UP)); + lcctBo.setAttributeValue("CLEAN_LEASE_MONEY", totalAll.subtract(new BigDecimal(lcctBo.getAttribute("FIRST_PAYMENT").toString()))); + lcctBo.setAttributeValue("RENT_RATIO", totalAll.subtract(new BigDecimal(lcctBo.getAttribute("FIRST_PAYMENT").toString())).divide(new BigDecimal(lcctBo.getAttribute("EQUIP_AMT").toString()), 4, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)).setScale(2, BigDecimal.ROUND_DOWN).toString()); + lcctBo.setAttributeValue("DISCOUNT", ""); + lcctBm.saveObject(lcctBo); + + + // 自动测算 + autoCalc(flowunid, calType, planNumber, productId, Sqlca); + + return "true"; + } + + public void setProductAdjustRules(Map otherProperty, String productId) throws Exception { + Map> map = ProductParamUtil.getProductComponentType(productId, "PRD0320"); + if (map.containsKey("ADJUST_INTEREST")) { + Map rule = map.get("ADJUST_INTEREST"); + if (null != rule.get("rate_float_type") && null != rule.get("adjust_style")) { + //调息方式 + otherProperty.put("ADJUST_TYPE", rule.get("rate_float_type")); + otherProperty.put("ADJUST_STYLE", rule.get("adjust_style")); + } + } + } + + public void setYearRate(Map otherProperty, String productId) throws Exception { + Map> productRates = ProductParamUtil.getProductComponentType(productId, "PRD0350"); + Map productRate = productRates.get("product_rate"); + String periodType = ProductParamUtil.getProductParameterValue(productId, "PRD0350", "period_type", "begin_end"); + periodType = periodType == null ? "period_type_0" : periodType; + otherProperty.put("PERIOD_TYPE", periodType); + if (productRate != null) { + String yearRate = productRate.get("ProductRate") == null ? "0" : productRate.get("ProductRate"); + otherProperty.put("YEAR_RATE", yearRate); + } + } + + public void setFirstSecondPlan(Map otherProperty, String productId, BizObject fcc) throws Exception { + String periodType = otherProperty.get("PERIOD_TYPE"); + String leaseAmtDate = DateUtil.getToday(); + String incomeIntervalMonth = "1"; + String defaultDueDay = fcc.getAttribute("DefaultDueDay").toString(); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); + Date lad = sdf.parse(leaseAmtDate); + lad = DateUtils.setDays(lad, Integer.parseInt(defaultDueDay)); + String firstPlanDate = ""; + String secondPlanDate = ""; + if ("period_type_1".equals(periodType)) { + firstPlanDate = leaseAmtDate; + secondPlanDate = sdf.format(DateUtils.addMonths(lad, Integer.parseInt(incomeIntervalMonth))); + } else { + firstPlanDate = sdf.format(DateUtils.addMonths(lad, Integer.parseInt(incomeIntervalMonth))); + secondPlanDate = sdf.format(DateUtils.addMonths(lad, Integer.parseInt(incomeIntervalMonth) * 2)); + } + otherProperty.put("FIRST_PLAN_DATE", firstPlanDate); + otherProperty.put("SECOND_PLAN_DATE", secondPlanDate); + } + + public void autoCalc(String flowunid, String calType, String planNumber, String productId, JBOTransaction tx) throws Exception { + CreateTransactionExecutor cte = new CreateTransactionExecutor(); + cte.setCalType(calType); + cte.setFlowunid(flowunid); + cte.setPlannumber(planNumber); + cte.setProductId(productId); + System.out.println("===========================自动测算开始==============================="); + cte.runTrans(tx); + System.out.println("===========================自动测算结束==============================="); + } +}