Files
e-Book/3.玩轉SQL/參考資料/erp/Day7/參考文檔/BPM-sp/GEXBPM_REJECT.txt
T

61 lines
2.1 KiB
Plaintext

CREATE PROC DBO.GEXBPM_REJECT
(
@BILLNO VARCHAR(20), --簽核單號
@LOGINID VARCHAR(30),
@SIGNMEMO NVARCHAR(600)
)
AS
/*
Function : FLOW 拒簽時的更新資料程序(直接否決本單)
Description:
1.在原單或簽核待辦單上, 新增 [簽核拒簽] button (Reject)
寫一筆資料到 log
將 FLOWDATA_M 的 FLOWSTATUS 改為 7 拒簽
2.原單的 FLOWFLAG = X, SIGN_USER = 拒簽
Build Date : 2013/07/08
Modify History
Item Who Date Modify Docs
==== ========== ========== ================================================
1 Michael 2011/10/12 新增
*/
DECLARE @SQL NVARCHAR(2000)
DECLARE @SOURCETBL VARCHAR(100)
DECLARE @SOURCEPK VARCHAR(100)
DECLARE @BILLTAG VARCHAR(100)
DECLARE @SOURCEBILLNO VARCHAR(100)
DECLARE @PRE_DATE DATETIME
DECLARE @SEQ1 INT
DECLARE @SEQ2 INT
SELECT @SEQ1=MAX(SEQNO)+1,@SEQ2=MIN(SEQNO),@PRE_DATE=MAX(BILLDATE) FROM BPM_FLOWDATA_LOG WHERE BILLNO = @BILLNO
DECLARE @FLOW INT
SELECT @FLOW=FLOWSTATUS FROM BPM_FLOWDATA_D WHERE BILLNO = @BILLNO AND SEQNO = @SEQ2
IF @FLOW = 0
BEGIN
--寫 LOG
INSERT INTO BPM_FLOWDATA_LOG (BILLNO,SOURCESEQNO,SEQNO,FLOWINDATE,BILLDATE,FLOWSTATUS,SIGNPERSON,MEMOCHAR)
SELECT @BILLNO,@SEQ2,@SEQ1,@PRE_DATE,GETDATE(),7,@LOGINID,@SIGNMEMO
--將 BPM_FLOWDATA_M 狀態改為 [7-拒簽]
UPDATE BPM_FLOWDATA_M SET FLOWSTATUS = 7 WHERE BILLNO = @BILLNO
--回寫原單 SIGN_USER
SELECT @BILLTAG=BILLTAG,@SOURCEBILLNO=SOURCEBILLNO FROM BPM_FLOWDATA_M WHERE BILLNO = @BILLNO
SELECT @SOURCETBL=SOURCETABLE,@SOURCEPK=SOURCEPK FROM BPM_FLOWSETUP_M WHERE BILLTAG = @BILLTAG
SET @SQL = 'UPDATE ' + @SOURCETBL + ' SET SIGN_USER = ' + CHAR(39)+'拒簽'+CHAR(39) + ',FLOWFLAG = ' + CHAR(39)+'R'+CHAR(39) +
' WHERE ' + @SOURCEPK + ' = ' + CHAR(39) + @SOURCEBILLNO + CHAR(39)
EXECUTE SP_EXECUTESQL @SQL
--INSERT INTO BPM_SENDMAIL (LOGINID,SENDDATE,SENDWHO,NOTIFY_ONLY,BILLNO,SEQNO)
--SELECT @LOGINID,GETDATE(),@LOGINID,'F',@BILLNO,@SEQ2
--應通知先前有簽核過的人
--sql db sendmail
EXEC GEX_SEND_FLOWMAIL 'R',@LOGINID, @BILLNO
END