Bos 服务端常用代码(推荐)
2012-08-30 09:43
260 查看
/** * 重写提交方法 这里的参数IObjectValue model 强制转化为QuaItemModuleInfo 就可以了 */ protected IObjectPK _submit(Context ctx, IObjectValue model) throws BOSException, EASBizException { AuditNoticeInfo info=(AuditNoticeInfo)model; if(!BillState.Save.equals(info.getState())){ throw new EASBizException(new NumericExceptionSubItem("003","只有编制中状态的单据才能提交!")); } return super._submit(ctx, model); } /** * 重写保存、修改方法,model强制转化为QuaItemModuleInfo * */ protected IObjectPK _save(Context ctx, IObjectValue model) throws BOSException, EASBizException { AuditNoticeInfo info=(AuditNoticeInfo)model; if(! BillState.Save.equals(info.getState())){ throw new EASBizException(new NumericExceptionSubItem("002","只有〖编制中〗状态的单据才能修改!")); } return super._save(ctx, model); } /** * 重写删除方法,需要注意的是这里的参数是 ctx,pk而不是model,这里我们首先需要通过工厂类得到一个 * IQuaItemModule对象,然后调用方法得到存放元数据的类 */ protected void _delete(Context ctx, IObjectPK pk) throws BOSException, EASBizException { AuditNoticeInfo info=(AuditNoticeInfo) this._getValue(ctx, pk); if(! BillState.Save.equals(info.getState())){ throw new EASBizException(new NumericExceptionSubItem("002","〖"+info.getState()+"〗状态的单据不能删除!")); } super._delete(ctx, pk); } /** * 审核方法,服务端代码,继承过来重写这个方法 * @Param ctx * @Param billId * @param isPass * @throws 抛出基本业务异常 */ @Override protected void _audit(Context ctx, BOSUuid billID, boolean isPass) throws BOSException, EASBizException { if(billID==null) return; //通过billId获得那个主键pk ObjectUuidPK pk = new ObjectUuidPK(billID); AuditNoticeInfo info=(AuditNoticeInfo)this._getValue(ctx, pk); if(BillState.Save.equals(info.getState())||BillState.Auditing.equals(info.getState())){ ContextHelperSrv srv = new ContextHelperSrv(ctx); info.setAuditor(srv.getCurrentUser()); if(isPass){ info.setState(BillState.AuditPass); }else{ info.setState(BillState.AuditUnPass); } this._update(ctx, pk, info); }else { throw new EASBizException(new NumericExceptionSubItem("001","只有编制中或审批中的状态才可以审核")); } } protected IObjectPK _addnew(Context ctx, IObjectValue model) throws BOSException, EASBizException { return super._addnew(ctx, model); } /** * 反审核 */ protected void _unAudit(Context ctx, BOSUuid billID) throws BOSException, EASBizException { if(billID==null) return; //通过billId获得那个主键pk ObjectUuidPK pk = new ObjectUuidPK(billID); AuditNoticeInfo info=(AuditNoticeInfo)this._getValue(ctx, pk); if(!BillState.AuditPass.equals(info.getState())&& !BillState.AuditUnPass.equals(info.getState())) { throw new EASBizException(new NumericExceptionSubItem("002","只有审核后的状态才可以反审核")); } ContextHelperSrv srv = new ContextHelperSrv(ctx); info.setAuditor(null); info.setState(BillState.Save); this._update(ctx, pk, info); }
相关文章推荐
- 常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
- 软文推荐:常用 Java 静态代码分析工具的分析与比较
- 推荐10个开发者最常用的代码编辑器
- 推荐:让你快速搞定各服务端(api,pc,mobile,wechat)代码
- ASP编程常用的代码推荐
- 32款AJAX ASP.NET服务端控件介绍及代码(推荐)
- 推荐几个常用的Git代码托管平台
- 资讯推荐:常用网页设计效果代码十五例(转)
- 32款AJAX ASP.NET服务端控件介绍及代码(推荐)
- 推荐几款常用在线代码转换工具
- 推荐几款常用在线代码转换工具
- 推荐几款常用在线代码转换工具
- 推荐几款常用在线代码转换工具 推荐
- ASP编程常用的代码推荐
- eas bos常用代码-新增单据,参数传递
- BOS常用代码说明
- eas bos常用代码-新增单据,参数传递
- 推荐几个常用的Git代码托管平台
- 推荐几款常用在线代码转换工具
- ASP编程常用的代码推荐