凭证新增税率

This commit is contained in:
xiezhiwen 2019-03-22 09:44:44 +08:00
parent 2401f5cc8c
commit 5fba5235ef
26 changed files with 421 additions and 136 deletions

View File

@ -15,7 +15,7 @@
//0、是否展示 1、 权限控制 2、 展示类型 3、按钮显示名称 4、按钮解释文字 5、按钮触发事件代码 6、 7、 8、 9、图标CSS层叠样式 10、风格
String sButtons[][] = {
{"true","All","Button","新增","新增","newRecord()","","","","btn_icon_add",""},
{"true","","Button","ÏêÇé","ÏêÇé","viewAndEdit()","","","","btn_icon_detail",""},
{"true","","Button","ÐÞ¸Ä","ÐÞ¸Ä","viewAndEdit()","","","","btn_icon_detail",""},
{"true","","Button","删除","删除","if(confirm('确实要删除吗?'))as_delete(0,'')","","","","btn_icon_delete",""},
};

View File

@ -228,6 +228,56 @@
</managerProperties>
</manager>
</class>
<class name="LB_DISCOUNT" label="贴息导入" keyAttributes="ID">
<attributes>
<attribute name="ID" label="ID" type="STRING" length="64"/>
<attribute name="EBAND_NO" label="网银流水号" type="STRING" length="32"/>
<attribute name="CONTRACT_NO" label="合同编号" type="STRING" length="64"/>
<attribute name="DISCOUNT_MONEY" label="贴息金额" type="DOUBLE" length="22" scale="2"/>
<attribute name="FIELD1" label="产品" type="STRING" length="64"/>
<attribute name="CAR_BRAND" label="品牌" type="STRING" length="64"/>
<attribute name="FIELD3" label="车系" type="STRING" length="64"/>
<attribute name="FRAME_NUMBER" label="车架号" type="STRING" length="64"/>
<attribute name="RECEIVED_DATE" label="预留字段" type="STRING" length="64"/>
<attribute name="FIELD2" label="预留字段" type="STRING" length="64"/>
<attribute name="FIELD4" label="预留字段" type="STRING" length="64"/>
<attribute name="FIELD5" label="预留字段" type="STRING" length="64"/>
<attribute name="INPUTUSERID" label="登记人" type="STRING" length="64"/>
<attribute name="INPUTORGID" label="登记部门" type="STRING" length="64"/>
<attribute name="INPUTTIME" label="登记时间" type="STRING" length="64"/>
<attribute name="UPDATEUSERID" label="变更人" type="STRING" length="64"/>
<attribute name="UPDATEORGID" label="变更部门" type="STRING" length="64"/>
<attribute name="UPDATETIME" label="变更时间" type="STRING" length="64"/>
<attribute name="VOUCHER_ID" label="预留字段" type="STRING" length="32"/>
<attribute name="IS_VOUCHER" label="凭证标识, 生成为1" type="STRING" length="12"/>
</attributes>
<manager>
<managerProperties>
<property name="table" value="lb_discount" />
<property name="createKey" value="true" />
</managerProperties>
</manager>
</class>
<class name="TAX_CODE" label="利率编码" keyAttributes="ID">
<attributes>
<attribute name="ID" label="主键ID" type="STRING" length="32"/>
<attribute name="TAX_NUMBER" label="税率" type="STRING" length="12"/>
<attribute name="TAX_CODES" label="税率编码" type="STRING" length="32"/>
<attribute name="OWN_NAME" label="预留字段" type="STRING" length="100"/>
<attribute name="inputuserid" label="登记人" type="STRING" length="32"/>
<attribute name="inputorgid" label="登记部门" type="STRING" length="32"/>
<attribute name="inputtime" label="登记时间" type="STRING" length="32"/>
<attribute name="updateuserid" label="更新人" type="STRING" length="32"/>
<attribute name="updateorgid" label="更新部门" type="STRING" length="32"/>
<attribute name="updatetime" label="更新时间" type="STRING" length="32"/>
</attributes>
<manager>
<managerProperties>
<property name="table" value="tax_code" />
<property name="createKey" value="true" />
</managerProperties>
</manager>
</class>
</package>
</jbo>

View File

