凭证相关 -- 起租凭证还原

This commit is contained in:
xiezhiwen 2018-12-20 17:12:47 +08:00
parent 51e005e279
commit e5cf6a1dfa

View File

@ -1,13 +1,16 @@
package com.tenwa.voucher.CreateVoucherProcess;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import jbo.app.tenwa.customer.CUSTOMER_LIST;
import jbo.sys.USER_INFO;
import jbo.voucher.LV_VOUCHER_CONFIG;
import com.amarsoft.app.util.ProductParamUtil;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.lang.DataElement;
@ -51,6 +54,7 @@ public class CreateVoucherLoanDistributor {
String BUSINESSTYPE=null;
String ACC_NUMBER=null;
String REQNBR=null;
String PRODUCT_ID=null;
String TAX_TYPE=null;
String sql="";
String moneyDataSource="";
@ -79,11 +83,14 @@ public class CreateVoucherLoanDistributor {
}
if("PZ2018070900000002".equals(VOUCHERNO)||"PZ2018072400000060".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO)||"PZ2018080300000069".equals(VOUCHERNO) || "PZ2018071000000006".equals(VOUCHERNO)||"PZ2018080300000071".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LRPT.INTEREST, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE), 0) AS INTEREST_ADD_HANDLING,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR FROM LC_FUND_INCOME LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no=LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT flowunid,contract_id FROM lc_fund_income_temp GROUP BY flowunid,contract_id)lfit2 ON lfit2.contract_id=lfit.contract_id LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = lfit.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_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 lfit2.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) AS FIRST_ADD_HANDLING,IFNULL(LRPT.INTEREST, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE),0) AS INTEREST_ADD_HANDLING,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_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 LFIT.FLOWUNID=:FLOWUNID ";
}else {
sql="SELECT IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+"/getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = lfit.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_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 lfit.FLOWUNID = :FLOWUNID ";
}
//else if("PZ2018122000000010".equals(VOUCHERNO)){
// sql="SELECT IFNULL(LCCT.GPS_FEE, 0) AS GPS_FEE_FINANCE,IFNULL(LCCT.CAUTION_MONEY, 0) AS CAUTION_MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS FIRST_ADD_FINANCING,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) - IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0) - IFNULL(LCCT.CAUTION_MONEY, 0) - IFNULL(LCCT.GPS_FEE, 0)+IFNULL(LFIT2.T_FIRST_MONEY,0) AS FINANCING_SUB_OTHERS,IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY, 0)-IFNULL(LFIT2.T_FIRST_MONEY,0) AS FIRST_ADD_HANDLING,IFNULL(LRPT.INTEREST, 0) + IFNULL(LCCT.HANDLING_CHARGE_MONEY / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE),0) AS INTEREST_ADD_HANDLING,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT MAX(LFIT.FACT_MONEY) T_FIRST_MONEY,LFIT.CONTRACT_ID FROM LC_FUND_INCOME_TEMP LFIT WHERE LFIT.FEE_TYPE='feetype27' GROUP BY LFIT.CONTRACT_ID)LFIT2 ON LFIT2.CONTRACT_ID=LFIT.CONTRACT_ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LFIT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_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 LFIT.FLOWUNID = :FLOWUNID ";
//}
// 手续费收入一次性确认收入
if("PZ2018071000000007".equals(VOUCHERNO)||"PZ2018080300000072".equals(VOUCHERNO) || "PZ2018071000000005".equals(VOUCHERNO)||"PZ2018080300000069".equals(VOUCHERNO)){
sql+=" AND (lcct.HANDLING_CHARGE_MONEY_TYPE='0010' OR lcct.HANDLING_CHARGE_MONEY_TYPE IS NULL OR lcct.HANDLING_CHARGE_MONEY_TYPE='')";
@ -151,12 +158,9 @@ public class CreateVoucherLoanDistributor {
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("REQNBR",REQNBR);
param.put("VOUCHERNO",VOUCHERNO);
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
// String sql2="SELECT CUST_NAME FROM CUSTOMER_LIST WHERE CUST_NAME='"+CUSTNAME+"'";
// List<Map<String,String>> lists=DataOperatorUtil.getDataBySql(sqlca2, sql, map);
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
BizObject cust_list=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false);
// BizObject cust_list=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='8011100'").getSingleResult(false);
if("1".equals(BUSINESSTYPE)){
if("PZ2018073100000061".equals(VOUCHERNO)||"PZ2018080300000068".equals(VOUCHERNO)){// 确认GPS收入
param.put("CASHFLOW", "");// 现金流项目