<?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.PmsMapper">
	
	    <select id="selectList"  parameterType="com.elt.ems.vo.PmsVo" resultType="com.elt.ems.vo.PmsVo">
	
			select 
				p.*
			from t_pms p  
			where 1=1 	
			<if test="plantSeq > 0 ">and plantSeq = #{plantSeq}  </if>
			<if test="ip != null and ip != '-1' ">and ip = #{ip}  </if>
	    </select>
	    
		<select id="selectByPlantSeq"  parameterType="int" resultType="com.elt.ems.vo.PmsVo">
	       select m.*, p.name as plantName
	       from t_pms m, t_plant p
	       where m.plantSeq = p.seq and m.plantSeq = #{plantSeq} 		
		</select>
		
		<update id="update"  parameterType="com.elt.ems.vo.PmsVo">
			update t_pms set 
				ip = #{ip},
				port = #{port},
				pmsStatus = #{pmsStatus},
				startIdx = #{startIdx},
				pmsMaker = #{pmsMaker},	
				pmsModel = #{pmsModel},	
				pcsMaker = #{pcsMaker},	
				pcsVolume = #{pcsVolume},	
				pcsQuantity = #{pcsQuantity},	
				batteryMaker = #{batteryMaker},	
				batteryModel = #{batteryModel},	
				batteryVolume = #{batteryVolume},	
				batteryQuantity = #{batteryQuantity},		
		        msgGroupPcs = #{msgGroupPcs},
		        msgGroupBattery = #{msgGroupBattery},					
				updateDatetime = now()
			where plantSeq = #{plantSeq}
		</update>
		
		<insert id="insert"  parameterType="com.elt.ems.vo.PmsVo">
			insert into t_pms (
				plantSeq, ip, port, pmsStatus, startIdx, pmsMaker,  pmsModel, pcsMaker, pcsVolume, pcsQuantity, batteryMaker, batteryModel, batteryVolume, batteryQuantity, msgGroupPcs, msgGroupBattery, createDateTime, updateDatetime 
			) values (
				#{plantSeq},
				#{ip},
				#{port},
				#{pmsStatus},
				#{startIdx},
				#{pmsMaker},
				#{pmsModel},
				#{pcsMaker},
				#{pcsVolume},
		        #{pcsQuantity},
		        #{batteryMaker},
				#{batteryModel},
				#{batteryVolume},
				#{batteryQuantity},
				#{msgGroupPcs},
				#{msgGroupBattery},
				now(),
				now()
			)
		</insert>			
				
	</mapper>