From 0cb97b322de270b9fd483935552a59690024606f Mon Sep 17 00:00:00 2001 From: xiezhiwen Date: Sun, 26 Aug 2018 17:24:03 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=AD=E8=AF=81=E5=8E=9F=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=8F=98=E6=9B=B4=E5=8F=8A=E6=96=B0=E5=A2=9E=E5=87=AD=E8=AF=81?= =?UTF-8?q?=E9=85=8D=E7=BD=AE,=20bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CreateVoucherCustomerRentOrFee.java | 10 +- .../CreateVoucherHandlingMoney.java | 2 + .../CreateVoucherLoan/CleanLeaseMoney.java | 5 +- .../CleanLeaseMoneyAddOtherNoGps.java | 35 +++- .../ContractOtherMoneyNoTax.java | 7 +- .../ContractOtherMoneyToTax.java | 5 +- .../CreateVoucherLoanDistributor.java | 15 +- .../ContractOnhireVoucher.java | 23 ++- .../ContractTerminate.java | 4 +- .../IncomeVoucher.java | 4 +- .../RedIncomeVoucher.java | 7 +- .../CreateVoucherMonthSettlement.java | 2 +- .../CreateVoucherToCommission.java | 185 +++++++++--------- .../InsertVoucherRentIncome.java | 9 +- .../serviceImp/CreateVoucherServiceImpl.java | 3 +- .../voucher/serviceImp/VoucherToV8Impl.java | 2 +- 16 files changed, 170 insertions(+), 148 deletions(-) diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustomerRentOrFee.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustomerRentOrFee.java index 4cc025552..84023a689 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustomerRentOrFee.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherCustomerRentOrFee.java @@ -50,10 +50,11 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception { String BUSINESSTYPE=null; String ACC_NUM=null; String CAUTION_MONEY=null; + String GPS_FEE_FINA=null; //String FlowUnid=this.getAttribute("FlowUnid").toString(); //String VOUCHERNO="PZ2018071000000005"; //String VOUCHERNO=this.getAttribute("VoucherNo").toString(); - String sql="SELECT LCCT.EQUIP_AMT,LCCT.FIRST_PAYMENT,LCCT.HANDLING_CHARGE_MONEY,LCCT.CLEAN_LEASE_MONEY,IFNULL(LCCT.CAUTION_MONEY,0)AS CAUTION_MONEY,LCCT.INSURANCE_PREMIUM,LCCT.PURCHASE_TAX,LCCT.INCIDENTAL,LCCT.GPS_FEE as GPS_FEE_FINANCE,LCCT.TABLEWARE_FEE,LRPT.INTEREST,LRPT.INTERESTNOTAX,LRPT.TAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,lfit.ACC_NUMBER FROM LC_CALC_CONDITION LCCT inner join (SELECT contract_id,FLOWUNID,min(ACC_NUMBER) ACC_NUMBER FROM lc_fund_income_temp WHERE fee_type='feetype10' GROUP BY contract_id,FLOWUNID) lfit on lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,SUM(INTEREST) AS INTEREST,SUM(ROUND((INTEREST/1.06),2)) AS INTERESTNOTAX,SUM(INTEREST-ROUND((INTEREST/1.06),2)) AS TAX FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID=LCCT.FLOWUNID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE lfit.FLOWUNID=:FLOWUNID"; + String sql="SELECT LCCT.EQUIP_AMT,LCCT.FIRST_PAYMENT,LCCT.HANDLING_CHARGE_MONEY,LCCT.CLEAN_LEASE_MONEY,IFNULL(LCCT.CAUTION_MONEY,0)AS CAUTION_MONEY,LCCT.INSURANCE_PREMIUM,LCCT.PURCHASE_TAX,LCCT.INCIDENTAL,LCCT.GPS_FEE as GPS_FEE_FINANCE,LCCT.TABLEWARE_FEE,LRPT.INTEREST,LRPT.INTERESTNOTAX,LRPT.TAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,lfit.ACC_NUMBER,LCCT.GPS_FEE_FINA FROM LC_CALC_CONDITION LCCT inner join (SELECT contract_id,FLOWUNID,min(ACC_NUMBER) ACC_NUMBER FROM lc_fund_income_temp WHERE fee_type='feetype10' GROUP BY contract_id,FLOWUNID) lfit on lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,SUM(INTEREST) AS INTEREST,SUM(ROUND((INTEREST/1.06),2)) AS INTERESTNOTAX,SUM(INTEREST-ROUND((INTEREST/1.06),2)) AS TAX FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID=LCCT.FLOWUNID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE lfit.FLOWUNID=:FLOWUNID"; param.clear(); map.put("FLOWUNID", FlowUnid); @@ -77,7 +78,6 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception { INTERESTNOTAX=dataList.get(i).get("INTERESTNOTAX").toString(); TAX=dataList.get(i).get("TAX").toString(); if("".equals(GPS_FEE_FINANCE)||GPS_FEE_FINANCE==null) GPS_FEE_FINANCE="0.00"; - ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString(); FACT_DATE =dataList.get(i).get("FACT_DATE").toString(); CONTRACT_ID=dataList.get(i).get("CONTRACT_ID").toString(); @@ -93,7 +93,11 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception { CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); ACC_NUM=dataList.get(i).get("ACC_NUMBER"); - + // 给经销商放款-差额放款中判断GPS是否参融 + if("PZ2018071100000010".equals(VOUCHERNO)||"PZ2018080300000074".equals(VOUCHERNO)) { + GPS_FEE_FINA=dataList.get(i).get("GPS_FEE_FINA").toString(); + param.put("GPS_FEE_FINA",GPS_FEE_FINA); + } param.put("EQUIP_AMT",EQUIP_AMT); param.put("FIRST_PAYMENT",FIRST_PAYMENT); param.put("FACT_MONEY",CLEAN_LEASE_MONEY); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherHandlingMoney.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherHandlingMoney.java index 7085a13b3..90d02f313 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherHandlingMoney.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherHandlingMoney.java @@ -45,9 +45,11 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception { param.clear(); map.put("FlowUnid", FlowUnid); sql= "SELECT LCCT.HANDLING_CHARGE_MONEY AS MONEY,ROUND(LCCT.HANDLING_CHARGE_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS HANDLFEENOTAX,(LCCT.HANDLING_CHARGE_MONEY-ROUND(LCCT.HANDLING_CHARGE_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2))AS HANDLTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d')AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL ,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN lc_fund_income_temp lfit ON lfit.contract_id=lcct.contract_id AND lfit.fee_type='feetype10' LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE lfit.FLOWUNID=:FLOWUNID"; + // 给经销商放款冲抵确认收到手续费(按月分摊收入) if("PZ2018071000000009".equals(VOUCHERNO)||"PZ2018080300000073".equals(VOUCHERNO)){ sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020'"; } + // 给经销商放款冲抵确认手续费收入(一次性确认收入) if("PZ2018071000000007".equals(VOUCHERNO)||"PZ2018080300000072".equals(VOUCHERNO)){ sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0010'"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CleanLeaseMoney.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CleanLeaseMoney.java index a1acbc3a0..90972fb66 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CleanLeaseMoney.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CleanLeaseMoney.java @@ -27,16 +27,13 @@ public class CleanLeaseMoney implements VoucherJavaParamService { String PURCHASE_TAX=param.get("PURCHASE_TAX")==null?"0.00":param.get("PURCHASE_TAX"); // 装潢费 String TABLEWARE_FEE=param.get("TABLEWARE_FEE")==null?"0.00":param.get("TABLEWARE_FEE"); - // GPS - String GPS_FEE_FINANCE=param.get("GPS_FEE_FINANCE")==null?"0.00":param.get("GPS_FEE_FINANCE"); BigDecimal factmoney=new BigDecimal(EQUIP_AMT) .subtract(new BigDecimal(FIRST_PAYMENT)) .add(new BigDecimal(INCIDENTAL)) .add(new BigDecimal(INSURANCE_PREMIUM)) .add(new BigDecimal(PURCHASE_TAX)) - .add(new BigDecimal(TABLEWARE_FEE)) - .add(new BigDecimal(GPS_FEE_FINANCE)); + .add(new BigDecimal(TABLEWARE_FEE)); returnValue.putAll(param); returnValue.put("FUNDTYPE","01"); returnValue.put("MONEY",factmoney.toString()); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CleanLeaseMoneyAddOtherNoGps.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CleanLeaseMoneyAddOtherNoGps.java index fd127245b..e08e99fbc 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CleanLeaseMoneyAddOtherNoGps.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CleanLeaseMoneyAddOtherNoGps.java @@ -15,6 +15,7 @@ public class CleanLeaseMoneyAddOtherNoGps implements VoucherJavaParamService { public Map getJavaParam(JBOTransaction tx, Map param) throws BusinessException { MapreturnValue=new HashMap(); + BigDecimal factmoney=null; // 车款 String EQUIP_AMT=param.get("EQUIP_AMT")==null?"0.00":param.get("EQUIP_AMT"); // 首付款 @@ -31,16 +32,32 @@ public class CleanLeaseMoneyAddOtherNoGps implements VoucherJavaParamService { String HANDLING_CHARGE_MONEY=param.get("HANDLING_CHARGE_MONEY")==null?"0.00":param.get("HANDLING_CHARGE_MONEY"); // 保证金 String CAUTION_MONEY=param.get("CAUTION_MONEY")==null?"0.00":param.get("CAUTION_MONEY"); - + // GPS + String GPS_FEE_FINANCE=param.get("GPS_FEE_FINANCE")==null?"0.00":param.get("GPS_FEE_FINANCE"); // 运算 - BigDecimal factmoney=new BigDecimal(EQUIP_AMT) - .subtract(new BigDecimal(FIRST_PAYMENT)) - .add(new BigDecimal(PURCHASE_TAX)) - .add(new BigDecimal(INSURANCE_PREMIUM)) - .add(new BigDecimal(INCIDENTAL)) - .add(new BigDecimal(TABLEWARE_FEE)) - .subtract(new BigDecimal(HANDLING_CHARGE_MONEY)) - .subtract(new BigDecimal(CAUTION_MONEY)); + // 判断GPS不参融, 减去GPS + String GPS_FEE_FINA = param.get("GPS_FEE_FINA"); + System.out.println(GPS_FEE_FINA); + if("finatype01".equals(GPS_FEE_FINA+"1111111111111111111111111111111111111")) { + factmoney=new BigDecimal(EQUIP_AMT) + .subtract(new BigDecimal(FIRST_PAYMENT)) + .add(new BigDecimal(PURCHASE_TAX)) + .add(new BigDecimal(INSURANCE_PREMIUM)) + .add(new BigDecimal(INCIDENTAL)) + .add(new BigDecimal(TABLEWARE_FEE)) + .subtract(new BigDecimal(HANDLING_CHARGE_MONEY)) + .subtract(new BigDecimal(CAUTION_MONEY)) + .subtract(new BigDecimal(GPS_FEE_FINANCE)); + }else { + factmoney=new BigDecimal(EQUIP_AMT) + .subtract(new BigDecimal(FIRST_PAYMENT)) + .add(new BigDecimal(PURCHASE_TAX)) + .add(new BigDecimal(INSURANCE_PREMIUM)) + .add(new BigDecimal(INCIDENTAL)) + .add(new BigDecimal(TABLEWARE_FEE)) + .subtract(new BigDecimal(HANDLING_CHARGE_MONEY)) + .subtract(new BigDecimal(CAUTION_MONEY)); + } returnValue.putAll(param); returnValue.put("FUNDTYPE","01"); returnValue.put("MONEY",factmoney.toString()); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/ContractOtherMoneyNoTax.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/ContractOtherMoneyNoTax.java index a5a051ec4..0e78d0b9e 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/ContractOtherMoneyNoTax.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/ContractOtherMoneyNoTax.java @@ -8,7 +8,7 @@ import com.amarsoft.are.jbo.JBOTransaction; import com.tenwa.comm.exception.BusinessException; import com.tenwa.voucher.service.VoucherJavaParamService; /** - * 其他(购置税/保险/装饰装潢等)(不含税)+GPS(不含税) + * 其他(购置税/保险/装饰装潢等)(不含税) * @author xiezhiwen */ public class ContractOtherMoneyNoTax implements VoucherJavaParamService{ @@ -26,13 +26,10 @@ public class ContractOtherMoneyNoTax implements VoucherJavaParamService{ String INCIDENTAL=param.get("INCIDENTAL")==null?"0.00":param.get("INCIDENTAL"); // 装潢费 String TABLEWARE_FEE=param.get("TABLEWARE_FEE")==null?"0.00":param.get("TABLEWARE_FEE"); - // GPS - String GPS_FEE_FINANCE=param.get("GPS_FEE_FINANCE")==null?"0.00":param.get("GPS_FEE_FINANCE"); BigDecimal sumMoney=new BigDecimal(INSURANCE_PREMIUM) .add(new BigDecimal(PURCHASE_TAX)) .add(new BigDecimal(INCIDENTAL)) - .add(new BigDecimal(TABLEWARE_FEE)) - .add(new BigDecimal(GPS_FEE_FINANCE)); + .add(new BigDecimal(TABLEWARE_FEE)); BigDecimal divisor= new BigDecimal("1.16"); BigDecimal factmoney=sumMoney.divide(divisor, 2, BigDecimal.ROUND_HALF_UP); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/ContractOtherMoneyToTax.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/ContractOtherMoneyToTax.java index 0a35299a4..4453fa16c 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/ContractOtherMoneyToTax.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/ContractOtherMoneyToTax.java @@ -27,16 +27,13 @@ public class ContractOtherMoneyToTax implements VoucherJavaParamService{ String INCIDENTAL=param.get("INCIDENTAL")==null?"0.00":param.get("INCIDENTAL"); // 装潢费 String TABLEWARE_FEE=param.get("TABLEWARE_FEE")==null?"0.00":param.get("TABLEWARE_FEE"); - // GPS - String GPS_FEE_FINANCE=param.get("GPS_FEE_FINANCE")==null?"0.00":param.get("GPS_FEE_FINANCE"); BigDecimal sumMoney=new BigDecimal(EQUIP_AMT) .subtract(new BigDecimal(FIRST_PAYMENT)) .add(new BigDecimal(TABLEWARE_FEE)) .add(new BigDecimal(INSURANCE_PREMIUM)) .add(new BigDecimal(PURCHASE_TAX)) - .add(new BigDecimal(INCIDENTAL)) - .add(new BigDecimal(GPS_FEE_FINANCE)); + .add(new BigDecimal(INCIDENTAL)); BigDecimal divisor= new BigDecimal("1.16"); BigDecimal noTaxMoney=sumMoney.divide(divisor, 2, BigDecimal.ROUND_HALF_UP); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java index 8d660c03d..d642571bb 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoanDistributor.java @@ -51,18 +51,27 @@ public class CreateVoucherLoanDistributor { if("PZ2018070900000003".equals(VOUCHERNO)||"PZ2018080200000065".equals(VOUCHERNO)){ moneyDataSource="LCCT.FIRST_PAYMENT"; } + + //记录保证金 if("PZ2018071000000004".equals(VOUCHERNO)||"PZ2018071000000006".equals(VOUCHERNO)||"PZ2018080300000070".equals(VOUCHERNO)||"PZ2018080300000071".equals(VOUCHERNO)){ moneyDataSource="LCCT.CAUTION_MONEY"; } - if("PZ2018073100000061".equals(VOUCHERNO)||"PZ2018080300000068".equals(VOUCHERNO)){ + // GPS安装服务费参融/不参融 + if("PZ2018073100000061".equals(VOUCHERNO)||"PZ2018080300000068".equals(VOUCHERNO)||"PZ2018082400000147".equals(VOUCHERNO)||"PZ2018082400000148".equals(VOUCHERNO)||"PZ2018082600000151".equals(VOUCHERNO)||"PZ2018082600000152".equals(VOUCHERNO)){ moneyDataSource="LCCT.GPS_FEE"; } + // 记录给经销商放款-其他(购置税/保险/装饰装潢等) if("PZ2018073100000062".equals(VOUCHERNO)||"PZ2018080300000066".equals(VOUCHERNO)){ moneyDataSource="(LCCT.PURCHASE_TAX+LCCT.INSURANCE_PREMIUM+LCCT.INCIDENTAL+LCCT.TABLEWARE_FEE)"; } - //sql= "SELECT "+moneyDataSource+ " AS MONEY,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,LCI.DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMERID,CIF.CUSTOMERNAME FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id WHERE LCCT.FLOWUNID=:FLOWUNID"; + + + // GPS参融 if("PZ2018073100000061".equals(VOUCHERNO)||"PZ2018080300000068".equals(VOUCHERNO)){ - sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/1.16,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/1.16,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE lfit.FLOWUNID=:FLOWUNID"; + sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/1.16,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/1.16,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCCT.GPS_FEE_FINA='finatype02' AND lfit.FLOWUNID=:FLOWUNID"; + // GPS不参融 + }else if("PZ2018082400000147".equals(VOUCHERNO)||"PZ2018082400000148".equals(VOUCHERNO)||"PZ2018082600000151".equals(VOUCHERNO)||"PZ2018082600000152".equals(VOUCHERNO)){ + sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/1.16,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/1.16,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCCT.GPS_FEE_FINA='finatype01' AND lfit.FLOWUNID=:FLOWUNID"; }else { sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id=lci.id LEFT JOIN customer_info cif ON cif.customerid=lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE lfit.FLOWUNID=:FLOWUNID"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java index 9eca80d07..c61f2d252 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractOnhireVoucher.java @@ -32,8 +32,14 @@ public class ContractOnhireVoucher extends BaseBussiness { cvld.CreateVoucher(FlowUnid, "PZ2018073100000062");//记录给经销商放款-其他(购置税/保险/装饰装潢等) --回租 cvld.CreateVoucher(FlowUnid, "PZ2018080300000066");//记录给经销商放款-其他(购置税/保险/装饰装潢等)--直租 - cvld.CreateVoucher(FlowUnid, "PZ2018073100000061");//记录GPS安装服务费(GPS 参融)--回租 - cvld.CreateVoucher(FlowUnid, "PZ2018080300000068");//记录GPS安装服务费(GPS 参融)--直租 + cvld.CreateVoucher(FlowUnid, "PZ2018073100000061");//记录GPS安装服务费(参融)--回租 + cvld.CreateVoucher(FlowUnid, "PZ2018080300000068");//记录GPS安装服务费(参融)--直租 + + cvld.CreateVoucher(FlowUnid, "PZ2018082400000147");//记录GPS安装服务费(不参融)--回租 + cvld.CreateVoucher(FlowUnid, "PZ2018082400000148");//记录GPS安装服务费(不参融)--直租 + + cvld.CreateVoucher(FlowUnid, "PZ2018082600000151");//给经销商放款冲抵GPS(不参融)--回租 + cvld.CreateVoucher(FlowUnid, "PZ2018082600000152");//给经销商放款冲抵GPS(不参融)--直租 CreateVoucherCustomerRentOrFee cvcr=new CreateVoucherCustomerRentOrFee(); cvcr.CreateVoucher(FlowUnid, "PZ2018071000000005");//客户支付的应收账款总金额 @@ -43,15 +49,18 @@ public class ContractOnhireVoucher extends BaseBussiness { cvcr.CreateVoucher(FlowUnid, "PZ2018080300000074");//给经销商放款-差额放款--直租 CreateVoucherHandlingMoney cvhl=new CreateVoucherHandlingMoney(); - cvhl.CreateVoucher(FlowUnid, "PZ2018071000000007");//给经销商放款冲抵确认手续费收入(一次性确认收入)--回租 - cvhl.CreateVoucher(FlowUnid, "PZ2018080300000072");//给经销商放款冲抵确认手续费收入(一次性确认收入)--直租 + cvhl.CreateVoucher(FlowUnid, "PZ2018071000000007");//应收客户手续费(一次性确认收入)--回租 + cvhl.CreateVoucher(FlowUnid, "PZ2018080300000072");//应收客户手续费(一次性确认收入)--直租 - cvhl.CreateVoucher(FlowUnid, "PZ2018071000000009");//给经销商放款冲抵确认收到手续费(按月分摊收入)--回租 - cvhl.CreateVoucher(FlowUnid, "PZ2018080300000073");//给经销商放款冲抵确认收到手续费(按月分摊收入)--直租 + cvhl.CreateVoucher(FlowUnid, "PZ2018071000000009");//应收客户手续费(按月分摊收入)--回租 + cvhl.CreateVoucher(FlowUnid, "PZ2018080300000073");//应收客户手续费(按月分摊收入)--直租 + + cvhl.CreateVoucher(FlowUnid, "PZ2018082600000149");//给经销商放款冲抵手续费--回租 + cvhl.CreateVoucher(FlowUnid, "PZ2018082600000150");//给经销商放款冲抵手续费--直租 CreateVoucherToCommission cvtc = new CreateVoucherToCommission(); cvtc.CreateVoucher(FlowUnid, "PZ2018082000000140");// 记录佣金--回租 - cvtc.CreateVoucher(FlowUnid, "PZ2018082000000141");// 记录佣金--直租 + cvtc.CreateVoucher(FlowUnid, "PZ2018082000000141");// 记录佣金--直租' //CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome(); return "true"; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractTerminate.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractTerminate.java index 9df6716b4..2065db5d9 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractTerminate.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/ContractTerminate.java @@ -28,8 +28,8 @@ public class ContractTerminate extends BaseBussiness { cvct.CreateVoucher(FlowUnid, "PZ2018072100000046");//未实现的利息的税金--回租 cvct.CreateVoucher(FlowUnid, "PZ2018080400000100");//未实现的利息的税金--直租 - cvct.CreateVoucher(FlowUnid, "PZ2018081700000122");//确认未实现利息收入--回租 - cvct.CreateVoucher(FlowUnid, "PZ2018081700000123");//确认未实现利息收入--直租 + cvct.CreateVoucher(FlowUnid, "PZ2018081700000122");//确认未实现利息收入(不含税)--回租 + cvct.CreateVoucher(FlowUnid, "PZ2018081700000123");//确认未实现利息收入(不含税)--直租 cvct.CreateVoucher(FlowUnid, "PZ2018081700000124");//提前还款-确认租金利息税金--回租 cvct.CreateVoucher(FlowUnid, "PZ2018081700000125");//提前还款-确认租金利息税金--直租 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java index 38fd914cf..f7a2e6db9 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/IncomeVoucher.java @@ -27,8 +27,8 @@ public class IncomeVoucher extends BaseBussiness { cvci.CreateVoucher(FlowUnid, "PZ2018072100000031", "feetype4");//回款-收到名义货价--回租 cvci.CreateVoucher(FlowUnid, "PZ2018080400000087", "feetype4");//回款-收到名义货价--直租 - cvci.CreateVoucher(FlowUnid, "PZ2018072100000028", "feetype27");//贴息--回租 - cvci.CreateVoucher(FlowUnid, "PZ2018080400000085", "feetype27");//贴息--直租 + //cvci.CreateVoucher(FlowUnid, "PZ2018072100000028", "feetype27");//收到的贴息--回租 + //cvci.CreateVoucher(FlowUnid, "PZ2018080400000085", "feetype27");//收到的贴息--直租 //cvci.CreateVoucher(FlowUnid, "PZ2018080400000103", "feetype27");//确认贴息收入--直租 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucher.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucher.java index 574a6a31c..b5d41c8e1 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucher.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMethodSettle/RedIncomeVoucher.java @@ -19,13 +19,12 @@ public class RedIncomeVoucher extends BaseBussiness { this.initBussinessParam(Sqlca); String FlowUnid=this.getAttribute("FlowUnid").toString(); CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome(); + cvci.CreateVoucher(FlowUnid, "PZ2018072100000035", "feetype1");//回款反冲-确认收到手续费(一次性收入)--回租 + cvci.CreateVoucher(FlowUnid, "PZ2018080400000111", "feetype1");//回款反冲-确认收到手续费(一次性收入)--直租 cvci.CreateVoucher(FlowUnid, "PZ2018072100000036", "feetype1");//回款反冲-确认收到手续费(按月分摊收入)--回租 cvci.CreateVoucher(FlowUnid, "PZ2018080400000090", "feetype1");//回款反冲-确认收到手续费(按月分摊收入)--直租 - - cvci.CreateVoucher(FlowUnid, "PZ2018072100000035", "feetype1");//回款反冲-确认收到手续费(一次性收入)--回租 - cvci.CreateVoucher(FlowUnid, "PZ2018080400000111", "feetype1");//回款反冲-确认收到手续费(一次性收入)--直租 - + cvci.CreateVoucher(FlowUnid, "PZ2018072100000043", "feetype4");//回款反冲-收到名义货价--回租 cvci.CreateVoucher(FlowUnid, "PZ2018080400000097", "feetype4");//回款反冲-收到名义货价--直租 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java index 9c15acccc..c9721677a 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherMonthSettlement.java @@ -46,7 +46,7 @@ public class CreateVoucherMonthSettlement{ param.clear(); String sql=""; String moneyType="MONEY"; - String modular="月结-确认未实现利息收入"; + String modular=""; if("PZ2018071200000017".equals(voucherNo)||"PZ2018080400000104".equals(voucherNo)) { moneyType="FEEMONEY"; modular="月结-确认手续费";}//月结-确认手续费 if("PZ2018071200000016".equals(voucherNo)||"PZ2018080400000102".equals(voucherNo)) { moneyType="MONEY";modular="月结-确认未实现利息收入";}//月结-确认未实现利息收入 if("PZ2018072100000048".equals(voucherNo)||"PZ2018080400000103".equals(voucherNo)) { moneyType="DISCOUNT";modular="月结-确认贴息收入";}//月结-确认贴息收入 diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToCommission.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToCommission.java index 53ecd48ae..eceb7d762 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToCommission.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherToCommission.java @@ -61,106 +61,97 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception { //MONEYNOTAX=dataList.get(i).get("HANDLFEENOTAX").toString(); //MONEYTAX=dataList.get(i).get("HANDLTAX").toString(); start_date=dataList.get(i).get("START_DATE").toString(); - ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString(); - FACT_DATE =dataList.get(i).get("FACT_DATE").toString(); - CONTRACT_ID=dataList.get(i).get("CONTRACT_ID").toString(); - CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER").toString(); - PROJECT_NAME=dataList.get(i).get("PROJECT_NAME").toString(); - leas_form=dataList.get(i).get("LEAS_FORM").toString(); - DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID"); - DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); - CARID=dataList.get(i).get("CARID"); - CARMODEL=dataList.get(i).get("MODEL"); - CUSTID=dataList.get(i).get("CUSTOMERID"); - CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); - CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); - BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); - - - Map map1=new HashMap(); - map1.put("leas_form", leas_form); - map1.put("startdate", start_date); - String sql1 ="SELECT DIS_ATTRIBUTE,FIX_AMOUNT,DIS_RATIO,PRODUCT_ID FROM LB_PRODUCT_SALVAGE WHERE DATE_FORMAT(effect_start,'%Y/%m/%d')<=DATE_FORMAT(:startdate,'%Y/%m/%d') AND DATE_FORMAT(effect_end,'%Y/%m/%d')>DATE_FORMAT(:startdate,'%Y/%m/%d') AND product_id =:leas_form"; - List> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, map1); - BigDecimal bigMoney=null; - BigDecimal bigMoneyNoTax=null; - BigDecimal bigMoneyTax=null; - BigDecimal taxRate=null; - if(dataList1.size()>0){ - String disAttribute=dataList1.get(0).get("DIS_ATTRIBUTE"); - String fixAmount=dataList1.get(0).get("FIX_AMOUNT"); - String disRatio=dataList1.get(0).get("DIS_RATIO"); - if("01".equals(leas_form)){ - taxRate=new BigDecimal("1.16"); - }else { - taxRate=new BigDecimal("1.06"); - } - if(disAttribute!=null&&!"".equals(disAttribute)){ - if("1".equals(disAttribute)){ - MONEY=fixAmount; - param.put("FACT_MONEY",MONEY); - bigMoneyNoTax=new BigDecimal(MONEY).divide(taxRate,2, BigDecimal.ROUND_HALF_UP); - bigMoneyTax=new BigDecimal(MONEY).subtract(new BigDecimal(MONEY).divide(taxRate,2, BigDecimal.ROUND_HALF_UP)); - param.put("INTERESTNOTAX",bigMoneyNoTax.toString()); - param.put("TAX",bigMoneyTax.toString()); + ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString(); + FACT_DATE =dataList.get(i).get("FACT_DATE").toString(); + CONTRACT_ID=dataList.get(i).get("CONTRACT_ID").toString(); + CONTRACT_NUMBER=dataList.get(i).get("CONTRACT_NUMBER").toString(); + PROJECT_NAME=dataList.get(i).get("PROJECT_NAME").toString(); + leas_form=dataList.get(i).get("LEAS_FORM").toString(); + DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID"); + DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME"); + CARID=dataList.get(i).get("CARID"); + CARMODEL=dataList.get(i).get("MODEL"); + CUSTID=dataList.get(i).get("CUSTOMERID"); + CUSTNAME=dataList.get(i).get("CUSTOMERNAME"); + CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE"); + BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE"); + + + Map map1=new HashMap(); + map1.put("leas_form", leas_form); + map1.put("startdate", start_date); + String sql1 ="SELECT DIS_ATTRIBUTE,FIX_AMOUNT,DIS_RATIO,PRODUCT_ID FROM LB_PRODUCT_SALVAGE WHERE DATE_FORMAT(effect_start,'%Y/%m/%d')<=DATE_FORMAT(:startdate,'%Y/%m/%d') AND DATE_FORMAT(effect_end,'%Y/%m/%d')>DATE_FORMAT(:startdate,'%Y/%m/%d') AND product_id =:leas_form"; + List> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, map1); + BigDecimal bigMoney=null; + BigDecimal bigMoneyNoTax=null; + BigDecimal bigMoneyTax=null; + BigDecimal taxRate=null; + if(dataList1.size()>0){ + String disAttribute=dataList1.get(0).get("DIS_ATTRIBUTE"); + String fixAmount=dataList1.get(0).get("FIX_AMOUNT"); + String disRatio=dataList1.get(0).get("DIS_RATIO"); + if("01".equals(leas_form)){ + taxRate=new BigDecimal("1.16"); + }else { + taxRate=new BigDecimal("1.06"); } - if("2".equals(disAttribute)){ - bigMoney=new BigDecimal(MONEY) - .multiply(new BigDecimal(disRatio)) - .divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP); - bigMoneyNoTax=bigMoney.divide(taxRate,2,BigDecimal.ROUND_HALF_UP); - bigMoneyTax=bigMoney.subtract(bigMoneyNoTax); - param.put("FACT_MONEY",bigMoney.toString()); - param.put("INTERESTNOTAX",bigMoneyNoTax.toString()); - param.put("TAX",bigMoneyTax.toString()); + if(disAttribute!=null&&!"".equals(disAttribute)){ + if("1".equals(disAttribute)){ + MONEY=fixAmount; + param.put("FACT_MONEY",MONEY); + bigMoneyNoTax=new BigDecimal(MONEY).divide(taxRate,2, BigDecimal.ROUND_HALF_UP); + bigMoneyTax=new BigDecimal(MONEY).subtract(new BigDecimal(MONEY).divide(taxRate,2, BigDecimal.ROUND_HALF_UP)); + param.put("INTERESTNOTAX",bigMoneyNoTax.toString()); + param.put("TAX",bigMoneyTax.toString()); + } + if("2".equals(disAttribute)){ + bigMoney=new BigDecimal(MONEY) + .multiply(new BigDecimal(disRatio)) + .divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP); + bigMoneyNoTax=bigMoney.divide(taxRate,2,BigDecimal.ROUND_HALF_UP); + bigMoneyTax=bigMoney.subtract(bigMoneyNoTax); + param.put("FACT_MONEY",bigMoney.toString()); + param.put("INTERESTNOTAX",bigMoneyNoTax.toString()); + param.put("TAX",bigMoneyTax.toString()); + } + } + param.put("ACCOUNT_DATE",ACCOUNT_DATE); + param.put("FACT_DATE",FACT_DATE); + param.put("CONTRACT_ID",CONTRACT_ID); + param.put("CONTRACT_NUMBER",CONTRACT_NUMBER); + param.put("PROJECT_NAME",PROJECT_NAME); + param.put("LEAS_FORM",leas_form); + param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID); + param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); + param.put("CARID",CARID); + param.put("CARMODEL",CARMODEL); + param.put("CUSTID",DISTRIBUTOR_ID); + param.put("CUSTNAME",DISTRIBUTOR_NAME); + param.put("CUSTOMERTYPE",CUSTOMERTYPE); + param.put("BUSINESSTYPE",BUSINESSTYPE); + + if("1".equals(BUSINESSTYPE)){ + param.put("LEASFORMASSET", "04"); // 融资租赁资产 + param.put("DEPT", "02"); // 部门 + if("03".equals(CUSTOMERTYPE)){ // 如果是个人业务 + param.put("LEASINCOMEFORM", "02"); // C端 + }else if("01".equals(CUSTOMERTYPE)){ + param.put("LEASINCOMEFORM", "01"); // B端 + } + } + //param.put("FUNDTYPE", ""); // 主营类型 + param.put("BUSINESSTYPE", "06"); + + param.put("FlowUnid", FlowUnid); + map.clear(); + map.put("PROJ_TYPE", leas_form); + map.put("VOUCHER_NO", VOUCHERNO); + BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); + + if(vouch!=null){ + vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); } } - param.put("ACCOUNT_DATE",ACCOUNT_DATE); - param.put("FACT_DATE",FACT_DATE); - param.put("CONTRACT_ID",CONTRACT_ID); - param.put("CONTRACT_NUMBER",CONTRACT_NUMBER); - param.put("PROJECT_NAME",PROJECT_NAME); - param.put("LEAS_FORM",leas_form); - param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID); - param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME); - param.put("CARID",CARID); - param.put("CARMODEL",CARMODEL); - param.put("CUSTID",DISTRIBUTOR_ID); - param.put("CUSTNAME",DISTRIBUTOR_NAME); - param.put("CUSTOMERTYPE",CUSTOMERTYPE); - param.put("BUSINESSTYPE",BUSINESSTYPE); - - if("1".equals(BUSINESSTYPE)){ - param.put("LEASFORMASSET", "04"); // 融资租赁资产 - param.put("DEPT", "02"); // 部门 - if("03".equals(CUSTOMERTYPE)){ // 如果是个人业务 - param.put("LEASINCOMEFORM", "02"); // C端 - }else if("01".equals(CUSTOMERTYPE)){ - param.put("LEASINCOMEFORM", "01"); // B端 - } - } - //param.put("FUNDTYPE", ""); // 主营类型 - param.put("BUSINESSTYPE", "06"); - - param.put("FlowUnid", FlowUnid); - map.clear(); - map.put("PROJ_TYPE", leas_form); - map.put("VOUCHER_NO", VOUCHERNO); - BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); - - if(vouch!=null){ - vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca); - } - - - - } - - - - - - } } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java index 8971c10aa..fdb6f6ea7 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java @@ -47,22 +47,23 @@ public class InsertVoucherRentIncome { map.put("VOUCHER_NO", VOUCHERNO); BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); if(vouch!=null){ - //网银收租金 + //收到的租金--网银 if("PZ2018072100000024".equals(VOUCHERNO)||"PZ2018080400000081".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.LOAN_DIRECTION='1' THEN lvri.rent ELSE 0.00 END,CASE WHEN lv.LOAN_DIRECTION='2' THEN lvri.rent ELSE 0.00 END,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018072100000024','PZ2018080400000081')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' and f58 is not null) and lvri.rent>0 and lvri.EBANK_NUMBER is not null and lvri.EBANK_NUMBER<>'' ORDER BY lvri.voucher_f3 "; } - //卡扣收租金 + //收到的租金--卡扣 if("PZ2018082100000142".equals(VOUCHERNO)||"PZ2018082100000143".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.LOAN_DIRECTION='1' THEN lvri.rent ELSE 0.00 END,CASE WHEN lv.LOAN_DIRECTION='2' THEN lvri.rent ELSE 0.00 END,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018082100000142','PZ2018082100000143')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' and f58 is not null) and lvri.rent>0 and (lvri.EBANK_NUMBER is null or lvri.EBANK_NUMBER='') ORDER BY lvri.voucher_f3 "; } - //网银收罚息 + //收到的逾期利息--网银 if("PZ2018072100000025".equals(VOUCHERNO)||"PZ2018080400000082".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number='1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number='2' THEN ROUND(lvri.penalty/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2) WHEN lv.sort_number='3' THEN lvri.penalty-(ROUND(lvri.penalty/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2)) ELSE 0.00 END AS f8,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018072100000025','PZ2018080400000082')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty>0 AND lvri.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER<>'' ORDER BY lvri.voucher_f3"; } - //卡扣收罚息 + //收到的逾期利息--卡扣 if("PZ2018082100000144".equals(VOUCHERNO)||"PZ2018082100000145".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number='1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number='2' THEN ROUND(lvri.penalty/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2) WHEN lv.sort_number='3' THEN lvri.penalty-(ROUND(lvri.penalty/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2)) ELSE 0.00 END AS f8,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018082100000144','PZ2018082100000145')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty>0 and (lvri.EBANK_NUMBER is null or lvri.EBANK_NUMBER='') ORDER BY lvri.voucher_f3"; } + // 收到的贴息 if("PZ2018072100000028".equals(VOUCHERNO)||"PZ2018080400000085".equals(VOUCHERNO)){ sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的贴息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number='1' THEN lvri.rent ELSE 0.00 END as f7,CASE WHEN lv.sort_number='2' THEN round(lvri.rent/case when lci.leas_form='01' then 1.16 else 1.06 end,2) WHEN lv.sort_number='3' then lvri.rent-(ROUND(lvri.rent/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2)) ELSE 0.00 END as f8,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_discount_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018080400000085','PZ2018072100000028')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的贴息%' and f58 is not null) and lvri.rent>0 ORDER BY lvri.voucher_f3"; } diff --git a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java index 64fb19e34..302bd0cc4 100644 --- a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java @@ -109,8 +109,7 @@ public class CreateVoucherServiceImpl { } /** - * - * @param tx + * @param tx 事物 * @param param 生成凭证参数 必须参数:PROJ_TYPE 项目类型,MODULAR_NUMBER 模块编号 * @throws Exception */ diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java index adf62d39b..709cdf1b5 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java @@ -89,7 +89,7 @@ public class VoucherToV8Impl implements VoucherService { Map d=new HashMap(); String contracid=list.get(i).get("CONTRACT_ID");//合同号 - String modularNumber=param.get("MODULAR_NUMBER");//凭证编号 + String modularNumber=param.get("MODULAR_NUMBER");//凭证模板名称 //网银导入、代收租金 的凭证不需要合同号 if(!Return_Dealer_Margin.equals(modularNumber)&&!Receive_Dealer_Margin.equals(modularNumber)&&!moduleName_value.equals(modularNumber) && !SPECIAL_MODULENAME.equals(modularNumber)&&!Return_surplus_income.equals(modularNumber) &&!Return_surplus_send.equals(modularNumber) && !ebank_income.equals(modularNumber)&& Tools.isNullOrEmpty(contracid)