溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

自動發送特定信息到首頁公告欄功能的配置

發布時間:2020-08-10 13:21:22 來源:網絡 閱讀:469 作者:iderun 欄目:開發技術

業務場景:

    用戶每次登錄系統時,在首頁公告欄以及右下角彈出窗口處可以收到系統自動發送的消息,此消息內容可以根據不同業務需要定制發送內容,接收人,接收時間等等,非常靈活有效。


基本原理:

    通過向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 TT_BILL_NO=@BILL_NO AND TT_TO=@USER_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)=@TODAY
	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)=@TODAY
	AND DBO.FVGETIFSENDTIPS(BILL_NO,BILL_SUBMIT_USER)='N'
	AND B.BILL_NO NOT LIKE '%***%'
	AND CHAT_NAME<>'系統管理員'
	ORDER BY BILL_NO

END

    

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女