#21818 提前结清凭证,网银已经核销过的,客商用实际客商等
https://ones.ai/project/#/team/938bndAi/task/2DMm6j6sNNEWVg8V
This commit is contained in:
parent
6637d209d3
commit
92ddce0eef
@ -39,9 +39,12 @@ public class CreateVoucherContractTerminate {
|
||||
String DISTRIBUTOR_NAME=null;
|
||||
String CUSTID=null;
|
||||
String CUSTNAME=null;
|
||||
String CUSTID2=null;// 该网银已经收过款, 预收科目的客户用这个
|
||||
String CUSTNAME2=null;
|
||||
String CUSTOMERTYPE=null;
|
||||
String BUSINESSTYPE=null;
|
||||
String TAX_NUM=null;
|
||||
String YES_OR_NO=null;
|
||||
|
||||
// 金额类型
|
||||
String date1="";
|
||||
@ -74,13 +77,13 @@ public class CreateVoucherContractTerminate {
|
||||
sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY, ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(LRPT.INTEREST, 0) - ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(LRPT.INTEREST, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 收到的逾期租金
|
||||
}else if("PZ2018081700000127".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY, IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX, IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, SUM(LRPT.RENT) RENT, SUM(LRPT.CORPUS) CORPUS, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID, SUM(LRI.RENT) RENT, SUM(LRI.CORPUS) CORPUS, SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND ( IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) ) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
sql="SELECT IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) AS MONEY, IFNULL(LRPT.CORPUS, 0) - IFNULL(LRI.CORPUS, 0) AS MONEYNOTAX, IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.EBANK_NUMBER, 0) GROUP BY EBANK_NUMBER) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, SUM(LRPT.RENT) RENT, SUM(LRPT.CORPUS) CORPUS, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID = :FLOWUNID AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID, SUM(LRI.RENT) RENT, SUM(LRI.CORPUS) CORPUS, SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID) LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND ( IFNULL(LRPT.RENT, 0) - IFNULL(LRI.RENT, 0) ) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 将当月利息转收入
|
||||
}else if("PZ2018081700000129".equals(VOUCHERNO)) {
|
||||
sql="SELECT ROUND( ( getTax ( lci.LEAS_FORM, '租息', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) AS MONEY, ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) - ROUND( IFNULL(LRI.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(LRPT.INTEREST, 0) - ROUND( IFNULL(LRPT.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) - ( IFNULL(LRI.INTEREST, 0) - ROUND( IFNULL(LRI.INTEREST, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.PLAN_LIST, SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LCRAT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID, LRPT.PLAN_LIST) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID, LRI.PLAN_LIST, SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID, LRI.PLAN_LIST) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST = LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND ( IFNULL(LRPT.INTEREST, 0) - IFNULL(LRI.INTEREST, 0) ) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 收到的提前还款剩余本金
|
||||
}else if("PZ2018081700000136".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY, ( IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0) ) AS MONEYNOTAX, IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(LCRAT.CORPUS_OVERAGE, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY, ( IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0) ) AS MONEYNOTAX, IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.EBANK_NUMBER, 0) GROUP BY EBANK_NUMBER) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(LCRAT.CORPUS_OVERAGE, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
// 确认贴息收入
|
||||
}else if("PZ2018072100000046".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(CRM.DISCOUNT, 0) AS MONEY, ROUND( IFNULL(CRM.DISCOUNT, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(CRM.DISCOUNT, 0) - ROUND( IFNULL(CRM.DISCOUNT, 0) / getTax ( LCI.LEAS_FORM, '租息', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID, CRM.CONTRACT_ID, SUM(IFNULL(CRM.DISCOUNT, 0)) AS DISCOUNT FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND IFNULL(CRM.DISCOUNT, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
@ -88,7 +91,7 @@ public class CreateVoucherContractTerminate {
|
||||
}else if("PZ2018081700000122".equals(VOUCHERNO)) {
|
||||
sql="SELECT IFNULL(CRM.FEE, 0) AS MONEY, ROUND( IFNULL(CRM.FEE, 0) / getTax ( LCI.LEAS_FORM, '手续费', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( IFNULL(CRM.FEE, 0) - ROUND( IFNULL(CRM.FEE, 0) / getTax ( LCI.LEAS_FORM, '手续费', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID, CRM.CONTRACT_ID, SUM(IFNULL(CRM.FEE, 0)) AS FEE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID, LRPT.CONTRACT_ID, MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND LCCT.HANDLING_CHARGE_MONEY_TYPE = '0020' AND IFNULL(CRM.FEE, 0) > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
}else {
|
||||
sql="SELECT ROUND( ( getTax ( lci.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, "+date1+" AS MONEY, ROUND( "+date1+" / getTax ( LCI.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( "+date1+" - ROUND( "+date1+" / getTax ( LCI.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE FROM LC_EBANK_TEMP WHERE FLOWUNID=:FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT WHERE LRPT.FLOWUNID=:FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND "+date1+" > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
sql="SELECT ROUND( ( getTax ( lci.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ) - 1 ) * 100, 0 ) AS TAX_NUM, "+date1+" AS MONEY, ROUND( "+date1+" / getTax ( LCI.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ), 2 ) AS MONEYNOTAX, ( "+date1+" - ROUND( "+date1+" / getTax ( LCI.LEAS_FORM, '"+taxType+"', LCCT.START_DATE ), 2 ) ) AS MONEYTAX, DATE_FORMAT(NOW(), '%Y/%m/%d') AS ACCOUNT_DATE, DATE_FORMAT(LE.FACT_DATE, '%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, DI.F_I_TYPE, CIF.CUSTOMER_NUM AS CUSTOMERID, CIF.CUSTOMERNAME, CIF.CUSTOMERTYPE, LPI.BUSINESSTYPE, CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LE.EBANK_NUMBER, 0) GROUP BY EBANK_NUMBER) IS NULL THEN 'YES' ELSE 'NO' END AS YES_OR_NO, CASE WHEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMER_NUM FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_CODING FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) ELSE CIF.CUSTOMER_NUM END AS CUSTOMERID2, CASE WHEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT CUSTOMERNAME FROM CUSTOMER_INFO WHERE CUSTOMERID = LE.CUSTOMER_ID) WHEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) IS NOT NULL THEN (SELECT DISTRIBUTOR_NAME FROM DISTRIBUTOR_INFO WHERE DISTRIBUTOR_NO = LE.CUSTOMER_ID) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT FLOWUNID, MAX(FACT_DATE) AS FACT_DATE, MAX(EBANK_NUMBER) AS EBANK_NUMBER, MAX(CUSTOMER_ID) AS CUSTOMER_ID FROM LC_EBANK_TEMP WHERE FLOWUNID = :FLOWUNID GROUP BY FLOWUNID) LE ON LE.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID, LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT WHERE LRPT.FLOWUNID = :FLOWUNID GROUP BY LRPT.FLOWUNID, LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN = 'Y' AND "+date1+" > 0 AND LCRAT.FLOWUNID = :FLOWUNID";
|
||||
}
|
||||
|
||||
// 执行SQL, 获取结果集
|
||||
@ -115,6 +118,8 @@ public class CreateVoucherContractTerminate {
|
||||
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
|
||||
CUSTID=dataList.get(i).get("CUSTOMERID");
|
||||
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
|
||||
CUSTID2=dataList.get(i).get("CUSTOMERID2");
|
||||
CUSTNAME2=dataList.get(i).get("CUSTOMERNAME2");
|
||||
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
|
||||
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
|
||||
TAX_NUM=dataList.get(i).get("TAX_NUM");
|
||||
@ -141,6 +146,9 @@ public class CreateVoucherContractTerminate {
|
||||
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
|
||||
param.put("CUSTID",CUSTID);
|
||||
param.put("CUSTNAME",CUSTNAME);
|
||||
param.put("YES_OR_NO",YES_OR_NO);
|
||||
param.put("CUSTID2",CUSTID2);
|
||||
param.put("CUSTNAME2",CUSTNAME2);
|
||||
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
|
||||
param.put("BUSINESSTYPE",BUSINESSTYPE);
|
||||
param.put("VOUCHERNO",VOUCHERNO);
|
||||
|
||||
@ -609,6 +609,38 @@ public class CreateVoucherServiceImpl {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 提前结清,如果网银已经收过款,预收账款用实际客户
|
||||
*/
|
||||
if("PZ2018081700000127".equals(VOUCHERNO) || "PZ2018081700000128".equals(VOUCHERNO) || "PZ2018081700000130".equals(VOUCHERNO)
|
||||
|| "PZ2018081700000132".equals(VOUCHERNO) || "PZ2018072100000047".equals(VOUCHERNO) || "PZ2018081700000138".equals(VOUCHERNO)
|
||||
|| "PZ2018081700000134".equals(VOUCHERNO) || "PZ2018081700000136".equals(VOUCHERNO)) {
|
||||
|
||||
String YES_OR_NO = param.get("YES_OR_NO");// 判断是否使用默认编码
|
||||
String CUSTID2 = param.get("CUSTID2");
|
||||
String CUSTNAME2 = param.get("CUSTNAME2");
|
||||
|
||||
if(!"PZ2018081700000136".equals(VOUCHERNO)){
|
||||
if("YES".equals(YES_OR_NO) && "1".equals(SORT_NUMBER)){
|
||||
subData.put("CUSTID","APZL00000000DC");//虚拟账户
|
||||
subData.put("CUSTNAME","汽车C端待查客户");//虚拟账户
|
||||
}else if("NO".equals(YES_OR_NO) && "1".equals(SORT_NUMBER)){
|
||||
subData.put("CUSTID",CUSTID2);//虚拟账户
|
||||
subData.put("CUSTNAME",CUSTNAME2);//虚拟账户
|
||||
}
|
||||
}
|
||||
|
||||
if("PZ2018081700000136".equals(VOUCHERNO)){
|
||||
if("YES".equals(YES_OR_NO) && "2".equals(SORT_NUMBER)){
|
||||
subData.put("CUSTID","APZL00000000DC");//虚拟账户
|
||||
subData.put("CUSTNAME","汽车C端待查客户");//虚拟账户
|
||||
}else if("NO".equals(YES_OR_NO) && "2".equals(SORT_NUMBER)){
|
||||
subData.put("CUSTID",CUSTID2);//虚拟账户
|
||||
subData.put("CUSTNAME",CUSTNAME2);//虚拟账户
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
subData.put("SORT_NUMBER", SORT_NUMBER);
|
||||
list.add(subData);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user