FAISP/src/main/resources/mybatisMapper/AsfCovMapper.xml

103 lines
3.4 KiB
XML

<?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.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.AsfCovMapper">
<sql id="selectAsfCovListWhere">
<where>
a.content_status &lt;> 'DST008'
<if test='caseNum != null and caseNum != ""'>
AND case_num = #{caseNum}
</if>
<if test='napoDt != null and napoDt !=""'>
AND napo_dt::DATE = #{napoDt}::DATE
</if>
<if test='caseAgency != null and caseAgency != ""'>
AND case_agency = #{caseAgency}
</if>
<if test='crackdownPolice != null and crackdownPolice != ""'>
AND crackdown_police = #{crackdownPolice}
</if>
<if test='crackdownBoat != null and crackdownBoat != ""'>
AND crackdown_boat = #{crackdownBoat}
</if>
<if test='boatNameKr != null and boatNameKr != ""'>
AND boat_name_kr LIKE CONCAT('%', #{boatNameKr}, '%')
</if>
<if test='wrtOrgan != null and wrtOrgan != ""'>
and wrt_organ = #{wrtOrgan}
</if>
<if test="wrtUserNm != null and wrtUserNm != ''">
AND wrt_user_nm LIKE CONCAT('%', #{wrtUserNm}, '%')
</if>
</where>
</sql>
<select id="selectAsfCovList" resultType="AsfCov" parameterType="AsfCov">
select a.asfcov_key,
a.version_no,
a.cds_key,
a.person_cnt,
a.pressurized_yn,
a.pressurized_n,
a.person_positive_cnt,
a.person_negative_cnt,
a.asfcov_action_detail,
a.wrt_user_grd,
a.wrt_user_seq,
a.wrt_user_nm,
a.wrt_dt,
a.wrt_organ,
a.wrt_part,
a.content_status,
cs.cds_key
, cs.case_num
, cs.napo_dt
, cs.case_agency
, cs.case_police_officer
, cs.crackdown_boat
, cs.crackdown_police
, fb.fb_key
, fb.boat_name_kr
, fb.boat_name_cn
, fb.status
FROM asfcov_status a
inner join (select asfcov_key, max(version_no) as lastVersion
from asfcov_status
group by asfcov_key) b on a.asfcov_key = b.asfcov_key and a.version_no = b.lastVersion
INNER JOIN crackdown_status cs
ON a.cds_key = cs.cds_key
INNER JOIN fishing_boat fb
ON a.cds_key = fb.cds_key
<include refid="selectAsfCovListWhere"></include>
order by a.asfcov_key desc
limit #{rowCnt} offset #{firstIndex}
</select>
<select id="selectAsfCovListCnt" resultType="int" parameterType="AsfCov">
select count(*)
from asfcov_status a
INNER JOIN fishing_boat fb
ON a.cds_key = fb.cds_key
<include refid="selectAsfCovListWhere"></include>
</select>
<select id="selectAsfCovHistory" resultType="AsfCov" parameterType="int">
select asfcov_key,
version_no,
wrt_organ,
wrt_part,
wrt_user_grd,
wrt_user_nm,
wrt_dt
from asfcov_status
where asfcov_key = #{asfcovKey}
order by version_no desc
</select>
</mapper>