自动发送特定信息到首页公告栏功能的配置

业务场景:

用户每次登录系统时,在首页公告栏以及右下角弹出窗口处可以收到系统自动发送的消息,此消息内容可以根据不同业务需要定制发送内容,接收人,接收时间等等,非常灵活有效。

基本原理:

通过向T_TIPS表中写入特定数据,即可达到发送自定义消息功能。需要说明的是,写入这个表中的数据并不是立刻发送的,而是根据表中的发送日期字段来判定,当前日期已经超过设定的发送日期才会发送。因此主要用于在未来某个时间点发送预期的消息。

实施部署步骤:

1、创建自定义标量值函数dbo.FVGetIfSendTips(BILL_NO,USER_ID),作用是判断是否已经发送过消息,输入参数为单号和用户,返回值为字符“Y、N”

2、创建发送消息的存储过程dbo.P_UF_AUTO_TIPS,作用是根据不同业务场景,写入T_TIPS表,达到定时发送的目的。此存储过程可以要参数或者不要参数,如果加上BILL_ID参数,则可以指定对某张单发送消息。不要参数,则可以统一发送消息。

3、根据需要,可以在不同的地方调用存储过程,比如审批流程节点中,在特定节点审批后发送;或者放到数据库计划任务中,每天自动发送一批。

代码范例:

--检查是否已经发送消息
create FUNCTION [dbo].[FVGetIfSendTips]
(
	@BILL_NO VARCHAR(50)
	,@USER_ID VARCHAR(50)
)
RETURNS CHAR(1)
AS
BEGIN
	DECLARE @RESULT CHAR(1)=‘N‘

	IF EXISTS (SELECT TT_TO FROM T_TIPS WHERE [email protected]_NO AND [email protected]_ID)
		SET @RESULT=‘Y‘

	RETURN @RESULT

END
--发送消息
create PROC [dbo].[P_UF_AUTO_TIPS]
AS
BEGIN

	--场景1:借款到期归还
	INSERT INTO T_TIPS (TT_ID,TT_TO,TT_BILL_NO,TT_SUBJECT,TT_CONTENT,TT_TIPS_DATE,TT_COUNT_SUM,TT_CREATER)
	SELECT NEWID(),BILL_SUBMIT_USER,BILL_NO,‘借款到期 | ‘+BILL_NO,‘借款单摘要:‘+BILL_REMARK
	,BILLC_EX_DATE01
	,1,‘借款到期‘ FROM TBILL B
	INNER JOIN TBILL_CONTENT BC ON BC.BILLC_BILL_ID=B.BILL_ID
	WHERE B.BILL_FLAG IN (‘JZ‘,‘CLOSE‘) 
	AND BILLC_LAMOUNT<>0 
	AND BILLC_EX_DATE01 <>‘‘ 
	AND BILLC_EX_DATE01 IS NOT NULL
	AND DBO.FVGETIFSENDTIPS(BILL_NO,BILL_SUBMIT_USER)=‘N‘
	AND BILL_TEMPLATE_TYPE=‘T-L‘
	AND BILLC_EX_DATE01>GETDATE()
	ORDER BY BILL_NO,BILLC_SEQ

	--场景2:申请流程走完提醒报销
	INSERT INTO T_TIPS (TT_ID,TT_TO,TT_BILL_NO,TT_SUBJECT,TT_CONTENT,TT_TIPS_DATE,TT_COUNT_SUM,TT_CREATER)
	SELECT NEWID(),BILL_SUBMIT_USER,BILL_NO,‘申请流程走完 | ‘+BILL_NO,‘申请单摘要:‘+BILL_REMARK
	,DATEADD("HOUR", 1,DBO.FVGETLASTTIMEBYBILL(B.BILL_ID))
	 ,1,‘及时报销‘ FROM TBILL B
	INNER JOIN TBILL_CONTENT BC ON BC.BILLC_BILL_ID=B.BILL_ID
	WHERE B.BILL_FLAG IN (‘JZ‘,‘CLOSE‘) 
	--AND CAST(DBO.FVGETLASTTIMEBYBILL(B.BILL_ID) AS DATE)[email protected]
	AND DBO.FVGETIFSENDTIPS(BILL_NO,BILL_SUBMIT_USER)=‘N‘
	AND BILL_TEMPLATE_TYPE  IN (‘T-L‘,‘T-A‘)
	AND B.BILL_NO NOT IN (SELECT DISTINCT BILL_APPLY FROM TBILL WHERE BILL_APPLY<>‘‘)
	ORDER BY BILL_NO,BILLC_SEQ

	--场景3:有沟通信息及时查看
	INSERT INTO T_TIPS (TT_ID,TT_TO,TT_BILL_NO,TT_SUBJECT,TT_CONTENT,TT_TIPS_DATE,TT_COUNT_SUM,TT_CREATER)
	SELECT NEWID(),BILL_SUBMIT_USER,BILL_NO,(‘有沟通信息 | ‘+BILL_NO)
	,(‘单据摘要:‘+BILL_REMARK+CHAR(10)+‘沟通发起人:‘+CHAT_NAME+CHAR(10)+‘沟通内容:‘+CHAT_CONTENT+CHAR(10))
	,DATEADD("DAY",1,CAST(CHAT_DATE AS DATE))
	 ,1,‘单据沟通‘ FROM TBILL B
	INNER JOIN TCHAT ON BILL_ID=CHAT_BILLS
	WHERE B.BILL_FLAG NOT IN (‘NO‘) 
	--AND CAST(CHAT_DATE AS DATE)[email protected]
	AND DBO.FVGETIFSENDTIPS(BILL_NO,BILL_SUBMIT_USER)=‘N‘
	AND B.BILL_NO NOT LIKE ‘%***%‘
	AND CHAT_NAME<>‘系统管理员‘
	ORDER BY BILL_NO