@ -9,6 +9,7 @@ import java.util.Map;
import jbo.app.tenwa.calc.LC_EBANK;
import jbo.com.tenwa.entity.comm.own.OWN_ACCOUNT;
import jbo.voucher.LV_DEFAULT_ATTRIBUTE;
import com.amarsoft.app.lc.util.DateAssistant;
import com.amarsoft.are.jbo.BizObject;
@ -107,14 +108,14 @@ public class LCEbankCallBack extends BaseImportExcelCallBack {
//检验网银编号不重复
String ebank_sn=importObject.getAttribute("ebank_sn").toString();
//与已有的网银编号比较
/*//与已有的网银编号比较
BizObjectManager bom=JBOFactory.getBizObjectManager(LC_EBANK.CLASS_NAME);
tx.join(bom);
String sql="select ebank_sn from O where ebank_sn='"+ebank_sn+"'";
List<BizObject> ebanklist=bom.createQuery(sql).getResultList(false);
if(ebanklist.size()>0){
throw new BusinessException("网银编号不能重复");
}
}*/
//检验本方帐户
String OWN_BANK=importObject.getAttribute("OWN_BANK").toString();
@ -129,7 +130,7 @@ public class LCEbankCallBack extends BaseImportExcelCallBack {
flag=true;
}
if(flag==false){
throw new BusinessException("本方账户信息不匹配");
throw new BusinessException("网银:"+ebank_sn+", 本方账户信息不匹配 !");
}
}
@ -138,6 +139,10 @@ public class LCEbankCallBack extends BaseImportExcelCallBack {
List<String> ebankSns = new ArrayList<String>();
boolean flag = false;
String ebs = "";
List<BizObject> list=JBOFactory.createBizObjectQuery(LC_EBANK.CLASS_NAME,null).getResultList(false);
for(int i=0;i<list.size();i++) {
ebankSns.add(list.get(i).getAttribute("EBANK_SN").getString());
}
for(BizObject bo:importObjects){
String ebankSn = bo.getAttribute("ebank_sn").getString();
if(!ebankSns.contains(ebankSn)){

View File

@ -6,6 +6,7 @@ import java.util.Map;
import jbo.app.tenwa.customer.CUSTOMER_LIST;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.app.util.ProductParamUtil;
import com.amarsoft.are.jbo.BizObject;
@ -52,10 +53,11 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
String CUSTOMERTYPE=null; // 客户类别
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 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,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 ";
// 非差额放款部分--购置融资租赁资产-传统租赁资产(判断首付款&&保证金&&手续费是否已经回款)
if("PZ2018092500000159".equals(VOUCHERNO)){
@ -105,6 +107,12 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");// 客户类别
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");// 业务类型
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");// 银行账号
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
// 将数据封装到定义好的map集合中
param.put("FACT_MONEY",MONEY);
@ -131,7 +139,9 @@ public class CreateVoucherActualPaymentTradition extends BaseBussiness{
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
BizObject cust_list=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+CUSTOMERID+"'").getSingleResult(false);

View File

@ -42,11 +42,11 @@ public class CreateVoucherContractChangeForCarTradition {
map.put("FlowUnid", FlowUnid);
// 未实现利息总额
if("PZ2018100900000265".equals(VOUCHERNO)||"PZ2018100900000266".equals(VOUCHERNO) || "PZ2018100900000284".equals(VOUCHERNO)||"PZ2018100900000285".equals(VOUCHERNO)){
sql="SELECT IFNULL(ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)-ROUND(LRP.SUMINTE / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LRPT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '3' AND LCCT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)-ROUND(LRP.SUMINTE / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LRPT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
}else if("PZ2018100900000267".equals(VOUCHERNO)||"PZ2018100900000268".equals(VOUCHERNO) || "PZ2018100900000286".equals(VOUCHERNO)||"PZ2018100900000287".equals(VOUCHERNO)){
sql="SELECT IFNULL((LRPT.SUMINTE-ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2))-(LRP.SUMINTE - ROUND(LRP.SUMINTE / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LRPT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '3' AND LCCT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL((LRPT.SUMINTE-ROUND(LRPT.SUMINTE/getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2))-(LRP.SUMINTE - ROUND(LRP.SUMINTE / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LRPT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
}else {// 提前结清--调整未实现利息收入/调整未实现利息收入税金(汽车传统)
sql="SELECT IFNULL(LRP.INTEREST,0) AS MONEY,IFNULL(ROUND(LRP.INTEREST / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(LRP.INTEREST - ROUND(LRP.INTEREST / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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 FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID INNER 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 = '3' AND LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LRP.INTEREST,0) AS MONEY,IFNULL(ROUND(LRP.INTEREST / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(LRP.INTEREST - ROUND(LRP.INTEREST / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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 FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID INNER 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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);

View File

@ -42,7 +42,7 @@ public class CreateVoucherContractChangeForTradition {
map.put("FlowUnid", FlowUnid);
// 未实现利息总额
if("PZ2018100900000269".equals(VOUCHERNO) || "PZ2018100900000288".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRPT.SUMINTE,0) - IFNULL(LRP.SUMINTE,0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LRPT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '2' AND LCCT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LRPT.SUMINTE,0) - IFNULL(LRP.SUMINTE,0) AS MONEY,0 AS MONEYNOTAX,0 AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN GROUP BY CONTRACT_ID) LRP ON LRP.CONTRACT_ID = LRPT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
}
//sql="SELECT LRPT.SUMINTE AS MONEY,ROUND(LRPT.SUMINTE / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) AS MONEYNOTAX,(LRPT.SUMINTE-ROUND(LRPT.SUMINTE / getTax(LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID AS 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 FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(INTEREST) SUMINTE FROM LC_RENT_PLAN_TEMP GROUP BY CONTRACT_ID) LRPT ON LRPT.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 ";

View File

@ -5,8 +5,10 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -39,6 +41,7 @@ public class CreateVoucherContractTerminate {
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String TAX_NUM=null;
// 金额类型
String date1="";
@ -68,24 +71,24 @@ public class CreateVoucherContractTerminate {
// 调整未实现利息收入
if("PZ2018072100000045".equals(VOUCHERNO)){
sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE,'%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST,'%Y/%m/%d')GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LCRAT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LRPT.INTEREST, 0) AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE,'%Y/%m/%d') >= DATE_FORMAT(LCRAT.PAYDAY_ADJUST,'%Y/%m/%d')GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
// 收到的逾期租金
}else if("PZ2018081700000127".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LRPT.RENT, 0)-IFNULL(LRI.RENT,0) AS MONEY,IFNULL(LRPT.CORPUS, 0)-IFNULL(LRI.CORPUS,0) AS MONEYNOTAX,IFNULL(LRPT.INTEREST, 0)-IFNULL(LRI.INTEREST,0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,SUM(LRPT.RENT) RENT,SUM(LRPT.CORPUS) CORPUS,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE,'%Y/%m/%d') <DATE_FORMAT(LCRAT.PAYDAY_ADJUST,'%Y/%m/%d')GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,SUM(LRI.RENT) RENT,SUM(LRI.CORPUS) CORPUS,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID)LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LCRAT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LRPT.RENT, 0)-IFNULL(LRI.RENT,0) AS MONEY,IFNULL(LRPT.CORPUS, 0)-IFNULL(LRI.CORPUS,0) AS MONEYNOTAX,IFNULL(LRPT.INTEREST, 0)-IFNULL(LRI.INTEREST,0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,SUM(LRPT.RENT) RENT,SUM(LRPT.CORPUS) CORPUS,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LRPT.PLAN_DATE,'%Y/%m/%d') <DATE_FORMAT(LCRAT.PAYDAY_ADJUST,'%Y/%m/%d')GROUP BY LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,SUM(LRI.RENT) RENT,SUM(LRI.CORPUS) CORPUS,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID)LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
// 将当月利息转收入
}else if("PZ2018081700000129".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LRPT.INTEREST, 0)-IFNULL(LRI.INTEREST, 0)AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)-ROUND(IFNULL(LRI.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) -(IFNULL(LRI.INTEREST, 0) - ROUND(IFNULL(LRI.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.PLAN_LIST,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID,LRPT.PLAN_LIST ) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,LRI.PLAN_LIST,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID,LRI.PLAN_LIST ) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST=LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LCRAT.FLOWUNID = :FLOWUNID ";
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRPT.INTEREST, 0)-IFNULL(LRI.INTEREST, 0)AS MONEY,ROUND(IFNULL(LRPT.INTEREST, 0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)-ROUND(IFNULL(LRI.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRPT.INTEREST, 0) - ROUND(IFNULL(LRPT.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) -(IFNULL(LRI.INTEREST, 0) - ROUND(IFNULL(LRI.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LRPT.FLOWUNID = LCRAT.FLOWUNID AND LRPT.PAYMENT_NUMBER = LCRAT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRP ON LRP.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.PLAN_LIST,SUM(LRPT.INTEREST) AS INTEREST FROM LC_RENT_PLAN LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER WHERE DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m') = DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m') AND DATE_FORMAT(LRPT.PLAN_DATE, '%Y/%m/%d') < DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') GROUP BY LRPT.CONTRACT_ID,LRPT.PLAN_LIST ) LRPT ON LRPT.CONTRACT_ID = LRP.CONTRACT_ID LEFT JOIN (SELECT LRI.CONTRACT_ID,LRI.PLAN_LIST,SUM(LRI.INTEREST) INTEREST FROM LC_RENT_INCOME LRI GROUP BY LRI.CONTRACT_ID,LRI.PLAN_LIST ) LRI ON LRI.CONTRACT_ID = LRPT.CONTRACT_ID AND LRI.PLAN_LIST=LRPT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
// 收到的提前还款剩余本金
}else if("PZ2018081700000136".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY,(IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0)) AS MONEYNOTAX,IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID)LRPT ON LRPT.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LCRAT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LCRAT.OTHER_OUT, 0) AS MONEY,(IFNULL(LCRAT.CORPUS_OVERAGE, 0) - IFNULL(LCRAT.OTHER_OUT, 0)) AS MONEYNOTAX,IFNULL(LCRAT.CORPUS_OVERAGE, 0) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID)LRPT ON LRPT.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
// 确认贴息收入
}else if("PZ2018072100000046".equals(VOUCHERNO)) {
sql="SELECT IFNULL(CRM.DISCOUNT,0) AS MONEY,ROUND(IFNULL(CRM.DISCOUNT,0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.DISCOUNT,0) - ROUND(IFNULL(CRM.DISCOUNT,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.DISCOUNT, 0)) AS DISCOUNT FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID=LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER=LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID)LRPT ON LRPT.CONTRACT_ID=CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE,'%Y%m')>=DATE_FORMAT(LRPT.PAYDAY_ADJUST,'%Y%m')GROUP BY CRM.CONTRACT_ID)CRM ON CRM.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LCRAT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(CRM.DISCOUNT,0) AS MONEY,ROUND(IFNULL(CRM.DISCOUNT,0) / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.DISCOUNT,0) - ROUND(IFNULL(CRM.DISCOUNT,0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.DISCOUNT, 0)) AS DISCOUNT FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID=LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER=LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID)LRPT ON LRPT.CONTRACT_ID=CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE,'%Y%m')>=DATE_FORMAT(LRPT.PAYDAY_ADJUST,'%Y%m')GROUP BY CRM.CONTRACT_ID)CRM ON CRM.FLOWUNID=LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
// 确认手续费
}else if("PZ2018081700000122".equals(VOUCHERNO)) {
sql="SELECT IFNULL(CRM.FEE, 0) AS MONEY,ROUND(IFNULL(CRM.FEE, 0)/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.FEE, 0) - ROUND(IFNULL(CRM.FEE, 0)/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.FEE, 0)) AS FEE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LCRAT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(CRM.FEE, 0) AS MONEY,ROUND(IFNULL(CRM.FEE, 0)/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(CRM.FEE, 0) - ROUND(IFNULL(CRM.FEE, 0)/getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT MAX(LRPT.FLOWUNID) FLOWUNID,CRM.CONTRACT_ID,SUM(IFNULL(CRM.FEE, 0)) AS FEE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN (SELECT LRPT.FLOWUNID,LRPT.CONTRACT_ID,MAX(LCRAT.PAYDAY_ADJUST) PAYDAY_ADJUST FROM LC_RENT_PLAN_TEMP LRPT LEFT JOIN LC_FUND_RENT_ADJUST_TEMP LCRAT ON LCRAT.FLOWUNID = LRPT.FLOWUNID AND LCRAT.PAYMENT_NUMBER = LRPT.PAYMENT_NUMBER GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.CONTRACT_ID = CRM.CONTRACT_ID WHERE DATE_FORMAT(CRM.END_DATE, '%Y%m') >= DATE_FORMAT(LRPT.PAYDAY_ADJUST, '%Y%m') GROUP BY CRM.CONTRACT_ID) CRM ON CRM.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = CRM.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
}else {
sql="SELECT "+date1+" AS MONEY,ROUND("+date1+"/getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+date1+" - ROUND("+date1+"/getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LCRAT.FLOWUNID = :FLOWUNID ";
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+taxType+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,"+date1+" AS MONEY,ROUND("+date1+"/getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+date1+" - ROUND("+date1+"/getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LCRAT.PAYDAY_ADJUST, '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_RENT_ADJUST_TEMP LCRAT LEFT JOIN (SELECT LRPT.CONTRACT_ID,LRPT.FLOWUNID FROM LC_RENT_PLAN_TEMP LRPT GROUP BY LRPT.FLOWUNID,LRPT.CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCRAT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND LCRAT.FLOWUNID = :FLOWUNID ";
}
// 执行SQL, 获取结果集
@ -114,6 +117,12 @@ public class CreateVoucherContractTerminate {
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
@ -135,6 +144,9 @@ public class CreateVoucherContractTerminate {
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if("1".equals(BUSINESSTYPE)){
// 收到的逾期利息

View File

@ -5,8 +5,10 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -40,13 +42,14 @@ public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
String CUSTOMERTYPE = null;
String BUSINESSTYPE = null;
String ACC_NUM = null;
String TAX_NUM = null;
String sql = "";
param.clear();
map.put("FlowUnid", FlowUnid);
map.put("FEE_TYPE", FeeType);
//sql= "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY/1.06,2)AS MONEYNOTAX,(LFIT.FACT_MONEY-ROUND(LFIT.FACT_MONEY/1.06,2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(),'%Y/%m/%d') AS FACT_DATE,LFIT.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_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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.FEE_TYPE=:FEE_TYPE AND LFIT.FLOWUNID=:FLOWUNID AND DATE_FORMAT(LFIT.FACT_DATE,'%Y/%m')=DATE_FORMAT(SYSDATE(),'%Y/%m')";
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'±¾½ð',lcct.start_date),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'±¾½ð',lcct.start_date),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE='1' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'留购价',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'本金',lcct.start_date),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'本金',lcct.start_date),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE='1' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 区分一次性收入和按月分摊--0010=一次性/0020=按月分摊
if("PZ2018071100000014".equals(VOUCHERNO)||"PZ2018080400000079".equals(VOUCHERNO)||"PZ2018072100000035".equals(VOUCHERNO)||"PZ2018080400000111".equals(VOUCHERNO)) {
sql+=" AND LCCT.HANDLING_CHARGE_MONEY_TYPE='0010'";
@ -82,6 +85,12 @@ public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
ACC_NUM = dataList.get(i).get("ACC_NUMBER");
TAX_NUM = dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
@ -102,6 +111,9 @@ public class CreateVoucherCustCautionMoneyIncome extends BaseBussiness {
param.put("BUSINESSTYPE", BUSINESSTYPE);
param.put("ACC_NUMBER", ACC_NUM);
param.put("VOUCHERNO", VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
/*if ("1".equals(BUSINESSTYPE)) {
param.put("LEASFORMASSET", "04"); // 融资租赁资产

View File

@ -5,8 +5,10 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -38,6 +40,7 @@ public class CreateVoucherDepositDeductionForTradition extends BaseBussiness {
String CUSTOMERTYPE = null;
String BUSINESSTYPE = null;
String ACC_NUM = null;
String TAX_NUM = null;
String sql = "";
String feeType="";
String taxType="";
@ -57,9 +60,9 @@ public class CreateVoucherDepositDeductionForTradition extends BaseBussiness {
// 保证金抵扣租金
if("PZ2018092500000185".equals(VOUCHERNO)) {
sql = "SELECT SUM(LRIT.RENT) AS MONEY,SUM(LRIT.CORPUS) AS MONEYNOTAX,SUM(LRIT.INTEREST) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE "+businessType+" LRIT.SETTLE_METHOD = 'settlemethod7' AND LRIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT SUM(LRIT.RENT) AS MONEY,SUM(LRIT.CORPUS) AS MONEYNOTAX,SUM(LRIT.INTEREST) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE "+businessType+" LRIT.SETTLE_METHOD = 'settlemethod7' AND lul.IS_MAIN='Y' AND LRIT.FLOWUNID = :FLOWUNID ";
}else {
sql = "SELECT "+feeType+" AS MONEY,ROUND("+feeType+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+feeType+" - ROUND("+feeType+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE "+businessType+" LRIT.SETTLE_METHOD = 'settlemethod7' AND LRIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+taxType+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,"+feeType+" AS MONEY,ROUND("+feeType+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2) AS MONEYNOTAX,("+feeType+" - ROUND("+feeType+" / getTax(LCI.LEAS_FORM,'"+taxType+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LRIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE "+businessType+" LRIT.SETTLE_METHOD = 'settlemethod7' AND lul.IS_MAIN='Y' AND LRIT.FLOWUNID = :FLOWUNID ";
}
// 查询sql, 将结果集封装到list集合中
@ -89,6 +92,12 @@ public class CreateVoucherDepositDeductionForTradition extends BaseBussiness {
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
ACC_NUM = dataList.get(i).get("OWN_NUMBER");
TAX_NUM = dataList.get(i).get("TAX_NUM");
// ͨ¹ý˰ÂÊ»ñÈ¡±àÂë
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
@ -106,6 +115,9 @@ public class CreateVoucherDepositDeductionForTradition extends BaseBussiness {
param.put("CUSTOMERTYPE", CUSTOMERTYPE);
param.put("BUSINESSTYPE", BUSINESSTYPE);
param.put("ACC_NUMBER", ACC_NUM);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if ("2".equals(BUSINESSTYPE)) {
if("PZ2018092500000187".equals(VOUCHERNO)) {

View File

@ -5,8 +5,10 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -40,10 +42,11 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
String CUSTNAME = null;
String CUSTOMERTYPE = null;
String BUSINESSTYPE = null;
String TAX_NUM = null;
String sql = "";
param.clear();
map.put("FlowUnid", FlowUnid);
sql = "SELECT IFNULL(LFIT.FACT_MONEY, 0) AS MONEY,IFNULL(ROUND(LRIT.PENALTY / getTax (LCI.LEAS_FORM,'±¾½ð',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LRIT.PENALTY - ROUND(LRIT.PENALTY / getTax (LCI.LEAS_FORM,'±¾½ð',LCCT.START_DATE),2)),0) AS MONEYTAX,'0.00' AS DEDITMONEY_NOTAX,IFNULL(LRIT.CORPUS, 0) AS CORPUS,IFNULL(LRIT.INTEREST, 0) AS INTEREST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT SUM(LRIT.CORPUS) CORPUS,SUM(LRIT.INTEREST) INTEREST,SUM(LRIT.PENALTY) PENALTY,LRIT.FLOWUNID,LRIT.CONTRACT_ID FROM LC_RENT_INCOME_TEMP LRIT WHERE LRIT.SETTLE_METHOD = 'settlemethod7' GROUP BY lrit.FLOWUNID,LRIT.CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT SUM(LFIT.FACT_MONEY) FACT_MONEY,lfit.contract_id FROM LC_FUND_INCOME_TEMP LFIT WHERE LFIT.FEE_TYPE = 'feetype16' AND LFIT.SETTLE_METHOD = 'settlemethod7' GROUP BY lfit.contract_id) LFIT ON LFIT.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 LRIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'本金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY, 0) AS MONEY,IFNULL(ROUND(LRIT.PENALTY / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LRIT.PENALTY - ROUND(LRIT.PENALTY / getTax (LCI.LEAS_FORM,'本金',LCCT.START_DATE),2)),0) AS MONEYTAX,'0.00' AS DEDITMONEY_NOTAX,IFNULL(LRIT.CORPUS, 0) AS CORPUS,IFNULL(LRIT.INTEREST, 0) AS INTEREST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION LCCT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.CONTRACT_ID LEFT JOIN (SELECT SUM(LRIT.CORPUS) CORPUS,SUM(LRIT.INTEREST) INTEREST,SUM(LRIT.PENALTY) PENALTY,LRIT.FLOWUNID,LRIT.CONTRACT_ID FROM LC_RENT_INCOME_TEMP LRIT WHERE LRIT.SETTLE_METHOD = 'settlemethod7' GROUP BY lrit.FLOWUNID,LRIT.CONTRACT_ID) LRIT ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT SUM(LFIT.FACT_MONEY) FACT_MONEY,lfit.contract_id FROM LC_FUND_INCOME_TEMP LFIT WHERE LFIT.FEE_TYPE = 'feetype16' AND LFIT.SETTLE_METHOD = 'settlemethod7' GROUP BY lfit.contract_id) LFIT ON LFIT.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 AND lul.IS_MAIN='Y' LRIT.FLOWUNID = :FLOWUNID ";
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
@ -73,7 +76,12 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
CUSTNAME = dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
param.put("TAX", MONEYTAX);
@ -93,6 +101,10 @@ public class CreateVoucherDepositDeductionToMoney extends BaseBussiness {
param.put("CUSTOMERTYPE", CUSTOMERTYPE);
param.put("BUSINESSTYPE", "0603");
param.put("FlowUnid", FlowUnid);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
map.clear();
map.put("PROJ_TYPE", leas_form);
map.put("VOUCHER_NO", VOUCHERNO);

View File

@ -41,29 +41,29 @@ public class CreateVoucherEarlySettlementForTradition {
map.put("FlowUnid", FlowUnid);
if("PZ2018101000000322".equals(VOUCHERNO) || "PZ2018101000000323".equals(VOUCHERNO)) {// 收到的逾期租金(汽车传统)
sql="SELECT IFNULL(LFRA.DUN_RENT,0) AS MONEY,IFNULL(ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.DUN_RENT - ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.DUN_RENT,0) AS MONEY,IFNULL(ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.DUN_RENT - ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000304".equals(VOUCHERNO) || "PZ2018101000000305".equals(VOUCHERNO)) {// 收到的逾期租金(传统)
sql="SELECT IFNULL(LFRA.DUN_RENT,0) AS MONEY,IFNULL(ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.DUN_RENT - ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.DUN_RENT,0) AS MONEY,IFNULL(ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.DUN_RENT - ROUND(LFRA.DUN_RENT / getTax (LCI.LEAS_FORM,'租金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000324".equals(VOUCHERNO) || "PZ2018101000000325".equals(VOUCHERNO)) {// 收到的逾期罚息(汽车传统)
sql="SELECT IFNULL(LFRA.AGREED_PENALTY,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_PENALTY - ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.AGREED_PENALTY,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_PENALTY - ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000306".equals(VOUCHERNO) || "PZ2018101000000307".equals(VOUCHERNO)) {// 收到的逾期罚息(传统)
sql="SELECT IFNULL(LFRA.AGREED_PENALTY,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_PENALTY - ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.AGREED_PENALTY,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_PENALTY - ROUND(LFRA.AGREED_PENALTY / getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000326".equals(VOUCHERNO) || "PZ2018101000000327".equals(VOUCHERNO)) {// 收到的提前还款剩余本金 (汽车传统)
sql="SELECT IFNULL(LFRA.CORPUS_OVERAGE,0) AS MONEY,IFNULL(LFRA.CORPUS_OVERAGE - LFIT.CAUTION_MONEY,0) AS MONEYNOTAX,IFNULL(LFIT.CAUTION_MONEY,0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS CAUTION_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT ON LFIT.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 = '3' AND LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.CORPUS_OVERAGE,0) AS MONEY,IFNULL(LFRA.CORPUS_OVERAGE - LFIT.CAUTION_MONEY,0) AS MONEYNOTAX,IFNULL(LFIT.CAUTION_MONEY,0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS CAUTION_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT ON LFIT.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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000308".equals(VOUCHERNO) || "PZ2018101000000309".equals(VOUCHERNO)) {// 收到的提前还款剩余本金 (传统)
sql="SELECT IFNULL(LFRA.CORPUS_OVERAGE,0) AS MONEY,IFNULL(LFRA.CORPUS_OVERAGE - LFIT.CAUTION_MONEY,0) AS MONEYNOTAX,IFNULL(LFIT.CAUTION_MONEY,0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS CAUTION_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT ON LFIT.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 LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.CORPUS_OVERAGE,0) AS MONEY,IFNULL(LFRA.CORPUS_OVERAGE - LFIT.CAUTION_MONEY,0) AS MONEYNOTAX,IFNULL(LFIT.CAUTION_MONEY,0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,SUM(FACT_MONEY) AS CAUTION_MONEY FROM LC_FUND_INCOME WHERE FEE_TYPE = 'feetype2' GROUP BY CONTRACT_ID) LFIT ON LFIT.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 LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000328".equals(VOUCHERNO) || "PZ2018101000000329".equals(VOUCHERNO)) {// 收到的未到期利息(汽车传统)
sql="SELECT IFNULL(LFRA.AGREED_INTEREST,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_INTEREST - ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.AGREED_INTEREST,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_INTEREST - ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000310".equals(VOUCHERNO) || "PZ2018101000000311".equals(VOUCHERNO)) {// 收到的未到期利息(传统)
sql="SELECT IFNULL(LFRA.AGREED_INTEREST,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_INTEREST - ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.AGREED_INTEREST,0) AS MONEY,IFNULL(ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.AGREED_INTEREST - ROUND(LFRA.AGREED_INTEREST / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(OWN_NUMBER) AS ACC_NUMBER FROM LC_RENT_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000330".equals(VOUCHERNO) || "PZ2018101000000331".equals(VOUCHERNO)) {// 收到的项目违约金(汽车传统)
sql="SELECT IFNULL(LFRA.PAYDAY_DATE,0) AS MONEY,IFNULL(ROUND(LFRA.PAYDAY_DATE / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(ROUND(LFRA.PAYDAY_DATE - ROUND(LFRA.PAYDAY_DATE / getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.PAYDAY_DATE,0) AS MONEY,IFNULL(ROUND(LFRA.PAYDAY_DATE / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(ROUND(LFRA.PAYDAY_DATE - ROUND(LFRA.PAYDAY_DATE / getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000312".equals(VOUCHERNO) || "PZ2018101000000313".equals(VOUCHERNO)) {// 收到的项目违约金(传统)
sql="SELECT IFNULL(LFRA.PAYDAY_DATE,0) AS MONEY,IFNULL(ROUND(LFRA.PAYDAY_DATE / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(ROUND(LFRA.PAYDAY_DATE - ROUND(LFRA.PAYDAY_DATE / getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.PAYDAY_DATE,0) AS MONEY,IFNULL(ROUND(LFRA.PAYDAY_DATE / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(ROUND(LFRA.PAYDAY_DATE - ROUND(LFRA.PAYDAY_DATE / getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000332".equals(VOUCHERNO) || "PZ2018101000000333".equals(VOUCHERNO)) {// 收到的违约手续费(汽车传统)
sql="SELECT IFNULL(LFRA.SDHANDLING_CHARGE,0) AS MONEY,IFNULL(ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.SDHANDLING_CHARGE - ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.SDHANDLING_CHARGE,0) AS MONEY,IFNULL(ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.SDHANDLING_CHARGE - ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 = '3' AND lul.IS_MAIN='Y' AND LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000314".equals(VOUCHERNO) || "PZ2018101000000315".equals(VOUCHERNO)) {// 收到的违约手续费(传统)
sql="SELECT IFNULL(LFRA.SDHANDLING_CHARGE,0) AS MONEY,IFNULL(ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.SDHANDLING_CHARGE - ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL(LFRA.SDHANDLING_CHARGE,0) AS MONEY,IFNULL(ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFRA.SDHANDLING_CHARGE - ROUND(LFRA.SDHANDLING_CHARGE / getTax(LCI.LEAS_FORM,'手续费',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCI.ID 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,LRIT.ACC_NUMBER FROM LC_FUND_RENT_ADJUST_TEMP LFRA LEFT JOIN (SELECT CONTRACT_ID,MAX(PAYMENT_NUMBER) AS PAYMENT_NUMBER,MAX(ACC_NUMBER) AS ACC_NUMBER FROM LC_FUND_INCOME GROUP BY CONTRACT_ID) LRIT ON LRIT.PAYMENT_NUMBER = LFRA.PAYMENT_NUMBER LEFT JOIN LB_CONTRACT_INFO LCI ON LRIT.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_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 LFRA.FLOWUNID = :FLOWUNID ";
}else if("PZ2018101000000334".equals(VOUCHERNO) || "PZ2018101000000335".equals(VOUCHERNO)) {// 收到名义货价(汽车传统)
sql="";
}else if("PZ2018101000000316".equals(VOUCHERNO) || "PZ2018101000000317".equals(VOUCHERNO)) {// 收到名义货价(传统)

View File

@ -6,7 +6,10 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.are.jbo.JBOTransaction;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
@ -53,11 +56,12 @@ public class CreateVoucherForInterestSubsidyImport {
String CUSTNAME=null;
String SUBJECTCODE=null;
String ACC_NUMBER=null;
String TAX_NUM=null;
String voucherNo = "PZ2018072100000028";
Map<String, String> param = new HashMap<String, String>();
// 获取新导入的贴息数据
String sql = "SELECT IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,IFNULL(ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LD.DISCOUNT_MONEY- ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LD.RECEIVED_DATE, '%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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER=LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE IS_VOUCHER IS NULL ";
String sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,IFNULL(ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LD.DISCOUNT_MONEY- ROUND(LD.DISCOUNT_MONEY/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(LD.RECEIVED_DATE, '%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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER=LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LCCT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE IS_VOUCHER IS NULL AND lul.IS_MAIN='Y' ";
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, null);
CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl();
@ -82,7 +86,12 @@ public class CreateVoucherForInterestSubsidyImport {
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
SUBJECTCODE=dataList.get(i).get("SUBJECTCODE");
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",MONEYTAX);
@ -99,6 +108,10 @@ public class CreateVoucherForInterestSubsidyImport {
param.put("SUBJECTCODE",SUBJECTCODE);
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("VOUCHERNO",voucherNo);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
param.put("CASHFLOW", "11213");// 现金流项目
Map<String, String> map = new HashMap<String, String>();
@ -133,11 +146,12 @@ public class CreateVoucherForInterestSubsidyImport {
String CUSTNAME=null;
String SUBJECTCODE=null;
String ACC_NUMBER=null;
String TAX_NUM=null;
String voucherNo = "PZ2018072100000041";
Map<String, String> param = new HashMap<String, String>();
// 获取新导入的贴息数据
String sql = "SELECT -IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,-IFNULL(ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS MONEYNOTAX,-IFNULL((LD.DISCOUNT_MONEY - ROUND(LD.DISCOUNT_MONEY / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER = LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LD.ID=:ID";
String sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,-IFNULL(LD.DISCOUNT_MONEY, 0) AS MONEY,-IFNULL(ROUND(LD.DISCOUNT_MONEY / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2),0) AS MONEYNOTAX,-IFNULL((LD.DISCOUNT_MONEY - ROUND(LD.DISCOUNT_MONEY / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,LD.BANK_SUBJECT AS SUBJECTCODE,LD.ACC_NUMBER FROM LB_DISCOUNT LD LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.FRAME_NUMBER = LD.FRAME_NUMBER LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LEC.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LCCT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE AND lul.IS_MAIN='Y' LD.ID=:ID";
// 查询sql, 将结果集封装到list集合中
Map<String,String>map1 = new HashMap<String,String>();
map1.put("ID",id);
@ -165,6 +179,12 @@ public class CreateVoucherForInterestSubsidyImport {
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
SUBJECTCODE=dataList.get(i).get("SUBJECTCODE");
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
@ -182,6 +202,9 @@ public class CreateVoucherForInterestSubsidyImport {
param.put("SUBJECTCODE",SUBJECTCODE);
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("VOUCHERNO",voucherNo);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
param.put("CASHFLOW", "11213");// 现金流项目
Map<String, String> map = new HashMap<String, String>();

View File

@ -5,8 +5,10 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -40,6 +42,7 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness {
String CUSTOMERTYPE = null;
String BUSINESSTYPE = null;
String ACC_NUM = null;
String TAX_NUM = null;
String sql = "";
param.clear();
map.put("FlowUnid", FlowUnid);
@ -48,16 +51,16 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness {
// 汽车传统/收到的违约金/罚款
if("PZ2018092500000205".equals(VOUCHERNO)||"PZ2018100900000292".equals(VOUCHERNO)) {
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 传统/收到的违约金/罚款
}else if("PZ2018092500000173".equals(VOUCHERNO)){
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'违约金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 汽车类传统/收到名义货价
}else if("PZ2018092500000206".equals(VOUCHERNO)||"PZ2018100900000293".equals(VOUCHERNO)){
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
// 传统/收到名义货价
}else if("PZ2018092500000174".equals(VOUCHERNO)){
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'留购价',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
}
// 查询sql, 将结果集封装到list集合中
List<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql, map);
@ -88,7 +91,13 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness {
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
ACC_NUM = dataList.get(i).get("ACC_NUMBER");
TAX_NUM = dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
param.put("TAX", MONEYTAX);
@ -108,6 +117,9 @@ public class CreateVoucherIncomeForTradition extends BaseBussiness {
param.put("BUSINESSTYPE", BUSINESSTYPE);
param.put("ACC_NUMBER", ACC_NUM);
param.put("VOUCHERNO", VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
//回款-收到的违约金/罚款--回租
if("PZ2018092500000173".equals(VOUCHERNO)) {

View File

@ -6,6 +6,7 @@ import java.util.Map;
import jbo.app.tenwa.customer.CUSTOMER_LIST;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
@ -22,7 +23,6 @@ public class CreateVoucherLoanDistributor {
Map<String,String> param=new HashMap<String, String>();
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
String MONEY=null;
String MONEYNOTAX=null;
String MONEYTAX=null;
@ -49,6 +49,8 @@ public class CreateVoucherLoanDistributor {
String ACC_NUMBER=null;
String REQNBR=null;
String TAX_TYPE=null;
String TAX_NUM=null;
String sql="";
String moneyDataSource="";
param.clear();
@ -86,7 +88,7 @@ public class CreateVoucherLoanDistributor {
sql="SELECT IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) AS MONEYNOTAX,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID,PSL.payType FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID = LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND PSL.operationType = 'DYCD' AND LFIT.FLOWUNID = :FLOWUNID ";
//sql="SELECT IFNULL(LCCT.FIRST_PAYMENT, 0) + IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEY,IFNULL(LCCT.FIRST_PAYMENT, 0) AS MONEYNOTAX,IFNULL(LCCT.CLEAN_LEASE_MONEY, 0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER,LFIT.REQNBR,LPI.PRODUCT_ID FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT LFIT.FLOWUNID,LFIT.CONTRACT_ID,MIN(LFIT.ACC_NUMBER) ACC_NUMBER,MIN(LFICDT.REQNBR) AS REQNBR,MIN(LFIT.EBANK_STATUS) AS EBANK_STATUS FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN lc_fund_income_callback_detail_temp LFICDT ON LFICDT.cmb_pay_no = LFIT.CMB_PAY_NO WHERE lfit.FEE_TYPE = 'feetype10' GROUP BY CONTRACT_ID,FLOWUNID) LFIT ON LFIT.CONTRACT_ID = LCCT.CONTRACT_ID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID LEFT JOIN PRD_SPECIFIC_LIBRARY PSL ON PSL.PRODUCTID=LPI.PRODUCT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS = '05' AND LFIT.FLOWUNID = :FLOWUNID ";
}else {
sql="SELECT IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+"/getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS 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 = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS= '05' AND lfit.FLOWUNID = :FLOWUNID ";
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL("+moneyDataSource+", 0) AS MONEY,IFNULL(ROUND("+moneyDataSource+"/getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL("+moneyDataSource+" - ROUND("+moneyDataSource+" / getTax (lci.LEAS_FORM,'"+TAX_TYPE+"',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LFIT.ACC_NUMBER FROM LC_CALC_CONDITION LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,MIN(ACC_NUMBER) ACC_NUMBER,MIN(EBANK_STATUS) AS EBANK_STATUS 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 = lfit.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LFIT.EBANK_STATUS= '05' AND lfit.FLOWUNID = :FLOWUNID ";
}
//else if("PZ2018122000000010".equals(VOUCHERNO)){
@ -173,6 +175,12 @@ public class CreateVoucherLoanDistributor {
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUMBER=dataList.get(i).get("ACC_NUMBER");
REQNBR=dataList.get(i).get("REQNBR");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// ͨ¹ý˰ÂÊ»ñÈ¡±àÂë
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
@ -200,6 +208,9 @@ public class CreateVoucherLoanDistributor {
param.put("ACC_NUMBER",ACC_NUMBER);
param.put("REQNBR",REQNBR);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
}
// 通过客户名称获取客户编码维护里面的数据, 如果有数据说明是集团内, 如果没有数据说明是集团外
BizObject cust_list1=JBOFactory.createBizObjectQuery(CUSTOMER_LIST.CLASS_NAME, "CUST_ID='"+DISTRIBUTOR_ID+"'").getSingleResult(false);

View File

@ -9,9 +9,11 @@ import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -43,6 +45,7 @@ public class CreateVoucherMonthSettlement{
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String TAX_NUM=null;
String F58=null;
param.clear();
String sql="";
@ -67,12 +70,12 @@ public class CreateVoucherMonthSettlement{
// 月结利息
if("PZ2018071200000016".equals(voucherNo)) {
// sql="SELECT CRM.ID,CRM.INTEREST_TAX AS MONEY,ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID=LRP.CONTRACT_ID AND LRI.PLAN_LIST=LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE='1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND DATEDIFF(SYSDATE(),LRP.PLAN_DATE)>3 AND (IFNULL(LRP.INTEREST,0)-IFNULL(LRI.INTEREST,0))<>0 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%')";
sql="SELECT CRM.ID,CRM.INTEREST_TAX AS MONEY,ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID)LRI2 ON LRI2.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 LPI.BUSINESSTYPE = '1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND (IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 AND (CAST(CRM.RENT_LIST AS SIGNED)-CAST(IFNULL(LRI2.PLAN_LIST,0) AS SIGNED))<=2 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'租息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,CRM.ID,CRM.INTEREST_TAX AS MONEY,ROUND(CRM.INTEREST_TAX / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST_TAX - ROUND(CRM.INTEREST_TAX / getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.rent_list LEFT JOIN LC_RENT_INCOME LRI ON LRI.CONTRACT_ID = LRP.CONTRACT_ID AND LRI.PLAN_LIST = LRP.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN (SELECT CONTRACT_ID,MAX(PLAN_LIST) AS PLAN_LIST FROM LC_RENT_INCOME GROUP BY CONTRACT_ID)LRI2 ON LRI2.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 LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND (IFNULL(LRP.INTEREST, 0) - IFNULL(LRI.INTEREST, 0)) <> 0 AND (CAST(CRM.RENT_LIST AS SIGNED)-CAST(IFNULL(LRI2.PLAN_LIST,0) AS SIGNED))<=2 AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
// 手续费(按月分摊)
}else if("PZ2018071200000017".equals(voucherNo)){
sql="SELECT CRM.ID,CRM.INTEREST AS MONEY,ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST - ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,CRM.FEE AS FEEMONEY,IFNULL((CRM.FEE - ROUND(CRM.FEE / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX,CRM.DISCOUNT AS DISCOUNT,IFNULL((CRM.DISCOUNT - ROUND(CRM.DISCOUNT / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE))),0) AS DISCOUNT_NOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE='1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
sql="SELECT CRM.ID,CRM.INTEREST AS MONEY,ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST - ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,CRM.FEE AS FEEMONEY,IFNULL((CRM.FEE - ROUND(CRM.FEE / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX,CRM.DISCOUNT AS DISCOUNT,IFNULL((CRM.DISCOUNT - ROUND(CRM.DISCOUNT / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE))),0) AS DISCOUNT_NOTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=CRM.CONTRACT_ID AND LRP.PLAN_LIST=CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE='1' AND lul.IS_MAIN='Y' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND lcct.HANDLING_CHARGE_MONEY_TYPE='0020' AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
}else {
sql="SELECT CRM.ID,CRM.INTEREST AS MONEY,ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST - ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,CRM.FEE AS FEEMONEY,IFNULL((CRM.FEE - ROUND(CRM.FEE / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX,IFNULL(CRM.DISCOUNT,0) AS DISCOUNT_NOTAX,IFNULL(CRM.DISCOUNT,0) - ROUND(IFNULL(CRM.DISCOUNT,0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS DISCOUNT_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
sql="SELECT CRM.ID,CRM.INTEREST AS MONEY,ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS MONEYNOTAX,(CRM.INTEREST - ROUND(CRM.INTEREST / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) AS TAX,CRM.FEE AS FEEMONEY,IFNULL((CRM.FEE - ROUND(CRM.FEE / getTax (LCI.LEAS_FORM,'手续费',LCCT.START_DATE))),0) AS FEE_NOTAX,IFNULL(CRM.DISCOUNT,0) AS DISCOUNT_NOTAX,IFNULL(CRM.DISCOUNT,0) - ROUND(IFNULL(CRM.DISCOUNT,0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2) AS DISCOUNT_TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,CRM.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.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM CONTRACT_RENT_MONTH CRM LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID = CRM.CONTRACT_ID AND LRP.PLAN_LIST = CRM.RENT_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON CRM.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND lul.IS_MAIN='Y' AND DATE_FORMAT(CRM.END_DATE, '%Y/%m') = DATE_FORMAT(SYSDATE(), '%Y/%m') AND CRM.ID NOT IN (SELECT f58 AS ID FROM voucher_v8 WHERE module_name LIKE '%"+modular+"%') ";
}
/*//租金的利息税金
@ -112,29 +115,38 @@ public class CreateVoucherMonthSettlement{
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
F58=dataList.get(i).get("ID");
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",TAX);
//param.put("FACT_MONEY",FEEMONEY);
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",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",voucherNo);
param.put("F58",F58);
param.put("BUSINESSTYPE", "0604"); // 主营类型
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
param.put("TAX",TAX);
//param.put("FACT_MONEY",FEEMONEY);
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",CUSTID);
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("VOUCHERNO",voucherNo);
param.put("F58",F58);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
param.put("BUSINESSTYPE", "0604"); // 主营类型
map.clear();
map.put("PROJ_TYPE", leas_form);

View File

@ -46,7 +46,7 @@ public class CreateVoucherOnhireTradition extends BaseBussiness{
if("PZ2018092500000170".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LCCT.EQUIP_AMT,0) - IFNULL(LCCT.FIRST_PAYMENT,0) + IFNULL(LCCT.OTHER_MONEY,0) AS MONEY,IFNULL(LRPT.INTEREST, 0) AS INTEREST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID,CONTRACT_ID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN = 'Y' AND LCCT.FLOWUNID = :FLOWUNID ";
}else {
sql="SELECT IFNULL((LCCT.EQUIP_AMT - LCCT.FIRST_PAYMENT + LCCT.INSURANCE_PREMIUM + LCCT.OTHER_MONEY),0) AS OTHERSMONEY,IFNULL((LCCT.EQUIP_AMT - LCCT.FIRST_PAYMENT),0) AS EQUIP_SUBFIRST,IFNULL((LCCT.INSURANCE_PREMIUM + LCCT.OTHER_MONEY),0) AS INSURANCE_OTHER,IFNULL(LRPT.INTEREST,0) AS INTEREST,IFNULL(ROUND(LRPT.INTEREST / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS INTERESTNOTAX,IFNULL((LRPT.INTEREST - ROUND(LRPT.INTEREST / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS 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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '3' AND LCCT.FLOWUNID = :FLOWUNID ";
sql="SELECT IFNULL((LCCT.EQUIP_AMT - LCCT.FIRST_PAYMENT + LCCT.INSURANCE_PREMIUM + LCCT.OTHER_MONEY),0) AS OTHERSMONEY,IFNULL((LCCT.EQUIP_AMT - LCCT.FIRST_PAYMENT),0) AS EQUIP_SUBFIRST,IFNULL((LCCT.INSURANCE_PREMIUM + LCCT.OTHER_MONEY),0) AS INSURANCE_OTHER,IFNULL(LRPT.INTEREST,0) AS INTEREST,IFNULL(ROUND(LRPT.INTEREST / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2),0) AS INTERESTNOTAX,IFNULL((LRPT.INTEREST - ROUND(LRPT.INTEREST / getTax(LCI.LEAS_FORM,'×âÏ¢',LCCT.START_DATE),2)),0) AS 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,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_CALC_CONDITION_TEMP LCCT LEFT JOIN (SELECT FLOWUNID,MAX(CONTRACT_ID) AS CONTRACT_ID,SUM(INTEREST) AS INTEREST FROM LC_RENT_PLAN_TEMP GROUP BY FLOWUNID) LRPT ON LRPT.FLOWUNID = LCCT.FLOWUNID LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRPT.CONTRACT_ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '3' AND lul.IS_MAIN='Y' AND LCCT.FLOWUNID = :FLOWUNID ";
}
param.clear();

View File

@ -5,8 +5,10 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -41,6 +43,7 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness {
String CUSTOMERTYPE = null;
String BUSINESSTYPE = null;
String ACC_NUMBER = null;
String TAX_NUM = null;
String TaxType="";
String sql = "";
param.clear();
@ -57,7 +60,7 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness {
TaxType="留购价";
}
sql = "SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,IFNULL(ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL((LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+TaxType+"',LCCT.START_DATE),2)),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LPI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LFIT.FEE_TYPE = :FEE_TYPE AND LFIT.FLOWUNID = :FLOWUNID ";
/*// GPS不参融
if("PZ2018092500000178".equals(VOUCHERNO) || "PZ2018100900000260".equals(VOUCHERNO)) {
@ -90,6 +93,12 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness {
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
ACC_NUMBER = dataList.get(i).get("ACC_NUMBER");
TAX_NUM = dataList.get(i).get("TAX_NUM");
// ͨ¹ý˰ÂÊ»ñÈ¡±àÂë
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
@ -108,6 +117,9 @@ public class CreateVoucherRedDashedIncomeTradition extends BaseBussiness {
param.put("BUSINESSTYPE", BUSINESSTYPE);
param.put("ACC_NUMBER", ACC_NUMBER);
param.put("VOUCHERNO", VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
//收到客户手续费--回租
if("PZ2018092500000176".equals(VOUCHERNO)) {

View File

@ -5,9 +5,11 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -40,6 +42,7 @@ public class CreateVoucherRedRentIncome {
String CUSTNAME=null;
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String TAX_NUM=null;
String sql="";
param.clear();
@ -48,16 +51,16 @@ public class CreateVoucherRedRentIncome {
map.put("FLOWUNID", FlowUnid);
// 收到的租金
if("PZ2018072100000037".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LRIT.INTEREST, 0) AS MONEY,CASE WHEN MONTH(NOW())=MONTH(LRP.PLAN_DATE) THEN ROUND(IFNULL(LRIT.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)ELSE '0' END AS MONEYNOTAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE '0' END AS MONEYTAX,LRIT.RENT AS RENTMONEY,LRIT.CORPUS AS CORPUS,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN LRIT.INTEREST ELSE '0' END AS INTEREST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND lrp.plan_list=lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LRIT.FLOWUNID = :FLOWUNID ";
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'租金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST, 0) AS MONEY,CASE WHEN MONTH(NOW())=MONTH(LRP.PLAN_DATE) THEN ROUND(IFNULL(LRIT.INTEREST, 0)/getTax(LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)ELSE '0' END AS MONEYNOTAX,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN (IFNULL(LRIT.INTEREST, 0) - ROUND(IFNULL(LRIT.INTEREST, 0) / getTax (LCI.LEAS_FORM,'租息',LCCT.START_DATE),2)) ELSE '0' END AS MONEYTAX,LRIT.RENT AS RENTMONEY,LRIT.CORPUS AS CORPUS,CASE WHEN MONTH(NOW()) = MONTH(LRP.PLAN_DATE) THEN LRIT.INTEREST ELSE '0' END AS INTEREST,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND lrp.plan_list=lrit.plan_list LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID = LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LRIT.FLOWUNID = :FLOWUNID ";
// 收到的逾期利息
}else if("PZ2018072100000038".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LRIT.PENALTY,0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY,0)/getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY,0)-ROUND(IFNULL(LRIT.PENALTY,0)/getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LRIT.FLOWUNID=:FLOWUNID ";
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'逾期利息',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.PENALTY,0) AS MONEY,ROUND(IFNULL(LRIT.PENALTY,0)/getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.PENALTY,0)-ROUND(IFNULL(LRIT.PENALTY,0)/getTax(LCI.LEAS_FORM,'逾期利息',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LRIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND LRIT.FLOWUNID=:FLOWUNID ";
// 收到的违约金/罚款
}else if("PZ2018072100000039".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND FEE_TYPE='feetype30' AND LFIT.FLOWUNID=:FLOWUNID ";
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'违约金',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'违约金',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND FEE_TYPE='feetype30' AND LFIT.FLOWUNID=:FLOWUNID ";
// 收到的名义货架
}else if("PZ2018072100000043".equals(VOUCHERNO)) {
sql="SELECT IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND FEE_TYPE='feetype4' AND LFIT.FLOWUNID=:FLOWUNID ";
sql="SELECT ROUND((getTax(lci.LEAS_FORM,'留购价',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LFIT.FACT_MONEY,0) AS MONEY,ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LFIT.FACT_MONEY,0)-ROUND(IFNULL(LFIT.FACT_MONEY,0)/getTax(LCI.LEAS_FORM,'留购价',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LCCT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,DI.F_I_TYPE,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LCI.ID=LFIT.CONTRACT_ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_UNION_LESSEE LUL ON LUL.CONTRACT_ID = LCI.ID LEFT JOIN CUSTOMER_INFO CIF ON CIF.CUSTOMERID = LUL.CUSTOMER_ID LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LPI.BUSINESSTYPE = '1' AND FEE_TYPE='feetype4' AND LFIT.FLOWUNID=:FLOWUNID ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
@ -85,6 +88,12 @@ public class CreateVoucherRedRentIncome {
CUSTNAME=dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
@ -106,6 +115,9 @@ public class CreateVoucherRedRentIncome {
param.put("CUSTNAME",CUSTNAME);
param.put("CUSTOMERTYPE",CUSTOMERTYPE);
param.put("BUSINESSTYPE",BUSINESSTYPE);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if("1".equals(BUSINESSTYPE)){
if("PZ2018072100000037".equals(VOUCHERNO)) {

View File

@ -5,9 +5,11 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOException;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -45,6 +47,7 @@ public class CreateVoucherRedRentIncomeTradition {
String CUSTOMERTYPE=null;
String BUSINESSTYPE=null;
String ACC_NUM=null;
String TAX_NUM=null;
String sql="";
param.clear();
map.clear();
@ -52,19 +55,19 @@ public class CreateVoucherRedRentIncomeTradition {
// 收到的租金-月付-3--回租
if("PZ2018092500000179".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_1' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') <DATE_FORMAT(NOW(),'%Y-%m') ";
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'理口',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_1' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') <DATE_FORMAT(NOW(),'%Y-%m') ";
// 收到的租金-月付-6--回租
}else if("PZ2018100900000263".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_1' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') ";
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'理口',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_1' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') ";
// 收到的租金-季付-3--回租
}else if("PZ2018092500000178".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_3' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') < DATE_FORMAT(NOW(),'%Y-%m') ";
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'理口',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_3' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') < DATE_FORMAT(NOW(),'%Y-%m') ";
// 收到的租金-季付-6--回租
}else if("PZ2018100900000260".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_3' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') ";
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'理口',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LRIT.INTEREST,0) AS MONEY,ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2) AS MONEYNOTAX,(IFNULL(LRIT.INTEREST,0)-ROUND(IFNULL(LRIT.INTEREST,0)/getTax(LCI.LEAS_FORM,'理口',LCCT.START_DATE),2))AS MONEYTAX,IFNULL(LRIT.RENT,0) AS RENT,IFNULL(LRIT.CORPUS,0) AS CORPUS,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LRIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LRIT.OWN_NUMBER FROM LC_RENT_INCOME_TEMP LRIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID=LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID AND LCCT.INCOME_NUMBER_YEAR ='income_3' AND DATE_FORMAT(LRP.PLAN_DATE,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') ";
// 收到逾期利息--回租
}else if("PZ2018092500000180".equals(VOUCHERNO)){
sql= "SELECT IFNULL(LrIT.penalty, 0) AS MONEY,IFNULL(ROUND(LrIT.penalty / getTax (LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(LrIT.penalty - ROUND(LrIT.penalty / getTax (LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LrIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LrIT.OWN_NUMBER FROM LC_rent_INCOME_temp LrIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND LrIT.FLOWUNID = :FLOWUNID ";
sql= "SELECT ROUND((getTax(lci.LEAS_FORM,'待퍅적口',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,IFNULL(LrIT.penalty, 0) AS MONEY,IFNULL(ROUND(LrIT.penalty / getTax (LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2),0) AS MONEYNOTAX,IFNULL(LrIT.penalty - ROUND(LrIT.penalty / getTax (LCI.LEAS_FORM,'待퍅적口',LCCT.START_DATE),2),0) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LrIT.CONTRACT_ID,LCI.CONTRACT_NUMBER,LCI.PROJECT_NAME,LCI.LEAS_FORM,DI.DISTRIBUTOR_CODING DISTRIBUTOR_ID,DI.DISTRIBUTOR_NAME,LrIT.FLOWUNID,CIF.CUSTOMER_NUM AS CUSTOMERID,CIF.CUSTOMERNAME,CIF.CUSTOMERTYPE,LPI.BUSINESSTYPE,LrIT.OWN_NUMBER FROM LC_rent_INCOME_temp LrIT LEFT JOIN LC_RENT_PLAN LRP ON LRP.CONTRACT_ID=LRIT.CONTRACT_ID AND LRP.PLAN_LIST=LRIT.PLAN_LIST LEFT JOIN LB_CONTRACT_INFO LCI ON LRP.CONTRACT_ID = LCI.ID LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID LEFT JOIN DISTRIBUTOR_INFO DI ON DI.DISTRIBUTOR_NO = LCI.DISTRIBUTOR_ID LEFT JOIN LB_EQUIPMENT_CAR LEC ON LEC.CONTRACT_ID = LCI.ID LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN LB_PROJECT_INFO LPI ON LPI.ID = LUL.PROJECT_ID WHERE LCI.BUSINESSTYPE = '2' AND lul.IS_MAIN='Y' AND LrIT.FLOWUNID = :FLOWUNID ";
}
List<Map<String,String>> dataList=DataOperatorUtil.getDataBySql(Sqlca, sql, map);
@ -93,6 +96,12 @@ public class CreateVoucherRedRentIncomeTradition {
CUSTOMERTYPE=dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE=dataList.get(i).get("BUSINESSTYPE");
ACC_NUM=dataList.get(i).get("OWN_NUMBER");
TAX_NUM=dataList.get(i).get("TAX_NUM");
// 繫법江쪽삿혤긍쯤
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("INTEREST",MONEY);
param.put("INTERESTNOTAX",MONEYNOTAX);
@ -115,6 +124,9 @@ public class CreateVoucherRedRentIncomeTradition {
param.put("BUSINESSTYPE",BUSINESSTYPE);
param.put("ACC_NUMBER",ACC_NUM);
param.put("VOUCHERNO",VOUCHERNO);
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
if("PZ2018100900000263".equals(VOUCHERNO)) {
param.put("BUSINESSTYPE", "0604");// 主营类型

View File

@ -5,8 +5,10 @@ import java.util.List;
import java.util.Map;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.JBOFactory;
import com.amarsoft.awe.util.Transaction;
import com.amarsoft.dict.als.cache.CacheLoaderFactory;
import com.tenwa.comm.util.jboutil.DataOperatorUtil;
@ -38,6 +40,7 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness {
String CUSTOMERTYPE = null;
String BUSINESSTYPE = null;
String ACC_NUM = null;
String TAX_NUM = null;
String tax_type="";
String sql = "";
param.clear();
@ -54,7 +57,7 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness {
}
// ´«Í³
if("PZ2018092500000156".equals(VOUCHERNO) || "PZ2018092500000157".equals(VOUCHERNO) || "PZ2018092500000158".equals(VOUCHERNO)) {
sql = "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = :FEE_TYPE AND LPI.BUSINESSTYPE='2' AND lul.IS_MAIN='Y' AND LFIT.FLOWUNID = :FLOWUNID ";
sql = "SELECT ROUND((getTax(lci.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE)-1)*100,0) AS TAX_NUM,LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = :FEE_TYPE AND LPI.BUSINESSTYPE='2' AND lul.IS_MAIN='Y' AND LFIT.FLOWUNID = :FLOWUNID ";
}else {// Æû³µÀഫͳ
sql = "SELECT LFIT.FACT_MONEY AS MONEY,ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2) AS MONEYNOTAX,(LFIT.FACT_MONEY - ROUND(LFIT.FACT_MONEY / getTax (LCI.LEAS_FORM,'"+tax_type+"',LCCT.START_DATE),2)) AS MONEYTAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LFIT.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,LFIT.ACC_NUMBER FROM LC_FUND_INCOME_TEMP LFIT LEFT JOIN LB_CONTRACT_INFO LCI ON LFIT.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 LEFT JOIN LC_CALC_CONDITION LCCT ON LCCT.CONTRACT_ID = LCI.ID WHERE LFIT.FEE_TYPE = :FEE_TYPE AND LPI.BUSINESSTYPE='3' AND lul.IS_MAIN='Y' AND LFIT.FLOWUNID = :FLOWUNID ";
}
@ -91,7 +94,12 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness {
CUSTOMERNAME = dataList.get(i).get("CUSTOMERNAME");
CUSTOMERTYPE = dataList.get(i).get("CUSTOMERTYPE");
BUSINESSTYPE = dataList.get(i).get("BUSINESSTYPE");
// ACC_NUM = dataList.get(i).get("ACC_NUMBER");
TAX_NUM = dataList.get(i).get("TAX_NUM");
// ͨ¹ý˰ÂÊ»ñÈ¡±àÂë
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
param.put("FACT_MONEY", MONEY);
param.put("INTERESTNOTAX", MONEYNOTAX);
@ -108,9 +116,10 @@ public class CreateVoucherToBeforeOnhire extends BaseBussiness {
param.put("CUSTNAME", CUSTOMERNAME);
param.put("CUSTOMERTYPE", CUSTOMERTYPE);
param.put("BUSINESSTYPE", BUSINESSTYPE);
/*if(!"PZ2018092500000157".equals(VOUCHERNO) || !"PZ2018092600000245".equals(VOUCHERNO) || !"PZ2018092500000158".equals(VOUCHERNO) || !"PZ2018092600000246".equals(VOUCHERNO)) {
param.put("ACC_NUMBER", ACC_NUM);
}*/
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
param.put("VOUCHERNO", VOUCHERNO);
// ´«Í³ÀàÐÍ

View File

@ -46,22 +46,21 @@ 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)){
sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_id END,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END,'','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018072100000024')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 f75,CASE WHEN lv.sort_number = '6' THEN 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' 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 ('PZ2018072100000024')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
}
//收到的租金--网银-逾期过月--(汽车)
if("PZ2018080400000081".equals(VOUCHERNO)){
sql_where="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,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67 ) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,'','','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018080400000081')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 ('PZ2018080400000081')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
}
//收到的逾期利息--网银
if("PZ2018072100000025".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,f67) 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 / getTax (LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'租息',LCI.INPUTTIME),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.loan_direction = '1' THEN '业务系统待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.loan_direction = '2' THEN '04' ELSE '' END,CASE WHEN lv.loan_direction = '1' THEN 'APZL00000000DC' ELSE lvri.cust_id END,CASE WHEN lv.loan_direction = '2' THEN '0603' 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,CASE WHEN lv.sort_number = '2' THEN lci.leas_form ELSE '' END 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 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lv.subjects_code AS f2,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 / 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,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '汽车C端待查客户' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000DC' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END,'','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018072100000025')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number 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 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 ('PZ2018072100000025')) 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
}
/**
@ -69,25 +68,25 @@ public class InsertVoucherRentIncome {
*/
//收到的租金-月付--网银-未逾期及逾期未过月的(传统)
if("PZ2018100900000298".equals(VOUCHERNO)){
sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' WHEN lv.sort_number = '6' THEN '' ELSE lvri.cust_id END,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END,'','已完整',DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018100900000298')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 '传统B端待查客户' 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 'APZL00000000CT' 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 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 ('PZ2018100900000298')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BYlvri.voucher_f3 ";
}
//收到的租金-月付--网银-逾期过月(传统)
if("PZ2018092500000171".equals(VOUCHERNO)){
sql_where="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,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67 ) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' ELSE lvri.cust_id END,'','','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018092500000171')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 '传统B端待查客户' ELSE lvri.cust_name END AS f61,lv.loan_subject AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' 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 ('PZ2018092500000171')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
}
//收到的租金-季付--网银-未逾期及逾期未过月的(传统)
if("PZ2019022500000012".equals(VOUCHERNO)){
sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN (LVRI.INTEREST -ROUND(LVRI.INTEREST /getTax(lci.leas_form,'租息',lcct.start_date),2))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 (LVRI.INTEREST -ROUND(LVRI.INTEREST /getTax(lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '2' OR lv.sort_number = '5' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' WHEN lv.sort_number = '5' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' WHEN lv.sort_number = '5' THEN '' ELSE lvri.cust_id END,'','','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2019022500000012')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR = 'income_3' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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 - ROUND(LVRI.INTEREST / getTax (lci.leas_form,'租息',lcct.start_date),2)) 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 (LVRI.INTEREST - ROUND(LVRI.INTEREST / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49, lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '2' OR lv.sort_number = '5' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' WHEN lv.sort_number = '5' THEN '' ELSE lvri.cust_name END AS f61,lv.loan_subject AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' WHEN lv.sort_number = '5' THEN '' ELSE lvri.cust_id END AS f65,'' AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '5' THEN 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 ('PZ2019022500000012')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR = 'income_3' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
}
//收到的租金-季付--网银-逾期过月(传统)
if("PZ2019022500000011".equals(VOUCHERNO)){
sql_where="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,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67 ) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') f1,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3,'收到的租金',lv.LOAN_SUBJECT,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,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' ELSE lvri.cust_id END,'','','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2019022500000011')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_3' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(lvri.hire_date, '%Y/%m/%d') 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 AS f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 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 '传统B端待查客户' ELSE lvri.cust_name END AS f61,lv.loan_subject AS f62,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' 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 ('PZ2019022500000011')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' AND lcct.INCOME_NUMBER_YEAR='income_3' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
}
//收到的逾期利息--网银(传统)
if("PZ2018092500000172".equals(VOUCHERNO)){
sql_where="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,f75,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') f1,lv.subjects_code AS f2,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 / 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,'定时任务-每天生成租金实收凭证',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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS cust_name,lv.loan_subject,CASE WHEN lv.sort_number = '1' THEN 'APZL00000000CT' WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END,'','已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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 ('PZ2018092500000172')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
sql_where="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,f75,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE(UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') 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,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' THEN '传统B端待查客户' 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 'APZL00000000CT' 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 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 ('PZ2018092500000172')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '2' 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.EBANK_NUMBER IS NOT NULL AND lvri.EBANK_NUMBER <> '' ORDER BY lvri.voucher_f3 ";
}
/**
@ -126,33 +125,55 @@ public class InsertVoucherRentIncome {
*f17也会存进表中
*查询sql 用逗号关联的方法查询乘积条数 where 1=1
*/
public void initLVRentIncome() throws Exception{
public void initLVRentIncome(){
Transaction Sqlca =null;
try{
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
// String sql="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(),'-',''),CONCAT('k',getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 FROM lc_rent_income lri LEFT JOIN lb_contract_info lci ON lci.id=lri.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 lri.rent>0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income))";
// 未逾期及逾期未过月
String sql="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 NOT IN('手工收款','批量收款','提前结清') OR (lrp.collect_status IS NULL OR lrp.collect_status='')) AND lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m'))";
String sql1="INSERT INTO lv_rent_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 = '网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status = '')) AND lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main='Y')";
// 逾期过月
String sq1="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 NOT IN ('手工收款','批量收款','提前结清') OR (lrp.collect_status IS NULL OR lrp.collect_status = '' )) AND lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income2) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')) ";
String sql1="INSERT INTO lv_penalty_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 NOT IN ('手工收款','批量收款','提前结清') OR (lrp.collect_status IS NULL OR lrp.collect_status = '')) AND lri.penalty > 0 AND lri.id NOT IN (SELECT income_id FROM lv_penalty_income)) ";
String sql2="INSERT INTO lv_rent_income2 (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ('凭证号')),cif.customer_num,cif.customername,lci.id,lci.contract_number,lri.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 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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status='')) AND lri.rent > 0 AND lri.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,lri.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 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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status = '')) AND lri.penalty > 0 AND lri.id NOT IN (SELECT income_id FROM lv_penalty_income) AND (lri.PENALTY!='0.00' AND lri.PENALTY IS NOT NULL) AND lul.is_main='Y') ";
// String sql2="INSERT INTO lv_discount_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,ld.ID,DATE_FORMAT(ld.inputtime, '%Y/%m/%d'),ld.discount_money,0.00,0.00,0.00,oac.acc_bank,oac.acc_name,oac.acc_number FROM lb_discount ld LEFT JOIN lb_contract_info lci ON lci.contract_no = ld.contract_no LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN (SELECT acc_bank,acc_name,acc_number FROM OWN_ACCOUNT WHERE account_type = 'in_account' AND state_ = '0010' LIMIT 0, 1) oac ON 1 = 1 WHERE ld.discount_money > 0 AND ld.id NOT IN (SELECT income_id FROM lv_discount_income)) ";
SqlObject as1 = new SqlObject(sq1);
SqlObject asql = new SqlObject(sql);
SqlObject asql1 = new SqlObject(sql1);
// SqlObject asql2 = new SqlObject(sql2);
Sqlca.executeSQL(as1);
Sqlca.executeSQL(asql);
Sqlca.executeSQL(asql1);
// Sqlca.executeSQL(asql2);
// 用于判断当前数据是否是未逾期或者逾期未过月的, 决定是否执行sql1
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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status='')) AND lri.rent > 0 AND lri.id NOT IN (SELECT income_id FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main='Y'";
// 用于判断当前数据是否是逾期过月的, 决定是否执行sqls2
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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status='')) AND lri.rent > 0 AND lri.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.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 ='网银收款' OR (lrp.collect_status IS NULL OR lrp.collect_status = '')) AND lri.penalty > 0 AND lri.id NOT IN (SELECT income_id FROM lv_penalty_income) AND (lri.PENALTY!='0.00' AND lri.PENALTY IS NOT NULL) AND lul.is_main='Y'";
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sqls1, null);
List<Map<String,String>> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sqls2, null);
List<Map<String,String>> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sqls3, null);
if(dataList1 != null && !dataList1.isEmpty()) {
SqlObject sqlss1 = new SqlObject(sql1);
Sqlca.executeSQL(sqlss1);
}else if(dataList2 != null && !dataList2.isEmpty()) {
SqlObject sqlss2 = new SqlObject(sql2);
Sqlca.executeSQL(sqlss2);
}else if(dataList3 != null && !dataList3.isEmpty()) {
SqlObject sqlss3 = new SqlObject(sql3);
Sqlca.executeSQL(sqlss3);
}
Sqlca.commit();
}catch(Exception e){
Sqlca.rollback();
try {
Sqlca.rollback();
} catch (JBOException e1) {
e1.printStackTrace();
}
e.printStackTrace();
}finally{
if(Sqlca!=null){
Sqlca.disConnect();
try {
Sqlca.disConnect();
} catch (JBOException e) {
e.printStackTrace();
}
Sqlca=null;
}
}

