Project

General

Profile

STA_SYNTHETIC_DISTRIBUTE_Upd.txt

Luc Tran Van, 06/08/2025 10:47 AM

 
1
alter PROCEDURE [dbo].[STA_SYNTHETIC_DISTRIBUTE_Upd]
2
	@P_SYN_DIS_ID VARCHAR(15) = NULL,
3
	@P_REG_ID VARCHAR(15) = NULL,
4
	@P_SYN_DIS_CODE VARCHAR(50) = NULL,
5
	@P_SIGN_USER VARCHAR(15) = NULL,
6
	@P_BRANCH_ID VARCHAR(15) = NULL,
7
	@P_DEP_ID VARCHAR(15) = NULL,
8
	@P_MAKER_ID VARCHAR(15) = NULL,
9
	@P_CREATE_DT VARCHAR(20) = NULL,
10
	@P_LIST_GOODS_XML XML = NULL
11
AS
12
BEGIN TRANSACTION
13
	
14
	DECLARE @hDoc INT
15

    
16
	-------------------- Cập nhật dữ liệu bảng STA_SYNTHETIC_DISTRIBUTE_MASTER (Tổng hợp và phân bổ) -----------------------
17
	
18
	UPDATE [dbo].[STA_SYNTHETIC_DISTRIBUTE_MASTER]
19
	SET [SIGN_USER] = @P_SIGN_USER
20
		,[RECORD_STATUS] = '1'
21
		,[CHECKER_ID] = NULL
22
		,[APPROVE_DT] = NULL
23
		,[AUTH_STATUS] = 'E'
24
	WHERE SYN_DIS_ID = @P_SYN_DIS_ID
25
	
26
	IF @@Error <> 0 GOTO ABORT
27

    
28
	EXEC sp_xml_preparedocument @hDoc OUTPUT, @P_LIST_GOODS_XML
29

    
30
	DECLARE @STA_SYNTHETIC_DISTRIBUTE_DT TABLE(
31
	[REQ_REG_ID] [varchar](15) NULL
32
	)
33

    
34
	INSERT INTO @STA_SYNTHETIC_DISTRIBUTE_DT 
35
	(
36
		[REQ_REG_ID]
37
	)
38
	SELECT [REQ_REG_ID]
39
	FROM OPENXML (@hDoc, '/Root/STAReqRegisterDT', 2)
40
	WITH (
41
		[REQ_REG_ID] [varchar](15)
42
	)
43
	GROUP BY REQ_REG_ID
44

    
45
	IF @@Error <> 0 GOTO ABORT
46

    
47
	--DELETE FROM STA_SYNTHETIC_DISTRIBUTE_DT WHERE SYN_DIS_ID = @P_SYN_DIS_ID 
48

    
49
	--------------------- Thêm mới dữ liệu vào bảng STA_SYNTHETIC_DISTRIBUTE_DT (Các id của phiếu yêu cầu đăng ký đã được tổng hợp)
50
	INSERT INTO [dbo].[STA_SYNTHETIC_DISTRIBUTE_DT]
51
           ([SYN_DIS_ID]
52
           ,[REQ_REG_ID])
53
     SELECT 
54
		 @P_SYN_DIS_ID,
55
		 A.REQ_REG_ID
56
	 FROM @STA_SYNTHETIC_DISTRIBUTE_DT A
57
	 INNER JOIN STA_REQUEST_REGISTER_MASTER RRM ON RRM.REQ_REG_ID = A.REQ_REG_ID AND RRM.AUTH_STATUS = 'S'
58

    
59
	 IF @@Error <> 0 GOTO ABORT
60

    
61
	 	------- Cập nhật trạng thái 'ĐVCM đang xử lý' cho phiếu yêu cầu đăng ký đã được tổng hợp đặt hàng -------------
62
	UPDATE STA_REQUEST_REGISTER_MASTER
63
	SET AUTH_STATUS = 'Z'
64
	FROM STA_REQUEST_REGISTER_MASTER RRM
65
	INNER JOIN STA_SYNTHETIC_DISTRIBUTE_DT SDDT ON SDDT.REQ_REG_ID = RRM.REQ_REG_ID AND SDDT.SYN_DIS_ID = @P_SYN_DIS_ID
66
	WHERE RRM.AUTH_STATUS = 'S'
67

    
68
	 IF @@Error <> 0 GOTO ABORT
69

    
70
	 EXEC sp_xml_removedocument @hDoc;
71

    
72
	 ---------------- Thêm mới lịch sử xữ lý --------------------
73
	INSERT INTO dbo.PL_PROCESS
74
					(
75
					    REQ_ID,
76
					    PROCESS_ID,
77
					    CHECKER_ID,
78
					    APPROVE_DT,
79
					    PROCESS_DESC,
80
					    NOTES
81
					)
82
					VALUES
83
					(   @P_SYN_DIS_ID,       
84
						'UPDATE',
85
					    @p_MAKER_ID,        
86
					    GETDATE(), 
87
					    N'Cập nhật bảng tổng hợp và phân bổ thành công' ,      
88
					    N'Cập nhật bảng tổng hợp và phân bổ'       
89
					 )
90
	IF @@Error <> 0 GOTO ABORT
91

    
92
COMMIT TRANSACTION
93
	SELECT '0' as Result, @P_SYN_DIS_ID  SYN_DIS_ID, N'Cập nhật thành công' ErrorDesc
94
	RETURN '0'
95
ABORT:
96
BEGIN
97
		EXEC sp_xml_removedocument @hDoc;
98
		ROLLBACK TRANSACTION
99
		SELECT '-1' as Result, '' SYN_DIS_ID, N'Cập nhật không thành công' ErrorDesc
100
		RETURN '-1'
101
END