โครงการ

ทั่วๆ ไป

Profile

Feature #235 » usp_ProfitMarginCriteriaMOUTempGetList.sql

Anonymous, 28/04/2021 15:19

 
1
??USE [CAPDB_CORP_SIT]
2

3
GO
4

5
/****** Object:  StoredProcedure [dbo].[usp_ProfitMarginCriteriaTempGetList]    Script Date: 4/28/2021 9:08:03 PM ******/
6

7
SET ANSI_NULLS ON
8

9
GO
10

11
SET QUOTED_IDENTIFIER ON
12

13
GO
14

15
-- =============================================
16

17
-- Author:		<Santisuk Kamlangyong>
18

19
-- Create date: <2020-01-09>
20

21
-- Description:	<Description,,>
22

23
-- =============================================
24

25
CREATE PROCEDURE [dbo].[usp_ProfitMarginCriteriaMOUTempGetList]
26

27
	 @TempId	UNIQUEIDENTIFIER = NULL
28

29
	,@ProfitGroupCode NVARCHAR(10) = NULL
30

31
	,@TypeCode	NVARCHAR(MAX) = NULL
32

33
AS
34

35
BEGIN
36

37
	-- SET NOCOUNT ON added to prevent extra result sets from
38

39
	-- interfering with SELECT statements.
40

41
	SET NOCOUNT ON;
42

43
	
44

45
	BEGIN
46

47
		SELECT   TempRunningId
48

49
				,RowNo
50

51
				,TempId	
52

53
				,IsCheck
54

55
				,pgmProfitId
56

57
				,pgmProMid
58

59
				,ProfitGroupCode
60

61
				,TypeCode
62

63
				,TypeDesc
64

65
				,DescCode
66

67
				,DescText
68

69
				,incFrom
70

71
				,incTo
72

73
				,profitIncome
74

75
				,profitRteCde
76

77
				,profitRteNam
78

79
				,recsts
80

81
				,createBy
82

83
				,createDte
84

85
				,createWrkstn
86

87
				,updateBy
88

89
				,updateDte
90

91
				,updateWrkstn
92

93
				,CountTMP
94

95
		FROM (
96

97
			SELECT	 CONVERT(INT,ROW_NUMBER() OVER(ORDER BY IsCheck DESC,TypeDesc ASC,incTo ASC)) AS RowNo
98

99
					,TempRunningId
100

101
					,TMP062.TempId	
102

103
					,IsCheck
104

105
					,TMP062.pgmProfitId
106

107
					,pgmProMid
108

109
					,ProfitGroupCode
110

111
					,TypeCode
112

113
					,TypeDesc
114

115
					,DescCode
116

117
					,DescText
118

119
					,incFrom
120

121
					,incTo
122

123
					,CONVERT(NVARCHAR(50),incFrom) +' - '+ CONVERT(NVARCHAR(50),incTo) AS profitIncome
124

125
					,TMP063.profitRteCde
126

127
					,TMP063.profitRteNam
128

129
					,recsts
130

131
					,createBy
132

133
					,createDte
134

135
					,createWrkstn
136

137
					,updateBy
138

139
					,updateDte
140

141
					,updateWrkstn
142

143
					,TMP.CountTMP
144

145
			FROM CBTRTMP062 (NOLOCK) AS TMP062
146

147
			LEFT JOIN (
148

149
				SELECT	 TempId
150

151
						,COUNT(1) AS CountTMP
152

153
				FROM CBTRTMP062
154

155
				WHERE TempId = @TempId
156

157
				AND ProfitGroupCode = @ProfitGroupCode
158

159
				AND (@TypeCode IS NULL OR TypeCode IN (SELECT VALUE FROM STRING_SPLIT(@TypeCode,',')))
160

161
				GROUP BY TempId
162

163
			) AS TMP ON TMP062.TempId = TMP.TempId
164

165
			LEFT JOIN (
166

167
				SELECT DISTINCT TempId
168

169
					,pgmMid
170

171
					,pgmProfitId
172

173
					,profitRteCde
174

175
					,profitRteNam 
176

177
				FROM CBTRTMP063 WHERE TempId = @TempId
178

179
			) AS TMP063 ON TMP062.TempId = TMP063.TempId AND TMP062.pgmProMid = TMP063.pgmMid AND TMP062.pgmProfitId = TMP063.pgmProfitId
180

181
			WHERE TMP062.TempId = @TempId
182

183
			AND ProfitGroupCode = @ProfitGroupCode
184

185
			AND (@TypeCode IS NULL OR TypeCode IN (SELECT VALUE FROM STRING_SPLIT(@TypeCode,',')))
186

187
			--ORDER BY IsCheck DESC,TypeDesc ASC
188

189
		) AS TMP
190

191
		--ORDER BY TMP.IsCheck,TMP.TypeDesc
192

193
	END
194

195
END
196

197

(5-5/10)