package com.tenwa.reckon.check; import java.util.List; import jbo.app.tenwa.calc.LC_RENT_INCOME; import jbo.app.tenwa.calc.LC_RENT_PLAN; import jbo.com.tenwa.lease.comm.VI_CHARGEBACKVOUCHERDETAIL; import jbo.com.tenwa.lease.comm.VI_CHARGEBACKVOUCHERTOTAL; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.BizObjectManager; import com.amarsoft.are.jbo.JBOException; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.are.jbo.JBOTransaction; public class ChargebackVoucherTotal{ private String SPARE_BATCH_NO; private String SPARE_BATCH_NO_DATA; private String OWN_NUMBER; private String COLLECT_STATUS; private String CHANNEL; private String HIRE_DATE; /** * 校验批次号次否已保存 */ public String checkSBN(JBOTransaction tx) throws JBOException{ BizObject vs= JBOFactory.createBizObjectQuery(jbo.com.tenwa.lease.comm.VERIFICATIONSPARE.CLASS_NAME, "SPARE_BATCH_NO=:SPARE_BATCH_NO").setParameter("SPARE_BATCH_NO", SPARE_BATCH_NO_DATA).getSingleResult(false); if(vs==null||"".equals(vs)){ return "N"; } return "Y"; } /** * 对批次号做重复校验, 没问题则保存 */ public String saveBatchNo(JBOTransaction tx){ // List rentList; List bomList; try { // 根据实收日期, 银行账号, 查询租金实收数据 // rentList = JBOFactory.createBizObjectQuery(jbo.app.tenwa.calc.LC_RENT_INCOME.CLASS_NAME, "HIRE_DATE=:HIRE_DATE and OWN_NUMBER=:OWN_NUMBER").setParameter("HIRE_DATE", HIRE_DATE).setParameter("OWN_NUMBER", OWN_NUMBER).getResultList(false); // 根据批次号查询租金实收表数据, 校验批次号是否重复 BizObjectManager rent_i = JBOFactory.getBizObjectManager(LC_RENT_INCOME.CLASS_NAME,tx); BizObjectManager bom = JBOFactory.getBizObjectManager(VI_CHARGEBACKVOUCHERDETAIL.CLASS_NAME,tx); bomList = bom.createQuery("HIRE_DATE=:HIRE_DATE and OWN_NUMBER=:OWN_NUMBER and CHANNEL=:CHANNEL").setParameter("HIRE_DATE",HIRE_DATE).setParameter("OWN_NUMBER",OWN_NUMBER).setParameter("CHANNEL",CHANNEL).getResultList(false); BizObject checkSBN = rent_i.createQuery("SPARE_BATCH_NO=:SPARE_BATCH_NO").setParameter("SPARE_BATCH_NO",SPARE_BATCH_NO).getSingleResult(false); if(checkSBN!=null){ return "批次号"+SPARE_BATCH_NO+"已存在;"; } for(BizObject rentIncomeID:bomList){ String incomeId = rentIncomeID.getAttribute("income_ID").toString(); BizObject rii = rent_i.createQuery("ID=:ID").setParameter("ID", incomeId).getSingleResult(true); rii.setAttributeValue("SPARE_BATCH_NO",SPARE_BATCH_NO); rent_i.saveObject(rii); } // // List rentIDs = JBOFactory.createBizObjectQuery(jbo.com.tenwa.lease.comm.VI_CHARGEBACKVOUCHERTOTAL.CLASS_NAME, "HIRE_DATE=:HIRE_DATE and OWN_NUMBER=:OWN_NUMBER and CHANNEL=:CHANNEL").setParameter("HIRE_DATE", HIRE_DATE).setParameter("OWN_NUMBER", OWN_NUMBER).setParameter("CHANNEL", CHANNEL).getResultList(false); // 查询当前批次卡扣数据, 存储批次号入租金计划表 /*if(rentList.size()>0){ for(BizObject rentID:rentList){ String id = rentID.getAttribute("PLAN_ID").toString(); BizObject rent_p_jbo = rent_p.createQuery("COLLECT_STATUS=:COLLECT_STATUS and id=:id").setParameter("COLLECT_STATUS", COLLECT_STATUS).setParameter("id", id).getSingleResult(true); if(rent_p_jbo==null){ continue; } rent_p_jbo.setAttributeValue("SPARE_BATCH_NO",SPARE_BATCH_NO); rent_p.saveObject(rent_p_jbo); } }*/ //如果是更改的核销信息,则在相应的VERIFICATIONSPARE表里也要更改。(核销后不允许更改, 此功能暂时用不到) if("Y".equals(this.checkSBN(tx))){ BizObjectManager vs = JBOFactory.getBizObjectManager(jbo.com.tenwa.lease.comm.VERIFICATIONSPARE.CLASS_NAME,tx); BizObject change = vs.createQuery("SPARE_BATCH_NO=:SPARE_BATCH_NO").setParameter("SPARE_BATCH_NO",SPARE_BATCH_NO_DATA).getSingleResult(true); change.setAttributeValue("SPARE_BATCH_NO",SPARE_BATCH_NO); vs.saveObject(change); } } catch (JBOException e) { e.printStackTrace(); return "ERROR"; } return "SUCCESS"; } public String getCOLLECT_STATUS() { return COLLECT_STATUS; } public void setCOLLECT_STATUS(String cOLLECT_STATUS) { COLLECT_STATUS = cOLLECT_STATUS; } 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 getSPARE_BATCH_NO_DATA() { return SPARE_BATCH_NO_DATA; } public void setSPARE_BATCH_NO_DATA(String sPARE_BATCH_NO_DATA) { SPARE_BATCH_NO_DATA = sPARE_BATCH_NO_DATA; } public String getOWN_NUMBER() { return OWN_NUMBER; } public void setOWN_NUMBER(String oWN_NUMBER) { OWN_NUMBER = oWN_NUMBER; } public String getCHANNEL() { return CHANNEL; } public void setCHANNEL(String cHANNEL) { CHANNEL = cHANNEL; } public String getHIRE_DATE() { return HIRE_DATE; } public void setHIRE_DATE(String hIRE_DATE) { HIRE_DATE = hIRE_DATE; } }