NC-总结(2)

2019-08-03 12:29

// 联查直接费用确认单,自定义按钮的实现方法

protected void onQueryLmoneyButton() throws BusinessException {

// 获得主键

String StrpkCostcard = getUI().getBillCardPanel().getHeadItem(

HpCostcardVO.PK_COSTCARD).getValueObject().toString();

String[] spkcostbesure = nc.ui.hp.pub.ServiceFactory.getIHPPubService()

.queryCostbesurePk(StrpkCostcard);

// IHPCostBillType.COSTDISTRBUTE_BILL_TYPE 为单据类型,比如TP10 BilltypeVO billTypeVO = PfUIDataCache

.getBillType(IHPCostBillType.COSTDISTRBUTE_BILL_TYPE);

SFQryLinkData linkQueryData = new SFQryLinkData(spkcostbesure); SFClientUtil.openLinkedQueryDialog(billTypeVO.getNodecode(), getUI(),

linkQueryData);

}

5.2联查存货:

protected void onQuerycunhuoButton() throws BusinessException {

if (Toolkit.isEmpty(getUI().getBillCardPanel().getHeadItem(

\).getValueObject())) {

MessageDialog.showErrorDlg(getUI(), \错误\, \该成本卡没有存货,不能进行联查!存货

档案\);

}

SFQryLinkData data = new SFQryLinkData(new String[] { getUI()

.getBillCardPanel().getHeadItem(\).getValueObject().toString() }); return;

}

HPClientUtil.linkQueryInvManDoc(getUI().getParent(), data);

6. 一些按钮

6.1 文档管理按钮

protected void onQueryWordButton() throws Exception { \); }

一些平台提供的方法:nc.ui.am.common.command.support.*

return; String str_corp = \;

str_corp = getUI()._getCorp().getPk_corp(); String strpk_costcard = \;

if (getUI().getBillCardPanel().getHeadItem(\).getValueObject() != null) { }

if (strpk_costcard.equals(\)) {

MessageDialog.showWarningDlg(getUI(), \提示\, \请选择一张成本卡后再使用文档管理! strpk_costcard = getUI().getBillCardPanel().getHeadItem(

\).getValueObject().toString();

} else { }

FileManageUI.showInDlg(getUI(), \成本卡文档管理\/** @res* \文档管理\ */

, \成本卡管理_\ + str_corp + \ + strpk_costcard);

7. 加锁问题

7.1主表字段加锁

在动作脚本中添加 方法的调用

public Object runComClass(PfParameterVO vo) throws BusinessException {

try {

super.m_tmpVo = vo;

// ####本脚本必须含有返回值,返回DLG和PNL的组件不允许有返回值#### Object retObj = null;

// ####重要说明:生成的业务组件方法尽量不要进行修改#### // 方法说明:公共保存方法 // 生成单据号

nc.bs.pub.billcodemanage.BillcodeGenerater gene = new

nc.bs.pub.billcodemanage.BillcodeGenerater();

if (nc.vo.jcom.lang.StringUtil.isEmpty(((String) vo.m_preValueVo }

//保存前先进行加锁判断

runClass(\

\

.getParentVO().getAttributeValue(\)))) {

String billno = gene.getBillCode(vo.m_billType, vo.m_coId,

null, null);

vo.m_preValueVo.getParentVO().setAttributeValue(\,

billno);

}

m_methodReturnHas);

retObj = runClass(\, \,

\, vo, m_keyHas, m_methodReturnHas);

// ################################################# //保存后释放锁

runClass(\

\ m_methodReturnHas);

return retObj;

} catch (Exception ex) { }

if (ex instanceof BusinessException)

throw (BusinessException) ex;

else

throw new PFBusinessException(ex.getMessage(), ex);

被调用的方法如下:

private String[] lockPKs = null;

/**

* @date:2009-3-13

* @see nc.bs.hp.hp020101.CostCardDAO#ISOnelock(nc.vo.pub.AggregatedValueObject) * @author:ZJH

* @TODO:成本卡在保存时先对产品主键加锁,再检查数据库中是否存在相同未结转产品,避免并行

时的重复保存

* @param vo * @throws Exception */

public void ISOnelock(AggregatedValueObject vo) throws BusinessException {

HpCostcardVO item = (HpCostcardVO) vo.getParentVO(); lockPKs = new String[1];

lockPKs[0] = item.getPk_invmandoc(); //如果申请锁失败

if (!PKLock.getInstance().acquireBatchLock(lockPKs,

InvocationInfoProxy.getInstance().getUserCode(), InvocationInfoProxy.getInstance().getUserDataSource()))

throw new BusinessException(\该存货已经存在了一张未结转的成本卡,同一存货只能存

在一张未结转的成本卡!\);

//申请锁成功

else {

if (!(this.ISOne(vo))) {//普通条件判断

PKLock.getInstance().releaseBatchLock(lockPKs,

InvocationInfoProxy.getInstance().getUserCode(), InvocationInfoProxy.getInstance().getUserDataSource());

throw new BusinessException(

\该存货已经存在了一张未结转的成本卡,同一存货只能存在一张未结转

的成本卡!\);

} /**

}

}


NC-总结(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:常州市城北污水处理厂提标改造方案 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: