Project

General

Profile

alter tempalte_up.txt

Luc Tran Van, 02/27/2023 10:45 AM

 
1
LTER PROCEDURE dbo.CM_REQUEST_TEMPLATE_Upd 
2
	@p_REQUEST_TEMPLATE_ID nvarchar(200)  = NULL,
3
	@p_REQUEST_TEMPLATE_NAME	nvarchar(200)  = NULL,
4
	@p_REQUEST_TEMPLATE_CODE	nvarchar(100)  = NULL,
5
	@p_CREATE_LOCATION NVARCHAR(100)=NULL,
6
	@p_HEADER NVARCHAR(max)=NULL,
7
	@p_CONTENT NVARCHAR(max)=NULL,
8
	@p_BRANCH_ID NVARCHAR(50)=NULL,
9
	@p_REPORT_NO NVARCHAR(50)=NULL,
10
	@p_TITLE NVARCHAR(500)=NULL,
11
	@p_REPORT_DT	VARCHAR(20) = NULL,
12
	@p_SCHEME_OUT VARCHAR(20),
13
	@p_TYPE_TEMPLATE_ID NVARCHAR(20)=NULL,
14
	@p_NOTES	nvarchar(max)  = NULL,
15
	@p_RECORD_STATUS	varchar(1)  = NULL,
16
	@p_MAKER_ID	varchar(12)  = NULL,
17
	@p_CREATE_DT	VARCHAR(20) = NULL,
18
	@p_AUTH_STATUS	varchar(50)  = NULL,
19
	@p_CHECKER_ID	varchar(12)  = NULL,
20
	@p_APPROVE_DT	VARCHAR(20) = NULL,
21
	@p_REQUEST_TEMPLATE_XML nvarchar(MAX) = NULL,
22
	@p_GROUP_APPROVES NVARCHAR(MAX)=NULL
23
AS
24
BEGIN
25
	--Validation is here
26
	DECLARE @ERRORSYS NVARCHAR(15) = '', 
27
		@hdoc int,
28
		@l_REQUEST_TEMPLATE_DETAIL_ID varchar(15),
29

    
30
		@l_REQUEST_TEMPLATE_DETAIL_CONTENT nvarchar(max),
31
		@l_REQUEST_TEMPLATE_DETAIL_CODE varchar(15),
32
		@l_PAGE_SIZE varchar(5),
33
		@l_NOTES nvarchar(max)
34
	IF @ERRORSYS <> '' 
35
	BEGIN
36
		SELECT ErrorCode Result, ''  CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
37
		RETURN '0'
38
	END
39
	IF (@p_REPORT_NO IS NULL OR @p_REPORT_NO = '')
40
	BEGIN
41
		SELECT '-1' Result, '' REQ_ID, N'Số tờ trình không được bỏ trống."' ErrorDesc 
42
		RETURN '-1'
43
	END
44
	IF EXISTS(SELECT * FROM CM_REQUEST_TEMPLATE WHERE REPORT_NO = @p_REPORT_NO AND RECORD_STATUS = 1 AND REQUEST_TEMPLATE_ID <> @p_REQUEST_TEMPLATE_ID)
45
	BEGIN
46
		SELECT '-1' Result, '' REQ_ID, N'Tờ trình số: ' + @p_REPORT_NO + N' đã tồn tại trong hệ thống!"' ErrorDesc 
47
		RETURN '-1'
48
	END
49

    
50

    
51
	BEGIN TRANSACTION  
52

    
53
	UPDATE [dbo].[CM_REQUEST_TEMPLATE]
54
	SET [REQUEST_TEMPLATE_NAME] = @p_REQUEST_TEMPLATE_NAME
55
      ,[REQUEST_TEMPLATE_CODE] = @p_REQUEST_TEMPLATE_CODE
56
      ,[NOTES] = @p_NOTES
57
      ,[MAKER_ID] = @p_MAKER_ID
58
      ,[CREATE_DT] =CONVERT(DATETIME, @p_CREATE_DT, 103) 
59
      ,[CONTENT] = @p_CONTENT
60
      ,[CREATE_LOCATION] = @p_CREATE_LOCATION
61
      ,[HEADER] = @p_HEADER
62
      ,[BRANCH_ID] = @p_BRANCH_ID
63
      ,[REPORT_NO] = @p_REPORT_NO
