1
|
|
2
|
ALTER PROCEDURE dbo.CM_BRANCH_Upd
|
3
|
@p_BRANCH_ID varchar(15) = null ,
|
4
|
@p_FATHER_ID varchar(15) = NULL ,
|
5
|
@p_BRANCH_CODE varchar(10) = NULL ,
|
6
|
@p_BRANCH_NAME nvarchar(200) = NULL ,
|
7
|
@p_REGION_ID varchar(15) = NULL ,
|
8
|
@p_BRANCH_TYPE varchar(5) = NULL ,
|
9
|
@p_ADDR nvarchar(200) = NULL ,
|
10
|
@p_TEL varchar(20) = NULL ,
|
11
|
@p_NOTES nvarchar(1000) = NULL ,
|
12
|
@p_IS_POTENTIAL varchar(1) = NULL,
|
13
|
@p_RECORD_STATUS varchar(1) = NULL ,
|
14
|
@p_MAKER_ID varchar(15) = NULL ,
|
15
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
16
|
@p_AUTH_STATUS varchar(50) = NULL ,
|
17
|
@p_CHECKER_ID varchar(15) = NULL ,
|
18
|
@p_TAX_NO varchar(50) = NULL,
|
19
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
20
|
@p_DAO_CODE VARCHAR(40) = NULL,
|
21
|
@p_DAO_NAME NVARCHAR(500) = NULL,
|
22
|
@p_PROVICE NVARCHAR(500) = NULL
|
23
|
AS
|
24
|
--Validation is here
|
25
|
|
26
|
|
27
|
DECLARE @ERRORSYS NVARCHAR(15) = '' ,@ERROR_MESSAGE NVARCHAR(MAX)
|
28
|
|
29
|
IF( EXISTS (SELECT * FROM CM_BRANCH WHERE (@p_TAX_NO IS NOT NULL AND @p_TAX_NO <> '' ) AND TAX_NO = @p_TAX_NO AND BRANCH_ID <> @p_BRANCH_ID))
|
30
|
BEGIN
|
31
|
SELECT '-1' Result, '' REQ_ID, N'Mã số thuế bị trùng với các đơn vị sau: ' +STUFF((
|
32
|
select ', ' + cb.BRANCH_CODE + '-' +cb.BRANCH_NAME
|
33
|
FROM CM_BRANCH cb
|
34
|
WHERE (@p_TAX_NO IS NOT NULL AND @p_TAX_NO <> '' ) AND TAX_NO = @p_TAX_NO AND BRANCH_ID <> @p_BRANCH_ID
|
35
|
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 1, '') ErrorDesc
|
36
|
RETURN '-1'
|
37
|
END
|
38
|
-- IF( EXISTS (SELECT * FROM CM_BRANCH WHERE (@p_TAX_NO IS NOT NULL AND @p_TAX_NO <> '' ) AND TAX_NO = @p_TAX_NO AND BRANCH_ID <> @p_BRANCH_ID))
|
39
|
-- SET @ERRORSYS = 'BRN-001'
|
40
|
|
41
|
IF ( EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_CODE = @p_BRANCH_CODE AND BRANCH_ID != @p_BRANCH_ID))
|
42
|
SET @ERRORSYS = 'CMCD-00001'
|
43
|
IF ( NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_ID))
|
44
|
SET @ERRORSYS = 'CMC-00001'
|
45
|
IF ( @p_FATHER_ID <> NULL OR @p_FATHER_ID <> '')
|
46
|
IF( NOT EXISTS ( SELECT * FROM CM_BRANCH WHERE BRANCH_ID = @p_FATHER_ID ) )
|
47
|
SET @ERRORSYS = 'CMC-00002'
|
48
|
IF @ERRORSYS <> ''
|
49
|
BEGIN
|
50
|
SELECT ErrorCode Result, '' ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
51
|
RETURN '0'
|
52
|
END
|
53
|
BEGIN TRANSACTION
|
54
|
UPDATE CM_BRANCH SET
|
55
|
[FATHER_ID] = @p_FATHER_ID,
|
56
|
[BRANCH_CODE] = @p_BRANCH_CODE,
|
57
|
[BRANCH_NAME] = @p_BRANCH_NAME,
|
58
|
[REGION_ID] = @p_REGION_ID,
|
59
|
[BRANCH_TYPE] = @p_BRANCH_TYPE,
|
60
|
[ADDR] = @p_ADDR,
|
61
|
[TEL] = @p_TEL,
|
62
|
[NOTES] = @p_NOTES,
|
63
|
[RECORD_STATUS] = @p_RECORD_STATUS,
|
64
|
[TAX_NO] = @p_TAX_NO,
|
65
|
[IS_POTENTIAL] = @p_IS_POTENTIAL,
|
66
|
[AUTH_STATUS] = @p_AUTH_STATUS,
|
67
|
PROVICE=@p_PROVICE,
|
68
|
DAO_CODE=@p_DAO_CODE,
|
69
|
DAO_NAME=@p_DAO_NAME
|
70
|
WHERE BRANCH_ID= @p_BRANCH_ID
|
71
|
IF @@Error <> 0 GOTO ABORT
|
72
|
|
73
|
DECLARE @DMMS_ID VARCHAR(20)
|
74
|
-- KIỂM TRA XEM ĐÃ KHAI BÁO ĐƠN VỊ / CHI NHÁNH NÀY TRONG CM_DMMS HAY CHƯA
|
75
|
IF(NOT EXISTS (SELECT * FROM CM_DMMS WHERE BRANCH_ID =@p_BRANCH_ID))
|
76
|
BEGIN
|
77
|
EXEC SYS_CodeMasters_Gen 'CM_DMMS', @DMMS_ID out
|
78
|
INSERT INTO CM_DMMS (DMMS_ID,BRANCH_ID, DEP_ID,DVDM_ID) VALUES (@DMMS_ID,@p_BRANCH_ID,(SELECT TOP 1 DEP_ID FROM CM_DEPARTMENT WHERE BRANCH_ID =@p_BRANCH_ID),'')
|
79
|
END
|
80
|
COMMIT TRANSACTION
|
81
|
SELECT '0' as Result, @p_BRANCH_ID ID, '' ErrorDesc
|
82
|
RETURN '0'
|
83
|
ABORT:
|
84
|
BEGIN
|
85
|
ROLLBACK TRANSACTION
|
86
|
SELECT '-1' as Result, '' ID, '' ErrorDesc
|
87
|
RETURN '-1'
|
88
|
End
|