去除代偿反冲凭证相关,起租后合同变更汽车流程结束生成凭证方法脚本sql

This commit is contained in:
XZW 2020-02-13 10:25:04 +08:00
parent 6a886f7574
commit b547afed34
4 changed files with 25 additions and 22 deletions

View File

@ -50,10 +50,10 @@ public class IncomeVoucher extends BaseBussiness {
/**
* 代偿反冲
*/
CreateVoucherRedCompensatory cvrcs = new CreateVoucherRedCompensatory();
/*CreateVoucherRedCompensatory cvrcs = new CreateVoucherRedCompensatory();
cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000030",userid,Sqlca);//代偿租金
cvrcs.CreateVoucher(FlowUnid,"PZ2019071500000031",userid,Sqlca);//代偿逾期利息
*/
CreateVoucherEbankMoney cvem = new CreateVoucherEbankMoney();
cvem.CreateVoucher(FlowUnid, "PZ2019070100000018", userid,Sqlca);// 回款-多余回款分解

View File

@ -54,11 +54,11 @@ public class CreateVoucherRentIncome {
map.put("FLOWUNID", flowunid);
if (("PZ2018072100000024".equals(VOUCHERNO)) || ("PZ2019070100000016".equals(VOUCHERNO))) {
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) + (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST,LRP.ID AS F58,CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LRIT.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) 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) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.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(LRIT.RENT, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND NOT EXISTS(SELECT F58 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%代偿-收到代偿的租金%') AND LRIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'理쏜',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,(IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax(LCI.LEAS_FORM,'굶쏜',LCCT.START_DATE),2)) AS CORPUS_TAX,((IFNULL(LRIT.CORPUS, 0) - ROUND(IFNULL(LRIT.CORPUS, 0) / getTax(LCI.LEAS_FORM,'굶쏜',LCCT.START_DATE),2)) + (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))) AS CORPUS_ADD_INTEREST_TAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST,LRP.ID AS F58,CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER = IFNULL(LRIT.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) 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) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.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(LRIT.RENT, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LRIT.FLOWUNID = :FLOWUNID ";
} else if (("PZ2018080400000081".equals(VOUCHERNO)) || ("PZ2019070100000017".equals(VOUCHERNO))) {
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'租金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST,LRP.ID AS F58,CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.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) 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) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.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(LRIT.RENT, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') <> DATE_FORMAT(lrp.plan_date, '%Y-%m') AND NOT EXISTS(SELECT F58 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%代偿-收到代偿的租金%') AND LRIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'理쏜',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2)) AS MONEYTAX,IFNULL(LRIT.RENT, 0) AS RENTMONEY,IFNULL(LRIT.CORPUS, 0) AS CORPUS,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST,LRP.ID AS F58,CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.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) 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) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND lrp.plan_list = lrit.plan_list LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.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(LRIT.RENT, 0) > 0 AND DATE_FORMAT(NOW(), '%Y-%m') <> DATE_FORMAT(lrp.plan_date, '%Y-%m') AND LRIT.FLOWUNID = :FLOWUNID ";
} else if (("PZ2018072100000025".equals(VOUCHERNO)) || ("PZ2019070100000014".equals(VOUCHERNO))) {
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY, 0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY, 0) / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY, 0) - ROUND(IFNULL(LRIT.PENALTY, 0) / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST,LRP.ID AS F58,CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.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) 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) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.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(LRIT.PENALTY, 0) > 0 AND NOT EXISTS(SELECT F58 FROM VOUCHER_V8 WHERE F58=LRP.ID AND F59=1 AND MODULE_NAME LIKE '%代偿-收到代偿的租金%') AND LRIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'待퍅적口',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY, 0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY, 0) / getTax(LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY, 0) - ROUND(IFNULL(LRIT.PENALTY, 0) / getTax(LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(CASE WHEN (LRIT.ACCOUNTING_DATE IS NOT NULL OR LRIT.ACCOUNTING_DATE != '') THEN LRIT.ACCOUNTING_DATE ELSE NOW() END,'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(CASE WHEN (LRIT.HIRE_DATE IS NOT NULL OR LRIT.HIRE_DATE != '') THEN LRIT.HIRE_DATE ELSE NOW() END,'%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,LRIT.PLAN_LIST,LRP.ID AS F58,CASE WHEN (SELECT EBANK_NUMBER FROM LC_RENT_INCOME WHERE EBANK_NUMBER=IFNULL(LRIT.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) 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) ELSE CIF.CUSTOMERNAME END AS CUSTOMERNAME2 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = LRIT.CONTRACT_ID AND LRP.PLAN_LIST = LRIT.PLAN_LIST LEFT JOIN LC_EBANK LE ON LE.ID = LRIT.EBANK_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRP.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(LRIT.PENALTY, 0) > 0 AND LRIT.FLOWUNID = :FLOWUNID ";
}

View File

@ -46,15 +46,15 @@ public class InsertVoucherRentIncome {
String sqls3="SELECT lri.PENALTY FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_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 (SELECT income_id FROM lv_penalty_income GROUP BY INCOME_ID)LV1 ON LV1.INCOME_ID=LRP.ID LEFT JOIN (SELECT INCOME_ID FROM LV_PENALTY_PLAN GROUP BY INCOME_ID)LV2 ON LV2.INCOME_ID=LRP.ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID)LV3 ON LV3.INCOME_ID=LRP.ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID)LV4 ON LV4.INCOME_ID=LRP.ID WHERE (lrp.collect_status IN ('手工收款', '批量收款') OR lrp.collect_msg IN ('WXPay', 'WXUnionPay')) AND lri.penalty > 0 AND (LV1.INCOME_ID IS NULL AND LV2.INCOME_ID IS NULL AND LV3.INCOME_ID IS NULL AND LV4.INCOME_ID IS NULL) AND lul.is_main = 'Y' ";
// 代偿反冲租金
String sqls4="SELECT lri.RENT,LRP.ID AS F58 FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_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 (SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID)LV1 ON LV1.INCOME_ID=LRP.ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID)LV2 ON LV2.INCOME_ID=LRP.ID LEFT JOIN (SELECT F58 FROM VOUCHER_V8 WHERE F59 = 1 AND MODULE_NAME LIKE '%代偿反冲-收到代偿的租金%' GROUP BY F58)V8 ON V8.F58=LRP.ID WHERE (lrp.collect_status IN ('手工收款', '批量收款') OR lrp.collect_msg IN ('WXPay', 'WXUnionPay')) AND lri.rent > 0 AND (LV1.INCOME_ID IS NOT NULL OR LV2.INCOME_ID IS NOT NULL) AND V8.F58 IS NULL AND lul.is_main = 'Y' ";
//String sqls4="SELECT lri.RENT,LRP.ID AS F58 FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_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 (SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID)LV1 ON LV1.INCOME_ID=LRP.ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID)LV2 ON LV2.INCOME_ID=LRP.ID LEFT JOIN (SELECT F58 FROM VOUCHER_V8 WHERE F59 = 1 AND MODULE_NAME LIKE '%代偿反冲-收到代偿的租金%' GROUP BY F58)V8 ON V8.F58=LRP.ID WHERE (lrp.collect_status IN ('手工收款', '批量收款') OR lrp.collect_msg IN ('WXPay', 'WXUnionPay')) AND lri.rent > 0 AND (LV1.INCOME_ID IS NOT NULL OR LV2.INCOME_ID IS NOT NULL) AND V8.F58 IS NULL AND lul.is_main = 'Y' ";
// 代偿反冲逾期利息
String slqs5="SELECT lri.PENALTY,LRP.ID AS F58 FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_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 (SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID)LV1 ON LV1.INCOME_ID=LRP.ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID)LV2 ON LV2.INCOME_ID=LRP.ID LEFT JOIN (SELECT F58 FROM VOUCHER_V8 WHERE F59 = 1 AND MODULE_NAME LIKE '%代偿反冲-代偿逾期利息%' GROUP BY F58)V8 ON V8.F58=LRP.ID WHERE (lrp.collect_status IN ('手工收款', '批量收款') OR lrp.collect_msg IN ('WXPay', 'WXUnionPay')) AND lri.PENALTY > 0 AND (LV1.INCOME_ID IS NOT NULL OR LV2.INCOME_ID IS NOT NULL) AND V8.F58 IS NULL AND lul.is_main = 'Y' ";
//String slqs5="SELECT lri.PENALTY,LRP.ID AS F58 FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id = lri.contract_id AND lrp.plan_list = lri.plan_list LEFT JOIN lb_contract_info lci ON lci.id = lrp.contract_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 (SELECT INCOME_ID FROM LV_RENT_PLAN GROUP BY INCOME_ID)LV1 ON LV1.INCOME_ID=LRP.ID LEFT JOIN (SELECT INCOME_ID FROM LV_RENT_PLAN2 GROUP BY INCOME_ID)LV2 ON LV2.INCOME_ID=LRP.ID LEFT JOIN (SELECT F58 FROM VOUCHER_V8 WHERE F59 = 1 AND MODULE_NAME LIKE '%代偿反冲-代偿逾期利息%' GROUP BY F58)V8 ON V8.F58=LRP.ID WHERE (lrp.collect_status IN ('手工收款', '批量收款') OR lrp.collect_msg IN ('WXPay', 'WXUnionPay')) AND lri.PENALTY > 0 AND (LV1.INCOME_ID IS NOT NULL OR LV2.INCOME_ID IS NOT NULL) AND V8.F58 IS NULL AND lul.is_main = 'Y' ";
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sqls1, null);
List<Map<String,String>> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sqls2, null);
List<Map<String,String>> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sqls3, null);
List<Map<String,String>> dataList4=DataOperatorUtil.getDataBySql(Sqlca, sqls4, null);
List<Map<String,String>> dataList5=DataOperatorUtil.getDataBySql(Sqlca, slqs5, null);
//List<Map<String,String>> dataList4=DataOperatorUtil.getDataBySql(Sqlca, sqls4, null);
//List<Map<String,String>> dataList5=DataOperatorUtil.getDataBySql(Sqlca, slqs5, null);
/**
* 将数据插入中间表的SQL
@ -88,27 +88,27 @@ public class InsertVoucherRentIncome {
/**
* 收取租金时, 如果已经经销商代偿, 生成反冲代偿凭证; 将租金id存入集合, 遍历结合, 通过id生成凭证
*/
CreateVoucherRedCompensatory cvrc = new CreateVoucherRedCompensatory();
/*CreateVoucherRedCompensatory cvrc = new CreateVoucherRedCompensatory();
List<String> list = new ArrayList<String>();
for (Map<String, String> map1 : dataList4) {
if(!list.contains(map1.get("F58"))){
list.add(map1.get("F58"));
}
list.add(map1.get("F58"));
}
}
for (Map<String, String> map2 : dataList5) {
if(!list.contains(map2.get("F58"))){
list.add(map2.get("F58"));
}
list.add(map2.get("F58"));
}
}
for (String F58 : list) {
// 判断当期是否已生成经销商代偿凭证, 如已生成, 反冲
cvrc.CreateVoucher("PZ2019071500000030", "admin",F58);// 代偿反冲-收到的租金
cvrc.CreateVoucher("PZ2019071500000031", "admin",F58);// 代偿反冲-收到的逾期利息
System.out.println("***********************************************************");
System.out.println("**********************代偿反冲凭证收成**************************");
System.out.println("***********************************************************");
}
for (String F58 : list) {
// 判断当期是否已生成经销商代偿凭证, 如已生成, 反冲
cvrc.CreateVoucher("PZ2019071500000030", "admin",F58);// 代偿反冲-收到的租金
cvrc.CreateVoucher("PZ2019071500000031", "admin",F58);// 代偿反冲-收到的逾期利息
System.out.println("***********************************************************");
System.out.println("**********************代偿反冲凭证收成**************************");
System.out.println("***********************************************************");
}*/
if(Sqlca!=null){
Sqlca.disConnect();

View File

@ -0,0 +1,3 @@
-- 起租后合同变更汽车流程结束增加发起脚本(需手动配置)
DELETE FROM CLASS_METHOD WHERE METHODCODE='com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle.ContractOnhireChange';
INSERT INTO `CLASS_METHOD` (`classname`, `methodname`, `methodtype`, `methoddescribe`, `returntype`, `methodargs`, `methodcode`, `inputuser`, `inputorg`, `inputtime`, `updateuser`, `updatetime`, `remark`) VALUES('审批流程','凭证输出--起租后合同变更汽车流程结束后生成凭证','Bizlet','用于起租后合同变更流程结束输出凭证','String','String ObjectNo','com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMethodSettle.ContractOnhireChange','','','','','','');