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的更多相关文章
随机推荐
- 恒天云IaaS基础设施标准
系统总体要求: 支持多种操作系统:支持Windows,Redhat.Suse等Linux操作系统: 支持多种虚拟化系统:支持多种计算资源虚拟化方式: 网络接口:支持千兆及万兆以太网技术: 供电:支持直 ...
- algorithm@ O(3/2 n) time to findmaximum and minimum in a array
public static int[] max_min(int[] a){ //res[0] records the minimum value while res[1] records the ma ...
- POJ3922 A simple stone game
网上有很多解题报告,我的理解就是可以用类似数学归纳的方法证明,就是取一个数,让对手进入必败态. 详细见论文.
- 1000万条数据导入mysql
今天需要将一个含有1000万条数据的文本内容插入到数据库表中,最初自然想到的是使用Insertinto '表名'values(),(),()...这种插入方式,但是发现这种方式对1000万条数据量的情 ...
- ng-cookie 的基本使用
2.angular-cookie - 配置$cookiesProvider ```angular.module("Demo",[]).config(["$cookiesP ...
- vs之Nuget
1.http://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx 2.在Nuget控制台中安装特定版本: Install-Package <程序包 ...
- android 数据存储操作之SQLite
一. SQLite介绍 SQLite是android内置的一个很小的关系型数据库. 二. SQLiteOpenHelper的使用方法 ①SQLiteOpenHelper是一个辅助类来管理数据库的创建和 ...
- C++学习笔记(一):头文件和源文件
说明: 当一个源文件(a.cpp)要调用另一个源文件(b.cpp)定义的方法时,需要在a.cpp中写上这个方法的声明(只需要该方法的名称.返回值和参数,类似Java的接口): 如果每次调用其他文件的方 ...
- RxJava的使用
前言 RxJava及RxAndroid比较详细的介绍可以参考该文档<给 Android 开发者的 RxJava 详解> 基本介绍 ReactiveX 及 RxJava使用大部分来自和参考& ...
- spring读书笔记----Quartz Trigger JobStore出错解决
将Quartz的JOBDetail,Trigger保持到数据库的时候发现,系统报错 The job (DEFAULT.jobDetail) referenced by the trigger does ...