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
|