日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

maximo 工作流实现代码

發布時間:2025/4/14 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 maximo 工作流实现代码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要實現效果:已發出的工作流,誰都不可以修改流程里的單子(可以查看,不可以保存),除了特殊權限的人(maxadmin),或狀態為審核不通過(即,返回給申請人);已發出且未結束的工作流,審批人(節點接收人)必須添加自己的審批意見。

AppBean類

public int SAVE() throws MXException, RemoteException { ?

  MboRemote mr = getMbo();// 獲取主表對象 ?

  MboSetRemote msr = mr.getMboSet("zzid");// 通過關聯關系獲取子表對象,zi表 ?

  MboSetRemote msrsp = mr.getMboSet("zhushenpi");// 通過關聯關系獲取子表對象,zhushenpi主子表的關聯關系名

?   String loginPerson = getMbo().getUserInfo().getPersonId();// 得到當前登錄人的名字 ?

  String zhuStatus = mr.getString("status"); // 得到主表里的審批狀態,status為主表里存儲狀態的字段

?   //hasAuth()方法判斷是夠有權限修改保存單子 ?

  if (!hasAuth()) { // 當hasAuth()返回為false時,沒有權限修改單子 ??

    throw new MXApplicationException("您沒有權限修改此計劃單子", ""); ?

  }

  //判斷是否要添加審批意見

  else if (!(zhuStatus.equals("新建") || zhuStatus.equals("審批不通過"))) {//單子在審批人這里時,不需要有審批意見?

    //此時需要有審批意見,如果JZSHENPI表為空,說明沒有審批意見,則提示??

    if (!msrsp.isEmpty()) {?

       for (int i = 0; i < msrsp.count(); i++) { ????

          // 當前登錄人在審批表里有沒有記錄,當前審批表里的狀態和主表里的狀態是不是一致的 ????

          if (!(loginPerson.equalsIgnoreCase(msrsp.getMbo(i) .getString("SHENPIREN")) &&

?????????           zhuStatus.equalsIgnoreCase(msrsp.getMbo(i).getString( "SHENPISTATUS")))) { ?????

            msrsp.setValue("HASLD", false, 11L);

?????         throw new MXApplicationException("還沒有填寫你的審批意見", ""); ????

          } ???

        } ??

       } else { ???

         throw new MXApplicationException("還沒有填寫你的審批意見", ""); ??

       } ?

     }

?   if (!msr.isEmpty()) { ??

     mr.setValue("allout", msr.sum("outmoney")); ??

     mr.setValue("allin", msr.sum("inmoney")); ?? mr.setValue("yue", msr.sum("gerenyue")); ?

  } ?

    return super.SAVE();

  }

  // 這個方法判斷當前登錄人的權限

   public boolean hasAuth() throws MXException, RemoteException { ?

    MboRemote thisMbo = getMbo(); // 得到主表對象 ?

    String tableId = thisMbo.getName() + "id"; // 得到主表的id字段名 ?

    long codeid = thisMbo.getLong(tableId);// 通過字段名得到這個字段的值,這字段是long類型 ?

    String status = thisMbo.getString("status");// 通過字段名去得到該字段的值 ?

    String personid = thisMbo.getUserInfo().getPersonId();// 得到當前登錄人的名字 ?

     if (personid.equalsIgnoreCase("maxadmin")) { // 如果登陸人是maxadmin(或者其他有權限的人),返回true,可以修改單子 ??

        return true; ?

     } ?

  // 如果這個app名是prplan并且登錄人是jianglei,返回true,可以修改單子(prplan這個應用程序也綁定了這個類,jainglei是特殊權限的) ?

/*?* if ((this.app.getApp().toString().equalsIgnoreCase("PRPLAN")) && (personid.equalsIgnoreCase("jianglei"))) {

      return true;

    } ?? */

? // 如果這個單子的狀態是“新建”或者“wappr(表示初始狀態)”,返回requestedby字段值和登陸人的比較結果,如果相同,可以修改單子//如果有其他可以修改單子的狀態可以再加上

  if ((status.equals("新建")) || (status.equals("WAPPR"))) { ??

    return thisMbo.getString("createby").equalsIgnoreCase(personid); ?

  } ?

   if(status.equals("取消操作")){??? //如果是創建人取消了操作(結束流程),那么就誰都不可以進行任何操作 ??

    return false; ?

  } ?

// 根據后面的條件從wfinstance表里得到對應的MboSet,==》查有沒有符合下列條件的流程 ? //wfinstance表是保留流程實例信息的

  MboSetRemote woinstance = thisMbo.getMboSet("instance", "WFINSTANCE", ??? "ownertable='" + thisMbo.getName() + "' and ownerid='" + codeid ?????       ???????????? + "' and active = 1"); // active = 1表示這個流程是活動的(在流程中,已經開始還沒有結束)??

// 如果這個MboSet為空,直接跳過if,如果不為空,則執行if里面的代碼 ?

  if (!woinstance.isEmpty()) { ??

     String sql = "ownerid='" + codeid + "' and ownertable='"? + thisMbo.getName()?+ "' and assignstatus='ACTIVE' and assigncode='" + personid ???? + "'";// assigncode='" + personid + "'" ??

    // 根據sql條件從wfassignment表里得到一個MboSet,==》查找這個流程里有沒有這個人

    MboSetRemote mbosetremote = thisMbo.getMboSet("assigncode",? "WFASSIGNMENT", sql); ??

    ??? return !mbosetremote.isEmpty(); ?

} ?

  // 返回requestedby字段值和登陸人的比較結果,如果相同,可以修改單子 ?

  return thisMbo.getString("createby").equalsIgnoreCase(personid);

  }

?

?

?

如果有判斷不嚴謹的地方,請大家留言提出,謝謝!

轉載于:https://www.cnblogs.com/hanyuqin/p/3683077.html

總結

以上是生活随笔為你收集整理的maximo 工作流实现代码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。