EKP流程启动接口,调用webservice生成流程文档------蓝凌EKP二次开发资料大全 完整蓝凌二次开发资料 蓝凌 EKP开发实战教程 蓝凌OA二次开发培训资料大全

服务地址 

更多资料下载请点-->  蓝凌开发资料大全

http://[IP]:[PORT] /sys/webservice/kmReviewWebserviceService?wsdl

接口简介

外部系统启动审批流程。包含一个服务接口。

addReview(KmReviewParamterForm webForm

  1. 接口说明
    1. addReview(KmReviewParamterForm webForm)
    2. 接口参数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

辅类别,格式为["辅类别1ID", "辅类别2ID"...]

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;
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
蓝凌JS片段是蓝凌办公系统中用于编写脚本的一种方式,通过编写JS片段可以实现自定义业务逻辑。下面是蓝凌JS片段的开发文档: 1. 脚本编写 蓝凌JS片段的编写可以使用任何支持JavaScript语法的编辑器,例如Visual Studio Code、Sublime Text等。编写好脚本后,可以将其保存为.js文件。 2. 脚本上传 蓝凌JS片段可以通过以下两种方式上传: - 在系统管理中心-》自定义脚本-》JavaScript片段中,点击“新建”按钮,将编辑好的脚本复制到编辑框中,保存即可。 - 在表单或流程设置中,找到JS片段相关设置,将编辑好的脚本上传。 3. 脚本调用 上传好脚本后,可以在表单或流程设置中调用。例如,在表单中调用脚本可以使用以下代码: ``` // 引入脚本 var script = loadScript("脚本名.js"); // 调用脚本中的方法 var result = script.methodName(param1, param2, ...); ``` 在流程调用脚本可以使用以下代码: ``` // 引入脚本 var script = loadScript("脚本名.js"); // 调用脚本中的方法 var result = script.methodName(param1, param2, ...); ``` 4. 脚本开发注意事项 - 脚本中不能使用alert()弹出框,会导致系统卡死。 - 脚本中可以使用console.log()输出日志,方便调试。 - 脚本中可以使用系统提供的API,例如表单API、流程API等。 - 脚本中可以使用第三方库,例如jQuery、Lodash等,但需要将库文件上传到系统中,并在脚本中引入。 - 脚本中不能进行跨域请求,只能访问与脚本所在页面同域的资源。 - 脚本中需要注意性能问题,尽量避免在循环中进行复杂的计算或操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值