add paging for api selectEnrgUsePlan

This commit is contained in:
Pham Hoang Manh/(Pham Hoang Manh)/현장대리인/SK
2025-08-20 12:39:15 +09:00
parent 9c37d8dbe6
commit a3e66dfb94
3 changed files with 50 additions and 0 deletions

View File

@ -51,6 +51,15 @@ public class EnrgUsePlanCtr {
result.add("enrgUsePlanDatas",enrgUsePlanSvc.selectEnrgUsePlanData(paramMap.getParams()));
return result;
}
@RequestMapping(value="/selectEnrgUsePlanPageTotal", method=RequestMethod.POST)
@ResponseBody
public Object selectEnrgUsePlanPageTotal(@RequestBody BaseParam paramMap){
BaseResponse result = new BaseResponse();
result.add("enrgUsePlanPageTotal",enrgUsePlanSvc.selectEnrgUsePlanPageTotal(paramMap.getParams()));
return result;
}
/**
* @methodName : saveEmsEqpmMmPlanDatas
* @date : 2022.12.05

View File

@ -38,6 +38,11 @@ public class EnrgUsePlanSvc extends BaseSvc{
public Object selectEnrgUsePlanData(HashMap<String, Object> params) {
return dao.selectList("ems.effc.EnrgUsePlan.selectEnrgUsePlanData", params);
}
public Object selectEnrgUsePlanPageTotal(HashMap<String, Object> params) {
return dao.selectList("ems.effc.EnrgUsePlan.selectEnrgUsePlanPageTotal", params);
}
/**
* @methodName : saveEmsEqpmMmPlanDatas
* @date : 2022.12.05

View File

@ -46,7 +46,43 @@
<!-- ORDER BY EQPM_ID, GUBUN -->
) B
ORDER BY B.EQPM_ID, B.GUBUN
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
</select>
<select id="selectEnrgUsePlanPageTotal" resultType="camelHashMap">
/* ems.effc.EnrgUsePlan.selectEnrgUsePlanPageTotal: 에너지 사용량 계획 DATA 조회 */
WITH MNTH_DATA AS (
SELECT #{fromDt} || TO_CHAR(LEVEL, 'FM00') AS OBJ_MM, TO_CHAR(LEVEL, 'FM00') AS MNTH
, #{pastDt} || TO_CHAR(LEVEL, 'FM00') AS PAST_OBJ_MM
FROM DUAL
CONNECT BY LEVEL <![CDATA[ < ]]> =12
), EQPM_LIST AS (
SELECT A.COM_ID, A.EQPM_ID, A.EQPM_NM, D.OBJ_MM, D.PAST_OBJ_MM, D.MNTH, 'ROI000001' AS READ_OBJ_ID, A.EQPM_GRP_ID, B.EQPM_GRP_NM, A.ECC_ID, C.ECC_NM
FROM EMS_EQPM_BASE_INFO A
INNER JOIN EMS_EQPM_GRP B ON ( B.COM_ID = A.COM_ID AND B.EQPM_GRP_ID = A.EQPM_GRP_ID )
INNER JOIN EMS_ECC_BASE_INFO C ON ( C.COM_ID = A.COM_ID AND C.ECC_ID = A.ECC_ID )
INNER JOIN MNTH_DATA D ON ( 1=1 )
WHERE A.COM_ID = #{session.comId}
AND A.EQPM_GRP_ID = #{eqpmGrpId}
AND A.ECC_ID IN ( SELECT ECC_ID FROM EMS_ECC_BASE_INFO
START WITH COM_ID = #{session.comId} AND ECC_ID = #{eccId} CONNECT BY PRIOR COM_ID = COM_ID AND PRIOR ECC_ID = UP_ECC_ID )
), PLAN_DATA AS (
SELECT '2PLAN' AS GUBUN, A.ECC_NM, A.EQPM_GRP_ID, A.EQPM_GRP_NM, A.EQPM_ID, A.EQPM_NM, A.MNTH, B.PLAN_VAL AS QTY_VAL, A.READ_OBJ_ID
FROM EQPM_LIST A
LEFT JOIN EMS_EQPM_MM_PLAN B ON ( B.COM_ID = A.COM_ID AND B.EQPM_ID = A.EQPM_ID AND B.READ_OBJ_ID = A.READ_OBJ_ID AND B.OBJ_MM = A.OBJ_MM)
UNION ALL
SELECT '1RSLT' AS GUBUN, A.ECC_NM, A.EQPM_GRP_ID, A.EQPM_GRP_NM, A.EQPM_ID, A.EQPM_NM, A.MNTH, B.TOT_VAL AS QTY_VAL, A.READ_OBJ_ID
FROM EQPM_LIST A
LEFT JOIN EMS_EQPM_MM_TOT_DATA B ON ( B.COM_ID = A.COM_ID AND B.EQPM_ID = A.EQPM_ID AND B.READ_OBJ_ID = A.READ_OBJ_ID AND B.TOT_MM = A.PAST_OBJ_MM)
)
SELECT count(*) totalCount
FROM(
SELECT *
FROM PLAN_DATA
PIVOT ( SUM(QTY_VAL) FOR MNTH IN ('01' AS QTY01, '02' AS QTY02, '03' AS QTY03, '04' AS QTY04, '05' AS QTY05, '06' AS QTY06, '07' AS QTY07, '08' AS QTY08, '09' AS QTY09, '10' AS QTY10, '11' AS QTY11, '12' AS QTY12 ) )
) B
</select>
<!-- <insert id="insertEnrgUsePlanData">
/* ems.effc.EnrgUsePlan.insertEnrgUsePlanData : 에너지사용량 계획 등록 */
INSERT INTO EMS_EQPM_MM_PLAN