package com.tenwa.flow.comm.handler; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import jbo.com.tenwa.lease.comm.LB_CONTRACT_INFO; import jbo.com.tenwa.lease.comm.LB_INSURANCE_INFO; import jbo.com.tenwa.lease.comm.LB_UNION_LESSEE; 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; import com.amarsoft.awe.dw.handler.impl.CommonHandler; public class LBContinueInsuranceInfoHandler extends CommonHandler { @Override protected void afterInsert(JBOTransaction tx, BizObject bo) throws Exception { String beforeId = this.asPage.getAttribute("BeforeId"); BizObjectManager liiManager = JBOFactory.getBizObjectManager(LB_INSURANCE_INFO.CLASS_NAME,tx); BizObject lii = liiManager.createQuery("ID=:id ").setParameter("id",beforeId).getSingleResult(true); lii.setAttributeValue("INSURANCE_STATUS","continuestatus"); liiManager.saveObject(lii); super.afterInsert(tx, bo); } @Override protected void initDisplayForAdd(BizObject bo) throws Exception { String beforeId = this.asPage.getAttribute("BeforeId"); BizObjectManager liiManager = JBOFactory.getBizObjectManager(LB_INSURANCE_INFO.CLASS_NAME); BizObjectManager lciManager = JBOFactory.getBizObjectManager(LB_CONTRACT_INFO.CLASS_NAME); BizObjectManager lulManager = JBOFactory.getBizObjectManager(LB_UNION_LESSEE.CLASS_NAME); BizObject lii = liiManager.createQuery("ID=:id ").setParameter("id",beforeId).getSingleResult(false); bo.setAttributeValue("CONTRACT_ID", lii.getAttribute("CONTRACT_ID").getString()); BizObject lci = lciManager.createQuery("ID=:id ").setParameter("id",lii.getAttribute("CONTRACT_ID").getString()).getSingleResult(false); BizObject lul = lulManager.createQuery("CONTRACT_ID=:contractid and IS_MAIN='Y' ").setParameter("contractid",lii.getAttribute("CONTRACT_ID").getString()).getSingleResult(false); bo.setAttributeValue("CONTRACT_NUMBER", lci.getAttribute("CONTRACT_NUMBER").getString()); bo.setAttributeValue("CUSTOMER_NAME", lul.getAttribute("CUSTOMER_NAME").getString()); SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd"); Date beforeEndDate = format.parse(lii.getAttribute("INSURER_END_DATE").getString()); Calendar calendar = Calendar.getInstance(); calendar.setTime(beforeEndDate); calendar.add(Calendar.DATE, 1); Date startDate = calendar.getTime(); bo.setAttributeValue("INSURER_START_DATE",format.format(startDate)); super.initDisplayForAdd(bo); } @Override protected boolean validityCheck(BizObject bo, boolean isInsert) { try { this.errors=""; if(bo.getAttribute("INSURER_START_DATE").getDate().getTime()>=bo.getAttribute("INSURER_END_DATE").getDate().getTime()){ this.errors+="投保开始日期应该小于投保结束日期!"; } if(bo.getAttribute("INSURANCE_PREMIUM").getDouble()<=0){ this.errors+="保险金额应大于零!"; } if(this.errors.length()>0){ return false; } } catch (JBOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return super.validityCheck(bo, isInsert); } }