<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
	 PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
	 "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
	 
	<!-- 해당 부분의 namespace는 project package + Mapper Package + Mapper Interface 이름입니다. -->
	<mapper namespace="com.elt.ems.mapper.ReportMapper">
	
		<!-- 해당 부분의 id는 MapperClass의 함수 이름과 유사하여야 합니다. -->
		<select id="listMonth" parameterType="com.elt.ems.vo.ReportVo"  resultType="com.elt.ems.vo.ReportVo">
			select 
				p.seq as plantSeq, p.name as plantName, p.supplyPower, min(d.data15) as data15Min, max(d.data15) as data15Max, round(avg(d.data15)) as data15Avg, 
				d.data32, d.data33, 
				min(d.pvPower) as pvPowerMin, max(d.pvPower) as pvPowerMax, round(avg(d.pvPower)) as pvPowerAvg, 
				(select count(seq) from t_timetable_pms t where t.inputDate between #{startDate} and #{endDate} ) as pmsCnt,
				(select count(seq) from t_pmsdata_2020 m where d.plantSeq = m.plantSeq and m.inputDate between #{startDate} and #{endDate} and  (m.data25 &gt; 0 or m.data62 &gt; 0 or m.data63 &gt; 0 or m.data64 &gt; 0 or m.data25 &gt; 0 or m.data62 &gt; 0 or m.data63 &gt; 0 or m.data64 &gt; 0)) as pmsFailCnt,
				(select count(seq) from t_kesco_data k where d.plantSeq = k.plantSeq and k.inputDate between  #{startDate} and #{endDate} ) as kescoCnt,
				(select count(k.seq) from t_kesco_data k where d.plantSeq = k.plantSeq and k.inputDate between #{startDate} and #{endDate} and returnResult &lt;&gt; 'ok' ) as kescoFailCnt
			from t_plant p, t_pmsdata_statistic_day d
			where p.seq = d.plantSeq and inputDate between #{startDate} and #{endDate}
			group by p.seq    
		</select>
		
   	
	</mapper>