N_F1_APPROVE
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的更多相关文章
随机推荐
- python app progs
- Android实例-如何使用系统剪切板(XE8+小米2)
结果: 发现个问题,就是粘贴时会清除之前的信息. unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, S ...
- 函数 stat() 详解
先看看MSDN的解釋: stat(): Get status information on a file. Parameters: path: pointer to a string con ...
- Redis集群的使用测试(Jedis客户端的使用)
Redis集群的使用测试(Jedis客户端的使用)1.Jedis客户端建议升级到最新版(当前为2.7.3),这样对3.0.x集群有比较好的支持.https://github.com/xetorthio ...
- RStudio:R语言编辑器
RStudio:R语言编辑器 四窗口 左上:写代码,运行的方式是ctrl+Enter,或者用Run按钮 10 + 15 ## [1] 25 左下:终端,上面窗口的代码运行后会在这里显示,也可以直接在这 ...
- android应用程序fps meter[帧数显示]的分析 —— 浅谈root的风险 (3)
上节已经详细说了下注入过程,最后寄生进程在宿主进程中下了个蛋,这下完的蛋有什么作用呢?接下来再具体分析一下. lib0的感染过程分析 对于本例注入的so动态库,首先看一下so的符号: $ readel ...
- [转]SpringMVC日期类型转换问题三大处理方法归纳
http://blog.csdn.net/chenleixing/article/details/45190371 前言 我们在SpringMVC开发中,可能遇到比较多的问题就是前台与后台实体类之间日 ...
- 作为平台的Windows PowerShell(二)
在此系列文章的前一篇,我们看到了怎样使用System.Management.Automation.PowerShell 类来在c#应用程序中运行PowerShell 命令.在那些例子中,我们创建的都是 ...
- 【52】写了placement new也要写placement delete
1.Widget* pw = new Widget; 调用了两个方法:第一个方法是operator new 负责分配内存:第二个方法是在分配的内存上构造Widget,即调用Widget的default ...
- html中#include file的使用方法
有两个文件a.htm和b.htm,在同一文件夹下a.htm内容例如以下 <!-- #include file="b.htm" --> b.htm内容例如以下 今天:雨 ...