64
      ,[TITLE] = @p_TITLE
65
      ,[REPORT_DT] = CONVERT(DATETIME, @p_REPORT_DT, 103) 
66
      ,[SCHEME] = @p_SCHEME_OUT
67
      ,[TYPE_TEMPLATE_ID] = @p_TYPE_TEMPLATE_ID
68
	  WHERE [REQUEST_TEMPLATE_ID] = @p_REQUEST_TEMPLATE_ID
69
		IF @@Error <> 0 GOTO ABORT
70

    
71
	DELETE CM_SENT_TO_TEMPLATE WHERE TEMPLATE_ID=@p_REQUEST_TEMPLATE_ID
72
	declare @sentToTlb table(CONTENT nvarchar(50))
73
	IF(@p_REQUEST_TEMPLATE_XML <> '' AND @p_REQUEST_TEMPLATE_XML IS NOT NULL)
74
	BEGIN
75
		insert into @sentToTlb
76
		select *
77
		FROM WSISPLIT(@p_REQUEST_TEMPLATE_XML,',')
78
	END
79
	DECLARE @TOT INT = (SELECT COUNT(CONTENT) from @sentToTlb)
80
	DECLARE @ind INT,@p_SENT_TO_TEMPLATE_ID nvarchar(50)
81
	EXEC SYS_CodeMasters_Gen_Mult 'CM_SENT_TO_TEMPLATE',@TOT, @p_SENT_TO_TEMPLATE_ID out, @ind out
82
	--EXEC SYS_CodeMasters_Gen 'CM_SENT_TO_TEMPLATE', @l_SENT_TO_TEMPLATE_ID out
83

    
84
	INSERT INTO [dbo].[CM_SENT_TO_TEMPLATE]
85
		   ([TEMPLATE_ID]
86
		   ,[SENT_TO_TEMPLATE_ID]
87
		   ,[CONTENT])
88
	SELECT @p_REQUEST_TEMPLATE_ID
89
		   ,('CSTM' + right('0000000000000'+convert(varchar(15),(@ind -1 + row_number() over(order by (select 1)))),10)),
90
		CONTENT
91
	FROM @sentToTlb
92
	IF @@Error <> 0 GOTO ABORT
93

    
94
	--EDIT USER APPROVE
95
	DECLARE @CURRENT_STEP INT =(SELECT CURRENT_STEP FROM CM_REQUEST_TEMPLATE WHERE REQUEST_TEMPLATE_ID=@p_REQUEST_TEMPLATE_ID)
96
	DECLARE @DONE_INS_APPROVE_GROUP BIT=1,
97
			@ERROR_MESS NVARCHAR(MAX)
98
	EXEC CM_APPROVE_GROUP_Upd @p_REQUEST_TEMPLATE_ID,@p_GROUP_APPROVES,@CURRENT_STEP,@DONE_INS_APPROVE_GROUP OUT, @ERROR_MESS OUT
99
	IF @DONE_INS_APPROVE_GROUP <> 1 GOTO ABORT_CHILD
100
	--
101

    
102
	--ADD LOG
103
	IF(EXISTS(SELECT 1 FROM CM_REQUEST_TEMPLATE WHERE IS_SENT_APPROVE = 0 AND REQUEST_TEMPLATE_ID = @P_REQUEST_TEMPLATE_ID))
104
	BEGIN
105
		DECLARE @p_DONE BIT = 1
106
		EXEC CM_TEMPLATE_LOG_Ins @p_REQUEST_TEMPLATE_ID,'UPD','',@p_MAKER_ID,NULL, @p_DONE OUT
107
		IF @p_DONE <> 1 GOTO ABORT
108
	END
109
	--
110

    
111
COMMIT TRANSACTION
112

    
113
SELECT '0' as Result, @p_REQUEST_TEMPLATE_ID  ID, '' ErrorDesc
114
RETURN '0'
115
ABORT:
116
BEGIN
117
		
118
		ROLLBACK TRANSACTION
119
		SELECT '-1' as Result, '' ID, '' ErrorDesc
120
		RETURN '-1'
121
END
122
ABORT_CHILD:
123
BEGIN
124
		ROLLBACK TRANSACTION
125
		SELECT '-1' as Result, '' ID, @ERROR_MESS ErrorDesc
126
		RETURN '-1'
127
End
128
END