diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentCarTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentCarTradition.java index 095c302b0..4b91c46dc 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentCarTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentCarTradition.java @@ -54,11 +54,11 @@ public class CreateVoucherActualPaymentCarTradition extends BaseBussiness{ //购置融资租赁资产-汽车 if("PZ2018092500000196".equals(VOUCHERNO) || "PZ2018092600000234".equals(VOUCHERNO) || "PZ2018092500000198".equals(VOUCHERNO) || "PZ2018092600000236".equals(VOUCHERNO)) { - sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,LFIT1.ACCOUNT_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_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 LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID=:FLOWUNID "; + sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_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 LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID=:FLOWUNID "; }else if("PZ2018092500000197".equals(VOUCHERNO) || "PZ2018092600000235".equals(VOUCHERNO)) {// 购置融资租赁资产-其他 - sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,LFIT4.ACCOUNT_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_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 LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID = :FLOWUNID "; + sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_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 LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID = :FLOWUNID "; }else{// 经销商支付的预付款(首付) - sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,LFIT3.ACCOUNT_DATE AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_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 LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID = :FLOWUNID "; + sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,(LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS INSURANCE_PREMIUM_OTHER,ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS INSURANCE_PREMIUM_OTHER_NOTAX,((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) - ROUND((LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY)/getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS INSURANCE_PREMIUM_OTHER_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY) AS EQUIP_INSURACE_PREMIUM_OTHER,LFIT3.FIRST_PAYMENT,ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2) AS FIRST_PAYMENT_NOTAX,(LFIT3.FIRST_PAYMENT - ROUND(LFIT3.FIRST_PAYMENT / getTax(LCI.LEAS_FORM,'本金',LCI.INPUTTIME),2)) AS FIRST_PAYMENT_TAX,(LFIT1.EQUIP + LFIT4.INSURANCE_PREMIUM + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT) AS EQUIP_PREMIUM_OTHER_SUBFIRST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS INSURANCE_PREMIUM,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype21') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_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 LCI.BUSINESSTYPE = '3' AND LFIT1.FLOWUNID = :FLOWUNID "; } // 非差额放款部分 @@ -98,13 +98,13 @@ public class CreateVoucherActualPaymentCarTradition extends BaseBussiness{ 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").toString();// 经销商编号 - DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME").toString();// 经销商名称 + DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");// 经销商编号 + DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");// 经销商名称 CUSTOMERID=dataList.get(i).get("CUSTOMERID").toString();// 客户编号 CUSTOMERNAME=dataList.get(i).get("CUSTOMERNAME").toString();// 客户名称 CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE").toString();// 客户类别 BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE").toString();// 业务类型 - ACC_NUMBER=dataList.get(i).get("ACC_NUMBER").toString();// 银行账号 + ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");// 银行账号 // 将数据封装到定义好的map集合中 param.put("EQUIP",EQUIP); diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java index 4169c4ac5..69abb60a9 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherActualPaymentTradition.java @@ -53,26 +53,8 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{ String BUSINESSTYPE=null; // 业务类型 String ACC_NUMBER=null; // 银行账号 String sql=""; - String dateType=""; // 记账日期 - if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092600000223".equals(VOUCHERNO) || "PZ2018092500000161".equals(VOUCHERNO) || "PZ2018092600000225".equals(VOUCHERNO)) { - // 设备款 - dateType=" LFIT1.ACCOUNT_DATE "; - }else if("PZ2018092500000159".equals(VOUCHERNO) || "PZ2018092600000223".equals(VOUCHERNO)) { - // 其他 - dateType=" LFIT2.ACCOUNT_DATE "; - }else if("PZ2018092500000162".equals(VOUCHERNO) || "PZ2018092600000226".equals(VOUCHERNO) || "PZ2018092500000163".equals(VOUCHERNO) || "PZ2018092600000227".equals(VOUCHERNO)) { - // 首付 - dateType=" LFIT3.ACCOUNT_DATE "; - }else if("PZ2018092500000164".equals(VOUCHERNO) || "PZ2018092600000229".equals(VOUCHERNO) || "PZ2018092500000165".equals(VOUCHERNO) || "PZ2018092600000230".equals(VOUCHERNO) || "PZ2018092500000169".equals(VOUCHERNO) || "PZ2018092600000233".equals(VOUCHERNO)) { - // 保证金 - dateType=" LFIT4.ACCOUNT_DATE "; - }else if("PZ2018092500000166".equals(VOUCHERNO) || "PZ2018092600000231".equals(VOUCHERNO) || "PZ2018092500000167".equals(VOUCHERNO) || "PZ2018092600000232".equals(VOUCHERNO)) { - // 手续费 - dateType=" LFIT5.ACCOUNT_DATE "; - } - - sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP / getTax (LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax (LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,LFIT2.OTHER_MONEY,ROUND(LFIT2.OTHER_MONEY / getTax (LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS OTHERNOTAX,(LFIT2.OTHER_MONEY - ROUND(LFIT2.OTHER_MONEY / getTax (LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS OTHERTAX,(LFIT1.EQUIP + LFIT2.OTHER_MONEY) AS EQUIP_OTHER,LFIT3.FIRST_PAYMENT,LFIT4.GUARANTY,LFIT5.HANDLING_CHARGE_MONEY,ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax (LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2) AS HANDLING_CHARGE_MONEY_NOTAX,(LFIT5.HANDLING_CHARGE_MONEY - ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax (LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2)) AS HANDLING_CHARGE_MONEY_TAX,(LFIT1.EQUIP + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT - LFIT4.GUARANTY - LFIT5.HANDLING_CHARGE_MONEY) AS OTHERS_MATH, '"+dateType+"' AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS GUARANTY,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS HANDLING_CHARGE_MONEY,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1') LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_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 LCI.BUSINESSTYPE = '2' AND LFIT1.FLOWUNID = :FLOWUNID "; + sql="SELECT LFIT1.EQUIP,ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS EQUIPNOTAX,(LFIT1.EQUIP - ROUND(LFIT1.EQUIP / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS EQUIPTAX,LFIT2.OTHER_MONEY,ROUND(LFIT2.OTHER_MONEY / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2) AS OTHERNOTAX,(LFIT2.OTHER_MONEY - ROUND(LFIT2.OTHER_MONEY / getTax(LCI.LEAS_FORM,'本金',LCI.`INPUTTIME`),2)) AS OTHERTAX,(LFIT1.EQUIP + LFIT2.OTHER_MONEY) AS EQUIP_OTHER,LFIT3.FIRST_PAYMENT,LFIT4.GUARANTY,LFIT5.HANDLING_CHARGE_MONEY,ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2) AS HANDLING_CHARGE_MONEY_NOTAX,(LFIT5.HANDLING_CHARGE_MONEY - ROUND(LFIT5.HANDLING_CHARGE_MONEY / getTax(LCI.LEAS_FORM,'手续费',LCI.INPUTTIME),2)) AS HANDLING_CHARGE_MONEY_TAX,(LFIT1.EQUIP + LFIT2.OTHER_MONEY - LFIT3.FIRST_PAYMENT - LFIT4.GUARANTY - LFIT5.HANDLING_CHARGE_MONEY) AS OTHERS_MATH, DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID = LCI.`ID` LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP,MAX(ACCOUNTING_DATE) AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP GROUP BY FLOWUNID) LFIT1 ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS OTHER_MONEY,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29') LFIT2 ON LFIT2.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS FIRST_PAYMENT,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5') LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS GUARANTY,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2') LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,FACT_MONEY AS HANDLING_CHARGE_MONEY,SETTLE_METHOD,ACCOUNTING_DATE AS ACCOUNT_DATE FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1') LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_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 LCI.BUSINESSTYPE = '2' AND LFIT1.FLOWUNID = :FLOWUNID "; // 非差额放款部分 if("PZ2018092500000161".equals(VOUCHERNO) || "PZ2018092600000225".equals(VOUCHERNO)){ @@ -119,13 +101,13 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{ 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").toString();// 经销商编号 - DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME").toString();// 经销商名称 + DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");// 经销商编号 + DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");// 经销商名称 CUSTOMERID=dataList.get(i).get("CUSTOMERID").toString();// 客户编号 CUSTOMERNAME=dataList.get(i).get("CUSTOMERNAME").toString();// 客户名称 CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE").toString();// 客户类别 BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE").toString();// 业务类型 - ACC_NUMBER=dataList.get(i).get("ACC_NUMBER").toString();// 银行账号 + ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");// 银行账号 // 将数据封装到定义好的map集合中 param.put("EQUIP",EQUIP); diff --git a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java index 74b8e224b..7b064d4d2 100644 --- a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java @@ -276,7 +276,7 @@ public class CreateVoucherServiceImpl { try{ String valuemode=bo.getAttribute("VALUE_MODE").getString(); System.out.println(valuemode); - Class c=(Class)Class.forName(bo.getAttribute("VALUE_MODE").getString()); + Class c=(Class)Class.forName("com.tenwa.voucher.CreateVoucherProcess.VoucherGetMoneyForTradition.ContractGetMoneyToEquip"); ps=c.newInstance(); }catch(Exception e){ ps=null; @@ -295,12 +295,7 @@ public class CreateVoucherServiceImpl { subData.put("F6",sub.getAttribute("id").getString());//科目编码 subData.put("F1",dataTemp.get("ACCOUNT_DATE"));//会计处理日 String VOUCHERNO = param.get("VOUCHERNO"); - String sort = bo.getAttribute("SORT_NUMBER").getString(); - if("1".equals(sort)) { - param.put("BUSINESSTYPE", "9201"); - }else if("2".equals(sort)) { - param.put("BUSINESSTYPE", "92"); - } + if("1".equals(bo.getAttribute("LOAN_DIRECTION").getString())){//借贷方向 subData.put("F7", dataTemp.get("MONEY"));//借方金额 subData.put("F8", "0");//贷方金额 @@ -368,6 +363,17 @@ public class CreateVoucherServiceImpl { String LEAS_FORM = param.get("LEAS_FORM"); // 获取当前凭证借贷序号 String SORT_NUMBER = bo.getAttribute("SORT_NUMBER").getString(); + // 直租记录佣金 + if("PZ2018082000000141".equals(VOUCHERNO)) { + if("01".equals(LEAS_FORM)) { + if("1".equals(SORT_NUMBER)) { + param.put("BUSINESSTYPE", "9201"); + }else if("2".equals(SORT_NUMBER)) { + param.put("BUSINESSTYPE", "92"); + } + } + } + // 汽车类应收账款总金额根据分录配置辅助核算值---除了没有的和其他(10), 其他都是默认汽车(04) if("PZ2018071000000005".equals(voucherid) || "PZ2018080300000069".equals(voucherid)) { if("01".equals(LEAS_FORM)) {//直租