61 lines
2.1 KiB
Plaintext
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 |