凭证相关-- 网银回款反冲

This commit is contained in:
xiezhiwen 2018-12-18 16:20:20 +08:00
parent 13694a5add
commit 5467b4c402
5 changed files with 67 additions and 55 deletions

View File

@ -58,7 +58,7 @@ public class CreateVoucherContractTerminate {
// 收到的提前还款手续费
if("PZ2018081700000132".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.OTHER_IN,0)";taxType="手续费";}
// 收到的提前日息差
if("PZ2018072100000047".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.REPAYMENT_INTEREST,0)";taxType="×âÏ¢";}
if("PZ2018072100000047".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.AGREED_DATEPENALTY,0)";taxType="×âÏ¢";}
// 收到的一年内利息
if("PZ2018081700000138".equals(VOUCHERNO)) {date1="IFNULL(LCRAT.FIST_CORPUS,0)";taxType="租息";}
// 收到名义货价

View File

@ -18,29 +18,15 @@ public class RedIncomeVoucher extends BaseBussiness {
public Object run(Transaction Sqlca) throws Exception {
this.initBussinessParam(Sqlca);
String FlowUnid=this.getAttribute("FlowUnid").toString();
CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome();
cvci.CreateVoucher(FlowUnid, "PZ2018072100000035", "feetype1");//回款反冲-确认收到手续费一次性收入)--回租
cvci.CreateVoucher(FlowUnid, "PZ2018080400000111", "feetype1");//回款反冲-确认收到手续费一次性收入)--直租
cvci.CreateVoucher(FlowUnid, "PZ2018072100000036", "feetype1");//回款反冲-确认收到手续费按月分摊收入)--回租
cvci.CreateVoucher(FlowUnid, "PZ2018080400000090", "feetype1");//回款反冲-确认收到手续费按月分摊收入)--直租
cvci.CreateVoucher(FlowUnid, "PZ2018072100000043", "feetype4");//回款反冲-收到名义货价--回租
cvci.CreateVoucher(FlowUnid, "PZ2018080400000097", "feetype4");//回款反冲-收到名义货价--直租
cvci.CreateVoucher(FlowUnid, "PZ2018072100000041", "feetype27");//回款反冲-收到的贴息--回租
cvci.CreateVoucher(FlowUnid, "PZ2018080400000095", "feetype27");//回款反冲-收到的贴息--直租
CreateVoucherRedRentIncome cvri=new CreateVoucherRedRentIncome();
cvri.CreateVoucher(FlowUnid, "PZ2018072100000037");//收到的租金--回租
cvri.CreateVoucher(FlowUnid, "PZ2018080400000091");//收到的租金--直租
cvri.CreateVoucher(FlowUnid, "PZ2018072100000038");//网银回款反冲--收到的逾期利息--回租
cvri.CreateVoucher(FlowUnid, "PZ2018072100000039");//网银回款反冲-收到的违约金/罚款--回租
cvri.CreateVoucher(FlowUnid, "PZ2018072100000037");//网银回款反冲--收到的租金--回租
cvri.CreateVoucher(FlowUnid, "PZ2018072100000043"); //网银回款反冲-收到名义货价--回租
cvri.CreateVoucher(FlowUnid, "PZ2018072100000038");//收到逾期利息--回租
cvri.CreateVoucher(FlowUnid, "PZ2018080400000092");//收到逾期利息--直租
//CreateVoucherInsuranceSettlement cvis=new CreateVoucherInsuranceSettlement();
//cvis.CreateVoucher("PZ2018080400000096");//收到理赔保险费 --直租
return "true";
}

View File

@ -25,6 +25,9 @@ public class CreateVoucherRedRentIncome {
String MONEY=null;
String MONEYNOTAX=null;
String MONEYTAX=null;
String RENTMONEY=null;
String CORPUS=null;
String INTEREST=null;
String ACCOUNT_DATE=null;
String FACT_DATE=null;
String CONTRACT_ID=null;
@ -33,22 +36,28 @@ public class CreateVoucherRedRentIncome {
String leas_form=null;
String DISTRIBUTOR_ID=null;
String DISTRIBUTOR_NAME=null;
String CARID=null;
String CARMODEL=null;
String CUSTID=null;
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String ACC_NUM=null;
String sql="";
param.clear();
map.clear();
map.put("FLOWUNID", FlowUnid);
if("PZ2018072100000037".equals(VOUCHERNO)||"PZ2018080400000091".equals(VOUCHERNO)){
sql= "SELECT LRIT.rent AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX, DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LrIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LrIT.OWN_NUMBER FROM LC_rent_INCOME_temp LrIT LEFT JOIN LB_CONTRACT_INFO LCI ON LrIT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO=LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.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 LrIT.FLOWUNID=:FLOWUNID";
}
if("PZ2018072100000038".equals(VOUCHERNO)||"PZ2018080400000092".equals(VOUCHERNO)){
sql= "SELECT LrIT.penalty AS MONEY,ROUND(LrIT.penalty/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,LrIT.penalty-ROUND(LrIT.penalty/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LrIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LrIT.OWN_NUMBER FROM LC_rent_INCOME_temp LrIT LEFT JOIN LB_CONTRACT_INFO LCI ON LrIT.CONTRACT_ID=LCI.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_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID=LCI.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 LrIT.FLOWUNID=:FLOWUNID";
// 收到的租金
if("PZ2018072100000037".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LRIT.INTEREST, 0) AS MONEY,CASE WHEN MONTH(NOW())=MONTH(LRP.PLAN_DATE) THEN ROUND(IFNULL(LRIT.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)ELSE '0' END AS MONEYNOTAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE '0' END AS MONEYTAX,LRIT.RENT AS RENTMONEY,LRIT.CORPUS AS CORPUS,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN LRIT.INTEREST ELSE '0' END AS INTEREST,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 FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID 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 LRIT.FLOWUNID = :FLOWUNID ";
// 收到的逾期利息
}else if("PZ2018072100000038".equals(VOUCHERNO)){
sql= "SELECT 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(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 FROM LC_RENT_INCOME_TEMP LRIT 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 LRIT.FLOWUNID=:FLOWUNID ";
// 收到的违约金/罚款
}else if("PZ2018072100000039".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)) 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 FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.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 FEE_TYPE='feetype30' AND LFIT.FLOWUNID=:FLOWUNID ";
// 收到的名义货架
}else if("PZ2018072100000043".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)) 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 FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.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 FEE_TYPE='feetype4' AND LFIT.FLOWUNID=:FLOWUNID ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
@ -57,11 +66,13 @@ public class CreateVoucherRedRentIncome {
String userid ="admin";
for (int i=0;i<dataList.size();i++){
MONEY=dataList.get(i).get("MONEY").toString();
if("".equals(MONEY)||MONEY==null) MONEY="0.00";
double mon=Double.parseDouble(MONEY);
if(Math.abs(mon)>0){
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX=dataList.get(i).get("MONEYTAX").toString();
MONEYNOTAX=dataList.get(i).get("MONEYNOTAX").toString();
MONEYTAX=dataList.get(i).get("MONEYTAX").toString();
if("PZ2018072100000037".equals(VOUCHERNO)) {
RENTMONEY=dataList.get(i).get("RENTMONEY").toString();
CORPUS=dataList.get(i).get("CORPUS").toString();
INTEREST=dataList.get(i).get("INTEREST").toString();
}
ACCOUNT_DATE=dataList.get(i).get("ACCOUNT_DATE").toString();
FACT_DATE =dataList.get(i).get("FACT_DATE").toString();
CONTRACT_ID=dataList.get(i).get("CONTRACT_ID").toString();
@ -70,17 +81,19 @@ public class CreateVoucherRedRentIncome {
leas_form=dataList.get(i).get("LEAS_FORM").toString();
DISTRIBUTOR_ID=dataList.get(i).get("DISTRIBUTOR_ID");
DISTRIBUTOR_NAME=dataList.get(i).get("DISTRIBUTOR_NAME");
CARID=dataList.get(i).get("CARID");
CARMODEL=dataList.get(i).get("MODEL");
CUSTID=dataList.get(i).get("CUSTOMERID");
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUM=dataList.get(i).get("OWN_NUMBER");
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
if("PZ2018072100000037".equals(VOUCHERNO)) {
param.put("RENTMONEY",RENTMONEY);
param.put("CORPUS",CORPUS);
param.put("INTEREST",INTEREST);
}
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
@ -89,25 +102,21 @@ public class CreateVoucherRedRentIncome {
param.put("LEAS_FORM",leas_form);
param.put("DISTRIBUTOR_ID",DISTRIBUTOR_ID);
param.put("DISTRIBUTOR_NAME",DISTRIBUTOR_NAME);
param.put("CARID",CARID);
param.put("CARMODEL",CARMODEL);
param.put("CUSTID",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUM);
if("1".equals(BUSINESSTYPE)){
param.put("LEASFORMASSET", "04"); // 融资租赁资产
param.put("DEPT", "02"); // 部门
if("03".equals(CUSTOMERTYPE)){ // 如果是个人业务
param.put("LEASINCOMEFORM", "02"); // C端
}else if("01".equals(CUSTOMERTYPE)){
param.put("LEASINCOMEFORM", "01"); // B端
}
if("PZ2018072100000037".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型
}
// 收到的违约金
if("PZ2018072100000038".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0603");// 主营类型
}
param.put("CASHFLOW", "");// 现金流项目
}
//param.put("FUNDTYPE", ""); // 主营类型
param.put("BUSINESSTYPE", "06");
map.clear();
map.put("PROJ_TYPE", leas_form);
@ -116,8 +125,9 @@ public class CreateVoucherRedRentIncome {
if(vouch!=null){
vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}}
}
}
}
if(Sqlca!=null){
Sqlca.commit();

View File

@ -344,6 +344,8 @@ public class CreateVoucherServiceImpl {
}else if("PZ2018081700000134".equals(VOUCHERNO) || "PZ2018081700000138".equals(VOUCHERNO) || "PZ2018072100000047".equals(VOUCHERNO) || "PZ2018081700000132".equals(VOUCHERNO) || "PZ2018081700000130".equals(VOUCHERNO) || "PZ2018081700000128".equals(VOUCHERNO)){
subData.put("CUSTID","APZL00000000DC");//虚拟账户
subData.put("CUSTNAME","业务系统待查客户");//虚拟账户
}else if("PZ2018072100000038".equals(VOUCHERNO) || "PZ2018072100000039".equals(VOUCHERNO) || "PZ2018072100000043".equals(VOUCHERNO)) {
subData.put("CUSTNAME","业务系统待查客户");//虚拟账户
}else {
subData.put("CUSTID",dataTemp.get("CUSTID"));//客商id
subData.put("CUSTNAME",dataTemp.get("CUSTNAME"));//客商名称
@ -385,7 +387,7 @@ public class CreateVoucherServiceImpl {
}
/*
* 瓊품써헌던미땍와빵츰냔긍쯤
* 提前结清带虚拟客户名称编码
*/
// 收到的逾期租金
if("PZ2018081700000127".equals(VOUCHERNO)) {
@ -403,6 +405,17 @@ public class CreateVoucherServiceImpl {
}
}
/*
* 回款反冲带虚拟客户名称编码
*/
// 收到的租金
if("PZ2018072100000037".equals(VOUCHERNO)) {
if("1".equals(SORT_NUMBER)) {
subData.put("CUSTID","APZL00000000DC");//虚拟账户
subData.put("CUSTNAME","业务系统待查客户");//虚拟账户
}
}
subData.put("SORT_NUMBER", SORT_NUMBER);
list.add(subData);
}

View File

@ -108,6 +108,9 @@ public class EbankUse {
param.put("CASHFLOW", "11113");
Map<String, String> map = new HashMap<String, String>();
if(Double.parseDouble(fact_money)<0) {
voucherNo="PZ2018121800000005";
}
map.put("PROJ_TYPE", "02");
map.put("VOUCHER_NO", voucherNo);
BizObject vouch = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);