1
|
ALTER PROC dbo.rpt_PYC_CAPPHAT
|
2
|
@REQ_ID VARCHAR(15) = NULL
|
3
|
|
4
|
AS
|
5
|
BEGIN
|
6
|
|
7
|
DECLARE
|
8
|
@SHOW_TABLE_DVCM_KHAC VARCHAR(1) = NULL,@SHOW_TABLE_DVCM_IT VARCHAR(1) = NULL
|
9
|
|
10
|
--TABLE 0
|
11
|
SELECT DISTINCT ROW_NUMBER() OVER (ORDER BY (SELECT 1)) AS STT, AG.GROUP_NAME AS GR_NAME, AG.GROUP_CODE AS GR_CODE,
|
12
|
cd.DEP_NAME, ce.EMP_NAME, trsdd.QTY_ETM, trsdd.REASON, TU.TLFullName AS MAKER, TU2.TLFullName AS TDV
|
13
|
FROM TR_REQUEST_SHOP_DOC_DT trsdd
|
14
|
LEFT JOIN TR_REQUEST_SHOP_DOC trsd ON trsdd.REQ_DOC_ID = trsd.REQ_ID
|
15
|
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
|
16
|
LEFT JOIN CM_EMPLOYEE ce ON trsdd.EMP_ID = ce.EMP_ID
|
17
|
LEFT JOIN ASS_GROUP AG ON trsdd.ASS_GROUP_ID = AG.GROUP_ID
|
18
|
LEFT JOIN TL_USER TU ON TU.TLNANME = trsd.MAKER_ID
|
19
|
LEFT JOIN TL_USER TU2 ON TU2.TLNANME = trsd.CHECKER_ID
|
20
|
WHERE trsdd.REQ_DOC_ID = @REQ_ID AND REQ_DT_TYPE = 'ORGINAL'
|
21
|
--GROUP BY AG.GROUP_NAME, AG.GROUP_CODE,
|
22
|
--cd.DEP_NAME, ce.EMP_NAME, trsdd.QTY_ETM, trsdd.REASON, TU.TLFullName, TU2.TLNANME
|
23
|
ORDER BY STT
|
24
|
|
25
|
--TABLE 1 DVCM KHOI CNTT
|
26
|
IF(EXISTS(SELECT 1
|
27
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
28
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
29
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE = '05J00'))
|
30
|
BEGIN
|
31
|
SELECT TOP 1 A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(PP.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
32
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
33
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
34
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
35
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
36
|
LEFT JOIN PL_PROCESS PP ON A.REQ_ID = PP.REQ_ID AND A.MAKER_ID = PP.CHECKER_ID
|
37
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE = '05J00'
|
38
|
ORDER BY PP.APPROVE_DT DESC
|
39
|
|
40
|
SET @SHOW_TABLE_DVCM_IT = '1'
|
41
|
END
|
42
|
ELSE
|
43
|
BEGIN
|
44
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
45
|
END
|
46
|
|
47
|
|
48
|
--TABLE 2 DVCM KHAC
|
49
|
IF(EXISTS(SELECT 1
|
50
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
51
|
LEFT JOIN CM_DEPARTMENT B ON A.COST_ID = B.DEP_ID
|
52
|
WHERE A.REQ_ID = @REQ_ID AND B.DEP_CODE <> '05J00'))
|
53
|
BEGIN
|
54
|
SELECT A.ASS_STATUS, A.RE_CONTENT, A.NOTES, E.TLFullName AS SURVEY_STAFF, ISNULL(B.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' +
|
55
|
FORMAT(
|
56
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = A.REQ_ID AND PP.CHECKER_ID = A.MAKER_ID ORDER BY PP.APPROVE_DT DESC)
|
57
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
58
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
59
|
LEFT JOIN CM_EMPLOYEE_LOG B ON A.MAKER_ID = B.USER_DOMAIN
|
60
|
LEFT JOIN TL_USER E ON A.MAKER_ID = E.TLNANME
|
61
|
LEFT JOIN CM_DEPARTMENT cd ON A.COST_ID = cd.DEP_ID
|
62
|
WHERE A.REQ_ID = @REQ_ID AND cd.DEP_CODE <> '05J00'
|
63
|
ORDER BY A.COST_ID
|
64
|
|
65
|
SET @SHOW_TABLE_DVCM_KHAC = '1'
|
66
|
END
|
67
|
ELSE
|
68
|
BEGIN
|
69
|
SELECT '' ASS_STATUS, '' RE_CONTENT,'' NOTES, ''SURVEY_STAFF, '' POS_NAME
|
70
|
END
|
71
|
|
72
|
--TABLE 3 DANH GIA VA DE XUAT CUA P.QLTS
|
73
|
IF(EXISTS(SELECT 1 FROM TR_REQUEST_SHOP_DOC trsd
|
74
|
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
|
75
|
LEFT JOIN PL_REQUEST_PROCESS PRP ON trsd.REQ_ID = PRP.REQ_ID AND PRP.PROCESS_ID = 'QLTS_NL'
|
76
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
77
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
78
|
WHERE trsd.REQ_ID = @REQ_ID))
|
79
|
BEGIN
|
80
|
SELECT DISTINCT trsd.HO_NOTES, tu.TLFullName, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
81
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = trsd.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
|
82
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
83
|
FROM TR_REQUEST_SHOP_DOC trsd
|
84
|
LEFT JOIN CM_DEPARTMENT cd ON trsd.DEP_ID = cd.DEP_ID
|
85
|
LEFT JOIN PL_REQUEST_PROCESS PRP ON trsd.REQ_ID = PRP.REQ_ID AND PRP.PROCESS_ID = 'QLTS_NL'
|
86
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
87
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
88
|
WHERE trsd.REQ_ID = @REQ_ID
|
89
|
END
|
90
|
ELSE BEGIN SELECT N'' NOTES, N'' TLFullName, N'' POS_NAME END
|
91
|
|
92
|
--TABLE 4 PHE DUYET DVCM KHOI CNTT
|
93
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
94
|
BEGIN
|
95
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
96
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
97
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'))
|
98
|
BEGIN
|
99
|
SELECT TOP 1 ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(PP.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
100
|
FROM PL_REQUEST_PROCESS A
|
101
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
102
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
103
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
104
|
LEFT JOIN PL_PROCESS PP ON A.REQ_ID = PP.REQ_ID
|
105
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE = '05J00'
|
106
|
ORDER BY PP.APPROVE_DT DESC
|
107
|
END
|
108
|
ELSE
|
109
|
BEGIN
|
110
|
SELECT '' AS NOTES
|
111
|
END
|
112
|
END
|
113
|
ELSE
|
114
|
BEGIN
|
115
|
SELECT N'' NOTES
|
116
|
END
|
117
|
|
118
|
--QTLS_D 5
|
119
|
IF(EXISTS(SELECT 1
|
120
|
FROM PL_REQUEST_PROCESS PRP
|
121
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
122
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
123
|
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'QLTS_D'))
|
124
|
BEGIN
|
125
|
SELECT DISTINCT PRP.NOTES AS HO_NOTES, tu.TLFullName, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
126
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
|
127
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
128
|
FROM PL_REQUEST_PROCESS PRP
|
129
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
130
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
131
|
LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID
|
132
|
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'QLTS_D'
|
133
|
END
|
134
|
ELSE BEGIN SELECT N'' HO_NOTES, N'' TLFullName, N'' POS_NAME END
|
135
|
|
136
|
--TTQTLS_D 6
|
137
|
SELECT DISTINCT ISNULL(PRP.NOTES, '') AS HO_NOTES, ISNULL(tu.TLFullName, '') AS TLFullName , ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
138
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
|
139
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
140
|
FROM PL_REQUEST_PROCESS PRP
|
141
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
142
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
143
|
--LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID
|
144
|
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'TTQLTS_D'
|
145
|
|
146
|
--TABLE 7
|
147
|
SELECT TU.TLFullName AS MAKER, TU2.TLFullName AS TDV, ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
148
|
A.CREATE_DT
|
149
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_MAKER,
|
150
|
ISNULL(CE2.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
151
|
A.APPROVE_DT
|
152
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_TDV
|
153
|
FROM TR_REQUEST_SHOP_DOC A
|
154
|
LEFT JOIN TL_USER TU ON TU.TLNANME = A.MAKER_ID
|
155
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = A.MAKER_ID
|
156
|
LEFT JOIN TL_USER TU2 ON TU2.TLNANME = A.CHECKER_ID
|
157
|
LEFT JOIN CM_EMPLOYEE_LOG CE2 ON CE2.USER_DOMAIN = A.CHECKER_ID
|
158
|
WHERE A.REQ_ID = @REQ_ID
|
159
|
|
160
|
--TABLE 8 SỐ PYC
|
161
|
SELECT trsd.REQ_CODE FROM TR_REQUEST_SHOP_DOC trsd WHERE trsd.REQ_ID = @REQ_ID
|
162
|
|
163
|
--PHUCVH TABLE 9 NGÀY TDV DUYỆT
|
164
|
SELECT TOP 1 N'Ngày ' + CONVERT(VARCHAR(5),DAY(pp.APPROVE_DT)) +
|
165
|
N' tháng ' + CONVERT(VARCHAR(5),MONTH(pp.APPROVE_DT)) +
|
166
|
N' năm ' + CONVERT(VARCHAR(10),YEAR(pp.APPROVE_DT)) AS APPROVE_DT
|
167
|
FROM PL_PROCESS pp WHERE pp.REQ_ID = @REQ_ID AND pp.PROCESS_ID = 'APPNEW' ORDER BY pp.ID DESC
|
168
|
|
169
|
--TABLE 10 PHÊ DUYỆT DVCM KHÁC
|
170
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
171
|
BEGIN
|
172
|
IF (EXISTS(SELECT 1 FROM PL_REQUEST_PROCESS A
|
173
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
174
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'))
|
175
|
BEGIN
|
176
|
SELECT ISNULL(A.NOTES,'') AS NOTES, E.TLFullName, ISNULL(D.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(A.APPROVE_DT, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
177
|
FROM PL_REQUEST_PROCESS A
|
178
|
LEFT JOIN CM_DEPARTMENT C ON A.DEP_ID = C.DEP_ID
|
179
|
LEFT JOIN CM_EMPLOYEE_LOG D ON A.CHECKER_ID = D.USER_DOMAIN
|
180
|
LEFT JOIN TL_USER E ON D.USER_DOMAIN = E.TLNANME
|
181
|
WHERE A.REQ_ID = @REQ_ID AND A.PROCESS_ID = 'DVCM_D' AND C.DEP_CODE <> '05J00'
|
182
|
ORDER BY C.DEP_ID
|
183
|
END
|
184
|
ELSE
|
185
|
BEGIN
|
186
|
SELECT '' AS NOTES
|
187
|
FROM TR_REQUEST_SHOP_COSTCENTER A
|
188
|
LEFT JOIN CM_DEPARTMENT C ON A.COST_ID = C.DEP_ID
|
189
|
WHERE A.REQ_ID = @REQ_ID AND C.DEP_CODE <> '05J00'
|
190
|
END
|
191
|
END
|
192
|
ELSE
|
193
|
BEGIN
|
194
|
SELECT N'' NOTES
|
195
|
END
|
196
|
|
197
|
--TABLE 11 PHÊ DUYỆT TBP_QLTS
|
198
|
SELECT DISTINCT ISNULL(PRP.NOTES, '') AS HO_NOTES, ISNULL(tu.TLFullName, '') AS TLFullName , ISNULL(CE.POS_NAME, '') + CHAR(13) + N'Đã ký ngày ' + FORMAT(
|
199
|
(SELECT TOP 1 PP.APPROVE_DT FROM PL_PROCESS PP WHERE PP.REQ_ID = PRP.REQ_ID AND PP.CHECKER_ID = PRP.CHECKER_ID ORDER BY PP.APPROVE_DT DESC)
|
200
|
, 'dd/MM/yyyy HH:mm:ss') AS POS_NAME
|
201
|
FROM PL_REQUEST_PROCESS PRP
|
202
|
LEFT JOIN TL_USER tu ON PRP.CHECKER_ID = tu.TLNANME
|
203
|
LEFT JOIN CM_EMPLOYEE_LOG CE ON CE.USER_DOMAIN = PRP.CHECKER_ID
|
204
|
--LEFT JOIN PL_PROCESS PP ON PRP.REQ_ID = PP.REQ_ID AND PRP.CHECKER_ID = PP.CHECKER_ID
|
205
|
WHERE PRP.REQ_ID = @REQ_ID AND PRP.PROCESS_ID = 'TBP_D'
|
206
|
|
207
|
|
208
|
--SHOW TABLE DVCM IT
|
209
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL)
|
210
|
BEGIN
|
211
|
SELECT N'DVCMIT' AS MERGE_REGION
|
212
|
END
|
213
|
|
214
|
--SHOW TABLE DVCM KHÁC
|
215
|
IF(@SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
216
|
BEGIN
|
217
|
SELECT N'DVCMKHAC' AS MERGE_REGION
|
218
|
END
|
219
|
|
220
|
--SHOW TITLE ĐÁNH GIÁ CỦA ĐƠN VỊ CHUYÊN MÔN
|
221
|
IF(@SHOW_TABLE_DVCM_IT IS NOT NULL OR @SHOW_TABLE_DVCM_KHAC IS NOT NULL)
|
222
|
BEGIN
|
223
|
SELECT N'TITLEDVCM' AS MERGE_REGION
|
224
|
END
|
225
|
|
226
|
|
227
|
END
|