Project

General

Profile

Bug #1952 » CBIATMTOPYTRIPHINOTARIF.sql

Tri Rizqiaty, 01/24/2023 02:41 PM

 
1
??--USE [MinovaES_BIA_Dev]
2

3
--GO
4

5
--/****** Object:  StoredProcedure [dbo].[CBIATMTOPYTRIPHINOTARIF]    Script Date: 24/01/2023 11.50.06 ******/
6

7
--SET ANSI_NULLS ON
8

9
--GO
10

11
SET QUOTED_IDENTIFIER ON
12

13
GO
14

15
ALTER PROCEDURE [dbo].[CBIATMTOPYTRIPHINOTARIF]
16

17
(
18

19
	@EmployeeID VARCHAR(20)
20

21
	,@StartDate VARCHAR(20)
22

23
	,@EndDate VARCHAR(20)
24

25
)
26

27
AS
28

29

30

31
--DECLARE @EmployeeID VARCHAR(20) = '14060239'
32

33
--DECLARE @StartDate VARCHAR(20) = '20230101'
34

35
--DECLARE @EndDate VARCHAR(20) = '20230131'
36

37

38

39
DECLARE @CTARIF TABLE
40

41
(
42

43
	EmployeeID VARCHAR(20)
44

45
	,TipeTrip01 DECIMAL(22,2)
46

47
	,TipeTrip02 DECIMAL(22,2)
48

49
	,TipeTrip03 DECIMAL(22,2)
50

51
	,TipeTrip04 DECIMAL(22,2)
52

53
	,TipeTrip05 DECIMAL(22,2)
54

55
	,TipeTrip06 DECIMAL(22,2)
56

57
	,TipeTrip07 DECIMAL(22,2)
58

59
	,TipeTrip08 DECIMAL(22,2)
60

61
	,TipeTrip09 DECIMAL(22,2)
62

63
	,TipeTrip10 DECIMAL(22,2)
64

65
	,TipeTrip11 DECIMAL(22,2)
66

67
	,TipeTrip12 DECIMAL(22,2)
68

69
	,TipeTrip13 DECIMAL(22,2)
70

71
	,TipeTrip14 DECIMAL(22,2)
72

73
	,TipeTrip15 DECIMAL(22,2)
74

75
	,TipeTrip16 DECIMAL(22,2)
76

77
	,TipeTrip17 DECIMAL(22,2)
78

79
	,TipeTrip18 DECIMAL(22,2)
80

81
	,TipeTrip19 DECIMAL(22,2)
82

83
)
84

85

86

87
INSERT INTO @CTARIF
88

89
SELECT @EmployeeID, * FROM (SELECT FieldName, Tarif AS Tarif FROM CTARIFTRIPHINODUMPTRUCK) AS SourceTable
90

91
PIVOT (MAX(Tarif)
92

93
FOR FieldName IN
94

95
(	[TipeTrip01],
96

97
	[TipeTrip02],
98

99
	[TipeTrip03],
100

101
	[TipeTrip04],
102

103
	[TipeTrip05],
104

105
	[TipeTrip06],
106

107
	[TipeTrip07],
108

109
	[TipeTrip08],
110

111
	[TipeTrip09],
112

113
	[TipeTrip10],
114

115
	[TipeTrip11],
116

117
	[TipeTrip12],
118

119
	[TipeTrip13],
120

121
	[TipeTrip14],
122

123
	[TipeTrip15],
124

125
	[TipeTrip16],
126

127
	[TipeTrip17],
128

129
	[TipeTrip18],
130

131
	[TipeTrip19])
132

133
) AS pvt
134

135

136

137
DECLARE @TblResult TABLE
138

