Merge branch 'master' of http://118.219.150.34:50501/DBNT/FAISP
commit
c62ae76a4a
|
|
@ -40,7 +40,6 @@ public class CrackdownStatusController {
|
|||
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
crackdownStatus.setQueryInfo();
|
||||
List<CrackdownStatus> crackdownStatusList = crackdownStatusService.selectCrackdownStatusList(crackdownStatus);
|
||||
|
||||
for (CrackdownStatus cds:crackdownStatusList) {
|
||||
|
|
@ -51,8 +50,6 @@ public class CrackdownStatusController {
|
|||
}
|
||||
|
||||
mav.addObject("crackdownStatusList", crackdownStatusList);
|
||||
crackdownStatus.setContentCnt(crackdownStatusService.selectCrackdownStatusListCnt(crackdownStatus));
|
||||
crackdownStatus.setPaginationInfo();
|
||||
mav.addObject("searchParams", crackdownStatus);
|
||||
return mav;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -47,8 +47,6 @@ public class ProcessResultController {
|
|||
}
|
||||
|
||||
mav.addObject("processResultList", processResultList);
|
||||
processResult.setContentCnt(processResultService.selectProcessResultListCnt(processResult));
|
||||
processResult.setPaginationInfo();
|
||||
mav.addObject("searchParams", processResult);
|
||||
return mav;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@ public class SailorController {
|
|||
String accessAuth = authMgtService.selectAccessConfigList(loginUser.getUserSeq(), "/faStatistics/sailor").get(0).getAccessAuth();
|
||||
|
||||
mav.addObject("accessAuth", accessAuth);
|
||||
|
||||
List<Sailor> sailorList = sailorService.selectSailorList(sailor);
|
||||
|
||||
for (Sailor s:sailorList) {
|
||||
|
|
|
|||
|
|
@ -9,8 +9,11 @@ import lombok.NoArgsConstructor;
|
|||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
|
|
@ -99,4 +102,129 @@ public class CrackdownStatus extends CrackdownStatusBaseEntity {
|
|||
private List<Integer> violationDeleteKeyList;
|
||||
@Transient
|
||||
private List<Integer> sailorDeleteKeyList;
|
||||
|
||||
@Transient
|
||||
private String year;
|
||||
@Transient
|
||||
private String month;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate napoDate;
|
||||
@Transient
|
||||
private String violation;
|
||||
@Transient
|
||||
private String boatNameKr;
|
||||
@Transient
|
||||
private Integer tonStartCnt;
|
||||
@Transient
|
||||
private Integer tonEndCnt;
|
||||
@Transient
|
||||
private String boatMaterial;
|
||||
@Transient
|
||||
private String boatNnySung;
|
||||
@Transient
|
||||
private String boatNnySi;
|
||||
@Transient
|
||||
private String sailorNameKr;
|
||||
@Transient
|
||||
private String fisheryType;
|
||||
@Transient
|
||||
private String catchFishSpecies;
|
||||
@Transient
|
||||
private String catchCnt;
|
||||
@Transient
|
||||
private String offenseFishSpecies;
|
||||
@Transient
|
||||
private String offenseCatchCnt;
|
||||
@Transient
|
||||
private String offenseIllegalWasteQuantity;
|
||||
@Transient
|
||||
private String offenseQuantity;
|
||||
@Transient
|
||||
private String offenseAmount;
|
||||
@Transient
|
||||
private String processStatus;
|
||||
@Transient
|
||||
private String damboPayment;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate paymentPaymentDate;
|
||||
@Transient
|
||||
private Integer damboUnpaidAmount;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate consignmentStartDate;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate consignmentEndDate;
|
||||
/*@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate evictionDt;*/
|
||||
@Transient
|
||||
private String isEvictionDt;
|
||||
/*@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate returnDt;*/
|
||||
@Transient
|
||||
private String isReturnDt;
|
||||
/*@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate confiscationDt;*/
|
||||
@Transient
|
||||
private String isConfiscationDt;
|
||||
@Transient
|
||||
private String isConsignmentStartDt;
|
||||
@Transient
|
||||
private String isDamboUnpaidAmount;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate boatDisposalDate;
|
||||
@Transient
|
||||
private String boatDisposalType;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate directHandoverDate;
|
||||
@Transient
|
||||
private String isDirectHandoverDt;
|
||||
@Transient
|
||||
private String handoverSeaPointLat;
|
||||
@Transient
|
||||
private String handoverSeaPointLon;
|
||||
@Transient
|
||||
private String handoverSeaPointDetail;
|
||||
@Transient
|
||||
private String handoverBoat;
|
||||
@Transient
|
||||
private String middleTakeoverBoat;
|
||||
@Transient
|
||||
private String captin;
|
||||
@Transient
|
||||
private String mate;
|
||||
@Transient
|
||||
private String warden;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate fieldIvsgtNapoDate;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate fieldIvsgtReleaseDate;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate pressurizedStartDate;
|
||||
@Transient
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
private LocalDate pressurizedEndDate;
|
||||
@Transient
|
||||
private String distance;
|
||||
@Transient
|
||||
private String confiscationFrame;
|
||||
@Transient
|
||||
private String confiscationWidth;
|
||||
@Transient
|
||||
private String confiscationJo;
|
||||
@Transient
|
||||
private String confiscationGae;
|
||||
@Transient
|
||||
private String confiscationEtc;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,4 +48,13 @@ public class ProcessResult extends ProcessResultBaseEntity {
|
|||
private List<CrackdownStatus> crackdownStatusList;
|
||||
@Transient
|
||||
private List<FishingBoat> fishingBoatList;
|
||||
|
||||
@Transient
|
||||
private String caseNum;
|
||||
@Transient
|
||||
private String crackdownPolice;
|
||||
@Transient
|
||||
private String year;
|
||||
@Transient
|
||||
private String violation;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@ import org.hibernate.annotations.DynamicInsert;
|
|||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
|
|
@ -39,4 +41,15 @@ public class Sailor extends SailorBaseEntity {
|
|||
private List<FishingBoat> fishingBoatList;
|
||||
@Transient
|
||||
private List<Violation> violationList;
|
||||
|
||||
@Transient
|
||||
private String year;
|
||||
@Transient
|
||||
private String crackdownPolice;
|
||||
@Transient
|
||||
private String crackdownBoat;
|
||||
@Transient
|
||||
private String boatNameKr;
|
||||
@Transient
|
||||
private LocalDateTime napoDt;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ public class InternationalCrimeArrestController {
|
|||
String[] headers = {"ica_key", "case_num", "organ", "department", "crime_type", "violation_type", "crime_name", "occur_table", "arrest_table", "suspect_table", "sex", "age", "country", "crime_awareness_dt", "case_sent_dt", "process_result"};
|
||||
String[] headerNames = { "", "", "", "", "", "", "", "", "", "", "피의자 인적사항", "", "", "", "", ""};
|
||||
String[] headerNames2 = { "", "사건번호", "지방청", "경찰서", "범죄테마", "위반유형", "죄명", "발생원표", "검거원표", "피의자원표","성별","나이","국적","범죄인지","사건송치","신병처리"};
|
||||
String[] columnType = { "int", "int", "String", "String", "String", "String", "String", "String", "String", "String","String","String","String","String","String","String"};
|
||||
String[] columnType = { "int", "String", "String", "String", "String", "String", "String", "String", "String", "String","String","String","String","String","String","String"};
|
||||
excel.setHeaders(headers);
|
||||
excel.setHeaderNames(headerNames);
|
||||
excel.setHeaderNames2(headerNames2);
|
||||
|
|
|
|||
|
|
@ -6,12 +6,268 @@
|
|||
<mapper namespace="com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper">
|
||||
<sql id="selectCrackdownStatusListWhere">
|
||||
<where>
|
||||
|
||||
<if test='year != null and year != ""'>
|
||||
And EXTRACT(YEAR FROM pr.wrt_dt) = #{year}::NUMERIC
|
||||
</if>
|
||||
<if test='month != null and month != ""'>
|
||||
And EXTRACT(MONTH FROM pr.wrt_dt) = #{month}::NUMERIC
|
||||
</if>
|
||||
<if test='caseNum != null and caseNum != ""'>
|
||||
AND caseNum = #{caseNum}
|
||||
</if>
|
||||
<if test='nll != null and nll != ""'>
|
||||
AND nll = #{nll}
|
||||
</if>
|
||||
<if test='napoDate != null'>
|
||||
AND napo_dt::DATE = #{napoDate}::DATE
|
||||
</if>
|
||||
<if test='violation != null and violation != ""'>
|
||||
AND violation = #{violation}
|
||||
</if>
|
||||
<if test='invasionType != null and invasionType != ""'>
|
||||
AND invasion_type = #{invasionType}
|
||||
</if>
|
||||
<if test='napoSeaPointDetail != null and napoSeaPointDetail != ""'>
|
||||
AND (
|
||||
napo_sea_point_detail LIKE CONCAT('%', #{napoSeaPointDetail}, '%')
|
||||
OR napo_sea_point_lon LIKE CONCAT('%', #{napoSeaPointDetail}, '%')
|
||||
OR napo_sea_point_lat LIKE CONCAT('%', #{napoSeaPointDetail}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test='obstrExspdCnt != null and obstrExspdCnt != ""'>
|
||||
AND obstr_exspd_cnt = #{obstrExspdCnt}
|
||||
</if>
|
||||
<if test='personDamageCnt != null and personDamageCnt != ""'>
|
||||
AND person_damage_cnt = #{personDamageCnt}
|
||||
</if>
|
||||
<if test='personDamageAmount != null and personDamageAmount != ""'>
|
||||
AND person_damage_amount = #{personDamageAmount}
|
||||
</if>
|
||||
<if test='personDamageDetail != null and personDamageDetail != ""'>
|
||||
AND person_damage_detail LIKE CONCAT('%', #{personDamageDetail}, '%')
|
||||
</if>
|
||||
<if test='materialDamageCnt != null and materialDamageCnt != ""'>
|
||||
AND material_damage_cnt = #{materialDamageCnt}
|
||||
</if>
|
||||
<if test='materialDamageAmount != null and materialDamageAmount != ""'>
|
||||
AND material_damage_amount = #{materialDamageAmount}
|
||||
</if>
|
||||
<if test='materialDamageDetail != null and materialDamageDetail != ""'>
|
||||
AND material_damage_detail LIKE CONCAT('%', #{materialDamageDetail}, '%')
|
||||
</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='mmsi != null and mmsi != ""'>
|
||||
AND mmsi LIKE CONCAT('%', #{mmsi}, '%')
|
||||
</if>
|
||||
<if test='boatNameKr != null and boatNameKr != ""'>
|
||||
AND boat_name_kr LIKE CONCAT('%', #{boatNameKr}, '%')
|
||||
</if>
|
||||
<if test='tonStartCnt != null and tonStartCnt != ""'>
|
||||
AND ton_cnt <![CDATA[>=]]> #{tonStartCnt}
|
||||
</if>
|
||||
<if test='tonEndCnt != null and tonEndCnt != ""'>
|
||||
AND ton_cnt <![CDATA[<=]]> #{tonEndCnt}
|
||||
</if>
|
||||
<if test='boatMaterial != null and boatMaterial != ""'>
|
||||
AND boat_material = #{boatMaterial}
|
||||
</if>
|
||||
<if test='boatNnySung != null and boatNnySung != ""'>
|
||||
AND boat_nny_sung LIKE CONCAT('%', #{boatNnySung}, '%')
|
||||
</if>
|
||||
<if test='boatNnySi != null and boatNnySi != ""'>
|
||||
AND boat_nny_si LIKE CONCAT('%', #{boatNnySi}, '%')
|
||||
</if>
|
||||
<if test='sailorNameKr != null and sailorNameKr != ""'>
|
||||
AND sailor_name_kr LIKE CONCAT('%', #{sailorNameKr}, '%')
|
||||
</if>
|
||||
<if test='fisheryType != null and fisheryType != ""'>
|
||||
AND fishery_type = #{fisheryType}
|
||||
</if>
|
||||
<if test='catchFishSpecies != null and catchFishSpecies != ""'>
|
||||
AND catch_fish_species LIKE CONCAT('%', #{catchFishSpecies}, '%')
|
||||
</if>
|
||||
<if test='catchCnt != null and catchCnt != ""'>
|
||||
AND catch_cnt = #{catchCnt}
|
||||
</if>
|
||||
<if test='offenseFishSpecies != null and offenseFishSpecies != ""'>
|
||||
AND offense_fish_species LIKE CONCAT('%', #{offenseFishSpecies}, '%')
|
||||
</if>
|
||||
<if test='offenseCatchCnt != null and offenseCatchCnt != ""'>
|
||||
AND offense_catch_cnt = #{offenseCatchCnt}
|
||||
</if>
|
||||
<if test='offenseIllegalWasteQuantity != null and offenseIllegalWasteQuantity != ""'>
|
||||
AND offense_illegal_waste_quantity = #{offenseIllegalWasteQuantity}
|
||||
</if>
|
||||
<if test='offenseQuantity != null and offenseQuantity != ""'>
|
||||
AND offense_quantity = #{offenseQuantity}
|
||||
</if>
|
||||
<if test='offenseAmount != null and offenseAmount != ""'>
|
||||
AND offense_amount = #{offenseAmount}
|
||||
</if>
|
||||
<if test='processStatus != null and processStatus != ""'>
|
||||
AND process_status = #{processStatus}
|
||||
</if>
|
||||
<if test='damboPayment != null and damboPayment != ""'>
|
||||
AND dambo_payment = #{damboPayment}
|
||||
</if>
|
||||
<if test='paymentPaymentDate != null'>
|
||||
AND payment_payment_dt::DATE = #{paymentPaymentDate}::DATE
|
||||
</if>
|
||||
<if test='damboUnpaidAmount != null and damboUnpaidAmount != ""'>
|
||||
AND dambo_unpaid_amount = #{damboUnpaidAmount}
|
||||
</if>
|
||||
<if test='isDamboUnpaidAmount != null and isDamboUnpaidAmount != ""'>
|
||||
<if test='isDamboUnpaidAmount == "Y"'>
|
||||
AND (
|
||||
dambo_unpaid_amount IS NOT NULL
|
||||
AND dambo_unpaid_amount > 0
|
||||
)
|
||||
</if>
|
||||
<if test='isDamboUnpaidAmount == "N"'>
|
||||
AND (
|
||||
direct_handover_dt IS NULL
|
||||
OR dambo_unpaid_amount = 0
|
||||
)
|
||||
</if>
|
||||
</if>
|
||||
<if test='isDirectHandoverDt != null and isDirectHandoverDt != ""'>
|
||||
<if test='isDirectHandoverDt == "Y"'>
|
||||
AND direct_handover_dt IS NOT NULL
|
||||
</if>
|
||||
<if test='isDirectHandoverDt == "N"'>
|
||||
AND direct_handover_dt IS NULL
|
||||
</if>
|
||||
</if>
|
||||
<!--<if test='evictionDt != null'>
|
||||
AND eviction_dt = #{evictionDt}::DATE
|
||||
</if>-->
|
||||
<if test='isEvictionDt != null and isEvictionDt != ""'>
|
||||
<if test='isEvictionDt == "Y"'>
|
||||
AND eviction_dt IS NOT NULL
|
||||
</if>
|
||||
<if test='isEvictionDt == "N"'>
|
||||
AND eviction_dt IS NULL
|
||||
</if>
|
||||
</if>
|
||||
<!--<if test='returnDt != null'>
|
||||
AND return_dt = #{returnDt}::DATE
|
||||
</if>-->
|
||||
<if test='isReturnDt != null and isReturnDt != ""'>
|
||||
<if test='isReturnDt == "Y"'>
|
||||
AND return_dt IS NOT NULL
|
||||
</if>
|
||||
<if test='isReturnDt == "N"'>
|
||||
AND return_dt IS NULL
|
||||
</if>
|
||||
</if>
|
||||
<if test='consignmentStartDate != null'>
|
||||
AND consignment_start_dt = #{consignmentStartDate}::DATE
|
||||
</if>
|
||||
<if test='consignmentEndDate != null'>
|
||||
AND consignment_end_dt = #{consignmentEndDate}::DATE
|
||||
</if>
|
||||
<!--<if test='confiscationDt != null'>
|
||||
AND confiscation_dt = #{confiscationDt}::DATE
|
||||
</if>-->
|
||||
<if test='isConfiscationDt != null and isConfiscationDt != ""'>
|
||||
<if test='isConfiscationDt == "Y"'>
|
||||
AND confiscation_dt IS NOT NULL
|
||||
</if>
|
||||
<if test='isConfiscationDt == "N"'>
|
||||
AND confiscation_dt IS NULL
|
||||
</if>
|
||||
</if>
|
||||
<if test='isConsignmentStartDt != null and isConsignmentStartDt != ""'>
|
||||
<if test='isConsignmentStartDt == "Y"'>
|
||||
AND consignment_start_dt IS NOT NULL
|
||||
</if>
|
||||
<if test='isConsignmentStartDt == "N"'>
|
||||
AND consignment_start_dt IS NULL
|
||||
</if>
|
||||
</if>
|
||||
<!--<if test='isBoatDisposal != null'>
|
||||
AND boat_disposal_dt = #{boatDisposalDt}::DATE
|
||||
</if>-->
|
||||
<if test='boatDisposalType != null and boatDisposalType != ""'>
|
||||
AND boat_disposal_type = #{boatDisposalType}
|
||||
</if>
|
||||
<if test='directHandoverDate != null'>
|
||||
AND direct_handover_dt::DATE = #{directHandoverDate}::DATE
|
||||
</if>
|
||||
<if test='handoverSeaPointDetail != null and handoverSeaPointDetail != ""'>
|
||||
AND (
|
||||
handover_sea_point_lat LIKE CONCAT('%', #{handoverSeaPointDetail}, '%')
|
||||
OR handover_sea_point_lon LIKE CONCAT('%', #{handoverSeaPointDetail}, '%')
|
||||
OR handover_sea_point_detail LIKE CONCAT('%', #{handoverSeaPointDetail}, '%')
|
||||
)
|
||||
</if>
|
||||
<if test='handoverBoat != null and handoverBoat != ""'>
|
||||
AND handover_boat LIKE CONCAT('%', #{handoverBoat}, '%')
|
||||
</if>
|
||||
<if test='middleTakeoverBoat != null and middleTakeoverBoat != ""'>
|
||||
AND middle_takeover_boat LIKE CONCAT('%', #{middleTakeoverBoat}, '%')
|
||||
</if>
|
||||
<if test='captin != null and captin != ""'>
|
||||
AND (
|
||||
position = 'POS001'
|
||||
AND is_restriction = #{captin}
|
||||
)
|
||||
</if>
|
||||
<if test='mate != null and mate != ""'>
|
||||
AND (
|
||||
position = 'POS002'
|
||||
AND is_restriction = #{mate}
|
||||
)
|
||||
</if>
|
||||
<if test='warden != null and warden != ""'>
|
||||
AND (
|
||||
position = 'POS003'
|
||||
AND is_restriction = #{warden}
|
||||
)
|
||||
</if>
|
||||
<if test='fieldIvsgtNapoDate != null'>
|
||||
AND field_ivsgt_napo_dt::DATE = #{fieldIvsgtNapoDate}::DATE
|
||||
</if>
|
||||
<if test='fieldIvsgtReleaseDate != null'>
|
||||
AND field_ivsgt_release_dt::DATE = #{fieldIvsgtReleaseDate}::DATE
|
||||
</if>
|
||||
<!--<if test='pressurizedStartDt != null'>
|
||||
AND pressurizedStartDt = #{pressurizedStartDt}::DATE
|
||||
</if>
|
||||
<if test='pressurizedEndDt != null'>
|
||||
AND pressurizedEndDt = #{pressurizedEndDt}::DATE
|
||||
</if>-->
|
||||
<if test='distance != null and distance != ""'>
|
||||
AND distance = #{distance}
|
||||
</if>
|
||||
<if test='confiscationFrame != null and confiscationFrame != ""'>
|
||||
AND confiscation_frame = #{confiscationFrame}
|
||||
</if>
|
||||
<if test='confiscationWidth != null and confiscationWidth != ""'>
|
||||
AND confiscation_width = #{confiscationWidth}
|
||||
</if>
|
||||
<if test='confiscationJo != null and confiscationJo != ""'>
|
||||
AND confiscation_jo = #{confiscationJo}
|
||||
</if>
|
||||
<if test='confiscationGae != null and confiscationGae != ""'>
|
||||
AND confiscation_gae = #{confiscationGae}
|
||||
</if>
|
||||
<if test='confiscationEtc != null and confiscationEtc != ""'>
|
||||
AND confiscation_etc = #{confiscationEtc}
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<select id="selectCrackdownStatusList" resultType="CrackdownStatus" parameterType="CrackdownStatus">
|
||||
SELECT
|
||||
SELECT DISTINCT
|
||||
cs.cds_key
|
||||
, cs.case_num
|
||||
, cs.napo_dt
|
||||
|
|
@ -85,11 +341,11 @@
|
|||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.is_restriction = 'Y' AND s.position != 'POS004') AS restrictionTotal
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.is_restriction = 'N' AND s.position != 'POS004') AS notRestrictionTotal
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS001' AND s.is_restriction = 'Y') AS restrictionCaptin
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS001' AND s.is_restriction = 'Y') AS notRestrictionCaptin
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS001' AND s.is_restriction = 'N') AS notRestrictionCaptin
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS002' AND s.is_restriction = 'Y') AS restrictionMate
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS003' AND s.is_restriction = 'Y') AS restrictionWarden
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS002' AND s.is_restriction = 'Y') AS notRestrictionMate
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS003' AND s.is_restriction = 'Y') AS notRestrictionWarden
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS002' AND s.is_restriction = 'N') AS notRestrictionMate
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.position = 'POS003' AND s.is_restriction = 'N') AS notRestrictionWarden
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.is_restriction = 'Y' AND (s.position = 'POS005' or s."position" = 'POS006')) AS restrictionSailor
|
||||
, (SELECT count(*) FROM sailor s WHERE s.fb_key = fb.fb_key AND s.is_restriction = 'N' AND (s.position = 'POS005' or s."position" = 'POS006')) AS notRestrictionSailor
|
||||
FROM crackdown_status cs
|
||||
|
|
@ -97,6 +353,10 @@
|
|||
ON cs.cds_key = fb.cds_key
|
||||
INNER JOIN process_result pr
|
||||
ON cs.cds_key = pr.cds_key
|
||||
LEFT JOIN sailor s
|
||||
ON fb.fb_key = s.fb_key
|
||||
LEFT JOIN violation v
|
||||
ON fb.fb_key = v.fb_key
|
||||
<include refid="selectCrackdownStatusListWhere"></include>
|
||||
ORDER BY cs.cds_key DESC
|
||||
LIMIT #{rowCnt} OFFSET #{firstIndex}
|
||||
|
|
|
|||
|
|
@ -6,12 +6,50 @@
|
|||
<mapper namespace="com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.ProcessResultMapper">
|
||||
<sql id="selectProcessResultListWhere">
|
||||
<where>
|
||||
|
||||
<if test='year != null and year != ""'>
|
||||
And EXTRACT(YEAR FROM pr.wrt_dt) = EXTRACT(YEAR FROM CAST(#{year} AS DATE)::TIMESTAMP)
|
||||
</if>
|
||||
<if test='caseNum != null and caseNum != ""'>
|
||||
AND caseNum = #{caseNum}
|
||||
</if>
|
||||
<if test='crackdownPolice != null and crackdownPolice != ""'>
|
||||
AND crackdown_police = #{crackdownPolice}
|
||||
</if>
|
||||
<if test='boatNameKr != null and boatNameKr != ""'>
|
||||
AND boat_name_kr LIKE CONCAT('%', #{boatNameKr}, '%')
|
||||
</if>
|
||||
<if test='violation != null and violation != ""'>
|
||||
AND violation = #{violation}
|
||||
</if>
|
||||
<if test='sentencingCourt != null and sentencingCourt != ""'>
|
||||
AND sentencing_court LIKE CONCAT('%', #{sentencingCourt}, '%')
|
||||
</if>
|
||||
<if test='sentencingDetail != null and sentencingDetail != ""'>
|
||||
AND sentencing_detail LIKE CONCAT('%', #{sentencingDetail}, '%')
|
||||
</if>
|
||||
<if test='executionDetail != null and executionDetail != ""'>
|
||||
AND execution_detail = #{executionDetail}
|
||||
</if>
|
||||
<if test='returnDt != null'>
|
||||
AND return_dt = #{returnDt}::DATE
|
||||
</if>
|
||||
<if test='consignmentStartDt != null'>
|
||||
AND consignment_start_dt = #{consignmentStartDt}::DATE
|
||||
</if>
|
||||
<if test='consignmentEndDt != null'>
|
||||
AND consignment_end_dt = #{consignmentEndDt}::DATE
|
||||
</if>
|
||||
<if test='confiscationDt != null'>
|
||||
AND confiscation_dt = #{confiscationDt}::DATE
|
||||
</if>
|
||||
<if test='boatDisposalDt != null'>
|
||||
AND boat_disposal_dt = #{boatDisposalDt}::DATE
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
<select id="selectProcessResultList" resultType="ProcessResult" parameterType="ProcessResult">
|
||||
SELECT
|
||||
SELECT DISTINCT
|
||||
pr.pr_key
|
||||
, cs.cds_key
|
||||
, cs.case_num
|
||||
|
|
@ -27,23 +65,16 @@
|
|||
, pr.consignment_end_dt
|
||||
, pr.confiscation_dt
|
||||
, pr.boat_disposal_dt
|
||||
, pr.wrt_dt
|
||||
FROM process_result pr
|
||||
INNER JOIN crackdown_status cs
|
||||
ON pr.cds_key = cs.cds_key
|
||||
INNER JOIN fishing_boat fb
|
||||
ON pr.cds_key = fb.cds_key
|
||||
LEFT JOIN violation v
|
||||
ON fb.fb_key = v.fb_key
|
||||
<include refid="selectProcessResultListWhere"></include>
|
||||
ORDER BY pr.cds_key DESC
|
||||
ORDER BY pr.pr_key DESC
|
||||
LIMIT #{rowCnt} OFFSET #{firstIndex}
|
||||
</select>
|
||||
|
||||
<select id="selectProcessResultListCnt" resultType="int" parameterType="ProcessResult">
|
||||
SELECT count(*)
|
||||
FROM crackdown_status cs
|
||||
INNER JOIN fishing_boat fb
|
||||
ON cs.cds_key = fb.cds_key
|
||||
INNER JOIN process_result pr
|
||||
ON cs.cds_key = pr.cds_key
|
||||
<include refid="selectProcessResultListWhere"></include>
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -6,7 +6,39 @@
|
|||
<mapper namespace="com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.SailorMapper">
|
||||
<sql id="selectSailorListWhere">
|
||||
<where>
|
||||
|
||||
<if test='year != null and year != ""'>
|
||||
And EXTRACT(YEAR FROM s.wrt_dt) = EXTRACT(YEAR FROM CAST(#{year} AS DATE)::TIMESTAMP)
|
||||
</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='sailorNameKr != null and sailorNameKr != ""'>
|
||||
AND sailor_name_kr LIKE CONCAT('%', #{sailorNameKr}, '%')
|
||||
</if>
|
||||
<if test='residence != null and residence != ""'>
|
||||
AND residence = #{residence}
|
||||
</if>
|
||||
<if test='education != null and education != ""'>
|
||||
AND education = #{education}
|
||||
</if>
|
||||
<if test='position != null and position != ""'>
|
||||
AND position = #{position}
|
||||
</if>
|
||||
<if test='career != null and career != ""'>
|
||||
AND career = #{career}
|
||||
</if>
|
||||
<if test='similarCriminalHistory != null and similarCriminalHistory != ""'>
|
||||
AND similar_criminal_history = #{similarCriminalHistory}
|
||||
</if>
|
||||
<if test='heterogeneousCriminalHistory != null and heterogeneousCriminalHistory != ""'>
|
||||
AND heterogeneous_criminal_history = #{heterogeneousCriminalHistory}
|
||||
</if>
|
||||
<if test='arrestHistory != null and arrestHistory != ""'>
|
||||
AND arrest_history = #{arrestHistory}
|
||||
</if>
|
||||
</where>
|
||||
</sql>
|
||||
|
||||
|
|
@ -37,8 +69,11 @@
|
|||
, s.wrt_user_nm
|
||||
, s.wrt_dt
|
||||
FROM sailor s
|
||||
INNER JOIN fishing_boat f
|
||||
ON s.fb_key = f.fb_key
|
||||
INNER JOIN crackdown_status cs
|
||||
ON f.cds_key = cs.cds_key
|
||||
<include refid="selectSailorListWhere"></include>
|
||||
ORDER BY s.sailor_key DESC
|
||||
LIMIT #{rowCnt} OFFSET #{firstIndex}
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -1,3 +1,49 @@
|
|||
$(function(){
|
||||
$("#napoDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#paymentPaymentDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#consignmentStartDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#consignmentEndDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#confiscationDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#boatDisposalDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#directHandoverDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#fieldIvsgtNapoDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#fieldIvsgtReleaseDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#pressurizedStartDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#pressurizedEndDate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
});
|
||||
$(document).on('click', '#crackdownStatusAddBtn', function () {
|
||||
getCrackdownStatusEditModal(null);
|
||||
});
|
||||
|
|
@ -296,7 +342,6 @@ function getCrackdownStatusEditModal(cdsKey){
|
|||
|
||||
function saveCrackdownStatus(saveYn){
|
||||
$('input[name="fieldIvsgtTimeTaken"]').val(dateTimeCalc($("#fieldIvsgtNapoDt").val(), $("#fieldIvsgtReleaseDt").val()));
|
||||
$('input[name="warrantReqTakeTime"]').val(dateTimeCalc($("#pressurizedStartDt").val(), $("#pressurizedEndDt").val()));
|
||||
$('input[name="pressurizedTimeTaken"]').val(dateTimeCalc($("#pressurizedStartDt").val(), $("#pressurizedEndDt").val()));
|
||||
|
||||
if(contentCheck()){
|
||||
|
|
|
|||
|
|
@ -1,3 +1,25 @@
|
|||
$(function(){
|
||||
$("#consignmentStartDt").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#consignmentEndDt").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#returnDt").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#confiscationDt").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
$("#boatDisposalDt").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
});
|
||||
$(document).on('click', '#processResultAddBtn', function () {
|
||||
getProcessResultAddModal(null);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -101,6 +101,10 @@ $(document).on('change', '#crackdownBoat', function (){
|
|||
}
|
||||
});
|
||||
|
||||
$(document).on('change', 'select[name="crackdownPolice"]', function (){
|
||||
dynamicOption('select[name="crackdownBoat"]', $(this).val());
|
||||
});
|
||||
|
||||
$(document).on('change', 'select[name="boatNameKr"]', function (){
|
||||
$('input[name="fbKey"]').val($('select[name="boatNameKr"] option:selected').data('key'));
|
||||
$('input[name="cdsKey"]').val($('select[name="boatNameKr"] option:selected').data('key2'));
|
||||
|
|
@ -202,6 +206,11 @@ function getSailorAddModal(){
|
|||
success: function(html){
|
||||
$("#sailorAddModalContent").empty().append(html);
|
||||
$("#sailorAddModal").modal('show');
|
||||
|
||||
$("#birthdate").datepicker({
|
||||
format: "yyyy-mm-dd",
|
||||
language: "ko"
|
||||
});
|
||||
},
|
||||
error:function(){
|
||||
|
||||
|
|
|
|||
|
|
@ -22,19 +22,314 @@
|
|||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||
<div class="row justify-content-between pe-3 py-1">
|
||||
<div class="col-auto">
|
||||
<select class="form-select" name="rowCnt" id="rowCnt">
|
||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="year">
|
||||
<option value="">연도</option>
|
||||
<th:block th:each="year : ${#numbers.sequence(2020, 2030)}">
|
||||
<option th:value="${year}" th:text="${year}" th:selected="${searchParams.year eq year}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="month">
|
||||
<option value="">월</option>
|
||||
<th:block th:each="month : ${#numbers.sequence(1, 12)}">
|
||||
<option th:value="${month}" th:text="${month}" th:selected="${searchParams.month eq month}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-10">
|
||||
<div class="row justify-content-end">
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="napoDate" id="napoDate" placeholder="나포일시" th:value="${#temporals.format(searchParams.napoDate, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm violation" name="violation">
|
||||
<option value="">위반내용</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('VT')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.violation}"></option>></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="napoSeaPointDetail" id="napoSeaPointDetail" placeholder="위반장소" th:value="${searchParams.napoSeaPointDetail}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="invasionType">
|
||||
<option value="">침범유형</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('IST')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.invasionType}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="nll">
|
||||
<option value="">NLL</option>
|
||||
<option value="Y" th:selected="${searchParams.nll == 'Y'}">O</option>
|
||||
<option value="N" th:selected="${searchParams.nll == 'N'}">X</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="number" min="0" class="form-control form-control-sm" name="obstrExspdCnt" id="obstrExspdCnt" placeholder="인적피해 발생건수" th:value="${searchParams.obstrExspdCnt}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="number" min="0" class="form-control form-control-sm" name="personDamageCnt" id="personDamageCnt" placeholder="인적피해 피해인원" th:value="${searchParams.personDamageCnt}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="number" min="0" class="form-control form-control-sm" name="personDamageAmount" id="personDamageAmount" placeholder="인적피해 피해액" th:value="${searchParams.personDamageAmount}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="personDamageDetail" id="personDamageDetail" placeholder="인적피해 상세내용" th:value="${searchParams.personDamageDetail}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="number" min="0" class="form-control form-control-sm" name="materialDamageCnt" id="materialDamageCnt" placeholder="물적피해 발생건수" th:value="${searchParams.materialDamageCnt}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="number" min="0" class="form-control form-control-sm" name="materialDamageAmount" id="materialDamageAmount" placeholder="물적피해 피해액" th:value="${searchParams.materialDamageAmount}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="materialDamageDetail" id="materialDamageDetail" placeholder="물적피해 상세내용" th:value="${searchParams.materialDamageDetail}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="caseAgency">
|
||||
<option value="">사건담당기관</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('ATA')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.caseAgency}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="crackdownPolice">
|
||||
<option value="">단속경찰서</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.crackdownPolice}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="crackdownBoat">
|
||||
<option value="">단속함정</option>
|
||||
<th:block th:each="num : ${#numbers.sequence(1,#lists.size(session.commonCode.get('CPO')))}">
|
||||
<th:block th:if="${'CPO'+num == searchParams.crackdownPolice}" th:each="commonCode:${session.commonCode.get('CPO'+num)}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.crackdownBoat eq commonCode.itemCd}"></option>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="mmsi" id="mmsi" placeholder="MMSI.NO" th:value="${searchParams.mmsi}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="boatNameKr" id="boatNameKr" placeholder="선명" th:value="${searchParams.boatNameKr}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div style="display: flex;">
|
||||
<input type="number" min="0" class="form-control form-control-sm" name="tonStartCnt" id="tonStartCnt" placeholder="톤수 (~이상)" th:value="${searchParams.tonStartCnt}">
|
||||
~<input type="number" min="0" class="form-control form-control-sm" name="tonEndCnt" id="tonEndCnt" placeholder="톤수 (~이하)" th:value="${searchParams.tonEndCnt}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="boatMaterial" id="boatMaterial">
|
||||
<option value="">선질</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('BM')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.boatMaterial}"></option>
|
||||
</th:block>
|
||||
<option value="etc">직접입력</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="boatNnySung" id="boatNnySung" placeholder="선적 성" th:value="${searchParams.boatNnySung}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="boatNnySi" id="boatNnySi" placeholder="선적 시" th:value="${searchParams.boatNnySi}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="sailorNameKr" id="sailorNameKr" placeholder="선장명" th:value="${searchParams.sailorNameKr}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="fisheryType" id="fisheryType">
|
||||
<option value="">선종</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('FT')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.fisheryType}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="catchFishSpecies" id="catchFishSpecies" placeholder="어획물 축소기재 어종" th:value="${searchParams.catchFishSpecies}">
|
||||
</div>
|
||||
<!--<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="catchCnt" id="catchCnt" placeholder="어획물 축소기재 수량" th:value="${searchParams.catchCnt}">
|
||||
</div>-->
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="offenseFishSpecies" id="offenseFishSpecies" placeholder="범칙물 어종" th:value="${searchParams.offenseFishSpecies}">
|
||||
</div>
|
||||
<!--<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="offenseCatchCnt" id="offenseCatchCnt" placeholder="범칙물 어획량" th:value="${searchParams.offenseCatchCnt}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="offenseIllegalWasteQuantity" id="offenseIllegalWasteQuantity" placeholder="범칙물 폐기량" th:value="${searchParams.offenseIllegalWasteQuantity}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="offenseQuantity" id="offenseQuantity" placeholder="범칙물 위판량" th:value="${searchParams.offenseQuantity}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="offenseAmount" id="offenseAmount" placeholder="범칙물 위판금액" th:value="${searchParams.offenseAmount}">
|
||||
</div>-->
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="processStatus" id="processStatus">
|
||||
<option value="">처리현황</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('PR')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.processStatus}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<!--<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="damboPayment" id="damboPayment" placeholder="담보금 납부액" th:value="${searchParams.damboPayment}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="paymentPaymentDate" id="paymentPaymentDate" placeholder="담보금 납부일시" th:value="${#temporals.format(searchParams.paymentPaymentDate, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="damboUnpaidAmount" id="damboUnpaidAmount" placeholder="담보금 미납액" th:value="${searchParams.damboUnpaidAmount}">
|
||||
</div>-->
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="isDamboUnpaidAmount" th:value="${searchParams.isDamboUnpaidAmount}">
|
||||
<option value="">담보금 미납 여부</option>
|
||||
<option value="Y" th:selected="${searchParams.isDamboUnpaidAmount eq 'Y'}">O</option>
|
||||
<option value="N" th:selected="${searchParams.isDamboUnpaidAmount eq 'N'}">X</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="isDirectHandoverDt" th:value="${searchParams.isDirectHandoverDt}">
|
||||
<option value="">직접인계 여부</option>
|
||||
<option value="Y" th:selected="${searchParams.isDirectHandoverDt eq 'Y'}">O</option>
|
||||
<option value="N" th:selected="${searchParams.isDirectHandoverDt eq 'N'}">X</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<!--<input class="form-control form-control-sm" name="evictionDt" id="evictionDt" placeholder="퇴거일" th:value="${#temporals.format(searchParams.evictionDt, 'yyyy-MM-dd')}">-->
|
||||
<select class="form-select form-select-sm" name="isEvictionDt" th:value="${searchParams.isEvictionDt}">
|
||||
<option value="">퇴거여부</option>
|
||||
<option value="Y" th:selected="${searchParams.isEvictionDt eq 'Y'}">O</option>
|
||||
<option value="N" th:selected="${searchParams.isEvictionDt eq 'N'}">X</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<!--<input class="form-control form-control-sm" name="returnDt" id="returnDt" placeholder="환부일" th:value="${#temporals.format(searchParams.returnDt, 'yyyy-MM-dd')}">-->
|
||||
<select class="form-select form-select-sm" name="isReturnDt" th:value="${searchParams.isReturnDt}">
|
||||
<option value="">환부여부</option>
|
||||
<option value="Y" th:selected="${searchParams.isReturnDt eq 'Y'}">O</option>
|
||||
<option value="N" th:selected="${searchParams.isReturnDt eq 'N'}">X</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="isConsignmentStartDt" th:value="${searchParams.isConsignmentStartDt}">
|
||||
<option value="">위탁관리 여부</option>
|
||||
<option value="Y" th:selected="${searchParams.isConsignmentStartDt eq 'Y'}">O</option>
|
||||
<option value="N" th:selected="${searchParams.isConsignmentStartDt eq 'N'}">X</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="consignmentStartDate" id="consignmentStartDate" placeholder="위탁시작일" th:value="${#temporals.format(searchParams.consignmentStartDate, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="consignmentEndDate" id="consignmentEndDate" placeholder="위탁종료일" th:value="${#temporals.format(searchParams.consignmentEndDate, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<!--<input class="form-control form-control-sm" name="confiscationDt" id="confiscationDt" placeholder="몰수확정일" th:value="${#temporals.format(searchParams.confiscationDt, 'yyyy-MM-dd')}">-->
|
||||
<select class="form-select form-select-sm" name="isConfiscationDt" th:value="${searchParams.isConfiscationDt}">
|
||||
<option value="">침몰여부</option>
|
||||
<option value="Y" th:selected="${searchParams.isConfiscationDt eq 'Y'}">O</option>
|
||||
<option value="N" th:selected="${searchParams.isConfiscationDt eq 'N'}">X</option>
|
||||
</select>
|
||||
</div>
|
||||
<!--<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="boatDisposalDt" id="boatDisposalDt" placeholder="폐선일" th:value="${#temporals.format(searchParams.boatDisposalDt, 'yyyy-MM-dd')}">
|
||||
</div>-->
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="boatDisposalType" th:value="${searchParams.boatDisposalType}">
|
||||
<option value="">폐선종류</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('BDT')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.boatDisposalType}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="directHandoverDate" id="directHandoverDate" placeholder="직접인계일" th:value="${#temporals.format(searchParams.directHandoverDate, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="handoverSeaPointDetail" id="handoverSeaPointDetail" placeholder="직접인계 해점" th:value="${searchParams.handoverSeaPointDetail}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="handoverBoat" id="handoverBoat" placeholder="인계함정" th:value="${searchParams.handoverBoat}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="middleTakeoverBoat" id="middleTakeoverBoat" placeholder="중측 인수함정" th:value="${searchParams.middleTakeoverBoat}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="captin">
|
||||
<option value="">선장 구속여부</option>
|
||||
<option value="Y" th:selected="${searchParams.captin eq 'Y'}">구속</option>
|
||||
<option value="N" th:selected="${searchParams.captin eq 'N'}">불구속</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="mate">
|
||||
<option value="">향해장 구속여부</option>
|
||||
<option value="Y" th:selected="${searchParams.mate eq 'Y'}">구속</option>
|
||||
<option value="N" th:selected="${searchParams.mate eq 'N'}">불구속</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="warden">
|
||||
<option value="">기관장 구속여부</option>
|
||||
<option value="Y" th:selected="${searchParams.warden eq 'Y'}">구속</option>
|
||||
<option value="N" th:selected="${searchParams.warden eq 'N'}">불구속</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="fieldIvsgtNapoDate" id="fieldIvsgtNapoDate" placeholder="현장조사 나포일시" th:value="${#temporals.format(searchParams.fieldIvsgtNapoDate, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="fieldIvsgtReleaseDate" id="fieldIvsgtReleaseDate" placeholder="현장조사 석방일시" th:value="${#temporals.format(searchParams.fieldIvsgtReleaseDate, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<!--<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="pressurizedStartDt" id="pressurizedStartDt" placeholder="압송시작일" th:value="${#temporals.format(searchParams.pressurizedStartDt, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="pressurizedEndDt" id="pressurizedEndDt" placeholder="압송종료일" th:value="${#temporals.format(searchParams.pressurizedEndDt, 'yyyy-MM-dd')}">
|
||||
</div>-->
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="distance" id="distance" placeholder="거리" th:value="${searchParams.distance}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="confiscationFrame" id="confiscationFrame" placeholder="틀" th:value="${searchParams.confiscationFrame}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="confiscationWidth" id="confiscationWidth" placeholder="폭" th:value="${searchParams.confiscationWidth}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="confiscationJo" id="confiscationJo" placeholder="조" th:value="${searchParams.confiscationJo}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="confiscationGae" id="confiscationGae" placeholder="개" th:value="${searchParams.confiscationGae}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="confiscationEtc" id="confiscationEtc" placeholder="기타" th:value="${searchParams.confiscationEtc}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="row justify-content-end">
|
||||
<!--<div class="col-auto">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="사건번호" name="caseNum" th:value="${searchParams.caseNum}">
|
||||
</div>-->
|
||||
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
|
||||
</div>
|
||||
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -44,8 +339,8 @@
|
|||
<tr>
|
||||
<th rowspan="4">연번</th>
|
||||
<th rowspan="4">나포일시</th>
|
||||
<th rowspan="4">위반장소</th>
|
||||
<th rowspan="4">위반내용</th>
|
||||
<th rowspan="4">위반장소</th>
|
||||
<th colspan="4">침범유형</th>
|
||||
<th rowspan="3">NLL</th>
|
||||
<th colspan="7">특수공무집행방해</th>
|
||||
|
|
@ -116,13 +411,13 @@
|
|||
<th rowspan="3">중측인수함정</th>
|
||||
<th rowspan="2">계</th>
|
||||
<th rowspan="2">선장</th>
|
||||
<th rowspan="2">향해장</th>
|
||||
<th rowspan="2">항해장</th>
|
||||
<th rowspan="2">기관장</th>
|
||||
<th rowspan="2">선원</th>
|
||||
<th rowspan="2">구속척수(몰수판결)</th>
|
||||
<th rowspan="2">계</th>
|
||||
<th rowspan="2">선장</th>
|
||||
<th rowspan="2">향해장</th>
|
||||
<th rowspan="2">항해장</th>
|
||||
<th rowspan="2">기관장</th>
|
||||
<th rowspan="2">선원</th>
|
||||
<th rowspan="2">불구속척수</th>
|
||||
|
|
@ -224,15 +519,15 @@
|
|||
<div th:text="${crackdownStatus.napoSeaPointDetail}"></div>
|
||||
</td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('IST')}">
|
||||
<td th:if="${crackdownStatus.invasionType ne null && crackdownStatus.invasionType eq 'IST001' && crackdownStatus.invasionType eq commonCode.itemCd}" th:text="1"></td>
|
||||
<td th:if="${crackdownStatus.invasionType ne null && crackdownStatus.invasionType eq commonCode.itemCd}" th:text="1"></td>
|
||||
<td th:if="${crackdownStatus.invasionType ne commonCode.itemCd}" th:text="0"></td>
|
||||
</th:block>
|
||||
<td th:text="${crackdownStatus.nll eq 'Y' ? 1 : 0}"></td>
|
||||
<td th:text="${crackdownStatus.personDamageCnt ne 0 && crackdownStatus.personDamageAmount ne 0 ? 1 : 0}"></td>
|
||||
<td th:text="${crackdownStatus.obstrExspdCnt}"></td>
|
||||
<td th:text="${crackdownStatus.personDamageCnt}"></td>
|
||||
<td th:text="${crackdownStatus.personDamageAmount}"></td>
|
||||
<td th:text="${crackdownStatus.personDamageDetail}"></td>
|
||||
<td th:text="${crackdownStatus.materialDamageCnt ne 0 && crackdownStatus.materialDamageAmount ne 0 ? 1 : 0}"></td>
|
||||
<td th:text="${crackdownStatus.materialDamageCnt}"></td>
|
||||
<td th:text="${crackdownStatus.materialDamageAmount}"></td>
|
||||
<td th:text="${crackdownStatus.materialDamageDetail}"></td>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('ATA')}">
|
||||
|
|
@ -346,35 +641,6 @@
|
|||
<button class="btn btn-sm btn-primary col-auto" id="cdsDownExcel">엑셀 다운로드</button>
|
||||
<button class="btn btn-sm btn-primary col-auto" id="crackdownStatusAddBtn">등록</button>
|
||||
</div>
|
||||
|
||||
<!-- 페이징 -->
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination">
|
||||
<th:block th:if="${searchParams.pageIndex>3}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||
<a class="page-link" href="#" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex eq num?'active':''}">
|
||||
<a class="page-link" href="#" th:text="${num}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||
<a class="page-link" href="#" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -35,12 +35,6 @@
|
|||
<option value="N" th:selected="${crackdownStatus.nll == 'N'}">X</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label text-center">위반장소</label>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" placeholder="위도" name="napoSeaPointLat" th:value="${crackdownStatus.napoSeaPointLat}">
|
||||
<input class="form-control" placeholder="경도" name="napoSeaPointLon" th:value="${crackdownStatus.napoSeaPointLon}">
|
||||
<input class="form-control" placeholder="상세내용" name="napoSeaPointDetail" th:value="${crackdownStatus.napoSeaPointDetail}">
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<label class="col-form-label text-center">위반내용</label>
|
||||
<button type="button" class="btn btn-primary col-auto" id="violationAddBtn">+</button>
|
||||
|
|
@ -82,6 +76,12 @@
|
|||
</th:block>
|
||||
</th:block>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label text-center">위반장소</label>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" placeholder="위도" name="napoSeaPointLat" th:value="${crackdownStatus.napoSeaPointLat}">
|
||||
<input class="form-control" placeholder="경도" name="napoSeaPointLon" th:value="${crackdownStatus.napoSeaPointLon}">
|
||||
<input class="form-control" placeholder="상세내용" name="napoSeaPointDetail" th:value="${crackdownStatus.napoSeaPointDetail}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label text-center">침범유형</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" name="invasionType">
|
||||
|
|
@ -388,7 +388,7 @@
|
|||
<option value="N" th:selected="${crackdownStatus.sailorList ne null && #aggregates.sum(crackdownStatus.sailorList.?[position == 'POS001' && isRestriction == 'N'].![1]) != null}">불구속</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label text-center">향해장</label>
|
||||
<label class="col-sm-1 col-form-label text-center">항해장</label>
|
||||
<div class="col-sm-2">
|
||||
<input type="hidden" name="mateSailorKey" th:value="${crackdownStatus.sailorList ne null ? #aggregates.sum(crackdownStatus.sailorList.?[position == 'POS002'].![sailorKey]) : null}">
|
||||
<select class="form-select form-select-sm" name="mate">
|
||||
|
|
@ -440,9 +440,13 @@
|
|||
<div class="col-sm-2">
|
||||
<input class="form-control" name="fieldIvsgtReleaseDt" id="fieldIvsgtReleaseDt" th:value="${#temporals.format(crackdownStatus.fieldIvsgtReleaseDt, 'yyyy-MM-dd HH:mm')}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label text-center">소요시간</label>
|
||||
<!--<label class="col-sm-1 col-form-label text-center">소요시간</label>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" name="fieldIvsgtTimeTaken" readonly>
|
||||
</div>-->
|
||||
<label class="col-sm-1 col-form-label text-center">영장청구<br>소요시간</label>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" name="warrantReqTakeTime">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
|
|
@ -457,10 +461,10 @@
|
|||
<div class="col-sm-2">
|
||||
<input class="form-control" name="pressurizedEndDt" id="pressurizedEndDt" th:value="${#temporals.format(crackdownStatus.pressurizedEndDt, 'yyyy-MM-dd HH:mm')}">
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label text-center">영장청구<br>소요시간</label>
|
||||
<!--<label class="col-sm-1 col-form-label text-center">압송<br>소요시간</label>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" name="warrantReqTakeTime" readonly>
|
||||
</div>
|
||||
<input class="form-control" name="pressurizedTimeTaken" readonly>
|
||||
</div>-->
|
||||
<label class="col-sm-1 col-form-label text-center">거리</label>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" name="distance" th:value="${crackdownStatus.distance}">
|
||||
|
|
|
|||
|
|
@ -401,7 +401,7 @@
|
|||
<option value="N" th:selected="${#aggregates.sum(crackdownStatus.sailorList.?[position == 'POS001' && isRestriction == 'N'].![1]) != null}">불구속</option>
|
||||
</select>
|
||||
</div>
|
||||
<label class="col-sm-1 col-form-label text-center">향해장</label>
|
||||
<label class="col-sm-1 col-form-label text-center">항해장</label>
|
||||
<div class="col-sm-2">
|
||||
<select class="form-select form-select-sm" name="mate">
|
||||
<option value="">선택</option>
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
</form>
|
||||
<div class="tab-pane fade show active" id="ica" role="tabpanel"
|
||||
aria-labelledby="arrest-tab">
|
||||
<table class="table table-striped">
|
||||
<table class="table table-striped" id="ivsgtTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th rowspan="2">지방청</th>
|
||||
|
|
|
|||
|
|
@ -18,20 +18,76 @@
|
|||
<div class="col-12 card">
|
||||
<div class="card-body">
|
||||
<form method="get" th:action="@{/faStatistics/processResult}" id="processResultSearchForm">
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||
<div class="row justify-content-between pe-3 py-1">
|
||||
<div class="col-auto">
|
||||
<select class="form-select" name="rowCnt" id="rowCnt">
|
||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="year">
|
||||
<option value="">연도</option>
|
||||
<th:block th:each="year : ${#numbers.sequence(2020, 2030)}">
|
||||
<option th:value="${year + '-01-01'}" th:text="${year}" th:selected="${searchParams.year eq year}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="col-10">
|
||||
<div class="row justify-content-end">
|
||||
<!--<div class="col-auto">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="사건번호" name="caseNum" th:value="${searchParams.caseNum}">
|
||||
</div>-->
|
||||
<div class="col-auto">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="사건번호" name="sailorNameKr" th:value="${searchParams.caseNum}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="crackdownPolice" id="crackdownPolice">
|
||||
<option value="">사건담당경찰서</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${searchParams.crackdownPolice eq commonCode.itemCd}"></option>
|
||||
</th:block>
|
||||
<option value="etc" th:selected="${searchParams.crackdownPolice ne '' && searchParams.crackdownPolice ne null && !#strings.contains(searchParams.crackdownPolice, 'CPO')}">직접입력</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="boatNameKr" id="boatNameKr" placeholder="피의자(선박명)" th:value="${searchParams.boatNameKr}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm violation" name="violation">
|
||||
<option value="">위반내용</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('VT')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.violation}"></option>></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="sentencingCourt" id="sentencingCourt" placeholder="선고법원" th:value="${searchParams.sentencingCourt}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="sentencingDetail" id="sentencingDetail" placeholder="선고내용" th:value="${searchParams.sentencingDetail}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="executionDetail" id="executionDetail">
|
||||
<option value="">선택</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('PR')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.executionDetail}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="returnDt" id="returnDt" placeholder="환부일" th:value="${#temporals.format(searchParams.returnDt, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="consignmentStartDt" id="consignmentStartDt" placeholder="위탁시작일" th:value="${#temporals.format(searchParams.consignmentStartDt, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="consignmentEndDt" id="consignmentEndDt" placeholder="위탁종료일" th:value="${#temporals.format(searchParams.consignmentEndDt, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="confiscationDt" id="confiscationDt" placeholder="몰수확정일" th:value="${#temporals.format(searchParams.confiscationDt, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input class="form-control form-control-sm" name="boatDisposalDt" id="boatDisposalDt" placeholder="폐선일" th:value="${#temporals.format(searchParams.boatDisposalDt, 'yyyy-MM-dd')}">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -50,8 +106,8 @@
|
|||
<th>선고법원</th>
|
||||
<th>집행내용</th>
|
||||
<th>환부일</th>
|
||||
<th>위탁종료일</th>
|
||||
<th>위탁시작일</th>
|
||||
<th>위탁종료일</th>
|
||||
<th>몰수확정일</th>
|
||||
<th>폐선일(인계한 날짜)</th>
|
||||
<th>최종수정일</th>
|
||||
|
|
@ -111,35 +167,6 @@
|
|||
<button class="btn btn-sm btn-primary col-auto" id="processResultDownExcel">엑셀 다운로드</button>
|
||||
<button class="btn btn-sm btn-primary col-auto" id="processResultAddBtn">등록</button>
|
||||
</div>
|
||||
|
||||
<!-- 페이징 -->
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination">
|
||||
<th:block th:if="${searchParams.pageIndex>3}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||
<a class="page-link" href="#" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex eq num?'active':''}">
|
||||
<a class="page-link" href="#" th:text="${num}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||
<a class="page-link" href="#" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -18,20 +18,109 @@
|
|||
<div class="col-12 card">
|
||||
<div class="card-body">
|
||||
<form method="get" th:action="@{/faStatistics/sailor}" id="sailorSearchForm">
|
||||
<input type="hidden" name="pageIndex" id="pageIndex" th:value="${searchParams.pageIndex}">
|
||||
<div class="row justify-content-between pe-3 py-1">
|
||||
<div class="col-auto">
|
||||
<select class="form-select" name="rowCnt" id="rowCnt">
|
||||
<th:block th:each="num : ${#numbers.sequence(1,5)}">
|
||||
<option th:value="${num*10}" th:text="${num*10}" th:selected="${searchParams.rowCnt eq num*10}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="year">
|
||||
<option value="">연도</option>
|
||||
<th:block th:each="year : ${#numbers.sequence(2020, 2030)}">
|
||||
<option th:value="${year + '-01-01'}" th:text="${year}" th:selected="${searchParams.year eq year}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<div class="col-10">
|
||||
<div class="row justify-content-end">
|
||||
<!--<div class="col-auto">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="사건번호" name="caseNum" th:value="${searchParams.caseNum}">
|
||||
</div>-->
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="crackdownPolice">
|
||||
<option value="">단속경찰서</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('CPO')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.crackdownPolice}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="crackdownBoat">
|
||||
<option value="">단속함정</option>
|
||||
<th:block th:each="num : ${#numbers.sequence(1,#lists.size(session.commonCode.get('CPO')))}">
|
||||
<th:block th:if="${'CPO'+num == searchParams.crackdownPolice}" th:each="commonCode:${session.commonCode.get('CPO'+num)}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${searchParams.crackdownBoat eq commonCode.itemCd}"></option>
|
||||
</th:block>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="text" class="form-control form-control-sm" placeholder="선원명(한글)" name="sailorNameKr" th:value="${searchParams.sailorNameKr}">
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="residence">
|
||||
<option value="">거주지</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('RSC')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.residence}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="education">
|
||||
<option value="">학력</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('SED')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.education}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="position">
|
||||
<option value="">선박 내 직책</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('POS')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.position}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="career">
|
||||
<option value="">승선경력</option>
|
||||
<th:block th:each="commonCode:${session.commonCode.get('BE')}">
|
||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||
th:selected="${commonCode.itemCd eq searchParams.career}"></option>
|
||||
</th:block>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="similarCriminalHistory">
|
||||
<option value="">동종 범죄경력</option>
|
||||
<option value="1" th:selected="${searchParams.similarCriminalHistory == 1}">1건</option>
|
||||
<option value="2" th:selected="${searchParams.similarCriminalHistory == 2}">2건</option>
|
||||
<option value="3" th:selected="${searchParams.similarCriminalHistory == 3}">3건</option>
|
||||
<option value="4" th:selected="${searchParams.similarCriminalHistory == 4}">4이상</option>
|
||||
<option value="0" th:selected="${searchParams.similarCriminalHistory == 0}">없음</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="heterogeneousCriminalHistory">
|
||||
<option value="">이종 범죄경력</option>
|
||||
<option value="1" th:selected="${searchParams.heterogeneousCriminalHistory == 1}">1건</option>
|
||||
<option value="2" th:selected="${searchParams.heterogeneousCriminalHistory == 2}">2건</option>
|
||||
<option value="3" th:selected="${searchParams.heterogeneousCriminalHistory == 3}">3건</option>
|
||||
<option value="4" th:selected="${searchParams.heterogeneousCriminalHistory == 4}">4이상</option>
|
||||
<option value="0" th:selected="${searchParams.heterogeneousCriminalHistory == 0}">없음</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<select class="form-select form-select-sm" name="arrestHistory">
|
||||
<option value="">검거이력</option>
|
||||
<option value="1" th:selected="${searchParams.arrestHistory == 1}">1건</option>
|
||||
<option value="2" th:selected="${searchParams.arrestHistory == 2}">2건</option>
|
||||
<option value="3" th:selected="${searchParams.arrestHistory == 3}">3건</option>
|
||||
<option value="4" th:selected="${searchParams.arrestHistory == 4}">4이상</option>
|
||||
<option value="0" th:selected="${searchParams.arrestHistory == 0}">없음</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-auto">
|
||||
<input type="submit" class="btn btn-sm btn-primary col-auto" id="searchBtn" value="검색">
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -187,11 +276,11 @@
|
|||
<td th:text="${sailor.position eq 'POS003' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.position eq 'POS005' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.position eq 'POS006' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.education == 'BE001' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.education == 'BE002' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.education == 'BE003' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.education == 'BE004' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.education == 'BE005' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.career == 'BE001' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.career == 'BE002' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.career == 'BE003' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.career == 'BE004' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.career == 'BE005' ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.similarCriminalHistory == 1 ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.similarCriminalHistory == 2 ? 1 : 0}"></td>
|
||||
<td th:text="${sailor.similarCriminalHistory == 3 ? 1 : 0}"></td>
|
||||
|
|
@ -221,35 +310,6 @@
|
|||
<button class="btn btn-sm btn-primary col-auto" id="sailorDownExcel">엑셀 다운로드</button>
|
||||
<button class="btn btn-sm btn-primary col-auto" id="sailorAddBtn">등록</button>
|
||||
</div>
|
||||
|
||||
<!-- 페이징 -->
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-auto">
|
||||
<nav aria-label="Page navigation">
|
||||
<ul class="pagination">
|
||||
<th:block th:if="${searchParams.pageIndex>3}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)-3}">
|
||||
<a class="page-link" href="#" aria-label="Previous">
|
||||
<span aria-hidden="true">«</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:each="num : ${#numbers.sequence(searchParams.startNum, searchParams.endNum)}">
|
||||
<li class="page-item" th:data-pageindex="${num}" th:classappend="${searchParams.pageIndex eq num?'active':''}">
|
||||
<a class="page-link" href="#" th:text="${num}"></a>
|
||||
</li>
|
||||
</th:block>
|
||||
<th:block th:if="${searchParams.maxNum>searchParams.endNum+2}">
|
||||
<li class="page-item" th:data-pageindex="${(searchParams.pageIndex)+3}">
|
||||
<a class="page-link" href="#" aria-label="Next">
|
||||
<span aria-hidden="true">»</span>
|
||||
</a>
|
||||
</li>
|
||||
</th:block>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue