196 lines
6.7 KiB
Java
196 lines
6.7 KiB
Java
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<BizObject> 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<String, String> param = new HashMap<String, String>();
|
|
BizObjectManager ebankbom = JBOFactory.getBizObjectManager(LC_EBANK.CLASS_NAME);
|
|
tx.join(ebankbom);
|
|
String fact_money = "";
|
|
String fact_date = "";
|
|
String ownnumber = "";
|
|
String CONTRACT_NUMBER="";
|
|
List<BizObject> 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<String, String> map = new HashMap<String, String>();
|
|
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<String, String> map = new HashMap<String, String>();
|
|
Map<String, String> param = new HashMap<String, String>();
|
|
|
|
// 获取页面传入参数
|
|
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<Map<String, String>> dataList = DataOperatorUtil.getDataBySql(Sqlca, sql1, map);
|
|
|
|
// 获取所需数据
|
|
String VOUCHER_TYPE = "1";// 凭证分类 金蝶
|
|
String userid = "admin";
|
|
|
|
for (Map<String, String> 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;
|
|
}
|
|
}
|