凭证相关

This commit is contained in:
xiezhiwen 2018-10-11 18:23:10 +08:00
parent 90d4129a50
commit 0af993bb41
3 changed files with 23 additions and 35 deletions

View File

@ -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);

View File

@ -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);

View File

@ -276,7 +276,7 @@ public class CreateVoucherServiceImpl {
try{
String valuemode=bo.getAttribute("VALUE_MODE").getString();
System.out.println(valuemode);
Class<VoucherJavaParamService> c=(Class<VoucherJavaParamService>)Class.forName(bo.getAttribute("VALUE_MODE").getString());
Class<VoucherJavaParamService> c=(Class<VoucherJavaParamService>)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)) {//直租