Compare commits

..

No commits in common. "30e8ca481d92a982a8de5bbf266658e9540d69f2" and "aad6a505639130bcb4ff928f36810ccf0518cc07" have entirely different histories.

2 changed files with 467 additions and 383 deletions

View File

@ -561,10 +561,10 @@ public class InternationalController {
header.put("speciallaw", "기타(외국인관련범죄)_특별법범"); header.put("speciallaw", "기타(외국인관련범죄)_특별법범");
header.put("commissionCost", "비고"); header.put("commissionCost", "비고");
arrestCntList.setDetentionTotalCnt( arrestCntList.setDetentionTotalCnt(String.valueOf(arrestCntList.getCaptainCount()
String.valueOf( + arrestCntList.getMateCount()
arrestCntList.getCaptainCount() + arrestCntList.getMateCount() + arrestCntList.getEngineerCount()
+ arrestCntList.getEngineerCount() + arrestCntList.getCrewCount())); + arrestCntList.getCrewCount()));
arrestCntList.setSpecBatlYn(String.valueOf(arrestCntList.getSpecBatlCnt())); arrestCntList.setSpecBatlYn(String.valueOf(arrestCntList.getSpecBatlCnt()));
arrestCntList.setNllYn(String.valueOf(arrestCntList.getNllCnt())); arrestCntList.setNllYn(String.valueOf(arrestCntList.getNllCnt()));
arrestCntList.setNoPaymentCnt(String.valueOf(arrestCntList.getNotPayment())); arrestCntList.setNoPaymentCnt(String.valueOf(arrestCntList.getNotPayment()));

View File

@ -939,15 +939,17 @@
]]> ]]>
</select> </select>
<select id="getArrestListCount" parameterType="arrestSearchVO" resultMap="arrestResult"> <select id="getArrestListCount" parameterType="arrestSearchVO"
SELECT resultMap="arrestResult">
SUM(IVSN_TYPE1) IVSN_TYPE1, <![CDATA[
SELECT /*+IDX_T_ITN_ARREST_INFO*/
SUM(IVSN_TYPE1) IVSN_TYPE1,
SUM(IVSN_TYPE2) IVSN_TYPE2, SUM(IVSN_TYPE2) IVSN_TYPE2,
SUM(IVSN_TYPE3) IVSN_TYPE3, SUM(IVSN_TYPE3) IVSN_TYPE3,
SUM(IVSN_TYPE4) IVSN_TYPE4, SUM(IVSN_TYPE4) IVSN_TYPE4,
SUM(SPEC_BATL) SPEC_BATL_CNT, SUM(SPEC_BATL) SPEC_BATL_CNT,
SUM(NLL) NLL_CNT, SUM(NLL) NLL_CNT,
SUM(SHIP_CREW_CNT::int) SHIP_CREW_CNT, SUM(SHIP_CREW_CNT) SHIP_CREW_CNT,
SUM(VIO_CNT) VIO_CNT, SUM(VIO_CNT) VIO_CNT,
SUM(VIO_PRTD_AMT) VIO_PRTD_AMT, SUM(VIO_PRTD_AMT) VIO_PRTD_AMT,
@ -975,383 +977,465 @@
SUM(GEAR_WIDTH) GEAR_WIDTH, SUM(GEAR_WIDTH) GEAR_WIDTH,
SUM(FIELD_CNT) FIELD_CNT, SUM(FIELD_CNT) FIELD_CNT,
COUNT(*) TOTAL_CNT COUNT(*) TOTAL_CNT
FROM (SELECT FROM
A.ID , (
TO_CHAR(A.ARST_DATE, 'YYYY-MM-DD hh24:mi') ARST_DATE, SELECT
A.LAT_D , A.ID ,
A.LAT_M , TO_CHAR(A.ARST_DATE, 'YYYY-MM-DD hh24:mi') ARST_DATE,
A.LAT_S , A.LAT_D ,
A.LON_D , A.LAT_M ,
A.LON_M , A.LAT_S ,
A.LON_S , A.LON_D ,
A.ADDR_AREA , A.LON_M ,
A.ADDR_CITY , A.LON_S ,
A.SHIP_CREW_CNT, A.ADDR_AREA ,
A.VIO_CNT, A.ADDR_CITY ,
A.VIO_PRTD_AMT, C.CODE_NM ADDR_STR,
A.DTTN_CAP_CNT::int, A.ADDR_DTL ,
A.DTTN_ENG_CNT::INT, A.VLTN_TYPE ,
A.DTTN_MATE_CNT::INT, A.VLTN_DTL,
A.DTTN_CREW_CNT::INT, A.IVSN_TYPE ,
A.gear_cast, DECODE(A.IVSN_TYPE, 'YRB2', 1, 0) IVSN_TYPE1,
A.gear_width, DECODE(A.IVSN_TYPE, 'YRD1', 1, 0) IVSN_TYPE2,
C.CODE_NM ADDR_STR, DECODE(A.IVSN_TYPE, 'YRA1', 1, 0) IVSN_TYPE3,
A.ADDR_DTL , DECODE(A.IVSN_TYPE, 'YRB1', 1, 0) IVSN_TYPE4,
A.VLTN_TYPE ,
A.VLTN_DTL, DECODE(A.SPEC_BATL_YN , 'Y', 1, 0) SPEC_BATL,
A.IVSN_TYPE, DECODE(A.NLL_YN , 'Y', 1, 0) NLL,
(A.DTTN_CAP_CNT::int + A.DTTN_MATE_CNT::int + A.DTTN_ENG_CNT::int + A.DTTN_CREW_CNT::int) DTTN_TOTAL_CNT, A.AGENCY_TYPE ,
TO_CHAR(A.ARST_DATE, 'YYYY-MM-DD hh24:mi') ARST_DATE, A.AGENCY_GUARD ,
TO_CHAR(MRGN_PYMT_DATE, 'YYYY-MM-DD hh24:mi') MRGN_PYMT_DATE , G.CODENM AGENCY_GUARD_STR ,
TO_CHAR(A.FIELD_ARST_DATE, 'YYYY-MM-DD hh24:mi') FIELD_ARST_DATE, A.AGENCY_VESSEL ,
TO_CHAR(A.FIELD_RLS_DATE, 'YYYY-MM-DD hh24:mi') FIELD_RLS_DATE , A.SHIP_NAME ,
C.CODE_NM ADDR_STR, A.SHIP_TONNAGE ,
D.CODENM SHIP_MENT_STR, A.SHIP_CREW_CNT ,
E.CODENM SHIP_TYPE_STR, A.SHIP_QLTY ,
F.CODENM WO_DTTN_STR, A.SHIP_MENT ,
G.CODENM AGENCY_GUARD_STR , D.CODENM SHIP_MENT_STR,
H.CODENM SHIP_QLTY_STR, A.SHIP_PORT_NAME ,
I.CODE_NM ADDR_AREA_STR, A.CAP_NAME ,
case A.PROC_COND A.CAP_CHN_NAME ,
when '01' then 1 A.CAP_AGE ,
else 0 A.SHIP_TYPE ,
end PROC_COND1, E.CODENM SHIP_TYPE_STR,
case A.PROC_COND A.VIO_FISH ,
when '02' then 1 A.VIO_CNT ,
else 0 A.VIO_PRTD_AMT ,
end PROC_COND2, A.PROC_COND ,
case A.NLL_YN DECODE(A.PROC_COND, '01', 1, 0) PROC_COND1,
when 'Y' then 1 DECODE(A.PROC_COND, '02', 1, 0) PROC_COND2,
else 0 A.MRGN_PYMT_YN ,
end NLL, DECODE(A.MRGN_PYMT_YN, 'N', 1, 0) PYMT_N_CNT,
case A.IVSN_TYPE --A.MRGN_PYMT_AMT ,
when 'YRB2' then 1 DECODE(MRGN_PYMT_YN, 'Y', MRGN_PYMT_AMT, 0) MRGN_PYMT_AMT,
else 0 DECODE(MRGN_PYMT_YN, 'N', MRGN_PYMT_AMT, 0) NO_MRGN_PYMT_AMT,
end IVSN_TYPE1,
case A.IVSN_TYPE TO_CHAR(MRGN_PYMT_DATE, 'YYYY-MM-DD') MRGN_PYMT_DATE ,
when 'YRD1' then 1 A.SHIP_PROC_TYPE ,
else 0 DECODE(A.SHIP_PROC_TYPE, '01', 1, 0) SHIP_PROC_TYPE_A,
end IVSN_TYPE2, DECODE(A.SHIP_PROC_TYPE, '02', 1, 0) SHIP_PROC_TYPE_B,
case A.IVSN_TYPE DECODE(A.SHIP_PROC_TYPE, '03', 1, 0) SHIP_PROC_TYPE_C,
when 'YRA1' then 1 DECODE(A.SHIP_PROC_TYPE, '04', 1, 0) SHIP_PROC_TYPE_D,
else 0 DECODE(A.SHIP_PROC_TYPE, '05', 1, 0) SHIP_PROC_TYPE_E,
end IVSN_TYPE3,
case A.IVSN_TYPE A.SHIP_CMSN_COST ,
when 'YRB1' then 1 A.DTTN_CAP_CNT ,
else 0 A.DTTN_MATE_CNT ,
end IVSN_TYPE4, A.DTTN_ENG_CNT ,
case A.SPEC_BATL_YN A.DTTN_CREW_CNT ,
when 'Y' then 1 A.WO_DTTN_TYPE ,
else 0 F.CODENM WO_DTTN_STR,
end SPEC_BATL, TO_CHAR(A.FIELD_ARST_DATE, 'YYYY-MM-DD hh24:mi') FIELD_ARST_DATE,
case A.PROC_COND TO_CHAR(A.FIELD_RLS_DATE, 'YYYY-MM-DD hh24:mi') FIELD_RLS_DATE ,
when '02' then 1 DECODE(A.FIELD_ARST_DATE, NULL, 0, 1) FIELD_CNT,
else 0 A.LEAD_DISTANCE ,
end PROC_COND_Y, A.LEAD_HOUR ,
case A.PROC_COND A.LEAD_NUMBER ,
when '01' then 1 A.LEAD_MINUTE ,
else 0 A.GEAR_CAST ,
end PROC_COND_N, A.GEAR_WIDTH ,
case A.MRGN_PYMT_YN A.GEAR_ETC ,
when 'Y' then A.MRGN_PYMT_AMT A.STATUS ,
else 0 A.DEL_YN ,
end MRGN_PYMT_AMT, A.REG_DATE ,
case A.MRGN_PYMT_YN A.REG_USER ,
when 'N' then A.MRGN_PYMT_AMT A.REG_AGENCY,
else 0 A.TRAMSPOR_TATION,
end NO_MRGN_PYMT_AMT, A.FOREIGN_CREW,
case A.MRGN_PYMT_YN A.ITEM_TEST,
when 'N' then 1 A.REMARKS_LIST,
else 0 A.AVIOLENT_CRIME,
end PYMT_N_CNT, A.VIOLENT_CRIME,
case A.MRGN_PYMT_YN A.INTELLIGENT_CRIME,
when 'N' then 1 A.THEFT_CRIME,
else 0 A.SPECIAL_LAW,
end NOT_PAYMENT, A.ARRANGE_TRANSPORT,
case A.SHIP_PROC_TYPE A.ILLENGAL_MOVE,
when '01' then 1 A.TRAN_SPORTATION,
else 0 A.QUANTITY_CAP,
end SHIP_PROC_TYPE_A, A.PRICE_MONEY,
case A.SHIP_PROC_TYPE A.TARGET_COUNTRY,
when '02' then 1 A.ESCAPE_CHINA,
else 0 A.EMPLOYMENT_CHINA,
end SHIP_PROC_TYPE_B, A.ETC_CHINA,
case A.SHIP_PROC_TYPE A.ESCAPE_JAPAN,
when '03' then 1 A.EMPLYMENT_JAPAN,
else 0 A.ETC_JAPAN,
end SHIP_PROC_TYPE_C, A.ESCAPE_COUNTRIES,
case A.SHIP_PROC_TYPE A.EMPLOYMENT_COUNTRIES,
when '04' then 1 A.ETC_COUNTRIES,
else 0 A.SMUGGLING_NAME,
end SHIP_PROC_TYPE_D, A.SMUGGLING_CHN,
case A.SHIP_PROC_TYPE A.SMUGGLING_AGE,
when '05' then 1 A.SMUGGLING_WORLD,
else 0 A.SPILL_TARGET,
end SHIP_PROC_TYPE_E, A.AMOUNTOF_COMPENSATION,
case A.FIELD_ARST_DATE A.INTEL_PROPERTY,
when null then 0 A.QUEN_CHING,
else 1 A.FOREIGN_CURRENCY,
end FIELD_CNT A.FOREIGNCURRENCYA_MOUNT,
FROM T_ITN_ARREST_INFO A A.NOIN_SURANCE,
inner join CD_CODE C on C.GP_CODE = 'A001' AND A.ADDR_CITY = C.CODE AND A.ADDR_AREA = C.UP_CODE -- 시군구 A.ALLEN_DAMAGE,
inner join TCODE D on A.SHIP_MENT = D.CODE2 AND D.CODE1 = 'SSRR' -- 선적 A.ORIGIN_VIOLATION,
inner join TCODE E on A.SHIP_TYPE = E.CODE2 AND E.CODE1 = 'FA81' -- 선종 A.INHIBITION_SOCIALSAFETY,
inner join TCODE F on F.CODE1 = 'T005' AND A.WO_DTTN_TYPE = F.CODE2 -- 무혐의불구속 A.SAIL_PEOPLE,
left outer join TCODE G on G.CODE1 = 'C001' and G.CODE2 = A.AGENCY_GUARD -- A.SAIL_OUTSIDE,
inner join TCODE H on H.CODE1 = 'T004' AND A.SHIP_QLTY = H.CODE2 -- 선질 A.DRUG_ADMINISTRATION,
inner join CD_CODE I on I.GP_CODE = 'A001' AND I.UP_CODE ='0000' AND A.ADDR_AREA = I.CODE -- 특별광역시도 A.CARRYON_OFDRUGS,
WHERE A.DEL_YN = 'N' A.DRUG_SALE,
<if test="startDate != null and startDate != ''"> A.DRUG_ITEM,
AND A.ARST_DATE >= TO_DATE( #{startDate} || ' 00:00', 'YYYY-MM-DD hh24:mi') A.DRUG_GUANTITY,
</if> A.DRUG_AMOUNT,
<if test="endDate != null and endDate != ''"> A.OMOF_TRANSPORT,
AND A.ARST_DATE &lt;= TO_DATE( #{endDate} || ' 23:59', 'YYYY-MM-DD hh24:mi') A.DIRECT_SMUGGLING,
</if> A.OTHERMENSOF_DIRECT
<if test="agencyType != null and agencyType != ''"> FROM T_ITN_ARREST_INFO A,
AND A.AGENCY_TYPE = #{agencyType} (SELECT CODE, UP_CODE, CODE_NM FROM CD_CODE C WHERE GP_CODE = 'A001' ) C, -- 시군구
</if> TCODE D , -- 선적
<if test="agencyGuard != null and agencyGuard != ''"> TCODE E , -- 선종
AND A.AGENCY_GUARD = #{agencyGuard} (SELECT CODE1, CODE2, CODENM FROM TCODE WHERE CODE1 = 'T005' ) F, -- 무혐의 불구속
</if> (SELECT CODE1, CODE2, CODENM FROM TCODE WHERE CODE1 = 'C001' ) G
<if test="agencyVessel != null and agencyVessel != ''"> WHERE A.DEL_YN = 'N'
AND A.AGENCY_VESSEL like '%' || #{agencyVessel} || '%' AND (A.ADDR_CITY = C.CODE AND A.ADDR_AREA = C.UP_CODE)
</if> AND (A.SHIP_MENT = D.CODE2 AND D.CODE1 = 'SSRR')
<if test="addrArea != null and addrArea != ''"> AND (A.SHIP_TYPE = E.CODE2 AND E.CODE1 = 'FA81')
AND A.ADDR_AREA = #{addrArea} AND A.WO_DTTN_TYPE = F.CODE2
</if> AND G.CODE2(+) = A.AGENCY_GUARD
<if test="addrCity != null and addrCity != ''"> ]]>
AND A.ADDR_CITY = #{addrCity} <if test="startDate != null and startDate != ''"><![CDATA[
</if> AND A.ARST_DATE >= TO_DATE( #{startDate} || ' 00:00', 'YYYY-MM-DD hh24:mi')
<if test="violateType != null and violateType != ''"> ]]></if>
AND A.VLTN_TYPE = #{violateType} <if test="endDate != null and endDate != ''"><![CDATA[
</if> AND A.ARST_DATE <= TO_DATE( #{endDate} || ' 23:59', 'YYYY-MM-DD hh24:mi')
<if test="shipName != null and shipName != ''"> ]]></if>
AND A.SHIP_NAME LIKE '%' || #{shipName} || '%' <if test="agencyType != null and agencyType != ''"><![CDATA[
AND A.AGENCY_TYPE = #{agencyType}
</if> ]]></if>
<if test="shipType != null and shipType.length > 0"> <if test="agencyGuard != null and agencyGuard != ''"><![CDATA[
AND A.SHIP_TYPE IN AND A.AGENCY_GUARD = #{agencyGuard}
<foreach collection="shipType" item="type" open="(" close=")" ]]></if>
separator=","> <if test="agencyVessel != null and agencyVessel != ''"><![CDATA[
#{type} AND A.AGENCY_VESSEL like '%' || #{agencyVessel} || '%'
</foreach> ]]></if>
</if> <if test="addrArea != null and addrArea != ''"><![CDATA[
<if test="procCondition != null and procCondition.length > 0"> AND A.ADDR_AREA = #{addrArea}
AND A.PROC_COND IN ]]></if>
<foreach collection="procCondition" item="type" open="(" <if test="addrCity != null and addrCity != ''"><![CDATA[
close=")" separator=","> AND A.ADDR_CITY = #{addrCity}
#{type} ]]></if>
</foreach> <if test="violateType != null and violateType != ''"><![CDATA[
</if> AND A.VLTN_TYPE = #{violateType}
<if test="arrShipTonnage != null and arrShipTonnage.length > 0"> ]]></if>
<choose> <if test="shipName != null and shipName != ''"><![CDATA[
<when test="arrShipTonnage.length == 1 and arrShipTonnage[0] == '01'"> AND A.SHIP_NAME LIKE '%' || #{shipName} || '%'
AND A.SHIP_TONNAGE &lt;50 ]]>
</when> </if>
<when test="arrShipTonnage.length.equals(1) and arrShipTonnage[0].equals('02')"> <if test="invasionType == null or invasionType.length == 0">
AND A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE &lt;100 AND 1 = 0
</when> </if>
<when test="arrShipTonnage.length.equals(1) and arrShipTonnage[0].equals('03')">
AND A.SHIP_TONNAGE >= 100
</when>
<when <if test="shipType != null and shipType.length > 0">
test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('01') and arrShipTonnage[1].equals('02')"> AND A.SHIP_TYPE IN
AND ( A.SHIP_TONNAGE &lt;50 OR ( A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE &lt;100 ) ) <foreach collection="shipType" item="type" open="(" close=")"
</when> separator=",">
<when #{type}
test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('01') and arrShipTonnage[1].equals('03')"> </foreach>
AND ( A.SHIP_TONNAGE &lt;50 OR A.SHIP_TONNAGE >= 100 ) </if>
</when> <if test="shipType == null or shipType.length == 0">
<when AND 1 = 0
test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('02') and arrShipTonnage[1].equals('03')"> </if>
AND ( A.SHIP_TONNAGE >= 100 OR ( A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE &lt;100 ) )
</when> <if test="procCondition != null and procCondition.length > 0">
</choose> AND A.PROC_COND IN
</if> <foreach collection="procCondition" item="type" open="("
<if test="marginPayment != null and marginPayment.length > 0"> close=")" separator=",">
AND A.MRGN_PYMT_YN LIKE '%' #{type}
</if> </foreach>
<if test="shipProcType != null and shipProcType.length > 0"> </if>
AND A.SHIP_PROC_TYPE IN <if test="procCondition == null or procCondition.length == 0">
<foreach collection="shipProcType" item="type" open="(" AND 1 = 0
close=")" separator=","> </if>
#{type}
</foreach> <if test="arrShipTonnage != null and arrShipTonnage.length > 0">
</if> <choose>
<if test="shipQuality != null and shipQuality.length > 0"> <when test="arrShipTonnage.length == 1 and arrShipTonnage[0] == '01'"><![CDATA[
AND A.SHIP_QLTY IN AND A.SHIP_TONNAGE < 50
<foreach collection="shipQuality" item="type" open="(" close=")" ]]></when>
separator=","> <when test="arrShipTonnage.length.equals(1) and arrShipTonnage[0].equals('02')"><![CDATA[
#{type} AND A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE < 100
</foreach> ]]></when>
</if> <when test="arrShipTonnage.length.equals(1) and arrShipTonnage[0].equals('03')"><![CDATA[
<if test="shipMent != null and shipMent.length > 0"> AND A.SHIP_TONNAGE >= 100
AND A.SHIP_MENT IN ]]></when>
<foreach collection="shipMent" item="type" open="(" close=")" <when
separator=","> test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('01') and arrShipTonnage[1].equals('02')"><![CDATA[
#{type} AND ( A.SHIP_TONNAGE < 50 OR ( A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE < 100 ) )
</foreach> ]]></when>
</if> <when
) a test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('01') and arrShipTonnage[1].equals('03')"><![CDATA[
AND ( A.SHIP_TONNAGE < 50 OR A.SHIP_TONNAGE >= 100 )
]]></when>
<when
test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('02') and arrShipTonnage[1].equals('03')"><![CDATA[
AND ( A.SHIP_TONNAGE >= 100 OR ( A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE < 100 ) )
]]></when>
<otherwise>
AND 1 = 1
</otherwise>
</choose>
</if>
<if test="arrShipTonnage == null or arrShipTonnage.length == 0">
AND 1 = 0
</if>
<if test="marginPayment != null and marginPayment.length > 0">
AND A.MRGN_PYMT_YN LIKE '%'
</if>
<if test="marginPayment == null or marginPayment.length == 0">
AND 1 = 0
</if>
<if test="shipProcType != null and shipProcType.length > 0">
AND A.SHIP_PROC_TYPE IN
<foreach collection="shipProcType" item="type" open="("
close=")" separator=",">
#{type}
</foreach>
</if>
<if test="shipProcType == null or shipProcType.length == 0">
AND 1 = 0
</if>
<if test="shipQuality != null and shipQuality.length > 0">
AND A.SHIP_QLTY IN
<foreach collection="shipQuality" item="type" open="(" close=")"
separator=",">
#{type}
</foreach>
</if>
<if test="shipQuality == null or shipQuality.length == 0">
AND 1 = 0
</if>
<if test="shipMent != null and shipMent.length > 0">
AND A.SHIP_MENT IN
<foreach collection="shipMent" item="type" open="(" close=")"
separator=",">
#{type}
</foreach>
</if>
<if test="shipMent == null or shipMent.length == 0">
AND 1 = 0
</if>
<![CDATA[
)
]]>
</select> </select>
<select id="getArrestListCountExcel" parameterType="arrestSearchVO" resultMap="arrestResult"> <select id="getArrestListCountExcel" parameterType="arrestSearchVO"
SELECT resultMap="arrestResult">
SUM(IVSN_TYPE1) IVSN_TYPE1, <![CDATA[
SUM(IVSN_TYPE2) IVSN_TYPE2, SELECT /*+IDX_T_ITN_ARREST_INFO*/
SUM(IVSN_TYPE3) IVSN_TYPE3, SUM(IVSN_TYPE1) IVSN_TYPE1,
SUM(IVSN_TYPE4) IVSN_TYPE4, SUM(IVSN_TYPE2) IVSN_TYPE2,
SUM(SPEC_BATL) SPEC_BATL_YN, SUM(IVSN_TYPE3) IVSN_TYPE3,
SUM(NLL) NLL_YN, SUM(IVSN_TYPE4) IVSN_TYPE4,
SUM(SHIP_CREW_CNT::int) SHIP_CREW_CNT, SUM(SPEC_BATL) SPEC_BATL_YN,
SUM(VIO_CNT) VIO_CNT, SUM(NLL) NLL_YN,
SUM(VIO_PRTD_AMT) VIO_PRTD_AMT, SUM(SHIP_CREW_CNT) SHIP_CREW_CNT,
SUM(PROC_COND1) PROC_COND_N, SUM(VIO_CNT) VIO_CNT,
SUM(PROC_COND2) PROC_COND_Y, SUM(VIO_PRTD_AMT) VIO_PRTD_AMT,
'' LEAD_DISTANCE,
'' SHIP_TONNAGE, SUM(PROC_COND1) PROC_COND_N,
SUM(PYMT_Y_AMT) MRGN_PYMT_AMT, SUM(PROC_COND2) PROC_COND_Y,
SUM(PYMT_N_AMT) NO_MRGN_PYMT_AMT, '' LEAD_DISTANCE,
SUM(PYMT_N_CNT) PYMT_N_CNT, '' SHIP_TONNAGE,
SUM(SHIP_PROC_TYPE_A) SHIP_PROC_TYPE_A, SUM(PYMT_Y_AMT) MRGN_PYMT_AMT,
SUM(SHIP_PROC_TYPE_B) SHIP_PROC_TYPE_B, SUM(PYMT_N_AMT) NO_MRGN_PYMT_AMT,
SUM(SHIP_PROC_TYPE_C) SHIP_PROC_TYPE_C, SUM(PYMT_N_CNT) PYMT_N_CNT,
SUM(SHIP_PROC_TYPE_D) SHIP_PROC_TYPE_D,
SUM(DTTN_CAP_CNT) DTTN_CAP_CNT, SUM(SHIP_PROC_TYPE_A) SHIP_PROC_TYPE_A,
SUM(DTTN_ENG_CNT) DTTN_ENG_CNT, SUM(SHIP_PROC_TYPE_B) SHIP_PROC_TYPE_B,
SUM(DTTN_MATE_CNT) DTTN_MATE_CNT, SUM(SHIP_PROC_TYPE_C) SHIP_PROC_TYPE_C,
SUM(DTTN_CREW_CNT) DTTN_CREW_CNT, SUM(SHIP_PROC_TYPE_D) SHIP_PROC_TYPE_D,
SUM(DTTN_CAP_CNT) + SUM(DTTN_ENG_CNT) + SUM(DTTN_MATE_CNT) + SUM(DTTN_CREW_CNT) DTTN_TOTAL_CNT, SUM(SHIP_PROC_TYPE_E) SHIP_PROC_TYPE_E,
SUM(GEAR_CAST) GEAR_CAST,
SUM(GEAR_WIDTH) GEAR_WIDTH, SUM(DTTN_CAP_CNT) DTTN_CAP_CNT,
SUM(FIELD_CNT) FIELD_CNT, SUM(DTTN_ENG_CNT) DTTN_ENG_CNT,
COUNT(*) TOTAL_CNT SUM(DTTN_MATE_CNT) DTTN_MATE_CNT,
FROM (SELECT SUM(DTTN_CREW_CNT) DTTN_CREW_CNT,
A.ID , SUM(DTTN_CAP_CNT) + SUM(DTTN_ENG_CNT) + SUM(DTTN_MATE_CNT) + SUM(DTTN_CREW_CNT) DTTN_TOTAL_CNT,
TO_CHAR(A.ARST_DATE, 'YYYY-MM-DD hh24:mi') ARST_DATE,
A.LAT_D , SUM(GEAR_CAST) GEAR_CAST,
A.LAT_M , SUM(GEAR_WIDTH) GEAR_WIDTH,
A.LAT_S , SUM(FIELD_CNT) FIELD_CNT,
A.LON_D , COUNT(*) TOTAL_CNT
A.LON_M , FROM
A.LON_S , (
A.ADDR_AREA , SELECT
A.ADDR_CITY , A.ID ,
A.SHIP_CREW_CNT, TO_CHAR(A.ARST_DATE, 'YYYY-MM-DD hh24:mi') ARST_DATE,
A.VIO_CNT, A.LAT_D ,
A.VIO_PRTD_AMT, A.LAT_M ,
A.DTTN_CAP_CNT::int, A.LAT_S ,
A.DTTN_ENG_CNT::INT, A.LON_D ,
A.DTTN_MATE_CNT::INT, A.LON_M ,
A.DTTN_CREW_CNT::INT, A.LON_S ,
A.gear_cast, A.ADDR_AREA ,
A.gear_width, A.ADDR_CITY ,
C.CODE_NM ADDR_STR, C.CODE_NM ADDR_STR,
A.ADDR_DTL , A.ADDR_DTL ,
A.VLTN_TYPE , A.VLTN_TYPE ,
A.VLTN_DTL, A.VLTN_DTL,
A.IVSN_TYPE, A.IVSN_TYPE ,
(A.DTTN_CAP_CNT::int + A.DTTN_MATE_CNT::int + A.DTTN_ENG_CNT::int + A.DTTN_CREW_CNT::int) DTTN_TOTAL_CNT, DECODE(A.IVSN_TYPE, 'YRB2', 1, 0) IVSN_TYPE1,
TO_CHAR(A.ARST_DATE, 'YYYY-MM-DD hh24:mi') ARST_DATE, DECODE(A.IVSN_TYPE, 'YRD1', 1, 0) IVSN_TYPE2,
TO_CHAR(MRGN_PYMT_DATE, 'YYYY-MM-DD hh24:mi') MRGN_PYMT_DATE , DECODE(A.IVSN_TYPE, 'YRA1', 1, 0) IVSN_TYPE3,
TO_CHAR(A.FIELD_ARST_DATE, 'YYYY-MM-DD hh24:mi') FIELD_ARST_DATE, DECODE(A.IVSN_TYPE, 'YRB1', 1, 0) IVSN_TYPE4,
TO_CHAR(A.FIELD_RLS_DATE, 'YYYY-MM-DD hh24:mi') FIELD_RLS_DATE ,
C.CODE_NM ADDR_STR, DECODE(A.SPEC_BATL_YN , 'Y', 1, 0) SPEC_BATL,
D.CODENM SHIP_MENT_STR, A.NLL_YN NLL,
E.CODENM SHIP_TYPE_STR, A.AGENCY_TYPE ,
F.CODENM WO_DTTN_STR, A.AGENCY_GUARD ,
G.CODENM AGENCY_GUARD_STR , G.CODENM AGENCY_GUARD_STR ,
H.CODENM SHIP_QLTY_STR, A.AGENCY_VESSEL ,
I.CODE_NM ADDR_AREA_STR, A.SHIP_NAME ,
case A.PROC_COND A.SHIP_TONNAGE ,
when '01' then 1 A.SHIP_CREW_CNT ,
else 0 A.SHIP_QLTY ,
end PROC_COND1, A.SHIP_MENT ,
case A.PROC_COND D.CODENM SHIP_MENT_STR,
when '02' then 1 A.SHIP_PORT_NAME ,
else 0 A.CAP_NAME ,
end PROC_COND2, A.CAP_CHN_NAME ,
case A.NLL_YN A.CAP_AGE ,
when 'Y' then 1 A.SHIP_TYPE ,
else 0 E.CODENM SHIP_TYPE_STR,
end NLL, A.VIO_FISH ,
case A.IVSN_TYPE A.VIO_CNT ,
when 'YRB2' then 1 A.VIO_PRTD_AMT ,
else 0 A.PROC_COND ,
end IVSN_TYPE1, DECODE(A.PROC_COND, '01', 1, 0) PROC_COND1,
case A.IVSN_TYPE DECODE(A.PROC_COND, '02', 1, 0) PROC_COND2,
when 'YRD1' then 1 A.MRGN_PYMT_YN ,
else 0 DECODE(A.MRGN_PYMT_YN, 'N', 1, 0) PYMT_N_CNT,
end IVSN_TYPE2, A.MRGN_PYMT_AMT ,
case A.IVSN_TYPE DECODE(MRGN_PYMT_YN, 'Y', MRGN_PYMT_AMT, 0) PYMT_Y_AMT,
when 'YRA1' then 1 DECODE(MRGN_PYMT_YN, 'N', MRGN_PYMT_AMT, 0) PYMT_N_AMT,
else 0
end IVSN_TYPE3, TO_CHAR(MRGN_PYMT_DATE, 'YYYY-MM-DD') MRGN_PYMT_DATE ,
case A.IVSN_TYPE A.SHIP_PROC_TYPE ,
when 'YRB1' then 1 DECODE(A.SHIP_PROC_TYPE, '01', 1, 0) SHIP_PROC_TYPE_A,
else 0 DECODE(A.SHIP_PROC_TYPE, '02', 1, 0) SHIP_PROC_TYPE_B,
end IVSN_TYPE4, DECODE(A.SHIP_PROC_TYPE, '03', 1, 0) SHIP_PROC_TYPE_C,
case A.SPEC_BATL_YN DECODE(A.SHIP_PROC_TYPE, '04', 1, 0) SHIP_PROC_TYPE_D,
when 'Y' then 1 DECODE(A.SHIP_PROC_TYPE, '05', 1, 0) SHIP_PROC_TYPE_E,
else 0
end SPEC_BATL, A.DTTN_CAP_CNT ,
case A.PROC_COND A.DTTN_MATE_CNT ,
when '02' then 1 A.DTTN_ENG_CNT ,
else 0 A.DTTN_CREW_CNT ,
end PROC_COND_Y, A.WO_DTTN_TYPE ,
case A.PROC_COND F.CODENM WO_DTTN_STR,
when '01' then 1 TO_CHAR(A.FIELD_ARST_DATE, 'YYYY-MM-DD hh24:mi') FIELD_ARST_DATE,
else 0 TO_CHAR(A.FIELD_RLS_DATE, 'YYYY-MM-DD hh24:mi') FIELD_RLS_DATE ,
end PROC_COND_N, DECODE(A.FIELD_ARST_DATE, NULL, 0, 1) FIELD_CNT,
case A.MRGN_PYMT_YN A.LEAD_DISTANCE ,
when 'Y' then A.MRGN_PYMT_AMT A.LEAD_HOUR ,
else 0 A.LEAD_NUMBER ,
end PYMT_Y_AMT, A.LEAD_MINUTE ,
case A.MRGN_PYMT_YN A.GEAR_CAST ,
when 'N' then A.MRGN_PYMT_AMT A.GEAR_WIDTH ,
else 0 A.GEAR_ETC ,
end PYMT_N_AMT, A.STATUS ,
case A.MRGN_PYMT_YN A.DEL_YN ,
when 'N' then 1 A.REG_DATE ,
else 0 A.REG_USER ,
end PYMT_N_CNT, A.REG_AGENCY,
case A.MRGN_PYMT_YN A.TRAMSPOR_TATION,
when 'N' then 1 A.FOREIGN_CREW,
else 0 A.ITEM_TEST,
end NOT_PAYMENT, A.REMARKS_LIST,
case A.SHIP_PROC_TYPE A.AVIOLENT_CRIME,
when '01' then 1 A.VIOLENT_CRIME,
else 0 A.INTELLIGENT_CRIME,
end SHIP_PROC_TYPE_A, A.THEFT_CRIME,
case A.SHIP_PROC_TYPE A.SPECIAL_LAW,
when '02' then 1 A.ARRANGE_TRANSPORT,
else 0 A.ILLENGAL_MOVE,
end SHIP_PROC_TYPE_B, A.TRAN_SPORTATION,
case A.SHIP_PROC_TYPE A.QUANTITY_CAP,
when '03' then 1 A.PRICE_MONEY,
else 0 A.TARGET_COUNTRY,
end SHIP_PROC_TYPE_C, A.ESCAPE_CHINA,
case A.SHIP_PROC_TYPE A.EMPLOYMENT_CHINA,
when '04' then 1 A.ETC_CHINA,
else 0 A.ESCAPE_JAPAN,
end SHIP_PROC_TYPE_D, A.EMPLYMENT_JAPAN,
case A.SHIP_PROC_TYPE A.ETC_JAPAN,
when '05' then 1 A.ESCAPE_COUNTRIES,
else 0 A.EMPLOYMENT_COUNTRIES,
end SHIP_PROC_TYPE_E, A.ETC_COUNTRIES,
case A.FIELD_ARST_DATE A.SMUGGLING_NAME,
when null then 0 A.SMUGGLING_CHN,
else 1 A.SMUGGLING_AGE,
end FIELD_CNT A.SMUGGLING_WORLD,
FROM T_ITN_ARREST_INFO A A.SPILL_TARGET,
inner join CD_CODE C on C.GP_CODE = 'A001' AND A.ADDR_CITY = C.CODE AND A.ADDR_AREA = C.UP_CODE -- 시군구 A.AMOUNTOF_COMPENSATION,
inner join TCODE D on A.SHIP_MENT = D.CODE2 AND D.CODE1 = 'SSRR' -- 선적 A.INTEL_PROPERTY,
inner join TCODE E on A.SHIP_TYPE = E.CODE2 AND E.CODE1 = 'FA81' -- 선종 A.QUEN_CHING,
inner join TCODE F on F.CODE1 = 'T005' AND A.WO_DTTN_TYPE = F.CODE2 -- 무혐의불구속 A.FOREIGN_CURRENCY,
left outer join TCODE G on G.CODE1 = 'C001' and G.CODE2 = A.AGENCY_GUARD -- A.FOREIGNCURRENCYA_MOUNT,
inner join TCODE H on H.CODE1 = 'T004' AND A.SHIP_QLTY = H.CODE2 -- 선질 A.NOIN_SURANCE,
inner join CD_CODE I on I.GP_CODE = 'A001' AND I.UP_CODE ='0000' AND A.ADDR_AREA = I.CODE -- 특별광역시도 A.ALLEN_DAMAGE,
WHERE A.DEL_YN = 'N' A.ORIGIN_VIOLATION,
A.INHIBITION_SOCIALSAFETY,
A.SAIL_PEOPLE,
A.SAIL_OUTSIDE,
A.DRUG_ADMINISTRATION,
A.CARRYON_OFDRUGS,
A.DRUG_SALE,
A.DRUG_ITEM,
A.DRUG_GUANTITY,
A.DRUG_AMOUNT,
A.OMOF_TRANSPORT,
A.DIRECT_SMUGGLING,
A.OTHERMENSOF_DIRECT
FROM T_ITN_ARREST_INFO A,
(SELECT CODE, UP_CODE, CODE_NM FROM CD_CODE C WHERE GP_CODE = 'A001' ) C, -- 시군구
TCODE D , -- 선적
TCODE E , -- 선종
TCODE F , -- 무혐의불구속
(SELECT CODE1, CODE2, CODENM FROM TCODE WHERE CODE1 = 'C001' ) G
WHERE DEL_YN = 'N'
AND (A.ADDR_CITY = C.CODE AND A.ADDR_AREA = C.UP_CODE)
AND (A.SHIP_MENT = D.CODE2 AND D.CODE1 = 'SSRR')
AND (A.SHIP_TYPE = E.CODE2 AND E.CODE1 = 'FA81')
AND (A.WO_DTTN_TYPE = F.CODE2 AND F.CODE1 = 'T005')
AND G.CODE2(+) = A.AGENCY_GUARD
]]>
<if test="startDate != null and startDate != ''"><![CDATA[ <if test="startDate != null and startDate != ''"><![CDATA[
AND A.ARST_DATE >= TO_DATE( #{startDate} || ' 00:00', 'YYYY-MM-DD hh24:mi') AND A.ARST_DATE >= TO_DATE( #{startDate} || ' 00:00', 'YYYY-MM-DD hh24:mi')
]]></if> ]]></if>