Compare commits
11 Commits
Author | SHA1 | Date | |
---|---|---|---|
a3e66dfb94 | |||
9c37d8dbe6 | |||
6862479614 | |||
772be9bcd9 | |||
9f75e6accc | |||
d0c164ab8e | |||
59dff37615 | |||
afd3ccfd1e | |||
837ff7cc84 | |||
72bdec3ccd | |||
cc4ec791d1 |
4
pom.xml
4
pom.xml
@ -204,12 +204,12 @@
|
|||||||
<url>file://D:\Temp\prj\maven\repository\com\machbase\6.1.11</url>
|
<url>file://D:\Temp\prj\maven\repository\com\machbase\6.1.11</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories -->
|
</repositories -->
|
||||||
<repositories>
|
<!-- <repositories>
|
||||||
<repository>
|
<repository>
|
||||||
<id>nexus</id>
|
<id>nexus</id>
|
||||||
<name>siltronchnMaven</name>
|
<name>siltronchnMaven</name>
|
||||||
<url>http://192.168.0.97:4000/repository/siltronchnMaven/</url>
|
<url>http://192.168.0.97:4000/repository/siltronchnMaven/</url>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories> -->
|
||||||
|
|
||||||
</project>
|
</project>
|
||||||
|
@ -206,4 +206,12 @@ public class DashboardCtr {
|
|||||||
result.add("issueGdIdxData",dashboardSvc.selectIssueGdIdxData(paramMap.getParams()));
|
result.add("issueGdIdxData",dashboardSvc.selectIssueGdIdxData(paramMap.getParams()));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value="/selectIssueGdIdxDataPageTotal", method=RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public Object selectIssueGdIdxDataPageTotal(@RequestBody BaseParam paramMap){
|
||||||
|
BaseResponse result = new BaseResponse();
|
||||||
|
result.add("issueGdIdxDataPageTotal",dashboardSvc.selectIssueGdIdxDataPageTotal(paramMap.getParams()));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,4 +52,13 @@ public class PastRsltDataReadCtr{
|
|||||||
result.add("pastRsltReadData", pastRsltDataReadSvc.selectTagRawDataByQuarter(convertedParam));
|
result.add("pastRsltReadData", pastRsltDataReadSvc.selectTagRawDataByQuarter(convertedParam));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value="/selectTagRawDataByQuarterPageTotal", method=RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public Object selectTagRawDataByQuarterPageTotal(@RequestBody BaseParam paramMap){
|
||||||
|
BaseResponse result = new BaseResponse();
|
||||||
|
HashMap<String, Object> convertedParam = paramMap.getParams();
|
||||||
|
result.add("pastRslPageTotal", pastRsltDataReadSvc.selectTagRawDataByQuarterPageTotal(convertedParam));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
}
|
}
|
@ -67,6 +67,15 @@ public class ReadResultCloseMngCtr{
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value="/selectReadResultCloseMngPageTotal", method=RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public Object selectReadResultCloseMngPageTotal(@RequestBody BaseParam paramMap){
|
||||||
|
BaseResponse result = new BaseResponse();
|
||||||
|
result.add("cdKindPageTotal", readResultCloseMngSvc.selectReadResultCloseMngPageTotal(paramMap.getParams()));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @methodName : readResultCloseMngSP
|
* @methodName : readResultCloseMngSP
|
||||||
* @date : 2021.06.07
|
* @date : 2021.06.07
|
||||||
|
@ -98,4 +98,8 @@ public class DashboardSvc extends BaseSvc {
|
|||||||
public List<CamelHashMap> selectIssueGdIdxData(HashMap<String, Object> param){
|
public List<CamelHashMap> selectIssueGdIdxData(HashMap<String, Object> param){
|
||||||
return dao.selectList("ems.base.dashboard.selectIssueGdIdxData", param);
|
return dao.selectList("ems.base.dashboard.selectIssueGdIdxData", param);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<CamelHashMap> selectIssueGdIdxDataPageTotal(HashMap<String, Object> param){
|
||||||
|
return dao.selectList("ems.base.dashboard.selectIssueGdIdxDataPageTotal", param);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -48,4 +48,17 @@ public class PastRsltDataReadSvc extends BaseSvc {
|
|||||||
//sql 인젝션 대비 yearQuarterList params 새로 구성----끝
|
//sql 인젝션 대비 yearQuarterList params 새로 구성----끝
|
||||||
return dao.selectList("ems.base.PastRsltDataRead.selectTagRawDataByQuarter", params);
|
return dao.selectList("ems.base.PastRsltDataRead.selectTagRawDataByQuarter", params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object selectTagRawDataByQuarterPageTotal(HashMap<String, Object> params) {
|
||||||
|
//sql 인젝션 대비 yearQuarterList params 새로 구성----시작
|
||||||
|
List<String> newYearQuarterList = new ArrayList<>();
|
||||||
|
for(String word: (List<String>)params.get("yearQuarterList")) {
|
||||||
|
if(word.length() == 7 && word.substring(4, 5).equals("Y") && word.substring(6).equals("Q")) {
|
||||||
|
newYearQuarterList.add(word);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
params.put("newYearQuarterList", newYearQuarterList);
|
||||||
|
//sql 인젝션 대비 yearQuarterList params 새로 구성----끝
|
||||||
|
return dao.selectList("ems.base.PastRsltDataRead.selectTagRawDataByQuarterPageTotal", params);
|
||||||
|
}
|
||||||
}
|
}
|
@ -48,6 +48,10 @@ public class ReadResultCloseMngSvc extends BaseSvc {
|
|||||||
return dao.selectList("ems.base.readResultCloseMng.selectReadResultCloseMng", params);
|
return dao.selectList("ems.base.readResultCloseMng.selectReadResultCloseMng", params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object selectReadResultCloseMngPageTotal(HashMap<String, Object> params) {
|
||||||
|
return dao.selectList("ems.base.readResultCloseMng.selectReadResultCloseMngPageTotal", params);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @methodName : readResultCloseMngSP
|
* @methodName : readResultCloseMngSP
|
||||||
* @date : 2021.06.07
|
* @date : 2021.06.07
|
||||||
|
@ -49,6 +49,14 @@ public class EnrgEffcEqpmDetlMntrCtr {
|
|||||||
return result;
|
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
|
* @methodName : selectEqpmDetailPop
|
||||||
* @date : 2022-12-02
|
* @date : 2022-12-02
|
||||||
|
@ -51,6 +51,15 @@ public class EnrgUsePlanCtr {
|
|||||||
result.add("enrgUsePlanDatas",enrgUsePlanSvc.selectEnrgUsePlanData(paramMap.getParams()));
|
result.add("enrgUsePlanDatas",enrgUsePlanSvc.selectEnrgUsePlanData(paramMap.getParams()));
|
||||||
return result;
|
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
|
* @methodName : saveEmsEqpmMmPlanDatas
|
||||||
* @date : 2022.12.05
|
* @date : 2022.12.05
|
||||||
|
@ -46,6 +46,14 @@ public class EqpmIndMntrCtr {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value="/selectDailyEnrgUseMainIdxPageTotal", method=RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public Object selectDailyEnrgUseMainIdxPageTotal(@RequestBody BaseParam paramMap){
|
||||||
|
BaseResponse result = new BaseResponse();
|
||||||
|
result.add("eqpmIndMntrPageTotal", eqpmIndMntrSvc.selectDailyEnrgUseMainIdxPageTotal(paramMap.getParams()));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @methodName : selectMonthlyEnrgUseMainIdx
|
* @methodName : selectMonthlyEnrgUseMainIdx
|
||||||
* @date : 2022.12.05
|
* @date : 2022.12.05
|
||||||
@ -61,4 +69,13 @@ public class EqpmIndMntrCtr {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value="/selectMonthlyEnrgUseMainIdxPageTotal", method=RequestMethod.POST)
|
||||||
|
@ResponseBody
|
||||||
|
public Object selectMonthlyEnrgUseMainIdxPageTotal(@RequestBody BaseParam paramMap){
|
||||||
|
BaseResponse result = new BaseResponse();
|
||||||
|
result.add("eqpmIndMntrPageTotal", eqpmIndMntrSvc.selectMonthlyEnrgUseMainIdxPageTotal(paramMap.getParams()));
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@ public class TagTrndCtr {
|
|||||||
result.add("tagTrndDatas",tagTrndSvc.selectTagAndEqpmList(paramMap.getParams()));
|
result.add("tagTrndDatas",tagTrndSvc.selectTagAndEqpmList(paramMap.getParams()));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @methodName : selectTagTrndData
|
* @methodName : selectTagTrndData
|
||||||
* @date : 2022.12.13
|
* @date : 2022.12.13
|
||||||
|
@ -33,6 +33,10 @@ public class EnrgEffcEqpmDetlMntrSvc extends BaseSvc{
|
|||||||
return dao.selectList("ems.effc.EnrgEffcEqpmDetlMntr.selectEnrgEffcEqpmDetlMntr", 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
|
* @methodName : selectEqpmDetailPop
|
||||||
* @date : 2022.12.02
|
* @date : 2022.12.02
|
||||||
|
@ -38,6 +38,11 @@ public class EnrgUsePlanSvc extends BaseSvc{
|
|||||||
public Object selectEnrgUsePlanData(HashMap<String, Object> params) {
|
public Object selectEnrgUsePlanData(HashMap<String, Object> params) {
|
||||||
return dao.selectList("ems.effc.EnrgUsePlan.selectEnrgUsePlanData", 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
|
* @methodName : saveEmsEqpmMmPlanDatas
|
||||||
* @date : 2022.12.05
|
* @date : 2022.12.05
|
||||||
|
@ -31,6 +31,10 @@ public class EqpmIndMntrSvc extends BaseSvc{
|
|||||||
return dao.selectList("ems.effc.eqpmIndMntr.selectDailyEnrgUseMainIdx", params);
|
return dao.selectList("ems.effc.eqpmIndMntr.selectDailyEnrgUseMainIdx", params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object selectDailyEnrgUseMainIdxPageTotal(HashMap<String, Object> params) {
|
||||||
|
return dao.selectList("ems.effc.eqpmIndMntr.selectDailyEnrgUseMainIdxPageTotal", params);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @methodName : selectMonthlyEnrgUseMainIdx
|
* @methodName : selectMonthlyEnrgUseMainIdx
|
||||||
* @date : 2022.12.05
|
* @date : 2022.12.05
|
||||||
@ -41,4 +45,8 @@ public class EqpmIndMntrSvc extends BaseSvc{
|
|||||||
public Object selectMonthlyEnrgUseMainIdx(HashMap<String, Object> params) {
|
public Object selectMonthlyEnrgUseMainIdx(HashMap<String, Object> params) {
|
||||||
return dao.selectList("ems.effc.eqpmIndMntr.selectMonthlyEnrgUseMainIdx", params);
|
return dao.selectList("ems.effc.eqpmIndMntr.selectMonthlyEnrgUseMainIdx", params);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Object selectMonthlyEnrgUseMainIdxPageTotal(HashMap<String, Object> params) {
|
||||||
|
return dao.selectList("ems.effc.eqpmIndMntr.selectMonthlyEnrgUseMainIdxPageTotal", params);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,10 +18,10 @@ spring:
|
|||||||
|
|
||||||
#local db
|
#local db
|
||||||
db-type: oracle
|
db-type: oracle
|
||||||
serverIp: localhost
|
serverIp: 218.237.212.51
|
||||||
port: 1521
|
port: 30001
|
||||||
databaseName: free
|
databaseName: free
|
||||||
username: LSITC
|
username: lsitc
|
||||||
password: "ziin2117!"
|
password: "ziin2117!"
|
||||||
|
|
||||||
|
|
||||||
|
@ -204,6 +204,35 @@
|
|||||||
AND A.ALRM_KIND IN ( 'WARN', 'CARE')
|
AND A.ALRM_KIND IN ( 'WARN', 'CARE')
|
||||||
ORDER BY A.TOT_DTTM, B.SORT_SEQ, A.GD_IDX_ID, A.EQPM_ID
|
ORDER BY A.TOT_DTTM, B.SORT_SEQ, A.GD_IDX_ID, A.EQPM_ID
|
||||||
)T1
|
)T1
|
||||||
|
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectIssueGdIdxDataPageTotal" resultType="camelHashMap">
|
||||||
|
/* ems.base.dashboard.selectIssueGdIdxDataPageTotal 대시보드_설비별 이슈 가이드 지표 조회 */
|
||||||
|
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, A.EQPM_GRP_ID, B.EQPM_GRP_NM, A.ECC_ID, FAB_ID, FAB_NM, C.ECC_NM, B.EQPM_KIND_ID
|
||||||
|
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 ECC_INFO C ON ( C.ECC_ID = A.ECC_ID )
|
||||||
|
WHERE A.COM_ID = #{session.comId}
|
||||||
|
)
|
||||||
|
SELECT count(*) totalCount
|
||||||
|
FROM (
|
||||||
|
SELECT A.GD_IDX_ID, B.GD_IDX_NM, A.TOT_DTTM, A.TOT_DTTM AS TOT_TIME, A.TOT_VAL, A.CARE_STND_VAL, A.WARN_STND_VAL, A.ALRM_KIND, A.ALRM_MSG, A.EQPM_ID, C.EQPM_NM, C.EQPM_GRP_ID, C.EQPM_GRP_NM, C.ECC_ID, C.FAB_ID, C.FAB_NM, B.SORT_SEQ, C.EQPM_KIND_ID, D.EQPM_KIND_NM
|
||||||
|
FROM EMS_GD_IDX_TOT_DATA A
|
||||||
|
INNER JOIN EMS_EQPM_GD_IDX B ON ( B.COM_ID = A.COM_ID AND B.GD_IDX_ID = A.GD_IDX_ID )
|
||||||
|
INNER JOIN EQPM_LIST C ON ( C.COM_ID = A.COM_ID AND C.EQPM_ID = A.EQPM_ID )
|
||||||
|
INNER JOIN EMS_EQPM_KIND D ON ( D.EQPM_KIND_ID = C.EQPM_KIND_ID)
|
||||||
|
WHERE A.COM_ID = #{session.comId}
|
||||||
|
AND A.TOT_DTTM >= trunc(sysdate) AND A.TOT_DTTM <![CDATA[ < ]]> trunc(sysdate) + 1
|
||||||
|
AND A.ALRM_KIND IN ( 'WARN', 'CARE')
|
||||||
|
ORDER BY A.TOT_DTTM, B.SORT_SEQ, A.GD_IDX_ID, A.EQPM_ID
|
||||||
|
)T1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</mapper>
|
</mapper>
|
@ -11,5 +11,17 @@
|
|||||||
AND A.READ_DTTM BETWEEN TO_DATE(CONCAT(#{fromDt},'000000'), 'YYYYMMDDHH24MISS')
|
AND A.READ_DTTM BETWEEN TO_DATE(CONCAT(#{fromDt},'000000'), 'YYYYMMDDHH24MISS')
|
||||||
AND TO_DATE(CONCAT(#{toDt},'235959'), 'YYYYMMDDHH24MISS')
|
AND TO_DATE(CONCAT(#{toDt},'235959'), 'YYYYMMDDHH24MISS')
|
||||||
ORDER BY TAG_ID, READ_DTTM
|
ORDER BY TAG_ID, READ_DTTM
|
||||||
|
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectTagRawDataByQuarterPageTotal" resultType="camelHashMap">
|
||||||
|
SELECT count(*) totalCount
|
||||||
|
FROM EMS_TAG_READ_RAW_DATA A
|
||||||
|
LEFT JOIN EMS_TAG_BASE_INFO B
|
||||||
|
ON A.COM_ID = B.COM_ID AND A.TAG_ID = B.TAG_ID
|
||||||
|
WHERE A.COM_ID = #{session.comId}
|
||||||
|
AND A.TAG_ID = #{tagId}
|
||||||
|
AND A.READ_DTTM BETWEEN TO_DATE(CONCAT(#{fromDt},'000000'), 'YYYYMMDDHH24MISS')
|
||||||
|
AND TO_DATE(CONCAT(#{toDt},'235959'), 'YYYYMMDDHH24MISS')
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
@ -46,7 +46,45 @@
|
|||||||
, EI.DIST_RT
|
, EI.DIST_RT
|
||||||
, T.READ_DATA_TYPE_CD
|
, T.READ_DATA_TYPE_CD
|
||||||
ORDER BY T.TAG_ID
|
ORDER BY T.TAG_ID
|
||||||
|
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectReadResultCloseMngPageTotal" resultType="camelHashMap">
|
||||||
|
SELECT count(*) totalCount
|
||||||
|
FROM (
|
||||||
|
SELECT T.TAG_ID AS READ_PLC_ID
|
||||||
|
, T.TAG_NM AS READ_PLC_NM
|
||||||
|
, T.MGNF AS DIST_RT
|
||||||
|
, EI.EQPM_ID AS ECC_ID
|
||||||
|
, E.EQPM_NM AS ECC_NM
|
||||||
|
, EI.DIST_RT AS ECC_DIST_RT
|
||||||
|
, CASE WHEN T.READ_DATA_TYPE_CD = 'ADDUP' THEN ROUND(SUM(D.TOT_VAL),2)
|
||||||
|
WHEN T.READ_DATA_TYPE_CD = 'SUM' THEN ROUND(SUM(D.TOT_VAL),2)
|
||||||
|
WHEN T.READ_DATA_TYPE_CD = 'MIN' THEN ROUND(MIN(D.TOT_VAL),2)
|
||||||
|
WHEN T.READ_DATA_TYPE_CD = 'MAX' THEN ROUND(MAX(D.TOT_VAL),2)
|
||||||
|
WHEN T.READ_DATA_TYPE_CD = 'INSTANT' THEN ROUND(AVG(D.TOT_VAL),2) END AS TOT_VAL
|
||||||
|
, MAX(D.PROC_DTTM) AS PROC_DTTM
|
||||||
|
FROM EMS_TAG_BASE_INFO T
|
||||||
|
LEFT JOIN EMS_EQPM_IAO EI
|
||||||
|
ON T.COM_ID = EI.COM_ID AND T.TAG_ID = EI.OBJ_ID
|
||||||
|
LEFT JOIN EMS_EQPM_BASE_INFO E
|
||||||
|
ON EI.COM_ID = E.COM_ID AND EI.EQPM_ID = E.EQPM_ID AND E.USE_FG = '1'
|
||||||
|
LEFT JOIN EMS_TAG_TOT_DATA D
|
||||||
|
ON D.COM_ID = T.COM_ID AND D.TAG_ID = T.TAG_ID
|
||||||
|
AND D.TOT_DTTM BETWEEN TO_DATE(CONCAT(#{readDt},'000000'), 'yyyyMMddHH24miss') and TO_DATE(CONCAT(#{readDt},'235959'), 'yyyyMMddHH24miss')
|
||||||
|
WHERE T.COM_ID = #{session.comId}
|
||||||
|
AND T.USE_FG = '1'
|
||||||
|
AND T.READ_OBJ_ID = #{mttTp}
|
||||||
|
GROUP BY T.TAG_ID
|
||||||
|
, T.TAG_NM
|
||||||
|
, T.MGNF
|
||||||
|
, EI.EQPM_ID
|
||||||
|
, E.EQPM_NM
|
||||||
|
, EI.DIST_RT
|
||||||
|
, T.READ_DATA_TYPE_CD
|
||||||
|
)
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="selectReadResultCloseMng_OLD" resultType="camelHashMap">
|
<select id="selectReadResultCloseMng_OLD" resultType="camelHashMap">
|
||||||
/* ems.readResultCloseMng.selectReadResultCloseMng 검침실적마감 관리 일일검침 정보 쿼리 */
|
/* ems.readResultCloseMng.selectReadResultCloseMng 검침실적마감 관리 일일검침 정보 쿼리 */
|
||||||
SELECT READ_PLC_ID , READ_PLC_NM , DIST_RT, ECC_ID , ECC_NM, ECC_DIST_RT, CASE WHEN AVG_TOT_VAL IS NOT NULL THEN AVG_TOT_VAL ELSE SUM_TOT_VAL END AS TOT_VAL, PROC_DTTM FROM (
|
SELECT READ_PLC_ID , READ_PLC_NM , DIST_RT, ECC_ID , ECC_NM, ECC_DIST_RT, CASE WHEN AVG_TOT_VAL IS NOT NULL THEN AVG_TOT_VAL ELSE SUM_TOT_VAL END AS TOT_VAL, PROC_DTTM FROM (
|
||||||
|
@ -136,6 +136,9 @@
|
|||||||
<if test="tagNmLike != null and tagNmLike != ''">
|
<if test="tagNmLike != null and tagNmLike != ''">
|
||||||
AND TAG_NM LIKE '%' || #{tagNmLike} || '%'
|
AND TAG_NM LIKE '%' || #{tagNmLike} || '%'
|
||||||
</if>
|
</if>
|
||||||
|
<if test="tagIdLike != null and tagIdLike != ''">
|
||||||
|
AND TAG_ID LIKE '%' || #{tagIdLike} || '%'
|
||||||
|
</if>
|
||||||
<if test="readDataTypeCd != null and readDataTypeCd != ''">
|
<if test="readDataTypeCd != null and readDataTypeCd != ''">
|
||||||
AND READ_DATA_TYPE_CD = #{readDataTypeCd}
|
AND READ_DATA_TYPE_CD = #{readDataTypeCd}
|
||||||
</if>
|
</if>
|
||||||
|
@ -74,6 +74,70 @@
|
|||||||
AND OK_FG = #{okFg}
|
AND OK_FG = #{okFg}
|
||||||
</if>
|
</if>
|
||||||
ORDER BY EQPM_ID, GD_IDX_ID
|
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>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectEqpmDetailPop" resultType="camelHashMap">
|
<select id="selectEqpmDetailPop" resultType="camelHashMap">
|
||||||
|
@ -46,7 +46,43 @@
|
|||||||
<!-- ORDER BY EQPM_ID, GUBUN -->
|
<!-- ORDER BY EQPM_ID, GUBUN -->
|
||||||
) B
|
) B
|
||||||
ORDER BY B.EQPM_ID, B.GUBUN
|
ORDER BY B.EQPM_ID, B.GUBUN
|
||||||
|
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||||
</select>
|
</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">
|
<!-- <insert id="insertEnrgUsePlanData">
|
||||||
/* ems.effc.EnrgUsePlan.insertEnrgUsePlanData : 에너지사용량 계획 등록 */
|
/* ems.effc.EnrgUsePlan.insertEnrgUsePlanData : 에너지사용량 계획 등록 */
|
||||||
INSERT INTO EMS_EQPM_MM_PLAN
|
INSERT INTO EMS_EQPM_MM_PLAN
|
||||||
|
@ -210,6 +210,168 @@
|
|||||||
( B.EQPM_ID = A.EQPM_ID )
|
( B.EQPM_ID = A.EQPM_ID )
|
||||||
ORDER BY
|
ORDER BY
|
||||||
A.EQPM_NM
|
A.EQPM_NM
|
||||||
|
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectDailyEnrgUseMainIdxPageTotal" resultType="camelHashMap">
|
||||||
|
/* ems.effc.eqpmIndMntr.selectDailyEnrgUseMainIdxPageTotal: 에너지 일별 주요 지표 */
|
||||||
|
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'
|
||||||
|
AND ECC_ID = #{fabId}
|
||||||
|
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_DT,
|
||||||
|
#{fromDtMm} AS OBJ_MM
|
||||||
|
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 ECC_INFO C ON
|
||||||
|
( C.ECC_ID = A.ECC_ID )
|
||||||
|
WHERE
|
||||||
|
A.COM_ID = #{session.comId}
|
||||||
|
AND B.EQPM_KIND_ID = #{eqpmKindId}
|
||||||
|
AND B.EQPM_GRP_ID = #{eqpmGrpId}
|
||||||
|
),
|
||||||
|
EQPM_RSLT_DATA AS (
|
||||||
|
SELECT
|
||||||
|
A.COM_ID,
|
||||||
|
A.EQPM_ID,
|
||||||
|
A.EQPM_NM,
|
||||||
|
A.READ_OBJ_ID,
|
||||||
|
A.EQPM_GRP_ID,
|
||||||
|
A.EQPM_GRP_NM,
|
||||||
|
A.ECC_ID,
|
||||||
|
A.FAB_ID,
|
||||||
|
FAB_NM,
|
||||||
|
A.ECC_NM
|
||||||
|
,
|
||||||
|
round(B.PLAN_VAL / to_number(to_char(LAST_DAY(to_date(A.OBJ_DT, 'yyyymmdd')), 'DD')), 0) AS PLAN_VAL,
|
||||||
|
( SELECT SUM(C.TOT_VAL) FROM EMS_EQPM_TOT_DATA C
|
||||||
|
WHERE C.COM_ID = A.COM_ID
|
||||||
|
AND C.EQPM_ID = A.EQPM_ID
|
||||||
|
AND C.READ_OBJ_ID = A.READ_OBJ_ID
|
||||||
|
AND C.TOT_DTTM <![CDATA[ >= ]]> to_date(A.OBJ_DT, 'yyyymmdd')
|
||||||
|
AND C.TOT_DTTM <![CDATA[ < ]]> (to_date(A.OBJ_DT, 'yyyymmdd') + 1)) AS USED_VAL
|
||||||
|
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)
|
||||||
|
),
|
||||||
|
GD_LIST AS (
|
||||||
|
SELECT
|
||||||
|
COM_ID,
|
||||||
|
GD_IDX_ID,
|
||||||
|
GD_IDX_NM,
|
||||||
|
UP_TOT_METH,
|
||||||
|
EQPM_GRP_ID,
|
||||||
|
'GD' || trim(TO_CHAR(ROW_SEQ, '00')) AS GD_SEQ,
|
||||||
|
ROW_SEQ
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
COM_ID,
|
||||||
|
GD_IDX_ID,
|
||||||
|
GD_IDX_NM,
|
||||||
|
EQPM_GRP_ID,
|
||||||
|
UP_TOT_METH,
|
||||||
|
SORT_SEQ,
|
||||||
|
ROW_NUMBER() OVER (
|
||||||
|
ORDER BY SORT_SEQ,
|
||||||
|
GD_IDX_ID) AS ROW_SEQ
|
||||||
|
FROM
|
||||||
|
EMS_EQPM_GD_IDX
|
||||||
|
WHERE
|
||||||
|
COM_ID = #{session.comId}
|
||||||
|
AND EQPM_GRP_ID = #{eqpmGrpId}
|
||||||
|
)
|
||||||
|
WHERE
|
||||||
|
ROW_SEQ <![CDATA[ <= ]]> 10
|
||||||
|
),
|
||||||
|
EQPM_GD_DATA AS (
|
||||||
|
SELECT
|
||||||
|
EQPM_ID,
|
||||||
|
GD01,
|
||||||
|
GD02,
|
||||||
|
GD03,
|
||||||
|
GD04,
|
||||||
|
GD05,
|
||||||
|
GD06,
|
||||||
|
GD07,
|
||||||
|
GD08,
|
||||||
|
GD09,
|
||||||
|
GD10
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
B.EQPM_ID,
|
||||||
|
MAX(GD_SEQ) AS GD_SEQ
|
||||||
|
,
|
||||||
|
CASE
|
||||||
|
A.UP_TOT_METH WHEN 'SUM' THEN SUM(C.TOT_VAL)
|
||||||
|
WHEN 'AVG' THEN AVG(C.TOT_VAL)
|
||||||
|
WHEN 'MAX' THEN MAX(C.TOT_VAL)
|
||||||
|
WHEN 'MIN' THEN MIN(C.TOT_VAL)
|
||||||
|
END AS TOT_VAL
|
||||||
|
FROM
|
||||||
|
GD_LIST A
|
||||||
|
INNER JOIN EQPM_LIST B ON
|
||||||
|
(B.COM_ID = A.COM_ID
|
||||||
|
AND B.EQPM_GRP_ID = A.EQPM_GRP_ID)
|
||||||
|
LEFT JOIN EMS_GD_IDX_DD_DATA C ON
|
||||||
|
(C.COM_ID = B.COM_ID
|
||||||
|
AND C.EQPM_ID = B.EQPM_ID
|
||||||
|
AND C.GD_IDX_ID = A.GD_IDX_ID
|
||||||
|
AND C.TOT_DTTM <![CDATA[ >= ]]> to_date(B.OBJ_DT, 'yyyymmdd')
|
||||||
|
AND C.TOT_DTTM <![CDATA[ < ]]> (to_date(B.OBJ_DT, 'yyyymmdd') + 1) )
|
||||||
|
GROUP BY
|
||||||
|
B.EQPM_ID,
|
||||||
|
A.GD_IDX_ID,
|
||||||
|
A.UP_TOT_METH )
|
||||||
|
PIVOT ( SUM(TOT_VAL) FOR GD_SEQ IN ('GD01' AS GD01,
|
||||||
|
'GD02' AS GD02,
|
||||||
|
'GD03' AS GD03,
|
||||||
|
'GD04' AS GD04,
|
||||||
|
'GD05' AS GD05,
|
||||||
|
'GD06' AS GD06,
|
||||||
|
'GD07' AS GD07,
|
||||||
|
'GD08' AS GD08,
|
||||||
|
'GD09' AS GD09,
|
||||||
|
'GD10' AS GD10 ) )
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
count(*) totalCount
|
||||||
|
FROM
|
||||||
|
EQPM_RSLT_DATA A
|
||||||
|
INNER JOIN EQPM_GD_DATA B ON
|
||||||
|
( B.EQPM_ID = A.EQPM_ID )
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectMonthlyEnrgUseMainIdx" resultType="camelHashMap">
|
<select id="selectMonthlyEnrgUseMainIdx" resultType="camelHashMap">
|
||||||
@ -395,5 +557,165 @@
|
|||||||
( B.EQPM_ID = A.EQPM_ID )
|
( B.EQPM_ID = A.EQPM_ID )
|
||||||
ORDER BY
|
ORDER BY
|
||||||
A.EQPM_NM
|
A.EQPM_NM
|
||||||
|
OFFSET #{offset} ROWS FETCH NEXT #{limit} ROWS ONLY
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectMonthlyEnrgUseMainIdxPageTotal" resultType="camelHashMap">
|
||||||
|
/* ems.effc.eqpmIndMntr.selectMonthlyEnrgUseMainIdxPageTotal: 에너지 월별 주요 지표 */
|
||||||
|
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'
|
||||||
|
AND ECC_ID = #{fabId}
|
||||||
|
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_MM
|
||||||
|
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 ECC_INFO C ON
|
||||||
|
( C.ECC_ID = A.ECC_ID )
|
||||||
|
WHERE
|
||||||
|
A.COM_ID = #{session.comId}
|
||||||
|
AND B.EQPM_KIND_ID = #{eqpmKindId}
|
||||||
|
AND B.EQPM_GRP_ID = #{eqpmGrpId}
|
||||||
|
),
|
||||||
|
EQPM_RSLT_DATA AS (
|
||||||
|
SELECT
|
||||||
|
A.COM_ID,
|
||||||
|
A.EQPM_ID,
|
||||||
|
A.EQPM_NM,
|
||||||
|
A.READ_OBJ_ID,
|
||||||
|
A.EQPM_GRP_ID,
|
||||||
|
A.EQPM_GRP_NM,
|
||||||
|
A.ECC_ID,
|
||||||
|
A.FAB_ID,
|
||||||
|
FAB_NM,
|
||||||
|
A.ECC_NM,
|
||||||
|
B.PLAN_VAL AS PLAN_VAL,
|
||||||
|
C.TOT_VAL AS USED_VAL
|
||||||
|
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)
|
||||||
|
LEFT JOIN EMS_EQPM_MM_TOT_DATA C ON
|
||||||
|
( C.COM_ID = A.COM_ID
|
||||||
|
AND C.EQPM_ID = A.EQPM_ID
|
||||||
|
AND C.READ_OBJ_ID = A.READ_OBJ_ID
|
||||||
|
AND C.TOT_MM = A.OBJ_MM)
|
||||||
|
),
|
||||||
|
GD_LIST AS (
|
||||||
|
SELECT
|
||||||
|
COM_ID,
|
||||||
|
GD_IDX_ID,
|
||||||
|
GD_IDX_NM,
|
||||||
|
UP_TOT_METH,
|
||||||
|
EQPM_GRP_ID,
|
||||||
|
'GD' || trim(TO_CHAR(ROW_SEQ, '00')) AS GD_SEQ,
|
||||||
|
ROW_SEQ
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
COM_ID,
|
||||||
|
GD_IDX_ID,
|
||||||
|
GD_IDX_NM,
|
||||||
|
EQPM_GRP_ID,
|
||||||
|
UP_TOT_METH,
|
||||||
|
SORT_SEQ,
|
||||||
|
ROW_NUMBER() OVER (
|
||||||
|
ORDER BY SORT_SEQ,
|
||||||
|
GD_IDX_ID) AS ROW_SEQ
|
||||||
|
FROM
|
||||||
|
EMS_EQPM_GD_IDX
|
||||||
|
WHERE
|
||||||
|
COM_ID = #{session.comId}
|
||||||
|
AND EQPM_GRP_ID = #{eqpmGrpId}
|
||||||
|
)
|
||||||
|
WHERE
|
||||||
|
ROW_SEQ <![CDATA[ <= ]]> 10
|
||||||
|
),
|
||||||
|
EQPM_GD_DATA AS (
|
||||||
|
SELECT
|
||||||
|
EQPM_ID,
|
||||||
|
GD01,
|
||||||
|
GD02,
|
||||||
|
GD03,
|
||||||
|
GD04,
|
||||||
|
GD05,
|
||||||
|
GD06,
|
||||||
|
GD07,
|
||||||
|
GD08,
|
||||||
|
GD09,
|
||||||
|
GD10
|
||||||
|
FROM
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
B.EQPM_ID,
|
||||||
|
MAX(GD_SEQ) AS GD_SEQ
|
||||||
|
,
|
||||||
|
CASE
|
||||||
|
A.UP_TOT_METH WHEN 'SUM' THEN SUM(C.TOT_VAL)
|
||||||
|
WHEN 'AVG' THEN AVG(C.TOT_VAL)
|
||||||
|
WHEN 'MAX' THEN MAX(C.TOT_VAL)
|
||||||
|
WHEN 'MIN' THEN MIN(C.TOT_VAL)
|
||||||
|
END AS TOT_VAL
|
||||||
|
FROM
|
||||||
|
GD_LIST A
|
||||||
|
INNER JOIN EQPM_LIST B ON
|
||||||
|
(B.COM_ID = A.COM_ID
|
||||||
|
AND B.EQPM_GRP_ID = A.EQPM_GRP_ID)
|
||||||
|
LEFT JOIN EMS_GD_IDX_DD_DATA C ON
|
||||||
|
(C.COM_ID = B.COM_ID
|
||||||
|
AND C.EQPM_ID = B.EQPM_ID
|
||||||
|
AND C.GD_IDX_ID = A.GD_IDX_ID
|
||||||
|
AND C.TOT_DTTM >= to_date(B.OBJ_MM, 'yyyymm')
|
||||||
|
AND C.TOT_DTTM <![CDATA[ < ]]> ADD_MONTHS(to_date(B.OBJ_MM, 'yyyymm'), 1) )
|
||||||
|
GROUP BY
|
||||||
|
B.EQPM_ID,
|
||||||
|
A.GD_IDX_ID,
|
||||||
|
A.UP_TOT_METH )
|
||||||
|
PIVOT ( SUM(TOT_VAL) FOR GD_SEQ IN ('GD01' AS GD01,
|
||||||
|
'GD02' AS GD02,
|
||||||
|
'GD03' AS GD03,
|
||||||
|
'GD04' AS GD04,
|
||||||
|
'GD05' AS GD05,
|
||||||
|
'GD06' AS GD06,
|
||||||
|
'GD07' AS GD07,
|
||||||
|
'GD08' AS GD08,
|
||||||
|
'GD09' AS GD09,
|
||||||
|
'GD10' AS GD10 ) )
|
||||||
|
)
|
||||||
|
SELECT
|
||||||
|
count(*) totalCount
|
||||||
|
FROM
|
||||||
|
EQPM_RSLT_DATA A
|
||||||
|
INNER JOIN EQPM_GD_DATA B ON
|
||||||
|
( B.EQPM_ID = A.EQPM_ID )
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
Reference in New Issue
Block a user