From 57df3f077cf7a75fdde8dc664541184513c2684b Mon Sep 17 00:00:00 2001 From: "DESKTOP-QGC5RJO\\DBNT" Date: Thu, 12 Jan 2023 18:01:11 +0900 Subject: [PATCH] =?UTF-8?q?asf=20=EB=B0=8F=20=EC=BD=94=EB=A1=9C=EB=82=9819?= =?UTF-8?q?=20=EA=B4=80=EB=A0=A8=EC=A1=B0=EC=B9=98=EC=82=AC=ED=95=AD=204?= =?UTF-8?q?=EC=B0=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crackdownsStatus/AsfCovController.java | 3 +- .../crackdownsStatus/model/asfCov/AsfCov.java | 116 +++---------- .../repository/AsfCovRepository.java | 6 +- .../service/AsfCovService.java | 36 +++- .../service/MajorStatusService.java | 5 - .../resources/mybatisMapper/AsfCovMapper.xml | 4 - .../static/js/faStatistics/asfCov.js | 35 ++-- .../templates/faStatistics/asfCov/asfCov.html | 2 +- .../faStatistics/asfCov/asfCovEditModal.html | 24 ++- .../faStatistics/asfCov/asfCovViewModal.html | 161 +++++++++++++++--- 10 files changed, 248 insertions(+), 144 deletions(-) diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/AsfCovController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/AsfCovController.java index d75123b5..e4f8a401 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/AsfCovController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/AsfCovController.java @@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; +import java.time.LocalDateTime; import java.util.List; @@ -52,7 +53,7 @@ public class AsfCovController { asfCov.setWrtUserSeq(loginUser.getUserSeq()); asfCov.setWrtUserGrd(loginUser.getTitleCd()); asfCov.setWrtUserNm(loginUser.getUserNm()); - asfCov.setWrtDt(loginUser.getWrtDt()); + asfCov.setWrtDt(LocalDateTime.now()); } mav.addObject("asfCov", asfCov); mav.addObject("userSeq", loginUser.getUserSeq()); diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/asfCov/AsfCov.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/asfCov/AsfCov.java index 26daf124..4d111747 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/asfCov/AsfCov.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/asfCov/AsfCov.java @@ -4,15 +4,15 @@ import com.dbnt.faisp.config.BaseModel; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusBaseEntity; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.ivsgtMgt.majorStatus.model.MajorFile; import io.micrometer.core.annotation.Counted; -import lombok.Getter; -import lombok.NoArgsConstructor; -import lombok.Setter; +import lombok.*; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; import org.springframework.format.annotation.DateTimeFormat; import javax.persistence.*; +import java.io.Serializable; import java.time.LocalDateTime; @Getter @@ -22,12 +22,13 @@ import java.time.LocalDateTime; @DynamicInsert @DynamicUpdate @Table(name="asfcov_status") +@IdClass(AsfCov.AsfCovId.class) public class AsfCov extends BaseModel { @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "asfcov_key") private Integer asfCovKey; + @Id @Column(name="version_no") private Integer versionNo; @@ -79,101 +80,28 @@ public class AsfCov extends BaseModel { @Transient - private CrackdownStatus crackdownStatus; - - @Column(name = "case_num") private String caseNum; - - @Column(name = "case_police_officer") + @Transient private String casePoliceOfficer; - - @Column(name = "crackdown_boat") + @Transient + private String crackdownPolice; + @Transient private String crackdownBoat; - - @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; - - @Column(name = "nll") - private String nll; - - @Column(name = "case_agency") + @Transient + private String napoDt; + @Transient + private String boatNameKr; + @Transient private String caseAgency; - @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; - - //////////////////////////////////////////////////////////// - - @Transient - private FishingBoat fishingBoat; - - @Column(name = "boat_name_kr") - private String boatNameKr; - @Column(name = "boat_name_cn") - private String boatNameCn; - + @Embeddable + @Data + @NoArgsConstructor + @AllArgsConstructor + public static class AsfCovId implements Serializable { + private Integer asfCovKey; + private Integer versionNo; + } } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/AsfCovRepository.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/AsfCovRepository.java index 5972edf8..20f9e5e9 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/AsfCovRepository.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/repository/AsfCovRepository.java @@ -2,13 +2,17 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.asfCov.AsfCov; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; import org.springframework.data.jpa.repository.JpaRepository; import java.util.List; import java.util.Optional; public interface AsfCovRepository extends JpaRepository { - + Optional findByCdsKey(Integer cdsKey); + Optional findByAsfCovKey(Integer asfCovKey); // void deleteByAsfCov(Integer asfCovKey); + Optional findTop1ByAsfCovKeyOrderByVersionNoDesc(Integer asfCovKey); + Optional findTop1ByOrderByAsfCovKeyDesc(); } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/AsfCovService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/AsfCovService.java index 29f66f7b..563243da 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/AsfCovService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/AsfCovService.java @@ -3,12 +3,17 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service; import com.dbnt.faisp.config.BaseService; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.AsfCovMapper; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.asfCov.AsfCov; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.AsfCovRepository; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.CrackdownStatusRepository; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.format.DateTimeFormatter; import java.util.List; @Service @@ -17,6 +22,8 @@ public class AsfCovService extends BaseService { private final AsfCovMapper asfCovMapper; private final AsfCovRepository asfCovRepository; + private final CrackdownStatusRepository crackdownStatusRepository; + private final FishingBoatRepository fishingBoatRepository; public List selectAsfCovList(AsfCov asfCov){ return asfCovMapper.selectAsfCovList(asfCov); @@ -27,15 +34,36 @@ public class AsfCovService extends BaseService { } public AsfCov selectAsfCov(Integer asfCovKey) { - AsfCov asfCov= asfCovRepository.findById(asfCovKey).orElse(null); - + AsfCov asfCov= asfCovRepository.findTop1ByAsfCovKeyOrderByVersionNoDesc(asfCovKey).orElse(null); + CrackdownStatus cs = crackdownStatusRepository.findByCdsKey(asfCov.getCdsKey()).orElse(null); + FishingBoat fb = fishingBoatRepository.findByCdsKey(asfCov.getCdsKey()).orElse(null); + if(fb!=null){ + asfCov.setBoatNameKr(fb.getBoatNameKr()); + } + if(cs!=null){ + asfCov.setCaseNum(cs.getCaseNum()); + asfCov.setCaseAgency(cs.getCaseAgency()); + asfCov.setCasePoliceOfficer(cs.getCasePoliceOfficer()); + asfCov.setCrackdownPolice(cs.getCrackdownPolice()); + asfCov.setCrackdownBoat(cs.getCrackdownBoat()); + if(cs.getNapoDt()!=null){ + asfCov.setNapoDt(cs.getNapoDt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"))); + } + } return asfCov; } @Transactional public Integer saveContent(AsfCov asfCov) { - Integer asfCovKey = asfCovRepository.save(asfCov).getAsfCovKey(); - return asfCovKey; + if(asfCov.getAsfCovKey()==null){ + AsfCov lastData = asfCovRepository.findTop1ByOrderByAsfCovKeyDesc().orElse(null); + asfCov.setAsfCovKey(lastData==null?1:(lastData.getAsfCovKey()+1)); + asfCov.setVersionNo(1); + }else{ + asfCov.setVersionNo(asfCov.getVersionNo()+1); + } + asfCovRepository.save(asfCov); + return asfCov.getAsfCovKey(); } @Transactional diff --git a/src/main/java/com/dbnt/faisp/main/ivsgtMgt/majorStatus/service/MajorStatusService.java b/src/main/java/com/dbnt/faisp/main/ivsgtMgt/majorStatus/service/MajorStatusService.java index 5107ee04..c1f40466 100644 --- a/src/main/java/com/dbnt/faisp/main/ivsgtMgt/majorStatus/service/MajorStatusService.java +++ b/src/main/java/com/dbnt/faisp/main/ivsgtMgt/majorStatus/service/MajorStatusService.java @@ -45,11 +45,6 @@ public class MajorStatusService extends BaseService { public MajorStatus selectMajor(Integer majorKey) { MajorStatus majorStatus= majorStatusRepository.findById(majorKey).orElse(null); majorStatus.setFileList(majorFileRepository.findByMajorKey(majorKey)); -// List commentList = publicCommentRepository.findByPublicKeyAndParentCommentOrderByCommentKeyAsc(publicKey, null); -// for(PublicComment comment: commentList){ -// comment.setChildCommentList(publicCommentRepository.findByPublicKeyAndParentCommentOrderByCommentKeyAsc(publicKey, comment.getCommentKey())); -// } - // publicBoard.setCommentList(commentList); return majorStatus; } diff --git a/src/main/resources/mybatisMapper/AsfCovMapper.xml b/src/main/resources/mybatisMapper/AsfCovMapper.xml index d5d7f2ea..75164a25 100644 --- a/src/main/resources/mybatisMapper/AsfCovMapper.xml +++ b/src/main/resources/mybatisMapper/AsfCovMapper.xml @@ -32,10 +32,6 @@ AND wrt_user_nm LIKE CONCAT('%', #{wrtUserNm}, '%') - - - - diff --git a/src/main/resources/static/js/faStatistics/asfCov.js b/src/main/resources/static/js/faStatistics/asfCov.js index 1244c7a7..a0ca92c5 100644 --- a/src/main/resources/static/js/faStatistics/asfCov.js +++ b/src/main/resources/static/js/faStatistics/asfCov.js @@ -48,7 +48,7 @@ $(document).on('click', '#addAsfCovBtn', function (){ $(document).on('click', '.tr', function (){ $(".trChkBox").prop("checked", false); $(this).find(".trChkBox").prop("checked", true); - getViewModal(Number($(this).find(".asfCovKey").val())); + getViewModal($(this).attr("data-key")); }) @@ -102,10 +102,10 @@ $(document).on('click', '#deleteMajorBtn', function (){ -function getEditModal(cdsKey){ +function getEditModal(asfCovKey){ $.ajax({ url: '/faStatistics/asfCovEditModal', - data: {cdsKey: cdsKey}, + data: {asfCovKey: asfCovKey}, type: 'GET', dataType:"html", success: function(html){ @@ -141,10 +141,7 @@ function getViewModal(asfCovKey){ function saveContent(contentStatus){ const formData = new FormData($("#asfCovEditForm")[0]); - - formData.append('contentStatus', contentStatus); - $.ajax({ type : 'POST', data : formData, @@ -166,10 +163,10 @@ function saveContent(contentStatus){ function contentCheck(formId){ let flag = true; - if(!$("#contentTitle").val()){ - alert("제목을 입력해주세요.") - flag = false; - } + // if(!$("#contentTitle").val()){ + // alert("제목을 입력해주세요.") + // flag = false; + // } flag = fileCheck(flag, files); return flag; @@ -196,7 +193,7 @@ $(document).on('click', '#getCrackdownBtn', function (){ getEditModal($(".crackdownChkbox:checked").parents(".crackdownTr").attr("data-key")); const tr= $(".crackdownChkbox:checked").parents(".crackdownTr") $(".cdsInfo").removeAttr("disable") - $("#cdsKey").val(tr.attr(".data-key")) + $("#cdsKey").val(tr.attr("data-key")) $("#boatNameKr").val(tr.find(".boatNameKr").val()) $("#caseNum").val(tr.find(".caseNum").val()) $("#caseAgency").val(tr.find(".caseAgency").val()) @@ -208,8 +205,6 @@ $(document).on('click', '#getCrackdownBtn', function (){ }) - - $(function(){ const searchFormBoat = $("#searchFormBoat") if(searchFormBoat.val()!==""){ @@ -223,4 +218,18 @@ $(function(){ }); }); +$(document).on('change', '#searchFormPolice', function (){ + const searchFormBoat = $("#searchFormBoat") + searchFormBoat.find("option").hide() + if(this.value !== ""){ + searchFormBoat.removeAttr("disabled") + searchFormBoat.find("."+this.value).show(); + }else{ + searchFormBoat.attr("disabled", "disabled") + } +}) + + + + diff --git a/src/main/resources/templates/faStatistics/asfCov/asfCov.html b/src/main/resources/templates/faStatistics/asfCov/asfCov.html index 37a49b69..c76788fe 100644 --- a/src/main/resources/templates/faStatistics/asfCov/asfCov.html +++ b/src/main/resources/templates/faStatistics/asfCov/asfCov.html @@ -119,7 +119,7 @@ - + diff --git a/src/main/resources/templates/faStatistics/asfCov/asfCovEditModal.html b/src/main/resources/templates/faStatistics/asfCov/asfCovEditModal.html index 8460a33a..984cdf7a 100644 --- a/src/main/resources/templates/faStatistics/asfCov/asfCovEditModal.html +++ b/src/main/resources/templates/faStatistics/asfCov/asfCovEditModal.html @@ -9,12 +9,32 @@ + + - +
+ +
+ + + + + + + + + + +
+ +
+ +
+
@@ -100,7 +120,7 @@
- +
diff --git a/src/main/resources/templates/faStatistics/asfCov/asfCovViewModal.html b/src/main/resources/templates/faStatistics/asfCov/asfCovViewModal.html index 66b1c42c..dd825190 100644 --- a/src/main/resources/templates/faStatistics/asfCov/asfCovViewModal.html +++ b/src/main/resources/templates/faStatistics/asfCov/asfCovViewModal.html @@ -1,10 +1,11 @@ +
+
+
+
+ + + + + + + + + + + + + + + + + +
수정자수정일
+ + + +
+ + + + +
+
+
+ +
+
+
+
\ No newline at end of file