Project

General

Profile

FILE 4.txt

Truong Nguyen Vu, 09/28/2020 11:50 AM

 
1

    
2

    
3
ALTER PROCEDURE [dbo].[BID_MASTER_Upd]
4
@p_BID_ID VARCHAR(15),
5
@p_BID_CODE	varchar(50)  = NULL,
6
@p_BID_YPE	varchar(1)  = NULL,
7
@p_PROJECT_ID	varchar(15)  = NULL,
8
@p_TERM_BID	nvarchar(200)  = NULL,
9
@p_FORM	varchar(4)  = NULL,
10
@p_INPUT_DT	VARCHAR(20) = NULL,
11
@p_EXP_DT	VARCHAR(20) = NULL,
12
@p_OPEN_DT	VARCHAR(20) = NULL,
13
@p_BUDGET	decimal(18)  = NULL,
14
@p_TOTAL_AMT	decimal(18)  = NULL,
15
@p_GUARANTEE_AMT	decimal(18)  = NULL,
16
@p_GUARANTEE_PER	decimal(18)  = NULL,
17
@p_GUARANTEE_EXP	VARCHAR(20) = NULL,
18
@p_NOTES	nvarchar(1000)  = NULL,
19
@p_RECORD_STATUS	varchar(1)  = NULL,
20
@p_MAKER_ID	varchar(12)  = NULL,
21
@p_CREATE_DT	VARCHAR(20) = NULL,
22
@p_AUTH_STATUS	varchar(50)  = NULL,
23
@p_CHECKER_ID	varchar(12)  = NULL,
24
@p_APPROVE_DT	VARCHAR(20) = NULL,
25
@p_BID_CATEGORY VARCHAR(15)=NULL,
26
@p_Contractor_Det XML = NULL
27

    
28
AS
29
	Declare @hdoc INT
30
	Exec sp_xml_preparedocument @hdoc Output,@p_Contractor_Det
31
	DECLARE ContractorDetail CURSOR FOR
32
	SELECT *
33
	FROM OPENXML(@hDoc,'/Root/ContractorDetail',2)
34
	WITH 
35
	(
36
		ID VARCHAR(15),
37
		SUP_ID	varchar(15)  ,
38
		SEND_DT	VARCHAR(20)  ,
39
		OFFERING_VALUE	decimal(18),
40
		FORM	varchar(4),
41
		EXP_DT	VARCHAR(20),
42
		BANK	nvarchar(200),
43
		VOUCHER	varchar(20) ,
44
		PROGRESS_TIME INT,
45
		ISVALID varchar(1),
46
		IS_BID_WIN	varchar(1) ,
47
		NOTES nvarchar(1000)
48
	)
49
	OPEN ContractorDetail
50
	-- Put validation here
51
	
52
BEGIN TRANSACTION
53
	----
54
	--IF(@p_BID_CATEGORY IS NOT NULL AND @p_BID_CATEGORY <>'')
55
	--BEGIN
56
		
57
		IF(NOT EXISTS(SELECT BID_ID FROM dbo.BID_MASTER WHERE BID_ID=@p_BID_ID AND BID_CATEGORY =@p_BID_CATEGORY))
58
		BEGIN
59
		EXEC dbo.BID_CODE_GenKey 'BID_MASTER', @p_BID_CATEGORY, @p_BID_CODE OUTPUT 
60
		END
61
		-- Kiem tra ma ke hoach co ton tai hay chua
62
	IF EXISTS(SELECT * FROM BID_MASTER WHERE [BID_CODE]=@p_BID_CODE AND [BID_ID] != @p_BID_ID)
63
	BEGIN
64
		ROLLBACK TRANSACTION
65
		SELECT ErrorCode Result, '' BID_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'BID-00001'
66
		RETURN '0'
67
	END
68

    
69
	----
