1
|
USE gAMSPro_BVB_v3_FINAL
|
2
|
GO
|
3
|
|
4
|
-- =============================================
|
5
|
-- Author: TuNT
|
6
|
-- Create date: 20/11/2020
|
7
|
-- Description: Store insert tai san kiem ke
|
8
|
-- =============================================
|
9
|
ALTER PROCEDURE dbo.ASS_INVENTORY_DETAIL_Ins
|
10
|
@p_INVENTDT_ID VARCHAR(15),
|
11
|
@p_INVENT_ID varchar(15) ,
|
12
|
@p_ASSET_ID varchar(15) ,
|
13
|
@p_ASSET_STATUS nvarchar(20) ,
|
14
|
@p_INVENT_DESC nvarchar(1000) ,
|
15
|
@p_NOTES nvarchar(500) ,
|
16
|
@p_BRANCH_USE varchar(15) ,
|
17
|
@p_DEPT_USE varchar(15),
|
18
|
@p_REMAIN_VALUE decimal(18,0),
|
19
|
@p_INVENTORY_DATE varchar(25)
|
20
|
AS
|
21
|
BEGIN
|
22
|
|
23
|
|
24
|
--DECLARE @l_INVENTDT_ID VARCHAR(15)
|
25
|
IF NOT EXISTS (SELECT * FROM ASS_INVENTORY_DT_RPT WHERE INVENT_ID = @p_INVENT_ID)
|
26
|
AND NOT EXISTS(SELECT * FROM ASS_INVENTORY_DT WHERE ASSET_ID = @p_ASSET_ID AND @p_INVENT_ID = INVENT_ID)
|
27
|
AND NOT EXISTS(SELECT * FROM ASS_MASTER WHERE ASSET_ID = @p_ASSET_ID)
|
28
|
BEGIN
|
29
|
SELECT '-1' as Result, '' id, N'Mã tài sản không có trong hệ thống' ErrorDesc
|
30
|
|
31
|
RETURN '-1'
|
32
|
END
|
33
|
--IF EXISTS (SELECT * FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID
|
34
|
-- AND BRANCH_ID = @p_BRANCH_USE
|
35
|
-- AND (DEPT_ID = @p_DEPT_USE OR (ISNULL(DEPT_ID,'') = '' AND ISNULL(@p_DEPT_USE,'') = '')))
|
36
|
-- AND EXISTS (SELECT * FROM ASS_STATUS WHERE STATUS_ID = @p_ASSET_STATUS AND STATUS_CODE = '05')
|
37
|
--BEGIN
|
38
|
-- SELECT '-1' as Result, '' id, N'Không được phép cập nhật trạng thái Thừa so với sao kê đối với tài sản thuộc danh mục kiểm kê' ErrorDesc
|
39
|
-- RETURN '-1'
|
40
|
--END
|
41
|
DECLARE @l_TERM VARCHAR(20), @l_INVENTORY_DT DATE, @l_ASSET_TYPE VARCHAR(10), @l_BRANCH_ID VARCHAR(20), @l_DEPT_ID VARCHAR(20)
|
42
|
DECLARE @AMORTIZED_AMT VARCHAR(50)
|
43
|
SELECT @l_ASSET_TYPE = [TYPE_ID] FROM ASS_MASTER WHERE ASSET_ID = @p_ASSET_ID
|
44
|
SELECT @l_TERM = TERM, @l_INVENTORY_DT = INVENTORY_DT, @l_BRANCH_ID = BRANCH_ID, @l_DEPT_ID = DEPT_ID
|
45
|
FROM ASS_INVENTORY_MASTER WHERE INVENT_ID = @p_INVENT_ID
|
46
|
|
47
|
--SET @p_INVENT_ID = (SELECT TOP(1) INVENT_ID FROM ASS_INVENTORY_MASTER
|
48
|
-- WHERE BRANCH_ID = @l_BRANCH_ID
|
49
|
-- AND (DEPT_ID = @l_DEPT_ID OR (ISNULL(DEPT_ID, '') = '' AND ISNULL(@l_DEPT_ID,'') = ''))
|
50
|
-- AND TERM = @l_TERM
|
51
|
-- AND ASSET_TYPE = @l_ASSET_TYPE
|
52
|
-- AND INVENTORY_DT = @l_INVENTORY_DT
|
53
|
-- AND RECORD_STATUS = '1'
|
54
|
-- AND AUTH_STATUS = 'U')
|
55
|
--IF(@p_INVENT_ID IS NULL OR @p_INVENT_ID = '')
|
56
|
--BEGIN
|
57
|
-- SELECT '-1' as Result, '' id, N'Tài sản không thuộc kỳ kiểm nào' ErrorDesc
|
58
|
-- RETURN '-1'
|
59
|
--END
|
60
|
DECLARE @p_INVENT_ID_Tmp VARCHAR(15)
|
61
|
SELECT @p_INVENT_ID_Tmp = aidr.INVENT_ID FROM ASS_INVENTORY_DT_RPT aidr WHERE aidr.INVENTDT_ID = @p_INVENTDT_ID
|
62
|
--ThuanTm cmt: tài sản nằm ngoài đợt kk được phép lưu
|
63
|
--IF (@p_INVENT_ID_Tmp IS NOT NULL AND @p_INVENT_ID_Tmp <> '' AND @p_INVENT_ID_Tmp <> @p_INVENT_ID AND
|
64
|
-- EXISTS(SELECT * FROM ASS_INVENTORY_MASTER aim WHERE aim.INVENT_ID = @p_INVENT_ID_Tmp AND aim.AUTH_STATUS <> 'A' OR aim.AUTH_STATUS IS NULL ))
|
65
|
-- BEGIN
|
66
|
-- DECLARE @BRANCH_NAME NVARCHAR(50)
|
67
|
-- SELECT @BRANCH_NAME = cb.BRANCH_CODE + ' - ' + cb.BRANCH_NAME FROM ASS_INVENTORY_MASTER aim
|
68
|
-- LEFT JOIN CM_BRANCH cb ON aim.BRANCH_ID = cb.BRANCH_ID WHERE aim.INVENT_ID = @p_INVENT_ID_Tmp AND aim.AUTH_STATUS <> 'A' OR aim.AUTH_STATUS IS NULL
|
69
|
-- SELECT '-1' as Result, '' id, N'Tài sản đang thuộc về kỳ kiểm kê của' + @BRANCH_NAME + N'. Bạn không được phép cập nhật thông tin tài sản này' ErrorDesc
|
70
|
-- RETURN '-1'
|
71
|
--END
|
72
|
BEGIN TRANSACTION
|
73
|
IF EXISTS (SELECT * FROM ASS_INVENTORY_DT_RPT WHERE INVENT_ID = @p_INVENT_ID)
|
74
|
BEGIN
|
75
|
IF EXISTS(SELECT * FROM ASS_INVENTORY_DT_RPT A
|
76
|
LEFT JOIN ASS_INVENTORY_MASTER B ON A.INVENT_ID = B.INVENT_ID
|
77
|
WHERE (@p_INVENTDT_ID = A.INVENTDT_ID OR (A.ASSET_ID = @p_ASSET_ID AND B.INVENT_ID = @p_INVENT_ID AND A.BRANCH_USE = B.BRANCH_ID)))
|
78
|
BEGIN
|
79
|
--SELECT TOP(1) @l_INVENTDT_ID = INVENTDT_ID FROM ASS_INVENTORY_DT_RPT WHERE ASSET_ID = @p_ASSET_ID AND @p_INVENT_ID = INVENT_ID
|
80
|
IF (@p_INVENTDT_ID IS NOT NULL OR @p_INVENTDT_ID <> '')
|
81
|
BEGIN
|
82
|
UPDATE ASS_INVENTORY_DT_RPT
|
83
|
SET ASSET_STATUS = @p_ASSET_STATUS,
|
84
|
INVENT_DESC = @p_INVENT_DESC,
|
85
|
NOTES = @p_NOTES,
|
86
|
BRANCH_USE = @p_BRANCH_USE,
|
87
|
DEPT_USE = @p_DEPT_USE,
|
88
|
REMAIN_VALUE = @p_REMAIN_VALUE,
|
89
|
INVENTORY_DATE = CONVERT(datetime,@p_INVENTORY_DATE,103)
|
90
|
WHERE @p_INVENTDT_ID = INVENTDT_ID
|
91
|
END
|
92
|
ELSE
|
93
|
BEGIN
|
94
|
SET @p_INVENTDT_ID = (SELECT INVENTDT_ID FROM ASS_INVENTORY_DT_RPT WHERE ASSET_ID = @p_ASSET_ID AND INVENT_ID = @p_INVENT_ID)
|
95
|
UPDATE ASS_INVENTORY_DT_RPT
|
96
|
SET ASSET_STATUS = @p_ASSET_STATUS,
|
97
|
INVENT_DESC = @p_INVENT_DESC,
|
98
|
NOTES = @p_NOTES,
|
99
|
BRANCH_USE = @p_BRANCH_USE,
|
100
|
DEPT_USE = @p_DEPT_USE,
|
101
|
REMAIN_VALUE = @p_REMAIN_VALUE,
|
102
|
INVENTORY_DATE = CONVERT(datetime,@p_INVENTORY_DATE,103)
|
103
|
WHERE ASSET_ID = @p_ASSET_ID AND INVENT_ID = @p_INVENT_ID
|
104
|
END
|
105
|
END
|
106
|
ELSE
|
107
|
BEGIN
|
108
|
|
109
|
SELECT @p_BRANCH_USE = am.BRANCH_ID, @p_DEPT_USE = am.DEPT_ID, @p_REMAIN_VALUE = am.BUY_PRICE - am.AMORTIZED_AMT, @AMORTIZED_AMT = CONVERT(VARCHAR,am.AMORTIZED_AMT) FROM ASS_MASTER am WHERE am.ASSET_ID = @p_ASSET_ID
|
110
|
EXEC SYS_CodeMasters_Gen 'ASS_INVENTORY_DT', @p_INVENTDT_ID OUT
|
111
|
INSERT INTO ASS_INVENTORY_DT_RPT(INVENTDT_ID, INVENT_ID, ASSET_ID, ASSET_STATUS, INVENT_DESC, NOTES, BRANCH_USE, DEPT_USE, REMAIN_VALUE,INVENTORY_DATE)
|
112
|
VALUES(@p_INVENTDT_ID, @p_INVENT_ID,@p_ASSET_ID, @p_ASSET_STATUS, @p_INVENT_DESC, @p_NOTES, @p_BRANCH_USE, @p_DEPT_USE, @p_REMAIN_VALUE,CONVERT(datetime,@p_INVENTORY_DATE,103))
|
113
|
--SELECT * FROM ASS_INVENTORY_DT
|
114
|
END
|
115
|
END
|
116
|
ELSE
|
117
|
BEGIN
|
118
|
IF EXISTS(SELECT * FROM ASS_INVENTORY_DT A
|
119
|
LEFT JOIN ASS_INVENTORY_MASTER B ON A.INVENT_ID = B.INVENT_ID
|
120
|
WHERE (@p_INVENTDT_ID = A.INVENTDT_ID OR (A.ASSET_ID = @p_ASSET_ID AND B.INVENT_ID = @p_INVENT_ID AND A.BRANCH_USE = B.BRANCH_ID)))
|
121
|
BEGIN
|
122
|
IF (@p_INVENTDT_ID IS NOT NULL OR @p_INVENTDT_ID <> '')
|
123
|
BEGIN
|
124
|
UPDATE ASS_INVENTORY_DT
|
125
|
SET ASSET_STATUS = @p_ASSET_STATUS,
|
126
|
INVENT_DESC = @p_INVENT_DESC,
|
127
|
NOTES = @p_NOTES,
|
128
|
BRANCH_USE = @p_BRANCH_USE,
|
129
|
DEPT_USE = @p_DEPT_USE,
|
130
|
REMAIN_VALUE = @p_REMAIN_VALUE
|
131
|
WHERE @p_INVENTDT_ID = INVENTDT_ID
|
132
|
END
|
133
|
ELSE
|
134
|
BEGIN
|
135
|
SET @p_INVENTDT_ID = (SELECT INVENTDT_ID FROM ASS_INVENTORY_DT WHERE ASSET_ID = @p_ASSET_ID AND INVENT_ID = @p_INVENT_ID)
|
136
|
UPDATE ASS_INVENTORY_DT
|
137
|
SET ASSET_STATUS = @p_ASSET_STATUS,
|
138
|
INVENT_DESC = @p_INVENT_DESC,
|
139
|
NOTES = @p_NOTES,
|
140
|
BRANCH_USE = @p_BRANCH_USE,
|
141
|
DEPT_USE = @p_DEPT_USE,
|
142
|
REMAIN_VALUE = @p_REMAIN_VALUE
|
143
|
WHERE ASSET_ID = @p_ASSET_ID AND INVENT_ID = @p_INVENT_ID
|
144
|
END
|
145
|
END
|
146
|
ELSE
|
147
|
|
148
|
BEGIN
|
149
|
--DECLARE @AMORTIZED_AMT VARCHAR(50)
|
150
|
SELECT @p_BRANCH_USE = am.BRANCH_ID, @p_DEPT_USE = am.DEPT_ID, @p_REMAIN_VALUE = am.BUY_PRICE - am.AMORTIZED_AMT, @AMORTIZED_AMT = CONVERT(VARCHAR,am.AMORTIZED_AMT) FROM ASS_MASTER am WHERE am.ASSET_ID = @p_ASSET_ID
|
151
|
EXEC SYS_CodeMasters_Gen 'ASS_INVENTORY_DT', @p_INVENTDT_ID OUT
|
152
|
INSERT INTO ASS_INVENTORY_DT(INVENTDT_ID, INVENT_ID, ASSET_ID, ASSET_STATUS, INVENT_DESC, NOTES, BRANCH_USE, DEPT_USE, REMAIN_VALUE)
|
153
|
VALUES(@p_INVENTDT_ID, @p_INVENT_ID,@p_ASSET_ID, @p_ASSET_STATUS, @p_INVENT_DESC, @p_NOTES, @p_BRANCH_USE, @p_DEPT_USE, @p_REMAIN_VALUE)
|
154
|
--SELECT * FROM ASS_INVENTORY_DT
|
155
|
END
|
156
|
END
|
157
|
|
158
|
IF @@Error <> 0 GOTO ABORT
|
159
|
COMMIT TRANSACTION
|
160
|
SELECT '0' as Result, @p_INVENTDT_ID id, @p_INVENT_ID INVENT_ID, '' ErrorDesc
|
161
|
RETURN '0'
|
162
|
ABORT:
|
163
|
BEGIN
|
164
|
ROLLBACK TRANSACTION
|
165
|
SELECT '-1' as Result, '' id, '' ErrorDesc
|
166
|
RETURN '-1'
|
167
|
End
|
168
|
|
169
|
END
|
170
|
GO
|