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的更多相关文章
随机推荐
- HW6.29
public class Solution { public static void main(String[] args) { int count = 0; int[] card = new int ...
- C# 多个个Dictionary合并更优雅的写法
Dictionary 现在有两个Dictionary的对象,想把两个对象的中数据合并成一个. 使用for循环的话觉得非常不合适,于是考虑是否有相应的方法,网上找了很多,都是for循环,最后终于找到了一 ...
- notepad 如何同时选中同一列的数据 Alt
有时会经常遇到这种情况, 我们要选中数据中的某一列,这个在记事本中是实现不了的,不过我们可以用更高级一点的编辑器. 使用notepad可以帮助我们解决这个问题哦! 操作方法就是 按下ALT键 然后再去 ...
- Android实例-利用WebBrowser实现浏览器(XE8+小米2)
结果: 1.网络好的情况下,打开很快,很流畅. 2.地址栏真心不好使,如果真要做应用,这块必须自己优化一下. 实例代码: unit Unit1; interface uses System.SysUt ...
- Android实例-如何使用系统剪切板(XE8+小米2)
结果: 发现个问题,就是粘贴时会清除之前的信息. unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, S ...
- 通过dbcc page来查看表中的数据
--1.先建表 CREATE TABLE test(idd INT NOT NULL,name VARCHAR(10) NULL) INSERT INTO TEST SELECT 1,'abcdefg ...
- 测试JS基本类型以及对象的引用
自己敲的. 1 <script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js&qu ...
- 在ubuntu上面配置nginx实现反向代理
1.下载nginx 官网:http://nginx.org/en/download.html 直接在服务器上下载 wget http://nginx.org/download/nginx- ...
- cocos2d-x 纹理研究
转自:http://blog.csdn.net/qq51931373/article/details/9119161 1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要 ...
- Codeforces Round #324 (Div. 2) B. Kolya and Tanya 快速幂
B. Kolya and Tanya Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/584/pro ...