Bos 服务端常用代码(推荐)

来源:互联网 发布:大数据人工智能培训 编辑:程序博客网 时间:2024/05/16 11:07
    /**     * 重写提交方法  这里的参数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 抛出基本业务异常 */@Overrideprotected 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);}

原创粉丝点击