139
(
140

141
	EmployeeID VARCHAR(20)
142

143
	,TipeTrip01 VARCHAR(20)
144

145
	,TipeTrip02 VARCHAR(20)
146

147
	,TipeTrip03 VARCHAR(20)
148

149
	,TipeTrip04 VARCHAR(20)
150

151
	,TipeTrip05 VARCHAR(20)
152

153
	,TipeTrip06 VARCHAR(20)
154

155
	,TipeTrip07 VARCHAR(20)
156

157
	,TipeTrip08 VARCHAR(20)
158

159
	,TipeTrip09 VARCHAR(20)
160

161
	,TipeTrip10 VARCHAR(20)
162

163
	,TipeTrip11 VARCHAR(20)
164

165
	,TipeTrip12 VARCHAR(20)
166

167
	,TipeTrip13 VARCHAR(20)
168

169
	,TipeTrip14 VARCHAR(20)
170

171
	,TipeTrip15 VARCHAR(20)
172

173
	,TipeTrip16 VARCHAR(20)
174

175
	,TipeTrip17 VARCHAR(20)
176

177
	,TipeTrip18 VARCHAR(20)
178

179
	,TipeTrip19 VARCHAR(20)
180

181
	,TarifTipeTrip01 DECIMAL(22,2)
182

183
	,TarifTipeTrip02 DECIMAL(22,2)
184

185
	,TarifTipeTrip03 DECIMAL(22,2)
186

187
	,TarifTipeTrip04 DECIMAL(22,2)
188

189
	,TarifTipeTrip05 DECIMAL(22,2)
190

191
	,TarifTipeTrip06 DECIMAL(22,2)
192

193
	,TarifTipeTrip07 DECIMAL(22,2)
194

195
	,TarifTipeTrip08 DECIMAL(22,2)
196

197
	,TarifTipeTrip09 DECIMAL(22,2)
198

199
	,TarifTipeTrip10 DECIMAL(22,2)
200

201
	,TarifTipeTrip11 DECIMAL(22,2)
202

203
	,TarifTipeTrip12 DECIMAL(22,2)
204

205
	,TarifTipeTrip13 DECIMAL(22,2)
206

207
	,TarifTipeTrip14 DECIMAL(22,2)
208

209
	,TarifTipeTrip15 DECIMAL(22,2)
210

211
	,TarifTipeTrip16 DECIMAL(22,2)
212

213
	,TarifTipeTrip17 DECIMAL(22,2)
214

215
	,TarifTipeTrip18 DECIMAL(22,2)
216

217
	,TarifTipeTrip19 DECIMAL(22,2)
218

219
	,TotalTarifTripHino DECIMAL(22,2)
220

221
)
222

223

224

225
INSERT INTO @TblResult
226

227
SELECT DISTINCT md.EmployeeID, md.TipeTrip01,  md.TipeTrip02,  md.TipeTrip03, md.TipeTrip04, md.TipeTrip05, md.TipeTrip06
228

229
				,md.TipeTrip07 ,md.TipeTrip08 ,md.TipeTrip09 ,md.TipeTrip10 ,md.TipeTrip11 ,md.TipeTrip12 ,md.TipeTrip13
230

231
				,md.TipeTrip14 ,md.TipeTrip15 ,md.TipeTrip16 ,md.TipeTrip17 ,md.TipeTrip18 ,md.TipeTrip19
232

233
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip01 <> '' THEN md.TipeTrip01 ELSE '0' END) * tarif.TipeTrip01 AS TarifTipeTrip01
234

235
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip02 <> '' THEN md.TipeTrip02 ELSE '0' END) * tarif.TipeTrip02 AS TarifTipeTrip02
236

237
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip03 <> '' THEN md.TipeTrip03 ELSE '0' END) * tarif.TipeTrip03 AS TarifTipeTrip03
238

239
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip04 <> '' THEN md.TipeTrip04 ELSE '0' END) * tarif.TipeTrip04 AS TarifTipeTrip04
240

241
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip05 <> '' THEN md.TipeTrip05 ELSE '0' END) * tarif.TipeTrip05 AS TarifTipeTrip05
242

243
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip06 <> '' THEN md.TipeTrip06 ELSE '0' END) * tarif.TipeTrip06 AS TarifTipeTrip06
244

245
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip07 <> '' THEN md.TipeTrip07 ELSE '0' END) * tarif.TipeTrip07 AS TarifTipeTrip07
246

247
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip08 <> '' THEN md.TipeTrip08 ELSE '0' END) * tarif.TipeTrip08 AS TarifTipeTrip08
248

249
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip09 <> '' THEN md.TipeTrip09 ELSE '0' END) * tarif.TipeTrip09 AS TarifTipeTrip09
250

251
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip10 <> '' THEN md.TipeTrip10 ELSE '0' END) * tarif.TipeTrip10 AS TarifTipeTrip10
252

253
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip11 <> '' THEN md.TipeTrip11 ELSE '0' END) * tarif.TipeTrip11 AS TarifTipeTrip11
254

