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

金蝶EAS-网络互斥-功能互斥开发案例.docx

金蝶EAS-网络互斥-功能互斥开发案例.docx_第1页
1/4
金蝶EAS-网络互斥-功能互斥开发案例.docx_第2页
2/4
金蝶EAS-网络互斥-功能互斥开发案例.docx_第3页
3/4
功能互斥是功能级别的锁,它以锁名称作为标志,指的是运行某一功能时,不允许另一功能运行,如过账时不能录入凭证,运行MRP时不能录入采购订单等等。如下需求:采购申请单保存时,采购订单不能提交。采购申请单保存代码:@OverrideprotectedIObjectPK_save(Contextctx,IObjectValuemodel)throwsBOSException,EASBizException{IMutexServiceControlmutexService=MutexServiceControlFactory.getLocalInstance(ctx);/**构造调用参数(执行人、互斥项名称、Action名称、组织等等)*/MutexParameterparam=newMutexParameter();/***对于一次UI操作或一次业务功能操作的请求ID应该只有一个(不管对应多少个互斥量的请求)*(请求ID可以通过UuidrequestId=Uuid.create();获取)*/UuidrequestId=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());/**向服务器递交请求*/MutexParametermutex=mutexService.requestMutex3(param);if(mutex!=null){UserInfouser=UserFactory.getLocalInstance(ctx).getUserInfo(newObjectUuidPK(mutex.getUserID()));thrownewEASBizException(newNumericExceptionSubItem("","此功能已被"+user.getName()+"锁定"));}IObjectPKpk=null;/**执行业务操作*/try{//Thread.sleep(20000);//延时pk=super._save(ctx,model);}catch(Exceptione){e.printStackTrace();}/**业务操作执行完成,释放锁*/mutexService.releaseMutex(param.getRequestId());returnpk;}采购订单提交代码:@OverrideprotectedIObjectPK_submit(Contextctx,IObjectValuemodel)throwsBOSException,EASBizException{IMutexServiceControlmutexService=MutexServiceControlFactory.getLocalInstance(ctx);/**构造调用参数(执行人、互斥项名称、Action名称、组织等等)*/MutexParameterparam=newMutexParameter();/***对于一次UI操作或一次业务功能操作的请求ID应该只有一个(不管对应多少个互斥量的请求)(请求ID可以通过UuidrequestId=*Uuid.create();获取)*/UuidrequestId=Uuid.create();param.setRequestId(requestId);/**互斥量名称*/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());/**向服务器递交请求*/MutexParametermutex=mutexService.requestMutex3(param);if(mutex!=null){UserInfouser=UserFactory.getLocalInstance(ctx).getUserInfo(newObjectUuidPK(mutex.getUserID()));thrownewEASBizException(newNumericExceptionSubItem("","此功能已被"+user.getName()+"锁定"));}IObjectPKpk=null;/**执行业务操作*/try{//Thread.sleep(5000);//延时pk=super._submit(ctx,model);}catch(Exceptione){e.printStackTrace();}/**业务操作执行完成,释放锁*/mutexService.releaseMutex(param.getRequestId());returnpk;}源码:参考资料:

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

金蝶EAS-网络互斥-功能互斥开发案例.docx

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