389 lines
15 KiB
Plaintext
389 lines
15 KiB
Plaintext
CREATE PROCEDURE dbo.GEX_SEND_FLOWMAIL
|
|
(
|
|
@BPM_TYPE CHAR(1), --S:送簽 B:退簽 A:已簽結 F:作廢 R:拒簽
|
|
@SENDUSER VARCHAR(30), --被通知要簽核的人
|
|
@BPMBILLNO VARCHAR(30), --簽核單號
|
|
@SIGN_TITLE NVARCHAR(30) = ''
|
|
)
|
|
AS
|
|
/*
|
|
Function : 利用 sql 發送 FLOW MAIL 的共用程式
|
|
Description: 測試時, 連續密集的發送 mail, 會被 gMail 當成垃圾信
|
|
Build Date : 2012/10/21
|
|
|
|
Modify History
|
|
Item Who Date Modify Docs
|
|
==== ========== ========== ================================================
|
|
1 Michael 2013/07/01 新增 PICK 的專案發送 mail 寫法(依收件人 mail, 決定 mail Server)
|
|
2 Michael 2013/07/08 新增 R:拒簽
|
|
3 Michael 2013/08/07 PICK 不連回原單
|
|
4 Michael 2013/08/14 PICK 的 Mail 格式有修正
|
|
5 Michael 2013/09/26 因為發送 mail 一直都亂碼, 修改為變數測試看看
|
|
|
|
*/
|
|
|
|
DECLARE @MAIL_PROFILE NVARCHAR(100)
|
|
DECLARE @MSG NVARCHAR(1000)
|
|
DECLARE @BILLDESC NVARCHAR(200)
|
|
DECLARE @FLOWDETAIL NVARCHAR(1000)
|
|
DECLARE @DEST_MAIL VARCHAR(100)
|
|
DECLARE @TITLE NVARCHAR(200)
|
|
DECLARE @WEBSITE VARCHAR(200)
|
|
DECLARE @SMTPSRV VARCHAR(200)
|
|
DECLARE @CNT INT
|
|
DECLARE @POS INT
|
|
DECLARE @IS_PICK CHAR(1)
|
|
|
|
--判斷是否 PICK 專案
|
|
SELECT @CNT=Count(*) FROM sysobjects WHERE XTYPE='U' AND NAME='COMPANYTYPE'
|
|
IF @CNT > 0 SET @IS_PICK = 'Y' ELSE SET @IS_PICK = 'N'
|
|
|
|
SELECT @MAIL_PROFILE=PARAVALUE FROM PARAMETER WHERE PARATYPE = 'SYS' AND PARAFIELD = 'MAIL_PROFILE'
|
|
IF ISNULL(@MAIL_PROFILE,'') = '' SET @MAIL_PROFILE = 'gexMail' --Default
|
|
|
|
/*
|
|
PICK 有特殊的發送 mail 機制
|
|
跟據收件人決定發送 mail 的 SMTP Server
|
|
程式寫在 exec msdb.dbo.sp_send_dbmail 前
|
|
*/
|
|
|
|
SELECT @WEBSITE=PARAVALUE FROM PARAMETER WHERE PARATYPE = 'SYS' AND PARAFIELD = 'WEBSITE'
|
|
IF ISNULL(@WEBSITE,'') = '' SET @WEBSITE = 'http://erp.gex.com.tw' --Default(http://erp.gex.com.tw/gEIP/bPMSM13A.aspx?keyvalueparam=4318)
|
|
SET @WEBSITE = @WEBSITE + '/gBPM/bBPMMG3.aspx'
|
|
|
|
SELECT @BILLDESC=ISNULL(B.BILLDESC,''),@TITLE='簽核通知-'+B.BILLDESC+ ' 原單單號: '+A.SOURCEBILLNO FROM BPM_FLOWDATA_M A
|
|
LEFT JOIN BPM_FLOWSETUP_M B ON A.BILLTAG = B.BILLTAG
|
|
WHERE A.BILLNO = @BPMBILLNO
|
|
|
|
--
|
|
DECLARE @BILLDATE DATETIME
|
|
DECLARE @SIGNPERSON NVARCHAR(30)
|
|
DECLARE @PERSONCNAME NVARCHAR(30)
|
|
DECLARE @ORG_PERSON NVARCHAR(30)
|
|
DECLARE @FLOWTYPE NVARCHAR(30)
|
|
DECLARE @MEMOCHAR NVARCHAR(200)
|
|
SET @FLOWDETAIL = ''
|
|
|
|
DECLARE @FLDN NVARCHAR(100)
|
|
SELECT @FLDN=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'N'
|
|
IF @FLDN IS NULL SET @FLDN = '上呈'
|
|
|
|
SELECT
|
|
BILLDATE,
|
|
CASE WHEN SEQNO = 0 THEN @FLDN ELSE B.KEYVALUE END FLOWTYPE,
|
|
CASE WHEN FLOWSTATUS <> 2 THEN SIGNPERSON ELSE BACKTOPERSON END SIGNPERSON,
|
|
CASE WHEN FLOWSTATUS <> 2 THEN MEMOCHAR ELSE BACKMEMOCHAR END MEMOCHAR
|
|
INTO #BPM_TMP1 FROM BPM_FLOWDATA_LOG A
|
|
LEFT JOIN KEYVALUE B ON B.KEYTAG = 'FLOWSTATUS' AND B.KEYID = A.FLOWSTATUS
|
|
WHERE BILLNO = @BPMBILLNO
|
|
|
|
DECLARE contact_cursor CURSOR FOR
|
|
SELECT
|
|
A.BILLDATE,A.FLOWTYPE,A.SIGNPERSON,B.PERSONCNAME,A.MEMOCHAR
|
|
FROM #BPM_TMP1 A
|
|
LEFT JOIN BASPERSON B ON A.SIGNPERSON = B.PERSONID
|
|
|
|
OPEN contact_cursor
|
|
|
|
-- Perform the first fetch.
|
|
FETCH NEXT FROM contact_cursor
|
|
INTO @BILLDATE,@FLOWTYPE,@SIGNPERSON,@PERSONCNAME,@MEMOCHAR
|
|
|
|
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
SET @FLOWDETAIL = @FLOWDETAIL +
|
|
'<tr>' +
|
|
' <td>'+ISNULL(@SIGNPERSON,'')+'</td><td>'+ISNULL(@PERSONCNAME,'')+'</td>' +
|
|
' <td>'+ISNULL(@FLOWTYPE,'')+'</td>' +
|
|
' <td>'+ISNULL(CONVERT(varchar(12),@BILLDATE,111),'')+'</td><td>'+ISNULL(CONVERT(varchar(12),@BILLDATE,108),'')+'</td>' +
|
|
' <td>'+ISNULL(@MEMOCHAR,'')+'</td>' +
|
|
'</tr>'
|
|
|
|
FETCH NEXT FROM contact_cursor
|
|
INTO @BILLDATE,@FLOWTYPE,@SIGNPERSON,@PERSONCNAME,@MEMOCHAR
|
|
END
|
|
|
|
CLOSE contact_cursor
|
|
DEALLOCATE contact_cursor
|
|
--
|
|
DROP TABLE #BPM_TMP1
|
|
|
|
--待簽核人員
|
|
SET @ORG_PERSON = @SENDUSER
|
|
|
|
SELECT @ORG_PERSON=USERID+' ('+USERNAME+')' FROM USERS WHERE USERID = @ORG_PERSON
|
|
IF ISNULL(@ORG_PERSON,'') = '' SET @ORG_PERSON = 'NO-DATA'
|
|
|
|
--**************************************************************************
|
|
DECLARE @ORG_BILLNO VARCHAR(100) --原單單號(以下四個欄位是 PICK 專用)
|
|
DECLARE @ORD_COMPANY NVARCHAR(100) --公司
|
|
DECLARE @ORD_DEPARTMENT NVARCHAR(100) --費用分攤部門
|
|
DECLARE @ORG_DETAIL NVARCHAR(600) --表身的品名及數量
|
|
DECLARE @BILLTAG VARCHAR(100)
|
|
|
|
SET @ORD_COMPANY = ''
|
|
SET @ORD_DEPARTMENT = ''
|
|
SET @ORG_DETAIL = ''
|
|
|
|
SELECT @ORG_BILLNO=A.SOURCEBILLNO,@BILLTAG=BILLTAG FROM BPM_FLOWDATA_M A WHERE A.BILLNO = @BPMBILLNO
|
|
|
|
IF @IS_PICK = 'Y'
|
|
BEGIN
|
|
IF @BILLTAG = 'OPOM11' BEGIN
|
|
SELECT
|
|
@ORD_COMPANY=A.ACC_COMPANYID+'('+B.COMPCNAME+')',@ORD_DEPARTMENT=A.ACC_DEPARTMENTID+'-'+D.DEPARTMENTCNAME,
|
|
@ORG_DETAIL=dbo.GEXFUNC_GETDETAIL('OPOORDER4_M',@ORG_BILLNO)
|
|
FROM OPOORDER4_M A
|
|
LEFT JOIN COMPANYTYPE B ON A.ACC_COMPANYID = B.COMPANYID
|
|
LEFT JOIN BASDEPARTMENT D ON A.ACC_DEPARTMENTID = D.DEPARTMENTID
|
|
WHERE BILLNO = @ORG_BILLNO
|
|
END
|
|
ELSE IF @BILLTAG = 'OPOM12' BEGIN
|
|
SELECT
|
|
@ORD_COMPANY=A.ACC_COMPANYID+'('+B.COMPCNAME+')',@ORD_DEPARTMENT=A.ACC_DEPARTMENTID+'-'+D.DEPARTMENTCNAME,
|
|
@ORG_DETAIL=dbo.GEXFUNC_GETDETAIL('OPOORDER3_M',@ORG_BILLNO)
|
|
FROM OPOORDER3_M A
|
|
LEFT JOIN COMPANYTYPE B ON A.ACC_COMPANYID = B.COMPANYID
|
|
LEFT JOIN BASDEPARTMENT D ON A.ACC_DEPARTMENTID = D.DEPARTMENTID
|
|
WHERE BILLNO = @ORG_BILLNO
|
|
END
|
|
ELSE IF @BILLTAG = 'OPOM13' BEGIN
|
|
SELECT
|
|
@ORD_COMPANY=A.ACC_COMPANYID+'('+B.COMPCNAME+')',@ORD_DEPARTMENT=A.ACC_DEPARTMENTID+'-'+D.DEPARTMENTCNAME,
|
|
@ORG_DETAIL=dbo.GEXFUNC_GETDETAIL('QMSIQC_M',@ORG_BILLNO)
|
|
FROM QMSIQC_M A
|
|
LEFT JOIN COMPANYTYPE B ON A.ACC_COMPANYID = B.COMPANYID
|
|
LEFT JOIN BASDEPARTMENT D ON A.ACC_DEPARTMENTID = D.DEPARTMENTID
|
|
WHERE BILLNO = @ORG_BILLNO
|
|
END
|
|
--ELSE IF @BILLTAG = 'OPOM16' BEGIN
|
|
-- SELECT * FROM OPO_BUYSWOT BILLNO = @ORG_BILLNO
|
|
--END
|
|
END
|
|
--**************************************************************************
|
|
|
|
/*
|
|
因為 mail 發送一直會出現亂碼, 所以把所有的中文抬頭都改為變數測試看看
|
|
*/
|
|
DECLARE @FLD1 NVARCHAR(100)
|
|
DECLARE @FLD2 NVARCHAR(100)
|
|
DECLARE @FLD3 NVARCHAR(100)
|
|
DECLARE @FLD4 NVARCHAR(100)
|
|
DECLARE @FLD5 NVARCHAR(100)
|
|
DECLARE @FLD6 NVARCHAR(100)
|
|
DECLARE @FLD7 NVARCHAR(100)
|
|
DECLARE @FLD8 NVARCHAR(100)
|
|
DECLARE @FLD9 NVARCHAR(100)
|
|
DECLARE @FLDA NVARCHAR(100)
|
|
DECLARE @FLDB NVARCHAR(100)
|
|
DECLARE @FLDC NVARCHAR(100)
|
|
DECLARE @FLDD NVARCHAR(100)
|
|
DECLARE @FLDE NVARCHAR(100)
|
|
DECLARE @FLDF NVARCHAR(100)
|
|
DECLARE @FLDG NVARCHAR(100)
|
|
DECLARE @FLDH NVARCHAR(100)
|
|
DECLARE @FLDI NVARCHAR(100)
|
|
DECLARE @FLDJ NVARCHAR(100)
|
|
DECLARE @FLDK NVARCHAR(100)
|
|
DECLARE @FLDL NVARCHAR(100)
|
|
DECLARE @FLDM NVARCHAR(100)
|
|
|
|
SELECT @FLD1=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '1'
|
|
SELECT @FLD2=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '2'
|
|
SELECT @FLD3=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '3'
|
|
SELECT @FLD4=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '4'
|
|
SELECT @FLD5=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '5'
|
|
SELECT @FLD6=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '6'
|
|
SELECT @FLD7=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '7'
|
|
SELECT @FLD8=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '8'
|
|
SELECT @FLD9=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = '9'
|
|
SELECT @FLDA=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'A'
|
|
SELECT @FLDB=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'B'
|
|
SELECT @FLDC=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'C'
|
|
SELECT @FLDD=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'D'
|
|
SELECT @FLDE=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'E'
|
|
SELECT @FLDF=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'F'
|
|
SELECT @FLDG=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'G'
|
|
SELECT @FLDH=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'H'
|
|
SELECT @FLDI=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'I'
|
|
SELECT @FLDJ=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'J'
|
|
SELECT @FLDK=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'K'
|
|
SELECT @FLDL=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'L'
|
|
SELECT @FLDM=KEYVALUE FROM KEYVALUE WHERE KEYTAG = 'FLOWTITLE' AND KEYID = 'M'
|
|
|
|
IF @FLD1 IS NULL SET @FLD1 = '發送者'
|
|
IF @FLD2 IS NULL SET @FLD2 = '原單單號'
|
|
IF @FLD3 IS NULL SET @FLD3 = '流程說明'
|
|
IF @FLD4 IS NULL SET @FLD4 = '簽核程序'
|
|
IF @FLD5 IS NULL SET @FLD5 = '簽核作業'
|
|
IF @FLD6 IS NULL SET @FLD6 = '送簽日期'
|
|
IF @FLD7 IS NULL SET @FLD7 = '網頁連結'
|
|
IF @FLD8 IS NULL SET @FLD8 = '簽核人員'
|
|
IF @FLD9 IS NULL SET @FLD9 = '姓名'
|
|
IF @FLDA IS NULL SET @FLDA = '簽核別'
|
|
IF @FLDB IS NULL SET @FLDB = '簽核日期'
|
|
IF @FLDC IS NULL SET @FLDC = '時間'
|
|
IF @FLDD IS NULL SET @FLDD = '簽核內容'
|
|
IF @FLDE IS NULL SET @FLDE = '出帳公司'
|
|
IF @FLDF IS NULL SET @FLDF = '費用分攤單位'
|
|
IF @FLDG IS NULL SET @FLDG = '採買品名數量'
|
|
IF @FLDH IS NULL SET @FLDH = '按此連結到表單'
|
|
IF @FLDI IS NULL SET @FLDI = '送簽'
|
|
IF @FLDJ IS NULL SET @FLDJ = '退簽'
|
|
IF @FLDK IS NULL SET @FLDK = '作廢通知'
|
|
IF @FLDL IS NULL SET @FLDL = '拒簽通知'
|
|
IF @FLDM IS NULL SET @FLDM = '已簽結通知'
|
|
|
|
DECLARE @HYPER NVARCHAR(200)
|
|
DECLARE @ACTIVITY NVARCHAR(200)
|
|
SET @HYPER = '<a href="'+@WEBSITE+'">'+@FLDH+'</a>'
|
|
|
|
IF @BPM_TYPE='S' SET @ACTIVITY = @FLDI
|
|
ELSE IF @BPM_TYPE='B' SET @ACTIVITY = @FLDJ
|
|
ELSE IF @BPM_TYPE='F' SET @ACTIVITY = @FLDK
|
|
ELSE IF @BPM_TYPE='R' SET @ACTIVITY = @FLDL
|
|
ELSE SET @ACTIVITY = @FLDM
|
|
|
|
--PICK 要求不要連回原單(格式也有修改)
|
|
IF @IS_PICK <> 'Y'
|
|
--標準版本
|
|
SET @MSG = '<table width="600" border="1" style="border-collapse:collapse;" borderColor=black><tr>' +
|
|
' <td style="width:25%">'+@FLD1+'</td><td style="width:75%">'+@ORG_PERSON+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD2+'</td><td>'+@ORG_BILLNO+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD3+'</td><td>'+@BILLDESC+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD4+'</td><td>'+@SIGN_TITLE+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD5+'</td><td>'+@ACTIVITY+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD6+'</td><td>'+CONVERT(varchar(30),GETDATE(),120)+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD7+'</td><td>'+@HYPER+'</td>' +
|
|
'</tr>' +
|
|
'</table>' +
|
|
'<table width="600" border="1" style="border-collapse:collapse;" borderColor=black><tr>' +
|
|
' <td>'+@FLD8+'</td><td>'+@FLD9+'</td><td>'+@FLDA+'</td><td>'+@FLDB+'</td><td>'+@FLDC+'</td><td>'+@FLDD+'</td>' +
|
|
'</tr>' +
|
|
@FLOWDETAIL +
|
|
'</table>'
|
|
ELSE
|
|
--元誠格式
|
|
SET @MSG = '<table width="600" border="1" style="border-collapse:collapse;" borderColor=black><tr>' +
|
|
' <td style="width:25%">'+@FLD1+'</td><td style="width:75%">'+@ORG_PERSON+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD3+'</td><td>'+@BILLDESC+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD4+'</td><td>'+@SIGN_TITLE+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD5+'</td><td>'+@ACTIVITY+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD8+'</td><td>'+CONVERT(varchar(30),GETDATE(),120)+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLD2+'</td><td>'+@ORG_BILLNO+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLDE+'</td><td>'+@ORD_COMPANY+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLDF+'</td><td>'+@ORD_DEPARTMENT+'</td>' +
|
|
'</tr>' +
|
|
'<tr>' +
|
|
' <td>'+@FLDG+'</td><td>'+@ORG_DETAIL+'</td>' +
|
|
'</tr>' +
|
|
'</table>' +
|
|
'<table width="600" border="1" style="border-collapse:collapse;" borderColor=black><tr>' +
|
|
' <td>'+@FLD8+'</td><td>'+@FLD9+'</td><td>'+@FLDA+'</td><td>'+@FLDB+'</td><td>'+@FLDC+'</td><td>'+@FLDD+'</td>' +
|
|
'</tr>' +
|
|
@FLOWDETAIL +
|
|
'</table>'
|
|
|
|
IF @BPM_TYPE = 'A' OR @BPM_TYPE = 'F'
|
|
BEGIN
|
|
--本簽核已完成, 要通知所有相關的人
|
|
DECLARE @EMAIL VARCHAR(200)
|
|
DECLARE @BPM_TMP2 TABLE (EMAIL VARCHAR(200))
|
|
|
|
IF @BPM_TYPE = 'A'
|
|
BEGIN
|
|
INSERT INTO @BPM_TMP2
|
|
SELECT DISTINCT U.EMAIL FROM BPM_FLOWDATA_D Z
|
|
LEFT JOIN USERS U ON U.USERID = Z.SIGNPERSON
|
|
WHERE Z.BILLNO = @BPMBILLNO AND ISNULL(U.EMAIL,'') <> '' AND (Z.SEQNO = 0 OR Z.SENDMAIL = 'Y') --原上呈人員也要發通知
|
|
END
|
|
ELSE BEGIN --曾經簽核過的人
|
|
INSERT INTO @BPM_TMP2
|
|
SELECT DISTINCT U.EMAIL FROM BPM_FLOWDATA_LOG Z
|
|
LEFT JOIN USERS U ON U.USERID = Z.SIGNPERSON
|
|
WHERE Z.BILLNO = @BPMBILLNO AND ISNULL(U.EMAIL,'') <> ''
|
|
END
|
|
|
|
DECLARE contact_cursor2 CURSOR FOR
|
|
SELECT EMAIL FROM @BPM_TMP2
|
|
|
|
OPEN contact_cursor2
|
|
|
|
-- Perform the first fetch.
|
|
FETCH NEXT FROM contact_cursor2
|
|
INTO @EMAIL
|
|
|
|
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
|
|
WHILE @@FETCH_STATUS = 0
|
|
BEGIN
|
|
--PICK 專案
|
|
IF @IS_PICK = 'Y' BEGIN
|
|
SET @POS = CHARINDEX('@', @EMAIL)
|
|
SET @SMTPSRV = SUBSTRING(@EMAIL,@POS+1,LEN(@EMAIL)-@POS)
|
|
SELECT TOP 1 @MAIL_PROFILE=COMPANYID FROM COMPANYTYPE WHERE MAILSERVER = @SMTPSRV
|
|
END
|
|
|
|
exec msdb.dbo.sp_send_dbmail
|
|
@recipients = @EMAIL,
|
|
@body = @MSG,
|
|
@subject = @TITLE,
|
|
@profile_name = @MAIL_PROFILE,
|
|
@body_format = HTML --也可以使用HTML格式
|
|
|
|
FETCH NEXT FROM contact_cursor2
|
|
INTO @EMAIL
|
|
END
|
|
|
|
CLOSE contact_cursor2
|
|
DEALLOCATE contact_cursor2
|
|
|
|
END
|
|
ELSE BEGIN
|
|
--也有可能是多人(群組內有多人, 已在 GEXBPM_SIGNOK 跑 loop)
|
|
SELECT @DEST_MAIL=EMAIL FROM USERS WHERE USERID = @SENDUSER
|
|
--SET @DEST_MAIL = 'genie.michael@gmail.com' --For TEST
|
|
|
|
IF ISNULL(@DEST_MAIL,'') <> ''
|
|
BEGIN
|
|
--PICK 專案
|
|
IF @IS_PICK = 'Y' BEGIN
|
|
SET @POS = CHARINDEX('@', @DEST_MAIL)
|
|
SET @SMTPSRV = SUBSTRING(@DEST_MAIL,@POS+1,LEN(@DEST_MAIL)-@POS)
|
|
SELECT TOP 1 @MAIL_PROFILE=COMPANYID FROM COMPANYTYPE WHERE MAILSERVER = @SMTPSRV
|
|
END
|
|
|
|
exec msdb.dbo.sp_send_dbmail
|
|
@recipients = @DEST_MAIL,
|
|
@body = @MSG,
|
|
@subject = @TITLE,
|
|
@profile_name = @MAIL_PROFILE,
|
|
@body_format = HTML --也可以使用HTML格式
|
|
END
|
|
END |