diff --git a/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp b/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp index 87576ea12..02ec39c94 100644 --- a/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp +++ b/WebContent/Tenwa/Lease/Flow/CollectionAudit/VERIFICATIONSPARE.jsp @@ -129,6 +129,18 @@ if(confirm("核销后批次号和核销信息将不可修改,是否确认核销?")){ as_save("myiframe0","parent.AsDialog.ClosePage()"); } + var SPARE_BATCH_NO = getItemValue(0, 0, "SPARE_BATCH_NO"); // 批次号 + var OWN_NUMBER = getItemValue(0, 0, "OWN_NUMBER"); // 银行账号 + var CHARGEBACK_DATE_S = getItemValue(0, 0, "CHARGEBACK_DATE_S"); // 扣款成功日期 + var CHARGEBACK_MONEY_S = getItemValue(0, 0, "CHARGEBACK_MONEY_S"); // 扣款成功金额 + var ACHIEVED_MONEY = getItemValue(0, 0, "ACHIEVED_MONEY"); // 银行到账金额 + var ACHIEVED_DATE = getItemValue(0, 0, "ACHIEVED_DATE"); // 银行到账日期 + var ACC_TITLE = getItemValue(0, 0, "ACC_TITLE"); // 银行科目 + var SEREVICE_CHARGE = getItemValue(0, 0, "SEREVICE_CHARGE"); // 手续费 + var CHARGEBACK_BALANCE = getItemValue(0, 0, "CHARGEBACK_BALANCE"); // 核销差额 + var sparam = "SPARE_BATCH_NO="+SPARE_BATCH_NO+",ACHIEVED_MONEY="+ACHIEVED_MONEY+",SEREVICE_CHARGE="+SEREVICE_CHARGE+",CHARGEBACK_BALANCE="+CHARGEBACK_BALANCE+",CHARGEBACK_MONEY_S="+CHARGEBACK_MONEY_S+",ACHIEVED_DATE="+ACHIEVED_DATE+",OWN_NUMBER="+OWN_NUMBER+",ACC_TITLE="+ACC_TITLE+",userId="+"<%=CurUser.getUserID()%>"; + // 调用生成卡扣汇总凭证 + var result = RunJavaMethodTrans("com.tenwa.voucher.CreateVoucherProcess.CreateVoucherForCardSummarizing","createCardSummarizingVoucher",sparam); } <%@ include file="/Frame/resources/include/include_end.jspf"%> \ No newline at end of file diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForCardSummarizing.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForCardSummarizing.java new file mode 100644 index 000000000..e6891e3be --- /dev/null +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherForCardSummarizing.java @@ -0,0 +1,128 @@ +package com.tenwa.voucher.CreateVoucherProcess; +/** + * 卡扣汇总核销生成汇总凭证 + */ +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; +import com.tenwa.comm.util.jboutil.DataOperatorUtil; +import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; + +public class CreateVoucherForCardSummarizing { + private String userId; // 用户id + private String SPARE_BATCH_NO; // 批次号 + private String ACHIEVED_MONEY; // 银行到账金额 + private String ACHIEVED_DATE; // 银行到账日期 + private String SEREVICE_CHARGE; // 手续费 + private String CHARGEBACK_BALANCE; // 核销差额 + private String CHARGEBACK_MONEY_S; // 扣款成功金额 + private String OWN_NUMBER; // 银行账号 + private String ACC_TITLE; // 银行科目 + + /** + * 导入贴息生成凭证 + * @param tx + * @throws Exception + */ + public void createCardSummarizingVoucher(JBOTransaction tx) throws Exception { + Transaction Sqlca = null; + Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); + String voucherNo = "PZ2018080400000091"; + String VOUCHER_TYPE = "1";// 凭证分类 金蝶 + // 判断用户编码 + String userid =userId; + if(userid==null || "".equals(userid)) { + userid="admin"; + } + Map param = new HashMap(); + param.put("FACT_MONEY",ACHIEVED_MONEY); + param.put("INTERESTNOTAX",SEREVICE_CHARGE); + param.put("TAX",CHARGEBACK_BALANCE); + param.put("RENTMONEY",CHARGEBACK_MONEY_S); + param.put("ACCOUNT_DATE",ACHIEVED_DATE); + param.put("FACT_DATE",ACHIEVED_DATE); + param.put("CONTRACT_ID",null); + param.put("CONTRACT_NUMBER","ap0000"); + param.put("PROJECT_NAME",null); + param.put("LEAS_FORM","02"); + param.put("CUSTID","APZL0202000048"); + param.put("CUSTNAME","广州银联网络支付有限公司"); + param.put("ACC_NUMBER",OWN_NUMBER); + param.put("EBANK_SUBJECTS",ACC_TITLE); + param.put("VOUCHERNO",voucherNo); + param.put("CASHFLOW", "11113");// 现金流项目 + + Map map = new HashMap(); + map.put("PROJ_TYPE", "02"); + map.put("VOUCHER_NO", voucherNo); + CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); + BizObject vouch = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); + if (vouch != null) { + vs.createVoucher(vouch.getAttribute("id").getString(),vouch.getAttribute("MODULAR_NUMBER").getString(),vouch.getAttribute("OWNED_COMPANY").getString(), "02", VOUCHER_TYPE, userid, param, Sqlca); + } + Sqlca.commit(); + } + + public String getUserId() { + return userId; + } + public void setUserId(String userId) { + this.userId = userId; + } + public String getSPARE_BATCH_NO() { + return SPARE_BATCH_NO; + } + public void setSPARE_BATCH_NO(String sPARE_BATCH_NO) { + SPARE_BATCH_NO = sPARE_BATCH_NO; + } + public String getACHIEVED_MONEY() { + return ACHIEVED_MONEY; + } + public void setACHIEVED_MONEY(String aCHIEVED_MONEY) { + ACHIEVED_MONEY = aCHIEVED_MONEY; + } + public String getACHIEVED_DATE() { + return ACHIEVED_DATE; + } + public void setACHIEVED_DATE(String aCHIEVED_DATE) { + ACHIEVED_DATE = aCHIEVED_DATE; + } + public String getSEREVICE_CHARGE() { + return SEREVICE_CHARGE; + } + public void setSEREVICE_CHARGE(String sEREVICE_CHARGE) { + SEREVICE_CHARGE = sEREVICE_CHARGE; + } + public String getCHARGEBACK_BALANCE() { + return CHARGEBACK_BALANCE; + } + public void setCHARGEBACK_BALANCE(String cHARGEBACK_BALANCE) { + CHARGEBACK_BALANCE = cHARGEBACK_BALANCE; + } + public String getCHARGEBACK_MONEY_S() { + return CHARGEBACK_MONEY_S; + } + public void setCHARGEBACK_MONEY_S(String cHARGEBACK_MONEY_S) { + CHARGEBACK_MONEY_S = cHARGEBACK_MONEY_S; + } + public String getOWN_NUMBER() { + return OWN_NUMBER; + } + public void setOWN_NUMBER(String oWN_NUMBER) { + OWN_NUMBER = oWN_NUMBER; + } + public String getACC_TITLE() { + return ACC_TITLE; + } + public void setACC_TITLE(String aCC_TITLE) { + ACC_TITLE = aCC_TITLE; + } +} diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CommLoanFactMoneyToMoney.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CommLoanFactMoneyToMoney.java index 92879857c..aded22007 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CommLoanFactMoneyToMoney.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/CreateVoucherLoan/CommLoanFactMoneyToMoney.java @@ -13,7 +13,6 @@ public class CommLoanFactMoneyToMoney implements VoucherJavaParamService{ public Map getJavaParam(JBOTransaction tx,Map param,Map subData) throws BusinessException { MapreturnValue=new HashMap(); returnValue.putAll(param); - returnValue.put("FUNDTYPE","01"); returnValue.put("MONEY",param.get("FACT_MONEY")); return returnValue; } diff --git a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java index 5e3883df9..3ebbe3bf6 100644 --- a/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java +++ b/src_core/com/tenwa/voucher/CreateVoucherProcess/InsertVoucherRentIncome.java @@ -4,6 +4,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import org.quartz.JobExecutionContext; +import org.quartz.JobExecutionException; + import jbo.voucher.LV_VOUCHER_CONFIG; import com.amarsoft.are.jbo.BizObject; @@ -19,75 +22,28 @@ import com.tenwa.voucher.serviceImp.CreateVoucherServiceImpl; * @author xiezhiwen */ public class InsertVoucherRentIncome { - private String[] voucher_nos={ "PZ2018082100000142", "PZ2018082100000143", "PZ2018082100000144","PZ2018121800000006","PZ2018121800000007","PZ2018121800000009" }; - - - /*** - * 将数据插入v8表 - * @param VOUCHERNO - * @throws Exception - */ - public void CreateVoucher(String VOUCHERNO){ - Transaction Sqlca =null; - String sql_where=""; - try{ - Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); - Map map=new HashMap(); - map.put("VOUCHER_NO", VOUCHERNO); - BizObject vouch=DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); - if(vouch!=null){ - /** - * 汽车类 - */ - // 收到的租金--卡扣-未逾期及逾期未过月的(汽车) - 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,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y%m%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y%m%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y%m%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y%m%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y%m%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y%m%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y%m%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y%m%d') END,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 f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018082100000142')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND (lvri.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') 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,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y%m%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y%m%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y%m%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y%m%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y%m%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y%m%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y%m%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y%m%d') END,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 ('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 = '') 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,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 (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER=ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('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 = '') 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,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,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 (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER=ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2018082100000144')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND (lvri.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,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 (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER=ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('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); - Sqlca.executeSQL(asql); - Sqlca.commit(); - }}catch(Exception e){ - Sqlca.rollback(); - e.printStackTrace(); - }finally{ - if(Sqlca!=null){ - Sqlca.disConnect(); - Sqlca=null; - } - } - } + private String[] voucher_nos={ "PZ2018082100000142", "PZ2018082100000143", "PZ2018082100000144" }; /** - *f16存凭证编号,f17寸凭证关键字 关键字的配发 表的别名 .过滤关键字段 - *f17也会存进表中 - *查询sql 用逗号关联的方法,查询乘积条数 where 1=1 + * 定时任务触发 + * @throws Exception */ - public void initLVRentIncome(){ + public void execute() throws Exception{ + // 将需要生成凭证的数据存入中间 + initLVRentIncome(); + // 插数据入v8表生成凭证 + CreateVoucher(); + } + + /** + * 查询租金实收表, 将需要生成凭证的数据存入中间表 + * @throws Exception + */ + public void initLVRentIncome() throws Exception{ Transaction Sqlca =null; - try{ Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); - + int a=0; + int b=0; + int c=0; /** * 查询数据, 判断是否需要执行插入中间表 */ @@ -116,44 +72,80 @@ public class InsertVoucherRentIncome { */ if(dataList1 != null && !dataList1.isEmpty()) { SqlObject sqlss1 = new SqlObject(sql1); - Sqlca.executeSQL(sqlss1); - }else if(dataList2 != null && !dataList2.isEmpty()) { + a = Sqlca.executeSQL(sqlss1); + } + if(dataList2 != null && !dataList2.isEmpty()) { SqlObject sqlss2 = new SqlObject(sql2); - Sqlca.executeSQL(sqlss2); + b = Sqlca.executeSQL(sqlss2); } if(dataList3 != null && !dataList3.isEmpty()) { SqlObject sqlss3 = new SqlObject(sql3); - Sqlca.executeSQL(sqlss3); + c = Sqlca.executeSQL(sqlss3); } Sqlca.commit(); - }catch(Exception e){ - try { - Sqlca.rollback(); - } catch (JBOException e1) { - e1.printStackTrace(); - } - e.printStackTrace(); - }finally{ - if(Sqlca!=null){ - try { - Sqlca.disConnect(); - } catch (JBOException e) { - e.printStackTrace(); - } - Sqlca=null; - } + + if(Sqlca!=null){ + Sqlca.disConnect(); } } - public void execute(){ - try{ - initLVRentIncome(); - for(String voucherno:voucher_nos){ - CreateVoucher(voucherno); - } - }catch (Exception e){ - e.printStackTrace(); - } + /*** + * 将数据插入v8表 + * @param VOUCHERNO + * @throws Exception + */ + public void CreateVoucher() throws Exception{ + Transaction Sqlca =null; + Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); + String sql1=""; + String sql2=""; + String sql3=""; + String sql_where1=""; + String sql_where2=""; + String sql_where3=""; + Map map=new HashMap(); + + /** + * 查询中间表, 判断是否有数据需要执行 + */ + // 当月的租金 + sql1="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE (lvri.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') = DATE_FORMAT(lrp.plan_date, '%Y-%m')"; + // 本月以前的租金 + sql2="SELECT lvri.RENT FROM lv_rent_income2 lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE (lvri.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.rent > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND DATE_FORMAT(NOW(), '%Y-%m') > DATE_FORMAT(lrp.plan_date, '%Y-%m')"; + // 逾期利息 + sql3="SELECT lvri.PENALTY FROM lv_penalty_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE (lvri.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') AND lvri.PENALTY > 0 AND lvri.income_id NOT IN(SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) "; + List> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, null); + List> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sql2, null); + List> dataList3=DataOperatorUtil.getDataBySql(Sqlca, sql3, null); + + /** + * 汽车类 + */ + // 收到的租金--卡扣-当月的(汽车) + sql_where1 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,f2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent WHEN LV.sort_number = '2' THEN LVRI.INTEREST ELSE 0.00 END f7,CASE WHEN lv.sort_number = '3' THEN lvri.corpus WHEN lv.sort_number = '4' THEN lvri.interest WHEN lv.sort_number = '5' THEN ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2) WHEN lv.sort_number = '6' THEN (lvri.interest - ROUND(lvri.interest / getTax (lci.leas_form,'租息',lcct.start_date),2)) ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,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 f74,'' AS f75,CASE WHEN lv.sort_number = '6' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'租息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_rent_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.SUBJECTS_CODE FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.LOAN_SUBJECT WHERE lvc.voucher_no IN ('PZ2018082100000142')) lv ON lv.proj_type = lci.LEAS_FORM WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%-收到的租金(卡扣)%' AND f58 IS NOT NULL) AND lvri.rent > 0 AND (lvri.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') ORDER BY lvri.voucher_f3 "; + // 收到的租金--卡扣-跨月的(汽车) + sql_where2 = "INSERT INTO voucher_v8 (id,evidence_message,periodyear,f15,F2,f3,f5,f6,f7,f8,f12,f1,f49,f50,f51,f52,f59,f60,f61,f62,f65,f73,f74,f75,f76,v8_status,generate_date,v8_flag,module_name,entrydc,inputuserid,f58,f67) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的租金' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.rent ELSE 0.00 END f7,CASE WHEN lv.sort_number = '2' THEN lvri.corpus WHEN lv.sort_number = '3' THEN lvri.interest ELSE 0.00 END f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE='') THEN DATE_FORMAT(NOW(),'%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE,'%Y/%m/%d') END,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 ('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 = '') ORDER BY lvri.voucher_f3 "; + //收到的逾期利息--卡扣 + sql_where3 = "INSERT INTO voucher_v8 ( id, evidence_message, periodyear, f15, f2, f3, f5, f6, f7, f8, f12, f1, f49, f50, f51, f52, f59, f60, f61, f62, f65, f73, f74, f75,f76, v8_status, generate_date, v8_flag, module_name, entrydc, inputuserid, f58, f67 ) SELECT REPLACE (UUID(), '-', '') id,'凭证输出' evidence_message,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) periodyear,lvri.HIRE_DATE AS f15,lv.SUBJECTS_CODE AS f2,lvri.voucher_f3 AS f3,'收到的逾期利息' AS f5,lv.LOAN_SUBJECT AS f6,CASE WHEN lv.sort_number = '1' THEN lvri.penalty ELSE 0.00 END AS f7,CASE WHEN lv.sort_number = '2' THEN ROUND(lvri.penalty / getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2) WHEN lv.sort_number = '3' THEN lvri.penalty - (ROUND(lvri.penalty /getTax (LCI.LEAS_FORM,'逾期利息',lcct.start_date),2)) ELSE 0.00 END AS f8,'定时任务-每天生成租金实收凭证' AS f12,CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END AS f1,lv.OWNED_COMPANY AS f49,lv.OWNED_COMPANY AS f50,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,1,4) AS f51,SUBSTR(CASE WHEN (lvri.ACCOUNTING_DATE IS NULL OR lvri.ACCOUNTING_DATE = '') THEN DATE_FORMAT(NOW(), '%Y/%m/%d') ELSE DATE_FORMAT(lvri.ACCOUNTING_DATE, '%Y/%m/%d') END,5,2) AS f52,lv.sort_number AS f59,CASE WHEN lv.sort_number = '2' THEN lci.contract_number ELSE '' END AS f60,CASE WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_name END AS f61,lv.LOAN_SUBJECT AS f62,CASE WHEN lv.sort_number = '3' THEN '' ELSE lvri.cust_id END AS f65,CASE WHEN lv.sort_number = '2' THEN '0603' ELSE '' END AS f73,'' AS f74,'' AS f75,CASE WHEN lv.sort_number = '3' THEN (SELECT TAX_CODES FROM tax_code WHERE TAX_NUMBER = ROUND((getTax (lci.LEAS_FORM,'逾期利息',LCCT.START_DATE) - 1) * 100,0)) ELSE '' END AS f76,'已完整' AS v8_status,DATE_FORMAT(NOW(), '%Y/%m/%d %H:%i:%s') AS generate_date,'0' AS v8_flag,lv.modular_number AS module_name,CASE WHEN lv.loan_direction = '1' THEN '1' ELSE '-1' END AS entrydc,'admin' AS inputuserid,lvri.income_id AS f58,lci.leas_form AS f67 FROM lv_penalty_income lvri LEFT JOIN lb_contract_info lci ON lci.id = lvri.contract_id LEFT JOIN lc_calc_condition lcct ON lcct.contract_id = lci.id LEFT JOIN (SELECT lvc.PROJ_TYPE,lvl.id,lvl.LOAN_DIRECTION,lvc.OWNED_COMPANY,lvl.sort_number,lvl.loan_subject,lvc.modular_number,lsc.subjects_code FROM lv_voucher_config lvc LEFT JOIN lv_voucher_loan lvl ON lvl.VOUCHER_ID = lvc.id LEFT JOIN lv_stacts_config lsc ON lsc.id = lvl.loan_subject WHERE lvc.voucher_no IN ('PZ2018082100000144')) lv ON lv.proj_type = lci.leas_form WHERE LCI.BUSINESSTYPE = '1' AND lvri.income_id NOT IN (SELECT f58 FROM voucher_v8 WHERE module_name LIKE '%收到的逾期利息(卡扣)%' AND f58 IS NOT NULL) AND lvri.penalty > 0 AND (lvri.EBANK_NUMBER IS NULL OR lvri.EBANK_NUMBER = '') ORDER BY lvri.voucher_f3 "; + /** + * 根据查询语句判断, 有值才执行插入SQL + */ + if(dataList1 != null && !dataList1.isEmpty()) { + SqlObject sqls1 = new SqlObject(sql_where1); + Sqlca.executeSQL(sqls1); + } + if(dataList2 != null && !dataList2.isEmpty()) { + SqlObject sqls2 = new SqlObject(sql_where2); + Sqlca.executeSQL(sqls2); + } + if(dataList3 != null && !dataList3.isEmpty()) { + SqlObject sqls3 = new SqlObject(sql_where3); + Sqlca.executeSQL(sqls3); + } + Sqlca.commit(); + if(Sqlca!=null){ + Sqlca.disConnect(); + } } } diff --git a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java index 0c0ede951..e493e0c46 100644 --- a/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java +++ b/src_core/com/tenwa/voucher/serviceImp/CreateVoucherServiceImpl.java @@ -260,9 +260,9 @@ public class CreateVoucherServiceImpl { } }*/ /** - * 网银存款转预收银行科目 + * 网银存款转预收银行科目及卡扣汇总凭证 */ - if("PZ2018121800000005".equals(VOUCHERNO) || "PZ2018081600000120".equals(VOUCHERNO) || "PZ2018092500000155".equals(VOUCHERNO)) { + if("PZ2018121800000005".equals(VOUCHERNO) || "PZ2018081600000120".equals(VOUCHERNO) || "PZ2018092500000155".equals(VOUCHERNO) || "PZ2018080400000091".equals(VOUCHERNO)) { if("1".equals(SORT_NUMBER)) { String EBANK_SUBJECTS = param.get("EBANK_SUBJECTS"); sub=JBOFactory.createBizObjectQuery(LV_STACTS_CONFIG.CLASS_NAME,"SUBJECTS_CODE=:EBANK_SUBJECTS").setParameter("EBANK_SUBJECTS", EBANK_SUBJECTS).getSingleResult(false); diff --git a/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java b/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java index 675437d6e..ab8f061a4 100644 --- a/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java +++ b/src_core/com/tenwa/voucher/serviceImp/VoucherToV8Impl.java @@ -61,6 +61,7 @@ public class VoucherToV8Impl implements VoucherService { private static final String Return_surplus_send="合同到期申请-将多余还款退回"; private static final String ebank_income="回款-银行存款转预收";// 汽车网银导入 private static final String Eband_Returned_Money="网银回款(传统)";// 传统网银导入 + private static final String cardRentMoney="回款-租金回款到账";// 传统网银导入 public String saveMessage(List> list,Map param,BizObject user,JBOTransaction tx) throws Exception{ try{ @@ -92,14 +93,14 @@ public class VoucherToV8Impl implements VoucherService { String modularNumber=param.get("MODULAR_NUMBER");//凭证模板名称 //网银导入、代收租金 的凭证不需要合同号 if(!Return_Dealer_Margin.equals(modularNumber)&&!Receive_Dealer_Margin.equals(modularNumber)&&!moduleName_value.equals(modularNumber) && !Eband_Returned_Money.equals(modularNumber) && !SPECIAL_MODULENAME.equals(modularNumber) - && !Return_surplus_income.equals(modularNumber) && !Return_surplus_send.equals(modularNumber) && !ebank_income.equals(modularNumber)&& Tools.isNullOrEmpty(contracid)){ + && !Return_surplus_income.equals(modularNumber) && !Return_surplus_send.equals(modularNumber) && !ebank_income.equals(modularNumber) && !cardRentMoney.equals(modularNumber) && Tools.isNullOrEmpty(contracid)){ log.error("合同号为空,无法构建对应的凭证信息!"); return null; } //检查合同ID是否是正确的 if(!Return_Dealer_Margin.equals(modularNumber)&&!Receive_Dealer_Margin.equals(modularNumber)&&!moduleName_value.equals(modularNumber) && !Eband_Returned_Money.equals(modularNumber) && !SPECIAL_MODULENAME.equals(modularNumber) - && !Return_surplus_income.equals(modularNumber) && !Return_surplus_send.equals(modularNumber) && !ebank_income.equals(modularNumber)){ + && !Return_surplus_income.equals(modularNumber) && !Return_surplus_send.equals(modularNumber) && !ebank_income.equals(modularNumber) && !cardRentMoney.equals(modularNumber)){ BizObject contract=JBOFactory.createBizObjectQuery(LB_CONTRACT_INFO.CLASS_NAME, "id=:id").setParameter("id", contracid).getSingleResult(false); if(contract==null){ message = message + "合同信息为空!"; diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/CreateVoucherRentIncomeMission.java b/src_tenwa/com/tenwa/lease/app/quartzmession/CreateVoucherRentIncomeMission.java index 29eadab26..e9e1b6d4c 100644 --- a/src_tenwa/com/tenwa/lease/app/quartzmession/CreateVoucherRentIncomeMission.java +++ b/src_tenwa/com/tenwa/lease/app/quartzmession/CreateVoucherRentIncomeMission.java @@ -12,7 +12,7 @@ import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherMonthSettlement; import com.tenwa.voucher.CreateVoucherProcess.CreateVoucherRentIncome; import com.tenwa.voucher.CreateVoucherProcess.InsertVoucherRentIncome; /** - * 保险理赔生成凭证 + * 生成卡扣凭证明细-定时任务 * @author xiezhiwen */ public class CreateVoucherRentIncomeMission implements Job {