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. HDU-4675 GCD of Sequence 数学

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4675 题意:给一个大小为N的数列a[i],然后一个数M以及一个数K,要你求得一个数列b[i],其中b[ ...

  2. sqlite 修改表名,合并数据库(文件)

    修改表名:ALTER TABLE orig_table_name RENAME TO tmp_table_name; 将某个数据库的一个表的数据插入到另一个数据库的某个表里:1.先连接数据库A2.再a ...

  3. php做EXCEL数据导出导入开发的一些小问题

    前两天刚刚做开发CRM系统项目,在做要做EXCEL导出导入功能,因为以前做.NET开发用的是NPOI,但可是没找到PHP版本的,所以就网搜找了个国外的开源PHPEXCEL , 一开始只是做了简单的导入 ...

  4. 单独批次性任务采用MySQL定时器解决需求

    有时候我们在开发的时候会遇到一些需求是在某个固定的时间段实现某些特殊功能,只做一次或者有规律的每分钟一次每小时一次,那么这个时候我们可以启用MySQL的定时器来帮忙解决该问题. 比如,有一个场景是要求 ...

  5. HDU2177:取(2堆)石子游戏(威佐夫博弈)

    Problem Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同 ...

  6. android widget的中文文档

    下文是我翻译于 App Widgets的文章,如果有不当之处请大家指出 app widget是一种嵌入在其他应用(例如主屏幕)和并且能偶接受间接性更新的小应用,你可以自己提供app widget pr ...

  7. linux下hexdump和od命令:显示文件十六进制格式

    Linux指令: od 示例用法:  od -c hello Linux指令:      od od命令用户通常使用od命令查看特殊格式的文件内容.通过指定该命令的不同选项可以以十进制.八进制.十六进 ...

  8. SQLMAP实用实例(转)

    sqlmap使用笔记:http://wenku.baidu.com/view/8c507ffcaef8941ea76e055e.html  BT5下使用SQLMAP入侵加脱裤:http://www.m ...

  9. VK Cup 2015 - Finals, online mirror D. Restructuring Company 并查集

    D. Restructuring Company Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/5 ...

  10. WordPress Import 上传的文件尺寸超过php.ini中定义的upload_max_filesize值--&gt;解决方法。

    參考一: WordPress Importer上传导入备份文件时遇到这样一个错误,提示"上传的文件尺寸超过 php.ini 中定义的 upload_max_filesize 值". ...