1
|
|
2
|
ALTER PROCEDURE dbo.ASS_INVENTORY_MASTER_App
|
3
|
@P_INVENT_ID VARCHAR(15),
|
4
|
@P_AUTH_STATUS VARCHAR(1),
|
5
|
@P_CHECKER_ID VARCHAR(15),
|
6
|
@P_APPROVE_DT VARCHAR(20),
|
7
|
@P_MESSAGE NVARCHAR(1000)
|
8
|
AS
|
9
|
--Validation is here
|
10
|
/*
|
11
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
12
|
IF ( NOT EXISTS ( SELECT * FROM ASS_INVENTORY_MASTER WHERE ))
|
13
|
SET @ERRORSYS = ''
|
14
|
IF @ERRORSYS <> ''
|
15
|
BEGIN
|
16
|
SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
17
|
RETURN '0'
|
18
|
END
|
19
|
SELECT * FROM ASS_MASTER
|
20
|
SELECT * FROM ASS_INVENTORY_DT
|
21
|
*/
|
22
|
/****PGD KHONG DUOC PHEP THUC HIEN KIEM KE***/
|
23
|
DECLARE @l_TYPE_CREATE VARCHAR(200)
|
24
|
SET @l_TYPE_CREATE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = (SELECT B.BRANCH_CREATE FROM ASS_INVENTORY_MASTER B WHERE B.INVENT_ID = @P_INVENT_ID))
|
25
|
IF @l_TYPE_CREATE <> 'CN' AND @l_TYPE_CREATE <> 'HS'
|
26
|
BEGIN
|
27
|
SELECT '-1' as Result, '' INVENT_ID, N'Đơn vị không được phép duyệt đợt kiểm kê.' ErrorDesc
|
28
|
RETURN '-1'
|
29
|
END
|
30
|
IF EXISTS (
|
31
|
SELECT A.ASSET_ID
|
32
|
FROM ASS_INVENTORY_DT A
|
33
|
WHERE A.INVENT_ID = @P_INVENT_ID AND A.ASSET_STATUS <> '1' AND (A.INVENT_DESC IS NULL OR A.INVENT_DESC = '')
|
34
|
)
|
35
|
BEGIN
|
36
|
SELECT '-1' as Result, '' INVENT_ID, N'Phải cập nhật hiện trạng cho các tài sản có tình trạng khác bình thường trước khi duyệt' ErrorDesc
|
37
|
RETURN '-1'
|
38
|
END
|
39
|
BEGIN TRANSACTION
|
40
|
DECLARE @l_ASSET_ID VARCHAR(15)
|
41
|
DECLARE @l_ASSET_STATUS VARCHAR(10),@l_ASSET_STATUS_DESC NVARCHAR(1000),@l_ASSET_NOTES NVARCHAR(4000)
|
42
|
DECLARE pCUR CURSOR FOR
|
43
|
SELECT A.ASSET_ID,A.ASSET_STATUS,A.INVENT_DESC,A.NOTES
|
44
|
FROM ASS_INVENTORY_DT A
|
45
|
WHERE A.INVENT_ID = @P_INVENT_ID
|
46
|
--thieuvq them dieu kien khong cap nhat tai san THUA SO VOI SAO KE
|
47
|
AND A.ASSET_STATUS <> '6'
|
48
|
OPEN pCUR
|
49
|
|
50
|
|
51
|
|
52
|
|
53
|
-- GIANT XÁC NHẬN THÀNH PHẦN KIỂM KÊ
|
54
|
-- UPDATE ASS_INVENTORY_PARTY_DT SET APPROVE_DT = GETDATE()
|
55
|
-- WHERE INVENT_ID = @P_INVENT_ID
|
56
|
|
57
|
UPDATE ASS_INVENTORY_PARTY_DT SET COMMENT = @P_MESSAGE, IS_DONE = '1', CONFIRM_DT = GETDATE()
|
58
|
WHERE INVENT_ID = @P_INVENT_ID AND IS_MAIN = '1' AND PARTY_NAME =@P_CHECKER_ID
|
59
|
|
60
|
IF @@Error <> 0 GOTO ABORT
|
61
|
|
62
|
|
63
|
DECLARE @PROCESS_ID_CUR VARCHAR(15) = (SELECT PROCESS_ID FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @P_INVENT_ID)
|
64
|
DECLARE @PROCESS_ID_NEXT VARCHAR(15) = (SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID = @P_INVENT_ID AND PARENT_PROCESS_ID = @PROCESS_ID_CUR)
|
65
|
UPDATE dbo.ASS_INVENTORY_MASTER SET PROCESS_ID = @PROCESS_ID_NEXT WHERE INVENT_ID = @P_INVENT_ID
|
66
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS = 'P',CHECKER_ID = @P_CHECKER_ID, APPROVE_DT = GETDATE() WHERE REQ_ID = @P_INVENT_ID AND ROLE_USER = @P_CHECKER_ID AND PROCESS_ID = @PROCESS_ID_CUR
|
67
|
|
68
|
|
69
|
IF(NOT EXISTS(SELECT 1 FROM ASS_INVENTORY_PARTY_DT aipd WHERE aipd.INVENT_ID=@P_INVENT_ID AND aipd.IS_MAIN='1' AND aipd.IS_DONE='0'))
|
70
|
BEGIN
|
71
|
|
72
|
|
73
|
--CAP NHAT TRANG THAI TAI SAN SAU KHI KIEM KE
|
74
|
FETCH NEXT FROM pCUR INTO @l_ASSET_ID,@l_ASSET_STATUS,@l_ASSET_STATUS_DESC,@l_ASSET_NOTES
|
75
|
|
76
|
WHILE @@FETCH_STATUS = 0
|
77
|
BEGIN
|
78
|
UPDATE ASS_MASTER SET ASS_STATUS = @l_ASSET_STATUS, ASS_STATUS_DESC = @l_ASSET_STATUS_DESC,NOTES= @l_ASSET_NOTES
|
79
|
WHERE ASSET_ID = @l_ASSET_ID
|
80
|
FETCH NEXT FROM pCUR INTO @l_ASSET_ID,@l_ASSET_STATUS,@l_ASSET_STATUS_DESC,@l_ASSET_NOTES
|
81
|
END
|
82
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @P_INVENT_ID AND PROCESS_ID = @PROCESS_ID_NEXT
|
83
|
UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS = @P_AUTH_STATUS, CHECKER_ID = @P_CHECKER_ID, APPROVE_DT = CONVERT(DATETIME,@P_APPROVE_DT,103)
|
84
|
WHERE INVENT_ID = @P_INVENT_ID
|
85
|
END
|
86
|
|
87
|
-- GIANT 26/08/2021
|
88
|
INSERT INTO dbo.PL_PROCESS
|
89
|
(
|
90
|
REQ_ID,
|
91
|
PROCESS_ID,
|
92
|
CHECKER_ID,
|
93
|
APPROVE_DT,
|
94
|
PROCESS_DESC,
|
95
|
NOTES
|
96
|
)
|
97
|
VALUES
|
98
|
( @p_INVENT_ID,
|
99
|
'APPROVE',
|
100
|
@P_CHECKER_ID,
|
101
|
GETDATE(),
|
102
|
N'Trưởng ban kiêm kê phê duyệt kiểm kê' ,
|
103
|
N'Phê duyệt thông tin kiêm kê'
|
104
|
)
|
105
|
|
106
|
|
107
|
|
108
|
CLOSE pCUR
|
109
|
DEALLOCATE pCUR
|
110
|
|
111
|
COMMIT TRANSACTION
|
112
|
SELECT '0' as Result, '' ErrorDesc
|
113
|
RETURN '0'
|
114
|
ABORT:
|
115
|
BEGIN
|
116
|
CLOSE pCUR
|
117
|
DEALLOCATE pCUR
|
118
|
ROLLBACK TRANSACTION
|
119
|
SELECT '-1' as Result, '' ErrorDesc
|
120
|
RETURN '-1'
|
121
|
End
|
122
|
|
123
|
|
124
|
|
125
|
GO
|
126
|
|
127
|
--SET QUOTED_IDENTIFIER ON|OFF
|
128
|
--SET ANSI_NULLS ON|OFF
|
129
|
--GO
|
130
|
ALTER PROCEDURE dbo.ASS_INVENTORY_MASTER_APPROVE_CONFIRM
|
131
|
@p_INVENT_ID VARCHAR(20) = NULL,
|
132
|
@p_CHECKER_ID VARCHAR(20) = NULL
|
133
|
AS
|
134
|
BEGIN TRANSACTION
|
135
|
DECLARE @PROCESS_ID_CUR VARCHAR(15) = (SELECT PROCESS_ID FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID)
|
136
|
UPDATE dbo.ASS_INVENTORY_PARTY_DT SET IS_DONE = '1' WHERE INVENT_ID = @p_INVENT_ID AND PARTY_NAME = @p_CHECKER_ID
|
137
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS = 'P',CHECKER_ID = @p_CHECKER_ID, APPROVE_DT = GETDATE() WHERE REQ_ID = @p_INVENT_ID AND ROLE_USER = @p_CHECKER_ID AND PROCESS_ID = @PROCESS_ID_CUR
|
138
|
|
139
|
IF(NOT EXISTS(SELECT 1 FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID = @p_INVENT_ID AND PROCESS_ID = @PROCESS_ID_CUR AND STATUS = 'C'))
|
140
|
BEGIN
|
141
|
DECLARE @PROCESS_ID_NEXT VARCHAR(15) = (SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID = @p_INVENT_ID AND PARENT_PROCESS_ID = @PROCESS_ID_CUR)
|
142
|
UPDATE dbo.ASS_INVENTORY_MASTER SET PROCESS_ID = @PROCESS_ID_NEXT WHERE INVENT_ID = @p_INVENT_ID
|
143
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @p_INVENT_ID AND PROCESS_ID = @PROCESS_ID_NEXT
|
144
|
END
|
145
|
|
146
|
INSERT INTO dbo.PL_PROCESS
|
147
|
(
|
148
|
REQ_ID,
|
149
|
PROCESS_ID,
|
150
|
CHECKER_ID,
|
151
|
APPROVE_DT,
|
152
|
PROCESS_DESC,
|
153
|
NOTES
|
154
|
)
|
155
|
VALUES
|
156
|
( @p_INVENT_ID,
|
157
|
'CONFIRM',
|
158
|
@p_CHECKER_ID,
|
159
|
GETDATE(),
|
160
|
N'Thành phần kiểm kê xác nhận thành công' ,
|
161
|
N'Xác nhận thông tin kiểm kê'
|
162
|
)
|
163
|
|
164
|
COMMIT TRANSACTION
|
165
|
SELECT '0' as Result, @p_INVENT_ID INVENT_ID, N'Xác nhận thành công' ErrorDesc
|
166
|
RETURN '0'
|
167
|
GO
|
168
|
|
169
|
ALTER PROC dbo.ASS_INVENTORY_MASTER_DVKD_App
|
170
|
@P_INVENT_ID VARCHAR(15),
|
171
|
@P_AUTH_STATUS VARCHAR(1),
|
172
|
@P_CHECKER_ID VARCHAR(15),
|
173
|
@P_APPROVE_DT VARCHAR(20)
|
174
|
AS
|
175
|
DECLARE @l_TYPE_CREATE VARCHAR(200)
|
176
|
|
177
|
SET @l_TYPE_CREATE = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = (SELECT B.BRANCH_CREATE FROM ASS_INVENTORY_MASTER B WHERE B.INVENT_ID = @P_INVENT_ID))
|
178
|
IF @l_TYPE_CREATE <> 'CN' AND @l_TYPE_CREATE <> 'HS'
|
179
|
BEGIN
|
180
|
SELECT '-1' as Result, '' INVENT_ID, N'Đơn vị không được phép duyệt đợt kiểm kê.' ErrorDesc
|
181
|
RETURN '-1'
|
182
|
END
|
183
|
IF EXISTS (
|
184
|
SELECT A.ASSET_ID
|
185
|
FROM ASS_INVENTORY_DT A
|
186
|
WHERE A.INVENT_ID = @P_INVENT_ID AND A.ASSET_STATUS <> '1' AND (A.INVENT_DESC IS NULL OR A.INVENT_DESC = '')
|
187
|
)
|
188
|
BEGIN
|
189
|
SELECT '-1' as Result, '' INVENT_ID, N'Phải cập nhật hiện trạng cho các tài sản có tình trạng khác bình thường trước khi duyệt' ErrorDesc
|
190
|
RETURN '-1'
|
191
|
END
|
192
|
|
193
|
BEGIN TRANSACTION
|
194
|
DECLARE @l_ASSET_ID VARCHAR(15)
|
195
|
DECLARE @l_ASSET_STATUS VARCHAR(10),@l_ASSET_STATUS_DESC NVARCHAR(1000),@l_ASSET_NOTES NVARCHAR(4000)
|
196
|
DECLARE pCUR CURSOR FOR
|
197
|
SELECT A.ASSET_ID,A.ASSET_STATUS,A.INVENT_DESC,A.NOTES
|
198
|
FROM ASS_INVENTORY_DT A
|
199
|
WHERE A.INVENT_ID = @P_INVENT_ID
|
200
|
AND A.ASSET_STATUS <> '6'
|
201
|
OPEN pCUR
|
202
|
DELETE FROM dbo.PL_REQUEST_PROCESS
|
203
|
WHERE REQ_ID = @P_INVENT_ID;
|
204
|
DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@STEP_PARENT VARCHAR(20)
|
205
|
SELECT @BRANCH_ID =TLSUBBRID,@DEP_ID=SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=(SELECT MAKER_ID FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @P_INVENT_ID)
|
206
|
IF(EXISTS(SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @P_INVENT_ID AND SIGN_USER =@p_CHECKER_ID AND PROCESS_ID ='SIGN'))
|
207
|
BEGIN
|
208
|
DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@P_INVENT_ID
|
209
|
INSERT INTO dbo.PL_PROCESS
|
210
|
(
|
211
|
REQ_ID,
|
212
|
PROCESS_ID,
|
213
|
CHECKER_ID,
|
214
|
APPROVE_DT,
|
215
|
PROCESS_DESC,NOTES
|
216
|
)
|
217
|
VALUES
|
218
|
( @P_INVENT_ID, -- REQ_ID - varchar(15)
|
219
|
'SIGN', -- PROCESS_ID - varchar(10)
|
220
|
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)
|
221
|
CONVERT(DATETIME,@p_APPROVE_DT,103) , -- APPROVE_DT - datetime
|
222
|
N'Cấp phê duyệt trung gian xác nhận phiếu kiểm kê',
|
223
|
N'Cấp phê duyệt trung gian'
|
224
|
)
|
225
|
--- DUA CAP PHE DUYET TRUONG DON VI
|
226
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
227
|
(
|
228
|
REQ_ID,
|
229
|
PROCESS_ID,
|
230
|
STATUS,
|
231
|
ROLE_USER,
|
232
|
BRANCH_ID,
|
233
|
DEP_ID,
|
234
|
CHECKER_ID,
|
235
|
APPROVE_DT,
|
236
|
PARENT_PROCESS_ID,
|
237
|
IS_LEAF,
|
238
|
COST_ID,
|
239
|
DVDM_ID,
|
240
|
NOTES,
|
241
|
IS_HAS_CHILD
|
242
|
)
|
243
|
VALUES
|
244
|
( @P_INVENT_ID, -- REQ_ID - varchar(15)
|
245
|
'APPNEW', -- PROCESS_ID - varchar(10)
|
246
|
'C', -- STATUS - varchar(5)
|
247
|
'GDDV', -- ROLE_USER - varchar(50)
|
248
|
--@BRANCH_CREATE,
|
249
|
@BRANCH_ID,
|
250
|
@DEP_ID, -- BRANCH_ID - varchar(15)
|
251
|
'', -- CHECKER_ID - varchar(15)
|
252
|
NULL, -- APPROVE_DT - datetime
|
253
|
'', -- PARENT_PROCESS_ID - varchar(10)
|
254
|
'N', -- IS_LEAF - varchar(1)
|
255
|
'', -- COST_ID - varchar(15)
|
256
|
'', -- DVDM_ID - varchar(15)
|
257
|
N'Chờ trưởng đơn vị phê duyệt', -- NOTES - nvarchar(500)
|
258
|
NULL -- IS_HAS_CHILD - bit
|
259
|
)
|
260
|
--- UPDATE PROCESS_ID VE APP_NEW
|
261
|
UPDATE ASS_INVENTORY_MASTER SET PROCESS_ID ='APPNEW' WHERE INVENT_ID = @P_INVENT_ID
|
262
|
END
|
263
|
ELSE
|
264
|
BEGIN
|
265
|
IF(EXISTS(SELECT 1 FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @P_INVENT_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <> ''))
|
266
|
BEGIN
|
267
|
IF(NOT EXISTS (SELECT 1 FROM PL_PROCESS WHERE PROCESS_ID='SIGN' AND REQ_ID =@P_INVENT_ID))
|
268
|
BEGIN
|
269
|
ROLLBACK TRANSACTION
|
270
|
SELECT '-1' Result, N'Phiếu kiểm kê đang đợi cấp phê duyệt trung gian xác nhận. Vui lòng đợi nhân viên '+(SELECT SIGN_USER FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @P_INVENT_ID)+N' xác nhận phiếu!' ErrorDesc
|
271
|
RETURN '-1'
|
272
|
END
|
273
|
IF(@p_CHECKER_ID = (SELECT SIGN_USER FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @P_INVENT_ID))
|
274
|
BEGIN
|
275
|
ROLLBACK TRANSACTION
|
276
|
SELECT '-1' Result, N'Phiếu kiểm kê đang đợi trưởng đơn vị phê duyệt. Bạn không có thẩm quyền phê duyệt cấp trưởng đơn vị! Vui lòng xem lịch sử xử lý phiếu' ErrorDesc
|
277
|
RETURN '-1'
|
278
|
END
|
279
|
END
|
280
|
|
281
|
|
282
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
283
|
(
|
284
|
REQ_ID,
|
285
|
PROCESS_ID,
|
286
|
STATUS,
|
287
|
ROLE_USER,
|
288
|
BRANCH_ID,
|
289
|
DEP_ID,
|
290
|
CHECKER_ID,
|
291
|
APPROVE_DT,
|
292
|
PARENT_PROCESS_ID,
|
293
|
IS_LEAF,
|
294
|
NOTES
|
295
|
)
|
296
|
VALUES
|
297
|
( @p_INVENT_ID, -- REQ_ID - varchar(15)
|
298
|
'APPNEW', -- PROCESS_ID - varchar(10)
|
299
|
'P', -- STATUS - varchar(5)
|
300
|
'GDDV', -- ROLE_USER - varchar(50)
|
301
|
@BRANCH_ID ,
|
302
|
@DEP_ID, -- BRANCH_ID - varchar(15)
|
303
|
@p_CHECKER_ID, -- CHECKER_ID - varchar(15)
|
304
|
GETDATE() , -- APPROVE_DT - datetime
|
305
|
NULL, 'N', N'Trưởng đơn vị phê duyệt'
|
306
|
);
|
307
|
SET @STEP_PARENT = 'APPNEW';
|
308
|
-- BUOC TIEN HANH KIEM KE
|
309
|
DECLARE @MAKER_ID varchar(15)
|
310
|
SET @MAKER_ID =(SELECT MAKER_ID FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @P_INVENT_ID)
|
311
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
312
|
(
|
313
|
REQ_ID,
|
314
|
PROCESS_ID,
|
315
|
STATUS,
|
316
|
ROLE_USER,
|
317
|
BRANCH_ID,
|
318
|
CHECKER_ID,
|
319
|
APPROVE_DT,
|
320
|
PARENT_PROCESS_ID,
|
321
|
IS_LEAF,
|
322
|
COST_ID,
|
323
|
DVDM_ID,
|
324
|
NOTES,
|
325
|
IS_HAS_CHILD
|
326
|
)
|
327
|
VALUES ( @P_INVENT_ID, 'THKK', 'U', @MAKER_ID,'','',NULL,@STEP_PARENT,'N','','',N'Chờ thành phần kiểm kê tiến hành kiểm kê',NULL)
|
328
|
|
329
|
SET @STEP_PARENT = 'THKK';
|
330
|
-- BUOC XU LY CUA THANH PHAN KIEM KE
|
331
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
332
|
(
|
333
|
REQ_ID,
|
334
|
PROCESS_ID,
|
335
|
STATUS,
|
336
|
ROLE_USER,
|
337
|
BRANCH_ID,
|
338
|
CHECKER_ID,
|
339
|
APPROVE_DT,
|
340
|
PARENT_PROCESS_ID,
|
341
|
IS_LEAF,
|
342
|
COST_ID,
|
343
|
DVDM_ID,
|
344
|
NOTES,
|
345
|
IS_HAS_CHILD
|
346
|
)
|
347
|
SELECT INVENT_ID, 'TPKK', 'U', PARTY_NAME,'','',NULL,@STEP_PARENT,'N','','',N'Chờ thành phần kiểm kê xác nhận',NULL
|
348
|
FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @P_INVENT_ID AND IS_RECIVE_MAIL = '1' AND IS_MAIN = '0'
|
349
|
SET @STEP_PARENT = 'TPKK';
|
350
|
|
351
|
-- BUOC XU LY CUA TRUONG BAN KIEM KE
|
352
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
353
|
(
|
354
|
REQ_ID,
|
355
|
PROCESS_ID,
|
356
|
STATUS,
|
357
|
ROLE_USER,
|
358
|
BRANCH_ID,
|
359
|
CHECKER_ID,
|
360
|
APPROVE_DT,
|
361
|
PARENT_PROCESS_ID,
|
362
|
IS_LEAF,
|
363
|
COST_ID,
|
364
|
DVDM_ID,
|
365
|
NOTES,
|
366
|
IS_HAS_CHILD
|
367
|
)
|
368
|
SELECT INVENT_ID, 'TBKK', 'U', PARTY_NAME,'','',NULL,@STEP_PARENT,'N','','',N'Chờ trưởng ban kiểm kê xác nhận',NULL
|
369
|
FROM dbo.ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @P_INVENT_ID AND IS_MAIN = '1'
|
370
|
SET @STEP_PARENT = 'TBKK';
|
371
|
|
372
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
373
|
(
|
374
|
REQ_ID,
|
375
|
PROCESS_ID,
|
376
|
STATUS,
|
377
|
ROLE_USER,
|
378
|
BRANCH_ID,
|
379
|
CHECKER_ID,
|
380
|
APPROVE_DT,
|
381
|
PARENT_PROCESS_ID,
|
382
|
IS_LEAF,
|
383
|
NOTES
|
384
|
)
|
385
|
VALUES
|
386
|
( @p_INVENT_ID, -- REQ_ID - varchar(15)
|
387
|
'APPROVE', -- PROCESS_ID - varchar(10)
|
388
|
'U', -- STATUS - varchar(5)
|
389
|
'', -- ROLE_USER - varchar(50)
|
390
|
'', -- BRANCH_ID - varchar(15)
|
391
|
'', -- CHECKER_ID - varchar(15)
|
392
|
NULL, -- APPROVE_DT - datetime
|
393
|
@STEP_PARENT, 'Y', N'Hoàn tất'
|
394
|
);
|
395
|
|
396
|
DECLARE @PROCESS_ID_CURR VARCHAR(10);
|
397
|
SET @PROCESS_ID_CURR =
|
398
|
(
|
399
|
SELECT TOP 1 PROCESS_ID
|
400
|
FROM dbo.PL_REQUEST_PROCESS
|
401
|
WHERE REQ_ID = @P_INVENT_ID
|
402
|
AND PARENT_PROCESS_ID = 'APPNEW'
|
403
|
);
|
404
|
|
405
|
UPDATE dbo.PL_REQUEST_PROCESS
|
406
|
SET STATUS = 'C'
|
407
|
WHERE PARENT_PROCESS_ID = 'APPNEW'
|
408
|
AND REQ_ID = @P_INVENT_ID;
|
409
|
UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD = 'A', CHECKER_ID_DVKD = @P_CHECKER_ID, APPROVE_DT_DVKD = GETDATE(),AUTH_STATUS = 'U',PROCESS_ID=@PROCESS_ID_CURR
|
410
|
WHERE INVENT_ID = @P_INVENT_ID
|
411
|
IF @@Error <> 0 GOTO ABORT
|
412
|
|
413
|
-- GIANT 26/08/2021
|
414
|
INSERT INTO dbo.PL_PROCESS
|
415
|
(
|
416
|
REQ_ID,
|
417
|
PROCESS_ID,
|
418
|
CHECKER_ID,
|
419
|
APPROVE_DT,
|
420
|
PROCESS_DESC,
|
421
|
NOTES
|
422
|
)
|
423
|
VALUES
|
424
|
( @p_INVENT_ID,
|
425
|
'APPROVE',
|
426
|
@P_CHECKER_ID,
|
427
|
GETDATE(),
|
428
|
N'Trưởng đơn vị đã phê duyệt thành công' ,
|
429
|
N'Trưởng đơn vị đã phê duyệt'
|
430
|
)
|
431
|
END
|
432
|
|
433
|
CLOSE pCUR
|
434
|
DEALLOCATE pCUR
|
435
|
|
436
|
COMMIT TRANSACTION
|
437
|
IF(EXISTS(SELECT * FROM ASS_INVENTORY_MASTER WHERE AUTH_STATUS_DVKD ='A' AND INVENT_ID =@p_INVENT_ID))
|
438
|
BEGIN
|
439
|
SELECT '0' AS Result,
|
440
|
--@ROLE_USER_NOTIFI AS ROLE_NOTIFI,
|
441
|
N'Phiếu kiểm kê đã được trưởng đơn vị phê duyệt thành công.' ErrorDesc;
|
442
|
RETURN '0';
|
443
|
END
|
444
|
ELSE
|
445
|
BEGIN
|
446
|
SELECT '0' as Result,
|
447
|
N'Phiếu kiểm kê đã được cấp phê duyệt trung gian xác nhận thành công. Vui lòng đợi trưởng đơn vị phê duyệt' ErrorDesc
|
448
|
RETURN '0'
|
449
|
END
|
450
|
SELECT '0' as Result, '' ErrorDesc
|
451
|
RETURN '0'
|
452
|
ABORT:
|
453
|
BEGIN
|
454
|
CLOSE pCUR
|
455
|
DEALLOCATE pCUR
|
456
|
ROLLBACK TRANSACTION
|
457
|
SELECT '-1' as Result, '' ErrorDesc
|
458
|
RETURN '-1'
|
459
|
End
|
460
|
|
461
|
|
462
|
|
463
|
|
464
|
GO
|
465
|
|
466
|
ALTER PROCEDURE dbo.ASS_INVENTORY_MASTER_Upd
|
467
|
@P_INVENT_ID VARCHAR(15) = NULL,
|
468
|
@p_INVENTORY_DT VARCHAR(20) = NULL,
|
469
|
@p_TERM nvarchar(20) = NULL,
|
470
|
@p_BRANCH_ID varchar(15) = NULL,
|
471
|
@p_DEPT_ID varchar(15) = NULL,
|
472
|
@p_NOTES NVARCHAR(1000) = NULL,
|
473
|
@p_RECORD_STATUS varchar(1) = NULL,
|
474
|
@p_AUTH_STATUS_DVKD varchar(1) = NULL,
|
475
|
@p_MAKER_ID varchar(15) = NULL,
|
476
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
477
|
@p_CHECKER_ID varchar(15) = NULL,
|
478
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
479
|
@P_INVENTDETAILS XML = NULL,
|
480
|
@p_BRANCH_CREATE VARCHAR(15) = NULL,
|
481
|
@p_PARTYDETAILS XML = NULL,
|
482
|
@p_UNSTOCKEDDETAILS XML = NULL,
|
483
|
@p_SIGN_USER VARCHAR(20) = NULL
|
484
|
AS
|
485
|
--Validation is here
|
486
|
/*
|
487
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
488
|
IF ( NOT EXISTS ( SELECT * FROM ASS_INVENTORY_MASTER WHERE ))
|
489
|
SET @ERRORSYS = ''
|
490
|
IF @ERRORSYS <> ''
|
491
|
BEGIN
|
492
|
SELECT ErrorCode Result, '' CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
493
|
RETURN '0'
|
494
|
END
|
495
|
*/
|
496
|
IF (SELECT AUTH_STATUS FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @P_INVENT_ID) = 'A'
|
497
|
BEGIN
|
498
|
SELECT '-1' as Result, '' INVENT_ID, N'Thông tin đã được duyệt nên không được phép chỉnh sửa!' ErrorDesc
|
499
|
return '-1'
|
500
|
END
|
501
|
IF (EXISTS(SELECT * FROM ASS_INVENTORY_MASTER aim WHERE aim.BRANCH_ID = @p_BRANCH_ID
|
502
|
AND aim.INVENT_ID <> @P_INVENT_ID
|
503
|
AND aim.TERM = @p_TERM AND aim.INVENTORY_DT = CONVERT(DATETIME, @p_INVENTORY_DT, 103)))
|
504
|
BEGIN
|
505
|
SELECT '-1' as Result, '' INVENT_ID, N'Đơn vị đã tồn tại kỳ kiểm kê có cùng ngày và đợt kiểm kê.' ErrorDesc
|
506
|
RETURN '-1'
|
507
|
END
|
508
|
IF (EXISTS(SELECT * FROM ASS_INVENTORY_MASTER aim
|
509
|
WHERE aim.BRANCH_ID = @p_BRANCH_ID
|
510
|
AND aim.INVENT_ID <> @P_INVENT_ID
|
511
|
AND (aim.AUTH_STATUS <> 'A' OR aim.AUTH_STATUS IS NULL OR aim.AUTH_STATUS_DVKD <> 'A' OR aim.AUTH_STATUS_DVKD IS NULL)))
|
512
|
BEGIN
|
513
|
SELECT '-1' as Result, '' INVENT_ID, N'Đơn vị có kỳ kiểm kê chưa hoàn thành nên không thể tạo thêm kỳ kiểm kê mới.' ErrorDesc
|
514
|
RETURN '-1'
|
515
|
END
|
516
|
|
517
|
Declare @hdoc INT
|
518
|
Exec sp_xml_preparedocument @hdoc Output,@P_INVENTDETAILS
|
519
|
DECLARE InventDetail CURSOR FOR
|
520
|
SELECT *
|
521
|
FROM OPENXML(@hDoc,'/Root/InventDetail',2)
|
522
|
WITH
|
523
|
(
|
524
|
INVENTDT_ID VARCHAR(15),
|
525
|
ASSET_ID varchar(15) ,
|
526
|
ASSET_STATUS nvarchar(20) ,
|
527
|
INVENT_DESC nvarchar(1000) ,
|
528
|
NOTES nvarchar(500),
|
529
|
BRANCH_USE varchar(15) ,
|
530
|
DEPT_USE varchar(15) ,
|
531
|
REMAIN_VALUE decimal(18,0),
|
532
|
INVENT_STATUS varchar(15)
|
533
|
)
|
534
|
OPEN InventDetail
|
535
|
--PHONGNT 08/02/23 Xóa những tài sản không tồn tại
|
536
|
DELETE FROM ASS_INVENTORY_DT WHERE INVENT_ID = @P_INVENT_ID AND ASSET_ID NOT IN (SELECT ASSET_ID
|
537
|
FROM OPENXML(@hDoc,'/Root/InventDetail',2)
|
538
|
WITH
|
539
|
(
|
540
|
INVENTDT_ID VARCHAR(15),
|
541
|
ASSET_ID varchar(15) ,
|
542
|
ASSET_STATUS nvarchar(20) ,
|
543
|
INVENT_DESC nvarchar(1000) ,
|
544
|
NOTES nvarchar(500),
|
545
|
BRANCH_USE varchar(15) ,
|
546
|
DEPT_USE varchar(15) ,
|
547
|
REMAIN_VALUE decimal(18,0),
|
548
|
INVENT_STATUS varchar(15)
|
549
|
))
|
550
|
|
551
|
DELETE FROM dbo.ASS_INVENTORY_DT_RPT WHERE INVENT_ID = @P_INVENT_ID AND ASSET_ID NOT IN (SELECT ASSET_ID
|
552
|
FROM OPENXML(@hDoc,'/Root/InventDetail',2)
|
553
|
WITH
|
554
|
(
|
555
|
INVENTDT_ID VARCHAR(15),
|
556
|
ASSET_ID varchar(15) ,
|
557
|
ASSET_STATUS nvarchar(20) ,
|
558
|
INVENT_DESC nvarchar(1000) ,
|
559
|
NOTES nvarchar(500),
|
560
|
BRANCH_USE varchar(15) ,
|
561
|
DEPT_USE varchar(15) ,
|
562
|
REMAIN_VALUE decimal(18,0),
|
563
|
INVENT_STATUS varchar(15)
|
564
|
))
|
565
|
--END
|
566
|
|
567
|
-- GiaNT 23/08/2021
|
568
|
Declare @hdocParty INT
|
569
|
Exec sp_xml_preparedocument @hdocParty Output,@p_PARTYDETAILS
|
570
|
DECLARE PartyDetail CURSOR FOR
|
571
|
SELECT *
|
572
|
FROM OPENXML(@hdocParty,'/Root/PartyDetail',2)
|
573
|
WITH
|
574
|
(
|
575
|
PARTY_ID VARCHAR(15),
|
576
|
INVENT_ID VARCHAR(15),
|
577
|
PARTY_NAME NVARCHAR(100),
|
578
|
PARTY_ROLE NVARCHAR(100),
|
579
|
IS_RECIVE_MAIL NVARCHAR(100),
|
580
|
IS_DONE NVARCHAR(100),
|
581
|
IS_MAIN NVARCHAR(1),
|
582
|
COMMENT NVARCHAR(500)
|
583
|
|
584
|
|
585
|
)
|
586
|
OPEN PartyDetail
|
587
|
|
588
|
Declare @hdocUnstocked INT
|
589
|
Exec sp_xml_preparedocument @hdocUnstocked Output,@p_UNSTOCKEDDETAILS
|
590
|
DECLARE UnstockedDetail CURSOR FOR
|
591
|
SELECT *
|
592
|
FROM OPENXML(@hdocUnstocked,'/Root/UnstockedDetail',2)
|
593
|
WITH
|
594
|
(
|
595
|
UNSTOCKED_ID VARCHAR(15),
|
596
|
INVENT_ID VARCHAR(15),
|
597
|
ASS_NAME NVARCHAR(1000),
|
598
|
SERIAL NVARCHAR(MAX),
|
599
|
BRANCH_ID NVARCHAR(50),
|
600
|
DEPT_ID NVARCHAR(50),
|
601
|
USE_DATE VARCHAR(20)
|
602
|
)
|
603
|
OPEN UnstockedDetail
|
604
|
|
605
|
BEGIN TRANSACTION
|
606
|
IF (EXISTS(SELECT 1 FROM ASS_INVENTORY_MASTER aim WHERE aim.INVENT_ID=@P_INVENT_ID AND aim.PROCESS_ID='THKK'))
|
607
|
SET @p_AUTH_STATUS_DVKD ='A'
|
608
|
|
609
|
IF @p_APPROVE_DT = '' SET @p_APPROVE_DT = NULL
|
610
|
|
611
|
DECLARE @l_FILE_REF_Ids NVARCHAR(MAX) =''
|
612
|
UPDATE ASS_INVENTORY_MASTER SET [INVENTORY_DT] = CONVERT(DATETIME, @p_INVENTORY_DT, 103),[TERM] = @p_TERM,[BRANCH_ID] = @p_BRANCH_ID,[NOTES] = @p_NOTES,[RECORD_STATUS] = @p_RECORD_STATUS,[AUTH_STATUS_DVKD] = @p_AUTH_STATUS_DVKD,[MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103),
|
613
|
BRANCH_CREATE=@p_BRANCH_CREATE,SIGN_USER=@p_SIGN_USER
|
614
|
WHERE INVENT_ID= @p_INVENT_ID
|
615
|
IF @@Error <> 0 GOTO ABORT
|
616
|
|
617
|
Declare @INVENTDT_ID VARCHAR(15),@ASSET_ID varchar(15), @ASSET_STATUS nvarchar(20),@INVENT_DESC nvarchar(1000), @NO INT = 0,
|
618
|
@NOTES nvarchar(500), @DEPT_USE VARCHAR(15), @BRANCH_USE VARCHAR(15), @REMAIN_VALUE decimal(18,0),@INVENT_STATUS VARCHAR(10)
|
619
|
FETCH NEXT FROM InventDetail INTO @INVENTDT_ID,@ASSET_ID, @ASSET_STATUS, @INVENT_DESC, @NOTES, @BRANCH_USE, @DEPT_USE, @REMAIN_VALUE,@INVENT_STATUS
|
620
|
--------THIEUVQ THEM PHAN DEPT_ID CHO DOT KIEM KE, TAM THOI LAY THEO TAI SAN DAU TIEN TRONG BANG INVENTORY_DT
|
621
|
IF @p_BRANCH_ID = 'DV0001'
|
622
|
BEGIN
|
623
|
UPDATE ASS_INVENTORY_MASTER SET DEPT_ID = @DEPT_USE WHERE INVENT_ID = @P_INVENT_ID
|
624
|
END
|
625
|
--------
|
626
|
WHILE @@FETCH_STATUS = 0
|
627
|
BEGIN
|
628
|
IF(LEN (@INVENTDT_ID) = 0 )
|
629
|
BEGIN
|
630
|
EXEC SYS_CodeMasters_Gen 'ASS_INVENTORY_DT', @INVENTDT_ID out
|
631
|
IF @INVENTDT_ID ='' OR @INVENTDT_ID IS NULL GOTO ABORT
|
632
|
INSERT INTO ASS_INVENTORY_DT([INVENTDT_ID],[INVENT_ID],[ASSET_ID],[ASSET_STATUS],[INVENT_DESC], [NOTES], [BRANCH_USE], [DEPT_USE], [REMAIN_VALUE])
|
633
|
VALUES(@INVENTDT_ID,@P_INVENT_ID,@ASSET_ID,@ASSET_STATUS,@INVENT_DESC, @NOTES, @BRANCH_USE, @DEPT_USE, @REMAIN_VALUE)
|
634
|
|
635
|
INSERT INTO ASS_INVENTORY_DT_RPT([INVENTDT_ID],[INVENT_ID],[ASSET_ID],[ASSET_STATUS],[INVENT_DESC], [NOTES], [BRANCH_USE], [DEPT_USE], [REMAIN_VALUE])
|
636
|
VALUES(@INVENTDT_ID,@P_INVENT_ID,@ASSET_ID,@ASSET_STATUS,@INVENT_DESC, @NOTES, @BRANCH_USE, @DEPT_USE, @REMAIN_VALUE)
|
637
|
END
|
638
|
ELSE
|
639
|
BEGIN
|
640
|
UPDATE ASS_INVENTORY_DT SET [NOTES]=@NOTES,[ASSET_STATUS]=@ASSET_STATUS,[INVENT_DESC]=@INVENT_DESC WHERE [INVENTDT_ID] = @INVENTDT_ID
|
641
|
UPDATE ASS_INVENTORY_DT_RPT SET [NOTES]=@NOTES,[ASSET_STATUS]=@ASSET_STATUS,[INVENT_DESC]=@INVENT_DESC WHERE [INVENTDT_ID] = @INVENTDT_ID
|
642
|
END
|
643
|
|
644
|
|
645
|
|
646
|
IF(@INVENT_STATUS='1')
|
647
|
BEGIN
|
648
|
DELETE ASS_INVENTORY_DT_LOG WHERE [INVENTDT_ID]= @INVENTDT_ID
|
649
|
|
650
|
DECLARE @LOG_ID VARCHAR(20)
|
651
|
EXEC SYS_CodeMasters_Gen 'ASS_INVENTORY_DT_LOG', @LOG_ID out
|
652
|
IF @LOG_ID ='' OR @LOG_ID IS NULL GOTO ABORT
|
653
|
|
654
|
INSERT INTO ASS_INVENTORY_DT_LOG (LOG_ID, INVENTDT_ID, INVENT_ID, RECORD_STATUS, AUTH_STATUS, MAKER_ID, CREATE_DT, CHECKER_ID, APPROVE_DT)
|
655
|
VALUES (@LOG_ID, @INVENTDT_ID, @P_INVENT_ID, '1', 'U', @p_MAKER_ID, GETDATE(), '', NULL);
|
656
|
SET @INVENTDT_ID =NULL
|
657
|
END
|
658
|
-- next Group_Id
|
659
|
IF @@ERROR <> 0 GOTO ABORT
|
660
|
|
661
|
SET @l_FILE_REF_Ids = @l_FILE_REF_Ids + CASE WHEN @l_FILE_REF_Ids = '' THEN '' ELSE ',' END + CONCAT( @INVENTDT_ID + '-', @ASSET_ID)
|
662
|
FETCH NEXT FROM InventDetail INTO @INVENTDT_ID,@ASSET_ID, @ASSET_STATUS, @INVENT_DESC, @NOTES, @BRANCH_USE, @DEPT_USE, @REMAIN_VALUE,@INVENT_STATUS
|
663
|
|
664
|
END
|
665
|
CLOSE InventDetail
|
666
|
DEALLOCATE InventDetail
|
667
|
|
668
|
-- GiaNT 23/08/2021
|
669
|
DELETE FROM ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @P_INVENT_ID
|
670
|
|
671
|
DECLARE
|
672
|
@PARTY_ID VARCHAR(15),
|
673
|
@INVENT_ID VARCHAR(15),
|
674
|
@PARTY_NAME NVARCHAR(200),
|
675
|
@PARTY_ROLE NVARCHAR(200),
|
676
|
@IS_RECIVE_MAIL VARCHAR(1),
|
677
|
@IS_DONE VARCHAR(1),
|
678
|
@IS_MAIN VARCHAR(1),
|
679
|
@COMMENT NVARCHAR(500)
|
680
|
|
681
|
|
682
|
FETCH NEXT FROM PartyDetail INTO @PARTY_ID,@INVENT_ID,@PARTY_NAME,@PARTY_ROLE,@IS_RECIVE_MAIL,@IS_DONE,@IS_MAIN,@COMMENT
|
683
|
WHILE @@FETCH_STATUS = 0
|
684
|
BEGIN
|
685
|
DECLARE @l_PARTY_ID VARCHAR(15)
|
686
|
EXEC SYS_CodeMasters_Gen 'ASS_INVENTORY_PARTY_DT', @l_PARTY_ID out
|
687
|
IF @l_PARTY_ID='' OR @l_PARTY_ID IS NULL
|
688
|
BEGIN
|
689
|
GOTO ABORT
|
690
|
END
|
691
|
|
692
|
INSERT INTO ASS_INVENTORY_PARTY_DT([PARTY_ID], [INVENT_ID], [PARTY_NAME], [PARTY_ROLE],[IS_RECIVE_MAIL],[IS_DONE],[IS_MAIN],[COMMENT])
|
693
|
VALUES(@l_PARTY_ID ,@p_INVENT_ID, @PARTY_NAME, @PARTY_ROLE,@IS_RECIVE_MAIL,@IS_DONE,@IS_MAIN,@COMMENT)
|
694
|
IF @@Error <> 0 GOTO ABORT
|
695
|
|
696
|
FETCH NEXT FROM PartyDetail INTO @PARTY_ID,@INVENT_ID,@PARTY_NAME,@PARTY_ROLE,@IS_RECIVE_MAIL,@IS_DONE,@IS_MAIN,@COMMENT
|
697
|
END
|
698
|
CLOSE PartyDetail
|
699
|
DEALLOCATE PartyDetail
|
700
|
|
701
|
DELETE FROM dbo.ASS_INVENTORY_UNSTOCKED WHERE INVENT_ID = @P_INVENT_ID
|
702
|
|
703
|
DECLARE
|
704
|
@UNSTOCKED_ID VARCHAR(15),
|
705
|
@ASS_NAME NVARCHAR(1000),
|
706
|
@SERIAL NVARCHAR(MAX),
|
707
|
@BRANCH_ID NVARCHAR(50),
|
708
|
@DEPT_ID NVARCHAR(50),
|
709
|
@USE_DATE VARCHAR(20)
|
710
|
|
711
|
FETCH NEXT FROM UnstockedDetail INTO @UNSTOCKED_ID,@INVENT_ID,@ASS_NAME,@SERIAL,@BRANCH_ID,@DEPT_ID,@USE_DATE
|
712
|
WHILE @@FETCH_STATUS = 0
|
713
|
BEGIN
|
714
|
DECLARE @l_UNSTOCKED_ID VARCHAR(15)
|
715
|
EXEC SYS_CodeMasters_Gen 'ASS_INVENTORY_UNSTOCKED', @l_UNSTOCKED_ID out
|
716
|
IF @l_UNSTOCKED_ID='' OR @l_UNSTOCKED_ID IS NULL
|
717
|
BEGIN
|
718
|
GOTO ABORT
|
719
|
END
|
720
|
|
721
|
INSERT INTO ASS_INVENTORY_UNSTOCKED([UNSTOCKED_ID], [INVENT_ID], [ASS_NAME], [SERIAL],[BRANCH_ID],[DEPT_ID],[USE_DATE])
|
722
|
VALUES(@l_UNSTOCKED_ID ,@p_INVENT_ID, @ASS_NAME, @SERIAL,@BRANCH_ID,@DEPT_ID,CONVERT(DATETIME,@USE_DATE,103))
|
723
|
IF @@Error <> 0 GOTO ABORT
|
724
|
|
725
|
FETCH NEXT FROM UnstockedDetail INTO @UNSTOCKED_ID,@INVENT_ID,@ASS_NAME,@SERIAL,@BRANCH_ID,@DEPT_ID,@USE_DATE
|
726
|
END
|
727
|
CLOSE UnstockedDetail
|
728
|
DEALLOCATE UnstockedDetail
|
729
|
|
730
|
COMMIT TRANSACTION
|
731
|
SELECT '0' as Result, @P_INVENT_ID INVENT_ID, '' ErrorDesc,@l_FILE_REF_Ids Ids
|
732
|
RETURN '0'
|
733
|
ABORT:
|
734
|
BEGIN
|
735
|
CLOSE InventDetail
|
736
|
DEALLOCATE InventDetail
|
737
|
ROLLBACK TRANSACTION
|
738
|
SELECT '-1' as Result, '' INVENT_ID, '' ErrorDesc
|
739
|
RETURN '-1'
|
740
|
End
|
741
|
|
742
|
|
743
|
|
744
|
|
745
|
|
746
|
|
747
|
|
748
|
|
749
|
GO
|
750
|
|
751
|
ALTER PROCEDURE dbo.ASS_INVENTORY_MASTER_Search
|
752
|
@p_INVENT_ID varchar(15) = NULL,
|
753
|
@p_INVENTORY_DT VARCHAR(20) = NULL,
|
754
|
@p_TERM nvarchar(20) = NULL,
|
755
|
@p_BRANCH_ID varchar(15) = NULL,
|
756
|
@p_DEPT_ID varchar(15) = NULL,
|
757
|
@p_NOTES NVARCHAR(1000) = NULL,
|
758
|
@p_RECORD_STATUS varchar(1) = NULL,
|
759
|
@p_AUTH_STATUS varchar(1) = NULL,
|
760
|
@p_AUTH_STATUS_DVKD varchar(1) = NULL,
|
761
|
@p_MAKER_ID varchar(15) = NULL,
|
762
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
763
|
@p_CHECKER_ID varchar(15) = NULL,
|
764
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
765
|
@p_TOP INT = 10,
|
766
|
@p_BRANCH_CREATE VARCHAR(15) = NULL,
|
767
|
@p_LEVEL VARCHAR(50) = 'UNIT',
|
768
|
@p_USER_LOGIN VARCHAR(20) = NULL,
|
769
|
@p_TYPE_SEARCH VARCHAR(20) = NULL,
|
770
|
@p_AUTH_STATUS_CONFIRM VARCHAR(1) = NULL,
|
771
|
@p_FROMDATE VARCHAR(20) = NULL,
|
772
|
@p_TODATE VARCHAR(20) = NULL
|
773
|
AS
|
774
|
--Validation is here
|
775
|
/*
|
776
|
DECLARE @ERRORSYS NVARCHAR(15) = ''
|
777
|
IF ( [NOT] EXISTS ( SELECT * FROM [TABLE] WHERE [CONDITION] ))
|
778
|
SET @ERRORSYS = ''
|
779
|
IF @ERRORSYS <> ''
|
780
|
BEGIN
|
781
|
SELECT ErrorCode Result, '' CAR_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @ERRORSYS
|
782
|
RETURN '0'
|
783
|
END */
|
784
|
BEGIN -- PAGING
|
785
|
declare @tmp table(BRANCH_ID varchar(15))
|
786
|
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_CREATE)
|
787
|
|
788
|
IF(@p_TOP IS NULL OR @P_TOP = '' OR @P_TOP = 0)
|
789
|
-- PAGING BEGIN
|
790
|
SELECT A.INVENT_ID ,A.INVENTORY_DT ,A.TERM,A.BRANCH_ID,A.NOTES,A.RECORD_STATUS,A.AUTH_STATUS,A.MAKER_ID,A.CREATE_DT,A.CHECKER_ID ,A.APPROVE_DT,A.BRANCH_CREATE,A.DEPT_ID,DE.DEP_CODE AS DEPT_CODE,DE.DEP_NAME AS DEPT_NAME,A.NQL,A.DECISION,A.PROM_DT,A.COMMENT,A.PENTITION,A.ISSUED_DATE,A.AUTH_STATUS_DVKD,A.CHECKER_ID_DVKD,A.APPROVE_DT_DVKD,A.SIGN_USER,A.PROCESS_ID,C.BRANCH_CODE, C.BRANCH_NAME, T.TERM_CODE, T.TERM_NAME,D.CONTENT AS AUTH_STATUS_DVKD_NAME,TL.TLFullName AS CHECKER_ID_DVKD_NAME,
|
791
|
CASE
|
792
|
WHEN EXISTS (SELECT INVENT_ID FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND PARTY_NAME = @p_USER_LOGIN AND IS_DONE = '1')
|
793
|
THEN N'Đã xác nhận'
|
794
|
-- PHONGNT 27/06/22
|
795
|
WHEN @p_TYPE_SEARCH='APPR' AND EXISTS (SELECT 1 FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND IS_DONE = '1')
|
796
|
THEN N'Đã xác nhận'
|
797
|
ELSE N'Chưa xác nhận' END AS CONFIRM_STATUS,
|
798
|
CASE @p_TYPE_SEARCH
|
799
|
-- END
|
800
|
WHEN 'CF'
|
801
|
THEN (SELECT TOP(1) CONFIRM_DT FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND PARTY_NAME = @p_USER_LOGIN)
|
802
|
ELSE (SELECT TOP(1) CONFIRM_DT FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND IS_DONE = '1' AND CONFIRM_DT IS NOT NULL) END AS CONFIRM_DT,
|
803
|
(SELECT TLFullName FROM TL_USER WHERE TLNANME = ( SELECT TOP(1) PARTY_NAME FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND IS_MAIN = '1')) AS APPROVE_NAME,
|
804
|
(SELECT TOP(1) tu.TLFullName FROM TL_USER tu WHERE tu.TLNANME = A.SIGN_USER) AS SIGN_USER_NAME,
|
805
|
CASE WHEN A.ASSET_TYPE IS NULL OR A.ASSET_TYPE ='' THEN 'TSCD/CCLD' ELSE A.ASSET_TYPE END AS ASSET_TYPE
|
806
|
|
807
|
-- SELECT END
|
808
|
FROM ASS_INVENTORY_MASTER A
|
809
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS
|
810
|
LEFT JOIN CM_BRANCH C ON C.BRANCH_ID = A.BRANCH_ID
|
811
|
--PHONGNT 27/8/22 Bổ sung phòng ban
|
812
|
LEFT JOIN CM_DEPARTMENT DE ON DE.DEP_ID = A.DEPT_ID
|
813
|
--END
|
814
|
-- LEFT JOIN CM_AUTH_STATUS D ON A.AUTH_STATUS_DVKD = D.AUTH_STATUS
|
815
|
LEFT JOIN CM_ALLCODE D ON (D.CDVAL=A.AUTH_STATUS_DVKD AND D.CDNAME='ASS_INVENTORY')
|
816
|
LEFT JOIN CM_TERM T ON T.TERM_ID = A.TERM
|
817
|
LEFT JOIN TL_USER TL ON TL.TLNANME = A.CHECKER_ID_DVKD
|
818
|
WHERE 1 = 1
|
819
|
AND (A.INVENT_ID LIKE '%' + @p_INVENT_ID + '%' OR @p_INVENT_ID IS NULL OR @p_INVENT_ID = '')
|
820
|
AND (DATEDIFF(DAYOFYEAR,A.INVENTORY_DT,CONVERT(DATETIME, @p_INVENTORY_DT, 103)) = 0 OR @p_INVENTORY_DT IS NULL OR @p_INVENTORY_DT = '')
|
821
|
AND (A.TERM LIKE '%' + @p_TERM + '%' OR @p_TERM IS NULL OR @p_TERM = '')
|
822
|
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
823
|
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
|
824
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
825
|
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
826
|
|
827
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
828
|
AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
829
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
830
|
AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
831
|
AND A.RECORD_STATUS = '1'
|
832
|
AND ((@P_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
|
833
|
OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE)
|
834
|
OR (@p_BRANCH_CREATE = '' OR @p_BRANCH_CREATE IS NULL)))
|
835
|
|
836
|
-- GIANT 25/08/2021
|
837
|
AND ((@p_TYPE_SEARCH = 'CF' AND A.AUTH_STATUS = 'U'
|
838
|
AND EXISTS ((SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_RECIVE_MAIL = 1
|
839
|
AND ( (@p_AUTH_STATUS_CONFIRM = 'Y' AND IS_DONE = 1) OR (@p_AUTH_STATUS_CONFIRM = 'N' AND IS_DONE = 0) OR (@p_AUTH_STATUS_CONFIRM = '' OR @p_AUTH_STATUS_CONFIRM IS NULL) )
|
840
|
))
|
841
|
OR (@p_TYPE_SEARCH = 'CF' AND A.AUTH_STATUS = 'A' AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_MAIN = 1) )
|
842
|
OR (@p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH IS NULL
|
843
|
))
|
844
|
OR (
|
845
|
(@p_TYPE_SEARCH = 'PC' AND A.AUTH_STATUS = 'U'
|
846
|
AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_RECIVE_MAIL = 1) )
|
847
|
OR (@p_TYPE_SEARCH = 'PC' AND A.AUTH_STATUS = 'A' AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_RECIVE_MAIL = 1) )
|
848
|
OR (@p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH IS NULL)
|
849
|
AND A.PROCESS_ID='THKK'
|
850
|
)
|
851
|
OR (
|
852
|
(@p_TYPE_SEARCH = 'APPR' AND A.AUTH_STATUS_DVKD = 'A' AND NOT EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE IS_RECIVE_MAIL = 1 AND IS_DONE = 0 AND INVENT_ID = A.INVENT_ID)
|
853
|
AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_MAIN = 1) )
|
854
|
OR (@p_TYPE_SEARCH = 'APPR' AND A.AUTH_STATUS_DVKD = 'A' AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_MAIN = 1) )
|
855
|
OR (@p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH IS NULL)
|
856
|
)
|
857
|
)
|
858
|
|
859
|
AND (A.AUTH_STATUS_DVKD LIKE '%' + @p_AUTH_STATUS_DVKD + '%' OR @p_AUTH_STATUS_DVKD IS NULL OR @p_AUTH_STATUS_DVKD = '')
|
860
|
|
861
|
AND (CONVERT(DATE,ISNULL(A.INVENTORY_DT, A.CREATE_DT),103) >=CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE IS NULL OR @p_FROMDATE = '')
|
862
|
AND (CONVERT(DATE,ISNULL(A.INVENTORY_DT, A.CREATE_DT),103) <=CONVERT(DATETIME, @p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE = '')
|
863
|
|
864
|
-- HUYHT 27/04/2022 Khi trạng thái duyệt là "Nháp", "Từ chối" thì chỉ người tạo tìm thấy phiếu
|
865
|
AND ((A.AUTH_STATUS_DVKD IN ('E','R') AND (A.MAKER_ID = @p_USER_LOGIN OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''))
|
866
|
OR A.AUTH_STATUS_DVKD NOT IN ('E','R'))
|
867
|
|
868
|
ORDER BY A.CREATE_DT DESC
|
869
|
-- PAGING END
|
870
|
ELSE
|
871
|
-- PAGING BEGIN
|
872
|
|
873
|
SELECT TOP(CONVERT(INT,@P_TOP))A.INVENT_ID ,A.INVENTORY_DT ,A.TERM,A.BRANCH_ID,A.NOTES,A.RECORD_STATUS,A.AUTH_STATUS,A.MAKER_ID,A.CREATE_DT,A.CHECKER_ID ,A.APPROVE_DT,A.BRANCH_CREATE,A.DEPT_ID,DE.DEP_CODE AS DEPT_CODE,DE.DEP_NAME AS DEPT_NAME,A.NQL,A.DECISION,A.PROM_DT,A.COMMENT,A.PENTITION,A.ISSUED_DATE,A.AUTH_STATUS_DVKD,A.CHECKER_ID_DVKD,A.APPROVE_DT_DVKD,A.SIGN_USER,A.PROCESS_ID,B.AUTH_STATUS_NAME,C.BRANCH_CODE, C.BRANCH_NAME, T.TERM_CODE, T.TERM_NAME,D.CONTENT AS AUTH_STATUS_DVKD_NAME,TL.TLFullName AS CHECKER_ID_DVKD_NAME,
|
874
|
CASE
|
875
|
WHEN EXISTS (SELECT INVENT_ID FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND PARTY_NAME = @p_USER_LOGIN AND IS_DONE = '1')
|
876
|
THEN N'Đã xác nhận'
|
877
|
-- PHONGNT 27/06/22 Bổ sung màn hình phê duyệt ngày
|
878
|
WHEN @p_TYPE_SEARCH='APPR' AND EXISTS (SELECT CONFIRM_DT FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND IS_DONE = '1')
|
879
|
THEN N'Đã xác nhận'
|
880
|
ELSE N'Chưa xác nhận' END AS CONFIRM_STATUS,
|
881
|
CASE @p_TYPE_SEARCH
|
882
|
WHEN 'CF'
|
883
|
THEN (SELECT TOP(1) CONFIRM_DT FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND PARTY_NAME = @p_USER_LOGIN)
|
884
|
ELSE (SELECT TOP(1) CONFIRM_DT FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND IS_DONE = '1' AND CONFIRM_DT IS NOT NULL ORDER BY CONFIRM_DT) END AS CONFIRM_DT,
|
885
|
(SELECT TLFullName FROM TL_USER WHERE TLNANME = ( SELECT TOP(1) PARTY_NAME FROM ASS_INVENTORY_PARTY_DT WHERE A.INVENT_ID = INVENT_ID AND IS_MAIN = '1')) AS APPROVE_NAME,
|
886
|
(SELECT TOP(1) tu.TLFullName FROM TL_USER tu WHERE tu.TLNANME = A.SIGN_USER) AS SIGN_USER_NAME,
|
887
|
CASE WHEN A.ASSET_TYPE IS NULL OR A.ASSET_TYPE ='' THEN 'TSCD/CCLD' ELSE A.ASSET_TYPE END AS ASSET_TYPE
|
888
|
-- SELECT END
|
889
|
|
890
|
FROM ASS_INVENTORY_MASTER A
|
891
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS = B.AUTH_STATUS
|
892
|
--LEFT JOIN CM_AUTH_STATUS D ON A.AUTH_STATUS_DVKD = D.AUTH_STATUS
|
893
|
--PHONGNT 27/8/22 Bổ sung phòng ban
|
894
|
LEFT JOIN CM_DEPARTMENT DE ON DE.DEP_ID = A.DEPT_ID
|
895
|
--END
|
896
|
LEFT JOIN CM_ALLCODE D ON (D.CDVAL=A.AUTH_STATUS_DVKD AND D.CDNAME='ASS_INVENTORY')
|
897
|
LEFT JOIN CM_BRANCH C ON C.BRANCH_ID = A.BRANCH_ID
|
898
|
LEFT JOIN CM_TERM T ON T.TERM_ID = A.TERM
|
899
|
LEFT JOIN TL_USER TL ON TL.TLNANME = A.CHECKER_ID_DVKD
|
900
|
WHERE 1 = 1
|
901
|
AND (A.INVENT_ID LIKE '%' + @p_INVENT_ID + '%' OR @p_INVENT_ID IS NULL OR @p_INVENT_ID = '')
|
902
|
AND (DATEDIFF(DAYOFYEAR,A.INVENTORY_DT,CONVERT(DATETIME, @p_INVENTORY_DT, 103)) = 0 OR @p_INVENTORY_DT IS NULL OR @p_INVENTORY_DT = '')
|
903
|
AND (A.TERM LIKE '%' + @p_TERM + '%' OR @p_TERM IS NULL OR @p_TERM = '')
|
904
|
AND (A.BRANCH_ID LIKE '%' + @p_BRANCH_ID + '%' OR @p_BRANCH_ID IS NULL OR @p_BRANCH_ID = '')
|
905
|
AND (A.NOTES LIKE '%' + @p_NOTES + '%' OR @p_NOTES IS NULL OR @p_NOTES = '')
|
906
|
AND (A.RECORD_STATUS LIKE '%' + @p_RECORD_STATUS + '%' OR @p_RECORD_STATUS IS NULL OR @p_RECORD_STATUS = '')
|
907
|
AND (A.AUTH_STATUS LIKE '%' + @p_AUTH_STATUS + '%' OR @p_AUTH_STATUS IS NULL OR @p_AUTH_STATUS = '')
|
908
|
|
909
|
AND (A.MAKER_ID LIKE '%' + @p_MAKER_ID + '%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID = '')
|
910
|
AND (DATEDIFF(DAYOFYEAR,A.CREATE_DT,CONVERT(DATETIME, @p_CREATE_DT, 103)) = 0 OR @p_CREATE_DT IS NULL OR @p_CREATE_DT = '')
|
911
|
AND (A.CHECKER_ID LIKE '%' + @p_CHECKER_ID + '%' OR @p_CHECKER_ID IS NULL OR @p_CHECKER_ID = '')
|
912
|
AND (DATEDIFF(DAYOFYEAR,A.APPROVE_DT,CONVERT(DATETIME, @p_APPROVE_DT, 103)) = 0 OR @p_APPROVE_DT IS NULL OR @p_APPROVE_DT = '')
|
913
|
AND A.RECORD_STATUS = '1'
|
914
|
AND ((@P_LEVEL = 'ALL' AND A.BRANCH_CREATE IN (SELECT BRANCH_ID from @tmp))
|
915
|
OR ((@P_LEVEL = 'UNIT' AND A.BRANCH_CREATE = @p_BRANCH_CREATE)
|
916
|
OR (@p_BRANCH_CREATE = '' OR @p_BRANCH_CREATE IS NULL)))
|
917
|
|
918
|
-- GIANT 25/08/2021
|
919
|
--AND (
|
920
|
-- (@p_TYPE_SEARCH = 'CF' AND A.AUTH_STATUS = 'U'
|
921
|
-- AND EXISTS ((SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_RECIVE_MAIL = 1
|
922
|
-- AND ( (@p_AUTH_STATUS_CONFIRM = 'Y' AND IS_DONE = 1) OR (@p_AUTH_STATUS_CONFIRM = 'N' AND IS_DONE = 0) OR (@p_AUTH_STATUS_CONFIRM = '' OR @p_AUTH_STATUS_CONFIRM IS NULL) )
|
923
|
-- ))
|
924
|
-- OR (@p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH IS NULL
|
925
|
-- ))
|
926
|
-- OR (
|
927
|
-- (@p_TYPE_SEARCH = 'APPR' AND A.AUTH_STATUS = 'U' AND NOT EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE IS_RECIVE_MAIL = 1 AND IS_DONE = 0 AND INVENT_ID = A.INVENT_ID)
|
928
|
-- AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_MAIN = 1) )
|
929
|
|
930
|
-- OR (@p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH IS NULL) )
|
931
|
-- )
|
932
|
AND ((@p_TYPE_SEARCH = 'CF' AND A.AUTH_STATUS = 'U'
|
933
|
AND EXISTS ((SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_RECIVE_MAIL = 1
|
934
|
AND ( (@p_AUTH_STATUS_CONFIRM = 'Y' AND IS_DONE = 1) OR (@p_AUTH_STATUS_CONFIRM = 'N' AND IS_DONE = 0) OR (@p_AUTH_STATUS_CONFIRM = '' OR @p_AUTH_STATUS_CONFIRM IS NULL) )
|
935
|
))
|
936
|
OR (@p_TYPE_SEARCH = 'CF' AND A.AUTH_STATUS = 'A' AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_MAIN = 1) )
|
937
|
OR (@p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH IS NULL
|
938
|
))
|
939
|
OR (
|
940
|
(@p_TYPE_SEARCH = 'PC' AND A.AUTH_STATUS = 'U'
|
941
|
AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_RECIVE_MAIL = 1) )
|
942
|
OR (@p_TYPE_SEARCH = 'PC' AND A.AUTH_STATUS = 'A' AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_RECIVE_MAIL = 1) )
|
943
|
OR (@p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH IS NULL)
|
944
|
AND A.PROCESS_ID='THKK'
|
945
|
)
|
946
|
OR (
|
947
|
(@p_TYPE_SEARCH = 'APPR' AND A.AUTH_STATUS_DVKD = 'A' AND NOT EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE IS_RECIVE_MAIL = 1 AND IS_DONE = 0 AND INVENT_ID = A.INVENT_ID)
|
948
|
AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_MAIN = 1) )
|
949
|
OR (@p_TYPE_SEARCH = 'APPR' AND A.AUTH_STATUS_DVKD = 'A' AND EXISTS (SELECT * FROM ASS_INVENTORY_PARTY_DT WHERE PARTY_NAME = @p_USER_LOGIN AND INVENT_ID = A.INVENT_ID AND IS_MAIN = 1) )
|
950
|
OR (@p_TYPE_SEARCH = '' OR @p_TYPE_SEARCH IS NULL)
|
951
|
)
|
952
|
)
|
953
|
|
954
|
AND (A.AUTH_STATUS_DVKD LIKE '%' + @p_AUTH_STATUS_DVKD + '%' OR @p_AUTH_STATUS_DVKD IS NULL OR @p_AUTH_STATUS_DVKD = '')
|
955
|
|
956
|
AND (CONVERT(DATE,ISNULL(A.INVENTORY_DT,A.CREATE_DT),103) >=CONVERT(DATE, @p_FROMDATE, 103) OR @p_FROMDATE IS NULL OR @p_FROMDATE = '')
|
957
|
AND (CONVERT(DATE,ISNULL(A.INVENTORY_DT, A.CREATE_DT),103) <=CONVERT(DATETIME, @p_TODATE, 103) OR @p_TODATE IS NULL OR @p_TODATE = '')
|
958
|
|
959
|
-- HUYHT 27/04/2022 Khi trạng thái duyệt là "Nháp", "Từ chối" thì chỉ người tạo tìm thấy phiếu
|
960
|
AND ((A.AUTH_STATUS_DVKD IN ('E','R') AND (A.MAKER_ID = @p_USER_LOGIN OR @p_USER_LOGIN IS NULL OR @p_USER_LOGIN = ''))
|
961
|
OR A.AUTH_STATUS_DVKD NOT IN ('E','R'))
|
962
|
|
963
|
ORDER BY A.CREATE_DT DESC
|
964
|
-- PAGING END
|
965
|
|
966
|
END -- PAGING
|
967
|
|
968
|
|
969
|
|
970
|
|
971
|
|
972
|
|
973
|
|
974
|
GO
|
975
|
|
976
|
ALTER PROC dbo.ASS_INVENTORY_MASTER_SendApp
|
977
|
@p_INVENT_ID VARCHAR(20),
|
978
|
@p_USERLOGIN VARCHAR(50),
|
979
|
@p_TYPE VARCHAR(15),
|
980
|
@p_AUTH_STATUS VARCHAR(1)
|
981
|
AS
|
982
|
BEGIN TRANSACTION
|
983
|
DECLARE @Mes NVARCHAR(MAX)
|
984
|
IF(EXISTS(SELECT * FROM ASS_INVENTORY_MASTER aim WHERE aim.INVENT_ID=@p_INVENT_ID AND aim.PROCESS_ID IS NULL OR aim.PROCESS_ID=''))
|
985
|
BEGIN
|
986
|
IF(EXISTS(SELECT INVENT_ID FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID AND AUTH_STATUS_DVKD = @p_AUTH_STATUS ) )
|
987
|
BEGIN
|
988
|
ROLLBACK TRANSACTION
|
989
|
SELECT '-1' AS Result , '' INVENT_ID, N'Phiếu kiểm kê đã được gửi phê duyệt trước đó.' ErrorDesc
|
990
|
RETURN '-1'
|
991
|
END
|
992
|
|
993
|
IF (NOT EXISTS (SELECT INVENT_ID FROM ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_INVENT_ID))
|
994
|
BEGIN
|
995
|
ROLLBACK TRANSACTION
|
996
|
SELECT '-1' AS Result , '' INVENT_ID, N'Danh sách thành phần kiểm kê không được để trống.' ErrorDesc
|
997
|
RETURN '-1'
|
998
|
END
|
999
|
|
1000
|
IF (NOT EXISTS (SELECT INVENT_ID FROM ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_INVENT_ID AND IS_MAIN = '1'))
|
1001
|
BEGIN
|
1002
|
ROLLBACK TRANSACTION
|
1003
|
SELECT '-1' AS Result , '' INVENT_ID, N'Danh sách thành phần kiểm kê phải có ít nhất một trưởng bản kiểm kê.' ErrorDesc
|
1004
|
RETURN '-1'
|
1005
|
END
|
1006
|
|
1007
|
IF (NOT EXISTS (SELECT INVENT_ID FROM ASS_INVENTORY_PARTY_DT WHERE INVENT_ID = @p_INVENT_ID AND IS_RECIVE_MAIL = '1' AND IS_MAIN <> '1'))
|
1008
|
BEGIN
|
1009
|
ROLLBACK TRANSACTION
|
1010
|
SELECT '-1' AS Result , '' INVENT_ID, N'Danh sách thành phần kiểm kê phải có ít nhất 1 người nhận mail ngoại trừ trưởng ban.' ErrorDesc
|
1011
|
RETURN '-1'
|
1012
|
END
|
1013
|
DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20)
|
1014
|
UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD = @p_AUTH_STATUS, PROCESS_ID='APPNEW' WHERE INVENT_ID = @p_INVENT_ID
|
1015
|
SELECT @BRANCH_ID =TLSUBBRID,@DEP_ID=SECUR_CODE FROM dbo.TL_USER WHERE TLNANME=@p_USERLOGIN
|
1016
|
DELETE FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID=@p_INVENT_ID
|
1017
|
IF(EXISTS(SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <>''))
|
1018
|
BEGIN
|
1019
|
DECLARE @BRANCH_SIGN_ID VARCHAR(20),@DEP_SIGN_ID VARCHAR(20),@BRANCH_SIGN_TYPE VARCHAR(10),@ROLE_SIGN VARCHAR(20)
|
1020
|
SELECT @BRANCH_SIGN_ID=TLSUBBRID,@DEP_SIGN_ID=SECUR_CODE,@BRANCH_SIGN_TYPE=BRANCH_TYPE FROM dbo.TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID)
|
1021
|
UPDATE ASS_INVENTORY_MASTER SET AUTH_STATUS_DVKD = @p_AUTH_STATUS, PROCESS_ID='SIGN' WHERE INVENT_ID = @p_INVENT_ID
|
1022
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
1023
|
(
|
1024
|
REQ_ID,
|
1025
|
PROCESS_ID,
|
1026
|
STATUS,
|
1027
|
ROLE_USER,
|
1028
|
BRANCH_ID,
|
1029
|
DEP_ID,
|
1030
|
CHECKER_ID,
|
1031
|
APPROVE_DT,
|
1032
|
PARENT_PROCESS_ID,
|
1033
|
IS_LEAF,
|
1034
|
COST_ID,
|
1035
|
DVDM_ID,
|
1036
|
NOTES,
|
1037
|
IS_HAS_CHILD
|
1038
|
)
|
1039
|
VALUES
|
1040
|
( @p_INVENT_ID, -- REQ_ID - varchar(15)
|
1041
|
'SIGN', -- PROCESS_ID - varchar(10)
|
1042
|
'C', -- STATUS - varchar(5)
|
1043
|
'', -- ROLE_USER - varchar(50)
|
1044
|
@BRANCH_SIGN_ID,
|
1045
|
CASE WHEN @BRANCH_SIGN_TYPE='HS' THEN @DEP_SIGN_ID ELSE '' END, -- BRANCH_ID - varchar(15)
|
1046
|
'', -- CHECKER_ID - varchar(15)
|
1047
|
NULL, -- APPROVE_DT - datetime
|
1048
|
'', -- PARENT_PROCESS_ID - varchar(10)
|
1049
|
'N', -- IS_LEAF - varchar(1)
|
1050
|
'', -- COST_ID - varchar(15)
|
1051
|
'', -- DVDM_ID - varchar(15)
|
1052
|
N'Chờ cấp phê duyệt trung gian xác nhận phiếu', -- NOTES - nvarchar(500)
|
1053
|
NULL -- IS_HAS_CHILD - bit
|
1054
|
)
|
1055
|
END
|
1056
|
ELSE
|
1057
|
BEGIN
|
1058
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
1059
|
(
|
1060
|
REQ_ID,
|
1061
|
PROCESS_ID,
|
1062
|
STATUS,
|
1063
|
ROLE_USER,
|
1064
|
BRANCH_ID,
|
1065
|
DEP_ID,
|
1066
|
CHECKER_ID,
|
1067
|
APPROVE_DT,
|
1068
|
PARENT_PROCESS_ID,
|
1069
|
IS_LEAF,
|
1070
|
COST_ID,
|
1071
|
DVDM_ID,
|
1072
|
NOTES,
|
1073
|
IS_HAS_CHILD
|
1074
|
)
|
1075
|
VALUES
|
1076
|
( @p_INVENT_ID, -- REQ_ID - varchar(15)
|
1077
|
'APPNEW', -- PROCESS_ID - varchar(10)
|
1078
|
'C', -- STATUS - varchar(5)
|
1079
|
'GDDV', -- ROLE_USER - varchar(50)
|
1080
|
@BRANCH_ID,
|
1081
|
@DEP_ID, -- BRANCH_ID - varchar(15)
|
1082
|
'', -- CHECKER_ID - varchar(15)
|
1083
|
NULL, -- APPROVE_DT - datetime
|
1084
|
'', -- PARENT_PROCESS_ID - varchar(10)
|
1085
|
'N', -- IS_LEAF - varchar(1)
|
1086
|
'', -- COST_ID - varchar(15)
|
1087
|
'', -- DVDM_ID - varchar(15)
|
1088
|
-- N'Chờ trưởng đơn vị phê duyệt', -- NOTES - nvarchar(500)
|
1089
|
N'Chờ trưởng đơn vị phê duyệt' ,
|
1090
|
NULL -- IS_HAS_CHILD - bit
|
1091
|
)
|
1092
|
END
|
1093
|
|
1094
|
INSERT INTO dbo.PL_PROCESS
|
1095
|
(
|
1096
|
REQ_ID,
|
1097
|
PROCESS_ID,
|
1098
|
CHECKER_ID,
|
1099
|
APPROVE_DT,
|
1100
|
PROCESS_DESC,
|
1101
|
NOTES
|
1102
|
)
|
1103
|
VALUES
|
1104
|
( @p_INVENT_ID,
|
1105
|
'SEND',
|
1106
|
@p_USERLOGIN,
|
1107
|
GETDATE(),
|
1108
|
N'Người tạo phiếu kiểm kê gửi phê duyệt thành công' ,
|
1109
|
N'Nhân viên gửi phê duyệt '
|
1110
|
)
|
1111
|
SET @Mes=N'Phiếu kiểm kê: '+(SELECT INVENT_ID FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID)+N' đã được gửi xác nhận thành công'
|
1112
|
IF @@Error <> 0 GOTO ABORT
|
1113
|
END
|
1114
|
ELSE
|
1115
|
BEGIN
|
1116
|
DECLARE @PROCESS_ID_CUR VARCHAR(15) = (SELECT PROCESS_ID FROM dbo.ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID)
|
1117
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS = 'P',CHECKER_ID = @p_USERLOGIN, APPROVE_DT = GETDATE() WHERE REQ_ID = @p_INVENT_ID AND ROLE_USER = @p_USERLOGIN AND PROCESS_ID = @PROCESS_ID_CUR
|
1118
|
|
1119
|
IF(NOT EXISTS(SELECT 1 FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID = @p_INVENT_ID AND PROCESS_ID = @PROCESS_ID_CUR AND STATUS = 'C'))
|
1120
|
BEGIN
|
1121
|
DECLARE @PROCESS_ID_NEXT VARCHAR(15) = (SELECT TOP 1 PROCESS_ID FROM dbo.PL_REQUEST_PROCESS WHERE REQ_ID = @p_INVENT_ID AND PARENT_PROCESS_ID = @PROCESS_ID_CUR)
|
1122
|
UPDATE dbo.ASS_INVENTORY_MASTER SET PROCESS_ID = @PROCESS_ID_NEXT WHERE INVENT_ID = @p_INVENT_ID
|
1123
|
UPDATE dbo.PL_REQUEST_PROCESS SET STATUS = 'C' WHERE REQ_ID = @p_INVENT_ID AND PROCESS_ID = @PROCESS_ID_NEXT
|
1124
|
END
|
1125
|
|
1126
|
INSERT INTO dbo.PL_PROCESS
|
1127
|
(
|
1128
|
REQ_ID,
|
1129
|
PROCESS_ID,
|
1130
|
CHECKER_ID,
|
1131
|
APPROVE_DT,
|
1132
|
PROCESS_DESC,
|
1133
|
NOTES
|
1134
|
)
|
1135
|
VALUES
|
1136
|
( @p_INVENT_ID,
|
1137
|
'THKK',
|
1138
|
@p_USERLOGIN,
|
1139
|
GETDATE(),
|
1140
|
N'Người tạo gửi duyệt kỳ kiểm kê' ,
|
1141
|
N'Thực hiện kiểm kê'
|
1142
|
)
|
1143
|
SET @Mes=N'Phiếu kiểm kê: '+(SELECT INVENT_ID FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID)+N' đã được gửi phê duyệt thành công'
|
1144
|
END
|
1145
|
COMMIT TRANSACTION
|
1146
|
SELECT '0' as Result,'' REQ_CODE,''REQ_ID, @Mes ErrorDesc
|
1147
|
RETURN '0'
|
1148
|
ABORT:
|
1149
|
BEGIN
|
1150
|
ROLLBACK TRANSACTION
|
1151
|
SELECT '-1' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
|
1152
|
RETURN '-1'
|
1153
|
End
|
1154
|
|
1155
|
|
1156
|
|
1157
|
GO
|