<?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">

<mapper namespace="com.i2sema.v2.admin.charge.dao.v2ChargeDAO">

	<select id="listCharge"
		resultType="com.i2sema.v2.admin.charge.vo.Charge">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listLevel] Level 목록 */
			SELECT		 u.usr_id
								, u.org_sid AS orgId
								, l.chrge AS chrge
					 			, l.chrge_v2 AS chrgeV2
								, sms AS sms1
								, lms AS lms1
								, mms AS mms1
								, ntcn_talk AS ntcnTalk1
								, frn_talk AS frnTalk1
								, frn_talk_image AS frnTalkImage1
								, frn_talk_image_wide AS frnTalkImageWide1
								, sms01 AS sms2
								, sms02 AS sms3
								, lms01 AS lms2
								, lms02 AS lms3
								, mms01 AS mms2
								, mms02 AS mms3
								, ntcn_talk01 AS ntcnTalk2
								, ntcn_talk02 AS  ntcnTalk3
								, frn_talk01 AS frnTalk2
								, frn_talk02 AS frnTalk3
								, frn_talk_image01 AS frnTalkImage2
								, frn_talk_image02 AS frnTalkImage3
								, frn_talk_image_wide01 AS frnTalkImageWide2
								, frn_talk_image_wide02 AS frnTalkImageWide3
								, friend_talk_plus_wide_item_list01 AS friendTalkPlusWideItemList01
								, friend_talk_plus_wide_item_list02 AS friendTalkPlusWideItemList02
								, friend_talk_plus_wide_item_list03 AS friendTalkPlusWideItemList03
								, friend_talk_plus_carousel_feed01 AS friendTalkPlusCarouselFeed01
								, friend_talk_plus_carousel_feed02 AS friendTalkPlusCarouselFeed02
								, friend_talk_plus_carousel_feed03 AS friendTalkPlusCarouselFeed03
								, friend_talk_plus_carousel_commerce01 AS friendTalkPlusCarouselCommerce01
								, friend_talk_plus_carousel_commerce02 AS friendTalkPlusCarouselCommerce02
								, friend_talk_plus_carousel_commerce03 AS friendTalkPlusCarouselCommerce03
								, friend_talk_plus_commerce01 AS friendTalkPlusCommerce01
								, friend_talk_plus_commerce02 AS friendTalkPlusCommerce02
								, friend_talk_plus_commerce03 AS friendTalkPlusCommerce03
								, friend_talk_plus_premium_video01 AS friendTalkPlusPremiumVideo01
								, friend_talk_plus_premium_video02 AS friendTalkPlusPremiumVideo02
								, friend_talk_plus_premium_video03 AS friendTalkPlusPremiumVideo03
			FROM			sns_user u
								INNER JOIN sub_mber_info smi
									ON u.USR_ID = smi.usr_id
								INNER JOIN mber_level l
									ON smi.level_cd = l.level_cd 
			WHERE		NVL(u.org_sid, '') <> ''
		]]>
	</select>

	<select id="listCompanyManager" resultType="com.i2sema.v2.admin.charge.vo.Company">
		<![CDATA[
		/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listCompanyManager] 회사 목록 */
		SELECT CMPNM as companyName
			 , MBER_NO as mberNo
		FROM ADD_MBER_INFO
		WHERE ORG_ID IS NULL OR ORG_ID = ''
		GROUP BY MBER_NO
		]]>
	</select>

	<select id="listOrgManager" parameterType="Integer" resultType="com.i2sema.v2.admin.charge.vo.Company$SubCompany">
		<![CDATA[
		/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listOrgManager] org 목록 */
		SELECT SU.USR_ID as usrID
			 , SU.USR_NM as usrNm
			 , SU.ORG_SID as orgId
			 , SU.AUTH_CODE as authCode
			 , sc.CLIENT_NM as clinetName
		FROM SNS_USER AS SU
				 INNER JOIN SNS_CLIENT AS SC ON SU.ORG_SID = SC.ORG_SID
		WHERE SU.MBER_NO = #{mberNo}
		  AND SU.ORG_SID IS NOT NULL AND SU.ORG_SID != ''
		]]>
	</select>

	<select id="listUseMonth" parameterType="String" resultType="String">
		<![CDATA[
		/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listUseMonth] org 목록 청구요금 조회 가능일 */
		SELECT use_month as useMonth
		FROM v2_dtls_his
		WHERE ORG_ID = #{orgId}
		GROUP BY   USE_MONTH,USR_ID
		ORDER BY   USE_MONTH DESC
		]]>
	</select>

	<select id="listLog" parameterType="Map"
		resultType="com.i2sema.v2.admin.charge.vo.Dtls">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listLog] 로그 목록 */
			SELECT	i.usr_id AS usrId
					, i.mber_no AS mberNo
					, i.org_sid AS orgId
					, i.mt_refkey AS mtRefKey
					, i.cd AS msgTy
					,IFNULL(CASE cd 	     
								  WHEN 'MSGTY01' THEN (select sum(ms.req_sms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY02' THEN (select sum(ms.req_lms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY03' THEN (select sum(ms.req_mms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY04' THEN (select sum(ms.req_ntt) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY05' THEN (select sum(ms.req_frt_t) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY06' THEN (select sum(ms.req_frt_i) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))    	 
							    WHEN 'MSGTY07' THEN (select sum(ms.req_frt_w) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY08' THEN (select sum(frnms.req_wide_item_list) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY09' THEN (select sum(frnms.req_carousel) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY10' THEN (select sum(frnms.req_carousel_commerce) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY11' THEN (select sum(frnms.req_commerce) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY12' THEN (select sum(frnms.req_premium_video) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						    END,0) allCnt
					,IFNULL(case cd	     
							    WHEN 'MSGTY01' THEN (select sum(ms.sms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY02' THEN (select sum(ms.lms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY03' THEN (select sum(ms.mms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY04' THEN (select sum(ms.ntt) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY05' THEN (select sum(ms.frt_t) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY06' THEN (select sum(ms.frt_i) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))    	 
							    WHEN 'MSGTY07' THEN (select sum(ms.frt_w) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = i.mt_refkey and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))   
							    WHEN 'MSGTY08' THEN (select sum(frnms.wide_item_list) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY09' THEN (select sum(frnms.carousel) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY10' THEN (select sum(frnms.carousel_commerce) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY11' THEN (select sum(frnms.commerce) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY12' THEN (select sum(frnms.premium_video) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = i.mt_refkey and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							END,0) successCnt
			FROM	(
					SELECT	 su.usr_id
							, su.mber_no
							, su.org_sid
							, d.mt_refkey
							, scc.cd
					FROM 	sns_user su
							inner join department d on su.org_sid = d.org_id
							inner join sns_common_code scc on scc.up_cd = 'msg_ty'
			WHERE	nvl(org_sid, '') <> ''
					) i
			UNION ALL
			SELECT	i.usr_id
					, i.mber_no
					, i.org_sid
					, null
					, i.cd
					,IFNULL(case cd 	     
								WHEN 'MSGTY01' THEN (select sum(ms.req_sms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY02' THEN (select sum(ms.req_lms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY03' THEN (select sum(ms.req_mms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY04' THEN (select sum(ms.req_ntt) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY05' THEN (select sum(ms.req_frt_t) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY06' THEN (select sum(ms.req_frt_i) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))    	  
							    WHEN 'MSGTY07' THEN (select sum(ms.req_frt_w) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
					        WHEN 'MSGTY08' THEN (select sum(frnms.req_wide_item_list) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY09' THEN (select sum(frnms.req_carousel) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY10' THEN (select sum(frnms.req_carousel_commerce) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY11' THEN (select sum(frnms.req_commerce) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						      WHEN 'MSGTY12' THEN (select sum(frnms.req_premium_video) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
					    	END,0) AS all_cnt
					,IFNULL(case cd	     
							    WHEN 'MSGTY01' THEN (select sum(ms.sms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY02' THEN (select sum(ms.lms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY03' THEN (select sum(ms.mms) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY04' THEN (select sum(ms.ntt) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY05' THEN (select sum(ms.frt_t) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY06' THEN (select sum(ms.frt_i) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))    	 
							    WHEN 'MSGTY07' THEN (select sum(ms.frt_w) from msg_statistics ms where ms.org_id = i.org_sid and ms.dept = '' and ms.agent_version != '' and ms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY08' THEN (select sum(frnms.wide_item_list) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY09' THEN (select sum(frnms.carousel) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY10' THEN (select sum(frnms.carousel_commerce) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY11' THEN (select sum(frnms.commerce) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
							    WHEN 'MSGTY12' THEN (select sum(frnms.premium_video) from frn_msg_statistics frnms where frnms.org_id = i.org_sid and frnms.dept = '' and frnms.agent_version != '' and frnms.req_date like CONCAT(${targetDate}, '%'))
						    END,0) AS success_cnt
			from	(
					SELECT	su.usr_id
							, su.mber_no
							, su.org_sid
							, null
							, scc.cd
					FROM 	sns_user su
							INNER JOIN sns_common_code scc ON scc.up_cd = 'msg_ty'
					WHERE	NVL(org_sid, '') <> ''
					) i	
		]]>
	</select>
	
	<insert id="insertDtls"
		parameterType="com.i2sema.v2.admin.charge.vo.Dtls">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listLog] 로그 목록 */
			INSERT INTO 	v2_dtls_his (
				  use_month
				, usr_id
				, mber_no
				, org_id
				, mt_refkey
				, msg_ty
				, all_cnt
				, success_cnt
				, untpc
				, payment_status
			)
			VALUES
			(
				  #{useMonth}
				, #{usrId}
				, #{mberNo}
				, #{orgId}
				, #{mtRefKey}
				, #{msgTy}
				, #{allCnt}
				, #{successCnt}
				, #{untPc}
				, #{paymentStatus} 
				)
		]]>
	</insert>

	<select id="listDtlsOrgV1V2SumSuccessCnt" parameterType="map" resultType="com.i2sema.v2.admin.charge.vo.Dtls">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listDtlsOrgV1V2SumSuccessCnt] V1 + V2 Success Total */
			SELECT ${targetDate} AS useMonth
					 , i.org_sid AS orgId
					 , i.cd AS msgTy
					 , IFNULL(CASE cd
											WHEN 'MSGTY01' THEN (SELECT sum(ms.sms)
																					 FROM msg_statistics ms
																					 WHERE ms.org_id = i.org_sid
																						 AND ms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY02' THEN (SELECT sum(ms.lms)
																					 FROM msg_statistics ms
																					 WHERE ms.org_id = i.org_sid
																						 AND ms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY03' THEN (SELECT sum(ms.mms)
																					 FROM msg_statistics ms
																					 WHERE ms.org_id = i.org_sid
																						 AND ms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY04' THEN (SELECT sum(ms.ntt)
																					 FROM msg_statistics ms
																					 WHERE ms.org_id = i.org_sid
																						 AND ms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY05' THEN (SELECT sum(ms.frt_t)
																					 FROM msg_statistics ms
																					 WHERE ms.org_id = i.org_sid
																						 AND ms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY06' THEN (SELECT sum(ms.frt_i)
																					 FROM msg_statistics ms
																					 WHERE ms.org_id = i.org_sid
																						 AND ms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY07' THEN (SELECT sum(ms.frt_w)
																					 FROM msg_statistics ms
																					 WHERE ms.org_id = i.org_sid
																						 AND ms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY08' THEN (SELECT sum(frnms.wide_item_list)
																					 FROM frn_msg_statistics frnms
																					 WHERE frnms.org_id = i.org_sid
																						 AND frnms.agent_version != ''
																						 AND frnms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY09' THEN (SELECT sum(frnms.carousel)
																					 FROM frn_msg_statistics frnms
																					 WHERE frnms.org_id = i.org_sid
																						 AND frnms.agent_version != ''
																						 AND frnms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY10' THEN (SELECT sum(frnms.carousel_commerce)
																								 FROM frn_msg_statistics frnms
																								 WHERE frnms.org_id = i.org_sid
																									 AND frnms.agent_version != ''
																									 AND frnms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY11' THEN (SELECT sum(frnms.commerce)
																								 FROM frn_msg_statistics frnms
																								 WHERE frnms.org_id = i.org_sid
																									 AND frnms.agent_version != ''
																									 AND frnms.req_date LIKE CONCAT(${targetDate}, '%'))
											WHEN 'MSGTY12' THEN (SELECT sum(frnms.premium_video)
																								 FROM frn_msg_statistics frnms
																								 WHERE frnms.org_id = i.org_sid
																									 AND frnms.agent_version != ''
																									 AND frnms.req_date LIKE CONCAT(${targetDate}, '%'))
											END, 0) AS successCnt
			FROM (SELECT su.usr_id
								 , su.mber_no
								 , su.org_sid
								 , null
								 , scc.cd
						FROM sns_user su
									 INNER JOIN sns_common_code scc ON scc.up_cd = 'msg_ty'
						WHERE NVL(org_sid, '') <> ''
						) i
		]]>
	</select>
	
	<select id="listDtlsOrgSumSuccessCnt" parameterType="map" resultType="com.i2sema.v2.admin.charge.vo.Dtls">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listDtlsOrgSumSuccessCnt] Success Total */
			SELECT	  use_month AS useMonth
					, org_id AS orgId
					, msg_ty AS msgTy
					, mt_refkey AS mtRefKey
					, SUM(success_cnt) AS successCnt
			FROM	v2_dtls_his
			WHERE	use_at = 'Y'
						AND use_month = #{targetDate}
			GROUP BY use_month, org_id, msg_ty
		]]>
	</select>
	
	<update id="updateDtlsChrge" parameterType="map">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.updateDtlsChrge] Update untpc */
			UPDATE	v2_dtls_his
			SET		  untpc = #{untPc}
					, chrge = #{chrge}
			WHERE	use_month = #{useMonth}
					AND org_id = #{orgId}
					AND msg_ty = #{msgTy}
					AND use_at = 'Y'
		]]>
	</update>
	
	<select id="listDtls" parameterType="map" resultType="com.i2sema.v2.admin.charge.vo.Dtls">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.listDtls] list dtls */
			SELECT	  use_month AS useMonth
					, org_id AS orgId
					, mt_refkey AS mtRefKey
					, msg_ty AS msgTy
					, success_cnt AS successCnt
					, chrge AS chrge
					, untpc AS untPc
			FROM	v2_dtls_his
			WHERE	use_at = 'Y'
					AND use_month = #{targetDate}
		]]>
	</select>

	<update id="deleteDtls" parameterType="map">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.deleteDtls] 로그 삭제 */
			UPDATE		v2_dtls_his
			SET				use_at = 'N'
			WHERE		use_month = #{targetDate}
		]]>
	</update>

	<select id="selectBasicInfo" parameterType="map"
		resultType="map">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.selectBasicInfo] 기본정보 조회 */
			SELECT	  h.month AS month
					, h.org_id AS orgId
					, u.usr_nm AS usrNm
			FROM	(
						SELECT	  GROUP_CONCAT(DISTINCT use_month) AS month
								, org_id
						FROM	v2_dtls_his vdh
						WHERE	use_at = 'Y'
								AND org_id = #{orgId}
					) h
					INNER JOIN sns_user u
						ON h.org_id = u.org_sid;
		]]>
	</select>

	<select id="selectCharge" parameterType="map" resultType="map">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.selectCharge] 과금 조회 */
			SELECT		  msg_ty AS msgTy
						, all_cnt AS allCnt
						, success_cnt AS successCnt
						, amount AS amount
						, chrge AS chrge
						, sum_chrge AS sumChrge
						, untpc AS untPc
						, payment_status AS paymentStatus
			FROM 		v2_dtls_his
			WHERE		org_id = #{orgId}
						AND use_month = #{targetDate}
						AND use_at = 'Y'
		]]>
		<if test="@i2c.cmm.util.StringUtil@isEmpty(mtRefkey) == false">
			AND mt_refkey = #{mtRefkey}
		</if>
		<if test="@i2c.cmm.util.StringUtil@isEmpty(mtRefkey) == true">
			AND mt_refkey IS NULL
		</if>
	</select>
	
	<select id="selectChargeAll" parameterType="map" resultType="map">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.selectChargeAll] 모든 과금 조회 */
			SELECT		  msg_ty AS msgTy
								, sum(all_cnt) AS allCnt
								, sum(success_cnt) AS successCnt
								, sum(amount) AS amount
								, sum(chrge) AS chrge
								, sum(sum_chrge) AS sumChrge
								, untpc AS untPc
								, sum(payment_status) AS paymentStatus
			FROM 		v2_dtls_his
			WHERE		org_id = #{orgId}
								AND use_month = #{targetDate}
								AND use_at = 'Y'
			GROUP BY msg_ty
		]]>
	</select>
	
	<update id="updateDtls" parameterType="com.i2sema.v2.admin.charge.vo.Dtls">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.updateDtls] Update dtls */
			UPDATE	v2_dtls_his
			SET		  amount = #{amount}
					, sum_chrge = #{sumChrge}
					, chrge = #{chrge}
			WHERE	use_month = #{useMonth}
					AND org_id = #{orgId}
					AND msg_ty = #{msgTy}
					AND use_at = 'Y'
		]]>
		<if test="@i2c.cmm.util.StringUtil@isEmpty(mtRefKey) == true">
				<![CDATA[
					AND mt_refkey IS NULL
				]]>
		</if>
		<if test="@i2c.cmm.util.StringUtil@isNotEmpty(mtRefKey) == true">
				<![CDATA[
					AND mt_refkey = #{mtRefKey}
				]]>
		</if>
	</update>
	
	<update id="updateKakaoDefaultChrge" parameterType="map">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.updateKakaoDefaultChrge] 카카오 기본요금 반영 */
			UPDATE	v2_dtls_his
			SET		  chrge = #{chrge}
					, sum_chrge = #{chrge}
			WHERE	use_month = #{useMonth}
					AND org_id = #{orgId}
					AND msg_ty = #{msgTy}
					AND mt_refkey IS NULL
					AND use_at = 'Y'
		]]>
	</update>
	
	<update id="updateKakaoDefaultChrgeDept" parameterType="map">
		<![CDATA[
			/* [com.i2sema.v2.admin.charge.dao.v2ChargeDAO.updateKakaoDefaultChrgeDept] 카카오 기본요금 반영 (부서요금 초기화) */
			UPDATE	v2_dtls_his
			SET		  amount = 0
					, chrge = 0
					, sum_chrge = 0
			WHERE	use_month = #{useMonth}
					AND org_id = #{orgId}
					AND msg_ty = #{msgTy}
					AND mt_refkey IS NOT NULL
					AND use_at = 'Y'
		]]>
	</update>
</mapper>