View File

@ -210,11 +210,11 @@ public class VoucherToNCforVoucherPZ implements Job{
map.put("F3",F3);
// 获取v8表借方数据
String sql1 = "SELECT f5,f6,f7,f15,f59,f60,f65,f73,f74,f75 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='1'";
String sql1 = "SELECT f5,f6,f7,f15,f59,f60,f65,f73,f74,f75,f76 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='1'";
List<Map<String, String>> v1 = DataOperatorUtil.getDataBySql(Sqlca,sql1,map);
// 获取v8表贷方数据
String sql2 = "SELECT f1,f5,f6,f8,f15,f51,f52,f59,f60,f65,f73,f74,f75 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='-1'";
String sql2 = "SELECT f1,f5,f6,f8,f15,f51,f52,f59,f60,f65,f73,f74,f75,f76 FROM VOUCHER_V8 WHERE F3=:F3 AND ENTRYDC='-1'";
List<Map<String, String>> v2 = DataOperatorUtil.getDataBySql(Sqlca,sql2,map);
// 获取v8表公共信息
@ -356,7 +356,7 @@ public class VoucherToNCforVoucherPZ implements Job{
pk_Checkvalue3.setText((v8Lend.get("f73")==null)?"":v8Lend.get("f73"));
}
}
//现金流量项目辅助核算
// 现金流量项目辅助核算
if(ids.contains("3f0177c4295d4ed99ef18adb37c3e79f")) {
Element ass_item4 = ass1.addElement("item");
Element pk_Checktype4 = ass_item4.addElement("pk_Checktype");
@ -364,7 +364,7 @@ public class VoucherToNCforVoucherPZ implements Job{
Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue");
pk_Checkvalue4.setText((v8Lend.get("f74")==null)?"":v8Lend.get("f74"));
}
//银行账户辅助核算
// 银行账户辅助核算
if(ids.contains("5d241cc0d2794ef7943df15c5f97976a")) {
Element ass_item5 = ass1.addElement("item");
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");
@ -372,6 +372,14 @@ public class VoucherToNCforVoucherPZ implements Job{
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");
pk_Checkvalue5.setText((v8Lend.get("f75")==null)?"":v8Lend.get("f75"));
}
// 税率辅助核算
if(ids.contains("26127f73553b45f5a23c60afdffb464e")) {
Element ass_item5 = ass1.addElement("item");
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");
pk_Checktype5.setText("税率");
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");
pk_Checkvalue5.setText((v8Lend.get("f76")==null)?"":v8Lend.get("f76"));
}
Element cashFlow = item1.addElement("cashFlow");
Element cashFlow_item1 = cashFlow.addElement("item");
Element m_pk_currtype1 = cashFlow_item1.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String
@ -461,7 +469,7 @@ public class VoucherToNCforVoucherPZ implements Job{
Element pk_Checkvalue3 = ass_item3.addElement("pk_Checkvalue");
pk_Checkvalue3.setText((v8loan.get("f73")==null)?"":v8loan.get("f73"));
}
//现金流量项目辅助核算
// 现金流量项目辅助核算
if(ids.contains("3f0177c4295d4ed99ef18adb37c3e79f")) {
Element ass_item4 = ass2.addElement("item");
Element pk_Checktype4 = ass_item4.addElement("pk_Checktype");
@ -469,7 +477,7 @@ public class VoucherToNCforVoucherPZ implements Job{
Element pk_Checkvalue4 = ass_item4.addElement("pk_Checkvalue");
pk_Checkvalue4.setText((v8loan.get("f74")==null)?"":v8loan.get("f74"));
}
//银行账户辅助核算
// 银行账户辅助核算
if(ids.contains("5d241cc0d2794ef7943df15c5f97976a")) {
Element ass_item5 = ass2.addElement("item");
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");
@ -477,6 +485,15 @@ public class VoucherToNCforVoucherPZ implements Job{
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");
pk_Checkvalue5.setText((v8loan.get("f75")==null)?"":v8loan.get("f75"));
}
// 税率辅助核算
if(ids.contains("26127f73553b45f5a23c60afdffb464e")) {
Element ass_item5 = ass2.addElement("item");
Element pk_Checktype5 = ass_item5.addElement("pk_Checktype");
pk_Checktype5.setText("税率");
Element pk_Checkvalue5 = ass_item5.addElement("pk_Checkvalue");
pk_Checkvalue5.setText((v8loan.get("f76")==null)?"":v8loan.get("f76"));
}
Element item2_cashFlow = item2.addElement("cashFlow");
Element cashflowitem2 = item2_cashFlow.addElement("item");
Element m_pk_currtype2 = cashflowitem2.addElement("m_pk_currtype");// 币种,最大长度为64,类型为:String

View File

@ -138,7 +138,8 @@ public class VoucherToV8Impl implements VoucherService {
d.put("F72",list.get(i).get("DISTRIBUTOR_ID"));
d.put("F73",list.get(i).get("BUSINESSTYPE"));//主营类型
d.put("F74",list.get(i).get("CASHFLOW"));// 现金流项目
d.put("F75",list.get(i).get("ACC_NUMBER"));
d.put("F75",list.get(i).get("ACC_NUMBER"));// 银行账号
d.put("F76",list.get(i).get("TAX_CODE"));// 利率编码
d.put("inputuserid",user.getAttribute("userid").getString());
d.put("v8_status",status);

View File

@ -8,13 +8,21 @@ import java.util.concurrent.ConcurrentHashMap;
import com.amarsoft.are.ARE;
/**
* 读取配置文件
* @author xiezhiwen
*
*/
public class VouchersPropertiesUtil {
// 定义全局map, 存储配置文件信息
private static Map<String, String> attributes;
public static void load() {
attributes = new ConcurrentHashMap<String, String>();
// 创建Properties对象
Properties prop = new Properties();
try {
// 加载根路径配置文件; 本地:config, 服务器在classes路径下
prop.load(VouchersPropertiesUtil.class.getResourceAsStream("/vouchers.properties"));
for(Entry<Object, Object> entry : prop.entrySet()) {
if(entry.getKey() == null || entry.getValue() == null) {

View File

@ -11,6 +11,7 @@ import jbo.sys.USER_INFO;
import jbo.voucher.LV_STACTS_CONFIG;
import jbo.voucher.LV_VOUCHER_CONFIG;
import jbo.voucher.LV_VOUCHER_LOAN;
import jbo.voucher.TAX_CODE;
import com.amarsoft.are.jbo.BizObject;
import com.amarsoft.are.jbo.BizObjectManager;
@ -332,7 +333,7 @@ public class EbankUse {
// 通过传入id查询所需数据
map.put("ID", ID);
String sql1 = "SELECT LE.MAYOPE_MONEY AS MONEY,ROUND(LE.MAYOPE_MONEY / 1.06, 2) AS MONEYNOTAX,LE.MAYOPE_MONEY - ROUND(LE.MAYOPE_MONEY / 1.06, 2) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LE.OWNACC_NUMBER AS ACC_NUMBER,LE.EBANK_SN,CI.CUSTOMER_NUM as CUSTOMERID,CI.CUSTOMERNAME FROM LC_EBANK LE LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID=LE.CUSTOMER_ID WHERE ID = :ID ";
String sql1 = "SELECT ROUND((getTax('02','本金',NOW())-1)*100,0) AS TAX_NUM,LE.MAYOPE_MONEY AS MONEY,ROUND(LE.MAYOPE_MONEY / getTax('02','本金',NOW()), 2) AS MONEYNOTAX,LE.MAYOPE_MONEY - ROUND(LE.MAYOPE_MONEY / getTax('02','本金',NOW()), 2) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LE.OWNACC_NUMBER AS ACC_NUMBER,LE.EBANK_SN,CI.CUSTOMER_NUM AS CUSTOMERID,CI.CUSTOMERNAME FROM LC_EBANK LE LEFT JOIN CUSTOMER_INFO CI ON CI.CUSTOMERID = LE.CUSTOMER_ID WHERE ID = :ID ";
List<Map<String, String>> dataList;
dataList = DataOperatorUtil.getDataBySql(Sqlca, sql1, map);
@ -357,6 +358,13 @@ public class EbankUse {
String EBANK_SN = jbo.get("EBANK_SN").toString();
String CUSTOMERID = jbo.get("CUSTOMERID");
String CUSTOMERNAME = jbo.get("CUSTOMERNAME");
String TAX_NUM = jbo.get("TAX_NUM");
// 通过税率获取编码
BizObject TAX_CODES=null;
if(TAX_NUM!=null && !"".equals(TAX_NUM)) {
TAX_CODES=JBOFactory.createBizObjectQuery(TAX_CODE.CLASS_NAME,"TAX_NUMBER='"+TAX_NUM+"'").getSingleResult(false);
}
//NameManager.getCustomerName(CUSTOMERID);
// 将数据封装如param中
param.put("FACT_MONEY", MONEY);
@ -369,8 +377,9 @@ public class EbankUse {
param.put("CUSTID", CUSTOMERID);
param.put("CUSTNAME", CUSTOMERNAME);
param.put("VOUCHERNO", VOUCHERNO);
param.put("DEPT", "02"); // ²¿ÃÅ
if(TAX_CODES!=null) {
param.put("TAX_CODE",TAX_CODES.getAttribute("TAX_CODES").getString());
}
// 通过凭证编号获取对应编号的凭证信息
map.clear();
map.put("VOUCHER_NO", VOUCHERNO);

View File

@ -1,6 +1,7 @@
package com.tenwa.lease.app.quartzmession;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.JOptionPane;
@ -65,28 +66,28 @@ public class Checkfordeduction {
for (String str : ids) {
// 收到的租金--卡扣-未逾期及逾期未过月的(汽车)
if ("PZ2018082100000142".equals(VOUCHERNO)) {
sql_where = "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,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3,'收到的租金',CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT,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,'"+user_name+"',lvri.ACCOUNTING_DATE,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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS cust_name,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS cust_id,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END,'已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 ";
sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'),1,4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'),1,4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'),5,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' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END AS f75,CASE WHEN lv.sort_number = '6' THEN 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 ";
}
// 收到的租金--卡扣-逾期过月的(汽车)
if ("PZ2018082100000143".equals(VOUCHERNO)) {
sql_where = "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,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3,'收到的租金',CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT,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,'"+user_name+"',lvri.ACCOUNTING_DATE,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,CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_name END AS cust_name,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_id END AS cust_id,'',CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.OWN_NUMBER ELSE '' END,'已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'),'0',lv.modular_number,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END,'admin',lvri.income_id,lci.leas_form 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 ";
sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 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 '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_id END AS f65,'' AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.OWN_NUMBER ELSE '' END 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 ";
}
// 卡扣回款反冲-收到的租金--卡扣-未逾期及逾期未过月的(汽车)
if ("PZ2018121800000009".equals(VOUCHERNO)) {
sql_where = "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, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, lvri.ACCOUNTING_DATE f15, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.SUBJECTS_CODE END AS f2, lvri.voucher_f3, '收到的租金', CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, 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, '"+user_name+"', lvri.ACCOUNTING_DATE, 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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS cust_name, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS cust_id, CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END, CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74, CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END, '已完整', DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form 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 ('PZ2018121800000009')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '' ) and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 ";
sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 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' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '6' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '5' THEN '0604' ELSE '' END AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END AS f75,CASE WHEN lv.sort_number = '6' THEN 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 ('PZ2018121800000009')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 ";
}
// 卡扣回款反冲-收到的租金--卡扣-逾期过月的(汽车)
if ("PZ2018121800000007".equals(VOUCHERNO)) {
sql_where = "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, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, lvri.ACCOUNTING_DATE f15, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.SUBJECTS_CODE END AS f2, lvri.voucher_f3, '收到的租金', CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, 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, '"+user_name+"', lvri.ACCOUNTING_DATE, 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, CASE WHEN lv.sort_number = '1' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_name END AS cust_name, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_id END AS cust_id, '', CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74, CASE WHEN lv.sort_number = '1' THEN lvri.OWN_NUMBER ELSE '' END, '已完整',DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form 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 ('PZ2018121800000007')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '' ) and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 ";
sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 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 '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' THEN '' ELSE lvri.cust_id END AS f65,'' AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.OWN_NUMBER ELSE '' END 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 ('PZ2018121800000007')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 ";
}
// 收到的逾期利息--卡扣
if ("PZ2018082100000144".equals(VOUCHERNO)) {
sql_where = "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, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, lvri.ACCOUNTING_DATE f15, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.SUBJECTS_CODE END AS f2, lvri.voucher_f3, '收到的逾期利息', CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS 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 / 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, '"+user_name+"', lvri.ACCOUNTING_DATE, 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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS cust_name, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS cust_id, CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END, CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74, CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END, '已完整', DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '' ) and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 ";
sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END AS f75,CASE WHEN lv.sort_number = '3' THEN 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 ";
}
// 卡扣回款反冲--逾期利息
if ("PZ2018121800000006".equals(VOUCHERNO)) {
sql_where = "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, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id, '凭证输出' evidence_message, SUBSTR( DATE_FORMAT(SYSDATE(), '%Y%m%d'), 1, 4 ) periodyear, lvri.ACCOUNTING_DATE f15, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.SUBJECTS_CODE END AS f2, lvri.voucher_f3, '收到的逾期利息', CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS 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 / 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, '"+user_name+"', lvri.ACCOUNTING_DATE, 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,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS contract_number,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS cust_name, CASE WHEN lv.sort_number = '1' THEN ( SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank ) ELSE lv.LOAN_SUBJECT END AS LOAN_SUBJECT, CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS cust_id, CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END, CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74, CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END, '已完整', DATE_FORMAT(NOW(),'%Y/%m/%d %H:%i:%s'), '0', lv.modular_number, CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END, 'admin', lvri.income_id, lci.leas_form 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 ('PZ2018121800000006')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '' ) and lvri.income_id='"+str+"' ORDER BY lvri.voucher_f3 ";
sql_where = "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(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) periodyear,lvri.ACCOUNTING_DATE f15,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.subjects_code FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.SUBJECTS_CODE END AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END 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,'"+user_name+"' AS f12,lvri.ACCOUNTING_DATE AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 1, 4) AS f51,SUBSTR(DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y%m%d'), 5, 2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lci.contract_number END AS f60,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,CASE WHEN lv.sort_number = '1' THEN (SELECT lsc.id FROM lv_stacts_config lsc WHERE lsc.subjects_name = lvri.own_bank) ELSE lv.LOAN_SUBJECT END AS f62,CASE WHEN lv.sort_number = '1' OR lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,CASE WHEN lv.sort_number = '1' THEN '11113' ELSE '' END AS f74,CASE WHEN lv.sort_number = '1' THEN lvri.own_number ELSE '' END AS f75,CASE WHEN lv.sort_number = '3' THEN 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 ('PZ2018121800000006')) 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.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.income_id = '"+str+"' ORDER BY lvri.voucher_f3 ";
}
SqlObject asql = new SqlObject(sql_where);
@ -128,20 +129,32 @@ public class Checkfordeduction {
String[] ids = id.split("@");
for (String str : ids) {
// 未逾期及逾期未过月的租金
String sql = "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 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.id = '"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')) ";
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 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.id = '"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main='Y') ";
// 逾期过月的租金
String sq1 = "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 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.id = '"+ str + "' 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')) ";
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 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.id = '"+ str + "' 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_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 FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lri.contract_id = lrp.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.id ='"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_penalty_income)) ";
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 FROM lc_rent_income lri LEFT JOIN lc_rent_plan lrp ON lri.contract_id = lrp.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.id ='"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_penalty_income) AND (lri.PENALTY!='0.00' AND lri.PENALTY IS NOT NULL) AND lul.is_main='Y') ";
// String sql2 = "INSERT INTO lv_discount_income (SELECT REPLACE(UUID(), '-', ''),CONCAT('k', getSerialNumber ()),cif.customer_num,cif.customername,lci.id,lci.contract_number,ld.ID,DATE_FORMAT(ld.inputtime, '%Y/%m/%d'),ld.discount_money,0.00,0.00,0.00,oac.acc_bank,oac.acc_name,oac.acc_number FROM lb_discount ld LEFT JOIN lb_contract_info lci ON lci.contract_no = ld.contract_no LEFT JOIN lb_union_lessee lul ON lul.contract_id = lci.id LEFT JOIN customer_info cif ON cif.customerid = lul.customer_id LEFT JOIN (SELECT acc_bank,acc_name,acc_number FROM OWN_ACCOUNT WHERE account_type = 'in_account' AND state_ = '0010' LIMIT 0, 1) oac ON 1 = 1 WHERE ld.id NOT IN (SELECT income_id FROM lv_discount_income)) ";
SqlObject as1 = new SqlObject(sq1);
SqlObject asql = new SqlObject(sql);
SqlObject asql1 = new SqlObject(sql1);
// SqlObject asql2 = new SqlObject(sql2);
Sqlca.executeSQL(as1);
Sqlca.executeSQL(asql);
Sqlca.executeSQL(asql1);
//Sqlca.executeSQL(asql2);
// 用于判断当前数据是否是未逾期或者逾期未过月的, 决定是否执行sql1
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.id = '"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_rent_income) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m') AND lul.is_main='Y'";
// 用于判断当前数据是否是逾期过月的, 决定是否执行sqls2
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.id = '"+ str + "' 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 lri.contract_id = lrp.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.id ='"+ str + "' AND lrp.id NOT IN (SELECT INCOME_ID FROM lv_penalty_income) AND (lri.PENALTY!='0.00' AND lri.PENALTY IS NOT NULL) AND lul.is_main='Y'";
List<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sqls1, null);
List<Map<String,String>> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sqls2, null);
List<Map<String,String>> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sqls3, null);
if(dataList1 != null && !dataList1.isEmpty()) {
SqlObject sqlss1 = new SqlObject(sql1);
Sqlca.executeSQL(sqlss1);
}else if(dataList2 != null && !dataList2.isEmpty()) {
SqlObject sqlss2 = new SqlObject(sql2);
Sqlca.executeSQL(sqlss2);
}else if(dataList3 != null && !dataList3.isEmpty()) {
SqlObject sqlss3 = new SqlObject(sql3);
Sqlca.executeSQL(sqlss3);
}
}
// Sqlca.commit();
} catch (Exception e) {