凭证原配置变更及新增凭证配置, bug修复

This commit is contained in:
xiezhiwen 2018-08-26 17:24:03 +08:00
parent eb088d574b
commit 0cb97b322d
16 changed files with 170 additions and 148 deletions

View File

@ -50,10 +50,11 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
String BUSINESSTYPE=null;
String ACC_NUM=null;
String CAUTION_MONEY=null;
String GPS_FEE_FINA=null;
//String FlowUnid=this.getAttribute("FlowUnid").toString();
//String VOUCHERNO="PZ2018071000000005";
//String VOUCHERNO=this.getAttribute("VoucherNo").toString();
String sql="SELECT LCCT.EQUIP_AMT,LCCT.FIRST_PAYMENT,LCCT.HANDLING_CHARGE_MONEY,LCCT.CLEAN_LEASE_MONEY,IFNULL(LCCT.CAUTION_MONEY,0)AS CAUTION_MONEY,LCCT.INSURANCE_PREMIUM,LCCT.PURCHASE_TAX,LCCT.INCIDENTAL,LCCT.GPS_FEE as GPS_FEE_FINANCE,LCCT.TABLEWARE_FEE,LRPT.INTEREST,LRPT.INTERESTNOTAX,LRPT.TAX,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,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,lfit.ACC_NUMBER FROM LC_CALC_CONDITION LCCT inner join (SELECT contract_id,FLOWUNID,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 LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,SUM(INTEREST) AS INTEREST,SUM(ROUND((INTEREST/1.06),2)) AS INTERESTNOTAX,SUM(INTEREST-ROUND((INTEREST/1.06),2)) AS TAX FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID=LCCT.FLOWUNID 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 lfit.FLOWUNID=:FLOWUNID";
String sql="SELECT LCCT.EQUIP_AMT,LCCT.FIRST_PAYMENT,LCCT.HANDLING_CHARGE_MONEY,LCCT.CLEAN_LEASE_MONEY,IFNULL(LCCT.CAUTION_MONEY,0)AS CAUTION_MONEY,LCCT.INSURANCE_PREMIUM,LCCT.PURCHASE_TAX,LCCT.INCIDENTAL,LCCT.GPS_FEE as GPS_FEE_FINANCE,LCCT.TABLEWARE_FEE,LRPT.INTEREST,LRPT.INTERESTNOTAX,LRPT.TAX,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,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,lfit.ACC_NUMBER,LCCT.GPS_FEE_FINA FROM LC_CALC_CONDITION LCCT inner join (SELECT contract_id,FLOWUNID,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 LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,SUM(INTEREST) AS INTEREST,SUM(ROUND((INTEREST/1.06),2)) AS INTERESTNOTAX,SUM(INTEREST-ROUND((INTEREST/1.06),2)) AS TAX FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID=LCCT.FLOWUNID 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 lfit.FLOWUNID=:FLOWUNID";
param.clear();
map.put("FLOWUNID", FlowUnid);
@ -77,7 +78,6 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
INTERESTNOTAX=dataList.get(i).get("INTERESTNOTAX").toString();
TAX=dataList.get(i).get("TAX").toString();
if("".equals(GPS_FEE_FINANCE)||GPS_FEE_FINANCE==null) GPS_FEE_FINANCE="0.00";
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();
@ -93,7 +93,11 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUM=dataList.get(i).get("ACC_NUMBER");
// 给经销商放款-差额放款中判断GPS是否参融
if("PZ2018071100000010".equals(VOUCHERNO)||"PZ2018080300000074".equals(VOUCHERNO)) {
GPS_FEE_FINA=dataList.get(i).get("GPS_FEE_FINA").toString();
param.put("GPS_FEE_FINA",GPS_FEE_FINA);
}
param.put("EQUIP_AMT",EQUIP_AMT);
param.put("FIRST_PAYMENT",FIRST_PAYMENT);
param.put("FACT_MONEY",CLEAN_LEASE_MONEY);

View File

