발전시뮬레이션 모듈 GROUP BY

This commit is contained in:
DESKTOP-6ARNG1Q\dlsgk 2025-01-16 09:39:32 +09:00
parent 2930910b52
commit d551036208
2 changed files with 36 additions and 29 deletions

View File

@ -68,24 +68,29 @@
<select id="selectRoofItemList" parameterType="com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimRequest" <select id="selectRoofItemList" parameterType="com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimRequest"
resultType="com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimRoofResponse"> resultType="com.interplug.qcast.biz.pwrGnrSimulation.dto.PwrGnrSimRoofResponse">
/* sqlid : com.interplug.qcast.api.pwrGnrSimulation.selectRoofItemList (견적서 지붕재 아이템 정보 조회) */ /* sqlid : com.interplug.qcast.api.pwrGnrSimulation.selectRoofItemList (견적서 지붕재 아이템 정보 조회) */
SELECT T.*
FROM (
SELECT SELECT
A.ROOF_SURFACE_ID A.ROOF_SURFACE_ID
, B.ITEM_ID , B.ITEM_ID
, B.AMOUNT , SUM(B.AMOUNT) AS AMOUNT
, B.ITEM_NO , B.ITEM_NO
, ISNULL((B.AMOUNT * TRY_CAST(B.SPECIFICATION AS FLOAT)), 0) AS TOT_SPECIFICATION /* 용량 */ , ISNULL((SUM(B.AMOUNT) * TRY_CAST(MAX(B.SPECIFICATION) AS FLOAT)),0) AS TOT_SPECIFICATION /* 용량 */
, C.ITEM_GROUP , MAX(C.ITEM_GROUP) AS ITEM_GROUP /* 추후 지붕재테이블로 봐야함. */
/* 추후 지붕재테이블로 봐야함. */ , MAX(C.TEMP_LOSS) AS TEMP_LOSS
, C.TEMP_LOSS , MAX(C.TEMP_COEFF ) AS TEMP_COEFF
, C.TEMP_COEFF , MAX(C.CNV_EFF) AS CNV_EFF
, C.CNV_EFF , MAX(C.AMP) AS AMP
, C.AMP , MAX(B.SPECIFICATION) AS SPECIFICATION
, B.SPECIFICATION , A.ROOF_SURFACE AS ROOF_SURFACE
, A.ROOF_SURFACE , A.CLASS_TYPE AS CLASS_TYPE
, A.CLASS_TYPE , A.AZIMUTH AS AZIMUTH
, A.AZIMUTH , (CASE
, (CASE WHEN A.CLASS_TYPE = 0 THEN A.SLOPE ELSE A.ANGLE END) AS SLOPE_ANGLE WHEN A.CLASS_TYPE = 0 THEN A.SLOPE
, (CASE WHEN A.CLASS_TYPE = 0 THEN CAST(CAST(A.SLOPE AS INT)AS VARCHAR) + '寸' ELSE CAST(CAST(A.ANGLE AS INT)AS VARCHAR) + N'º' END) AS SLOPE_ANGLE_TXT ELSE A.ANGLE END) AS SLOPE_ANGLE
, (CASE
WHEN A.CLASS_TYPE = 0 THEN CAST(CAST(A.SLOPE AS INT)AS VARCHAR) + '寸'
ELSE CAST(CAST(A.ANGLE AS INT)AS VARCHAR) + N'º' END) AS SLOPE_ANGLE_TXT
FROM T_PART_ROOF_ESTIMATE A WITH (NOLOCK) FROM T_PART_ROOF_ESTIMATE A WITH (NOLOCK)
INNER JOIN T_PART_ROOF_ITEM_ESTIMATE B WITH (NOLOCK) INNER JOIN T_PART_ROOF_ITEM_ESTIMATE B WITH (NOLOCK)
ON A.OBJECT_NO = B.OBJECT_NO ON A.OBJECT_NO = B.OBJECT_NO
@ -96,6 +101,8 @@
WHERE A.OBJECT_NO = #{objectNo} WHERE A.OBJECT_NO = #{objectNo}
AND A.PLAN_NO = #{planNo} AND A.PLAN_NO = #{planNo}
AND C.ITEM_GROUP = #{itemGroup} AND C.ITEM_GROUP = #{itemGroup}
ORDER BY B.SPECIFICATION DESC GROUP BY A.ROOF_SURFACE_ID, A.ROOF_SURFACE, A.CLASS_TYPE, A.AZIMUTH, A.ANGLE, A.SLOPE, B.ITEM_ID, B.ITEM_NO
) T
ORDER BY T.SPECIFICATION DESC
</select> </select>
</mapper> </mapper>