package com.tenwa.flow.fund.copyebank; import java.math.BigDecimal; import java.util.List; import jbo.app.tenwa.calc.LC_RENT_INCOME_TEMP; import jbo.app.tenwa.calc.VI_LC_RENT_PLAN; import com.amarsoft.app.awe.config.InitDBType; import com.amarsoft.are.jbo.BizObject; import com.amarsoft.are.jbo.JBOFactory; import com.amarsoft.awe.util.Transaction; import com.tenwa.template.check.DefaultBussinessCheck; public class RentIncomeCheck extends DefaultBussinessCheck { @Override public Object run(Transaction Sqlca) throws Exception { String flowunid=this.getAttribute("ObjectNo").toString(); List boLRIT = JBOFactory.getBizObjectManager(LC_RENT_INCOME_TEMP.CLASS_NAME).createQuery("flowunid=:flowunid").setParameter("flowunid", flowunid).getResultList(false); boolean flag = true; boolean flag1 = false; String messageAll = ""; String message = ""; if(boLRIT.size() > 0){ for(BizObject bo:boLRIT){ String rent = bo.getAttribute("rent").getString(); String penalty = bo.getAttribute("penalty").getString(); String penaltyAdjust = bo.getAttribute("penalty_adjust").getString(); flag = true; message = "投放编号为【"+bo.getAttribute("payment_number").getString()+"】编号为【"+bo.getAttribute("plan_list").getInt()+"】的"; if(new BigDecimal(rent).add(new BigDecimal(penalty)).add(new BigDecimal(penaltyAdjust)).compareTo(new BigDecimal(0)) == 0){ message += "收款金额为0!"; flag = false; } BizObject boVLRP = JBOFactory.getBizObjectManager(VI_LC_RENT_PLAN.CLASS_NAME).createQuery("payment_number=:payment_number and plan_list=:plan_list") .setParameter("payment_number", bo.getAttribute("payment_number").getString()).setParameter("plan_list", bo.getAttribute("plan_list").getString()).getSingleResult(false); String rent_over = boVLRP.getAttribute("rent_over").getString(); String corpus_over = boVLRP.getAttribute("corpus_over").getString(); String interest_over = boVLRP.getAttribute("interest_over").getString(); String sql="select getRentPenalty('"+bo.getAttribute("payment_number").getString()+"','"+bo.getAttribute("plan_list").getInt()+"','"+bo.getAttribute("hire_date").getString()+"')"; //if("ORACLE".equals(InitDBType.DBTYPE)){ // sql="select getRentPenalty('"+bo.getAttribute("payment_number").getString()+"','"+bo.getAttribute("plan_list").getInt()+"','"+bo.getAttribute("hire_date").getString()+"') from dual"; //} String penalty_over = Sqlca.getString(sql); if(new BigDecimal(rent_over).compareTo(new BigDecimal(0)) < 0){ message += "回笼租金大于计划租金,"; flag = false; flag1 = true; } if(new BigDecimal(corpus_over).compareTo(new BigDecimal(0)) < 0){ message += "回笼本金大于计划本金,"; flag = false; flag1 = true; } if(new BigDecimal(interest_over).compareTo(new BigDecimal(0)) < 0){ message += "回笼利息大于计划利息,"; flag = false; flag1 = true; } if(new BigDecimal(penalty_over).compareTo(new BigDecimal(0)) < 0){ message += "回笼罚息大于计划罚息,"; flag = false; flag1 = true; } if(flag1){ message = message.substring(0,message.length()-1) + "!"; } if(!flag){ messageAll += message; } } if("".equals(messageAll)){ putMsg("验证通过!"); this.setPass(true); }else{ putMsg(messageAll); this.setPass(false); } }else{ putMsg("验证通过!"); this.setPass(true); } return null; } }