END
时间: 2024-11-12 16:25:14

自动发送特定信息到首页公告栏功能的配置的相关文章

js正则实现从一段复杂html代码字符串中匹配并处理特定信息

js正则实现从一段复杂html代码字符串中匹配并处理特定信息 问题: 现在要从一个复杂的html代码字符串(包含各种html标签,数字.中文等信息)中找到某一段特别的信息(被一对“|”包裹着),并对他进行加粗.加下滑线处理. 解决思路: 1.用正则匹配“|”出现的次数,处理刚好出现2次的(html字符串中一般不会含有这个字符) 2.使用正则分组,获取“|”之间的内容,并进行替换(添加样式) 代码: function specialDeal(){ htmlStr = htmlStr.replace

Android中Xposed框架篇---修改系统位置信息实现自身隐藏功能

一.前言 前文已经介绍了Xposed框架的基本使用规则,本文主要来介绍一个实际案例就是如何通过这个框架来修改系统的地理位置信息来实现隐藏功能,在如今社交工具的发展特别是微信,他有一个实时位置共享功能,那么对于那些不是单身狗的同学来说可能会有些蛋疼,哪天媳妇要查岗发送位置,结果你不在她期望的位置这时候就尴尬了,而且朋友圈在分享内容的时候可以选择当前位置,有的屌丝就像我一样没钱但是又想到处旅游,那么这时候咋们就可以一本正经的装个逼了. 二.定位原理 看到上面说的那么多,感觉这个功能必须要搞起来了,好

android SIM Switch功能和配置

SIM Switch feature是Smart 3G switch feature在LTE版本上发展演变而来的功能: MTK双卡双待单通版本只有一个3/4 G Protocol,所以同一时刻只有一个卡可以camp on 3/4G,默认在卡槽1: 与Smart 3G switch功能对应的,LTE版本上面,MTK有SIM Switch feature,可以在某些case下自动将3/4G protocol切给sim2用. 配置: 1.开关SIM Switch功能的配置 在ProjectConfig

使用jquery为个人博客园首页公告栏添加用户登录与注销

未登录前,注销的字体颜色为黑色,登录后,登录的字体为蓝色. 1.在公告栏添加布局显示代码 <!--显示登录 Begin--> <!-- 隐藏调用html代码--> <div class="hide"> <!--------------------------用户登陆前后显示-------------------------------> <div class="login_message " style=&quo

ajax实现异步请求,不跳转页面的情况下,达到检验用户名等信息是否效果的功能!

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span><span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">我们在用户注册页面时常常要考虑到登录名

加入收藏和设为首页的功能

<a onclick="SetHome(window.location)" href="javascript:void(0)">设为首页</a> <a onclick="AddFavorite(window.location,document.title)" href="javascript:void(0)">加入收藏</a> //加入收藏 function AddFavorit

javascript实现的一个信息提示的小功能/

//什么状况.CSDN的排版怎么这么多状况,还是本人太次?调整几次都没弄好.最后一遍了-- 最近由于公司业务问题.须要做一些面向公众的平台,于是对UI要求会高一点, 对于传统的alert的这样的方式来提示用户操作错误显然会非常影响客户体验.于是做了一个小功能,来替代原本的alert.话不啰嗦,先上效果图. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDU3MTkxMw==/font/5a6L5L2T/fontsize/400/fill/I0

python工具 - 从文件名读取特定信息到excel表格

情景:文件名中包含学号和用户名,其中用户名在前学好在后,学号为2位,如harry33.txt.natasha12.txt. 要求:将多个文件名中的用户名与学号分开并保存到excle中. 代码部分: import os # 创建一个立标,用来保存去掉扩展名后的文件名 filename = [] # os.walk:遍历某目录下所有的文件和文件夹 for a,b,files in os.walk('test'): # 如果文件存在,保存开始到倒数第四位的字符到filename列表里 if files

GraduateDesign-给APP添加获取位置信息和天气预报的功能(json)

首先,我的app需要通过网络来获取当前所在的位置.这里我找到了一个json来获取本地位置信息. http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js //获得当前网络所在城市 返回来的信息是: var remote_ip_info = {"ret":1,"start":-1,"end":-1,"country":"\u4e2d\u56fd"