服务地址
更多资料下载请点--> 蓝凌开发资料大全
http://[IP]:[PORT] /sys/webservice/kmReviewWebserviceService?wsdl
接口简介
外部系统启动审批流程。包含一个服务接口。
addReview(KmReviewParamterForm webForm
- 接口说明
- addReview(KmReviewParamterForm webForm)
- 接口参数webForm信息
序号 | 属性名 | 类 型 | 缺省值 | 描 述 |
1 | docSubject | 字符串(String) | 无 | 文档标题 |
2 | fdTemplateId | 字符串(String) | 无 | 文档模板id |
3 | docContent | 字符串(String) | 无 | 文档的富文本内容 |
4 | formValues | 字符串(Json) | 无 | 流程表单数据 |
5 | docStatus | 字符串(String) | "20" | 文档状态,可以为草稿("10")或者待审("20")两种状态,默认为待审 |
6 | docCreator | 字符串(Json) | 无 | 流程发起人,为单值,格式详见人员组织架构的定义说明 |
7 | fdKeyword | 字符串(Json) | 无 | 文档关键字,格式为["关键字1", "关键字2"...] |
8 | docProperty | 字符串(Json) | 无 | 辅类别,格式为["辅类别1的ID", "辅类别2的ID"...] |
9 | flowParam | 字符串(Json) | 无 | 流程参数 |
10 | attachmentForms | 链表(List<AttachmentForm>) | 无 | 附件列表 |
流程表单数据formValues
流程表单数据是采用Json格式传输,而流程表单原始数据的存储格式为xml,定义在km_review_main表中的extend_data_xml字段里,因此开发人员需要提取出流程表单中输入项的控件ID和控件值,组装成Json格式。其中明细表是按列来设置,格式为"明细表id.列id":["列值1","列值2","列值3"...],每列单独组合成一个集合。
流程参数flowParam的定义
序号 | 属性名 | 类 型 | 缺省值 | 描 述 |
1 | auditNode | 字符串(Json) | 无 | 审批意见 |
2 | futureNodeId | 字符串(Json) | 无 | 流向下一节点的ID,需要人工决策时设置此参数 |
3 | changeNodeHandlers | 字符串(Json) | 无 | 节点的处理人,格式为["节点名1:处理人ID1; 处理人ID2...","节点名2:处理人ID1; 处理人ID2..."...],需要修改处理人时设置此参数 |
说明:
流程参数是采用JSon格式传输,格式为{auditNode:"审批意见", futureNodeId:"节点名", changeNodeHandlers:["节点名1:用户ID1; 用户ID2...", "节点名2:用户ID1; 用户ID2..."...]}。
附件AttachmentForm的定义
序号 | 属性名 | 类 型 | 缺省值 | 描 述 |
1 | fdKey | 字符串(String) | "fdAttachment" | 附件的关键字,富文本模式下为"fdAttachment",表单模式下为附件控件的id |
2 | fdFileName | 字符串(String) | 无 | 附件文件名 |
3 | fdAttachment | 字节数组(byte[]) | 无 | 附件内容,格式为字节编码 |
支持的时间格式
时间字段是采用字符串形式传输,格式为"yyyy-MM-dd HH:mm:ss"或者"yyyy/MM/dd HH:mm:ss"。
人员组织架构的说明
人员组织架构是采用JSon格式传输。
单值的格式为{类型: 值}。
多值的格式为[{类型1: 值1} ,{类型2: 值2}...]。
支持的类型有主键(Id)、编号(PersonNo、DeptNo、PostNo、GroupNo)、登录名(LoginName)、关键字(Keyword)、LDAP(LdapDN),其中Person表示个人,Dept表示机构/部门,Post表示岗位,Group表示群组。
/**
这是在EKP调用websservice生成流程例子
* 创建文档及流程数据
*/
KmReviewParamterForm createForm() throws Exception {
KmReviewParamterForm form = new KmReviewParamterForm();
// 文档模板id
form.setFdTemplateId("131eb0cfd7db55e6980e9ce4985a1387");
// 文档标题
form.setDocSubject("物料采购申请单");
// 流程发起人
form.setDocCreator("{\"PersonNo\": \"00012\"}");
// 文档关键字
form.setFdKeyword("[\"物料\", \"采购\"]");
// 流程表单
String formValues = "{\"fd_2eddbf023c8292\":\"张三\", \"fd_2edd2f83f68242\":\"咨询部\", \"fd_2edd2fa69f6fc6\":\"\", \"fd_2eddbf09f9bc96\":\"2011-10-26\", \"fd_2edd2fb18e7f90\":{\"fd_2edd2fb18e7f90.fd_2eddbef4da4688\":[\"555555\",\"777777\"], \"fd_2edd2fb18e7f90.fd_2edd2fc8001062\":[\"444444\",\"666666\"], \"fd_2edd2fb18e7f90.fdId\":[\"1332472122898ac618f3e22460cab595\",\"13324721228b50c184d82c44ceca5301\"]}}";
form.setFormValues(formValues);
// 流程参数
String flowParam = "{auditNode:\"请审核\", futureNodeId:\"N7\", changeNodeHandlers:[\"N7:1183b0b84ee4f581bba001c47a78b2d9;131d019fbac792eab0f0a684c8a8d0ec\"]}";
form.setFlowParam(flowParam);
List<AttachmentForm> attForms = createAllAtts();
form.getAttachmentForms().addAll(attForms);
return form;
}
/**
* 创建附件列表
*/
List<AttachmentForm> createAllAtts() throws Exception {
List<AttachmentForm> attForms = new ArrayList<AttachmentForm>();
String fileName = "采购订单说明书1.doc";
AttachmentForm attForm01 = createAtt(fileName);
fileName = "采购订单说明书2.doc";
AttachmentForm attForm02 = createAtt(fileName);
attForms.add(attForm01);
attForms.add(attForm02);
return attForms;
}
/**
* 创建附件对象
*/
AttachmentForm createAtt(String fileName) throws Exception {
AttachmentForm attForm = new AttachmentForm();
attForm.setFdFileName(fileName);
// 设置附件关键字,表单模式下为附件控件的id
attForm.setFdKey("fd_2eddbf161a3268");
byte[] data = file2bytes("C:\\" + fileName);
attForm.setFdAttachment(data);
return attForm;
}
/**
* 将文件转换为字节编码
*/
byte[] file2bytes(String fileName) throws Exception {
InputStream in = new FileInputStream(fileName);
byte[] data = new byte[in.available()];
try {
in.read(data);
} finally {
try {
in.close();
} catch (IOException ex) {
}
}
return data;
}