1
|
ALTER PROCEDURE dbo.ASS_ADDNEW_KT_BVB_Upd
|
2
|
@p_ADDNEW_ID varchar(15) = NULL,
|
3
|
@p_AMORT_START_DATE varchar(30) = NULL,------------THEM NGAY BD KHAU HAO
|
4
|
@p_AMORT_END_DATE varchar(30) = NULL,------------THEM NGAY BD KHAU HAO
|
5
|
@p_AMORT_MONTH DECIMAL(18,2) = NULL,
|
6
|
@p_AMORT_RATE decimal(18,2) = NULL,
|
7
|
@p_CORE_NOTE nvarchar(500) = NULL,
|
8
|
@p_ENTRY_BOOKED varchar(1) = NULL, --Them de kiem tra co hach toan tai san khi nhap ts khong (Y/N)?
|
9
|
@p_MAKER_ID varchar(15) = NULL,
|
10
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
11
|
@p_CREATE_DT VARCHAR(30) = NULL,
|
12
|
@p_CHECKER_ID varchar(15) = NULL,
|
13
|
@p_APPROVE_DT VARCHAR(30) = NULL,
|
14
|
@p_POSTED_STATUS VARCHAR(1) = NULL,
|
15
|
@p_BRANCH_CREATE VARCHAR(15) = NULL,
|
16
|
--
|
17
|
@p_BUY_DATE VARCHAR(30) = NULL,
|
18
|
@p_TYPE_ID varchar(15) = NULL,
|
19
|
@p_GROUP_ID varchar(15) = NULL,
|
20
|
@p_ASSET_NAME nvarchar(1000) = NULL,
|
21
|
@p_ASSET_SERIAL_NO nvarchar(MAX) = NULL,
|
22
|
@p_ASSET_DESC nvarchar(max) = NULL,
|
23
|
@p_BRANCH_ID varchar(15) = NULL,
|
24
|
@p_DEPT_ID varchar(15) = NULL,---------Them ma phong ban
|
25
|
@p_EMP_ID varchar(15) = NULL,-----------Them Nguoi su dung
|
26
|
@p_DIVISION_ID varchar(15) = NULL,----------Them co so
|
27
|
@p_BUY_PRICE decimal(18) = NULL,
|
28
|
@p_IS_MULTIPLE varchar(1) = NULL,
|
29
|
@p_QTY int = NULL,
|
30
|
@p_PO_ID varchar(15) = NULL,
|
31
|
@p_PD_ID varchar(15) = NULL, --Them de luu chi tiet PO
|
32
|
@p_REF_ASSET_ID varchar(15) = NULL,
|
33
|
@p_REF_AMORTIZED_AMT decimal(18) = NULL,
|
34
|
@p_WARRANTY_MONTHS int = NULL,
|
35
|
@p_NOTES nvarchar(1000) = NULL,
|
36
|
@p_ADDNEW_DT XML = NULL,
|
37
|
@p_RECORD_STATUS varchar(1) = NULL,
|
38
|
@p_AUTH_STATUS varchar(1) = NULL,
|
39
|
@p_CONSTRUCT_ID VARCHAR(15) = NULL,
|
40
|
@p_ACCOUNT_GL VARCHAR(50),
|
41
|
@VAT DECIMAL(18,2),
|
42
|
@PRICE_VAT DECIMAL(18,2),
|
43
|
--/************ LUCTV ***************/
|
44
|
@p_ASS_PO_ID VARCHAR(15)= NULL,
|
45
|
--@l_ADDNEW_ID VARCHAR(15) = NULL,
|
46
|
@p_PO_CODE VARCHAR(500) = NULL,
|
47
|
@p_PR_CODE VARCHAR(500) = NULL,
|
48
|
@p_INVOICE_NO VARCHAR(500) = NULL,
|
49
|
@p_INVOICE_SYMPOL VARCHAR(500) = NULL,
|
50
|
@p_INVOICE_DT VARCHAR(20) = NULL
|
51
|
,@p_WIN VARCHAR(1) NULL
|
52
|
,@p_OFFICE VARCHAR(1) NULL
|
53
|
,@p_PL_CODE VARCHAR(50) NULL
|
54
|
,@p_UNIT VARCHAR(50) NULL
|
55
|
AS
|
56
|
--IF(@p_PR_CODE IS NULL OR @p_PR_CODE ='')
|
57
|
--BEGIN
|
58
|
-- SELECT '-1' Result, '' ADDNEW_ID, N'Số PR không được để trống' ErrorDesc
|
59
|
-- RETURN '-1'
|
60
|
--END
|
61
|
IF(@p_INVOICE_NO IS NULL OR @p_INVOICE_NO ='')
|
62
|
BEGIN
|
63
|
SELECT '-1' Result, @p_ADDNEW_ID ADDNEW_ID, N'Số hóa đơn không được để trống' ErrorDesc
|
64
|
RETURN '-1'
|
65
|
END
|
66
|
IF(@p_INVOICE_DT IS NULL OR @p_INVOICE_DT ='')
|
67
|
BEGIN
|
68
|
SELECT '-1' Result, @p_ADDNEW_ID ADDNEW_ID, N'Ngày hóa đơn không được để trống' ErrorDesc
|
69
|
RETURN '-1'
|
70
|
END
|
71
|
-- GIANT 04/11/2021 @p_TYPE_ID
|
72
|
--IF((@p_BUY_PRICE IS NULL OR @p_BUY_PRICE ='') AND @p_BUY_PRICE >= 30000000 AND @p_TYPE_ID = 'TSCD')
|
73
|
--BEGIN
|
74
|
-- SELECT '-1' Result, '' ADDNEW_ID, N'Giá trị tài sản phải lớn hơn hoặc bằng 30,000,000 khi thuộc nhóm Tài sản cố định' ErrorDesc
|
75
|
-- RETURN '-1'
|
76
|
--END
|
77
|
--IF((@p_BUY_PRICE IS NULL OR @p_BUY_PRICE ='') AND @p_BUY_PRICE < 30000000 AND @p_TYPE_ID = 'CCLD')
|
78
|
--BEGIN
|
79
|
-- SELECT '-1' Result, '' ADDNEW_ID, N'Giá trị tài sản phải bé hơn 30,000,000 khi thuộc nhóm Công cụ lao động' ErrorDesc
|
80
|
-- RETURN '-1'
|
81
|
--END
|
82
|
|
83
|
--IF((@p_AMORT_MONTH IS NULL OR @p_AMORT_MONTH ='') AND EXISTS(SELECT * FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID AND @p_AMORT_MONTH >= AMORT_MONTH_MIN AND @p_AMORT_MONTH <= AMORT_MONTH_MAX))
|
84
|
--BEGIN
|
85
|
-- SELECT '-1' Result, '' ADDNEW_ID, N'Số tháng khấu hao phải nằm trong (' + (SELECT AMORT_MONTH_MIN FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID) + ' - ' + (SELECT AMORT_MONTH_MAX FROM ASS_GROUP WHERE GROUP_ID = @p_GROUP_ID) + ')' ErrorDesc
|
86
|
-- RETURN '-1'
|
87
|
--END
|
88
|
|
89
|
|
90
|
|
91
|
|
92
|
|
93
|
--IF CONVERT(DATE, @p_AMORT_START_DATE, 103) < CONVERT(DATE,@p_CREATE_DT, 103)
|
94
|
--BEGIN
|
95
|
-- SELECT '-1' as Result, '' ADDNEW_ID, N'Ngày bắt đầu phân bổ không được nhỏ hơn ngày hiện tại' ErrorDesc
|
96
|
-- RETURN '-1'
|
97
|
--END
|
98
|
--HCQT KHONG XUAT THI KT KHONG DUOC XUAT - thieuvq bo dieu kien nay 051719 - KT duoc phep khi hc khong xuat
|
99
|
--DECLARE @_PRE_BRANCH_ID VARCHAR(15) = (SELECT BRANCH_ID FROM ASS_ADDNEW WHERE ADDNEW_ID = @p_ADDNEW_ID)
|
100
|
--IF ((@_PRE_BRANCH_ID IS NULL OR @_PRE_BRANCH_ID = '') AND (@p_BRANCH_ID <> ''))
|
101
|
--BEGIN
|
102
|
-- SELECT '-1' as Result, '' ADDNEW_ID, N'Bạn không được xuất sử dụng khi HCQT chưa xuất' ErrorDesc
|
103
|
-- RETURN '-1'
|
104
|
--END
|
105
|
|
106
|
DECLARE @l_C_TYPE_ID VARCHAR(50) = (SELECT AA.TYPE_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
|
107
|
DECLARE @l_C_GR_ID VARCHAR(50) = (SELECT AA.GROUP_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
|
108
|
DECLARE @l_C_GROUP_CODE VARCHAR(50) = (SELECT AG.GROUP_CODE FROM ASS_GROUP AG WHERE AG.GROUP_ID = @l_C_GR_ID)
|
109
|
DECLARE @l_NEW_GROUP_ID VARCHAR(50) = (SELECT AG.GROUP_ID FROM ASS_GROUP AG WHERE AG.GROUP_CODE = @l_C_GROUP_CODE AND AG.TYPE_ID = @p_TYPE_ID)
|
110
|
IF(@l_C_TYPE_ID <> @p_TYPE_ID)
|
111
|
BEGIN
|
112
|
IF(NOT EXISTS(SELECT AG.GROUP_ID FROM ASS_GROUP AG WHERE AG.GROUP_CODE = @l_C_GROUP_CODE AND AG.TYPE_ID = @p_TYPE_ID))
|
113
|
BEGIN
|
114
|
SELECT '-1' as Result, @p_ADDNEW_ID ADDNEW_ID, N'Loại tài sản hiện tại không có trong Nhóm tài sản' + @p_TYPE_ID ErrorDesc
|
115
|
RETURN '-1'
|
116
|
END
|
117
|
ELSE UPDATE ASS_ADDNEW SET GROUP_ID = @l_NEW_GROUP_ID WHERE ADDNEW_ID = @p_ADDNEW_ID
|
118
|
END
|
119
|
|
120
|
BEGIN TRANSACTION
|
121
|
|
122
|
----BO 2 KY TU DAC BIET & VA < TRONG DIEN GIAI HACH TOAN - THIEUVQ 020719 - BEGIN
|
123
|
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'&', 'VA')
|
124
|
SET @p_CORE_NOTE = REPLACE(@p_CORE_NOTE,'<', ' ')
|
125
|
--------------END---------------
|
126
|
|
127
|
------nhap moi la luon ghi tang tai san Chaunth 031218 - BEGIN -----
|
128
|
IF @p_BRANCH_ID <>'' OR @p_BRANCH_ID IS NOT NULL SET @p_ENTRY_BOOKED = 'Y'
|
129
|
--END----------
|
130
|
UPDATE ASS_ADDNEW
|
131
|
SET
|
132
|
[AMORT_START_DATE] = (CASE WHEN @p_AMORT_START_DATE IS NULL OR @p_AMORT_START_DATE = '' THEN NULL ELSE CONVERT(DATETIME, @p_AMORT_START_DATE, 103) END),-----------Them
|
133
|
[AMORT_END_DATE] = (CASE WHEN @p_AMORT_END_DATE IS NULL OR @p_AMORT_END_DATE = '' THEN NULL ELSE CONVERT(DATETIME, @p_AMORT_END_DATE, 103) END),-----------Them
|
134
|
[AMORT_MONTH] = @p_AMORT_MONTH,
|
135
|
[AMORT_RATE] = @p_AMORT_RATE,
|
136
|
[CORE_NOTE] = @p_CORE_NOTE,
|
137
|
[ENTRY_BOOKED] = @p_ENTRY_BOOKED, -- THEM KHI NHAP MOI CO TANG TAI SAN KHONG
|
138
|
[MAKER_ID_KT] = @p_MAKER_ID_KT,
|
139
|
[CREATE_DT_KT] = GETDATE(),
|
140
|
--[CHECKER_ID_KT] = @p_CHECKER_ID,
|
141
|
--[APPROVE_DT_KT] =CASE WHEN @p_APPROVE_DT = '' OR @p_APPROVE_DT IS NULL THEN NULL ELSE CONVERT(DATETIME, @p_APPROVE_DT, 103) END,
|
142
|
[POSTED_STATUS] = @p_POSTED_STATUS,-- THEM 14/04/2014
|
143
|
[BRANCH_CREATE] = @p_BRANCH_CREATE,-- THEM 14/04/2014
|
144
|
--
|
145
|
BUY_DATE = CONVERT(DATETIME,@p_BUY_DATE, 103),
|
146
|
[TYPE_ID] = @p_TYPE_ID,
|
147
|
GROUP_ID = @l_NEW_GROUP_ID,
|
148
|
ASSET_NAME = @p_ASSET_NAME,
|
149
|
ASSET_SERIAL_NO = @p_ASSET_SERIAL_NO,
|
150
|
ASSET_DESC = @p_ASSET_DESC,
|
151
|
BRANCH_ID = @p_BRANCH_ID,
|
152
|
DEPT_ID = @p_DEPT_ID,
|
153
|
EMP_ID = @p_EMP_ID,
|
154
|
DIVISION_ID = @p_DIVISION_ID,
|
155
|
BUY_PRICE = @p_BUY_PRICE,
|
156
|
AMORT_AMT = @p_BUY_PRICE,
|
157
|
IS_MULTIPLE = @p_IS_MULTIPLE,
|
158
|
QTY = @p_QTY,
|
159
|
PO_ID = @p_PO_ID,
|
160
|
PD_ID = @p_PD_ID,
|
161
|
REF_ASSET_ID = @p_REF_ASSET_ID,
|
162
|
REF_AMORTIZED_AMT = @p_REF_AMORTIZED_AMT,
|
163
|
WARRANTY_MONTHS = @p_WARRANTY_MONTHS,
|
164
|
NOTES = @p_NOTES,
|
165
|
RECORD_STATUS = @p_RECORD_STATUS,
|
166
|
--AUTH_STATUS = @p_AUTH_STATUS,
|
167
|
CONSTRUCT_ID = @p_CONSTRUCT_ID,
|
168
|
--
|
169
|
[ACCOUNT_GL] = @p_ACCOUNT_GL,
|
170
|
[VAT] = @VAT,
|
171
|
[PRICE_VAT] = @PRICE_VAT,
|
172
|
---khiemchg BO SUNG CAP NHAT AUTH_STATUS =E cho gửi phê duyệt
|
173
|
AUTH_STATUS_KT='E',
|
174
|
PR_CODE = @p_PR_CODE
|
175
|
,WIN_CRACK = @p_WIN
|
176
|
,OFFICE_CRACK = @p_OFFICE, PL_CODE = @p_PL_CODE
|
177
|
, UNIT = @p_UNIT
|
178
|
WHERE ADDNEW_ID = @p_ADDNEW_ID
|
179
|
IF @@Error <> 0 GOTO ABORT
|
180
|
SET @p_ASS_PO_ID = (SELECT AA.PO_ID FROM ASS_ADDNEW AA WHERE AA.ADDNEW_ID = @p_ADDNEW_ID)
|
181
|
UPDATE ASS_PO
|
182
|
SET PO_CODE=@p_PO_CODE,
|
183
|
INVOICE_DATE = CONVERT(DATETIME,@p_INVOICE_DT,103),
|
184
|
INVOICE_NO =@p_INVOICE_NO, INVOICE_SYMPOL = @p_INVOICE_SYMPOL,
|
185
|
ADDNEW_ID =@p_ADDNEW_ID
|
186
|
WHERE ASSPO_ID = @p_ASS_PO_ID
|
187
|
IF @@Error <> 0 GOTO ABORT
|
188
|
|
189
|
-- HUYHT 06/05/2022: XÓA CÁC PROCESS UPDATE CŨ
|
190
|
DELETE dbo.PL_PROCESS WHERE REQ_ID = @p_ADDNEW_ID AND PROCESS_ID = 'UPDATE'
|
191
|
-- GIANT Insert to table PL_PROCESS
|
192
|
INSERT INTO dbo.PL_PROCESS
|
193
|
(
|
194
|
REQ_ID,
|
195
|
PROCESS_ID,
|
196
|
CHECKER_ID,
|
197
|
APPROVE_DT,
|
198
|
PROCESS_DESC,
|
199
|
NOTES
|
200
|
)
|
201
|
VALUES
|
202
|
( @p_ADDNEW_ID,
|
203
|
'UPDATE',
|
204
|
@p_MAKER_ID_KT,
|
205
|
GETDATE(),
|
206
|
N'Giao dịch viên cập nhật hạch toán thành công' ,
|
207
|
N'Giao dịch viên cập nhật hạch toán'
|
208
|
)
|
209
|
|
210
|
COMMIT TRANSACTION
|
211
|
SELECT '0' as Result, @p_ADDNEW_ID ADDNEW_ID, '' ErrorDesc
|
212
|
RETURN '0'
|
213
|
ABORT:
|
214
|
BEGIN
|
215
|
ROLLBACK TRANSACTION
|
216
|
SELECT '-1' as Result, @p_ADDNEW_ID ADDNEW_ID, '' ErrorDesc
|
217
|
RETURN '-1'
|
218
|
End
|