可发起指定模板的Html正文流程或表单流程。
接口调用请求说明
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 | 是 | 模板编号,参见Section 2.18.1.1, “关于模板编号” |
token | 是 | 为登录验证后获取的身份令牌 |
senderLoginName | 是 | 发起者的登录名(登录协同的登录名) |
subject | 是 | 协同的标题 |
data | 是 | HTML正文流程为html内容;表单流程为XML格式的表单数据 |
attachments | 否 | 附件,Long型数组,值为附件的Id。 |
param | 否 | 为控制是否流程发送。0:缺省值,发送,进入下一节点的待办(如果需要选人则保存到待发)1:不发送,保存到待发。 |
参数获取说明:
发起表单是多参数,建议组装为MAP传参。
token身份令牌:token在CTPRestClient中已经封装好的,如果要单独获取可如下方式:
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的登录名,如下:
String senderLoginName ="lsm";
templateCode模板编号:对应创建模板时填写的模板编号(即ctp_template表TEMPLETE_NUMBER字段)
String templateCode ="100";
subject协同的标题:发出表单模板对应的标题,如下:
String subject ="申请流程标题";
data表单数据:表单数据信息,REST接口提供了获取已经发送的表单流程XML新方法,请参考Section 2.18.3, “取得流程正文数据”:
注意在获取表单数据XML 需要转换成String.
提供已发表单转String示例:
private CTPRestClient client = null; ... String data = client.get("flow/data/-6074085048046957774", String.class);//-6074085048046957774为已发流程ID
param为控制流程发送.
String param="0";
表单流程通过REST POST创建示例:
private CTPRestClient client = null; MAP info =new HashMap();//存放上述参数 String checkUrl ="flow/"+模板ID; ... client.post(url, info, String.class);
发起HTML正文流程示例1:
Map data = new HashMap() { { put("senderLoginName", "s1"); put("subject", "这个是用Map方式发的"); put("data", "<b style=\"color:red\">正文</b>内容"); put("attachments",new Long[] {-1l,-5199818657160149985l}); } }; Long flowId1 = client.post("flow/H0001" ,data, Long.class);
发起HTML正文流程示例2:
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 | 没有主表记录错误 |