修改生成凭证的事务

This commit is contained in:
tangft 2019-03-06 15:27:35 +08:00
parent 98411416d2
commit 6becbda3db

View File

@ -36,12 +36,12 @@ public class Checkfordeduction {
* @param VOUCHERNO
* @throws Exception
*/
public void CreateVoucher(String VOUCHERNO,String id) throws Exception {
public void CreateVoucher(String VOUCHERNO,String id,Transaction Sqlca) throws Exception {
Transaction Sqlca = null;
// Transaction Sqlca = null;
String sql_where = "";
try {
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
// 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);
@ -77,28 +77,28 @@ public class Checkfordeduction {
SqlObject asql = new SqlObject(sql_where);
Sqlca.executeSQL(asql);
}
Sqlca.commit();
// Sqlca.commit();
}
} catch (Exception e) {
returns = "false";
Sqlca.rollback();
// Sqlca.rollback();
e.printStackTrace();
} finally {
} /*finally {
if (Sqlca != null) {
Sqlca.disConnect();
Sqlca = null;
}
}
}*/
}
/**
* f16存凭证编号f17寸凭证关键字 关键字的配发 表的别名 .过滤关键字段 f17也会存进表中 查询sql 用逗号关联的方法查询乘积条数 where
* 1=1
*/
public void initLVRentIncome(String id) throws Exception {
Transaction Sqlca = null;
public void initLVRentIncome(String id,Transaction Sqlca) throws Exception {
// Transaction Sqlca = null;
try {
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
// Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
// String sql="INSERT INTO lv_rent_income (SELECT
// REPLACE(UUID(),'-',''),CONCAT('k',getSerialNumber
@ -113,10 +113,10 @@ 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 lb_contract_info lci ON lci.id = lri.contract_id LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lci.id AND lrp.plan_list=lri.plan_list 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 in('"+ 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 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 lb_contract_info lci ON lci.id = lri.contract_id LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lci.id AND lrp.plan_list=lri.plan_list 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 in('"+ 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 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 lb_contract_info lci ON lci.id = lri.contract_id LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lci.id AND lrp.plan_list=lri.plan_list 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 in('"+ 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 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 in('"+ str + "') AND lrp.id NOT IN(SELECT INCOME_ID FROM lv_penalty_income) )";
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 lb_contract_info lci ON lci.id = lri.contract_id LEFT JOIN lc_rent_plan lrp ON lrp.contract_id=lci.id AND lrp.plan_list=lri.plan_list 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 in('"+ 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 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 in('"+ str + "') AND lrp.id NOT IN(SELECT INCOME_ID FROM lv_penalty_income) )";
// 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);
@ -127,21 +127,23 @@ public class Checkfordeduction {
Sqlca.executeSQL(asql1);
//Sqlca.executeSQL(asql2);
}
Sqlca.commit();
// Sqlca.commit();
} catch (Exception e) {
returns = "false";
Sqlca.rollback();
// Sqlca.rollback();
e.printStackTrace();
} finally {
} /*finally {
if (Sqlca != null) {
Sqlca.disConnect();
Sqlca = null;
}
}
}*/
}
public String execute(JBOTransaction tx) {
public String execute(JBOTransaction tx) throws Exception{
Transaction Sqlca = null;
try {
Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource());
// 遍历传入的参数, 拼接SQL in条件内容
//String[] ids = id.split("@");
/*StringBuffer parms = new StringBuffer();
@ -152,22 +154,28 @@ public class Checkfordeduction {
parms.append(",'" + str + "'");
}
}*/
initLVRentIncome(id);
initLVRentIncome(id,Sqlca);
if (returns != "true") {
return returns;
}
for (String voucherno : voucher_nos) {
CreateVoucher(voucherno,id);
CreateVoucher(voucherno,id,Sqlca);
if (returns != "true") {
return returns;
}
}
return returns;
Sqlca.commit();
} catch (Exception e) {
Sqlca.rollback();
e.printStackTrace();
return "false";
}finally {
if (Sqlca != null) {
Sqlca.disConnect();
Sqlca = null;
}
}
return returns;
}
}