电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

网络互斥-功能互斥开发案例

来源:金蝶云社区作者:金蝶2024-09-223

网络互斥-功能互斥开发案例

功能互斥是功能级别的锁,它以锁名称作为标志,指的是运行某一功能时,不允许另一功能运行,如过账时不能录入凭证,运行MRP时不能录入采购订单等等。

 

如下需求:采购申请单保存时,采购订单不能提交。

 

 

采购申请单保存代码:
@Override

protected IObjectPK _save(Context ctx, IObjectValue model)

throws BOSException, EASBizException {

IMutexServiceControl mutexService = MutexServiceControlFactory

.getLocalInstance(ctx);

/** 构造调用参数(执行人、互斥项名称、Action名称、组织等等) */

MutexParameter param = new MutexParameter();

/**

 * 对于一次UI操作或一次业务功能操作的请求ID应该只有一个( 不管对应多少个互斥量的请求) 

 * (请求ID可以通过Uuid requestId= Uuid.create();获取)

 */

Uuid requestId = Uuid.create();

param.setRequestId(requestId);

/**互斥量名称 互斥的功能MutexName要相同*/

param.setMutexName("采购申请单");

/**Action的名称或业务操作的名称*/

param.setActionName("采购申请单_保存");

/**执行人的ID*/

param.setUserID(ContextUtil.getCurrentUserInfo(ctx).getId());

/**

 * 要操作的业务资料所属的组织ID

 * (可以设置组织也可以不设置,视业务需求而定) */

param.setOrgUnitID(ContextUtil.getCurrentOrgUnit(ctx).getId()); //

/**所要申请的锁的类型*/

param.setMutexLockType(MutexLockType.EXCLUSIVE_LOCK);

/**数据中心*/

param.setDcName(ctx.getAIS());

/**向服务器递交请求*/

MutexParameter mutex = mutexService.requestMutex3(param);

 

if (mutex != null) {

UserInfo user = UserFactory.getLocalInstance(ctx).getUserInfo(

new ObjectUuidPK(mutex.getUserID()));

throw new EASBizException(new NumericExceptionSubItem("", "此功能已被"

+ user.getName() + "锁定"));

}

 

IObjectPK pk = null;

 

/** 执行业务操作 */

try {

//Thread.sleep(20000);// 延时

pk = super._save(ctx, model);

} catch (Exception e) {

e.printStackTrace();

}

/** 业务操作执行完成,释放锁 */

mutexService.releaseMutex(param.getRequestId());

return pk;

}

 

 

采购订单提交代码:

@Override

protected IObjectPK _submit(Context ctx, IObjectValue model)

throws BOSException, EASBizException {

IMutexServiceControl mutexService = MutexServiceControlFactory

.getLocalInstance(ctx);

/** 构造调用参数(执行人、互斥项名称、Action名称、组织等等) */

Mut

网络互斥-功能互斥开发案例

功能互斥是功能级别的锁,它以锁名称作为标志,指的是运行某一功能时,不允许另一功能运行,如过账时不能录入凭证,运行MRP时不能录入采购...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信