add paging api selectEnrgEffcEqpmDetlMntr

This commit is contained in:
Pham Hoang Manh/(Pham Hoang Manh)/현장대리인/SK
2025-08-18 17:26:17 +09:00
parent 772be9bcd9
commit 6862479614
3 changed files with 77 additions and 0 deletions

View File

@ -48,6 +48,14 @@ public class EnrgEffcEqpmDetlMntrCtr {
result.add("eqpmDetlData", enrgEffcEqpmDetlMntrSvc.selectEnrgEffcEqpmDetlMntr(paramMap.getParams()));
return result;
}
@RequestMapping(value="/selectEnrgEffcEqpmDetlMntrPageTotal", method=RequestMethod.POST)
@ResponseBody
public Object selectEnrgEffcEqpmDetlMntrPageTotal(@RequestBody BaseParam paramMap){
BaseResponse result = new BaseResponse();
result.add("eqpmDetlDataPageTotal", enrgEffcEqpmDetlMntrSvc.selectEnrgEffcEqpmDetlMntrPageTotal(paramMap.getParams()));
return result;
}
/**
* @methodName : selectEqpmDetailPop

View File

@ -32,6 +32,10 @@ public class EnrgEffcEqpmDetlMntrSvc extends BaseSvc{
public Object selectEnrgEffcEqpmDetlMntr(HashMap<String, Object> params) {
return dao.selectList("ems.effc.EnrgEffcEqpmDetlMntr.selectEnrgEffcEqpmDetlMntr", params);
}
public Object selectEnrgEffcEqpmDetlMntrPageTotal(HashMap<String, Object> params) {
return dao.selectList("ems.effc.EnrgEffcEqpmDetlMntr.selectEnrgEffcEqpmDetlMntrPageTotal", params);
}
/**
* @methodName : selectEqpmDetailPop

View File

@ -74,6 +74,71 @@
AND OK_FG = #{okFg}
</if>
ORDER BY EQPM_ID, GD_IDX_ID
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
</select>
<select id="selectEnrgEffcEqpmDetlMntrPageTotal" resultType ="camelHashMap">
/* ems.effc.EnrgEffcEqpmDetlMntr : 설비별 운전가이드 - 설비별 현황리스트 조회 */
WITH ECC_INFO AS (
SELECT CONNECT_BY_ROOT ECC_ID AS FAB_ID, CONNECT_BY_ROOT ECC_NM AS FAB_NM, ECC_ID, ECC_NM
FROM EMS_ECC_BASE_INFO
START WITH COM_ID = #{session.comId} AND LOC_KIND = 'LOC_FAC'
CONNECT BY PRIOR COM_ID = COM_ID AND PRIOR ECC_ID = UP_ECC_ID
), EQPM_LIST AS (
SELECT A.COM_ID, A.EQPM_ID, A.EQPM_NM, 'ROI000001' AS READ_OBJ_ID, A.EQPM_GRP_ID, B.EQPM_GRP_NM, A.ECC_ID, FAB_ID, FAB_NM, C.ECC_NM, #{fromDt} AS OBJ_DTTM1, #{toDt} AS OBJ_DTTM2
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
<if test="eqpmKindId != null and eqpmKindId != ''">
AND B.EQPM_KIND_ID = #{eqpmKindId}
</if>
)
INNER JOIN ECC_INFO C ON ( C.ECC_ID = A.ECC_ID )
WHERE A.COM_ID = #{session.comId}
<if test="eqpmGrpId != null and eqpmGrpId != ''">
AND A.EQPM_GRP_ID = #{eqpmGrpId}
</if>
<if test="eqpmId.size()!= 0">
AND A.EQPM_ID IN(
<foreach open="" close="" collection="eqpmId" item="eachRow" separator=",">
#{eachRow}
</foreach>
)
</if>
<if test="fabId != null and fabId !=''">
AND FAB_ID = #{fabId}
</if>
) , RSLT_DATA AS (
SELECT A.EQPM_ID, B.GD_IDX_ID
, MAX(A.FAB_ID) AS FAB_ID
, MAX(A.FAB_NM) AS FAB_NM
, MAX(A.EQPM_GRP_ID) AS EQPM_GRP_ID
, MAX(A.EQPM_GRP_NM) AS EQPM_GRP_NM
, MAX(A.EQPM_NM) AS EQPM_NM
, MAX(B.GD_IDX_NM) AS GD_IDX_NM
, MAX(NVL2(D.EQPM_ID, D.CARE_STND_VAL, B.CARE_STND_VAL)) AS CARE_STND_VAL
, MAX(NVL2(D.EQPM_ID, D.WARN_STND_VAL,B.WARN_STND_VAL)) AS WARN_STND_VAL
, MAX(B.UP_TOT_METH) AS UP_TOT_METH
, CASE B.UP_TOT_METH WHEN 'SUM' THEN SUM(C.TOT_VAL) WHEN 'AVG' THEN SF_GET_NUMBER_TRUNC(AVG(C.TOT_VAL)) WHEN 'MAX' THEN MAX(C.TOT_VAL) WHEN 'MIN' THEN MIN(C.TOT_VAL) END AS TOT_VAL
, MIN(CASE WHEN C.ALRM_KIND IN ( 'WARN', 'CARE') THEN 'NG' WHEN C.ALRM_KIND = 'NORM' THEN 'OK' END) OK_FG
, MAX(B.GD_METH) AS GD_METH
, SUM(CASE WHEN C.ALRM_KIND IN ( 'WARN', 'CARE') THEN 1 END) NG_CNT
FROM EQPM_LIST A
INNER JOIN EMS_EQPM_GD_IDX B ON ( B.COM_ID = A.COM_ID AND B.EQPM_GRP_ID = A.EQPM_GRP_ID )
LEFT JOIN EMS_GD_IDX_TOT_DATA C ON ( C.COM_ID = A.COM_ID AND C.EQPM_ID = A.EQPM_ID AND C.GD_IDX_ID = B.GD_IDX_ID
AND C.TOT_DTTM >= to_date(A.OBJ_DTTM1, 'yyyymmdd') AND C.TOT_DTTM <![CDATA[ < ]]>(to_date(A.OBJ_DTTM2, 'yyyymmdd') + 1 ))
LEFT OUTER JOIN EMS_EQPM_GD_DETL D ON ( D.COM_ID = B.COM_ID AND D.GD_IDX_ID = B.GD_IDX_ID AND D.EQPM_ID = A.EQPM_ID )
WHERE 1=1
<if test="gdIdxId != null and gdIdxId !=''">
AND B.GD_IDX_ID = #{gdIdxId}
</if>
GROUP BY A.EQPM_ID, B.GD_IDX_ID, B.UP_TOT_METH
)
SELECT count(*) totalCount FROM RSLT_DATA
WHERE 1=1
<if test="okFg != null and okFg !=''">
AND OK_FG = #{okFg}
</if>
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
</select>
<select id="selectEqpmDetailPop" resultType="camelHashMap">