新需求卡扣汇总凭证

This commit is contained in:
xiezhiwen 2019-04-09 18:26:53 +08:00
parent 01772a46fe
commit ff2d34426f
7 changed files with 232 additions and 100 deletions

View File

@ -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);
}
</script>
<%@ include file="/Frame/resources/include/include_end.jspf"%>

View File

@ -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<String, String> param = new HashMap<String, String>();
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<String, String> map = new HashMap<String, String>();
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;
}
}

View File

@ -13,7 +13,6 @@ public class CommLoanFactMoneyToMoney implements VoucherJavaParamService{
public Map<String, String> getJavaParam(JBOTransaction tx,Map<String, String> param,Map<String, String> subData) throws BusinessException {
Map<String,String>returnValue=new HashMap<String,String>();
returnValue.putAll(param);
returnValue.put("FUNDTYPE","01");
returnValue.put("MONEY",param.get("FACT_MONEY"));
return returnValue;
}

View File

@ -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<String,String> map=new HashMap<String,String>();
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<String,String> map=new HashMap<String,String>();
/**
* 查询中间表, 判断是否有数据需要执行
*/
// 当月的租金
sql1="SELECT lvri.RENT FROM lv_rent_income lvri LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lvri.contract_id AND lrp.id=lvri.income_id WHERE (lvri.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<Map<String,String>> dataList1=DataOperatorUtil.getDataBySql(Sqlca, sql1, null);
List<Map<String,String>> dataList2=DataOperatorUtil.getDataBySql(Sqlca, sql2, null);
List<Map<String,String>> 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();
}
}
}

View File

@ -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);

View File

@ -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<Map<String,String>> list,Map<String,String> 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 + "合同信息为空!";

View File

@ -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 {