@ -45,9 +45,11 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
param.clear();
map.put("FlowUnid", FlowUnid);
sql= "SELECT LCCT.HANDLING_CHARGE_MONEY AS MONEY,ROUND(LCCT.HANDLING_CHARGE_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS HANDLFEENOTAX,(LCCT.HANDLING_CHARGE_MONEY-ROUND(LCCT.HANDLING_CHARGE_MONEY/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2))AS HANDLTAX,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,LEC.ID AS CARID,LEC.MODEL ,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN lc_fund_income_temp lfit ON lfit.contract_id=lcct.contract_id AND lfit.fee_type='feetype10' LEFT JOIN LB_CONTRACT_INFO LCI 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 lfit.FLOWUNID=:FLOWUNID";
// 给经销商放款冲抵确认收到手续费按月分摊收入
if("PZ2018071000000009".equals(VOUCHERNO)||"PZ2018080300000073".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020'";
}
// 给经销商放款冲抵确认手续费收入一次性确认收入
if("PZ2018071000000007".equals(VOUCHERNO)||"PZ2018080300000072".equals(VOUCHERNO)){
sql+=" AND lcct.HANDLING_CHARGE_MONEY_TYPE='0010'";
}

View File

@ -27,16 +27,13 @@ public class CleanLeaseMoney implements VoucherJavaParamService {
String PURCHASE_TAX=param.get("PURCHASE_TAX")==null?"0.00":param.get("PURCHASE_TAX");
// ×°äê·Ñ
String TABLEWARE_FEE=param.get("TABLEWARE_FEE")==null?"0.00":param.get("TABLEWARE_FEE");
// GPS
String GPS_FEE_FINANCE=param.get("GPS_FEE_FINANCE")==null?"0.00":param.get("GPS_FEE_FINANCE");
BigDecimal factmoney=new BigDecimal(EQUIP_AMT)
.subtract(new BigDecimal(FIRST_PAYMENT))
.add(new BigDecimal(INCIDENTAL))
.add(new BigDecimal(INSURANCE_PREMIUM))
.add(new BigDecimal(PURCHASE_TAX))
.add(new BigDecimal(TABLEWARE_FEE))
.add(new BigDecimal(GPS_FEE_FINANCE));
.add(new BigDecimal(TABLEWARE_FEE));
returnValue.putAll(param);
returnValue.put("FUNDTYPE","01");
returnValue.put("MONEY",factmoney.toString());

View File

@ -15,6 +15,7 @@ public class CleanLeaseMoneyAddOtherNoGps implements VoucherJavaParamService {
public Map<String, String> getJavaParam(JBOTransaction tx,
Map<String, String> param) throws BusinessException {
Map<String,String>returnValue=new HashMap<String,String>();
BigDecimal factmoney=null;
// ³µ¿î
String EQUIP_AMT=param.get("EQUIP_AMT")==null?"0.00":param.get("EQUIP_AMT");
// Ê׸¿î
@ -31,16 +32,32 @@ public class CleanLeaseMoneyAddOtherNoGps implements VoucherJavaParamService {
String HANDLING_CHARGE_MONEY=param.get("HANDLING_CHARGE_MONEY")==null?"0.00":param.get("HANDLING_CHARGE_MONEY");
// ±£Ö¤½ð
String CAUTION_MONEY=param.get("CAUTION_MONEY")==null?"0.00":param.get("CAUTION_MONEY");
// GPS
String GPS_FEE_FINANCE=param.get("GPS_FEE_FINANCE")==null?"0.00":param.get("GPS_FEE_FINANCE");
// ÔËËã
BigDecimal factmoney=new BigDecimal(EQUIP_AMT)
.subtract(new BigDecimal(FIRST_PAYMENT))
.add(new BigDecimal(PURCHASE_TAX))
.add(new BigDecimal(INSURANCE_PREMIUM))
.add(new BigDecimal(INCIDENTAL))
.add(new BigDecimal(TABLEWARE_FEE))
.subtract(new BigDecimal(HANDLING_CHARGE_MONEY))
.subtract(new BigDecimal(CAUTION_MONEY));
// ÅÐÏGPS²»²ÎÈÚ, ¼õÈ¥GPS
String GPS_FEE_FINA = param.get("GPS_FEE_FINA");
System.out.println(GPS_FEE_FINA);
if("finatype01".equals(GPS_FEE_FINA+"1111111111111111111111111111111111111")) {
factmoney=new BigDecimal(EQUIP_AMT)
.subtract(new BigDecimal(FIRST_PAYMENT))
.add(new BigDecimal(PURCHASE_TAX))
.add(new BigDecimal(INSURANCE_PREMIUM))
.add(new BigDecimal(INCIDENTAL))
.add(new BigDecimal(TABLEWARE_FEE))
.subtract(new BigDecimal(HANDLING_CHARGE_MONEY))
.subtract(new BigDecimal(CAUTION_MONEY))
.subtract(new BigDecimal(GPS_FEE_FINANCE));
}else {
factmoney=new BigDecimal(EQUIP_AMT)
.subtract(new BigDecimal(FIRST_PAYMENT))
.add(new BigDecimal(PURCHASE_TAX))
.add(new BigDecimal(INSURANCE_PREMIUM))
.add(new BigDecimal(INCIDENTAL))
.add(new BigDecimal(TABLEWARE_FEE))
.subtract(new BigDecimal(HANDLING_CHARGE_MONEY))
.subtract(new BigDecimal(CAUTION_MONEY));
}
returnValue.putAll(param);
returnValue.put("FUNDTYPE","01");
returnValue.put("MONEY",factmoney.toString());

View File

@ -8,7 +8,7 @@ import com.amarsoft.are.jbo.JBOTransaction;
import com.tenwa.comm.exception.BusinessException;
import com.tenwa.voucher.service.VoucherJavaParamService;
/**
* 其他购置税/保险/装饰装潢等不含税+GPS(不含税
* 其他购置税/保险/装饰装潢等不含税
* @author xiezhiwen
*/
public class ContractOtherMoneyNoTax implements VoucherJavaParamService{
@ -26,13 +26,10 @@ public class ContractOtherMoneyNoTax implements VoucherJavaParamService{
String INCIDENTAL=param.get("INCIDENTAL")==null?"0.00":param.get("INCIDENTAL");
// ×°äê·Ñ
String TABLEWARE_FEE=param.get("TABLEWARE_FEE")==null?"0.00":param.get("TABLEWARE_FEE");
// GPS
String GPS_FEE_FINANCE=param.get("GPS_FEE_FINANCE")==null?"0.00":param.get("GPS_FEE_FINANCE");
BigDecimal sumMoney=new BigDecimal(INSURANCE_PREMIUM)
.add(new BigDecimal(PURCHASE_TAX))
.add(new BigDecimal(INCIDENTAL))
.add(new BigDecimal(TABLEWARE_FEE))
.add(new BigDecimal(GPS_FEE_FINANCE));
.add(new BigDecimal(TABLEWARE_FEE));
BigDecimal divisor= new BigDecimal("1.16");
BigDecimal factmoney=sumMoney.divide(divisor, 2, BigDecimal.ROUND_HALF_UP);

View File

@ -27,16 +27,13 @@ public class ContractOtherMoneyToTax implements VoucherJavaParamService{
String INCIDENTAL=param.get("INCIDENTAL")==null?"0.00":param.get("INCIDENTAL");
// ×°äê·Ñ
String TABLEWARE_FEE=param.get("TABLEWARE_FEE")==null?"0.00":param.get("TABLEWARE_FEE");
// GPS
String GPS_FEE_FINANCE=param.get("GPS_FEE_FINANCE")==null?"0.00":param.get("GPS_FEE_FINANCE");
BigDecimal sumMoney=new BigDecimal(EQUIP_AMT)
.subtract(new BigDecimal(FIRST_PAYMENT))
.add(new BigDecimal(TABLEWARE_FEE))
.add(new BigDecimal(INSURANCE_PREMIUM))
.add(new BigDecimal(PURCHASE_TAX))
.add(new BigDecimal(INCIDENTAL))
.add(new BigDecimal(GPS_FEE_FINANCE));
.add(new BigDecimal(INCIDENTAL));
BigDecimal divisor= new BigDecimal("1.16");
BigDecimal noTaxMoney=sumMoney.divide(divisor, 2, BigDecimal.ROUND_HALF_UP);

View File

@ -51,18 +51,27 @@ public class CreateVoucherLoanDistributor {
if("PZ2018070900000003".equals(VOUCHERNO)||"PZ2018080200000065".equals(VOUCHERNO)){
moneyDataSource="LCCT.FIRST_PAYMENT";
}
//记录保证金
if("PZ2018071000000004".equals(VOUCHERNO)||"PZ2018071000000006".equals(VOUCHERNO)||"PZ2018080300000070".equals(VOUCHERNO)||"PZ2018080300000071".equals(VOUCHERNO)){
moneyDataSource="LCCT.CAUTION_MONEY";
}
if("PZ2018073100000061".equals(VOUCHERNO)||"PZ2018080300000068".equals(VOUCHERNO)){
// GPS安装服务费参融/不参融
if("PZ2018073100000061".equals(VOUCHERNO)||"PZ2018080300000068".equals(VOUCHERNO)||"PZ2018082400000147".equals(VOUCHERNO)||"PZ2018082400000148".equals(VOUCHERNO)||"PZ2018082600000151".equals(VOUCHERNO)||"PZ2018082600000152".equals(VOUCHERNO)){
moneyDataSource="LCCT.GPS_FEE";
}
// 记录给经销商放款-其他购置税/保险/装饰装潢等
if("PZ2018073100000062".equals(VOUCHERNO)||"PZ2018080300000066".equals(VOUCHERNO)){
moneyDataSource="(LCCT.PURCHASE_TAX+LCCT.INSURANCE_PREMIUM+LCCT.INCIDENTAL+LCCT.TABLEWARE_FEE)";
}
//sql= "SELECT "+moneyDataSource+ " AS MONEY,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,LCI.DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LEC.ID AS CARID,LEC.MODEL,CIF.CUSTOMERID,CIF.CUSTOMERNAME FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN LB_CONTRACT_INFO LCI 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 WHERE LCCT.FLOWUNID=:FLOWUNID";
// GPS参融
if("PZ2018073100000061".equals(VOUCHERNO)||"PZ2018080300000068".equals(VOUCHERNO)){
sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/1.16,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/1.16,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,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI 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 lfit.FLOWUNID=:FLOWUNID";
sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/1.16,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/1.16,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,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI 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 LCCT.GPS_FEE_FINA='finatype02' AND lfit.FLOWUNID=:FLOWUNID";
// GPS不参融
}else if("PZ2018082400000147".equals(VOUCHERNO)||"PZ2018082400000148".equals(VOUCHERNO)||"PZ2018082600000151".equals(VOUCHERNO)||"PZ2018082600000152".equals(VOUCHERNO)){
sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/1.16,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/1.16,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,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI 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 LCCT.GPS_FEE_FINA='finatype01' AND lfit.FLOWUNID=:FLOWUNID";
}else {
sql="SELECT "+moneyDataSource+ " AS MONEY,ROUND("+moneyDataSource+ "/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,2) AS MONEYNOTAX, ("+moneyDataSource+ "-ROUND("+moneyDataSource+ "/CASE WHEN LCI.LEAS_FORM='02' THEN 1.06 ELSE 1.16 END,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,LEC.ID AS CARID,LEC.MODEL,CIF.CERTID AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT INNER JOIN (select contract_id,FLOWUNID from lc_fund_income_temp where fee_type='feetype10' group by contract_id,FLOWUNID) lfit ON lfit.contract_id=lcct.contract_id LEFT JOIN LB_CONTRACT_INFO LCI 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 lfit.FLOWUNID=:FLOWUNID";
}

View File

@ -32,8 +32,14 @@ public class ContractOnhireVoucher extends BaseBussiness {
cvld.CreateVoucher(FlowUnid, "PZ2018073100000062");//记录给经销商放款-其他购置税/保险/装饰装潢等 --回租
cvld.CreateVoucher(FlowUnid, "PZ2018080300000066");//记录给经销商放款-其他购置税/保险/装饰装潢等--直租
cvld.CreateVoucher(FlowUnid, "PZ2018073100000061");//记录GPS安装服务费GPS 参融--回租
cvld.CreateVoucher(FlowUnid, "PZ2018080300000068");//记录GPS安装服务费GPS 参融--直租
cvld.CreateVoucher(FlowUnid, "PZ2018073100000061");//记录GPS安装服务费参融--回租
cvld.CreateVoucher(FlowUnid, "PZ2018080300000068");//记录GPS安装服务费参融--直租
cvld.CreateVoucher(FlowUnid, "PZ2018082400000147");//记录GPS安装服务费不参融--回租
cvld.CreateVoucher(FlowUnid, "PZ2018082400000148");//记录GPS安装服务费不参融--直租
cvld.CreateVoucher(FlowUnid, "PZ2018082600000151");//给经销商放款冲抵GPS不参融--回租
cvld.CreateVoucher(FlowUnid, "PZ2018082600000152");//给经销商放款冲抵GPS不参融--直租
CreateVoucherCustomerRentOrFee cvcr=new CreateVoucherCustomerRentOrFee();
cvcr.CreateVoucher(FlowUnid, "PZ2018071000000005");//客户支付的应收账款总金额
@ -43,15 +49,18 @@ public class ContractOnhireVoucher extends BaseBussiness {
cvcr.CreateVoucher(FlowUnid, "PZ2018080300000074");//给经销商放款-差额放款--直租
CreateVoucherHandlingMoney cvhl=new CreateVoucherHandlingMoney();
cvhl.CreateVoucher(FlowUnid, "PZ2018071000000007");//给经销商放款冲抵确认手续费收入一次性确认收入--回租
cvhl.CreateVoucher(FlowUnid, "PZ2018080300000072");//给经销商放款冲抵确认手续费收入一次性确认收入--直租
cvhl.CreateVoucher(FlowUnid, "PZ2018071000000007");//应收客户手续费一次性确认收入--回租
cvhl.CreateVoucher(FlowUnid, "PZ2018080300000072");//应收客户手续费一次性确认收入--直租
cvhl.CreateVoucher(FlowUnid, "PZ2018071000000009");//给经销商放款冲抵确认收到手续费按月分摊收入--回租
cvhl.CreateVoucher(FlowUnid, "PZ2018080300000073");//给经销商放款冲抵确认收到手续费按月分摊收入--直租
cvhl.CreateVoucher(FlowUnid, "PZ2018071000000009");//应收客户手续费按月分摊收入--回租
cvhl.CreateVoucher(FlowUnid, "PZ2018080300000073");//应收客户手续费按月分摊收入--直租
cvhl.CreateVoucher(FlowUnid, "PZ2018082600000149");//给经销商放款冲抵手续费--回租
cvhl.CreateVoucher(FlowUnid, "PZ2018082600000150");//给经销商放款冲抵手续费--直租
CreateVoucherToCommission cvtc = new CreateVoucherToCommission();
cvtc.CreateVoucher(FlowUnid, "PZ2018082000000140");// 记录佣金--回租
cvtc.CreateVoucher(FlowUnid, "PZ2018082000000141");// 记录佣金--直租
cvtc.CreateVoucher(FlowUnid, "PZ2018082000000141");// 记录佣金--直租'
//CreateVoucherCustCautionMoneyIncome cvci=new CreateVoucherCustCautionMoneyIncome();
return "true";
}

View File

@ -28,8 +28,8 @@ public class ContractTerminate extends BaseBussiness {
cvct.CreateVoucher(FlowUnid, "PZ2018072100000046");//未实现的利息的税金--回租
cvct.CreateVoucher(FlowUnid, "PZ2018080400000100");//未实现的利息的税金--直租
cvct.CreateVoucher(FlowUnid, "PZ2018081700000122");//确认未实现利息收入--回租
cvct.CreateVoucher(FlowUnid, "PZ2018081700000123");//确认未实现利息收入--直租
cvct.CreateVoucher(FlowUnid, "PZ2018081700000122");//确认未实现利息收入(不含税)--回租
cvct.CreateVoucher(FlowUnid, "PZ2018081700000123");//确认未实现利息收入(不含税)--直租
cvct.CreateVoucher(FlowUnid, "PZ2018081700000124");//提前还款-确认租金利息税金--回租
cvct.CreateVoucher(FlowUnid, "PZ2018081700000125");//提前还款-确认租金利息税金--直租

View File

@ -27,8 +27,8 @@ public class IncomeVoucher extends BaseBussiness {
cvci.CreateVoucher(FlowUnid, "PZ2018072100000031", "feetype4");//回款-收到名义货价--回租
cvci.CreateVoucher(FlowUnid, "PZ2018080400000087", "feetype4");//回款-收到名义货价--直租
cvci.CreateVoucher(FlowUnid, "PZ2018072100000028", "feetype27");//ÌùÏ¢--»Ø×â
cvci.CreateVoucher(FlowUnid, "PZ2018080400000085", "feetype27");//ÌùÏ¢--Ö±×â
//cvci.CreateVoucher(FlowUnid, "PZ2018072100000028", "feetype27");//收到的贴息--回租
//cvci.CreateVoucher(FlowUnid, "PZ2018080400000085", "feetype27");//收到的贴息--直租
//cvci.CreateVoucher(FlowUnid, "PZ2018080400000103", "feetype27");//确认贴息收入--直租

View File

@ -19,13 +19,12 @@ public class RedIncomeVoucher extends BaseBussiness {
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, "PZ2018072100000035", "feetype1");//回款反冲-确认收到手续费一次性收入)--回租
cvci.CreateVoucher(FlowUnid, "PZ2018080400000111", "feetype1");//回款反冲-确认收到手续费一次性收入)--直租
cvci.CreateVoucher(FlowUnid, "PZ2018072100000043", "feetype4");//回款反冲-收到名义货价--回租
cvci.CreateVoucher(FlowUnid, "PZ2018080400000097", "feetype4");//回款反冲-收到名义货价--直租

View File

@ -46,7 +46,7 @@ public class CreateVoucherMonthSettlement{
param.clear();
String sql="";
String moneyType="MONEY";
String modular="月结-确认未实现利息收入";
String modular="";
if("PZ2018071200000017".equals(voucherNo)||"PZ2018080400000104".equals(voucherNo)) { moneyType="FEEMONEY"; modular="月结-确认手续费";}//月结-确认手续费
if("PZ2018071200000016".equals(voucherNo)||"PZ2018080400000102".equals(voucherNo)) { moneyType="MONEY";modular="月结-确认未实现利息收入";}//月结-确认未实现利息收入
if("PZ2018072100000048".equals(voucherNo)||"PZ2018080400000103".equals(voucherNo)) { moneyType="DISCOUNT";modular="月结-确认贴息收入";}//月结-确认贴息收入

View File

@ -61,106 +61,97 @@ public String CreateVoucher(String FlowUnid,String VOUCHERNO) throws Exception {
//MONEYNOTAX=dataList.get(i).get("HANDLFEENOTAX").toString();
//MONEYTAX=dataList.get(i).get("HANDLTAX").toString();
start_date=dataList.get(i).get("START_DATE").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();
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");
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");
Map<String,String> map1=new HashMap<String, String>();
map1.put("leas_form", leas_form);
map1.put("startdate", start_date);
String sql1 ="SELECT DIS_ATTRIBUTE,FIX_AMOUNT,DIS_RATIO,PRODUCT_ID FROM LB_PRODUCT_SALVAGE WHERE DATE_FORMAT(effect_start,'%Y/%m/%d')<=DATE_FORMAT(:startdate,'%Y/%m/%d') AND DATE_FORMAT(effect_end,'%Y/%m/%d')>DATE_FORMAT(:startdate,'%Y/%m/%d') AND product_id =:leas_form";
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, map1);
BigDecimal bigMoney=null;
BigDecimal bigMoneyNoTax=null;
BigDecimal bigMoneyTax=null;
BigDecimal taxRate=null;
if(dataList1.size()>0){
String disAttribute=dataList1.get(0).get("DIS_ATTRIBUTE");
String fixAmount=dataList1.get(0).get("FIX_AMOUNT");
String disRatio=dataList1.get(0).get("DIS_RATIO");
if("01".equals(leas_form)){
taxRate=new BigDecimal("1.16");
}else {
taxRate=new BigDecimal("1.06");
}
if(disAttribute!=null&&!"".equals(disAttribute)){
if("1".equals(disAttribute)){
MONEY=fixAmount;
param.put("FACT_MONEY",MONEY);
bigMoneyNoTax=new BigDecimal(MONEY).divide(taxRate,2, BigDecimal.ROUND_HALF_UP);
bigMoneyTax=new BigDecimal(MONEY).subtract(new BigDecimal(MONEY).divide(taxRate,2, BigDecimal.ROUND_HALF_UP));
param.put("INTERESTNOTAX",bigMoneyNoTax.toString());
param.put("TAX",bigMoneyTax.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();
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");
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");
Map<String,String> map1=new HashMap<String, String>();
map1.put("leas_form", leas_form);
map1.put("startdate", start_date);
String sql1 ="SELECT DIS_ATTRIBUTE,FIX_AMOUNT,DIS_RATIO,PRODUCT_ID FROM LB_PRODUCT_SALVAGE WHERE DATE_FORMAT(effect_start,'%Y/%m/%d')<=DATE_FORMAT(:startdate,'%Y/%m/%d') AND DATE_FORMAT(effect_end,'%Y/%m/%d')>DATE_FORMAT(:startdate,'%Y/%m/%d') AND product_id =:leas_form";
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, map1);
BigDecimal bigMoney=null;
BigDecimal bigMoneyNoTax=null;
BigDecimal bigMoneyTax=null;
BigDecimal taxRate=null;
if(dataList1.size()>0){
String disAttribute=dataList1.get(0).get("DIS_ATTRIBUTE");
String fixAmount=dataList1.get(0).get("FIX_AMOUNT");
String disRatio=dataList1.get(0).get("DIS_RATIO");
if("01".equals(leas_form)){
taxRate=new BigDecimal("1.16");
}else {
taxRate=new BigDecimal("1.06");
}
if("2".equals(disAttribute)){
bigMoney=new BigDecimal(MONEY)
.multiply(new BigDecimal(disRatio))
.divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP);
bigMoneyNoTax=bigMoney.divide(taxRate,2,BigDecimal.ROUND_HALF_UP);
bigMoneyTax=bigMoney.subtract(bigMoneyNoTax);
param.put("FACT_MONEY",bigMoney.toString());
param.put("INTERESTNOTAX",bigMoneyNoTax.toString());
param.put("TAX",bigMoneyTax.toString());
if(disAttribute!=null&&!"".equals(disAttribute)){
if("1".equals(disAttribute)){
MONEY=fixAmount;
param.put("FACT_MONEY",MONEY);
bigMoneyNoTax=new BigDecimal(MONEY).divide(taxRate,2, BigDecimal.ROUND_HALF_UP);
bigMoneyTax=new BigDecimal(MONEY).subtract(new BigDecimal(MONEY).divide(taxRate,2, BigDecimal.ROUND_HALF_UP));
param.put("INTERESTNOTAX",bigMoneyNoTax.toString());
param.put("TAX",bigMoneyTax.toString());
}
if("2".equals(disAttribute)){
bigMoney=new BigDecimal(MONEY)
.multiply(new BigDecimal(disRatio))
.divide(new BigDecimal("100"),2, BigDecimal.ROUND_HALF_UP);
bigMoneyNoTax=bigMoney.divide(taxRate,2,BigDecimal.ROUND_HALF_UP);
bigMoneyTax=bigMoney.subtract(bigMoneyNoTax);
param.put("FACT_MONEY",bigMoney.toString());
param.put("INTERESTNOTAX",bigMoneyNoTax.toString());
param.put("TAX",bigMoneyTax.toString());
}
}
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
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",DISTRIBUTOR_ID);
param.put("CUSTNAME",DISTRIBUTOR_NAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
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端
}
}
//param.put("FUNDTYPE", ""); // 主营类型
param.put("BUSINESSTYPE", "06");
param.put("FlowUnid", FlowUnid);
map.clear();
map.put("PROJ_TYPE", leas_form);
map.put("VOUCHER_NO", VOUCHERNO);
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
if(vouch!=null){
vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}
param.put("ACCOUNT_DATE",ACCOUNT_DATE);
param.put("FACT_DATE",FACT_DATE);
param.put("CONTRACT_ID",CONTRACT_ID);
param.put("CONTRACT_NUMBER",CONTRACT_NUMBER);
param.put("PROJECT_NAME",PROJECT_NAME);
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",DISTRIBUTOR_ID);
param.put("CUSTNAME",DISTRIBUTOR_NAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
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端
}
}
//param.put("FUNDTYPE", ""); // 主营类型
param.put("BUSINESSTYPE", "06");
param.put("FlowUnid", FlowUnid);
map.clear();
map.put("PROJ_TYPE", leas_form);
map.put("VOUCHER_NO", VOUCHERNO);
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
if(vouch!=null){
vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), leas_form, VOUCHER_TYPE, userid,param, Sqlca);
}
}
}
}

View File

@ -47,22 +47,23 @@ public class InsertVoucherRentIncome {
map.put("VOUCHER_NO", VOUCHERNO);
BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca);
if(vouch!=null){
//网银收租金
//到的租金--网银
if("PZ2018072100000024".equals(VOUCHERNO)||"PZ2018080400000081".equals(VOUCHERNO)){
sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.LOAN_DIRECTION='1' THEN lvri.rent ELSE 0.00 END,CASE WHEN lv.LOAN_DIRECTION='2' THEN lvri.rent ELSE 0.00 END,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018072100000024','PZ2018080400000081')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' and f58 is not null) and lvri.rent>0 and lvri.EBANK_NUMBER is not null and lvri.EBANK_NUMBER<>'' ORDER BY lvri.voucher_f3 ";
}
//卡扣收租金
//到的租金--卡扣
if("PZ2018082100000142".equals(VOUCHERNO)||"PZ2018082100000143".equals(VOUCHERNO)){
sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.LOAN_DIRECTION='1' THEN lvri.rent ELSE 0.00 END,CASE WHEN lv.LOAN_DIRECTION='2' THEN lvri.rent ELSE 0.00 END,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018082100000142','PZ2018082100000143')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金%' and f58 is not null) and lvri.rent>0 and (lvri.EBANK_NUMBER is null or lvri.EBANK_NUMBER='') ORDER BY lvri.voucher_f3 ";
}
//网银收罚息
//收到的逾期利息--网银
if("PZ2018072100000025".equals(VOUCHERNO)||"PZ2018080400000082".equals(VOUCHERNO)){
sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number='1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number='2' THEN ROUND(lvri.penalty/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2) WHEN lv.sort_number='3' THEN lvri.penalty-(ROUND(lvri.penalty/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2)) ELSE 0.00 END AS f8,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018072100000025','PZ2018080400000082')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty>0 AND lvri.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER<>'' ORDER BY lvri.voucher_f3";
}
//卡扣收罚息
//收到的逾期利息--卡扣
if("PZ2018082100000144".equals(VOUCHERNO)||"PZ2018082100000145".equals(VOUCHERNO)){
sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的逾期利息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number='1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number='2' THEN ROUND(lvri.penalty/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2) WHEN lv.sort_number='3' THEN lvri.penalty-(ROUND(lvri.penalty/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2)) ELSE 0.00 END AS f8,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018082100000144','PZ2018082100000145')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的逾期利息%' AND f58 IS NOT NULL) AND lvri.penalty>0 and (lvri.EBANK_NUMBER is null or lvri.EBANK_NUMBER='') ORDER BY lvri.voucher_f3";
}
// 收到的贴息
if("PZ2018072100000028".equals(VOUCHERNO)||"PZ2018080400000085".equals(VOUCHERNO)){
sql_where="INSERT INTO voucher_v8 (id,evidence_message,periodyear,f1,f3,f5,f6,f7,f8,f12,f15,f49,f50,f51,f52,f59,f60,f61,f62,f64,f65,f73,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58) SELECT REPLACE(UUID(),'-','') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4) periodyear,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') f1,lvri.voucher_f3,'收到的贴息',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number='1' THEN lvri.rent ELSE 0.00 END as f7,CASE WHEN lv.sort_number='2' THEN round(lvri.rent/case when lci.leas_form='01' then 1.16 else 1.06 end,2) WHEN lv.sort_number='3' then lvri.rent-(ROUND(lvri.rent/CASE WHEN lci.leas_form='01' THEN 1.16 ELSE 1.06 END,2)) ELSE 0.00 END as f8,'IT管理员',DATE_FORMAT(SYSDATE(),'%Y/%m/%d'),lv.OWNED_COMPANY,lv.OWNED_COMPANY,SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),1,4),SUBSTR(DATE_FORMAT(SYSDATE(),'%Y%m%d'),5,2),lv.sort_number,lci.contract_number,lvri.cust_name,lv.loan_subject,CASE WHEN lv.loan_direction='2' THEN '04' ELSE '' END,lvri.cust_id,CASE WHEN lv.loan_direction='2' THEN '02' ELSE '' END,lvri.OWN_NUMBER,'已完整',NOW(3),'0',lv.modular_number,CASE WHEN lv.loan_direction='1' THEN '1' ELSE '-1' END,'admin',lvri.income_id FROM lv_discount_income lvri LEFT JOIN lb_contract_info lci ON lci.id=lvri.contract_id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY ,lvl.sort_number,lvl.loan_subject,lvc.modular_number FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID=lvc.id WHERE lvc.voucher_no IN ('PZ2018080400000085','PZ2018072100000028')) lv ON lv.proj_type=lci.LEAS_FORM WHERE lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的贴息%' and f58 is not null) and lvri.rent>0 ORDER BY lvri.voucher_f3";
}

View File

@ -109,8 +109,7 @@ public class CreateVoucherServiceImpl {
}
/**
*
* @param tx
* @param tx ÊÂÎï
* @param param 生成凭证参数 必须参数PROJ_TYPE 项目类型MODULAR_NUMBER 模块编号
* @throws Exception
*/

View File

@ -89,7 +89,7 @@ public class VoucherToV8Impl implements VoucherService {
Map<String,String> d=new HashMap<String, String>();
String contracid=list.get(i).get("CONTRACT_ID");//合同号
String modularNumber=param.get("MODULAR_NUMBER");//ƾ֤±àºÅ
String modularNumber=param.get("MODULAR_NUMBER");//ƾ֤ģ°åÃû³Æ
//网银导入代收租金 的凭证不需要合同号
if(!Return_Dealer_Margin.equals(modularNumber)&&!Receive_Dealer_Margin.equals(modularNumber)&&!moduleName_value.equals(modularNumber)
&& !SPECIAL_MODULENAME.equals(modularNumber)&&!Return_surplus_income.equals(modularNumber) &&!Return_surplus_send.equals(modularNumber) && !ebank_income.equals(modularNumber)&& Tools.isNullOrEmpty(contracid)