From 6becbda3db8664ff06683720b8fdc16eec4f1aa9 Mon Sep 17 00:00:00 2001 From: tangft <32189@DESKTOP-M6TAG3K> Date: Wed, 6 Mar 2019 15:27:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=94=9F=E6=88=90=E5=87=AD?= =?UTF-8?q?=E8=AF=81=E7=9A=84=E4=BA=8B=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../app/quartzmession/Checkfordeduction.java | 52 +++++++++++-------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java b/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java index b1eab3417..7de5e0e60 100644 --- a/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java +++ b/src_tenwa/com/tenwa/lease/app/quartzmession/Checkfordeduction.java @@ -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 map = new HashMap(); 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; } }