在审批时通过存储过程动态干预操作结果的配置

业务场景:

在领导审批的时候,点击同意时,可以调用预先指定的存储过程,通过返回不同的结果值,来达到对当前单据的特殊控制,显示特定的提示信息,并影响是否可以正常审批的操作。

实施部署步骤:

1、在“表单流程”中,打开特定流程,打开希望控制的特定节点。

2、在“基本属性”页签的“审批前执行”字段中,写入需要执行的存储过程语句,例如:

exec p_uf_audit_check ‘G_FORM_ID‘,‘其他参数‘

其中:存储过程名称自定;G_FORM_ID表示正在审批的单据BILL_ID;其他参数根据需要设定

3、在“待我处理”页面配置中,“显示配置”页签加入字段“BPROCESS_C_E_VALUE”,设定为不显示。

4、在存储过程中,返回一个指定格式的字符串即可达到不同控制效果,例如:

返回值为:“0|显示内容”    效果为:点击“同意”时,弹出信息框,内容为“显示内容”,有“是,否”按钮,点击是则正常审批通过,点击否则取消审批

返回值为:“1|显示内容”    效果为:点击“同意”时,弹出信息框,内容为“显示内容”,仅有“确定”按钮,点击关闭对话框,不允许审批

代码范例:

CREATE PROC [dbo].[P_UF_AUDIT_CHECK]
@BILL_ID VARCHAR(50),@AVG VARCHAR(MAX)
AS
BEGIN
	DECLARE @RESULT VARCHAR(50)=‘‘

	SET @RESULT=‘0|‘+‘这是提示信息‘

	SELECT @RESULT
END
时间: 2024-11-03 17:24:00

在审批时通过存储过程动态干预操作结果的配置的相关文章

SQL Server创建存储过程——动态SQL

简介: 存储过程(stored procedure)是一组为了完成特定功能的SQL语句集合,经编译后存储在服务器端的数据库中,利用存储过程可以加速SQL语句的执行. 自定义存储过程,由用户创建并能完成某一特定功能的存储过程,存储过程既可以有参数又有返回值,但是它与函数不同,存储过程的返回值只是指明执行是否成功, 存储过程并不能像函数那样被直接调用,只能利用 execute 来执行存储过程. 优点: 1.提高应用程序的通用性和可移植性:存储过程创建后,可以在程序中被多次调用,而不必重新编写该存储过

MySQL数据库存储过程动态表建立(PREPARE)

PREPARE statement_name FROM sql_text /*定义*/ EXECUTE statement_name [USING variable [,variable...]] /*执行预处理语句*/ DEALLOCATE PREPARE statement_name /*删除定义*/ 这是我项目当中用到的,用作参考使用: DELIMITER $$ DROP PROCEDURE IF EXISTS `gpsdata`.`sp_test`$$ CREATE DEFINER=`r

TableView的动态更新操作(无需重新加载数据源)

项目中我们经常会用到TableView展示一个Cell,Cell的数据来源于我们自定义的一个Model类,那么对于TableView我们有以下几种场景. 1. 添加操作: 在该列表页面顶部有一个按钮叫做新建,点击后进入一个新的添加页面,添加完成之后,返回到列表页更新数据. 2. 更新操作:点击列表中cell进入编辑页面,编辑页面其实就是这个Model类中属性的一个展示,对其中某些属性进行更改后,返回到列表页更新数据. 3. 删除操作:点击列表中cell进入编辑页面,该页面有个删除按钮,点击删除按

.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper

.NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper 参考示例代码,如下所示: /// <summary> /// MySql 数据库操作类 /// </summary> public class MySqlHelper { #region MysqlConnection private static MySql.Data.MySqlClient.MySqlConnection _mysqlConnection; /// <su

sqlserver错误&quot;试图扩大物理文件时,MODIFY FILE 遇到操作系统错误 112(磁盘空间不足。)。&quot;处理

正常还原的时候报错: Microsoft SQL-DMO (ODBC SQLState: 42000)---------------------------试图扩大物理文件时,MODIFY FILE 遇到操作系统错误 112(磁盘空间不足.).未能创建一个或多个文件.请考虑使用 WITH MOVE 选项来标识有效位置.RESTORE DATABASE 操作异常终止. 但硬盘空间很足够! -------------------------------------------------------

存储过程动态创建表,以时间给表命名

存储过程动态创建表,以时间给表命名 create or replace procedure create_table as v_sql varchar2(2000); begin v_sql:='create table ' || upper('tablename')|| replace(to_char(sysdate,'yyyy-mm-dd'),'-','')|| replace(to_char(sysdate,'hh24:mi:ss'),':','')|| '( id number prim

ERP中关于审批时速度太慢的SQL优化

在给客户实施ERP的时候,经常遇到客户的请购单审批时,特别慢,一个阶段要转个40.50秒左右,3个阶段就差不多要3分钟,效率很低. 检查方法如下: 1.数据库跟踪语句,找出执行时间较久的语句,结果如下: 2.由上图可以看出,执行该语句的时候,时间差不多是45秒(Drration单位是ms),将此段语句复制出来,进行分析: 3.WFWdd(审批)与WFWddA表数据较多,尤其是WFWddA表有20几万的数据,这是导致查询过慢的主要原因: 解决方案: 给这两张表创建索引,加快查询效率,现提供创建索引

UI控件 UIActivityIndicatorView 等待时出现的动态旋转图,以及自定义颜色

#import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { //    UIActivityIndicatorView  等待旋转 [super viewDidLoad]; UIButton * btn = [[UIButton alloc]initWithFrame:CGRectMake(100, 100, 140,

mysql存储过程动态执行SQL

CREATE PROCEDURE feeMonth(in fmark varchar(200),in fuser char(32),in ftime BIGINT,in fmonth char(6)) BEGIN #定义SQL变量 declare create_sql varchar(100); declare sel_sql varchar(100); declare del_sql varchar(100); declare fmon varchar(100); #定义表名变量 declar