1
|
ALTER PROCEDURE [dbo].[TR_REQUEST_DOC_SendApp]
|
2
|
@p_REQ_ID VARCHAR(20),
|
3
|
@p_PROCESS_ID VARCHAR(20),
|
4
|
@p_TLNAME VARCHAR(20),
|
5
|
@p_MAKER_ID VARCHAR(20)
|
6
|
AS
|
7
|
BEGIN TRANSACTION
|
8
|
IF(EXISTS(SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (REQ_DT IS NULL OR REQ_DT='')) )
|
9
|
BEGIN
|
10
|
ROLLBACK TRANSACTION
|
11
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Ngày yêu cầu bắt buộc nhập' ErrorDesc
|
12
|
RETURN '-1'
|
13
|
END
|
14
|
IF(EXISTS(SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (REQ_REASON IS NULL OR REQ_REASON='')) )
|
15
|
BEGIN
|
16
|
ROLLBACK TRANSACTION
|
17
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Mục đích yêu cầu bắt buộc nhập' ErrorDesc
|
18
|
RETURN '-1'
|
19
|
END
|
20
|
IF(EXISTS(SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID AND (PL_REQ_ID IS NULL OR PL_REQ_ID='')) )
|
21
|
BEGIN
|
22
|
ROLLBACK TRANSACTION
|
23
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Tờ trình chủ trương bắt buộc nhập' ErrorDesc
|
24
|
RETURN '-1'
|
25
|
END
|
26
|
IF(NOT EXISTS(SELECT REQ_DOC_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID ) )
|
27
|
BEGIN
|
28
|
ROLLBACK TRANSACTION
|
29
|
SELECT '-1' AS Result ,'' REQ_CODE, '' REQ_ID, N'Chi tiết hàng hóa bắt buộc nhập' ErrorDesc
|
30
|
RETURN '-1'
|
31
|
END
|
32
|
|
33
|
--- XOA DATA CU
|
34
|
DELETE PL_REQUEST_PROCESS WHERE REQ_ID =@p_REQ_ID
|
35
|
-----
|
36
|
DECLARE @NS_TO_TRINH DECIMAL(18,0), @NS_PYCMS_USE DECIMAL(18,0), @NS_LUY_KE DECIMAL(18,0),@PL_REQ_CODE VARCHAR(50)
|
37
|
SET @PL_REQ_CODE =(SELECT REQ_CODE FROM PL_REQUEST_DOC WHERE REQ_ID =(SELECT PL_REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID))
|
38
|
SET @NS_TO_TRINH =(SELECT TOTAL_AMT FROM PL_REQUEST_DOC WHERE REQ_ID =(SELECT PL_REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID))
|
39
|
SET @NS_PYCMS_USE =(SELECT SUM(TOTAL_AMT) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@p_REQ_ID)
|
40
|
SET @NS_LUY_KE =ISNULL((SELECT SUM(TOTAL_AMT) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID IN (SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE PL_REQ_ID=(SELECT PL_REQ_ID FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID))),0)
|
41
|
DECLARE @p_PL_REQ_ID VARCHAR(15),@p_REQ_DATE DATETIME
|
42
|
SELECT @p_PL_REQ_ID=PL_REQ_ID,@p_REQ_DATE=REQ_DT FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
|
43
|
IF( EXISTS(
|
44
|
SELECT Temp.GD_ID FROM (SELECT GD_ID,SUM(TOTAL_AMT) AS TOTAL_AMT_ETM FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID
|
45
|
GROUP BY GD_ID) Temp WHERE TOTAL_AMT_ETM >
|
46
|
((SELECT SUM(TEMP2.TOTAL_AMT) AS TOTAL_AMT_APP FROM
|
47
|
(SELECT GOODS_ID,TOTAL_AMT FROM dbo.PL_REQUEST_DOC_DT
|
48
|
WHERE REQ_ID=@p_PL_REQ_ID
|
49
|
UNION
|
50
|
SELECT GOODS_ID,TOTAL_AMT FROM dbo.PL_REQUEST_DOC_DT
|
51
|
WHERE REQ_ID=(SELECT REQ_PARENT_ID FROM dbo.PL_REQUEST_DOC WHERE REQ_ID=@p_PL_REQ_ID) ) TEMP2 WHERE TEMP2.GOODS_ID=Temp.GD_ID
|
52
|
GROUP BY TEMP2.GOODS_ID) - (SELECT ISNULL(SUM(TOTAL_AMT),0) AS TOTAL_AMT_EXE FROM dbo.TR_REQUEST_DOC_DT WHERE GD_ID=Temp.GD_ID AND REQ_DOC_ID IN (SELECT REQ_ID FROM dbo.TR_REQUEST_DOC WHERE PL_REQ_ID=@p_PL_REQ_ID)
|
53
|
GROUP BY GD_ID))))
|
54
|
BEGIN
|
55
|
ROLLBACK TRANSACTION
|
56
|
SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID,
|
57
|
N'Thông tin liên quan tới phiếu yêu cầu mua sắm có sử dụng tờ trình số: '+ @PL_REQ_CODE
|
58
|
+CHAR(10)+ N'Tổng số tiền lũy kế sử dụng ngân sách tờ trình: '+FORMAT(@NS_LUY_KE ,'#,#', 'vi-VN')
|
59
|
+CHAR(10)+N'Tổng số tiền ngân sách còn lại của tờ trình: '+ FORMAT(@NS_TO_TRINH -@NS_LUY_KE ,'#,#', 'vi-VN')
|
60
|
+CHAR(10)+ N'Số tiền sử dụng ngân sách cho phiếu yêu cầu mua sắm hiện tại vượt '+FORMAT(@NS_LUY_KE+@NS_PYCMS_USE -@NS_TO_TRINH ,'#,#', 'vi-VN')+N' so với tổng số tiền ngân sách còn lại của tờ trình.'
|
61
|
+CHAR(10) +N'Vui lòng tra cứu tổng số tiền các phiếu yêu cầu mua sắm để biết thêm thông tin chi tiêt!' ErrorDesc
|
62
|
RETURN '0'
|
63
|
END
|
64
|
IF(EXISTS(SELECT REQDT_ID FROM dbo.TR_REQUEST_DOC_DT WHERE REQ_DOC_ID=@p_REQ_ID AND REQ_DT <= @p_REQ_DATE))
|
65
|
BEGIN
|
66
|
ROLLBACK TRANSACTION
|
67
|
SELECT 'REQ-00001' Result,'' REQ_CODE, '' REQ_ID, N'Lưới thông tin hàng hóa theo tờ trình: Ngày cần không được phép để trống và phải lớn hơn ngày yêu cầu mua sắm' ErrorDesc
|
68
|
RETURN '0'
|
69
|
END
|
70
|
DECLARE @BRANCH_ID VARCHAR(20), @DEP_ID VARCHAR(20),@BRANCH_CREATE VARCHAR(20) ,@DEP_CREATE VARCHAR(20),@BRANCH_TYPE VARCHAR(10),
|
71
|
@BRANCH_CREATE_TYPE VARCHAR(10)
|
72
|
|
73
|
SELECT @BRANCH_CREATE=BRANCH_CREATE,@DEP_CREATE=DEP_CREATE FROM dbo.TR_REQUEST_DOC WHERE REQ_ID=@p_REQ_ID
|
74
|
|
75
|
SET @BRANCH_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_ID)
|
76
|
SET @BRANCH_CREATE_TYPE=(SELECT BRANCH_TYPE FROM dbo.CM_BRANCH WHERE BRANCH_ID=@BRANCH_CREATE)
|
77
|
-- KIEM TRA XEM CO CAP PHE DUYET HAY KHONG
|
78
|
IF(EXISTS(SELECT * FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID AND SIGN_USER IS NOT NULL AND SIGN_USER <>''))
|
79
|
BEGIN
|
80
|
UPDATE dbo.TR_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='SIGN' WHERE REQ_ID=@p_REQ_ID
|
81
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
82
|
(
|
83
|
REQ_ID,
|
84
|
PROCESS_ID,
|
85
|
STATUS,
|
86
|
ROLE_USER,
|
87
|
BRANCH_ID,
|
88
|
DEP_ID,
|
89
|
CHECKER_ID,
|
90
|
APPROVE_DT,
|
91
|
PARENT_PROCESS_ID,
|
92
|
IS_LEAF,
|
93
|
COST_ID,
|
94
|
DVDM_ID,
|
95
|
NOTES,
|
96
|
IS_HAS_CHILD
|
97
|
)
|
98
|
VALUES
|
99
|
( @p_REQ_ID, -- REQ_ID - varchar(15)
|
100
|
'SIGN', -- PROCESS_ID - varchar(10)
|
101
|
'C', -- STATUS - varchar(5)
|
102
|
(SELECT RoleName FROM TL_USER WHERE TLNANME =(SELECT SIGN_USER FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_ID)), -- ROLE_USER - varchar(50)
|
103
|
@BRANCH_CREATE,
|
104
|
@DEP_CREATE, -- BRANCH_ID - varchar(15)
|
105
|
'', -- CHECKER_ID - varchar(15)
|
106
|
NULL, -- APPROVE_DT - datetime
|
107
|
'', -- PARENT_PROCESS_ID - varchar(10)
|
108
|
'N', -- IS_LEAF - varchar(1)
|
109
|
'', -- COST_ID - varchar(15)
|
110
|
'', -- DVDM_ID - varchar(15)
|
111
|
N'Chờ cấp phê duyệt trung gian xác nhận phiếu', -- NOTES - nvarchar(500)
|
112
|
NULL -- IS_HAS_CHILD - bit
|
113
|
)
|
114
|
END
|
115
|
ELSE
|
116
|
BEGIN
|
117
|
UPDATE dbo.TR_REQUEST_DOC SET AUTH_STATUS='U',PROCESS_ID='APPNEW' WHERE REQ_ID=@p_REQ_ID
|
118
|
INSERT INTO dbo.PL_REQUEST_PROCESS
|
119
|
(
|
120
|
REQ_ID,
|
121
|
PROCESS_ID,
|
122
|
STATUS,
|
123
|
ROLE_USER,
|
124
|
BRANCH_ID,
|
125
|
DEP_ID,
|
126
|
CHECKER_ID,
|
127
|
APPROVE_DT,
|
128
|
PARENT_PROCESS_ID,
|
129
|
IS_LEAF,
|
130
|
COST_ID,
|
131
|
DVDM_ID,
|
132
|
NOTES,
|
133
|
IS_HAS_CHILD
|
134
|
)
|
135
|
VALUES
|
136
|
( @p_REQ_ID, -- REQ_ID - varchar(15)
|
137
|
'APPNEW', -- PROCESS_ID - varchar(10)
|
138
|
'C', -- STATUS - varchar(5)
|
139
|
'GDDV', -- ROLE_USER - varchar(50)
|
140
|
@BRANCH_CREATE,
|
141
|
@DEP_CREATE, -- BRANCH_ID - varchar(15)
|
142
|
'', -- CHECKER_ID - varchar(15)
|
143
|
NULL, -- APPROVE_DT - datetime
|
144
|
'', -- PARENT_PROCESS_ID - varchar(10)
|
145
|
'N', -- IS_LEAF - varchar(1)
|
146
|
'', -- COST_ID - varchar(15)
|
147
|
'', -- DVDM_ID - varchar(15)
|
148
|
N'Chờ trưởng đơn vị phê duyệt', -- NOTES - nvarchar(500)
|
149
|
NULL -- IS_HAS_CHILD - bit
|
150
|
)
|
151
|
END
|
152
|
INSERT INTO dbo.PL_PROCESS
|
153
|
(
|
154
|
REQ_ID,
|
155
|
PROCESS_ID,
|
156
|
CHECKER_ID,
|
157
|
APPROVE_DT,
|
158
|
PROCESS_DESC,
|
159
|
NOTES
|
160
|
)
|
161
|
VALUES
|
162
|
( @p_REQ_ID, -- REQ_ID - varchar(15)
|
163
|
--@p_PROCESS_ID, -- PROCESS_ID - varchar(10)
|
164
|
'SEND',
|
165
|
@p_TLNAME, -- CHECKER_ID - varchar(15)
|
166
|
GETDATE(), -- APPROVE_DT - datetime
|
167
|
N'Nhân viên tạo phiếu và gửi phê duyệt thành công' , -- PROCESS_DESC - nvarchar(1000)
|
168
|
N'Nhân viên gửi phê duyệt ' -- NOTES - nvarchar(1000)
|
169
|
)
|
170
|
|
171
|
IF @@Error <> 0 GOTO ABORT
|
172
|
COMMIT TRANSACTION
|
173
|
SELECT '0' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
|
174
|
RETURN '0'
|
175
|
ABORT:
|
176
|
BEGIN
|
177
|
ROLLBACK TRANSACTION
|
178
|
SELECT '-1' as Result,'' REQ_CODE,''REQ_ID, '' ErrorDesc
|
179
|
RETURN '-1'
|
180
|
End
|
181
|
|
182
|
|
183
|
¿
|
184
|
ALTER PROCEDURE [dbo].[TR_REQ_ADVANCE_PAYMENT_Search]
|
185
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
186
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
187
|
@p_REQ_DT VARCHAR(20)= NULL,
|
188
|
@p_BRANCH_ID varchar(15) = NULL,
|
189
|
@p_DEP_ID varchar(15) = NULL,
|
190
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
191
|
@p_REQ_TYPE varchar(15) = NULL,
|
192
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
193
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
194
|
@p_REF_ID varchar(15) = NULL,
|
195
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
196
|
@p_RECEIVER_DEBIT nvarchar(250) = NULL,
|
197
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
198
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
199
|
@p_REQ_AMT decimal(18, 0) = NULL,
|
200
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
201
|
@p_MAKER_ID varchar(15) = NULL,
|
202
|
@p_CREATE_DT varchar(25) = NULL,
|
203
|
@p_EDITOR_ID varchar(15) = NULL,
|
204
|
@p_AUTH_STATUS varchar(1) = NULL,
|
205
|
@p_CHECKER_ID varchar(15) = NULL,
|
206
|
@p_APPROVE_DT varchar(25) = NULL,
|
207
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
208
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
209
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
210
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
211
|
@p_APPROVE_DT_KT varchar(25)= null,
|
212
|
@p_CORE_NOTE nvarchar(500) = NULL,
|
213
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
214
|
@p_NOTES varchar(15) = NULL,
|
215
|
@p_RECORD_STATUS varchar(1) = NULL,
|
216
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
217
|
@p_TRANSFER_DT varchar(25) = NULL,
|
218
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
219
|
@p_PROCESS varchar(15) = NULL,
|
220
|
@p_PAY_PHASE VARCHAR(15)= NULL,
|
221
|
@p_XMP_TEMP XML = NULL,
|
222
|
@p_TOP INT = 10,
|
223
|
@p_LEVEL varchar(10) = NULL,
|
224
|
@p_FRMDATE VARCHAR(20)= NULL,
|
225
|
@p_TODATE VARCHAR(20) = NULL,
|
226
|
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
|
227
|
@p_IS_UPDATE_KT VARCHAR(15) = NULL,
|
228
|
@p_IS_TRANSFER VARCHAR(15)= NULL,
|
229
|
@p_DVDM_ID VARCHAR(15)= NULL,
|
230
|
@p_USER_LOGIN VARCHAR(15) = NULL,
|
231
|
@p_RATE DECIMAL(18,0) =0,
|
232
|
@p_FUNCTION VARCHAR(15) = NULL,
|
233
|
@p_TYPE_SEARCH VARCHAR(15) = NULL
|
234
|
AS
|
235
|
SET @p_TOP = NULL
|
236
|
DECLARE @TB_TYPE TABLE (BRANCH_TYPE VARCHAR(15))
|
237
|
IF((SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID= @p_BRANCH_LOGIN)='HS')
|
238
|
BEGIN
|
239
|
INSERT INTO @TB_TYPE VALUES('HS')
|
240
|
END
|
241
|
ELSE
|
242
|
BEGIN
|
243
|
INSERT INTO @TB_TYPE VALUES('PGD')
|
244
|
INSERT INTO @TB_TYPE VALUES('CN')
|
245
|
END
|
246
|
declare @tmp table(BRANCH_ID varchar(15))
|
247
|
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
|
248
|
declare @tmp_Login table(BRANCH_ID varchar(15))
|
249
|
insert into @tmp_Login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
|
250
|
DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15)
|
251
|
DECLARE @BRANCH_TYPE VARCHAR(15)
|
252
|
SET @BRANCH_TYPE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
253
|
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
|
254
|
SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
|
255
|
DECLARE @TMP_DEP TABLE(DEP_ID VARCHAR(15))
|
256
|
SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
|
257
|
SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
|
258
|
INSERT INTO @TMP_DEP SELECT B.DEP_ID FROM PL_COSTCENTER_DT B WHERE COST_ID =@COST_LG
|
259
|
DECLARE @BRANCH_TYPE_LG VARCHAR(15)
|
260
|
SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
|
261
|
IF(@p_TOP=NULL OR @p_TOP='' OR @p_TOP=0)BEGIN
|
262
|
SELECT A.*,
|
263
|
PR.PROCESS_DESC AS AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,
|
264
|
TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,
|
265
|
BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
|
266
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
267
|
BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,
|
268
|
A.REQ_AMT AS TOTAL_AMT_TEMP,CASE WHEN H.SOTIEN_TT IS NULL THEN ISNULL(A.PAY_AMT,0) ELSE ISNULL(H.SOTIEN_TT,0) END AS TOTAL_AMT_PAY_HIS,
|
269
|
TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE,
|
270
|
TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,
|
271
|
PO.PO_CODE, PO.PO_NAME,SUP.SUP_NAME,SUP.TAX_NO AS SUP_TAX_NO,CUS.CUSTOMER_CODE AS CUST_CODE, CUS.CUSTOMER_NAME AS CUST_NAME, PM.PAY_PHASE AS KY_TAM_UNG,
|
272
|
DV.DVDM_CODE, DV.DVDM_NAME, PC.ROLE_USER AS ROLE_CONF, PR.PROCESS_DESC AS CONF_STATUS, PC1.NOTES AS NEXT_STEP, PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,
|
273
|
PC3.TLNAME AS EXEC_USER, TL8.TLFullName AS RECIVER_MONEY_FULLNAME, BR1.BRANCH_TYPE AS BRANCH_TYPE_CR, BR.BRANCH_TYPE, @p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE
|
274
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
275
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
276
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
277
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
278
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
279
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
280
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
281
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
282
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
283
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
284
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
285
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'--Loại thanh toán (Nội bộ/Thanh toán/Nợ)
|
286
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'--Hình thức thanh toán( Tiền mặt/Chuyển khoản)
|
287
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
288
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
289
|
LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'
|
290
|
LEFT JOIN
|
291
|
(
|
292
|
SELECT PAY_ADV_ID,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) AS SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
|
293
|
) H ON A.REQ_PAY_ID = H.PAY_ADV_ID
|
294
|
LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'
|
295
|
LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
|
296
|
LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'
|
297
|
LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'
|
298
|
LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'
|
299
|
LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID
|
300
|
LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID
|
301
|
LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND PC.ROLE_USER = @ROLE_ID AND PC.STATUS='C'
|
302
|
LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'
|
303
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'
|
304
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
|
305
|
LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME
|
306
|
LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
|
307
|
WHERE 1=1
|
308
|
AND (A.REQ_PAY_ID =@p_REQ_PAY_ID OR @p_REQ_PAY_ID IS NULL OR @p_REQ_PAY_ID ='')
|
309
|
AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
|
310
|
AND(A.AUTH_STATUS=@p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL)
|
311
|
AND((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
312
|
OR((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N'))OR @p_IS_UPDATE_KT IS NULL OR @p_IS_UPDATE_KT='')
|
313
|
AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
|
314
|
--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID
|
315
|
AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
|
316
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='')
|
317
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='')
|
318
|
--Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH
|
319
|
AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
|
320
|
AND(A.TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE or @p_TRASFER_USER_RECIVE='' OR @p_TRASFER_USER_RECIVE IS NULL OR A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <>'')
|
321
|
AND(A.BRANCH_CREATE = @p_BRANCH_CREATE or @p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)
|
322
|
AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
|
323
|
AND(A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL)
|
324
|
AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
|
325
|
AND((A.TRANSFER_MAKER IS NOT NULL AND @p_IS_TRANSFER='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
326
|
OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
|
327
|
AND((@p_LEVEL='ALL' AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp))
|
328
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_ID=@p_BRANCH_ID)OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL)))
|
329
|
AND((@p_LEVEL='ALL' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp_Login))
|
330
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_CREATE=@p_BRANCH_CREATE)OR(@p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)))
|
331
|
--- KIEM TRA NEU LA MAN HINH TIM KIEM PHIEU TAM UNG DE HOAN TAM UNG THI CHI LAY NHUNG PHIEU TAM UNG CO SO TIEN TAM UNG CON LAI =0
|
332
|
AND(((@p_PROCESS='PM' AND (A.REQ_AMT- ISNULL(H.SOTIEN_TT,0)) >0) AND A.REQ_TYPE='I') OR @p_PROCESS IS NULL OR @p_PROCESS ='')
|
333
|
AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='')
|
334
|
AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='')
|
335
|
AND (
|
336
|
(A.REQ_TYPE IN ('I','P','D')
|
337
|
AND (@p_TYPE_SEARCH='HC' AND EXISTS(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = @p_BRANCH_LOGIN AND BRANCH_TYPE ='HS')
|
338
|
AND ( (A.PROCESS IS NOT NULL AND A.PROCESS <> '' AND (SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =A.MAKER_ID) = (SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_USER_LOGIN))
|
339
|
OR(A.MAKER_ID =@P_USER_LOGIN OR A.TRASFER_USER_RECIVE =@p_USER_LOGIN))
|
340
|
OR (@p_TYPE_SEARCH='HC' AND NOT EXISTS(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID =@p_BRANCH_LOGIN AND BRANCH_TYPE ='HS')
|
341
|
AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login))
|
342
|
OR (@p_TYPE_SEARCH ='HC' AND (A.DVDM_ID IS NOT NULL OR A.DVDM_ID <>'' AND A.DVDM_ID =@DVDM_ID AND A.PROCESS IS NOT NULL AND A.PROCESS <>'') OR (A.DEP_ID IN (SELECT * FROM @TMP_DEP) AND A.PROCESS IS NOT NULL AND A.PROCESS <>''))
|
343
|
OR (@p_TYPE_SEARCH ='HC' AND EXISTS(SELECT * FROM PL_REQUEST_PROCESS WHERE REQ_ID= A.REQ_PAY_ID AND ROLE_USER ='TGD' AND STATUS ='C'))
|
344
|
-- HOAC NGUOC LAI NEU HC NHUNG PHIEU DUOC TAO O PGD, CN
|
345
|
OR (@p_TYPE_SEARCH='KT' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login)))
|
346
|
)
|
347
|
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
|
348
|
ORDER BY A.CREATE_DT DESC;
|
349
|
END;
|
350
|
ELSE BEGIN
|
351
|
SELECT A.*,ISNULL(B.AUTH_STATUS_NAME,N'Chờ duyệt') AS AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,
|
352
|
TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,
|
353
|
BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME AS DEP_NAME, DP.DEP_CODE AS DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
|
354
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
355
|
BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME,
|
356
|
A.REQ_AMT AS TOTAL_AMT_TEMP,CASE WHEN H.SOTIEN_TT IS NULL THEN ISNULL(A.PAY_AMT,0) ELSE ISNULL(H.SOTIEN_TT,0) END AS TOTAL_AMT_PAY_HIS,
|
357
|
TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,
|
358
|
TL6.TLFullName AS REC_DEBIT_NAME, TL6.TLNANME AS REC_DEBIT_CODE, TL7.TLFullName AS EMP_NAME, TL7.TLNANME AS EMP_CODE,
|
359
|
PO.PO_CODE, PO.PO_NAME,SUP.SUP_NAME,SUP.TAX_NO AS SUP_TAX_NO,CUS.CUSTOMER_CODE AS CUST_CODE, CUS.CUSTOMER_NAME AS CUST_NAME,PM.PAY_PHASE AS KY_TAM_UNG,
|
360
|
DV.DVDM_CODE, DV.DVDM_NAME, PC.ROLE_USER AS ROLE_CONF, PR.PROCESS_DESC +N' vào lúc '+ CONVERT(VARCHAR(30), CONVERT(DATETIME, PR.APP_DT,103)) AS CONF_STATUS, PC1.NOTES AS NEXT_STEP,
|
361
|
PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,PC3.TLNAME AS EXEC_USER,TL8.TLFullName AS RECIVER_MONEY_FULLNAME, BR1.BRANCH_TYPE AS BRANCH_TYPE_CR, BR.BRANCH_TYPE,@p_TYPE_SEARCH AS TYPE_SEARCH,
|
362
|
SR.ROLE_ID AS ROLE_ID_CRE
|
363
|
FROM TR_REQ_ADVANCE_PAYMENT A
|
364
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
365
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
366
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
367
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
368
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
369
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
370
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
371
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
372
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON A.DEP_ID= DP.DEP_ID
|
373
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
374
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='REQ_TYPE'
|
375
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'
|
376
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
377
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
378
|
LEFT JOIN TL_USER TL6 ON A.RECEIVER_DEBIT = TL6.TLNANME AND A.REQ_TYPE='D'
|
379
|
LEFT JOIN
|
380
|
(
|
381
|
SELECT PAY_ADV_ID,(ISNULL(SUM(AMT_USE),0) - ISNULL(SUM(AMT_ADD),0) + ISNULL(SUM(AMT_REVERT),0)) AS SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
|
382
|
) H ON A.REQ_PAY_ID = H.PAY_ADV_ID
|
383
|
LEFT JOIN TL_USER TL7 ON TL7.TLNANME = A.REF_ID AND A.REQ_TYPE='I'
|
384
|
LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
|
385
|
LEFT JOIN CM_SUPPLIER SUP ON PO.SUP_ID = SUP.SUP_ID AND A.REQ_TYPE='P'
|
386
|
LEFT JOIN LS_CUSTOMER CUS ON A.REF_ID = CUS.CUSTOMER_ID AND A.REQ_TYPE='D'
|
387
|
LEFT JOIN TR_PO_PAYMENT PM ON A.PAY_PHASE = PM.PAY_ID AND A.REQ_TYPE='P'
|
388
|
LEFT JOIN CM_DVDM DV ON A.DVDM_ID = DV.DVDM_ID
|
389
|
--LEFT JOIN PL_PROCESS PR ON A.PROCESS = PR.PROCESS_ID AND A.REQ_PAY_ID = PR.REQ_ID
|
390
|
LEFT JOIN
|
391
|
(
|
392
|
SELECT P.REQ_ID, P.PROCESS_DESC, P.APPROVE_DT AS APP_DT FROM PL_PROCESS P
|
393
|
INNER JOIN
|
394
|
(
|
395
|
SELECT MAX (PR.ID) AS ID, MAX(PR.REQ_ID) AS REQ_ID FROM PL_PROCESS PR
|
396
|
GROUP BY PR.REQ_ID
|
397
|
) PR ON PR.REQ_ID = P.REQ_ID AND P.ID = PR.ID
|
398
|
) AS PR ON A.REQ_PAY_ID = PR.REQ_ID
|
399
|
LEFT JOIN PL_REQUEST_PROCESS PC ON PC.REQ_ID= A.REQ_PAY_ID AND PC.ROLE_USER = @ROLE_ID AND PC.STATUS='C'
|
400
|
LEFT JOIN PL_REQUEST_PROCESS PC1 ON PC1.REQ_ID= A.REQ_PAY_ID AND PC1.STATUS='C'
|
401
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'
|
402
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
|
403
|
LEFT JOIN TL_USER TL8 ON A.RECIVER_MONEY = TL8.TLNANME
|
404
|
LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
|
405
|
WHERE 1=1
|
406
|
AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' OR @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
|
407
|
AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' OR @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
|
408
|
AND(A.AUTH_STATUS=@p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL)
|
409
|
AND((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
410
|
OR((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N'))OR @p_IS_UPDATE_KT IS NULL OR @p_IS_UPDATE_KT='')
|
411
|
AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
|
412
|
--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID
|
413
|
AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
|
414
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='')
|
415
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='')
|
416
|
--Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH
|
417
|
AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
|
418
|
--AND(A.TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE or @p_TRASFER_USER_RECIVE='' OR @p_TRASFER_USER_RECIVE IS NULL OR A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <>'')
|
419
|
AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
|
420
|
AND((A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')))
|
421
|
AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
|
422
|
AND(( @p_IS_TRANSFER='Y' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
423
|
OR((@p_IS_TRANSFER='N' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
|
424
|
AND(((@p_PROCESS='PM' AND (A.REQ_AMT- ISNULL(H.SOTIEN_TT,0)) >0) AND A.REQ_TYPE='I') OR @p_PROCESS IS NULL OR @p_PROCESS ='')
|
425
|
AND((@p_LEVEL='ALL' AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp))
|
426
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_ID=@p_BRANCH_ID)OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL)))
|
427
|
|
428
|
AND((@p_LEVEL='ALL' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp_Login))
|
429
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_CREATE=@p_BRANCH_CREATE)OR(@p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)))
|
430
|
--AND ((@p_TRASFER_USER_RECIVE IS NOT NULL AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE TLNAME = @p_TRASFER_USER_RECIVE ))
|
431
|
--OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='')
|
432
|
AND ((@p_FUNCTION ='KT' AND EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TLNAME= @p_USER_LOGIN))
|
433
|
OR @p_FUNCTION IS NULL OR @p_FUNCTION ='' OR @p_FUNCTION ='TF')
|
434
|
AND(A.MAKER_ID LIKE '%'+@p_MAKER_ID+'%' OR @p_MAKER_ID IS NULL OR @p_MAKER_ID ='')
|
435
|
--AND(A.MAKER_ID_KT LIKE '%'+@p_TRASFER_USER_RECIVE+'%' OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='')
|
436
|
--AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='')
|
437
|
AND(EXISTS(SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE TLNAME =@p_TRASFER_USER_RECIVE AND TYPE_JOB='XL' AND REQ_ID = A.REQ_PAY_ID) OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE='')
|
438
|
AND
|
439
|
(
|
440
|
A.MAKER_ID =@p_USER_LOGIN OR (A.TRASFER_USER_RECIVE = @p_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))
|
441
|
OR(
|
442
|
A.AUTH_STATUS <>'E' AND((@p_TYPE_SEARCH ='HC' AND @BRANCH_TYPE_LG ='HS' AND A.REQ_TYPE ='I'
|
443
|
AND (A.TRASFER_USER_RECIVE = @p_USER_LOGIN
|
444
|
OR (@ROLE_ID = (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID AND ROLE_USER =@ROLE_ID)
|
445
|
OR (A.DVDM_ID IS NULL AND A.DEP_ID =@DEP_ID_LG))
|
446
|
))
|
447
|
OR(@p_TYPE_SEARCH ='HC' AND @BRANCH_TYPE_LG ='HS' AND A.REQ_TYPE <> 'I' AND
|
448
|
(A.TRASFER_USER_RECIVE = @p_USER_LOGIN OR (@ROLE_ID IN ('GDDV','GDK','KTT','TPTC') AND A.BRANCH_ID =@p_BRANCH_LOGIN AND A.DEP_ID =@DEP_ID_LG
|
449
|
AND( A.TRASFER_USER_RECIVE IS NULL OR A.TRASFER_USER_RECIVE ='' OR (A.TRASFER_USER_RECIVE IS NOT NULL AND A.TRASFER_USER_RECIVE <>'' AND A.PROCESS IS NOT NULL AND A.PROCESS <>'')))))
|
450
|
OR(@p_TYPE_SEARCH ='HC' AND @BRANCH_TYPE_LG = 'CN' AND (@ROLE_ID = 'GDDV' AND
|
451
|
((A.TRASFER_USER_RECIVE IS NOT NULL AND A.TRASFER_USER_RECIVE <>'' AND A.PROCESS IS NOT NULL AND A.PROCESS <>'') OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL)
|
452
|
AND ((A.BRANCH_CREATE <> @p_BRANCH_LOGIN AND A.TRASFER_USER_RECIVE IS NOT NULL AND A.TRASFER_USER_RECIVE <>'') OR A.BRANCH_CREATE = @p_BRANCH_LOGIN)
|
453
|
AND A.BRANCH_ID IN (SELECT * FROM @tmp)))
|
454
|
OR(@p_TYPE_SEARCH ='HC' AND @BRANCH_TYPE_LG = 'PGD' AND (@ROLE_ID IN ('GDDV','TPGD') AND A.BRANCH_ID =@p_BRANCH_LOGIN))
|
455
|
OR(@p_TYPE_SEARCH ='HC' AND (A.DVDM_ID IS NOT NULL AND A.DVDM_ID <>'' AND A.DVDM_ID =@DVDM_ID AND A.PROCESS IS NOT NULL AND A.PROCESS <>'' AND @ROLE_ID IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID))
|
456
|
OR(A.DEP_ID IN (SELECT * FROM @TMP_DEP) AND A.PROCESS IS NOT NULL AND A.PROCESS <>'' AND @ROLE_ID IN (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID =A.REQ_PAY_ID)))
|
457
|
OR(@p_TYPE_SEARCH ='HC' AND (@ROLE_ID = (SELECT ROLE_USER FROM PL_REQUEST_PROCESS WHERE REQ_ID= A.REQ_PAY_ID AND ROLE_USER IN ('TGD','HDQT') AND STATUS ='C')))
|
458
|
OR(@p_TYPE_SEARCH='KT' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login))
|
459
|
OR(@p_TYPE_SEARCH='PAY' AND (A.PAY_AMT -A.REQ_AMT) >=0)
|
460
|
)))
|
461
|
ORDER BY A.CREATE_DT DESC;
|
462
|
END;
|
463
|
|
464
|
|
465
|
¿
|
466
|
ALTER PROCEDURE [dbo].[TR_REQ_PAYMENT_Search]
|
467
|
@p_REQ_PAY_ID varchar(15)= NULL,
|
468
|
@p_REQ_PAY_CODE varchar(50) = NULL,
|
469
|
@p_REQ_DT VARCHAR(20)= NULL,
|
470
|
@p_BRANCH_ID varchar(15) = NULL,
|
471
|
@p_DEP_ID varchar(15) = NULL,
|
472
|
@p_REQ_REASON nvarchar(MAX) = NULL,
|
473
|
@p_REQ_TYPE varchar(15) = NULL,
|
474
|
@P_REQ_ENTRIES nvarchar(MAX) = NULL,
|
475
|
@p_REQ_DESCRIPTION nvarchar(MAX) = NULL,
|
476
|
@p_REF_ID varchar(15) = NULL,
|
477
|
@p_RECEIVER_PO nvarchar(250) = NULL,
|
478
|
@p_REQ_PAY_TYPE varchar(15) = NULL,
|
479
|
@p_REQ_TYPE_CURRENCY nvarchar(50) = NULL,
|
480
|
@p_REQ_AMT decimal(18, 0) = NULL,
|
481
|
@p_REQ_TEMP_AMT decimal(18, 0) = NULL,
|
482
|
@p_MAKER_ID varchar(15) = NULL,
|
483
|
@p_CREATE_DT varchar(25) = NULL,
|
484
|
@p_EDITOR_ID varchar(15) = NULL,
|
485
|
@p_AUTH_STATUS varchar(1) = NULL,
|
486
|
@p_CHECKER_ID varchar(15) = NULL,
|
487
|
@p_APPROVE_DT varchar(25) = NULL,
|
488
|
@p_CREATE_DT_KT varchar(25) = NULL,
|
489
|
@p_MAKER_ID_KT varchar(15) = NULL,
|
490
|
@p_AUTH_STATUS_KT varchar(1) = NULL,
|
491
|
@p_CHECKER_ID_KT varchar(1) = NULL,
|
492
|
@p_APPROVE_DT_KT varchar(25)= null,
|
493
|
@p_CONFIRM_NOTE nvarchar(500) = NULL,
|
494
|
@p_BRANCH_CREATE varchar(15) = NULL,
|
495
|
@p_NOTES varchar(15) = NULL,
|
496
|
@p_RECORD_STATUS varchar(1) = NULL,
|
497
|
@p_TRANSFER_MAKER nvarchar(50) = NULL,
|
498
|
@p_TRANSFER_DT varchar(25) = NULL,
|
499
|
@p_TRASFER_USER_RECIVE varchar(15) = NULL,
|
500
|
@p_PROCESS varchar(15) = NULL,
|
501
|
@p_PAY_PHASE VARCHAR(15) = NULL,
|
502
|
@p_TOP INT = 10,
|
503
|
@p_LEVEL varchar(10) = NULL,
|
504
|
@p_FRMDATE VARCHAR(20)= NULL,
|
505
|
@p_TODATE VARCHAR(20) = NULL,
|
506
|
@p_BRANCH_LOGIN VARCHAR(15) = NULL,
|
507
|
@p_IS_UPDATE_KT VARCHAR(15) = NULL,
|
508
|
@P_IS_TRANSFER VARCHAR(15) = NULL,
|
509
|
@p_TERM_ID VARCHAR(15) = NULL,
|
510
|
@P_USER_LOGIN VARCHAR(15)= NULL,
|
511
|
@p_FUNCTION VARCHAR(15) = NULL,
|
512
|
@p_TYPE_SEARCH VARCHAR(15) = NULL
|
513
|
AS
|
514
|
SET @p_TOP = NULL
|
515
|
declare @tmp table(BRANCH_ID varchar(15))
|
516
|
insert into @tmp SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_ID)
|
517
|
declare @tmp_Login table(BRANCH_ID varchar(15))
|
518
|
insert into @tmp_Login SELECT BRANCH_ID FROM [dbo].[CM_BRANCH_GETCHILDID](@p_BRANCH_LOGIN)
|
519
|
DECLARE @ROLE_ID VARCHAR(20) , @DEP_ID_LG VARCHAR(15) = NULL, @COST_LG VARCHAR(15), @DVDM_ID VARCHAR(15)
|
520
|
DECLARE @BRANCH_TYPE VARCHAR(15)
|
521
|
SET @BRANCH_TYPE =(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=(SELECT BRANCH_ID FROM TR_REQ_ADVANCE_PAYMENT WHERE REQ_PAY_ID =@p_REQ_PAY_ID))
|
522
|
SET @ROLE_ID = (SELECT ROLENAME FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
|
523
|
SET @DEP_ID_LG =(SELECT SECUR_CODE FROM TL_USER WHERE TLNANME=@p_USER_LOGIN)
|
524
|
DECLARE @TMP_DEP TABLE(DEP_ID VARCHAR(15))
|
525
|
SET @COST_LG =(SELECT TOP 1 COST_ID FROM PL_COSTCENTER_DT WHERE DEP_ID =@DEP_ID_LG)
|
526
|
SET @DVDM_ID =(SELECT TOP 1 DVDM_ID FROM PL_COSTCENTER WHERE COST_ID =@COST_LG)
|
527
|
INSERT INTO @TMP_DEP SELECT B.DEP_ID FROM PL_COSTCENTER_DT B WHERE COST_ID =@COST_LG
|
528
|
DECLARE @BRANCH_TYPE_LG VARCHAR(15)
|
529
|
SET @BRANCH_TYPE_LG = (SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID=@p_BRANCH_LOGIN)
|
530
|
IF(@p_TOP=NULL OR @p_TOP='' OR @p_TOP=0)BEGIN
|
531
|
SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,
|
532
|
TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,
|
533
|
BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
|
534
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
535
|
BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP,
|
536
|
ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
|
537
|
TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME, '' EMP_FULLNAME, PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
|
538
|
PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,PC3.TLNAME AS EXEC_USER,@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE, '' AS BRANCH_TYPE_CR
|
539
|
FROM TR_REQ_PAYMENT A
|
540
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
541
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
542
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
543
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
544
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
545
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
546
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
547
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
548
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
549
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
550
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE'--Loại thanh toán (Nội bộ/Thanh toán/Nợ)
|
551
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'--Hình thức thanh toán( Tiền mặt/Chuyển khoản)
|
552
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
553
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
554
|
LEFT JOIN
|
555
|
(
|
556
|
SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
|
557
|
) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
|
558
|
LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
|
559
|
LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
|
560
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'
|
561
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
|
562
|
LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
|
563
|
WHERE 1=1
|
564
|
AND(A.AUTH_STATUS=@p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL)
|
565
|
AND((@p_LEVEL='ALL' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp))
|
566
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_CREATE=@p_BRANCH_CREATE)OR(@p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)))
|
567
|
AND((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
568
|
OR((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N'))OR @p_IS_UPDATE_KT IS NULL OR @p_IS_UPDATE_KT='')
|
569
|
AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
|
570
|
--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID
|
571
|
AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
|
572
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='')
|
573
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='')
|
574
|
--Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH
|
575
|
AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
|
576
|
AND(A.TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE or @p_TRASFER_USER_RECIVE='' OR @p_TRASFER_USER_RECIVE IS NULL OR A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <>'')
|
577
|
AND(A.BRANCH_CREATE = @p_BRANCH_CREATE or @p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)
|
578
|
AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
|
579
|
AND(A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL)
|
580
|
AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
|
581
|
-- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
|
582
|
AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='' OR @p_FUNCTION ='TF')
|
583
|
AND(PC4.TLNAME = @p_TRASFER_USER_RECIVE OR @p_TRASFER_USER_RECIVE IS NULL OR @p_TRASFER_USER_RECIVE ='')
|
584
|
-- BO SUNG DOAN CODE DO DON VI THI TRUONG PHONG NAO CHI DUOC THAY CAC GIAO DICH CUA PHONG DO THOI
|
585
|
-- NEU LA PHIEU DE NGHI TAM UNG NOI BO DO HOI SO TAO THI TRUONG PHONG CHI DUOC PHEP THAY CAC GIAO DICH DO NHAN VIEN CUA MINH TAO
|
586
|
--AND (
|
587
|
-- (@p_FUNCTION <>'TF' AND A.REQ_TYPE IN ('I','P','D') AND EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_TYPE ='HS' AND BRANCH_ID = A.BRANCH_ID) AND A.DEP_ID = @DEP_ID_LG)
|
588
|
-- OR (@p_FUNCTION <>'TF' AND EXISTS(SELECT * FROM CM_BRANCH WHERE BRANCH_TYPE IN ('CN', 'PGD') AND BRANCH_ID = A.BRANCH_ID))
|
589
|
-- OR (@p_FUNCTION ='TF' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp_Login))
|
590
|
-- )
|
591
|
--- CHECK NEU TIM KIEM O HCQT THI PHONG BAN NAO THAY GIAO DICH CUA PHONG BAN DO
|
592
|
AND (@p_TYPE_SEARCH='HC' AND EXISTS(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE ='HS')
|
593
|
AND ( ((A.PROCESS IS NOT NULL AND A.PROCESS <> '' OR A.TRASFER_USER_RECIVE IS NULL OR A.TRASFER_USER_RECIVE ='') AND (SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =A.MAKER_ID) = (SELECT SECUR_CODE FROM TL_USER WHERE TLNANME =@p_USER_LOGIN))
|
594
|
OR(A.MAKER_ID =@P_USER_LOGIN OR A.TRASFER_USER_RECIVE =@p_USER_LOGIN))
|
595
|
OR (@p_TYPE_SEARCH='HC' AND NOT EXISTS(SELECT BRANCH_TYPE FROM CM_BRANCH WHERE BRANCH_ID = A.BRANCH_ID AND BRANCH_TYPE ='HS')
|
596
|
AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login))
|
597
|
-- HOAC NGUOC LAI NEU HC NHUNG PHIEU DUOC TAO O PGD, CN
|
598
|
OR (@p_TYPE_SEARCH='KT' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login))
|
599
|
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH ='')
|
600
|
ORDER BY A.CREATE_DT DESC;
|
601
|
END;
|
602
|
ELSE BEGIN
|
603
|
SELECT A.*,B.AUTH_STATUS_NAME, C.AUTH_STATUS_NAME AUTH_STATUS_NAME_KT, TL.TLFullName CREATE_FULLNAME,
|
604
|
TL1.TLFullName APPROVE_FULLNAME,TL2.TLFullName CREATE_FULLNAME_KT,TL3.TLFullName APPROVE_FULLNAME_KT,
|
605
|
BR.BRANCH_NAME BRANCH_NAME_REQ, BR1.BRANCH_NAME BRANCH_NAME_CRE, DP.DEP_NAME, DP.DEP_CODE, BR.BRANCH_CODE BRANCH_CODE_REQ,
|
606
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
607
|
BR1.BRANCH_CODE BRANCH_CODE_CRE, AL.CONTENT REQ_TYPE_NAME,AL1.CONTENT REQ_PAY_TYPE_NAME, ISNULL((A.REQ_AMT -H.SOTIEN_TT),0) AS TOTAL_AMT_TEMP,
|
608
|
ISNULL(H.SOTIEN_TT,0) TOTAL_AMT_PAY_HIS,
|
609
|
TL4.TLFullName AS TRANSFER_FULLNAME,TL5.TLFullName AS TRANSFER_RECIEVER_FULLNAME,'' EMP_FULLNAME,PO.PO_CODE, PO.PO_NAME, S.SUP_NAME,S.TAX_NO SUP_TAX_NO,
|
610
|
PC3.LEVEL_JOB, PC3.STATUS_JOB,PC3.TYPE_JOB,PC3.TLNAME AS EXEC_USER,@p_TYPE_SEARCH AS TYPE_SEARCH,SR.ROLE_ID AS ROLE_ID_CRE,BR1.BRANCH_TYPE AS BRANCH_TYPE_CR
|
611
|
FROM TR_REQ_PAYMENT A
|
612
|
LEFT JOIN CM_AUTH_STATUS B ON A.AUTH_STATUS=B.AUTH_STATUS
|
613
|
LEFT JOIN CM_AUTH_STATUS C ON A.AUTH_STATUS_KT=C.AUTH_STATUS
|
614
|
LEFT JOIN TL_USER TL ON A.MAKER_ID=TL.TLNANME
|
615
|
LEFT JOIN TL_USER TL1 ON A.CHECKER_ID=TL1.TLNANME
|
616
|
LEFT JOIN TL_USER TL2 ON A.MAKER_ID_KT=TL2.TLNANME
|
617
|
LEFT JOIN TL_USER TL3 ON A.CHECKER_ID_KT=TL3.TLNANME
|
618
|
LEFT JOIN dbo.CM_BRANCH BR ON A.BRANCH_ID=BR.BRANCH_ID
|
619
|
LEFT JOIN dbo.CM_BRANCH BR1 ON A.BRANCH_CREATE=BR1.BRANCH_ID
|
620
|
LEFT JOIN dbo.CM_DEPARTMENT DP ON DP.DEP_ID=A.DEP_ID
|
621
|
--Luanlt--2019/10/15-Sửa AL,AL1
|
622
|
LEFT JOIN CM_ALLCODE AL ON A.REQ_TYPE = AL.CDVAL AND AL.CDNAME='PAY_TYPE'
|
623
|
LEFT JOIN CM_ALLCODE AL1 ON A.REQ_PAY_TYPE = AL1.CDVAL AND AL1.CDNAME='REQ_PAY_TYPE'
|
624
|
LEFT JOIN TL_USER TL4 ON A.TRANSFER_MAKER = TL4.TLNANME
|
625
|
LEFT JOIN TL_USER TL5 ON A.TRASFER_USER_RECIVE = TL5.TLNANME
|
626
|
LEFT JOIN
|
627
|
(
|
628
|
SELECT PAY_ADV_ID, SUM(AMT_PAY) SOTIEN_TT FROM TR_REQ_PAYMENT_DT WHERE AUTH_STATUS_KT ='A' GROUP BY PAY_ADV_ID
|
629
|
) H ON A.REQ_PAY_ID =H.PAY_ADV_ID
|
630
|
LEFT JOIN TR_PO_MASTER PO ON A.REF_ID = PO.PO_ID AND A.REQ_TYPE='P'
|
631
|
LEFT JOIN CM_SUPPLIER S ON S.SUP_ID = PO.SUP_ID AND A.REQ_TYPE='P'
|
632
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC3 ON PC3.REQ_ID = A.REQ_PAY_ID AND PC3.STATUS_JOB ='C'
|
633
|
LEFT JOIN PL_REQUEST_PROCESS_CHILD PC4 ON PC4.REQ_ID = A.REQ_PAY_ID AND PC4.STATUS_JOB ='C'
|
634
|
LEFT JOIN TL_SYSROLE SR ON TL.RoleName = SR.ROLE_ID
|
635
|
WHERE 1=1
|
636
|
AND(A.AUTH_STATUS=@p_AUTH_STATUS OR @p_AUTH_STATUS='' OR @p_AUTH_STATUS IS NULL)
|
637
|
AND(A.MAKER_ID =@p_MAKER_ID OR @p_MAKER_ID='' OR @p_MAKER_ID IS NULL)
|
638
|
AND(A.DEP_ID=@p_DEP_ID OR @p_DEP_ID='' OR @p_DEP_ID IS NULL)
|
639
|
AND((@p_LEVEL='ALL' AND A.BRANCH_ID IN(SELECT BRANCH_ID FROM @tmp_Login))
|
640
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_ID=@p_BRANCH_ID)OR(@p_BRANCH_ID='' OR @p_BRANCH_ID IS NULL)))
|
641
|
AND((@p_LEVEL='ALL' AND A.BRANCH_CREATE IN(SELECT BRANCH_ID FROM @tmp_Login))
|
642
|
OR((@p_LEVEL='UNIT' AND A.BRANCH_CREATE=@p_BRANCH_CREATE)OR(@p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)))
|
643
|
AND((A.MAKER_ID_KT IS NOT NULL AND @p_IS_UPDATE_KT='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
644
|
OR((A.MAKER_ID_KT IS NULL AND @p_IS_UPDATE_KT='N'))OR @p_IS_UPDATE_KT IS NULL OR @p_IS_UPDATE_KT='')
|
645
|
AND(A.NOTES LIKE N'%'+@p_NOTES+'%' OR @p_NOTES='' OR @p_NOTES IS NULL)
|
646
|
--Luanlt-2019/10/14-Thêm Filter REQ_TYPE,FROMDATE TODATE REF_ID
|
647
|
AND(A.REQ_TYPE LIKE N'%'+@p_REQ_TYPE+'%' OR @p_REQ_TYPE = '' OR @p_REQ_TYPE IS NULL)
|
648
|
AND(CONVERT(DATE, A.CREATE_DT)>=CONVERT(DATE, @p_FRMDATE, 103)OR @p_FRMDATE IS NULL OR @p_FRMDATE='')
|
649
|
AND(CONVERT(DATE, A.CREATE_DT)<=CONVERT(DATE, @p_TODATE, 103)OR @p_TODATE IS NULL OR @p_TODATE='')
|
650
|
--Luanlt-2019/10/17-Thêm Filter REQ_PAY_CODE REQ_PAY_NAME BRANCH_ID DEP_ID KT_AUTH
|
651
|
AND(A.REQ_PAY_CODE LIKE N'%'+@p_REQ_PAY_CODE+'%' or @p_REQ_PAY_CODE='' OR @p_REQ_PAY_CODE IS NULL)
|
652
|
AND(A.REQ_REASON LIKE N'%'+@p_REQ_REASON+'%' or @p_REQ_REASON='' OR @p_REQ_REASON IS NULL)
|
653
|
--AND(A.TRASFER_USER_RECIVE =@p_TRASFER_USER_RECIVE or @p_TRASFER_USER_RECIVE='' OR @p_TRASFER_USER_RECIVE IS NULL OR A.MAKER_ID_KT IS NOT NULL OR A.MAKER_ID_KT <>'')
|
654
|
--AND(A.BRANCH_CREATE = @p_BRANCH_CREATE or @p_BRANCH_CREATE='' OR @p_BRANCH_CREATE IS NULL)
|
655
|
AND(A.DEP_ID = @p_DEP_ID or @p_DEP_ID='' OR @p_DEP_ID IS NULL)
|
656
|
AND((A.AUTH_STATUS_KT=@p_AUTH_STATUS_KT OR @p_AUTH_STATUS_KT='' OR @p_AUTH_STATUS_KT IS NULL) OR (@p_AUTH_STATUS_KT ='P' AND A.AUTH_STATUS_KT IN ('P','S')))
|
657
|
AND(A.REF_ID =@p_REF_ID OR @p_REF_ID='' OR @p_REF_ID IS NULL)
|
658
|
--AND((A.TRANSFER_MAKER IS NOT NULL AND @p_IS_TRANSFER='Y') --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
659
|
--OR((A.TRANSFER_MAKER IS NULL AND @p_IS_TRANSFER='N'))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
|
660
|
-- Neu ben phan he ke toan thi chi lay nhung user co maker_id khac null
|
661
|
AND ((@p_FUNCTION ='KT' AND EXISTS(SELECT TOP 1 * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID AND TLNAME= @p_USER_LOGIN))
|
662
|
OR @p_FUNCTION ='' OR @p_FUNCTION IS NULL OR @p_FUNCTION ='TF' )
|
663
|
-- AND ((@p_FUNCTION ='KT' AND A.MAKER_ID_KT IS NOT NULL AND A.MAKER_ID_KT ='') OR @p_FUNCTION IS NULL OR @p_FUNCTION ='')
|
664
|
AND(( @p_IS_TRANSFER='Y' AND EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID)) --Lay danh sach chua duoc phong KT cap nhat va duoc cap nhat
|
665
|
OR((@p_IS_TRANSFER='N' AND NOT EXISTS (SELECT * FROM PL_REQUEST_PROCESS_CHILD WHERE REQ_ID = A.REQ_PAY_ID )))OR @p_IS_TRANSFER IS NULL OR @p_IS_TRANSFER='')
|
666
|
AND
|
667
|
(
|
668
|
A.MAKER_ID =@p_USER_LOGIN OR ( A.TRASFER_USER_RECIVE = @P_USER_LOGIN AND A.AUTH_STATUS NOT IN ('E','R'))
|
669
|
OR(A.AUTH_STATUS <>'E' AND
|
670
|
(
|
671
|
(@p_TYPE_SEARCH ='HC' AND @BRANCH_TYPE_LG ='HS' AND (A.TRASFER_USER_RECIVE = @p_USER_LOGIN OR (@ROLE_ID IN ('GDDV','GDK','KTT','TPTC') AND A.BRANCH_ID =@p_BRANCH_LOGIN AND A.DEP_ID =@DEP_ID_LG
|
672
|
AND( A.TRASFER_USER_RECIVE IS NULL OR A.TRASFER_USER_RECIVE ='' OR (A.TRASFER_USER_RECIVE IS NOT NULL AND A.TRASFER_USER_RECIVE <>'' AND A.PROCESS IS NOT NULL AND A.PROCESS <>'')))))
|
673
|
OR(@p_TYPE_SEARCH ='HC' AND @BRANCH_TYPE_LG = 'CN' AND (@ROLE_ID = 'GDDV' AND
|
674
|
((A.TRASFER_USER_RECIVE IS NOT NULL AND A.TRASFER_USER_RECIVE <>'' AND A.PROCESS IS NOT NULL AND A.PROCESS <>'') OR A.TRASFER_USER_RECIVE ='' OR A.TRASFER_USER_RECIVE IS NULL)
|
675
|
AND ((A.BRANCH_CREATE <> @p_BRANCH_LOGIN AND A.TRASFER_USER_RECIVE IS NOT NULL AND A.TRASFER_USER_RECIVE <>'') OR A.BRANCH_CREATE = @p_BRANCH_LOGIN)
|
676
|
AND A.BRANCH_ID IN (SELECT * FROM @tmp)))
|
677
|
OR(@p_TYPE_SEARCH ='HC' AND @BRANCH_TYPE_LG = 'PGD' AND (@ROLE_ID IN ('GDDV','TPGD') AND A.BRANCH_ID =@p_BRANCH_LOGIN))
|
678
|
OR(@p_TYPE_SEARCH ='HC' AND @ROLE_ID ='KSV' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login))
|
679
|
OR(@p_TYPE_SEARCH='KT' AND A.BRANCH_ID IN (SELECT BRANCH_ID from @tmp_Login))
|
680
|
OR @p_TYPE_SEARCH IS NULL OR @p_TYPE_SEARCH =''
|
681
|
)))
|
682
|
ORDER BY A.CREATE_DT DESC;
|
683
|
END;
|
684
|
¿
|
685
|
ALTER PROCEDURE [dbo].[TR_PO_MASTER_Upd]
|
686
|
@p_PO_ID varchar(15) = NULL,
|
687
|
@P_PO_TYPE INT = NULL,
|
688
|
@p_PO_CODE varchar(15) = NULL,
|
689
|
@p_PO_NAME nvarchar(200) = NULL,
|
690
|
@p_CONTRACT_ID varchar(15) = NULL,
|
691
|
@p_SUP_ID varchar(15) = NULL,
|
692
|
@p_SUP_NAME nvarchar(200) = NULL,
|
693
|
@p_SUP_ADDR nvarchar(200) = NULL,
|
694
|
@p_INPUT_DT VARCHAR(20) = NULL,
|
695
|
@p_PAYMENT_DT VARCHAR(20) = NULL,
|
696
|
@p_TOTAL_AMT decimal(18) = NULL,
|
697
|
@p_REQ_DOC_ID varchar(15) = NULL,
|
698
|
@p_DELIVERY_DT VARCHAR(20) = NULL,
|
699
|
@p_PAYAPP_DT VARCHAR(20) = NULL,
|
700
|
@p_NOTES nvarchar(1000) = NULL,
|
701
|
@p_RECORD_STATUS varchar(1) = NULL,
|
702
|
@p_MAKER_ID varchar(15) = NULL,
|
703
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
704
|
@p_AUTH_STATUS varchar(50) = NULL,
|
705
|
@p_CHECKER_ID varchar(15) = NULL,
|
706
|
@p_APPROVE_DT VARCHAR(20) = NULL,
|
707
|
@p_TR_REQ_ID VARCHAR(20) = NULL,
|
708
|
@p_TR_REQ_CODE VARCHAR(20)= NULL,
|
709
|
@P_LISTASSET XML = NULL,
|
710
|
@P_LISTPAYMENT XML = NULL,
|
711
|
@P_LISTROLE XML = NULL,
|
712
|
@p_BRANCH_ID varchar(15) = null,
|
713
|
@p_IS_CLOSED VARCHAR(1) = NULL
|
714
|
AS
|
715
|
DECLARE @REF_CODE VARCHAR(15) = NULL, @PDN_TT VARCHAR(15) = NULL
|
716
|
SET @REF_CODE =
|
717
|
( SELECT TOP 1 B.REQ_PAY_CODE
|
718
|
FROM TR_REQ_ADVANCE_DT A
|
719
|
INNER JOIN TR_REQ_ADVANCE_PAYMENT B ON A.REQ_PAY_ID = B.REQ_PAY_ID
|
720
|
WHERE A.REF_ID =@p_PO_ID AND (B.AUTH_STATUS_KT <>'A' OR B.AUTH_STATUS_KT IS NULL)
|
721
|
)
|
722
|
--- TIM KIEM XEM PO NAY CO DUOC PHEP THANH TOAN HAY KHONG
|
723
|
SET @PDN_TT =
|
724
|
( SELECT TOP 1 B.REQ_PAY_CODE
|
725
|
FROM TR_REQ_ADVANCE_DT A
|
726
|
INNER JOIN TR_REQ_PAYMENT B ON A.REQ_PAY_ID = B.REQ_PAY_ID
|
727
|
WHERE A.REF_ID =@p_CONTRACT_ID AND (B.AUTH_STATUS_KT <>'A' OR B.AUTH_STATUS_KT IS NULL)
|
728
|
)
|
729
|
IF(@p_IS_CLOSED ='Y' AND @REF_CODE IS NOT NULL)
|
730
|
BEGIN
|
731
|
ROLLBACK TRANSACTION
|
732
|
SELECT '-1' Result, @p_PO_ID AS PO_ID, N'PO đang được thực hiện tạm ứng với số phiếu: '+@REF_CODE AS ErrorDesc
|
733
|
RETURN '-1'
|
734
|
END
|
735
|
IF(@p_IS_CLOSED ='Y' AND @PDN_TT IS NOT NULL)
|
736
|
BEGIN
|
737
|
ROLLBACK TRANSACTION
|
738
|
SELECT '-1' Result, @p_PO_ID AS PO_ID, N'PO đang được thực hiện thanh toán với số phiếu: '+@PDN_TT AS ErrorDesc
|
739
|
RETURN '-1'
|
740
|
END
|
741
|
IF EXISTS(SELECT * FROM TR_PO_MASTER WHERE [PO_CODE] = @p_PO_CODE AND [PO_ID] <> @p_PO_ID)
|
742
|
BEGIN
|
743
|
SELECT ErrorCode Result, '' PO_ID, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'PO-00002'
|
744
|
RETURN '0'
|
745
|
END
|
746
|
--- 21052020 KIEM TRA XEM NEU PYCMS DA TON TAI HAY CHUA
|
747
|
IF((SELECT COUNT(*) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@p_REQ_DOC_ID)=1)
|
748
|
BEGIN
|
749
|
IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE REQ_DOC_ID =@p_REQ_DOC_ID AND AUTH_STATUS IN ('E','U','A') AND PO_ID <>@p_PO_ID))
|
750
|
BEGIN
|
751
|
ROLLBACK TRANSACTION
|
752
|
SELECT '-1' Result, @p_PO_ID AS PO_ID, N'Phiếu yêu cầu mua sắm số :'+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID =@p_REQ_DOC_ID)+N' đã được link tới PO có số: '+(SELECT TOP 1 PO_CODE FROM TR_PO_MASTER WHERE REQ_DOC_ID =@p_REQ_DOC_ID) AS ErrorDesc
|
753
|
RETURN '-1'
|
754
|
END
|
755
|
END
|
756
|
------
|
757
|
Declare @hdoc INT
|
758
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTASSET
|
759
|
DECLARE AssetDetail CURSOR FOR
|
760
|
SELECT *
|
761
|
FROM OPENXML(@hDoc,'/Root/AssetDetail',2)
|
762
|
WITH
|
763
|
(
|
764
|
PD_ID VARCHAR(15),
|
765
|
PLAN_ID varchar(15) ,
|
766
|
TRADE_ID varchar(15) ,
|
767
|
GOODS_ID varchar(15) ,
|
768
|
[DESCRIPTION] nvarchar(500),
|
769
|
UNIT_ID varchar(15) ,
|
770
|
QUANTITY decimal(18) ,
|
771
|
PRICE decimal(18) ,
|
772
|
TOTAL_AMT decimal(18),
|
773
|
IS_DELIVERY varchar(1) ,
|
774
|
DELIVERY_DT VARCHAR(20),
|
775
|
PAYMENT_STATUS varchar(4),
|
776
|
AMOUNT_PAID decimal(18) ,
|
777
|
PAID_DT VARCHAR(20) ,
|
778
|
INVOICENO varchar(1000),
|
779
|
NOTES nvarchar(1000),
|
780
|
RECEIVE_BRANCH varchar(15),
|
781
|
RECEIVE_ADDR nvarchar(1000),
|
782
|
RECEIVE_PERSON nvarchar(500),
|
783
|
RECEIVE_TEL varchar(100),
|
784
|
EXP_DELIVERY_DT varchar(20),
|
785
|
GOODS_NAME NVARCHAR(500),
|
786
|
INVOICE_DT VARCHAR(20),
|
787
|
--THIEUVQ 100415 THEM LOAI HANG HOA THUC TE
|
788
|
GOODSTYPE_REAL VARCHAR(15),
|
789
|
GOODSTYPE_REAL_NAME VARCHAR(15),
|
790
|
--THIEUVQ 13092016 THEM VAT, CONTRACT_DT
|
791
|
VAT DECIMAL(18,2),
|
792
|
PRICE_VAT DECIMAL(18,0),
|
793
|
CONTRACT_DT VARCHAR(15)
|
794
|
)
|
795
|
OPEN AssetDetail
|
796
|
|
797
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTPAYMENT
|
798
|
DECLARE PaymentDetail CURSOR FOR
|
799
|
SELECT *
|
800
|
FROM OPENXML(@hDoc,'/Root/PaymentDetail',2)
|
801
|
WITH
|
802
|
(
|
803
|
PAY_ID VARCHAR(15),
|
804
|
PAY_PHASE varchar(15),
|
805
|
EXPECTED_DT VARCHAR(20),
|
806
|
[PERCENT] decimal(18),
|
807
|
[AMOUNT] decimal(18),
|
808
|
NOTES nvarchar(1000)
|
809
|
)
|
810
|
OPEN PaymentDetail
|
811
|
PRINT 'PASS KHOI TAO'
|
812
|
|
813
|
--Nhom user gui mail (DAO EDIT)
|
814
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTROLE
|
815
|
DECLARE LISTROLE CURSOR FOR
|
816
|
SELECT *
|
817
|
FROM OPENXML(@hDoc,'/Root/LISTROLE',2)
|
818
|
WITH
|
819
|
(
|
820
|
NOTIFI_ID VARCHAR(15),
|
821
|
TL_NAME varchar(15),
|
822
|
EDITOR_DT VARCHAR(20),
|
823
|
EDITOR_ID VARCHAR(15),
|
824
|
NOTES nvarchar(1000)
|
825
|
)
|
826
|
OPEN LISTROLE
|
827
|
|
828
|
BEGIN TRANSACTION
|
829
|
IF @p_DELIVERY_DT = ''
|
830
|
SET @p_DELIVERY_DT = NULL
|
831
|
IF @p_PAYAPP_DT = ''
|
832
|
SET @p_PAYAPP_DT = NULL
|
833
|
--insert master
|
834
|
UPDATE TR_PO_MASTER SET [PO_TYPE] = @P_PO_TYPE, [PO_CODE] = @p_PO_CODE,[PO_NAME] = @p_PO_NAME,
|
835
|
[CONTRACT_ID] = @p_CONTRACT_ID,[SUP_ID] = @p_SUP_ID,[SUP_NAME] = @p_SUP_NAME,[SUP_ADDR] = @p_SUP_ADDR,
|
836
|
[INPUT_DT] = CONVERT(DATETIME, @p_INPUT_DT, 103),[PAYMENT_DT] = CONVERT(DATETIME, @p_PAYMENT_DT, 103),
|
837
|
[TOTAL_AMT] = @p_TOTAL_AMT,[REQ_DOC_ID] = @p_TR_REQ_ID,[DELIVERY_DT] = CONVERT(DATETIME, @p_DELIVERY_DT, 103),
|
838
|
[PAYAPP_DT] = CONVERT(DATETIME, @p_PAYAPP_DT, 103),[NOTES] = @p_NOTES,[RECORD_STATUS] = '1',
|
839
|
[MAKER_ID] = @p_MAKER_ID,[CREATE_DT] = CONVERT(DATETIME, @p_CREATE_DT, 103),[AUTH_STATUS] = @p_AUTH_STATUS,
|
840
|
[CHECKER_ID] = @p_CHECKER_ID,[APPROVE_DT] = CONVERT(DATETIME, @p_APPROVE_DT, 103), BRANCH_ID = @p_BRANCH_ID
|
841
|
WHERE PO_ID= @p_PO_ID
|
842
|
IF @@Error <> 0 GOTO ABORT
|
843
|
PRINT 'INSERT MASTER SUCCESS'
|
844
|
UPDATE dbo.TR_PO_MASTER_TEMP SET TR_REQ_ID=@p_TR_REQ_ID,TR_REQ_CODE=@p_TR_REQ_CODE WHERE PO_ID=@p_PO_ID
|
845
|
|
846
|
--insert asset detail tương đương như NỘI DUNG trong bảng contract detail
|
847
|
Declare
|
848
|
@PAY_ID VARCHAR(15),
|
849
|
@PD_ID VARCHAR(15),
|
850
|
@PLAN_ID varchar(15),
|
851
|
@TRADE_ID varchar(15),
|
852
|
@GOODS_ID varchar(15),
|
853
|
@DESCRIPTION nvarchar(500),
|
854
|
@UNIT_ID varchar(15),
|
855
|
@QUANTITY decimal(18),
|
856
|
@PRICE decimal(18),
|
857
|
@TOTAL_AMT decimal(18),
|
858
|
@IS_DELIVERY varchar(1),
|
859
|
@DELIVERY_DT VARCHAR(20),
|
860
|
@PAYMENT_STATUS varchar(4),
|
861
|
@AMOUNT_PAID decimal(18),
|
862
|
@PAID_DT VARCHAR(20),
|
863
|
@INVOICENO varchar(20),
|
864
|
@NOTES nvarchar(1000),
|
865
|
@PO_ID varchar(15) = NULL,
|
866
|
@PAY_PHASE VARCHAR(20) = NULL,
|
867
|
@EXPECTED_DT VARCHAR(20) = NULL,
|
868
|
@PERCENT decimal(18) = NULL,
|
869
|
@AMOUNT decimal(18) = NULL,
|
870
|
@RECEIVE_BRANCH varchar(15)=NULL,
|
871
|
@RECEIVE_ADDR nvarchar(1000)=NULL,
|
872
|
@RECEIVE_PERSON nvarchar(500)=NULL,
|
873
|
@RECEIVE_TEL varchar(100)=NULL,
|
874
|
@EXP_DELIVERY_DT varchar(20) = NULL,
|
875
|
@GOODS_NAME NVARCHAR(500) = NULL,
|
876
|
@INVOICE_DT VARCHAR(20),
|
877
|
@GOODSTYPE_REAL VARCHAR(15) = NULL,
|
878
|
@GOODSTYPE_REAL_NAME VARCHAR(15) = NULL,
|
879
|
@VAT DECIMAL(18,2),
|
880
|
@PRICE_VAT DECIMAL(18,0),
|
881
|
@CONTRACT_DT VARCHAR(15),
|
882
|
--DAO MOI THEM
|
883
|
@NOTIFI_ID VARCHAR(15),
|
884
|
@TL_NAME VARCHAR(15),
|
885
|
@EDITOR_DT VARCHAR(20),
|
886
|
@EDITOR_ID VARCHAR(15),
|
887
|
@NOTES_ROLE nvarchar(1000)
|
888
|
|
889
|
DECLARE @l_GOODSTYPE_ID VARCHAR(15)
|
890
|
|
891
|
DELETE FROM TR_PO_DETAIL WHERE PO_ID = @P_PO_ID
|
892
|
|
893
|
FETCH NEXT FROM AssetDetail INTO @PD_ID,@PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY,
|
894
|
@PRICE,@TOTAL_AMT,@IS_DELIVERY,@DELIVERY_DT,@PAYMENT_STATUS,@AMOUNT_PAID,@PAID_DT,
|
895
|
@INVOICENO,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@EXP_DELIVERY_DT,@GOODS_NAME, @INVOICE_DT,
|
896
|
@GOODSTYPE_REAL,@GOODSTYPE_REAL_NAME,@VAT,@PRICE_VAT,@CONTRACT_DT
|
897
|
WHILE @@FETCH_STATUS = 0
|
898
|
BEGIN
|
899
|
--if( NOT EXISTS (SELECT * FROM PL_MASTER A WHERE A.PLAN_ID = @PLAN_ID))
|
900
|
--BEGIN
|
901
|
-- SELECT ErrorCode Result, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'TR-00002'
|
902
|
-- GOTO ABORT
|
903
|
--END
|
904
|
|
905
|
IF(LEN(@PD_ID) = 0)
|
906
|
|
907
|
BEGIN
|
908
|
EXEC SYS_CodeMasters_Gen 'TR_PO_DETAIL', @PD_ID out
|
909
|
IF @PD_ID ='' OR @PD_ID IS NULL GOTO ABORT
|
910
|
END
|
911
|
|
912
|
IF(@DELIVERY_DT = '')
|
913
|
SET @DELIVERY_DT = NULL
|
914
|
IF(@PAID_DT = '')
|
915
|
SET @PAID_DT = NULL
|
916
|
IF(@INVOICE_DT = '')
|
917
|
SET @INVOICE_DT = NULL
|
918
|
IF @EXP_DELIVERY_DT = '' SET @EXP_DELIVERY_DT = NULL
|
919
|
|
920
|
/***THIEUVQ THEM KIEM TRA VA LUU THONG TIN LOAI HANG HOA THUC TE***/
|
921
|
--BEGIN
|
922
|
--CHUA CO LOAI HANG HOA THI THEM MOI
|
923
|
IF @GOODSTYPE_REAL IS NULL OR @GOODSTYPE_REAL = ''
|
924
|
BEGIN
|
925
|
--NEU TON TAI THI LAY RA ID
|
926
|
SET @GOODSTYPE_REAL = (SELECT TOP 1 GD_RETYPE_ID FROM CM_GOODSTYPE_REAL WHERE [TYPE_NAME] = @GOODSTYPE_REAL_NAME)
|
927
|
--NEU CHUA CO THI THEM MOI
|
928
|
IF @GOODSTYPE_REAL IS NULL OR @GOODSTYPE_REAL = ''
|
929
|
BEGIN
|
930
|
EXEC SYS_CodeMasters_Gen 'CM_GOODSTYPE_REAL', @l_GOODSTYPE_ID OUT
|
931
|
IF @l_GOODSTYPE_ID='' OR @l_GOODSTYPE_ID IS NULL GOTO ABORT
|
932
|
|
933
|
INSERT INTO CM_GOODSTYPE_REAL VALUES (@l_GOODSTYPE_ID, @l_GOODSTYPE_ID, @GOODSTYPE_REAL_NAME, '', '1',
|
934
|
@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),'A',@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103))
|
935
|
IF @@ERROR <> 0 GOTO ABORT
|
936
|
|
937
|
SET @GOODSTYPE_REAL = @l_GOODSTYPE_ID
|
938
|
END
|
939
|
END
|
940
|
--END
|
941
|
|
942
|
INSERT INTO TR_PO_DETAIL([PD_ID],[PO_ID],[PLAN_ID],[TRADE_ID],[GOODS_ID],[DESCRIPTION],[UNIT_ID],[QUANTITY],[PRICE],[TOTAL_AMT],[IS_DELIVERY],[DELIVERY_DT],
|
943
|
[PAYMENT_STATUS],[AMOUNT_PAID],[PAID_DT],[INVOICENO],[NOTES], RECEIVE_BRANCH, RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL,[RECORD_STATUS],[MAKER_ID],[CREATE_DT],
|
944
|
[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT],EXP_DELIVERY_DT,GOODS_NAME,INVOICE_DT,GOODSTYPE_REAL,VAT,PRICE_VAT,CONTRACT_DT)
|
945
|
VALUES(@PD_ID ,@p_PO_ID ,@PLAN_ID ,@TRADE_ID ,@GOODS_ID,@DESCRIPTION ,@UNIT_ID ,@QUANTITY ,@PRICE ,@TOTAL_AMT ,
|
946
|
@IS_DELIVERY ,CONVERT(DATETIME, @DELIVERY_DT, 103) ,@PAYMENT_STATUS ,@AMOUNT_PAID ,
|
947
|
CONVERT(DATETIME, @PAID_DT, 103) ,@INVOICENO ,@NOTES , @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,
|
948
|
@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103),CONVERT(DATETIME, @EXP_DELIVERY_DT, 103),
|
949
|
@GOODS_NAME, CONVERT(DATETIME, @INVOICE_DT, 103),@GOODSTYPE_REAL,@VAT,@PRICE_VAT,@CONTRACT_DT)
|
950
|
IF @@ERROR <> 0 GOTO ABORT
|
951
|
|
952
|
-- next Group_Id
|
953
|
FETCH NEXT FROM AssetDetail INTO @PD_ID,@PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY,
|
954
|
@PRICE,@TOTAL_AMT,@IS_DELIVERY,@DELIVERY_DT,@PAYMENT_STATUS,@AMOUNT_PAID,@PAID_DT,
|
955
|
@INVOICENO,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL, @EXP_DELIVERY_DT,@GOODS_NAME,@INVOICE_DT,
|
956
|
@GOODSTYPE_REAL,@GOODSTYPE_REAL_NAME,@VAT,@PRICE_VAT,@CONTRACT_DT
|
957
|
END
|
958
|
|
959
|
--insert payment detail
|
960
|
|
961
|
DELETE FROM TR_PO_PAYMENT WHERE PO_ID = @p_PO_ID
|
962
|
|
963
|
FETCH NEXT FROM PaymentDetail INTO @PAY_ID,@PAY_PHASE,@EXPECTED_DT,@PERCENT,@AMOUNT,@NOTES
|
964
|
WHILE @@FETCH_STATUS = 0
|
965
|
BEGIN
|
966
|
PRINT @PAY_ID
|
967
|
IF(LEN(@PAY_ID) = 0)
|
968
|
BEGIN
|
969
|
EXEC SYS_CodeMasters_Gen 'TR_PO_PAYMENT', @PAY_ID out
|
970
|
IF @PAY_ID ='' OR @PAY_ID IS NULL GOTO ABORT
|
971
|
END
|
972
|
IF @EXPECTED_DT = ''
|
973
|
SET @EXPECTED_DT = NULL
|
974
|
INSERT INTO TR_PO_PAYMENT([PAY_ID],[PO_ID],[PAY_PHASE],[EXP_DT],[PERCENT],[AMOUNT],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT])
|
975
|
VALUES(@PAY_ID ,@p_PO_ID ,@PAY_PHASE ,CONVERT(DATETIME, @EXPECTED_DT, 103) ,@PERCENT ,@AMOUNT ,@NOTES ,@p_RECORD_STATUS ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103) )
|
976
|
FETCH NEXT FROM PaymentDetail INTO @PAY_ID,@PAY_PHASE,@EXPECTED_DT,@PERCENT,@AMOUNT,@NOTES
|
977
|
END
|
978
|
|
979
|
CLOSE AssetDetail
|
980
|
DEALLOCATE AssetDetail
|
981
|
CLOSE PaymentDetail
|
982
|
DEALLOCATE PaymentDetail
|
983
|
|
984
|
---INSERT NHOM QUYEN USER THONG BAO (DAO-EDIT)
|
985
|
DELETE FROM TL_ROLE_NOTIFICATION WHERE PO_ID=@p_PO_ID
|
986
|
|
987
|
FETCH NEXT FROM LISTROLE INTO
|
988
|
@NOTIFI_ID,
|
989
|
@TL_NAME,
|
990
|
@EDITOR_DT,
|
991
|
@EDITOR_ID,
|
992
|
@NOTES_ROLE
|
993
|
WHILE @@FETCH_STATUS = 0
|
994
|
BEGIN
|
995
|
IF(LEN(@NOTIFI_ID)=0)
|
996
|
EXEC SYS_CodeMasters_Gen 'TL_ROLE_NOTIFICATION', @NOTIFI_ID out
|
997
|
IF @NOTIFI_ID='' OR @NOTIFI_ID IS NULL GOTO ABORT
|
998
|
|
999
|
INSERT INTO [dbo].[TL_ROLE_NOTIFICATION]
|
1000
|
([NOTIFI_ID]
|
1001
|
,[NOTIFI_CODE]
|
1002
|
,[NOTIFI_NAME]
|
1003
|
,[TYPE]
|
1004
|
,[PO_ID]
|
1005
|
,[TL_NAME]
|
1006
|
,[BRANCH_ID]
|
1007
|
,[RECORD_STATUS]
|
1008
|
,[AUTH_STATUS]
|
1009
|
,[EDITOR_ID]
|
1010
|
,[EDIT_DT]
|
1011
|
,[NOTES])
|
1012
|
VALUES
|
1013
|
(@NOTIFI_ID
|
1014
|
,''
|
1015
|
,''
|
1016
|
,'PO'
|
1017
|
,@p_PO_ID
|
1018
|
,@TL_NAME
|
1019
|
,@p_BRANCH_ID
|
1020
|
,'1'
|
1021
|
,'U'
|
1022
|
,@EDITOR_ID
|
1023
|
,CONVERT(DATETIME, @EDITOR_DT, 103)
|
1024
|
,@NOTES_ROLE)
|
1025
|
|
1026
|
IF @@ERROR <> 0 GOTO ABORT
|
1027
|
|
1028
|
FETCH NEXT FROM LISTROLE INTO
|
1029
|
@NOTIFI_ID,
|
1030
|
@TL_NAME,
|
1031
|
@EDITOR_DT,
|
1032
|
@EDITOR_ID,
|
1033
|
@NOTES_ROLE
|
1034
|
END
|
1035
|
|
1036
|
CLOSE LISTROLE
|
1037
|
DEALLOCATE LISTROLE
|
1038
|
--- BAT DAU CAP NHAT AUTH_STATUS ='U' NEU BAM GUI PHE DUYET
|
1039
|
IF(@p_RECORD_STATUS ='U')
|
1040
|
BEGIN
|
1041
|
UPDATE TR_PO_MASTER SET AUTH_STATUS ='U' WHERE PO_ID =@p_PO_ID
|
1042
|
END
|
1043
|
COMMIT TRANSACTION
|
1044
|
IF(@p_RECORD_STATUS ='U')
|
1045
|
BEGIN
|
1046
|
-- INSERT VAO LOG
|
1047
|
INSERT INTO dbo.PL_PROCESS
|
1048
|
(
|
1049
|
REQ_ID,
|
1050
|
PROCESS_ID,
|
1051
|
CHECKER_ID,
|
1052
|
APPROVE_DT,
|
1053
|
PROCESS_DESC,NOTES
|
1054
|
)
|
1055
|
VALUES
|
1056
|
( @p_PO_ID, -- REQ_ID - varchar(15)
|
1057
|
'SEND', -- PROCESS_ID - varchar(10)
|
1058
|
@p_MAKER_ID, -- CHECKER_ID - varchar(15)
|
1059
|
GETDATE(), -- APPROVE_DT - datetime
|
1060
|
N'Nhân viên gửi phê duyệt phiếu thành công' ,N'Gửi phê duyệt')
|
1061
|
SELECT '2' as Result, @p_PO_ID PO_ID, N'PO số: '+ @p_PO_CODE +N' đã được gửi phê duyệt thành công. Vui lòng đợi cấp có thẩm quyền phê duyệt' ErrorDesc
|
1062
|
RETURN '2'
|
1063
|
|
1064
|
END
|
1065
|
ELSE
|
1066
|
BEGIN
|
1067
|
SELECT '0' as Result, @p_PO_ID PO_ID, N'PO số: '+ @p_PO_CODE +N' đã được cập nhật dữ liệu thành công. Bạn có thể bấm gửi phê duyệt' ErrorDesc
|
1068
|
RETURN '0'
|
1069
|
END
|
1070
|
ABORT:
|
1071
|
BEGIN
|
1072
|
CLOSE AssetDetail
|
1073
|
DEALLOCATE AssetDetail
|
1074
|
CLOSE PaymentDetail
|
1075
|
DEALLOCATE PaymentDetail
|
1076
|
CLOSE LISTROLE
|
1077
|
DEALLOCATE LISTROLE
|
1078
|
ROLLBACK TRANSACTION
|
1079
|
SELECT '-1' AS RESULT
|
1080
|
RETURN '-1'
|
1081
|
End
|
1082
|
¿
|
1083
|
ALTER PROCEDURE [dbo].[TR_PO_MASTER_Ins]
|
1084
|
@P_PO_TYPE INT = NULL,
|
1085
|
@p_PO_CODE varchar(15) = NULL,
|
1086
|
@p_PO_NAME nvarchar(200) = NULL,
|
1087
|
@p_CONTRACT_ID varchar(15) = NULL,
|
1088
|
@p_SUP_ID varchar(15) = NULL,
|
1089
|
@p_SUP_NAME nvarchar(200) = NULL,
|
1090
|
@p_SUP_ADDR nvarchar(200) = NULL,
|
1091
|
@p_INPUT_DT VARCHAR(20) = NULL,
|
1092
|
@p_PAYMENT_DT VARCHAR(20) = NULL,
|
1093
|
@p_TOTAL_AMT decimal(18) = NULL,
|
1094
|
@p_REQ_DOC_ID varchar(15) = NULL,
|
1095
|
@p_DELIVERY_DT VARCHAR(20) = NULL,
|
1096
|
@p_PAYAPP_DT VARCHAR(20) = NULL,
|
1097
|
@p_NOTES nvarchar(1000) = NULL,
|
1098
|
@p_RECORD_STATUS varchar(1) = '1',
|
1099
|
@p_MAKER_ID varchar(15) = NULL,
|
1100
|
@p_CREATE_DT VARCHAR(20) = NULL,
|
1101
|
@p_AUTH_STATUS varchar(50) = 'U',
|
1102
|
@p_CHECKER_ID varchar(15) = NULL,
|
1103
|
@p_APPROVE_DT VARCHAR(20) = 'U',
|
1104
|
@p_TR_REQ_ID VARCHAR(20) = NULL,
|
1105
|
@p_TR_REQ_CODE VARCHAR(20)= NULL,
|
1106
|
@P_LISTASSET XML = NULL,
|
1107
|
@P_LISTPAYMENT XML = NULL,
|
1108
|
@P_LISTROLE XML = NULL,
|
1109
|
@p_BRANCH_ID varchar(15) = NULL
|
1110
|
AS
|
1111
|
--IF EXISTS(SELECT * FROM TR_PO_MASTER WHERE [PO_CODE] = @p_PO_CODE)
|
1112
|
--BEGIN
|
1113
|
-- SELECT ErrorCode Result, '' PO_ID, '' PO_CODE, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'PO-00002'
|
1114
|
-- RETURN '0'
|
1115
|
--END
|
1116
|
DECLARE @sErrorCode VARCHAR(20)
|
1117
|
IF (@p_SUP_ID IS NOT NULL AND @p_SUP_ID <> '')
|
1118
|
BEGIN
|
1119
|
IF NOT EXISTS(SELECT * FROM CM_SUPPLIER A WHERE A.SUP_ID = @p_SUP_ID)
|
1120
|
BEGIN
|
1121
|
SET @sErrorCode = 'CM-00001'
|
1122
|
END
|
1123
|
END
|
1124
|
|
1125
|
IF @sErrorCode <> ''
|
1126
|
BEGIN
|
1127
|
SELECT ErrorCode Result, '' PO_ID, ''PO_CODE, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = @sErrorCode
|
1128
|
RETURN '0'
|
1129
|
END
|
1130
|
|
1131
|
Declare @hdoc INT
|
1132
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTASSET
|
1133
|
DECLARE AssetDetail CURSOR FOR
|
1134
|
SELECT *
|
1135
|
FROM OPENXML(@hDoc,'/Root/AssetDetail',2)
|
1136
|
WITH
|
1137
|
(
|
1138
|
PLAN_ID varchar(15) ,
|
1139
|
TRADE_ID varchar(15) ,
|
1140
|
GOODS_ID varchar(15) ,
|
1141
|
[DESCRIPTION] nvarchar(500),
|
1142
|
UNIT_ID varchar(15) ,
|
1143
|
QUANTITY decimal(18) ,
|
1144
|
PRICE decimal(18) ,
|
1145
|
TOTAL_AMT decimal(18),
|
1146
|
IS_DELIVERY varchar(1) ,
|
1147
|
DELIVERY_DT VARCHAR(20),
|
1148
|
PAYMENT_STATUS varchar(4),
|
1149
|
AMOUNT_PAID decimal(18) ,
|
1150
|
PAID_DT VARCHAR(20) ,
|
1151
|
INVOICENO varchar(1000),
|
1152
|
NOTES nvarchar(1000),
|
1153
|
RECEIVE_BRANCH varchar(15),
|
1154
|
RECEIVE_ADDR nvarchar(1000),
|
1155
|
RECEIVE_PERSON nvarchar(500),
|
1156
|
RECEIVE_TEL varchar(100),
|
1157
|
EXP_DELIVERY_DT varchar(20),
|
1158
|
GOODS_NAME NVARCHAR(500),
|
1159
|
INVOICE_DT VARCHAR(20),
|
1160
|
--THIEUVQ 100415 THEM LOAI HANG HOA THUC TE
|
1161
|
GOODSTYPE_REAL VARCHAR(15),
|
1162
|
GOODSTYPE_REAL_NAME VARCHAR(15),
|
1163
|
--THIEUVQ 13092016 THEM VAT, CONTRACT_DT
|
1164
|
VAT DECIMAL(18,2),
|
1165
|
PRICE_VAT DECIMAL(18,0),
|
1166
|
CONTRACT_DT VARCHAR(15)
|
1167
|
)
|
1168
|
OPEN AssetDetail
|
1169
|
|
1170
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTPAYMENT
|
1171
|
DECLARE PaymentDetail CURSOR FOR
|
1172
|
SELECT *
|
1173
|
FROM OPENXML(@hDoc,'/Root/PaymentDetail',2)
|
1174
|
WITH
|
1175
|
(
|
1176
|
PAY_PHASE varchar(15),
|
1177
|
EXPECTED_DT VARCHAR(20),
|
1178
|
[PERCENT] decimal(18),
|
1179
|
[AMOUNT] decimal(18),
|
1180
|
NOTES nvarchar(1000)
|
1181
|
)
|
1182
|
OPEN PaymentDetail
|
1183
|
PRINT 'PASS KHOI TAO'
|
1184
|
|
1185
|
--Nhom user gui mail (DAO EDIT)
|
1186
|
Exec sp_xml_preparedocument @hdoc Output,@P_LISTROLE
|
1187
|
DECLARE LISTROLE CURSOR FOR
|
1188
|
SELECT *
|
1189
|
FROM OPENXML(@hDoc,'/Root/LISTROLE',2)
|
1190
|
WITH
|
1191
|
(
|
1192
|
NOTIFI_ID VARCHAR(15),
|
1193
|
TL_NAME varchar(15),
|
1194
|
EDITOR_DT VARCHAR(20),
|
1195
|
EDITOR_ID VARCHAR(15),
|
1196
|
NOTES nvarchar(1000)
|
1197
|
)
|
1198
|
OPEN LISTROLE
|
1199
|
BEGIN TRANSACTION
|
1200
|
--- 21052020 KIEM TRA XEM NEU PYCMS DA TON TAI HAY CHUA
|
1201
|
IF((SELECT COUNT(*) FROM TR_REQUEST_DOC_DT WHERE REQ_DOC_ID =@p_TR_REQ_ID)=1)
|
1202
|
BEGIN
|
1203
|
IF(EXISTS(SELECT * FROM TR_PO_MASTER WHERE REQ_DOC_ID =@p_TR_REQ_ID AND AUTH_STATUS IN ('E','U','A')))
|
1204
|
BEGIN
|
1205
|
ROLLBACK TRANSACTION
|
1206
|
SELECT '-1' Result, '' AS PO_ID, N'Phiếu yêu cầu mua sắm số :'+(SELECT REQ_CODE FROM TR_REQUEST_DOC WHERE REQ_ID =@p_TR_REQ_ID)+N' đã được link tới PO có số: '+(SELECT TOP 1 PO_CODE FROM TR_PO_MASTER WHERE REQ_DOC_ID =@p_TR_REQ_ID) AS ErrorDesc
|
1207
|
RETURN '-1'
|
1208
|
END
|
1209
|
END
|
1210
|
----
|
1211
|
--insert master
|
1212
|
IF @p_DELIVERY_DT = ''
|
1213
|
SET @p_DELIVERY_DT = NULL
|
1214
|
IF @p_PAYAPP_DT = ''
|
1215
|
SET @p_PAYAPP_DT = NULL
|
1216
|
|
1217
|
DECLARE @l_PO_ID VARCHAR(15)
|
1218
|
EXEC SYS_CodeMasters_Gen 'TR_PO_MASTER', @l_PO_ID out
|
1219
|
IF @l_PO_ID='' OR @l_PO_ID IS NULL GOTO ABORT
|
1220
|
|
1221
|
--TU PHAT SINH SO PO
|
1222
|
DECLARE @ldate INT = (SELECT YEAR(GETDATE()))
|
1223
|
EXEC [dbo].[TR_PO_MASTER_NO_Gen] @p_BRANCH_ID, @ldate, @p_PO_CODE out
|
1224
|
IF @p_PO_CODE='' OR @p_PO_CODE IS NULL GOTO ABORT
|
1225
|
|
1226
|
INSERT INTO TR_PO_MASTER([PO_TYPE],[PO_ID],[PO_CODE],[PO_NAME],[CONTRACT_ID],[SUP_ID],[SUP_NAME],[SUP_ADDR],[INPUT_DT],[PAYMENT_DT],[TOTAL_AMT],[REQ_DOC_ID],[DELIVERY_DT],[PAYAPP_DT],[NOTES],[RECORD_STATUS],[MAKER_ID],[CREATE_DT],[AUTH_STATUS],[CHECKER_ID],[APPROVE_DT], BRANCH_ID)
|
1227
|
VALUES(@P_PO_TYPE,@l_PO_ID ,@p_PO_CODE ,@p_PO_NAME ,@p_CONTRACT_ID ,@p_SUP_ID ,@p_SUP_NAME ,@p_SUP_ADDR ,CONVERT(DATETIME, @p_INPUT_DT, 103) ,CONVERT(DATETIME, @p_PAYMENT_DT, 103) ,@p_TOTAL_AMT ,@p_TR_REQ_ID ,CONVERT(DATETIME, @p_DELIVERY_DT, 103) ,CONVERT(DATETIME, @p_PAYAPP_DT, 103) ,@p_NOTES ,'1' ,@p_MAKER_ID ,CONVERT(DATETIME, @p_CREATE_DT, 103) ,@p_AUTH_STATUS ,@p_CHECKER_ID ,CONVERT(DATETIME, @p_APPROVE_DT, 103),@p_BRANCH_ID )
|
1228
|
IF @@Error <> 0 GOTO ABORT
|
1229
|
PRINT 'INSERT MASTER SUCCESS'
|
1230
|
INSERT INTO dbo.TR_PO_MASTER_TEMP
|
1231
|
(
|
1232
|
PO_ID,
|
1233
|
TR_REQ_ID,
|
1234
|
TR_REQ_CODE
|
1235
|
)
|
1236
|
VALUES
|
1237
|
( @l_PO_ID, -- PO_ID - varchar(15)
|
1238
|
@p_TR_REQ_ID, -- TR_REQ_ID - varchar(20)
|
1239
|
@p_TR_REQ_CODE -- TR_REQ_CODE - varchar(20)
|
1240
|
)
|
1241
|
|
1242
|
--insert asset detail tương đương như NỘI DUNG trong bảng contract detail
|
1243
|
Declare
|
1244
|
@PLAN_ID varchar(15),
|
1245
|
@TRADE_ID varchar(15),
|
1246
|
@GOODS_ID varchar(15),
|
1247
|
@DESCRIPTION nvarchar(500),
|
1248
|
@UNIT_ID varchar(15),
|
1249
|
@QUANTITY decimal(18),
|
1250
|
@PRICE decimal(18),
|
1251
|
@TOTAL_AMT decimal(18),
|
1252
|
@IS_DELIVERY varchar(1),
|
1253
|
@DELIVERY_DT VARCHAR(20),
|
1254
|
@PAYMENT_STATUS varchar(4),
|
1255
|
@AMOUNT_PAID decimal(18),
|
1256
|
@PAID_DT VARCHAR(20),
|
1257
|
@INVOICENO varchar(20),
|
1258
|
@NOTES nvarchar(1000),
|
1259
|
@PO_ID varchar(15) = NULL,
|
1260
|
@PAY_PHASE VARCHAR(20) = NULL,
|
1261
|
@EXPECTED_DT VARCHAR(20) = NULL,
|
1262
|
@PERCENT decimal(18) = NULL,
|
1263
|
@AMOUNT decimal(18) = NULL,
|
1264
|
@RECEIVE_BRANCH varchar(15)=NULL,
|
1265
|
@RECEIVE_ADDR nvarchar(1000)=NULL,
|
1266
|
@RECEIVE_PERSON nvarchar(500)=NULL,
|
1267
|
@RECEIVE_TEL varchar(100)=NULL,
|
1268
|
@EXP_DELIVERY_DT varchar(20) = NULL,
|
1269
|
@GOODS_NAME NVARCHAR(500) = NULL,
|
1270
|
@INVOICE_DT VARCHAR(20),
|
1271
|
@GOODSTYPE_REAL VARCHAR(15) = NULL,
|
1272
|
@GOODSTYPE_REAL_NAME VARCHAR(15) = NULL,
|
1273
|
@VAT DECIMAL(18,2),
|
1274
|
@PRICE_VAT DECIMAL(18,0),
|
1275
|
@CONTRACT_DT VARCHAR(15),
|
1276
|
--DAO MOI THEM
|
1277
|
@NOTIFI_ID VARCHAR(15),
|
1278
|
@TL_NAME VARCHAR(15),
|
1279
|
@EDITOR_DT VARCHAR(20),
|
1280
|
@EDITOR_ID VARCHAR(15),
|
1281
|
@NOTES_ROLE nvarchar(1000)
|
1282
|
|
1283
|
DECLARE @l_GOODSTYPE_ID VARCHAR(15)
|
1284
|
|
1285
|
FETCH NEXT FROM AssetDetail INTO @PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY,
|
1286
|
@PRICE,@TOTAL_AMT,@IS_DELIVERY,@DELIVERY_DT,@PAYMENT_STATUS,@AMOUNT_PAID,@PAID_DT,
|
1287
|
@INVOICENO,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@EXP_DELIVERY_DT,@GOODS_NAME,@INVOICE_DT,
|
1288
|
@GOODSTYPE_REAL,@GOODSTYPE_REAL_NAME,@VAT,@PRICE_VAT,@CONTRACT_DT
|
1289
|
WHILE @@FETCH_STATUS = 0
|
1290
|
BEGIN
|
1291
|
--if( NOT EXISTS (SELECT * FROM PL_MASTER A WHERE A.PLAN_ID = @PLAN_ID))
|
1292
|
--BEGIN
|
1293
|
-- SELECT ErrorCode Result, '' PO_ID, '' PO_CODE, ErrorDesc ErrorDesc FROM SYS_ERROR WHERE ErrorCode = 'TR-00002'
|
1294
|
-- GOTO ABORT
|
1295
|
--END
|
1296
|
DECLARE @l_PD_ID VARCHAR(15)
|
1297
|
EXEC SYS_CodeMasters_Gen 'TR_PO_DETAIL', @l_PD_ID out
|
1298
|
IF @l_PD_ID='' OR @l_PD_ID IS NULL GOTO ABORT
|
1299
|
--NEU PO_TYPE = 0 TRONG KE HOACH SẼ TIEN HANH TRỪ SỐ HÀNG HÓA TRONG KẾ HOẠCH
|
1300
|
--NEU HOP ĐỒNG KHAC NULL THÌ SẼ TRỪ SỐ LƯỢNG ỨNG VỚI SẢN PHẦM TRONG HỢP ĐỒNG
|
1301
|
|
1302
|
/***THIEUVQ KHI DUYET MOI TRU TREN KE HOACH****/
|
1303
|
--IF(@P_PO_TYPE = 0)
|
1304
|
--BEGIN
|
1305
|
-- UPDATE PL_TRADEDETAIL SET [QUANTITY_EXE] = @QUANTITY WHERE GOODS_ID = @GOODS_ID
|
1306
|
-- IF @@ERROR <> 0 GOTO ABORT
|
1307
|
-- -- CAP NHAP GIA TRI DA THUC HIEN TRONG PL_MASTER
|
1308
|
--END
|
1309
|
|
1310
|
/***THIEUVQ THEM KIEM TRA VA LUU THONG TIN LOAI HANG HOA THUC TE***/
|
1311
|
--BEGIN
|
1312
|
--CHUA CO LOAI HANG HOA THI THEM MOI
|
1313
|
IF @GOODSTYPE_REAL IS NULL OR @GOODSTYPE_REAL = ''
|
1314
|
BEGIN
|
1315
|
--NEU TON TAI THI LAY RA ID
|
1316
|
SET @GOODSTYPE_REAL = (SELECT TOP 1 GD_RETYPE_ID FROM CM_GOODSTYPE_REAL WHERE [TYPE_NAME] = @GOODSTYPE_REAL_NAME)
|
1317
|
--NEU CHUA CO THI THEM MOI
|
1318
|
IF @GOODSTYPE_REAL IS NULL OR @GOODSTYPE_REAL = ''
|
1319
|
BEGIN
|
1320
|
EXEC SYS_CodeMasters_Gen 'CM_GOODSTYPE_REAL', @l_GOODSTYPE_ID OUT
|
1321
|
IF @l_GOODSTYPE_ID='' OR @l_GOODSTYPE_ID IS NULL GOTO ABORT
|
1322
|
|
1323
|
INSERT INTO CM_GOODSTYPE_REAL VALUES (@l_GOODSTYPE_ID, @l_GOODSTYPE_ID, @GOODSTYPE_REAL_NAME, '', '1',
|
1324
|
@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),'A',@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103))
|
1325
|
IF @@ERROR <> 0 GOTO ABORT
|
1326
|
|
1327
|
SET @GOODSTYPE_REAL = @l_GOODSTYPE_ID
|
1328
|
END
|
1329
|
END
|
1330
|
--END
|
1331
|
|
1332
|
IF(@DELIVERY_DT = '')
|
1333
|
SET @DELIVERY_DT = NULL
|
1334
|
IF(@PAID_DT = '')
|
1335
|
SET @PAID_DT = NULL
|
1336
|
IF(@INVOICE_DT = '')
|
1337
|
SET @INVOICE_DT = NULL
|
1338
|
IF @EXP_DELIVERY_DT = '' SET @EXP_DELIVERY_DT = NULL
|
1339
|
|
1340
|
--IF(LEN(@p_CONTRACT_ID) <> 0)
|
1341
|
--CAP NHAP SO HANG DA DUOC GOI BEN TRONG CONTRACT DETAIL
|
1342
|
INSERT INTO TR_PO_DETAIL(PD_ID,PO_ID,PLAN_ID,TRADE_ID,GOODS_ID,[DESCRIPTION],UNIT_ID,
|
1343
|
QUANTITY,PRICE,TOTAL_AMT,IS_DELIVERY,DELIVERY_DT,PAYMENT_STATUS,AMOUNT_PAID,
|
1344
|
PAID_DT,INVOICENO,NOTES, RECEIVE_BRANCH, RECEIVE_ADDR, RECEIVE_PERSON, RECEIVE_TEL,RECORD_STATUS,
|
1345
|
MAKER_ID,CREATE_DT,AUTH_STATUS,CHECKER_ID,APPROVE_DT,EXP_DELIVERY_DT, GOODS_NAME,INVOICE_DT,GOODSTYPE_REAL,VAT,PRICE_VAT,CONTRACT_DT)
|
1346
|
VALUES(@l_PD_ID,@l_PO_ID,@PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,
|
1347
|
@QUANTITY,@PRICE,@TOTAL_AMT,@IS_DELIVERY,CONVERT(DATETIME, @DELIVERY_DT, 103),@PAYMENT_STATUS,@AMOUNT_PAID,
|
1348
|
CONVERT(DATETIME, @PAID_DT, 103),@INVOICENO,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@p_RECORD_STATUS,
|
1349
|
@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),@p_AUTH_STATUS,@p_CHECKER_ID,CONVERT(DATETIME, @p_APPROVE_DT, 103),CONVERT(DATETIME, @EXP_DELIVERY_DT, 103),
|
1350
|
@GOODS_NAME,CONVERT(DATETIME, @INVOICE_DT, 103),@GOODSTYPE_REAL,@VAT,@PRICE_VAT,@CONTRACT_DT)
|
1351
|
IF @@ERROR <> 0 GOTO ABORT1
|
1352
|
|
1353
|
-- next Group_Id
|
1354
|
FETCH NEXT FROM AssetDetail INTO @PLAN_ID,@TRADE_ID,@GOODS_ID,@DESCRIPTION,@UNIT_ID,@QUANTITY,
|
1355
|
@PRICE,@TOTAL_AMT,@IS_DELIVERY,@DELIVERY_DT,@PAYMENT_STATUS,@AMOUNT_PAID,@PAID_DT,
|
1356
|
@INVOICENO,@NOTES, @RECEIVE_BRANCH, @RECEIVE_ADDR, @RECEIVE_PERSON, @RECEIVE_TEL,@EXP_DELIVERY_DT,@GOODS_NAME,@INVOICE_DT,
|
1357
|
@GOODSTYPE_REAL,@GOODSTYPE_REAL_NAME,@VAT,@PRICE_VAT,@CONTRACT_DT
|
1358
|
END
|
1359
|
CLOSE AssetDetail
|
1360
|
DEALLOCATE AssetDetail
|
1361
|
--insert payment detail
|
1362
|
|
1363
|
|
1364
|
FETCH NEXT FROM PaymentDetail INTO @PAY_PHASE,@EXPECTED_DT,@PERCENT,@AMOUNT,@NOTES
|
1365
|
|
1366
|
WHILE @@FETCH_STATUS = 0
|
1367
|
BEGIN
|
1368
|
DECLARE @l_PAY_ID VARCHAR(15)
|
1369
|
EXEC SYS_CodeMasters_Gen 'TR_PO_PAYMENT', @l_PAY_ID out
|
1370
|
IF @l_PAY_ID='' OR @l_PAY_ID IS NULL GOTO ABORT
|
1371
|
|
1372
|
IF(@EXPECTED_DT = '')
|
1373
|
SET @EXPECTED_DT = NULL
|
1374
|
|
1375
|
INSERT INTO TR_PO_PAYMENT(PAY_ID,PO_ID,PAY_PHASE,EXP_DT,[PERCENT],AMOUNT,NOTES,RECORD_STATUS,MAKER_ID,CREATE_DT,AUTH_STATUS,CHECKER_ID,APPROVE_DT)
|
1376
|
VALUES(@l_PAY_ID,@l_PO_ID,@PAY_PHASE,CONVERT(DATETIME, @EXPECTED_DT, 103),
|
1377
|
@PERCENT,@AMOUNT,@NOTES,@p_RECORD_STATUS,@p_MAKER_ID,CONVERT(DATETIME, @p_CREATE_DT, 103),@p_AUTH_STATUS,@p_CHECKER_ID,CONVERT(DATETIME, @p_APPROVE_DT, 103))
|
1378
|
IF @@ERROR <> 0 GOTO ABORT2
|
1379
|
|
1380
|
FETCH NEXT FROM PaymentDetail INTO @PAY_PHASE,@EXPECTED_DT,@PERCENT,@AMOUNT,@NOTES
|
1381
|
END
|
1382
|
CLOSE PaymentDetail
|
1383
|
DEALLOCATE PaymentDetail
|
1384
|
|
1385
|
---INSERT NHOM QUYEN USER THONG BAO (DAO-EDIT)
|
1386
|
FETCH NEXT FROM LISTROLE INTO
|
1387
|
@NOTIFI_ID,
|
1388
|
@TL_NAME,
|
1389
|
@EDITOR_DT,
|
1390
|
@EDITOR_ID,
|
1391
|
@NOTES_ROLE
|
1392
|
WHILE @@FETCH_STATUS = 0
|
1393
|
BEGIN
|
1394
|
|
1395
|
EXEC SYS_CodeMasters_Gen 'TL_ROLE_NOTIFICATION', @NOTIFI_ID out
|
1396
|
IF @NOTIFI_ID='' OR @NOTIFI_ID IS NULL GOTO ABORT
|
1397
|
|
1398
|
INSERT INTO [dbo].[TL_ROLE_NOTIFICATION]
|
1399
|
([NOTIFI_ID]
|
1400
|
,[NOTIFI_CODE]
|
1401
|
,[NOTIFI_NAME]
|
1402
|
,[TYPE]
|
1403
|
,[PO_ID]
|
1404
|
,[TL_NAME]
|
1405
|
,[BRANCH_ID]
|
1406
|
,[RECORD_STATUS]
|
1407
|
,[AUTH_STATUS]
|
1408
|
,[EDITOR_ID]
|
1409
|
,[EDIT_DT]
|
1410
|
,[NOTES]
|
1411
|
,[MAKER_ID]
|
1412
|
,[CREATE_DT])
|
1413
|
VALUES
|
1414
|
(@NOTIFI_ID
|
1415
|
,''
|
1416
|
,''
|
1417
|
,'PO'
|
1418
|
,@l_PO_ID
|
1419
|
,@TL_NAME
|
1420
|
,@p_BRANCH_ID
|
1421
|
,'1'
|
1422
|
,'U'
|
1423
|
,@EDITOR_ID
|
1424
|
,CONVERT(DATETIME, @EDITOR_DT, 103)
|
1425
|
,@NOTES_ROLE
|
1426
|
,@p_MAKER_ID
|
1427
|
,CONVERT(DATETIME, @p_CREATE_DT, 103))
|
1428
|
|
1429
|
IF @@ERROR <> 0 GOTO ABORT
|
1430
|
FETCH NEXT FROM LISTROLE INTO
|
1431
|
@NOTIFI_ID,
|
1432
|
@TL_NAME,
|
1433
|
@EDITOR_DT,
|
1434
|
@EDITOR_ID,
|
1435
|
@NOTES_ROLE
|
1436
|
END
|
1437
|
|
1438
|
CLOSE LISTROLE
|
1439
|
DEALLOCATE LISTROLE
|
1440
|
|
1441
|
COMMIT TRANSACTION
|
1442
|
SELECT '0' as Result, @l_PO_ID PO_ID,@p_PO_CODE PO_CODE, N'Bản nháp số: '+@p_PO_CODE+N' được khởi tạo thành công. Bạn có thể bấm gửi phê duyệt!' ErrorDesc
|
1443
|
RETURN '0'
|
1444
|
ABORT:
|
1445
|
BEGIN
|
1446
|
ROLLBACK TRANSACTION
|
1447
|
SELECT '-1' AS RESULT
|
1448
|
RETURN '-1'
|
1449
|
End
|
1450
|
ABORT1:
|
1451
|
BEGIN
|
1452
|
CLOSE AssetDetail
|
1453
|
DEALLOCATE AssetDetail
|
1454
|
ROLLBACK TRANSACTION
|
1455
|
SELECT '-1' AS RESULT
|
1456
|
RETURN '-1'
|
1457
|
End
|
1458
|
ABORT2:
|
1459
|
BEGIN
|
1460
|
CLOSE AssetDetail
|
1461
|
DEALLOCATE AssetDetail
|
1462
|
CLOSE PaymentDetail
|
1463
|
DEALLOCATE PaymentDetail
|
1464
|
ROLLBACK TRANSACTION
|
1465
|
SELECT '-1' AS RESULT
|
1466
|
RETURN '-1'
|
1467
|
End
|