1. 开通DB访问工作流引擎的权限

    BEGIN
      DBMS_NETWORK_ACL_ADMIN.create_acl (
        acl          => 'wf_acl_file.xml',
        description  => 'ACL to grant access to WorkFlow engine',
        principal    => 'APEX_190200', 
        is_grant     => TRUE,
        privilege    => 'connect',
        start_date   => SYSTIMESTAMP,
        end_date     => NULL);
     
      DBMS_NETWORK_ACL_ADMIN.assign_acl (
        acl         => 'wf_acl_file.xml',
        host        => '192.168.56.135',
        lower_port  => 8081,
        upper_port  => 8081); 
     
      COMMIT;
    END;
    /
  2. 集成

    1. 读取DB中的BPMN definition

      可读取出xml格式的bpmn文件

      select rpf.key_ , gby.bytes_
        from act_ge_bytearray gby, act_re_procdef rpf
       where gby.deployment_id_ = rpf.deployment_id_
       and rpf.key_ = 'YOUR_KEY' ;

    2. 使用 bpmn-viewer.js 展现流程图
    3. 自定义js高亮当前状态




  3. REST API

    本例使用jQuery与REST API交互

     部署 /deployment/create
    function bpmn_deploy() {
      var xml = decodeURIComponent($('#js-download-diagram').attr('href')).replace('data:application/bpmn20-xml;charset=UTF-8,', '');
      var rest_url = $v("P10090_WORKFLOW_ENGINE_REST_ROOT") + '/deployment/create';
      var request_data = "--gc0p4Jq0M2Yt08jU534c0p678\r\n" +
        'Content-Disposition: form-data; name="deployment-name"\r\n\r\n' +
        $v('P10090_DEPLOYMENT_NAME') + '\r\n--gc0p4Jq0M2Yt08jU534c0p678\r\n' +
        'Content-Disposition: form-data; name="enable-duplicate-filtering"\r\n\r\n' +
        $v('P10090_ENABLE_DUPLICATE_FILTERING') + '\r\n--gc0p4Jq0M2Yt08jU534c0p678\r\n' +
        'Content-Disposition: form-data; name="deploy-changed-only"\r\n\r\n' +
        $v('P10090_DEPLOY_CHANGED_ONLY') + '\r\n--gc0p4Jq0M2Yt08jU534c0p678\r\n' +
        'Content-Disposition: form-data; name="deployment-source"\r\n\r\n' +
        'BCSCM_APEX\r\n--gc0p4Jq0M2Yt08jU534c0p678\r\n' +
        'Content-Disposition: form-data; name="tenant-id"\r\n\r\n' +
        $v('P10090_APPUSER') + '\r\n--gc0p4Jq0M2Yt08jU534c0p678\r\n' +
        'Content-Disposition: form-data; name="data";filename="' + $v('P10090_BPMN_FILENAME') + '"\r\n\r\n' +
        xml + '\r\n--gc0p4Jq0M2Yt08jU534c0p678--';
    
      $.ajax({
        "url": rest_url,
        "method": "POST",
        "timeout": 1000,
        "headers": {
          "Content-Type": "multipart/form-data; boundary=gc0p4Jq0M2Yt08jU534c0p678"
        },
        "data": request_data,
        statusCode: {
          200: function () {
            apex.message.showPageSuccess($v('P10090_DEPLOY_SUCCESS_MSG'));
            setTimeout(function () { 
                apex.navigation.dialog.close(true); 
              }, 
              800        
            );
          }
        },
        // success:function(ret){
        //   alert(JSON.stringify(ret));
        // },
        fail: function (ret) {
          console.log(JSON.stringify(ret));
          apex.message.clearErrors();
          apex.message.showErrors(
            {
              type: 'error',
              location: 'page',
              message: $v('P10090_DEPLOY_FAILED_MSG'),
              unsafe: false
            });
        }
      });
    }
    
    
  4. 3
  5. 4
  6. 5
  7. 7
  8. 6
  9. 6
  10. 6
  11. 6
  12. 6
  13. 6
  14. 6
  15. 6
  16. 6
  • No labels