InvoiceCancelSendApAction
package nc.ui.pu.m25.action; import java.awt.event.ActionEvent; import nc.bs.framework.common.NCLocator;
import nc.itf.arap.payablebill.IPayablebillItf;
import nc.itf.scmpub.reference.uap.group.SysInitGroupQuery;
import nc.ui.pubapp.pub.common.context.PFlowContext;
import nc.ui.pubapp.uif2app.actions.pflow.ScriptPFlowAction;
import nc.ui.scmpub.action.SCMActionInitializer;
import nc.ui.uif2.UIState;
import nc.vo.ml.NCLangRes4VoTransl;
import nc.vo.pu.m25.entity.InvoiceVO;
import nc.vo.pu.m25.enumeration.InvoiceBillAction;
import nc.vo.pu.m25.env.InvoiceUIToBSEnv;
import nc.vo.pub.AggregatedValueObject;
import nc.vo.pub.lang.UFBoolean;
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
import nc.vo.pubapp.pflow.PfUserObject; import org.apache.commons.lang.ArrayUtils; public class InvoiceCancelSendApAction
extends ScriptPFlowAction
{
private static final long serialVersionUID = 4553662148501234750L; public InvoiceCancelSendApAction()
{
SCMActionInitializer.initializeAction(this, "CancelToAP");
} public void doAction(ActionEvent e)
throws Exception
{
if (!SysInitGroupQuery.isAPEnabled()) {
ExceptionUtils.wrappBusinessException(NCLangRes4VoTransl.getNCLangRes().getStrByID("4004050_0", "04004050-0001"));
}
super.doAction(e); //add by@陈志锋 2015-12-26 取消应付单时更新中间表状态字段 begin
InvoiceVO vo = (InvoiceVO)getModel().getSelectedData();
Object[] vos = getModel().getSelectedOperaDatas();
IPayablebillItf itf = NCLocator.getInstance().lookup(IPayablebillItf.class);
for (int i = 0; i < vos.length; i++) {
InvoiceVO objVO = (InvoiceVO) vos[i];
if(objVO != null){
String pk = objVO.getParent().getPrimaryKey();
itf.deteleInfoMiddle(pk);
}
}
//add by@陈志锋 2015-12-26 取消应付单时更新中间表状态字段 end } protected void beforeCheck(Object vo)
{
super.beforeCheck(vo);
} protected void fillUpContext(PFlowContext context)
{
super.fillUpContext(context);
AggregatedValueObject[] vos = context.getBillVos();
if (ArrayUtils.isEmpty(vos)) {
return;
}
PfUserObject[] usrObjs = new PfUserObject[vos.length];
PfUserObject usrObj = new PfUserObject();
InvoiceUIToBSEnv env = new InvoiceUIToBSEnv();
env.setTrigger(InvoiceBillAction.CANCELSENDAP);
env.setBManual(UFBoolean.TRUE);
usrObj.setUserObject(env);
for (int i = 0; i < usrObjs.length; i++) {
usrObjs[i] = usrObj;
}
context.setUserObjs(usrObjs);
} protected boolean isActionEnable()
{
boolean isEnable = true;
isEnable &= ((UIState.NOT_EDIT == getModel().getUiState()) && (null != getModel().getSelectedData()));
if (isEnable)
{
InvoiceVO vo = (InvoiceVO)getModel().getSelectedData();
Object[] vos = getModel().getSelectedOperaDatas(); isEnable &= ((vo.getParentVO().getBapflag().booleanValue()) || ((null != vos) && (1 < vos.length)));
}
return isEnable;
}
}
InvoiceCancelSendApAction的更多相关文章
随机推荐
- 广州大学华软软件学院——NA视频下载
准备工具: 360极速浏览器(不要认错图标了): 浏览器视频下载插件: 第一步:安装浏览器插件 1.打开浏览器 2.解压,找到插件文件: 3.把插件拖到浏览器中: 4.添加,然后就完成了插件安装 查看 ...
- 【转载】计算机视觉(CV)前沿国际国内期刊与会议
计算机视觉(CV)前沿国际国内期刊与会议这里的期刊大部分都可以通过上面的专家们的主页间接找到1.国际会议 2.国际期刊 3.国内期刊 4.神经网络 5.CV 6.数字图象 7.教育资源,大学 8.常见 ...
- _int、NSInteger、NSUInteger、NSNumber的区别和联系
1.首先先了解下NSNumber类型: 苹果官方文档地址:https://developer.apple.com/library/ios/documentation/Cocoa/Reference/F ...
- React-native 中的触摸响应功能
我们在做APP的时候,与桌面应用系统不同的是触摸响应. web页面对触摸响应的支持和原生的APP有着很大的差异. 基本用法 componentWillMount: function() { this. ...
- httpClient模拟浏览器发请求
一.介绍 httpClient是Apache公司的一个子项目, 用来提高高效的.最新的.功能丰富的支持http协议的客户端编程工具包.完成可以模拟浏览器发起请求行为. 二.简单使用例子 : 模拟浏览器 ...
- 【不积跬步,无以致千里】Linux下启动Oracle服务和监听程序
oracle数据库是重量级的,其管理非常复杂,将其在linux平台上的启动和关闭步骤整理一下. 安装完毕oracle以后,需要创建oracle系统用户,并在/home/oracle下面的.bash_p ...
- SCOM随笔
1.在监控群集资源时,安装完agent后,在代理管理-agent属性中选中“允许此代理充当代理并发现其他计算机上的托管对象” 如果监控DC的话,也要选中该选项
- 最近看了点C++,分享一下我的进度吧!
#include <iostream> #include <cmath> #include <iomanip> using namespace std; //Stu ...
- NYOJ109 数列转换 【守恒法】
数列转换 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描写叙述 有一个数列a1,a2,a3...an,每次能够从中随意选三个相邻的数ai-1 ,ai , ai+1 ,进行例 ...
- .NET分布式事务处理总结【下】 - 包含MSMQ的分布式事务处理
转自:http://www.cnblogs.com/daxnet/archive/2011/03/15/1984995.html .NET直接提供对MSMQ的访问支持,只需要添加System.Mess ...