255
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip12 <> '' THEN md.TipeTrip12 ELSE '0' END) * tarif.TipeTrip12 AS TarifTipeTrip12
256

257
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip13 <> '' THEN md.TipeTrip13 ELSE '0' END) * tarif.TipeTrip13 AS TarifTipeTrip13
258

259
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip14 <> '' THEN md.TipeTrip14 ELSE '0' END) * tarif.TipeTrip14 AS TarifTipeTrip14
260

261
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip15 <> '' THEN md.TipeTrip15 ELSE '0' END) * tarif.TipeTrip15 AS TarifTipeTrip15
262

263
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip16 <> '' THEN md.TipeTrip16 ELSE '0' END) * tarif.TipeTrip16 AS TarifTipeTrip16
264

265
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip17 <> '' THEN md.TipeTrip17 ELSE '0' END) * tarif.TipeTrip17 AS TarifTipeTrip17
266

267
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip18 <> '' THEN md.TipeTrip18 ELSE '0' END) * tarif.TipeTrip18 AS TarifTipeTrip18
268

269
				,CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip19 <> '' THEN md.TipeTrip19 ELSE '0' END) * tarif.TipeTrip19 AS TarifTipeTrip19
270

271
				,(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip01 <> '' THEN md.TipeTrip01 ELSE '0' END) * tarif.TipeTrip01) +
272

273
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip02 <> '' THEN md.TipeTrip02 ELSE '0' END) * tarif.TipeTrip02) +
274

275
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip03 <> '' THEN md.TipeTrip03 ELSE '0' END) * tarif.TipeTrip03) +
276

277
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip04 <> '' THEN md.TipeTrip04 ELSE '0' END) * tarif.TipeTrip04) +
278

279
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip05 <> '' THEN md.TipeTrip05 ELSE '0' END) * tarif.TipeTrip05) +
280

281
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip06 <> '' THEN md.TipeTrip06 ELSE '0' END) * tarif.TipeTrip06) +
282

283
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip07 <> '' THEN md.TipeTrip07 ELSE '0' END) * tarif.TipeTrip07) +
284

285
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip08 <> '' THEN md.TipeTrip08 ELSE '0' END) * tarif.TipeTrip08) +
286

287
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip09 <> '' THEN md.TipeTrip09 ELSE '0' END) * tarif.TipeTrip09) +
288

289
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip10 <> '' THEN md.TipeTrip10 ELSE '0' END) * tarif.TipeTrip10) +
290

291
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip11 <> '' THEN md.TipeTrip11 ELSE '0' END) * tarif.TipeTrip11) +
292

293
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip12 <> '' THEN md.TipeTrip12 ELSE '0' END) * tarif.TipeTrip12) +
294

295
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip13 <> '' THEN md.TipeTrip13 ELSE '0' END) * tarif.TipeTrip13) +
296

297
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip14 <> '' THEN md.TipeTrip14 ELSE '0' END) * tarif.TipeTrip14) +
298

299
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip15 <> '' THEN md.TipeTrip15 ELSE '0' END) * tarif.TipeTrip15) +
300

301
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip16 <> '' THEN md.TipeTrip16 ELSE '0' END) * tarif.TipeTrip16) +
302

303
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip17 <> '' THEN md.TipeTrip17 ELSE '0' END) * tarif.TipeTrip17) +
304

305
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip18 <> '' THEN md.TipeTrip18 ELSE '0' END) * tarif.TipeTrip18) +
306

307
				(CONVERT(DECIMAL(22,2),CASE WHEN md.TipeTrip19 <> '' THEN md.TipeTrip19 ELSE '0' END) * tarif.TipeTrip19) AS TotalTarifTripHino
308

309
FROM dbo.MDTRIPHINODUMPTRUCK  AS md 
310

311
LEFT JOIN @CTARIF AS tarif
312

313
	ON md.EmployeeID = tarif.EmployeeID
314

315
WHERE  md.EmployeeID = @EmployeeID
316

317
	AND (md.StartDate BETWEEN @StartDate AND @EndDate)
318

319

320

321
SELECT DISTINCT EmployeeID
322

323
				,SUM(TotalTarifTripHino) AS TotalTarifTripHino
324

325
FROM @TblResult
326

327
GROUP BY EmployeeID
(5-5/5)