diff --git a/src/main/java/com/dbnt/faisp/main/equip/service/EquipService.java b/src/main/java/com/dbnt/faisp/main/equip/service/EquipService.java index bbd9497b..129e82dc 100644 --- a/src/main/java/com/dbnt/faisp/main/equip/service/EquipService.java +++ b/src/main/java/com/dbnt/faisp/main/equip/service/EquipService.java @@ -36,8 +36,10 @@ import java.util.*; @Service @RequiredArgsConstructor public class EquipService { - @Value("${spring.servlet.multipart.location}") - protected String locationPath; + @Value("${file.dir}") + protected String fileDir; + @Value("${file.dir.equip}") + protected String equ; private final EquipRepository equipRepository; private final EquipFileRepository equipFileRepository; @@ -81,7 +83,7 @@ public class EquipService { public void saveFile(Equip equip, MultipartHttpServletRequest mRequest) throws Exception { try { - String path = locationPath; + String path = fileDir+equ; String FileSize; File dir = new File(path); if(!dir.exists()) dir.mkdir(); @@ -190,7 +192,7 @@ public class EquipService { public void updateFile(Equip equip,Equip equipTmp, MultipartHttpServletRequest mRequest) throws Exception { try { - String path = locationPath; + String path = fileDir+equ; String FileSize; File dir = new File(path); if(!dir.exists()) dir.mkdir(); diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/FishingBoatController.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/FishingBoatController.java index 42eed9b7..05413f48 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/FishingBoatController.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/FishingBoatController.java @@ -4,6 +4,7 @@ import com.dbnt.faisp.main.authMgt.service.AuthMgtService; import com.dbnt.faisp.main.codeMgt.service.CodeMgtService; 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.model.fishingBoat.FishingBoatVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.FishingBoatService; import com.dbnt.faisp.main.userInfo.model.UserInfo; @@ -104,4 +105,13 @@ public class FishingBoatController { public Integer checkCaseNum(String caseNum){ return fishingBoatService.checkCaseNum(caseNum); } + @GetMapping("/fishingBoatVersionInfo") + public ModelAndView fishingBoatVersionInfo(FishingBoatVersion version){ + ModelAndView mav = new ModelAndView("faStatistics/fishingBoat/fishingBoatVersionInfo"); + mav.addObject("fishingBoat", fishingBoatService.selectFishingBoatVersion(version.getFbKey(), version.getVersionNo())); + mav.addObject("vtList", codeMgtService.selectCodeMgtList("VT")); + mav.addObject("ftList", codeMgtService.selectCodeMgtList("FT")); + mav.addObject("bmList", codeMgtService.selectCodeMgtList("BM")); + return mav; + } } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java index 5e687e41..4b39acd3 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/mapper/CrackdownStatusMapper.java @@ -1,6 +1,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper; 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.model.fishingBoat.FishingBoatVersion; import org.apache.ibatis.annotations.Mapper; import java.util.List; @@ -9,6 +11,8 @@ import java.util.List; public interface CrackdownStatusMapper { List selectCrackdownStatusList(CrackdownStatus crackdownStatus); Integer selectCrackdownStatusListCnt(CrackdownStatus crackdownStatus); + List selectFishingBoatList(CrackdownStatus crackdownStatus); Integer selectFishingBoatListCnt(CrackdownStatus crackdownStatus); + List selectFishingBoatVersionList(Integer fbKey); } diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java index c0d36d9b..50fd2e51 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/crackdownStatus/CrackdownStatus.java @@ -1,6 +1,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat; +import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoatVersion; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult; import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor; @@ -35,6 +36,8 @@ public class CrackdownStatus extends CrackdownStatusBaseEntity { @Transient private FishingBoat fishingBoat; @Transient + private List fishingBoatVersionList; + @Transient private ProcessResult processResult; @Transient private List sailorList; diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatVersion.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatVersion.java index 07625670..e3a11867 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatVersion.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/model/fishingBoat/FishingBoatVersion.java @@ -6,6 +6,7 @@ import org.hibernate.annotations.DynamicUpdate; import javax.persistence.*; import java.io.Serializable; +import java.util.List; @Getter @Setter @@ -24,6 +25,9 @@ public class FishingBoatVersion extends FishingBoatBaseEntity { @Column(name = "version_no") private Integer versionNo; + @Transient + private List violationList; + @Embeddable @Data @NoArgsConstructor diff --git a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/FishingBoatService.java b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/FishingBoatService.java index c7290928..d7ceeb65 100644 --- a/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/FishingBoatService.java +++ b/src/main/java/com/dbnt/faisp/main/faStatistics/crackdownsStatus/service/FishingBoatService.java @@ -19,6 +19,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -47,6 +48,7 @@ public class FishingBoatService extends BaseService { public CrackdownStatus selectCrackdownStatus(Integer cdsKey) { CrackdownStatus crackdownStatus = crackdownStatusRepository.findById(cdsKey).orElse(null); crackdownStatus.setFishingBoat(fishingBoatRepository.findByCdsKey(cdsKey).orElse(new FishingBoat())); + crackdownStatus.setFishingBoatVersionList(crackdownStatusMapper.selectFishingBoatVersionList(crackdownStatus.getFishingBoat().getFbKey())); crackdownStatus.setProcessResult(processResultRepository.findByCdsKey(cdsKey).orElse(new ProcessResult())); if(crackdownStatus.getFishingBoat()!=null){ crackdownStatus.setViolationList(violationRepository.findByFbKey(crackdownStatus.getFishingBoat().getFbKey())); @@ -121,6 +123,8 @@ public class FishingBoatService extends BaseService { cdsKey = crackdownStatus.getCdsKey(); FishingBoat fishingBoat = crackdownStatus.getFishingBoat(); FishingBoatVersion newInfo = new FishingBoatVersion(); + fishingBoat.setCdsKey(cdsKey); + fishingBoat.setWrtDt(LocalDateTime.now()); BeanUtils.copyProperties(fishingBoat, newInfo); FishingBoatVersion lastFishingBoatVersion = fishingBoatVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(crackdownStatus.getFishingBoat().getFbKey()).orElse(null); newInfo.setVersionNo(lastFishingBoatVersion.getVersionNo()+1); @@ -132,7 +136,8 @@ public class FishingBoatService extends BaseService { int i=1; ViolationVersion lastViolationVersion = violationVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fishingBoat.getFbKey()).orElse(null); for(Violation violation: violationList){ - violation.setViolationKey(i); + violation.setFbKey(fishingBoat.getFbKey()); + violation.setViolationKey(i++); ViolationVersion violationVersion = new ViolationVersion(); BeanUtils.copyProperties(violation, violationVersion); violationVersion.setVersionNo(lastViolationVersion.getVersionNo()+1); @@ -147,4 +152,8 @@ public class FishingBoatService extends BaseService { public Integer checkCaseNum(String caseNum) { return crackdownStatusRepository.findTop1ByCaseNum(caseNum).orElse(null)==null?0:1; } + + public FishingBoatVersion selectFishingBoatVersion(Integer fbKey, Integer versionNo) { + return fishingBoatVersionRepository.findById(new FishingBoatVersion.FishingBoatVersionId(fbKey, versionNo)).orElse(null); + } } diff --git a/src/main/java/com/dbnt/faisp/main/fipTarget/FipTargetController.java b/src/main/java/com/dbnt/faisp/main/fipTarget/FipTargetController.java index fcc4ff10..02fc914e 100644 --- a/src/main/java/com/dbnt/faisp/main/fipTarget/FipTargetController.java +++ b/src/main/java/com/dbnt/faisp/main/fipTarget/FipTargetController.java @@ -13,7 +13,6 @@ import com.dbnt.faisp.main.fipTarget.service.FipTargetService; import com.dbnt.faisp.main.organMgt.service.OrganConfigService; import com.dbnt.faisp.main.userInfo.model.UserInfo; import com.dbnt.faisp.main.userInfo.service.UserInfoService; -import com.dbnt.faisp.util.Excel; import com.dbnt.faisp.util.ParamMap; import com.dbnt.faisp.util.Utils; diff --git a/src/main/java/com/dbnt/faisp/main/fipTarget/service/FipTargetService.java b/src/main/java/com/dbnt/faisp/main/fipTarget/service/FipTargetService.java index e1cb74b1..ba1d7e76 100644 --- a/src/main/java/com/dbnt/faisp/main/fipTarget/service/FipTargetService.java +++ b/src/main/java/com/dbnt/faisp/main/fipTarget/service/FipTargetService.java @@ -35,14 +35,17 @@ import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.text.DecimalFormat; -import java.time.LocalDateTime; import java.util.*; @Service @RequiredArgsConstructor public class FipTargetService extends BaseService { - @Value("${spring.servlet.multipart.location}") - protected String locationPath; + @Value("${file.dir}") + protected String fileDir; + @Value("${file.dir.vulnerable}") + protected String vulnerable; + @Value("${file.dir.part}") + protected String part; private final PartInfoRepository partInfoRepository; private final PartInfoFileRepository partInfoFileRepository; @@ -83,7 +86,7 @@ public class FipTargetService extends BaseService { } else { for(MultipartFile file : multipartFileList){ String saveName = UUID.randomUUID().toString(); - String path = locationPath+File.separator+"publicFile"+File.separator; + String path = fileDir+part; saveFile(file, new File(path+File.separator+saveName)); String originalFilename = file.getOriginalFilename(); @@ -251,7 +254,7 @@ public class FipTargetService extends BaseService { int fileSeq = lastFileInfo==null?1:(lastFileInfo.getFileSeq()+1); for(MultipartFile file : multipartFileList){ String saveName = UUID.randomUUID().toString(); - String path = locationPath+File.separator+"publicFile"+File.separator; + String path = fileDir+part; saveFile(file, new File(path+File.separator+saveName)); String originalFilename = file.getOriginalFilename(); @@ -351,7 +354,7 @@ public class FipTargetService extends BaseService { int fileSeq = lastFileInfo==null?1:(lastFileInfo.getFileSeq()+1); for(MultipartFile file : multipartFileList){ String saveName = UUID.randomUUID().toString(); - String path = locationPath+File.separator+"publicFile"+File.separator; + String path = fileDir+vulnerable; saveFile(file, new File(path+File.separator+saveName)); String originalFilename = file.getOriginalFilename(); diff --git a/src/main/resources/application-dev.properties b/src/main/resources/application-dev.properties index f55ab77c..2067d302 100644 --- a/src/main/resources/application-dev.properties +++ b/src/main/resources/application-dev.properties @@ -6,6 +6,13 @@ spring.servlet.multipart.location=C:\\faispUploadFiles spring.servlet.multipart.max-file-size=200MB spring.servlet.multipart.max-request-size=500MB +#file +file.dir=C:\\faispUploadFiles +file.dir.vulnerable=/vulnerable +file.dir.part=/part +file.dir.equip=/equip + + #thymeleaf spring.thymeleaf.prefix=classpath:templates/ spring.thymeleaf.check-template-location=true diff --git a/src/main/resources/mybatisMapper/CrackdownStatustMapper.xml b/src/main/resources/mybatisMapper/CrackdownStatustMapper.xml index 1ae4f186..9d218154 100644 --- a/src/main/resources/mybatisMapper/CrackdownStatustMapper.xml +++ b/src/main/resources/mybatisMapper/CrackdownStatustMapper.xml @@ -429,4 +429,16 @@ on b.fb_key = d.fb_key and d.position = 'POS001' + \ No newline at end of file diff --git a/src/main/resources/static/css/common.css b/src/main/resources/static/css/common.css index b5e5949b..f7724f71 100644 --- a/src/main/resources/static/css/common.css +++ b/src/main/resources/static/css/common.css @@ -78,7 +78,7 @@ font-size: 11px; } .fs-10{ - font-size: 11px; + font-size: 10px; } .fsw-13{ font-size: 13px; diff --git a/src/main/resources/static/js/faStatistics/fishingBoatMgt.js b/src/main/resources/static/js/faStatistics/fishingBoatMgt.js index 0fc91620..b01a6f94 100644 --- a/src/main/resources/static/js/faStatistics/fishingBoatMgt.js +++ b/src/main/resources/static/js/faStatistics/fishingBoatMgt.js @@ -59,6 +59,23 @@ $(document).on('change', '#violationSelector', function (){ } } }) +$(document).on('click', '.versionInfoTr', function (){ + $.ajax({ + url: '/faStatistics/fishingBoatVersionInfo', + data: { + fbKey: $(this).find(".fbKey").val(), + versionNo: $(this).find(".versionNo").val() + }, + type: 'GET', + dataType:"html", + success: function(html){ + $("#fishingBoardVersionInfoDiv").empty().append(html); + }, + error:function(){ + + } + }); +}) $(document).on('click', '.violationRemoveBtn', function (){ $(this).parents(".violation").remove(); }) @@ -145,6 +162,11 @@ function getFishingBoatEditModal(cdsKey){ if(crackdownPolice){ getCrackdownBoatOption(crackdownPolice) } + if(cdsKey !== null){ + $(".crackdownStatusInfo").attr("disabled", "disabled") + $(".sailorInfo").attr("disabled", "disabled") + $(".processResultInfo").attr("disabled", "disabled") + } $("#fishingBoatEditModal").modal('show'); }, error:function(){ @@ -180,7 +202,9 @@ function getCrackdownBoatOption(categoryCd){ success: function(html){ const crackdownBoat = $("#crackdownBoat"); crackdownBoat.empty().append(html); - crackdownBoat.removeAttr("disabled"); + if(!$("#cdsKey").val()){ + crackdownBoat.removeAttr("disabled"); + } }, error:function(){ diff --git a/src/main/resources/templates/faStatistics/fishingBoat/fishingBoardVersionInfo.html b/src/main/resources/templates/faStatistics/fishingBoat/fishingBoardVersionInfo.html new file mode 100644 index 00000000..cd1f2c56 --- /dev/null +++ b/src/main/resources/templates/faStatistics/fishingBoat/fishingBoardVersionInfo.html @@ -0,0 +1,104 @@ + + +
+ +
+
+ + +
+
+ +
+
+ + +
+ +
+
+
+
+
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ + + +
+ +
+ + + +
+ +
+
+ + +
+
+
+
+ +
+ +
+
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+ +
+
+
+ +
+ +
+
+ \ No newline at end of file diff --git a/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatEditModal.html b/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatEditModal.html index 7ef3c9ac..d27596fa 100644 --- a/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatEditModal.html +++ b/src/main/resources/templates/faStatistics/fishingBoat/fishingBoatEditModal.html @@ -8,14 +8,14 @@
- - - - - - - - + + + + + + + +