package com.tenwa.lease.app.ebank; import java.util.HashMap; import java.util.List; import java.util.Map; import jbo.app.tenwa.calc.LC_EBANK; import jbo.app.tenwa.calc.LC_EBANK_PROCESS; import jbo.voucher.LV_VOUCHER_CONFIG; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.BizObjectManager; import com.amarsoft.are.jbo.BizObjectQuery; import com.amarsoft.are.jbo.JBOException; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.are.jbo.JBOTransaction; import com.amarsoft.awe.util.ASResultSet; import com.amarsoft.awe.util.SqlObject; 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 EbankUse { private String ebdataid; private String VOUCHERNO; private String SUMMARY; public String getVOUCHERNO() { return VOUCHERNO; } public void setVOUCHERNO(String vOUCHERNO) { VOUCHERNO = vOUCHERNO; } public String getSUMMARY() { return SUMMARY; } public void setSUMMARY(String sUMMARY) { SUMMARY = sUMMARY; } public String getEbdataid() { return ebdataid; } public void setEbdataid(String ebdataid) { this.ebdataid = ebdataid; } /** * 判断网银是否在使用 */ public String isEbankUse(JBOTransaction tx) throws Exception { String sql = "select * from O where ebank_number=:ebankid"; BizObjectManager ebankbom = JBOFactory.getBizObjectManager(LC_EBANK_PROCESS.CLASS_NAME); tx.join(ebankbom); BizObjectQuery boq = ebankbom.createQuery(sql); boq.setParameter("ebankid", this.getEbdataid()); List bolist = boq.getResultList(false); if (bolist.size() != 0) { return "fail"; } return "success"; } /** * 让网银变成废弃 */ public String setEbankAbandon(JBOTransaction tx) throws Exception { String sql = "update O set invalid=:invalid where id=:id"; BizObjectManager ebankbom = JBOFactory.getBizObjectManager(LC_EBANK.CLASS_NAME); tx.join(ebankbom); ebankbom.createQuery(sql).setParameter("invalid", "Y").setParameter("id", this.getEbdataid()).executeUpdate(); return "success"; } public void createEbankVoucher(JBOTransaction tx) throws Exception { Transaction Sqlca = null; Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); String voucherNo = "PZ2018081600000120"; Map param = new HashMap(); BizObjectManager ebankbom = JBOFactory.getBizObjectManager(LC_EBANK.CLASS_NAME); tx.join(ebankbom); String fact_money = ""; String fact_date = ""; String ownnumber = ""; String CONTRACT_NUMBER=""; List bolist = ebankbom.createQuery("DEBIT_MONEY IS NULL").getResultList(true); CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); String VOUCHER_TYPE = "1";// 凭证分类 金蝶 String userid = "admin"; for (BizObject bo : bolist) { fact_money = bo.getAttribute("fact_money").getString(); fact_date = bo.getAttribute("fact_date").getString(); ownnumber = bo.getAttribute("ownacc_number").getString(); CONTRACT_NUMBER=bo.getAttribute("EBANK_SN").getString(); param.put("FACT_MONEY", fact_money); param.put("ACCOUNT_DATE", fact_date); param.put("FACT_DATE", fact_date); param.put("ACC_NUMBER", ownnumber); param.put("CONTRACT_NUMBER", CONTRACT_NUMBER); param.put("VOUCHERNO", voucherNo); Map map = new HashMap(); map.put("PROJ_TYPE", "02"); map.put("VOUCHER_NO", voucherNo); BizObject vouch = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); if (vouch != null) { vs.createVoucher(vouch.getAttribute("MODULAR_NUMBER").getString(), vouch.getAttribute("OWNED_COMPANY").getString(), "02", VOUCHER_TYPE, userid, param, Sqlca); } bo.setAttributeValue("DEBIT_MONEY", fact_money); ebankbom.saveObject(bo); } Sqlca.commit(); } /** * 合同到期申请-将多余还款确认为收入/将多余还款退回 * @param tx * @throws Exception */ public String createLeftEbankIncomeVoucher(JBOTransaction tx) throws Exception { Transaction Sqlca = null; Sqlca = Transaction.createTransaction(CacheLoaderFactory.getDataSource()); Map map = new HashMap(); Map param = new HashMap(); // 获取页面传入参数 String VOUCHERNO = this.getVOUCHERNO(); String ID = this.getEbdataid(); // 通过传入id查询所需数据 map.put("ID", ID); String sql1 = "SELECT LE.MAYOPE_MONEY AS MONEY,ROUND(LE.MAYOPE_MONEY / 1.06, 2) AS MONEYNOTAX,LE.MAYOPE_MONEY - ROUND(LE.MAYOPE_MONEY / 1.06, 2) AS TAX,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS ACCOUNT_DATE,DATE_FORMAT(SYSDATE(), '%Y/%m/%d') AS FACT_DATE,LE.OWNACC_NUMBER AS ACC_NUMBER,LE.EBANK_SN FROM LC_EBANK LE WHERE ID = :ID "; List> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql1, map); // 获取所需数据 String VOUCHER_TYPE = "1";// 凭证分类 金蝶 String userid = "admin"; for (Map jbo : dataList) { String MONEY = jbo.get("MONEY").toString(); if ("".equals(MONEY) || MONEY == null)MONEY = "0.00"; double mon = Double.parseDouble(MONEY); if (mon > 0) { String MONEYNOTAX = jbo.get("MONEYNOTAX").toString(); String TAX = jbo.get("TAX").toString(); String ACCOUNT_DATE = jbo.get("ACCOUNT_DATE").toString(); String FACT_DATE = jbo.get("FACT_DATE").toString(); String ACC_NUMBER = jbo.get("ACC_NUMBER").toString(); String CONTRACT_NUMBER = jbo.get("EBANK_SN").toString(); // 将数据封装如param中 param.put("FACT_MONEY", MONEY); param.put("INTERESTNOTAX", MONEYNOTAX); param.put("TAX", TAX); param.put("ACCOUNT_DATE", ACCOUNT_DATE); param.put("FACT_DATE", FACT_DATE); param.put("ACC_NUMBER", ACC_NUMBER); param.put("CONTRACT_NUMBER", CONTRACT_NUMBER); param.put("DEPT", "02"); // 部门 // 通过凭证编号获取对应编号的凭证信息 map.clear(); map.put("VOUCHER_NO", VOUCHERNO); BizObject voucher = DataOperatorUtil.getSingleJBO(LV_VOUCHER_CONFIG.CLASS_NAME, map, Sqlca); // 如果有有此凭证, 生成当前凭证 CreateVoucherServiceImpl vs = new CreateVoucherServiceImpl(); if (voucher != null) { vs.createVoucher(voucher.getAttribute("MODULAR_NUMBER").getString(),voucher.getAttribute("OWNED_COMPANY").getString(), "02", VOUCHER_TYPE, userid, param,Sqlca); } } } // 获取参数, 按需修改数据 String SUMMARY = this.getSUMMARY(); // 执行确认收入时, 可核销金额转入非业务金额 String sql2 = "UPDATE LC_EBANK SET NOWITH_MONEY=(NOWITH_MONEY+MAYOPE_MONEY),MAYOPE_MONEY='0.00',SUMMARY=CONCAT_WS(',',SUMMARY,'"+ SUMMARY + "') WHERE ID='" + ID + "'"; SqlObject sql3= new SqlObject(sql2); Sqlca.executeSQL(sql3); if (Sqlca != null) { Sqlca.commit(); } String sMessage = "true"; return sMessage; } }