This commit is contained in:
zhouyahui 2019-06-17 12:17:39 +08:00
commit 289d16a769
10 changed files with 201 additions and 33 deletions

View File

@ -159,7 +159,7 @@
return;
}
}
debugger;
for(var i=0;i<sParm.length;i++){
if(Number(sParm_penalty[i])>Number(penalty[i])){
alert("核销罚息不能大于罚息金额!");

View File

@ -56,13 +56,12 @@
var rate = "0.25";
var sMoney = Number(cMoney*rate/100).toFixed(2);
var aMoney = Number(cMoney-sMoney).toFixed(2);
var today;
var hireDay = "<%=HIRE_DATE%>";
// 在加载完表格后调用
window.onload = function(){
checkRed();
// 如果是可核销的, 页面加载完毕后设置默认值
var CHARGEBACK_BALANCE = getItemValue(0, 0, "CHARGEBACK_BALANCE");
if(CHARGEBACK_BALANCE<0){
$("#CHARGEBACK_BALANCE").css("color","red");
}
     if("<%=type%>"=="new"){
// 设置银行账号
setItemValue(0, 0, "OWN_NUMBER", "<%=OWN_NUMBER%>");
@ -87,8 +86,27 @@
// 计算核销差额
bMoney();
     }
     today();
     $(getObj(0,"ACHIEVED_DATE")).next().attr("onclick","SelectDate(this.previousSibling,'yyyy\/MM\/dd','<%=HIRE_DATE%>','"+today+"')");
}
function checkRed(){
var CHARGEBACK_BALANCE = getItemValue(0, 0, "CHARGEBACK_BALANCE");
if(CHARGEBACK_BALANCE!=0){
$("#CHARGEBACK_BALANCE").css("color","red");
}
}
function today(){
  var tDate = new Date();
  //样式为1990/1/1 ,格式不适用
  //var today = tDate.toLocaleDateString();
  var mMonth = tDate.getMonth()+1;
  if(mMonth<10){mMonth = "0"+mMonth;}
 
  var dDate = tDate.getDate();
  if(dDate<10){dDate = "0"+dDate;}
   today = tDate.getFullYear()+"/"+mMonth+"/"+dDate;
return today;
}
/*
* 当银行到账金额变更后, 重新计算手续费费率及核销差额
*/
@ -125,6 +143,7 @@
function bMoney(){
var bMoney = Number(cMoney-sMoney-aMoney).toFixed(2); // 核销差额
setItemValue(0,0,"CHARGEBACK_BALANCE",bMoney);
checkRed();
}
/*
* 点击核销, 将数据插入中间表
@ -136,10 +155,13 @@
alert("请选择银行到账日期 ");
return;
}
if(CHARGEBACK_BALANCE<0){
$("#CHARGEBACK_BALANCE").css("color","red");
if(ACHIEVED_DATE1>today||ACHIEVED_DATE1<hireDay){
alert("银行到账日期超出范围,请检查!");
return;
}
if(CHARGEBACK_BALANCE!=0){
if(!confirm("核销差额不为0是否确认核销")){return;}
}
if(confirm("核销后批次号和核销信息将不可修改,是否确认核销?")){
as_save("myiframe0","parent.AsDialog.ClosePage()");
var SPARE_BATCH_NO = getItemValue(0, 0, "SPARE_BATCH_NO"); // 批次号
@ -153,7 +175,7 @@
var CHARGEBACK_BALANCE = getItemValue(0, 0, "CHARGEBACK_BALANCE"); // 核销差额
var sparam = "SPARE_BATCH_NO="+SPARE_BATCH_NO+",ACHIEVED_MONEY="+ACHIEVED_MONEY+",SEREVICE_CHARGE="+SEREVICE_CHARGE+",CHARGEBACK_BALANCE="+CHARGEBACK_BALANCE+",CHARGEBACK_MONEY_S="+CHARGEBACK_MONEY_S+",ACHIEVED_DATE="+ACHIEVED_DATE+",OWN_NUMBER="+OWN_NUMBER+",ACC_TITLE="+ACC_TITLE+",userId="+"<%=CurUser.getUserID()%>";
// 调用生成卡扣汇总凭证
var result = RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.CreateVoucherForCardSummarizing","createCardSummarizingVoucher",sparam);
// var result = RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.CreateVoucherForCardSummarizing","createCardSummarizingVoucher",sparam);
}
}
</script>

View File

@ -26,6 +26,7 @@ include
}
sReturn = sReturn.split("@");
setItemValue(0, getRow(), "distributor_no",sReturn[0]);
setItemValue(0, getRow(), "distributor_name",sReturn[1]);
}, "ÇëÑ¡Ôñ¾­ÏúÉÌ")
}

View File

@ -18,9 +18,11 @@
String contractId=condition.getAttribute("contract_id").getString();
String cautionmoney = Sqlca.getString("select caution_money from lc_calc_condition where CONTRACT_ID='"+contractId+"'");
String mayopemoney = Sqlca.getString("select sum(MAYOPE_MONEY) from LC_EBANK_TEMP where flowunid='"+flowunid+"'");
BizObject flow=GetFlowAction.getFlowBussinessObject(flowunid);
String productId=flow.getAttribute("productId").getString();
String ratio = Sqlca.getString("select EarlySettleBreachRatio from PRD_SPECIFIC_LIBRARY where productid='"+productId+"'");
System.out.println(ratio+"===================");
String sTempletNo = "LCContractTerminate";//--模板号--
ASObjectModel doTemp = new ASObjectModel(sTempletNo);
doTemp.setDefaultValue("PAYMENT_NUMBER", paymentnumber);
@ -93,7 +95,15 @@
setItemValue(0,getRow(),"REPURCHASE_MONEY",remaincorpus);
setItemValue(0,getRow(),"FIST_RENT",terminateInfo.fist_rent);
setItemValue(0,getRow(),"FIST_CORPUS","0");
setItemValue(0,getRow(),"HANDLING_CHARGE",Number(remaincorpus*0.05).toFixed(2));
var ratio=0;
if("<%=ratio%>"==""||"<%=ratio%>"==null||"<%=ratio%>"=="null"){
ratio = 0.05;
}else{
ratio = (Number("<%=ratio%>")/100).toFixed(2);
}
setItemValue(0,getRow(),"HANDLING_CHARGE",Math.round(Number(remaincorpus*ratio)*100)/100);
var dateRate=Number("<%=yearrate%>")/100;//获取利率
// var sDate1 = getItemValue(0,getRow(),"PAYDAY_DATE");//获取提出日期
var idays = datedifference(rentPlanDate,paydayAdjust);//获取约定终止日和提出日期相差天数

View File

@ -5435,7 +5435,9 @@
<attributes>
<attribute name="ID" label="标识" type="STRING" length="32"/>
<attribute name="distributor_no" label="经销商id" type="STRING" length="32"/>
<attribute name="distributor_name" label="经销商名称" type="STRING" length="80"/>
<attribute name="days_Number" label="天数" type="STRING" length="32"/>
<attribute name="Automatic_compensatory" label="是否自动代偿" type="STRING" length="32"/>
<attribute name="INPUTUSERID" label="登记人" type="STRING" length="32"/>
<attribute name="INPUTORGID" label="登记部门" type="STRING" length="32"/>
<attribute name="INPUTTIME" label="登记时间" type="STRING" length="32"/>

View File

@ -54,23 +54,29 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
String BUSINESSTYPE=null; // 业务类型
String ACC_NUMBER=null; // 银行账号
String TAX_NUM=null; // 银行账号
String sql="";
// sql="SELECT CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) THEN (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0)) ELSE 0.00 END AS MONEY,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) THEN (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0)) ELSE 0.00 END AS INTERESTNOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0)) ELSE 0.00 END AS TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) THEN (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0)) ELSE 0.00 END AS FIRST_PAYMENT,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) THEN (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0)) ELSE 0.00 END AS GUARANTY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0)) ELSE 0.00 END AS HANDLING_CHARGE_MONEY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) THEN IFNULL(ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))/getTax(LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_NOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) - ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - (CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) THEN (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0)) ELSE 0.00 END) - (CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) THEN (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0)) ELSE 0.00 END) - (CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0)) ELSE 0.00 END) AS OTHERS_MATH,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.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 = '2' AND LCCT.FLOWUNID = :FLOWUNID ";
// sql="SELECT ROUND((getTax(lci.LEAS_FORM,'手续费',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS MONEY,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS INTERESTNOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS FIRST_PAYMENT,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS GUARANTY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR(LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS HANDLING_CHARGE_MONEY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_NOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) - ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - (CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0))ELSE 0.00 END) - (CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END) - (CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(),'%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE,'%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE, '%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LLI.LEASE_ACC_NUMBER AS ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN LB_LESSOR_INFO LLI ON LLI.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 = '2' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'ÊÖÐø·Ñ',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS MONEY,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS INTERESTNOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS FIRST_PAYMENT,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS GUARANTY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR(LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS HANDLING_CHARGE_MONEY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax(LCI.LEAS_FORM,'ÊÖÐø·Ñ',LCCT.START_DATE),2),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_NOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) - ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'ÊÖÐø·Ñ',LCCT.START_DATE),2)),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - (CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0))ELSE 0.00 END) - (CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END) - (CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(),'%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE,'%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE, '%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN LB_LESSOR_INFO LLI ON LLI.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 = '2' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
// sql="SELECT ROUND((getTax(lci.LEAS_FORM,'手续费',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS MONEY,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS INTERESTNOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) ELSE 0.00 END AS FIRST_PAYMENT,CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END AS GUARANTY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR(LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END AS HANDLING_CHARGE_MONEY,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_NOTAX,CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN IFNULL(((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) - ROUND((LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) ELSE 0.00 END AS HANDLING_CHARGE_MONEY_TAX,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) - (CASE WHEN (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0)) > 0) THEN (LCCT.FIRST_PAYMENT - IFNULL(LFIT3.FIRST_PAYMENT, 0))ELSE 0.00 END) - (CASE WHEN (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) > 0) THEN (LCCT.CAUTION_MONEY - IFNULL(LFIT4.GUARANTY, 0)) ELSE 0.00 END) - (CASE WHEN (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) > 0) THEN (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY, 0)) ELSE 0.00 END) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(),'%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE,'%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE, '%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN LB_LESSOR_INFO LLI ON LLI.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 = '2' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
// String sql=" SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,IFNULL(LFIT3.FIRST_PAYMENT,0) AS FIRST_PAYMENT,IFNULL(LFIT4.GUARANTY,0) AS GUARANTY,IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) AS HANDLING_CHARGE_MONEY,ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS HANDLING_CHARGE_MONEY_NOTAX,(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0)-ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS HANDLING_CHARGE_MONEY_TAX,(IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0)-IFNULL(LFIT3.FIRST_PAYMENT,0)-IFNULL(LFIT4.GUARANTY,0)-IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0)) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(), '%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE,'%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 ON LFIT1.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT FLOWUNID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype10' AND MEMO LIKE '%抵扣融资款%' AND FUND_FEETYPE='feetype5' GROUP BY CONTRACT_ID) LFIT3 ON LFIT3.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype10' AND MEMO LIKE '%抵扣融资款%' AND FUND_FEETYPE='feetype2' GROUP BY CONTRACT_ID) LFIT4 ON LFIT4.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype10' AND MEMO LIKE '%抵扣融资款%' AND FUND_FEETYPE='feetype1' GROUP BY CONTRACT_ID) LFIT5 ON LFIT5.CONTRACT_ID = LCI.ID LEFT JOIN LB_LESSOR_INFO LLI ON LLI.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 = '2' AND lul.IS_MAIN = 'Y' AND LCCT.FLOWUNID = :FLOWUNID ";
String sql="SELECT ROUND((getTax (lci.LEAS_FORM,'本金',LCCT.START_DATE) - 1) * 100,0) AS TAX_NUM,IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0) AS EQUIP_OTHER,IFNULL(LFIT3.FIRST_PAYMENT,0) AS FIRST_PAYMENT,IFNULL(LFIT4.GUARANTY,0) AS GUARANTY,IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) AS HANDLING_CHARGE_MONEY,ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2) AS HANDLING_CHARGE_MONEY_NOTAX,(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0)-ROUND(IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)) AS HANDLING_CHARGE_MONEY_TAX,(IFNULL(LFIT1.EQUIP, 0) + IFNULL(LFIT2.OTHER_MONEY, 0)-IFNULL(LFIT3.FIRST_PAYMENT,0)-IFNULL(LFIT4.GUARANTY,0)-IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0)) AS OTHERS_MATH,CASE WHEN DATE_FORMAT(NOW(), '%Y/%m') > DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m') THEN DATE_FORMAT(LFIT1.ACCOUNTING_DATE,'%Y/%m/%d') ELSE DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') END AS ACCOUNT_DATE,DATE_FORMAT(LFIT1.FACT_DATE, '%Y/%m/%d') AS FACT_DATE,LFIT1.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT1.ACC_NUMBER AS ACC_NUMBER FROM (SELECT FLOWUNID,CONTRACT_ID,MAX(FACT_DATE) AS FACT_DATE,MAX(ACCOUNTING_DATE) AS ACCOUNTING_DATE,MAX(ACC_NUMBER) AS ACC_NUMBER,SUM(FACT_MONEY) AS EQUIP FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype10' GROUP BY FLOWUNID,CONTRACT_ID) LFIT1 LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS OTHER_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype29' GROUP BY FLOWUNID,CONTRACT_ID) LFIT2 ON LFIT2.FLOWUNID = LFIT1.FLOWUNID AND LFIT2.CONTRACT_ID=LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS FIRST_PAYMENT FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype5' AND SETTLE_METHOD='settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT3 ON LFIT3.FLOWUNID=LFIT1.FLOWUNID AND LFIT3.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS GUARANTY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype2' AND SETTLE_METHOD='settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT4 ON LFIT4.FLOWUNID=LFIT1.FLOWUNID AND LFIT4.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(FACT_MONEY) AS HANDLING_CHARGE_MONEY FROM LC_FUND_INCOME_TEMP WHERE FEE_TYPE = 'feetype1' AND SETTLE_METHOD='settlemethod11' GROUP BY FLOWUNID,CONTRACT_ID) LFIT5 ON LFIT5.FLOWUNID=LFIT1.FLOWUNID AND LFIT5.CONTRACT_ID = LFIT1.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT1.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_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 = '2' AND LUL.IS_MAIN = 'Y' AND LFIT1.FLOWUNID = :FLOWUNID";
// 非差额放款部分--购置融资租赁资产-传统租赁资产(判断首付款&&保证金&&手续费是否已经回款)
if("PZ2018092500000159".equals(VOUCHERNO)){
sql+=" AND (LFIT3.FIRST_PAYMENT IS NOT NULL AND (LCCT.FIRST_PAYMENT- LFIT3.FIRST_PAYMENT)=0) AND (LFIT4.GUARANTY IS NOT NULL AND (LCCT.CAUTION_MONEY-LFIT4.GUARANTY)=0) AND (LFIT5.HANDLING_CHARGE_MONEY IS NOT NULL AND (LCCT.HANDLING_CHARGE_MONEY-LFIT5.HANDLING_CHARGE_MONEY)=0) ";
// sql+=" AND (LFIT3.FIRST_PAYMENT IS NOT NULL AND (LCCT.FIRST_PAYMENT- LFIT3.FIRST_PAYMENT)=0) AND (LFIT4.GUARANTY IS NOT NULL AND (LCCT.CAUTION_MONEY-LFIT4.GUARANTY)=0) AND (LFIT5.HANDLING_CHARGE_MONEY IS NOT NULL AND (LCCT.HANDLING_CHARGE_MONEY-LFIT5.HANDLING_CHARGE_MONEY)=0) ";
sql+=" AND (IFNULL(LFIT3.FIRST_PAYMENT,0) = 0 AND IFNULL(LFIT4.GUARANTY,0) =0 AND IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) = 0)";
}else if("PZ2018092500000162".equals(VOUCHERNO)) {// 差额-经销商支付的预付款(首付)
sql+=" AND (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) ";
// sql+=" AND (LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) ";
sql+=" AND IFNULL(LFIT3.FIRST_PAYMENT,0) <> 0 ";
}else if("PZ2018092500000164".equals(VOUCHERNO)) {// 客户记录保证金
sql+=" AND (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) ";
// sql+=" AND (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) ";
sql+=" AND IFNULL(LFIT4.GUARANTY,0) <> 0 ";
}else if("PZ2018092500000166".equals(VOUCHERNO)) {// 收到客户手续费
sql+=" AND (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) ";
// sql+=" AND (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0) ";
sql+=" AND IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) <> 0 ";
}else if("PZ2018092500000169".equals(VOUCHERNO)) {// 给经销商放款-差额放款
sql+=" AND ((LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) OR (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) OR (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0)) ";
// sql+=" AND ((LFIT3.FIRST_PAYMENT IS NULL OR (LCCT.FIRST_PAYMENT- IFNULL(LFIT3.FIRST_PAYMENT,0))>0) OR (LFIT4.GUARANTY IS NULL OR (LCCT.CAUTION_MONEY- IFNULL(LFIT4.GUARANTY,0))>0) OR (LFIT5.HANDLING_CHARGE_MONEY IS NULL OR (LCCT.HANDLING_CHARGE_MONEY - IFNULL(LFIT5.HANDLING_CHARGE_MONEY,0))>0)) ";
sql+=" AND (IFNULL(LFIT3.FIRST_PAYMENT,0) <> 0 OR IFNULL(LFIT4.GUARANTY,0) <> 0 OR IFNULL(LFIT5.HANDLING_CHARGE_MONEY ,0) <> 0)";
}
param.clear();
map.put("FLOWUNID", FlowUnid);

View File

@ -46,7 +46,6 @@ public class ContractActualPaymentTraditionVoucher extends BaseBussiness {
cvap.CreateVoucher(FlowUnid, "PZ2018092500000169",userid); // ¹ºÖÃÈÚ×Ê×âÁÞ×ʲú-²îî·Å¿î--»Ø×â
//cvap.CreateVoucher(FlowUnid, "PZ2018092600000233"); // ¸ø¾­ÏúÉÌ·Å¿î-²îî·Å¿î--Ö±×â
return "true";
}
}

View File

@ -42,11 +42,11 @@ public class InsertVoucherRentIncome {
* 查询数据, 判断是否需要执行插入中间表
*/
// 查询是否有当月的, 未生成凭证的数据(卡扣及经销商代偿)
String sqls1="SELECT lri.RENT 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','经销商代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y' ";
String sqls1="SELECT lri.RENT 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y' ";
// 查询跨月的, 未生成凭证的数据(卡扣及经销商代偿)
String sqls2="SELECT lri.RENT 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','经销商代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y' ";
String sqls2="SELECT lri.RENT 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y' ";
// 查询当前数据是否有逾期利息(卡扣及经销商代偿)
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 WHERE lrp.collect_status IN ('手工收款', '批量收款','经销商代偿') AND lri.penalty > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_penalty_income) AND lul.is_main = 'Y' ";
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 WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.penalty > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_penalty_income) 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);
@ -56,11 +56,11 @@ public class InsertVoucherRentIncome {
* 将数据插入中间表的SQL
*/
// 未逾期及逾期未过月(卡扣及经销商代偿)
String sql1="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','经销商代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y') ";
String sql1="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y') ";
// 逾期过月(卡扣及经销商代偿)
String sql2="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','经销商代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y')";
String sql2="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,lri.RENT,lri.CORPUS,lri.INTEREST,0.00,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.rent > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income) AND lrp.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main = 'Y')";
// 逾期利息(卡扣及经销商代偿)
String sql3="INSERT INTO lv_penalty_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,0.00,0.00,0.00,lri.PENALTY,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','经销商代偿') AND lri.penalty > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_penalty_income) AND lul.is_main = 'Y') ";
String sql3="INSERT INTO lv_penalty_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lrp.id,lri.HIRE_DATE,0.00,0.00,0.00,lri.PENALTY,lri.OWN_BANK,lri.OWN_ACCOUNT,lri.OWN_NUMBER,lri.EBANK_NUMBER,lri.CARDDEDUCT_ID,lri.ACCOUNTING_DATE,lrp.COLLECT_STATUS 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 WHERE lrp.collect_status IN ('手工收款', '批量收款','代偿') AND lri.penalty > 0 AND lrp.id NOT IN (SELECT income_id FROM lv_penalty_income) AND lul.is_main = 'Y') ";
/**
* 根据查询语句判断, 有值才执行插入SQL
@ -109,15 +109,15 @@ public class InsertVoucherRentIncome {
// 当月的租金(卡扣)
String sql1="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 当月的租金(经销商代偿)
String sql11="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='经销商代偿' AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
String sql11="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 本月以前的租金(卡扣)
String sql2="SELECT lvri.RENT FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 本月以前的租金(经销商代偿)
String sql22="SELECT lvri.RENT FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='经销商代偿' AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
String sql22="SELECT lvri.RENT FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到代偿的租金%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')";
// 逾期利息(卡扣)
String sql3="SELECT lvri.PENALTY FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status IN ('手工收款', '批量收款') AND lvri.PENALTY > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) ";
// 逾期利息(经销商代偿)
String sql33="SELECT lvri.PENALTY FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='经销商代偿' AND lvri.PENALTY > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%代偿逾期利息%' AND f58 IS NOT NULL) ";
String sql33="SELECT lvri.PENALTY FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE lvri.collect_status ='代偿' AND lvri.PENALTY > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%代偿逾期利息%' AND f58 IS NOT NULL) ";
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, null);
List<Map<String,String>> dataList11=DataOperatorUtil.getDataBySql(Sqlca, sql11, null);
@ -132,15 +132,15 @@ public class InsertVoucherRentIncome {
// 收到的租金--卡扣-当月的(汽车)
String sql_where1 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018082100000142')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
// 收到的租金--经销商代偿-当月的(汽车)
String sql_where11 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN ( lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到代偿的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '6' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '6' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.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 (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019053000000001')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status ='经销商代偿' ORDER BY lvri.voucher_f3 ";
String sql_where11 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN ( lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到代偿的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '6' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '6' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.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 (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019053000000001')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
// 收到的租金--卡扣-跨月的(汽车)
String sql_where2 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018082100000143')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
// 收到的租金--经销商代偿-跨月的(汽车)
String sql_where22 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到代偿的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.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 (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019053000000002')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status ='经销商代偿' ORDER BY lvri.voucher_f3 ";
String sql_where22 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到代偿的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,'' AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income2 lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.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 (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2019053000000002')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
//收到的逾期利息--卡扣
String sql_where3 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,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 / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty /getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2018082100000144')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status IN ('手工收款', '批量收款') ORDER BY lvri.voucher_f3 ";
//收到的逾期利息--经销商代偿
String sql_where33 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'代偿逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,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 / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty /getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.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 (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2019053000000003')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status ='经销商代偿' ORDER BY lvri.voucher_f3 ";
String sql_where33 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'代偿逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,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 / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty /getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,6,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_NAME ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '3' THEN '' WHEN lv.sort_number = '1' THEN DI.DISTRIBUTOR_CODING ELSE lvri.CUST_ID END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.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 (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2019053000000003')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND 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.collect_status ='代偿' ORDER BY lvri.voucher_f3 ";
/**
* 根据查询语句判断, 有值才执行插入SQL
*/

View File

@ -626,7 +626,7 @@ public class CollectAuditInfoCache {
i++;
//更新收付状态
bc.createQuery("update O set O.COLLECT_STATUS=:COLLECT_STATUS ,O.COLLECT_MSG=:COLLECT_MSG where O.id=:id")
.setParameter("COLLECT_STATUS", "¾­ÏúÉÌ´ú³¥")
.setParameter("COLLECT_STATUS", "´ú³¥")
.setParameter("COLLECT_MSG", "经销商保证金代偿")
.setParameter("id", bom.getAttribute("id").toString()).executeUpdate();
//在这里插入经销商保证金退回表的数据

View File

@ -0,0 +1,128 @@
package com.tenwa.lease.app.quartzmession;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import jbo.com.tenwa.lease.carbrand.lb_automatic_compensatory;
import jbo.com.tenwa.lease.comm.VI_LC_AUDIT_RENT_PLAN;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.base.util.QuartzUtil;
import com.tenwa.collectaudit.cache.CollectAuditInfoCache;
import com.tenwa.comm.util.date.DateAssistant;
import com.tenwa.flow.action.comm.SelectBalance;
public class DistributorMarginCompensation implements Job {
private JobInitUserName jboName;
@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
JBOTransaction tx =null;
Object userId = arg0.getTrigger().getJobDataMap().get("CurUserId");
String curUserId = userId == null? "system" : userId.toString();
String plan_date = DateAssistant.getToday();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy/MM/dd");
CollectAuditInfoCache ca = new CollectAuditInfoCache();
SelectBalance sb = new SelectBalance();
try {
tx = JBOFactory.createJBOTransaction();
ca.setInputuserid(jboName.getUserId(arg0, tx));
List<BizObject> bo_lacs = JBOFactory.getBizObjectManager(lb_automatic_compensatory.CLASS_NAME, tx).createQuery("Automatic_compensatory='YesN01'").getResultList(false);
if(bo_lacs.size()==0){
System.out.println("=================未找到可以自动代偿的经销商=================");
return;
}
for(BizObject bo_lac : bo_lacs){
String distributor_no = bo_lac.getAttribute("distributor_no").toString();
//获得代偿日期
int days_Number = bo_lac.getAttribute("days_Number").getInt();
if(days_Number<=0){
System.out.println("经销商:"+distributor_no+"代偿天数必须大于0");
continue;
}
//代偿天数安鹏要求如果填写3天那么在第2天就开始代偿
days_Number =0 - days_Number + 1;
Date dt = sdf.parse(plan_date);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.DAY_OF_YEAR, days_Number);
Date dt_add = cal.getTime();
String repay_date = sdf.format(dt_add);
System.out.println("代偿日期为:"+repay_date);
List<BizObject> bos = JBOFactory.getBizObjectManager(VI_LC_AUDIT_RENT_PLAN.CLASS_NAME, tx).createQuery("O.COLLECT_STATUS IN ('未收款', '部分收款') and O.PLAN_DATE <= '"+repay_date+"' and ( O.BATCH_STATUS<>'process' or o.BATCH_STATUS IS NULL ) and O.DISTRIBUTOR_ID='"+distributor_no+"'").getResultList(false);
if(bos.size()==0){
System.out.println("经销商:"+distributor_no+"没有可以核销的租金");
continue;
}
String ids = "";
double rent = 0;
String penaltys = "";
for(int i=0;i<bos.size();i++){
if("".equals(ids)){
ids=bos.get(i).getAttribute("id").toString();
penaltys = bos.get(i).getAttribute("penalty").toString();
}else{
ids+="@"+bos.get(i).getAttribute("id").toString();
penaltys +="@"+bos.get(i).getAttribute("penalty").toString();
}
rent += bos.get(i).getAttribute("rent").getDouble();
}
if("".equals(ids)){
continue;
}
//扣款提前校验
ca.setId(ids);
String result = ca.checkRentIsIncome(tx);
String [] value = result.split("@");
if("error".equals(value[0])){
System.out.println("经销商:"+distributor_no+""+value[1]);
continue;
}
//验证余额是否足够
sb.setDistributor_no(distributor_no);
sb.setCaution_money(String.valueOf(rent));
String result_rent = sb.runs(tx);
String [] value_rent = result_rent.split("@");
if(!"SUCCESS".equals(value_rent[0])){
System.out.println("经销商:"+distributor_no+value_rent[1]);
continue;
}
//核销
ca.setDistributor_id(distributor_no);
ca.setPenaltys(String.valueOf(penaltys));
String result_Collect = ca.afterCollectManageDistributor(tx);
System.out.println("经销商:"+distributor_no+result_Collect);
}
QuartzUtil.insertLog(plan_date,"com.tenwa.lease.app.quartzmession.DistributorMarginCompensation", "success", "成功", curUserId);
} catch (Exception e2) {
e2.printStackTrace();
QuartzUtil.insertLog(plan_date,"com.tenwa.lease.app.quartzmession.DistributorMarginCompensation", "error", "成功", curUserId);
if (tx != null) {
try {
tx.rollback();
tx=null;
} catch (JBOException e1) {
e1.printStackTrace();
}
}
}finally{
try {
if(tx !=null){
tx.commit();
}
} catch (JBOException e) {
e.printStackTrace();
}
}
}
}