diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java index 5529ca48..8e9fd79d 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/UnlawfulFishingController.java @@ -12,6 +12,7 @@ import com.dbnt.faisp.main.userInfo.model.UserInfo; import lombok.RequiredArgsConstructor; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.servlet.ModelAndView; @@ -68,6 +69,11 @@ public class UnlawfulFishingController { return mav; } + @PostMapping("/cdiSave") + public void cdiSave(CrackdownInfo crackdownInfo){ + System.out.println(crackdownInfo.getCdsKey()); + } + @GetMapping("/cdiSelectModal") public ModelAndView crackdownInfoSelectModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownInfo params){ ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/crackdownInfo/cdiSelectModal"); @@ -187,19 +193,15 @@ public class UnlawfulFishingController { return mav; } + @GetMapping("/issAddModal") + public ModelAndView illegalShipSailorAddModal(){ + return new ModelAndView("faStatistics/unlawfulFishing/illegalShipSailor/issAddModal"); + } + @GetMapping("/issEditModal") public ModelAndView illegalShipSailorEditModal(@AuthenticationPrincipal UserInfo loginUser, IllegalShipSailor illegalShipSailor){ ModelAndView mav = new ModelAndView("faStatistics/unlawfulFishing/illegalShipSailor/issEditModal"); - if(illegalShipSailor.getSailorKey()!=null){ - illegalShipSailor = unlawfulFishingService.selectIllegalShipSailor(illegalShipSailor.getSailorKey()); - }else{ - illegalShipSailor.setWrtOrgan(loginUser.getOgCd()); - illegalShipSailor.setWrtPart(loginUser.getOfcCd()); - illegalShipSailor.setWrtUserSeq(loginUser.getUserSeq()); - illegalShipSailor.setWrtUserGrd(loginUser.getTitleCd()); - illegalShipSailor.setWrtUserNm(loginUser.getUserNm()); - illegalShipSailor.setWrtDt(LocalDateTime.now()); - } + illegalShipSailor = unlawfulFishingService.selectIllegalShipSailor(illegalShipSailor.getSailorKey()); mav.addObject("illegalShipSailor", illegalShipSailor); return mav; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfo.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfo.java index 4649284d..ce89c899 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfo.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfo.java @@ -1,19 +1,12 @@ package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus; -import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.FishingBoat; -import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.fishingBoat.Violation; -import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.processResult.ProcessResult; -import com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.sailor.Sailor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; -import org.springframework.format.annotation.DateTimeFormat; -import org.springframework.web.multipart.MultipartFile; import javax.persistence.*; -import java.time.LocalDate; import java.util.List; @Getter @@ -23,7 +16,7 @@ import java.util.List; @DynamicInsert @DynamicUpdate @Table(name = "crackdown_info") -public class CrackdownInfo extends CrackdownStatusBaseEntity { +public class CrackdownInfo extends CrackdownInfoBaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @@ -34,191 +27,8 @@ public class CrackdownInfo extends CrackdownStatusBaseEntity { private String status; @Transient - private List crackdownStatusVersionList; - + private List crackdownInfoHistoryList; @Transient - private List violationList; - @Transient - private FishingBoat fishingBoat; - @Transient - private ProcessResult processResult; - @Transient - private List sailorList; - @Transient - private List sailorFileList; - - @Transient - private String crackdownPoliceEtc; - @Transient - private String crackdownBoatEtc; - - @Transient - private Integer fbKey; - @Transient - private String boatNameKr; - @Transient - private String fisheryType; - @Transient - private String boatNnySung; - @Transient - private String boatMaterial; - @Transient - private String boatNnySi; - @Transient - private Double tonCnt; - @Transient - private String boat_material; - @Transient - private String violationStr; - - - @Transient - private String sailorNameKr; - - @Transient - private String processStatus; - - @Transient - private Integer restrictionCaptin; - @Transient - private Integer notRestrictionCaptin; - @Transient - private Integer restrictionMate; - @Transient - private Integer notRestrictionMate; - @Transient - private Integer restrictionWarden; - @Transient - private Integer notRestrictionWarden; - @Transient - private Integer restrictionSailor; - @Transient - private Integer notRestrictionSailor; - @Transient - private Integer restrictionTotal; - @Transient - private Integer notRestrictionTotal; - @Transient - private Integer unlicensedOperationTotal; - @Transient - private Integer specificImpossibilityTotal; - @Transient - private Integer eezTotal; - @Transient - private Integer invasionTerritorialWatersTotal; - @Transient - private List violationDeleteKeyList; - @Transient - private List sailorDeleteKeyList; - - @Transient - private String year; - @Transient - private String month; - @Transient - @DateTimeFormat(pattern = "yyyy-MM-dd") - private LocalDate napoDate; - @Transient - private String violation; - @Transient - private Integer tonStartCnt; - @Transient - private Integer tonEndCnt; - @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 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; + private List violationList; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoBaseEntity.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoBaseEntity.java new file mode 100644 index 00000000..b72bd4c1 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoBaseEntity.java @@ -0,0 +1,105 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus; + +import com.dbnt.faisp.config.BaseModel; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.persistence.Column; +import javax.persistence.MappedSuperclass; +import java.time.LocalDateTime; + +@Getter +@Setter +@NoArgsConstructor +@MappedSuperclass +public class CrackdownInfoBaseEntity extends BaseModel { + + /*사건번호*/ + @Column(name = "case_num") + private String caseNum; + /*나포일시*/ + @Column(name = "napo_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime napoDt; + /*나포장소 위도*/ + @Column(name = "napo_sea_point_lon") + private String napoSeaPointLon; + /*나포장소 경도*/ + @Column(name = "napo_sea_point_lat") + private String napoSeaPointLat; + /*나포장소 상세*/ + @Column(name = "napo_sea_point_detail") + private String napoSeaPointDetail; + /*침범유형*/ + @Column(name = "invasion_type") + private String invasionType; + /*nll여부*/ + @Column(name = "nll") + private String nll; + /*사건담당경찰서*/ + @Column(name = "case_agency") + private String caseAgency; + /*사건담당경찰관*/ + @Column(name = "case_police_officer") + private String casePoliceOfficer; + /*단속함정*/ + @Column(name = "crackdown_boat") + private String crackdownBoat; + /*단속경찰서*/ + @Column(name = "crackdown_police") + private String crackdownPolice; + /*mmsi*/ + @Column(name = "mmsi") + private String mmsi; + /*압송/현장조사*/ + @Column(name = "field_ivsgt") + private String fieldIvsgt; + /*인적피해 건수*/ + @Column(name = "obstr_exspd_cnt") + private Integer obstrExspdCnt; + /*인적피해 인원*/ + @Column(name = "person_damage_cnt") + private Integer personDamageCnt; + /*인적피해 금액*/ + @Column(name = "person_damage_amount") + private Integer personDamageAmount; + /*인적피해 상세*/ + @Column(name = "person_damage_detail") + private String personDamageDetail; + /*물적피해 건수*/ + @Column(name = "material_damage_cnt") + private Integer materialDamageCnt; + /*물적피해 금액*/ + @Column(name = "material_damage_amount") + private Integer materialDamageAmount; + /*물적피해 상세*/ + @Column(name = "material_damage_detail") + private String materialDamageDetail; + /*어획물축소기재 어종*/ + @Column(name = "catch_fish_species") + private String catchFishSpecies; + /*어획물축소기재 수량*/ + @Column(name = "catch_cnt") + private Integer catchCnt=0; + + @Column(name = "wrt_organ") + private String wrtOrgan; + + @Column(name = "wrt_part") + private String wrtPart; + + @Column(name = "wrt_user_seq") + private Integer wrtUserSeq; + + @Column(name = "wrt_user_grd") + private String wrtUserGrd; + + @Column(name = "wrt_user_nm") + private String wrtUserNm; + + @Column(name = "wrt_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime wrtDt; +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoHistory.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoHistory.java index 9a0d8c9b..15beb4fb 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoHistory.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownInfoHistory.java @@ -15,7 +15,7 @@ import java.io.Serializable; @DynamicUpdate @Table(name = "crackdown_info_history") @IdClass(CrackdownInfoHistory.CrackdownInfoHistoryId.class) -public class CrackdownInfoHistory extends CrackdownStatusBaseEntity { +public class CrackdownInfoHistory extends CrackdownInfoBaseEntity { @Id @Column(name = "cds_key") diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownStatusBaseEntity.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownStatusBaseEntity.java index 90c8f9a7..2d1e9d04 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownStatusBaseEntity.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/CrackdownStatusBaseEntity.java @@ -15,105 +15,106 @@ import java.time.LocalDateTime; @MappedSuperclass public class CrackdownStatusBaseEntity extends BaseModel { - @Column(name = "case_num") - private String caseNum; + /*사건번호*/ + @Column(name = "case_num") + private String caseNum; + /*나포일시*/ + @Column(name = "napo_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime napoDt; + /*나포장소위도*/ + @Column(name = "napo_sea_point_lon") + private String napoSeaPointLon; + /*나포장소경도*/ + @Column(name = "napo_sea_point_lat") + private String napoSeaPointLat; + /*나포장소상세*/ + @Column(name = "napo_sea_point_detail") + private String napoSeaPointDetail; + /*침범유형*/ + @Column(name = "invasion_type") + private String invasionType; + /*nll여부*/ + @Column(name = "nll") + private String nll; + /*사건담당경찰서*/ + @Column(name = "case_agency") + private String caseAgency; + /*사건담당경찰관*/ + @Column(name = "case_police_officer") + private String casePoliceOfficer; + /*단속함정*/ + @Column(name = "crackdown_boat") + private String crackdownBoat; + /*단속경찰서*/ + @Column(name = "crackdown_police") + private String crackdownPolice; + /*mmsi*/ + @Column(name = "mmsi") + private String mmsi; + /*압송/현장조사*/ + @Column(name = "field_ivsgt") + private String fieldIvsgt; + /*인적피해 건수*/ + @Column(name = "obstr_exspd_cnt") + private Integer obstrExspdCnt; + /*인적피해 인원*/ + @Column(name = "person_damage_cnt") + private Integer personDamageCnt; + /*인적피해 금액*/ + @Column(name = "person_damage_amount") + private Integer personDamageAmount; + /*인적피해 상세*/ + @Column(name = "person_damage_detail") + private String personDamageDetail; + /*물적피해 건수*/ + @Column(name = "material_damage_cnt") + private Integer materialDamageCnt; + /*물적피해 금액*/ + @Column(name = "material_damage_amount") + private Integer materialDamageAmount; + /*물적피해 상세*/ + @Column(name = "material_damage_detail") + private String materialDamageDetail; + /*현장조사 나포일시*/ + @Column(name = "field_ivsgt_napo_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime fieldIvsgtNapoDt; + /*현장조사 석방일시*/ + @Column(name = "field_ivsgt_release_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime fieldIvsgtReleaseDt; + /*현장조사 소요시간*/ + @Column(name = "field_ivsgt_time_taken") + private String fieldIvsgtTimeTaken; + /*압송시작일*/ + @Column(name = "pressurized_start_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime pressurizedStartDt; + /*압송종료일*/ + @Column(name = "pressurized_end_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime pressurizedEndDt; + /*거리*/ + @Column(name = "distance") + private String distance; - @Column(name = "napo_dt") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") - private LocalDateTime napoDt; + @Column(name = "wrt_organ") + private String wrtOrgan; - @Column(name = "napo_sea_point_lon") - private String napoSeaPointLon; + @Column(name = "wrt_part") + private String wrtPart; - @Column(name = "napo_sea_point_lat") - private String napoSeaPointLat; + @Column(name = "wrt_user_seq") + private Integer wrtUserSeq; - @Column(name = "napo_sea_point_detail") - private String napoSeaPointDetail; + @Column(name = "wrt_user_grd") + private String wrtUserGrd; - @Column(name = "invasion_type") - private String invasionType; + @Column(name = "wrt_user_nm") + private String wrtUserNm; - @Column(name = "nll") - private String nll; - - @Column(name = "case_agency") - private String caseAgency; - - @Column(name = "case_police_officer") - private String casePoliceOfficer; - - @Column(name = "crackdown_boat") - private String crackdownBoat; - - @Column(name = "crackdown_police") - private String crackdownPolice; - - @Column(name = "mmsi") - private String mmsi; - - @Column(name = "field_ivsgt") - private String fieldIvsgt; - - @Column(name = "obstr_exspd_cnt") - private Integer obstrExspdCnt; - - @Column(name = "person_damage_cnt") - private Integer personDamageCnt; - - @Column(name = "person_damage_amount") - private Integer personDamageAmount; - - @Column(name = "person_damage_detail") - private String personDamageDetail; - - @Column(name = "material_damage_cnt") - private Integer materialDamageCnt; - - @Column(name = "material_damage_amount") - private Integer materialDamageAmount; - - @Column(name = "material_damage_detail") - private String materialDamageDetail; - - @Column(name = "field_ivsgt_napo_dt") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") - private LocalDateTime fieldIvsgtNapoDt; - - @Column(name = "field_ivsgt_release_dt") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") - private LocalDateTime fieldIvsgtReleaseDt; - - @Column(name = "field_ivsgt_time_taken") - private String fieldIvsgtTimeTaken; - - @Column(name = "pressurized_start_dt") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") - private LocalDateTime pressurizedStartDt; - - @Column(name = "pressurized_end_dt") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") - private LocalDateTime pressurizedEndDt; - - @Column(name = "distance") - private String distance; - - @Column(name = "wrt_organ") - private String wrtOrgan; - - @Column(name = "wrt_part") - private String wrtPart; - - @Column(name = "wrt_user_seq") - private Integer wrtUserSeq; - - @Column(name = "wrt_user_grd") - private String wrtUserGrd; - - @Column(name = "wrt_user_nm") - private String wrtUserNm; - - @Column(name = "wrt_dt") - @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") - private LocalDateTime wrtDt; + @Column(name = "wrt_dt") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") + private LocalDateTime wrtDt; } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/ViolationInfo.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/ViolationInfo.java new file mode 100644 index 00000000..8b4ac46a --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/ViolationInfo.java @@ -0,0 +1,40 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus; + +import com.dbnt.faisp.config.BaseModel; +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "violation_info") +@IdClass(ViolationInfo.ViolationInfoId.class) +public class ViolationInfo extends BaseModel { + @Id + @Column(name = "violation_key") + private Integer violationKey; + @Id + @Column(name = "cds_key") + private Integer cdsKey; + @Column(name = "violation") + private String violation; + + @Transient + private String violationEtc; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class ViolationInfoId implements Serializable{ + private Integer violationKey; + private Integer cdsKey; + } +} diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/ViolationInfoVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/ViolationInfoVersion.java new file mode 100644 index 00000000..4323aa47 --- /dev/null +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/unlawfulFishing/model/crackdownStatus/ViolationInfoVersion.java @@ -0,0 +1,41 @@ +package com.dbnt.faisp.main.faStatistics.unlawfulFishing.model.crackdownStatus; + +import com.dbnt.faisp.config.BaseModel; +import lombok.*; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.*; +import java.io.Serializable; + +@Getter +@Setter +@Entity +@NoArgsConstructor +@DynamicInsert +@DynamicUpdate +@Table(name = "violation_info_version") +@IdClass(ViolationInfoVersion.ViolationInfoVersionId.class) +public class ViolationInfoVersion extends BaseModel { + @Id + @Column(name = "violation_key") + private Integer violationKey; + @Id + @Column(name = "cds_key") + private Integer cdsKey; + @Id + @Column(name = "version_no") + private Integer versionNo; + @Column(name = "violation") + private String violation; + + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class ViolationInfoVersionId implements Serializable{ + private Integer violationKey; + private Integer cdsKey; + private Integer versionNo; + } +} diff --git a/src/main/resources/static/js/common.js b/src/main/resources/static/js/common.js index c1499d3e..b5cf148a 100644 --- a/src/main/resources/static/js/common.js +++ b/src/main/resources/static/js/common.js @@ -250,6 +250,21 @@ function fileCheck(flag, files){ return flag; } +function getChildOption(parentCd, selectedCd, target){ + $.ajax({ + url: '/selectBoxOptions', + data: {categoryCd: parentCd, selectedCd: selectedCd}, + type: 'GET', + dataType:"html", + success: function(html){ + $(target).empty().append(html); + }, + error:function(e){ + ajaxErrorAction(e); + } + }); +} + function dynamicOption(targetTagName, code, defaultOptionName='') { $(targetTagName).empty(); let option = ''; diff --git a/src/main/resources/static/js/faStatistics/fishingBoatMgt.js b/src/main/resources/static/js/faStatistics/fishingBoatMgt.js index 1ee7443e..c774720a 100644 --- a/src/main/resources/static/js/faStatistics/fishingBoatMgt.js +++ b/src/main/resources/static/js/faStatistics/fishingBoatMgt.js @@ -470,6 +470,7 @@ function valueCheck(status){ } return true; } + function calculationReleaseToNapo(form){ let napoDt = form.find("#napoDt").val(); let releaseDt = form.find("#releaseDt").val(); diff --git a/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js b/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js index fccd6364..8153553a 100644 --- a/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js +++ b/src/main/resources/static/js/faStatistics/unlawfulFishing/crackdownInfo.js @@ -3,6 +3,40 @@ $(document).on('click', '#addCrackdownStatusBtn', function (){ getCsEditModal(null); }) +$(document).on('change', '#violationSelector', function (){ + if(this.selectedOptions[0].value !== ""){ + if($(".violationCd[value='"+this.selectedOptions[0].value+"']").length===0){ + $("#violationDiv").append( + '
\n' + + '
\n' + + ' \n' + + ' \n' + + ' \n' + + '
\n' + + '
' + ) + } + } + switch (this.selectedOptions[0].value) { + case "VT011": // 어획량 축소 기재 + childInputStateChange(2, $("#catchDiv").find("input")) + break; + case "VT028": // 특수공무집행방해 + childInputStateChange(2, $("#damageDiv").find("input, textarea")) + break; + } +}) + +$(document).on('change', '#crackdownPolice', function (){ + getChildOption(this.value, null, "#crackdownBoat"); +}); + +$(document).on('click', '.saveEditInfoBtn', function (){ + saveCrackdownInfo($(this).attr("data-status")); +}) + function getCsEditModal(cdsKey){ $.ajax({ url: '/unlawfulFishing/cdiEditModal', @@ -23,4 +57,80 @@ function getCsEditModal(cdsKey){ ajaxErrorAction(e); } }); +} + + +function childInputStateChange(selectorValue, inputs){ + switch (selectorValue){ + case 1: + inputs.val('').attr('disabled', 'disabled') + break; + case 2: + inputs.removeAttr('disabled') + break; + } +} + + +function saveCrackdownInfo(status) { + if (confirm("저장하시겠습니까?")) { + if (valueCheck(status)) { + $(".infoStatus").val(status) + contentFade("in"); + const formData = new FormData($("#csEditForm")[0]); + $.each($(".violationCd"), function (idx, input){ + formData.append('violationList['+idx+'].violation', $(input).val()); + }); + + $.ajax({ + type : 'POST', + data : formData, + url : "/unlawfulFishing/cdiSave", + processData: false, + contentType: false, + beforeSend: function (xhr){ + xhr.setRequestHeader($("[name='_csrf_header']").val(), $("[name='_csrf']").val()); + }, + success : function() { + alert("저장되었습니다."); + contentFade("out"); + location.reload(); + }, + error : function(xhr, status) { + alert("저장에 실패하였습니다."); + contentFade("out"); + } + }) + } + } +} + +function valueCheck(status){ + if(status === "DST007"){ + if(!$("#caseNum").val()){ + alert("사건번호를 입력해주세요") + return false; + } + if($(".violationCd").length<1){ + alert("위반사항을 선택해주세요") + return false; + } + if(!$("#caseAgency").val()){ + alert("사건담당경찰서를 선택해주세요") + return false; + } + if(!$("#casePoliceOfficer").val()){ + alert("사건담당경찰관을 입력해주세요") + return false; + } + if(!$("#crackdownPolice").val()){ + alert("단속경찰서를 선택해주세요") + return false; + } + if(!$("#crackdownBoat").val()){ + alert("단속함정을 선택해주세요") + return false; + } + } + return true; } \ No newline at end of file diff --git a/src/main/resources/static/js/faStatistics/unlawfulFishing/illegalShipSailor.js b/src/main/resources/static/js/faStatistics/unlawfulFishing/illegalShipSailor.js index 2493a395..f679f207 100644 --- a/src/main/resources/static/js/faStatistics/unlawfulFishing/illegalShipSailor.js +++ b/src/main/resources/static/js/faStatistics/unlawfulFishing/illegalShipSailor.js @@ -1,8 +1,57 @@ $(document).on('click', '#addIllegalShipSailorBtn', function (){ - getIssEditModal(null); + getIssAddModal(); }) +$(document).on('click', '#addSailorTab', function (){ + const sailorTab = $("#sailorTab") + const sailorCnt = sailorTab.children().length; + const newTabLiHtml = $("#sailorTabEmptyLi").children().clone(); + + const liButton = newTabLiHtml.children(); + liButton[0].id = "sailor"+sailorCnt+"Tab"; + liButton[0].innerText = "선원"+sailorCnt; + $(liButton).attr("data-bs-target", "#sailor"+sailorCnt+"TabPanel"); + $(liButton).attr("aria-controls", "sailor"+sailorCnt+"TabPanel"); + + const newTabContentHtml = $("#sailorTabEmptyDiv").children().clone(); + newTabContentHtml[0].id = "sailor"+sailorCnt+"TabPanel"; + $(newTabContentHtml).attr("aria-labelledby", "sailor"+sailorCnt+"Tab"); + + sailorTab.append(newTabLiHtml); + $("#sailorTabContent").append(newTabContentHtml); + sailorTab.append($("#addSailorTab").parents("li")) + $(liButton).click(); +}) + +$(document).on('click', '.deleteTab', function (){ + const targetContent = $(this).parents('.tab-pane') + const targetLi = $("#"+targetContent[0].id.replace("Panel", "")); + targetLi.parents("li").remove() + targetContent.remove() +}) + +function getIssAddModal(){ + $.ajax({ + url: '/unlawfulFishing/issAddModal', + type: 'GET', + dataType:"html", + success: function(html){ + const contentDiv = $("#issAddModalContent"); + contentDiv.empty().append(html) + $(".dateSelector").datepicker({ + format: "yyyy-mm-dd", + language: "ko", + autoclose: true + }); + $("#issAddModal").modal('show'); + }, + error:function(e){ + ajaxErrorAction(e); + } + }); +} + function getIssEditModal(sailorKey){ $.ajax({ url: '/unlawfulFishing/issEditModal', diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiEditModal.html b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiEditModal.html index c466cbd5..057ac9fc 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiEditModal.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/cdiEditModal.html @@ -15,29 +15,33 @@
- -
- - +
+
+ +
+ + +
+ +
+ +
+
- -
- -
-
+
-
+
@@ -70,7 +74,7 @@
diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/crackdownInfoPage.html b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/crackdownInfoPage.html index f9cec94e..60011003 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/crackdownInfoPage.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/crackdownInfo/crackdownInfoPage.html @@ -27,25 +27,7 @@
-
-
-
- -
-
- -
-
+
diff --git a/src/main/resources/templates/faStatistics/unlawfulFishing/illegalShipSailor/illegalShipSailorPage.html b/src/main/resources/templates/faStatistics/unlawfulFishing/illegalShipSailor/illegalShipSailorPage.html index c1374227..7f4a7c1d 100644 --- a/src/main/resources/templates/faStatistics/unlawfulFishing/illegalShipSailor/illegalShipSailorPage.html +++ b/src/main/resources/templates/faStatistics/unlawfulFishing/illegalShipSailor/illegalShipSailorPage.html @@ -165,16 +165,23 @@
+