중간저장.

master
강석 최 2022-04-20 18:33:29 +09:00
parent 0b71e50d0c
commit 0e3b99ec25
1 changed files with 135 additions and 238 deletions

View File

@ -582,283 +582,180 @@
</select>
<select id="getArrestListExcel" parameterType="arrestSearchVO" resultMap="arrestResult">
<![CDATA[
SELECT /*+IDX_T_ITN_ARREST_INFO*/
A.ID ,
TO_CHAR(A.ARST_DATE, 'YYYY-MM-DD hh24:mi') ARST_DATE,
' ' || I.CODE_NM || ' ' || C.CODE_NM || ' ' || ADDR_DTL ADDR_STR,
C.CODE_NM ADDR_STR,
I.CODE_NM ADDR_AREA_STR,
A.ADDR_DTL ,
A.VLTN_TYPE ,
A.VLTN_DTL,
DECODE(A.IVSN_TYPE, 'YRB2', '1', '') IVSN_TYPE1,
DECODE(A.IVSN_TYPE, 'YRD1', '1', '') IVSN_TYPE2,
DECODE(A.IVSN_TYPE, 'YRA1', '1', '') IVSN_TYPE3,
DECODE(A.IVSN_TYPE, 'YRB1', '1', '') IVSN_TYPE4,
DECODE(A.SPEC_BATL_YN, 'Y', '1' , '') SPEC_BATL_YN,
A.NLL_YN,
A.AGENCY_TYPE ,
A.AGENCY_GUARD ,
DECODE(A.AGENCY_TYPE, '01', '해양경찰청', '02', '부산해양경찰서', '03', '인천해양경찰서', '04','속초해양경찰서','05','동해해양경찰서','06','태안해양경찰서','07','군산해양경찰서','08','목포해양경찰서','09','완도해양경찰서','10','여수해양경찰서','11','포항해양경찰서','12','울산해양경찰서','13','통영해양경찰서','14','제주해양경찰서','15','평택해양경찰서','16','창원해양경찰서','17','보령해양경찰서','18','서귀포해양경찰서','19','부안해양경찰서','20','울진해양경찰서','21','서해5도특별단','22','중부지방해양경찰청','23','제주지방해양경찰청','24','서해지방해양경찰청','25','남해지방해양경찰청','26','동해지방해양경찰청','27','해외주재관','28','해양경비안전교육원','29','정비창','30','국제협력','31','통계항목코드') AGENCY_GUARD_STR,
A.AGENCY_VESSEL ,
A.SHIP_NAME ,
A.SHIP_TONNAGE ,
A.SHIP_CREW_CNT ,
A.SHIP_QLTY ,
H.CODENM SHIP_QLTY_STR,
A.SHIP_MENT ,
D.CODENM SHIP_MENT_STR,
A.SHIP_PORT_NAME ,
A.CAP_NAME || '(' || A.CAP_AGE || ')' CAP_NAME,
A.CAP_CHN_NAME ,
A.CAP_AGE ,
A.SHIP_TYPE ,
E.CODENM SHIP_TYPE_STR,
A.VIO_FISH ,
A.VIO_CNT ,
A.VIO_PRTD_AMT ,
A.PROC_COND ,
DECODE(A.PROC_COND, '02', '1', '') PROC_COND_Y,
DECODE(A.PROC_COND, '01', '1', '') PROC_COND_N,
A.MRGN_PYMT_YN ,
DECODE(A.MRGN_PYMT_YN, 'Y', A.MRGN_PYMT_AMT, '' ) MRGN_PYMT_AMT,
DECODE(A.MRGN_PYMT_YN, 'N', A.MRGN_PYMT_AMT, '' ) NO_MRGN_PYMT_AMT,
TO_CHAR(MRGN_PYMT_DATE, 'YYYY-MM-DD hh24:mi') MRGN_PYMT_DATE ,
DECODE(A.MRGN_PYMT_YN, 'N', '1', '') NOT_PAYMENT,
A.SHIP_PROC_TYPE ,
DECODE(A.SHIP_PROC_TYPE, '01', '1', '') SHIP_PROC_TYPE_A,
DECODE(A.SHIP_PROC_TYPE, '02', '1', '') SHIP_PROC_TYPE_B,
DECODE(A.SHIP_PROC_TYPE, '03', '1', '') SHIP_PROC_TYPE_C,
DECODE(A.SHIP_PROC_TYPE, '04', '1', '') SHIP_PROC_TYPE_D,
DECODE(A.SHIP_PROC_TYPE, '05', '1', '') SHIP_PROC_TYPE_E,
A.SHIP_CMSN_COST,
A.DTTN_CAP_CNT ,
A.DTTN_MATE_CNT ,
A.DTTN_ENG_CNT ,
A.DTTN_CREW_CNT ,
A.DTTN_CAP_CNT + A.DTTN_MATE_CNT + A.DTTN_ENG_CNT + A.DTTN_CREW_CNT DTTN_TOTAL_CNT,
A.WO_DTTN_TYPE ,
F.CODENM WO_DTTN_STR,
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.FIELD_ARST_DATE, NULL, '', '1') FIELD_CNT,
A.LEAD_DISTANCE ,
A.LEAD_HOUR ,
A.LEAD_NUMBER ,
A.LEAD_MINUTE ,
A.GEAR_CAST ,
A.GEAR_WIDTH ,
A.GEAR_ETC ,
A.STATUS ,
A.DEL_YN ,
A.REG_DATE ,
A.REG_USER ,
A.REG_AGENCY,
A.TRAMSPOR_TATION,
A.FOREIGN_CREW,
A.ITEM_TEST,
A.REMARKS_LIST,
A.AVIOLENT_CRIME,
A.VIOLENT_CRIME,
A.INTELLIGENT_CRIME,
A.THEFT_CRIME,
A.SPECIAL_LAW,
A.ARRANGE_TRANSPORT,
A.ILLENGAL_MOVE,
A.TRAN_SPORTATION,
A.QUANTITY_CAP,
A.PRICE_MONEY,
A.TARGET_COUNTRY,
A.ESCAPE_CHINA,
A.EMPLOYMENT_CHINA,
A.ETC_CHINA,
A.ESCAPE_JAPAN,
A.EMPLYMENT_JAPAN,
A.ETC_JAPAN,
A.ESCAPE_COUNTRIES,
A.EMPLOYMENT_COUNTRIES,
A.ETC_COUNTRIES,
A.SMUGGLING_NAME,
A.SMUGGLING_CHN,
A.SMUGGLING_AGE,
A.SMUGGLING_WORLD,
A.SPILL_TARGET,
A.AMOUNTOF_COMPENSATION,
A.INTEL_PROPERTY,
A.QUEN_CHING,
A.FOREIGN_CURRENCY,
A.FOREIGNCURRENCYA_MOUNT,
A.NOIN_SURANCE,
A.ALLEN_DAMAGE,
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 , -- 선종
(SELECT CODE1, CODE2, CODENM FROM TCODE WHERE CODE1 = 'T005' ) F , -- 무혐의불구속
(SELECT CODE1, CODE2, CODENM FROM TCODE WHERE CODE1 = 'C001' ) G , --
(SELECT CODE1, CODE2, CODENM FROM TCODE WHERE CODE1 = 'T004' ) H , -- 선질
(SELECT CODE, UP_CODE, CODE_NM FROM CD_CODE C WHERE GP_CODE = 'A001' AND UP_CODE ='0000' ) I -- 특별광역시도
WHERE A.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 G.CODE2(+) = A.AGENCY_GUARD
AND A.SHIP_QLTY = H.CODE2
AND A.ADDR_AREA = I.CODE
]]>
<if test="startDate != null and startDate != ''"><![CDATA[
SELECT
A.* ,
(A.DTTN_CAP_CNT::int + A.DTTN_MATE_CNT::int + A.DTTN_ENG_CNT::int + A.DTTN_CREW_CNT::int) DTTN_TOTAL_CNT,
TO_CHAR(A.ARST_DATE, 'YYYY-MM-DD hh24:mi') ARST_DATE,
TO_CHAR(MRGN_PYMT_DATE, 'YYYY-MM-DD hh24:mi') MRGN_PYMT_DATE ,
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 ,
C.CODE_NM ADDR_STR,
D.CODENM SHIP_MENT_STR,
E.CODENM SHIP_TYPE_STR,
F.CODENM WO_DTTN_STR,
G.CODENM AGENCY_GUARD_STR ,
H.CODENM SHIP_QLTY_STR,
I.CODE_NM ADDR_AREA_STR,
case A.IVSN_TYPE
when 'YRB2' then '1'
else ''
end IVSN_TYPE1,
case A.IVSN_TYPE
when 'YRD1' then '1'
else ''
end IVSN_TYPE2,
case A.IVSN_TYPE
when 'YRA1' then '1'
else ''
end IVSN_TYPE3,
case A.IVSN_TYPE
when 'YRB1' then '1'
else ''
end IVSN_TYPE4,
case A.SPEC_BATL_YN
when 'Y' then '1'
else ''
end SPEC_BATL_YN,
case A.PROC_COND
when '02' then '1'
else ''
end PROC_COND_Y,
case A.PROC_COND
when '01' then '1'
else ''
end PROC_COND_N,
case A.MRGN_PYMT_YN
when 'Y' then A.MRGN_PYMT_AMT
else 0
end MRGN_PYMT_AMT,
case A.MRGN_PYMT_YN
when 'N' then A.MRGN_PYMT_AMT
else 0
end NO_MRGN_PYMT_AMT,
case A.MRGN_PYMT_YN
when 'N' then '1'
else ''
end NOT_PAYMENT,
case A.SHIP_PROC_TYPE
when '01' then '1'
else ''
end SHIP_PROC_TYPE_A,
case A.SHIP_PROC_TYPE
when '02' then '1'
else ''
end SHIP_PROC_TYPE_B,
case A.SHIP_PROC_TYPE
when '03' then '1'
else ''
end SHIP_PROC_TYPE_C,
case A.SHIP_PROC_TYPE
when '04' then '1'
else ''
end SHIP_PROC_TYPE_D,
case A.SHIP_PROC_TYPE
when '05' then '1'
else ''
end SHIP_PROC_TYPE_E,
case A.FIELD_ARST_DATE
when null then ''
else '1'
end FIELD_CNT
FROM T_ITN_ARREST_INFO A
inner join CD_CODE C on C.GP_CODE = 'A001' AND A.ADDR_CITY = C.CODE AND A.ADDR_AREA = C.UP_CODE -- 시군구
inner join TCODE D on A.SHIP_MENT = D.CODE2 AND D.CODE1 = 'SSRR' -- 선적
inner join TCODE E on A.SHIP_TYPE = E.CODE2 AND E.CODE1 = 'FA81' -- 선종
inner join TCODE F on F.CODE1 = 'T005' AND A.WO_DTTN_TYPE = F.CODE2 -- 무혐의불구속
left outer join TCODE G on G.CODE1 = 'C001' and G.CODE2 = A.AGENCY_GUARD --
inner join TCODE H on H.CODE1 = 'T004' AND A.SHIP_QLTY = H.CODE2 -- 선질
inner join CD_CODE I on I.GP_CODE = 'A001' AND I.UP_CODE ='0000' AND A.ADDR_AREA = I.CODE -- 특별광역시도
WHERE A.DEL_YN = 'N'
<if test="startDate != null and startDate != ''">
AND A.ARST_DATE >= TO_DATE( #{startDate} || ' 00:00', 'YYYY-MM-DD hh24:mi')
]]></if>
<if test="endDate != null and endDate != ''"><![CDATA[
AND A.ARST_DATE <= TO_DATE( #{endDate} || ' 23:59', 'YYYY-MM-DD hh24:mi')
]]></if>
<if test="agencyType != null and agencyType != ''"><![CDATA[
AND A.AGENCY_TYPE = #{agencyType}
]]></if>
<if test="agencyGuard != null and agencyGuard != ''"><![CDATA[
AND A.AGENCY_GUARD = #{agencyGuard}
]]></if>
<if test="agencyVessel != null and agencyVessel != ''"><![CDATA[
AND A.AGENCY_VESSEL like '%' || #{agencyVessel} || '%'
]]></if>
<if test="addrArea != null and addrArea != ''"><![CDATA[
AND A.ADDR_AREA = #{addrArea}
]]></if>
<if test="addrCity != null and addrCity != ''"><![CDATA[
AND A.ADDR_CITY = #{addrCity}
]]></if>
<if test="violateType != null and violateType != ''"><![CDATA[
AND A.VLTN_TYPE = #{violateType}
]]></if>
<if test="shipName != null and shipName != ''"><![CDATA[
AND A.SHIP_NAME LIKE '%' || #{shipName} || '%'
]]></if>
<if test="invasionType == null or invasionType.length == 0">
AND 1 = 0
</if>
<if test="endDate != null and endDate != ''">
AND A.ARST_DATE &lt;= TO_DATE( #{endDate} || ' 23:59', 'YYYY-MM-DD hh24:mi')
</if>
<if test="agencyType != null and agencyType != ''">
AND A.AGENCY_TYPE = #{agencyType}
</if>
<if test="agencyGuard != null and agencyGuard != ''">
AND A.AGENCY_GUARD = #{agencyGuard}
</if>
<if test="agencyVessel != null and agencyVessel != ''">
AND A.AGENCY_VESSEL like '%' || #{agencyVessel} || '%'
</if>
<if test="addrArea != null and addrArea != ''">
AND A.ADDR_AREA = #{addrArea}
</if>
<if test="addrCity != null and addrCity != ''">
AND A.ADDR_CITY = #{addrCity}
</if>
<if test="violateType != null and violateType != ''">
AND A.VLTN_TYPE = #{violateType}
</if>
<if test="shipName != null and shipName != ''">
AND A.SHIP_NAME LIKE '%' || #{shipName} || '%'
</if>
<if test="shipType != null and shipType.length > 0">
AND A.SHIP_TYPE IN
<foreach collection="shipType" item="type" open="(" close=")"
separator=",">
<foreach collection="shipType" item="type" open="(" close=")" separator=",">
#{type}
</foreach>
</if>
<if test="shipType == null or shipType.length == 0">
AND 1 = 0
</if>
<if test="procCondition != null and procCondition.length > 0">
AND A.PROC_COND IN
<foreach collection="procCondition" item="type" open="("
close=")" separator=",">
<foreach collection="procCondition" item="type" open="(" close=")" separator=",">
#{type}
</foreach>
</if>
<if test="procCondition == null or procCondition.length == 0">
AND 1 = 0
</if>
<if test="arrShipTonnage != null and arrShipTonnage.length > 0">
<choose>
<when test="arrShipTonnage.length == 1 and arrShipTonnage[0] == '01'"><![CDATA[
AND A.SHIP_TONNAGE < 50
]]></when>
<when test="arrShipTonnage.length.equals(1) and arrShipTonnage[0].equals('02')"><![CDATA[
AND A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE < 100
]]></when>
<when test="arrShipTonnage.length.equals(1) and arrShipTonnage[0].equals('03')"><![CDATA[
<when test="arrShipTonnage.length == 1 and arrShipTonnage[0] == '01'">
AND A.SHIP_TONNAGE &lt; 50
</when>
<when test="arrShipTonnage.length.equals(1) and arrShipTonnage[0].equals('02')">
AND A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE &lt; 100
</when>
<when test="arrShipTonnage.length.equals(1) and arrShipTonnage[0].equals('03')">
AND A.SHIP_TONNAGE >= 100
]]></when>
<when
test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('01') and arrShipTonnage[1].equals('02')"><![CDATA[
AND ( A.SHIP_TONNAGE < 50 OR ( A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE < 100 ) )
]]></when>
<when
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>
</when>
<when test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('01') and arrShipTonnage[1].equals('02')">
AND ( A.SHIP_TONNAGE &lt; 50 OR ( A.SHIP_TONNAGE >= 50 AND A.SHIP_TONNAGE &lt; 100 ) )
</when>
<when test="arrShipTonnage.length.equals(2) and arrShipTonnage[0].equals('01') and arrShipTonnage[1].equals('03')">
AND ( A.SHIP_TONNAGE &lt; 50 OR A.SHIP_TONNAGE >= 100 )
</when>
<when 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 ) )
</when>
</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=",">
<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=",">
<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=",">
<foreach collection="shipMent" item="type" open="(" close=")" separator=",">
#{type}
</foreach>
</if>
<if test="shipMent == null or shipMent.length == 0">
AND 1 = 0
</if>
</select>
<select id="getArrestListAllCount" parameterType="kcg.faics.inter.vo.InternationalVO"
resultMap="arrestCountResult">
<select id="getArrestListAllCount" parameterType="kcg.faics.inter.vo.InternationalVO" resultMap="arrestCountResult">
<![CDATA[
SELECT SUM(IVSN_TYPE1) IVSN_TYPE1,
SUM(IVSN_TYPE2) IVSN_TYPE2,