외사통계 > 국제범죄 단속시스템 > 국제범죄 검거현황 페이지 조회 오류, 엑셀 오류 수정.

master
강석 최 2022-04-21 16:30:32 +09:00
parent 0e3b99ec25
commit 2939d541a8
2 changed files with 383 additions and 467 deletions

View File

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