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的更多相关文章
随机推荐
- ACM2034
/*人见人爱A-BProblem Description参加过上个月月赛的同学一定还记得其中的一个最简单的题目,就是{A}+{B},那个题目求的是两个集合的并集,今天我们这个A-B求的是两个集合的差, ...
- DNN学习
DNN(DotNetNuke)是一个免费.开源.可扩展的内容管理系统,可广泛用于商务网站.企业内网和外网网站.在线内容发布网站.DotNetNuke是微软第一次向开源说"Yes"的 ...
- 常用Raspberry Pi周边传感器的使用教程
在Raspberry Pi 的使用和开发过程中,你可能时常需要一些硬件和传感器等来支持你的开发工作,例如,加入一个超声波测距的模块来让你的Raspberry Pi具备测距功能,加入一个测温模块以实现测 ...
- 现代程序设计homework-02
总体思路 (1)单维数组 单维数组的思路的构建在第一次作业已经完成了,简单来说就是根据贪心策略从头到尾累加,一旦遇到当前累加和变为负数,就将累加和清零,继续遍历数组中的元素,算法的时间复杂度是O(n) ...
- JavaScript的this简单实用
1.默认绑定全局变量,在全局函数中: function fn(){ console.log(this.a); } var a=2; fn();//这里调用的是window 2.隐式绑定: functi ...
- RStudio:R语言编辑器
RStudio:R语言编辑器 四窗口 左上:写代码,运行的方式是ctrl+Enter,或者用Run按钮 10 + 15 ## [1] 25 左下:终端,上面窗口的代码运行后会在这里显示,也可以直接在这 ...
- Java编程 -- 命名规范
转自:http://www.hawstein.com/posts/google-java-style.html#Naming 命名约定 5.1 对所有标识符都通用的规则 标识符只能使用ASCII字母和 ...
- SQLite使用教程8 Insert 语句
http://www.runoob.com/sqlite/sqlite-insert.html SQLite Insert 语句 SQLite 的 INSERT INTO 语句用于向数据库的某个表中添 ...
- 在与SQL Server建立连接时出现与网络相关的或特定于实例的错误
向往前一样.学习牛腩新闻公布系统的视频,写程序,打开数据库.出现一个框框,具体内容例如以下: 数据库连接不上.全部的工作都要歇班,捣鼓了会儿,简单总结一下解决该问题的方法. 首先:第一步,程序--SQ ...
- Ubuntu安装和配置redis
1.用root用户登录 2.执行 sudo apt-get install redis-server 部分截图