<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## **發起表單(Html正文)流程** [文檔鏈接](http://open.seeyon.com/book/ctp/restjie-kou/biao-dan-liu-cheng-ji-cheng.html). 可發起指定模板的Html正文流程或表單流程。 ### **推薦使用接口(Since:V80sp1)** **接口請求說明:** ``` http請求方式:POST http://ip:port/seeyon/rest/bpm/process/start ``` **示例:** ```java Map<String, Object> map = new HashMap<String, Object>(); map.put("appName", "collaboration"); Map<String, Object> data1 = new HashMap<String, Object>(); data1.put("templateCode", "asss_001"); data1.put("draft", "0"); data1.put("attachments", new ArrayList<Long>() {{add(3128081619541315193l); add(-1686961755437117824l);}}); data1.put("relateDoc", "col|-2871660587841141706,-1609894079662438907"); data1.put("subject", "aaa1"); Map<String, Object> data2 = new HashMap<String, Object>(); data2.put("formmain_0018", new HashMap<String, Object>(){{put("申請人", "saa"); put("車牌號", "ddd");}}); data1.put("data", data2); map.put("data", data1); Map result = client.post("bpm/process/start" ,map); ``` **傳入參數說明:** | 參數 | 是否必須 | 說明 | | --------------- | ---- | ---------------------------------------- | | appName | 是 | 應用類型 | | data | 是 | data參數 | **data參數** | 參數 | 是否必須 | 說明 | | ------------ | -------- | ------------------------------------------------------------ | | templateCode | 是 | 模板編號,參見[表單正文流程模板編號](#表單正文流程模板編號) | | draft | 是 | 是否為待發:0:新建-發送;1:新建-保存待發 | | attachments | 否 | 協同標題區附件,Long型List,值為附件的Id。Id是附件接口響應結果中fileUrl字段的值。 | | relateDoc | 否 | 協同公文的id | | subject | 否 | 未設置取模板設置的標題 | | data | 否 | 表單data參數 | | useNewDataStructure | 否 | 是否使用新的表單數據格式 | | doTrigger | 否 | 是否執行觸發 | **表單data參數** | 參數 | 是否必須 | 說明 | | ---------------- | -------- | ------------------------------------------------------------ | | formmainxxx | 是 | 表單字段數據,json格式:key字段顯示名稱,value字段值(如果是cap4的附件控件,則value為附件的相關信息) | | formsonxx1 | 是 | 數組結構,參考主表 | | thirdAttachments | 否 | CAP4附件參數 | | changedFields | 否 | 參與計算的字段 | **thirdAttachments參數說明** | 參數 | 是否必須 | 說明 | | ------------ | -------- | ----------------------- | | subReference | 是 | 對應的附件字段的value值 | | fileUrl | 是 | 上傳的附件ID | | sort | 是 | 附件排序 | **請求參數示例:** ``` { "appName": "collaboration", "data": { "data": { "formmain_0177": { "文本1": "測試文本1-111", "上傳附件1": "3091996204880318295", "圖片下拉1": "-2767075386175501632" }, "formson_0185": [ { "圖片下拉2": "-2767075386175501632", "上傳附件2": "-6092561120937621142" } ], "thirdAttachments": [ { "subReference": "3091996204880318295", "fileUrl": "432641077895385013", "sort": 1 }, { "subReference": "-6092561120937621142", "fileUrl": "355134930180197101", "sort": 1 } ], "changedFields":{ "formmain_0177":["選人1","文本1"], "formson_0185":["選人2"] } }, "templateCode": "ABC1111", "draft": "0", "attachments": [ 123456, 123457 ], "relateDoc": "col|123,456;doc|321,654", "subject": "", "useNewDataStructure": false, "doTrigger": true } } ``` ### **請求表單參數說明(@Since v8.0sp2)** **masterTable的結構** | 參數 | 類型 | 是否必填 | 說明 | | ------------- | --------- | -------- | ------------ | | name | String | 是 | 數據庫表名稱 | | record | Object | 是 | 記錄的數據 | | changedFields | String[] | 否 | 需要計算的字段 | **masterTable—record的結構** | 參數 | 類型 | 是否必填 | 說明 | | ------ | -------- | -------- | -------- | | id | long | 是 | 數據id | | fields | Object[] | 是 | 包含字段 | **masterTable—record—fields的結構** | 參數 | 類型 | 是否必填 | 說明 | | --------- | ------ | -------- | -------------- | | name | String | 是 | 數據域名稱 | | value | String | 是 | 數據值(優先) | | showValue | String | 是 | 顯示值 | **subTables的結構** | 參數 | 類型 | 是否必填 | 說明 | | ------- | -------- | -------- | -------------- | | name | String | 是 | 數據庫表名稱 | | records | Object[] | 是 | 包含的所有數據 | | changedFields | String[] | 否 | 需要計算的字段 | **subTables—records的結構** | 參數 | 類型 | 是否必填 | 說明 | | ----------- | -------- | -------- | -------- | | id | long | 是 | 數據id | | fields | Object[] | 是 | 包含字段 | **subTables—records—fields的結構** | 參數 | 類型 | 是否必填 | 說明 | | --------- | ------ | -------- | -------------- | | name | String | 是 | 數據域名稱 | | value | String | 是 | 數據值(優先) | | showValue | String | 是 | 顯示值 | **請求參數示例(@Since v8.0sp2):** ``` { "appName": "collaboration", "data": { "data": { "masterTable":{ "name":"formmain_0019", "record":{ "id":123456789101, "fields":[ { "name":"field0001", "value":"", "showValue":"create" }, { "name":"field0002", "value":"", "showValue":"one" } ] }, "changedFields": ["field0001","field0002"] }, "subTables": [ { "name":"formson_0021", "records": [ { "id": 123456789101, "fields": [ { "name":"field0005", "value":"", "showValue":"cap" } ] } ], "changedFields": ["field0005"] } ] }, "templateCode": "SOAP01", "draft": "0", "subject": "又試1下", "useNewDataStructure": true, "doTrigger": true } } ``` **返回數據:** ``` java { "code" : 0, "data" : { "workitems" : [ { "nodeName" : "節點姓名", "userLoginName" : "loginName", "id" : "6063271658185834554", "userName" : "用戶姓名", "nodeId" : "15940211100644", "userId" : "5647565013925644425" } ], "app_bussiness_data" : "{\"affairId\":\"-7826004588359563757\",\"summaryId\":\"2076716881761815485\"}", "processId" : "5724125432261003059", "subject" : "aaa1", "errorMsg" : "" }, "message" : "" } ``` **返回參數說明:** | 參數 | 說明 | | --------------- |---------------------------------------- | | code | 返回碼 | | nodeName | 節點名稱 | | userLoginName | 登錄名 | | id | wf_workitem_run.id | | userName | 用戶名 | | nodeId | 節點ID(ctp_affair.activity_id) | | userId | 人員ID | | affairId | 事項ID | | summaryId | 協同ID | | processId | 流程ID(ctp_affair.process_id) | | subject | 標題 | ### **過時接口(V61update)** 注意V6.1此接口支持直接傳入JSON數據格式。 **接口請求說明:** ``` http請求方式:POST http://ip:port/seeyon/rest/flow/{templateCode} 例如: http://127.0.0.1/seeyon/rest/flow/A0001 ``` **參數說明:** 發起表單流程所需要參數,可以參考文檔【**BPM集成**】中的【public ServiceResponse launchFormCollaboration(String token, String senderLoginName, String templateCode, String subject, String data, Long[] attachments, String param) throws ServiceException;】; | 參數 | 是否必須 | 說明 | | --------------- | ---- | ---------------------------------------- | | templateCode | 是 | 模板編號,參見[表單正文流程模板編號](#表單正文流程模板編號) | | token | 是 | 為登錄驗證后獲取的身份令牌 | | senderLoginName | 是 | 發起者的登錄名(登錄協同的登錄名) | | subject | 是 | 協同的標題 | | data | 是 | HTML正文流程為html內容;[取得流程正文數據](#取得流程正文數據)支持傳入json格式數據 | | attachments | 否 | 附件,Long型List,值為附件的Id。Id是附件接口響應結果中fileUrl字段的值。 | | param | 否 | 為控制是否流程發送。0:缺省值,發送,進入下一節點的待辦(如果需要選人則保存到待發)1:不發送,保存到待發。 | | transfertype | 否 | (V6.1增加)data格式,xml:表示data為XML格式;json:表示data為json格式 | | formContentAtt | 否 | (V6.1增加) 表單附件 組件傳入ID參數 | | accountCode | 否 | (V6.1增加)發起人單位編碼(用于發起人兼職多單位情況,用不同單位角色發起流程) | **參數獲取說明:** 發起表單是多參數,建議組裝為MAP傳參。 token身份令牌:token在CTPRestClient中已經封裝好的,如果要單獨獲取可如下方式: ```java private CTPRestClient client = null; CTPServiceClientManager clientManager = CTPServiceClientManager.getInstance("http://127.0.0.1"); client = clientManager.getRestClient(); ... String token = client.get("token/" + userName + "/" + password, String.class,"text/plain"); ``` senderLoginName發起者的登錄名:發起者登錄OA的登錄名,如下: ```java String senderLoginName ="lsm"; ``` templateCode模板編號:對應創建模板時填寫的模板編號(即ctp_template表TEMPLETE_NUMBER字段) ```java String templateCode ="100"; ``` subject協同的標題:發出表單模板對應的標題,如下: ```java String subject ="申請流程標題"; ``` data表單數據:表單數據信息,REST接口提供了獲取已經發送的表單流程XML新方法,請參考[取得流程正文數據](#取得流程正文數據) 注意在獲取表單數據XML 需要轉換成String 提供已發表單轉String示例: ```java private CTPRestClient client = null; ... String data = client.get("flow/data/-6074085048046957774", String.class);//-6074085048046957774為已發流程ID ``` **V6.1表單流程正文數據支持JSON格式,示例如下:** ```java string data ="{"field1":"主表數據1","field2":"主表數據2",sub:[{"field3":"從表數據3","field4":"從表數據4","field5":"從表數據5"},{"field6":"從表數據6"},{"field10":"從表數據10","field11":"從表數據11"}]}"; ``` 注意:這里sub代表從表數據,而field1等字段信息是對應【流程表單制作】-【基礎設置】中控件的【名稱】字段 **表單流水號場景:** 現在發起流程接口只支持【計算流水號】 1.新建流水號:創建流水號:表單應用-流水號管理; 2.模板設置流水號:表單應用-流程表單設置-流程表單制作-選擇控件-計算公式設置-系統數據域中選擇流水號 **表單附件組件場景:** 1.獲取附件ID:通過上傳接口獲得【注意:如果2個表單附件控件都是同一個附件,也需要上傳2次,獲取不同的ID,而不能2個表單附件控件共用一個附件ID】 2.發起接口XML/json數據中設置附件ID; 3.需要formContentAtt重設置附件ID; ```java List<Long> formcontentatt=new ArrayList();//表單正文組件ID,這里需要注意,就算三個正文組件上傳的同一個文件,這個文件也需要通過上傳接口上傳三次,而給予表單控件三個不同的附件ID,不能一個ID給多個表單組件 res.put("formContentAtt",formcontentatt);//表單附件組件 ``` > **CAP4表單附件組件場景更正(Since V8.0,僅支持CAP4表單)** > > 更正說明:由于原有結構不支持控件多個附件或者附件無法添加到表單中的場景,因此接口請求增加*formContentAtt*參數,參數為數組格式,說明如下: > > | 參數名 | 說明 | > | ------------ | ----------------------------------------- | > | subReference | 表單內字段value值,如“上傳附件1”的value值 | > | fileUrl | 調用附件上傳接口獲取的附件ID | > | sort | 附件排序 | > > > **CAP4表單附件組件更正調用示例** > > ``` > { > "data":?{ > "文本1":?"示例", > "上傳附件1":?"8451540374587001174" > }, > "subject":?"示例", > "senderLoginName":?"seeyon", > "transfertype":?"json", > "formContentAtt":[ > { > "subReference":8451540374587001174, > "fileUrl":-7390855572027915259, > "sort":1 > }, > { > "subReference":8451540374587001174, > "fileUrl":-7390855572027915268, > "sort":2 > } > ] > } > > ``` > param為控制流程發送. ```java String param="0"; ``` 表單流程通過REST POST創建示例: ```java private CTPRestClient client = null; MAP info =new HashMap();//存放上述參數 String checkUrl ="flow/"+模板ID; ... client.post(url, info, String.class); ``` 發起HTML正文流程示例1: ```java Map data = new HashMap() { { put("senderLoginName", "s1"); put("subject", "這個是用Map方式發的"); put("data", "正文內容"); put("attachments",new Long[] {-1l,-5199818657160149985l}); put("formContentAtt",formcontentatt);//表單附件控件 } }; Long flowId1 = client.post("flow/H0001" ,data, Long.class); ``` 發起HTML正文流程示例2: ```java Long flowId2 = client .post("flow/H0001", "{"senderLoginName":"s1","subject":"這是用JSON發的","data":"HTML正文","attachments":[-1,1]}", Long.class); ``` **返回說明** 正常情況下,返回創建成功以后對應的流程Id。 返回異常說明: | 異常編碼 | 異常說明 | | ----- | -------------------- | | 12005 | 無效的token,請再次驗證 | | 21011 | 單位名稱不能為空或不存在 | | 25001 | 職務級別不存在 | | 25002 | 職務級別名稱為空 | | 25003 | 職務級別已存在 | | 23023 | 部門名稱為空 | | 23024 | 父部門名稱為空 | | 23025 | 部門已存在 | | 24001 | 崗位不存在 | | 24002 | 崗位名稱為空 | | 24003 | 崗位已存在 | | 22129 | 設置人員的所屬部門出錯 | | 22011 | 人員登錄名為空 | | 50126 | 按登錄名查找發起人出錯 | | 50121 | 表單不存在 | | 50122 | 無表單權限 | | 50123 | 無流程表單導入出錯 | | 50124 | XML解析失敗 | | 50125 | 模板不存在 | | 50126 | 無模板訪問權限 | | 50127 | 非表單正文內容 | | 50128 | 不是無流程表單,請檢查模板編號是否正確 | | 50129 | 模板為非流程模板,請檢查模板編號是否正確 | | 31013 | 指定流程不存在 | | 50130 | 此表單已經停用 | | 50131 | 無輸入字段 | | 50132 | 日期格式錯誤 | | 50133 | 沒有主表記錄錯誤 |
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看