package nc.bs.pub.action;

import java.util.ArrayList;
import java.util.Hashtable;
import java.util.List; import nc.bs.framework.common.NCLocator;
import nc.bs.pub.compiler.AbstractCompiler2;
import nc.itf.arap.payablebill.IPayablebillItf;
import nc.vo.arap.BusiStatus;
import nc.vo.fipub.exception.ExceptionHandler;
import nc.vo.pub.AggregatedValueObject;
import nc.vo.pub.BusinessException;
import nc.vo.pub.CircularlyAccessibleValueObject;
import nc.vo.pub.compiler.PfParameterVO; public class N_F1_APPROVE
extends AbstractCompiler2
{
private Hashtable<String, Object> m_keyHas = null; public Object runComClass(PfParameterVO paraVo)
throws BusinessException
{
try
{
if (paraVo.m_preValueVos == null) {
return null;
}
Object obj = null;
this.m_tmpVo = paraVo; procFlowBacth(paraVo); List<AggregatedValueObject> list = new ArrayList();
for (AggregatedValueObject aggvo : paraVo.m_preValueVos)
{
Integer bill_status = (Integer)aggvo.getParentVO().getAttributeValue("billstatus");
if (bill_status.intValue() == BusiStatus.Audit.getBillStatusSubKind()) {
list.add(aggvo);
}
}
if (list.size() > 0)
{
setParameter("context", list.toArray(new AggregatedValueObject[0]));
Object obj2 = runClass("nc.bs.arap.actions.PayablebillApproveBatchBSAction", "approveVOs", "&context:nc.vo.pub.AggregatedValueObject[]", paraVo, this.m_keyHas);
//add by 陈志锋 2015-12-25 应付单审批通过后 start
if(obj2 != null){
IPayablebillItf iPayablebillItf = NCLocator.getInstance().lookup(IPayablebillItf.class);
AggregatedValueObject[] vos = (AggregatedValueObject[]) obj2;
for (int i = 0; i < vos.length; i++) {
AggregatedValueObject vo = vos[i];
String billclass = (String) vo.getParentVO().getAttributeValue("billclass");
String billstatus = vo.getParentVO().getAttributeValue("approvestatus") + "";
if("yf".equals(billclass) && "1".equals(billstatus)){
iPayablebillItf.insertInfoMiddle(vo);
}
} }
//add by 陈志锋 2015-12-25 应付单审批通过后 end
return obj2;
}
return paraVo.m_preValueVos;
}
catch (Exception ex)
{
throw ExceptionHandler.handleException(getClass(), ex);
}
} public String getCodeRemark()
{
return " arap action script not allowed to modify ,all rights reserved!";
} protected void setParameter(String key, Object val)
{
if (this.m_keyHas == null) {
this.m_keyHas = new Hashtable();
}
if (val != null) {
this.m_keyHas.put(key, val);
}
}
}

  

N_F1_APPROVE的更多相关文章

随机推荐

  1. INPUT输入框灰体提示

    INPUT输入框灰体提示 <input type="text" value='15 words limit' style="color:#999999" ...

  2. hdu 1595 find the longest of the shortest【最短路枚举删边求删除每条边后的最短路,并从这些最短路中找出最长的那条】

    find the longest of the shortest Time Limit: 1000/5000 MS (Java/Others)    Memory Limit: 32768/32768 ...

  3. jquery中 cache: true和false的区别

    true:会读缓存,可能真的到服务器上. 假如上次访问了a.html,第二次的时候得到的是上次访问的a.html的结果,而不是重新到服务器获取. false:会在url后面加一个时间缀,让它跑到服务器 ...

  4. Excel数据导入导出

    1.将sql数据库表中的数据导入到Excel表格里: 方法一.使用StreamWrite对象,这里要注意的是 用“\t”换列,StreamWrite对象的WriteLine方法 一行一行写入. pub ...

  5. 好的git教程

    1.GitHub使用教程for VS2012 http://www.cnblogs.com/yc-755909659/p/3753355.html

  6. Mysql之二

    MySQL的数据类型 SQL接口 标准: ANSI SQL:SQL-86--------SQL-89--------SQL-99---------SQL-03 数据类型 字符型: CHAR(不区分字母 ...

  7. Swif基本语法以及与OC比较三

         (未 经 博 主 同 意,不 得 转 载 !)   ------------------------华丽分割线----------------------- // // main.swift ...

  8. PowerShell中的数学计算

    Double类型和float都属于浮点类型,精度不高.而Decimal属于高精度

  9. C++ stringstream介绍,使用方法与例子

    From: http://www.usidcbbs.com/read-htm-tid-1898.html C++引入了ostringstream.istringstream.stringstream这 ...

  10. UNIX标准化及实现之基本系统数据类型

    历史上,某些UNIX系统变量已与某些C数据类型联系在一起.例如,历史上主.次设备号一直存放在一个16位的短整型中,8位表示主设备号,另外8位表示次设备号.但是,很多较大的系统需要用多于256个值来表示 ...