70
	UPDATE BID_MASTER SET [BID_CODE] = @p_BID_CODE, [BID_TYPE] = @p_BID_YPE, [PROJECT_ID] = @p_PROJECT_ID,[TERM_BID] = @p_TERM_BID,[FORM] = @p_FORM,[INPUT_DT] = CONVERT(DATETIME, @p_INPUT_DT, 103),[EXP_DT] = CONVERT(DATETIME, @p_EXP_DT, 103),[OPEN_DT] = CONVERT(DATETIME, @p_OPEN_DT, 103),[BUDGET] = @p_BUDGET,[TOTAL_AMT] = @p_TOTAL_AMT,[GUARANTEE_AMT] = @p_GUARANTEE_AMT,[GUARANTEE_PER] = @p_GUARANTEE_PER,[GUARANTEE_EXP] = CONVERT(DATETIME, @p_GUARANTEE_EXP, 103),[NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,[MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[AUTH_STATUS] = @p_AUTH_STATUS,[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),BID_CATEGORY=@p_BID_CATEGORY
71
	WHERE  BID_ID= @p_BID_ID
72
	IF @@Error <> 0 GOTO ABORT
73
		DECLARE 
74
		@ID VARCHAR(15),
75
		@SUP_ID	varchar(15)  ,
76
		@SEND_DT	VARCHAR(20)  ,
77
		@OFFERING_VALUE	decimal(18),
78
		@FORM	varchar(4),
79
		@EXP_DT	VARCHAR(20),
80
		@BANK	nvarchar(200),
81
		@VOUCHER	varchar(20) ,
82
		@ISVALID varchar(1),
83
		@IS_BID_WIN	varchar(1) ,
84
		@PROGRESS_TIME INT,
85
		@NOTES nvarchar(1000)
86
		FETCH NEXT FROM ContractorDetail INTO @ID,@SUP_ID,@SEND_DT,@OFFERING_VALUE,@FORM,
87
		@EXP_DT,@BANK,@VOUCHER,@PROGRESS_TIME,@ISVALID,@IS_BID_WIN,@NOTES
88
		
89
		
90
		WHILE @@FETCH_STATUS = 0
91
		BEGIN
92
			IF(@ID IS NOT NULL AND @ID <>'')
93
			BEGIN
94
				UPDATE dbo.BID_CONTRACTOR_DT SET SUP_ID=@SUP_ID,OFFERING_VALUE=@OFFERING_VALUE,@SEND_DT=@SEND_DT,FORM=@FORM,EXP_DT=@EXP_DT,BANK=@BANK,
95
				VOUCHER=@VOUCHER,PROGRESS_TIME=@PROGRESS_TIME,ISVALID=ISVALID,IS_BID_WIN=@IS_BID_WIN,NOTES=@NOTES WHERE ID=@ID
96
			END
97
			ELSE
98
			BEGIN
99
			
100
				EXEC SYS_CodeMasters_Gen 'BID_CONTRACTOR_DT', @ID out
101
				IF @ID='' OR @ID IS NULL GOTO ABORT
102
		
103
			
104
				IF @EXP_DT = '' SET @EXP_DT = NULL
105

    
106
				INSERT INTO BID_CONTRACTOR_DT([ID],[SUP_ID],[BID_ID],[SEND_DT],[OFFERING_VALUE],[FORM],[EXP_DT],
107
				[BANK],[VOUCHER],[ISVALID],[IS_BID_WIN],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],
108
				[CHECKER_ID],[APPROVE_DT],[PROGRESS_TIME])
109
				VALUES(@ID ,@SUP_ID ,@P_BID_ID ,CONVERT(DATETIME, @SEND_DT, 103) ,@OFFERING_VALUE ,@FORM,
110
				CASE WHEN @EXP_DT IS NOT NULL AND @EXP_DT <> '' then CONVERT(DATETIME, @EXP_DT, 103) ELSE NULL END ,@BANK ,@VOUCHER ,@ISVALID,@IS_BID_WIN ,
111
				@NOTES ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,
112
				CONVERT(DATETIME, @p_APPROVE_DT, 103),@PROGRESS_TIME)
113
			END
114
			--IF @@ERROR <> 0 GOTO ABORT
115
			FETCH NEXT FROM ContractorDetail INTO @ID,@SUP_ID,@SEND_DT,@OFFERING_VALUE,@FORM,
116
			@EXP_DT,@BANK,@VOUCHER,@PROGRESS_TIME,@ISVALID,@IS_BID_WIN,@NOTES
117
		END
118

    
119
		CLOSE ContractorDetail
120
		DEALLOCATE ContractorDetail
121

    
122
COMMIT TRANSACTION
123
SELECT '0' as Result, @P_BID_ID  BID_ID, '' ErrorDesc
124
RETURN '0'
125
ABORT:
126
BEGIN
127
		CLOSE ContractorDetail
128
		DEALLOCATE ContractorDetail
129
		ROLLBACK TRANSACTION
130
		SELECT '-1' as Result, '' BID_ID, '' ErrorDesc
131
		RETURN '-1'
132
End
133

    
134

    
135

    
136

    
137

    
138

    
139