Compare commits
2 Commits
80156cacba
...
d4748f2e6b
| Author | SHA1 | Date |
|---|---|---|
|
|
d4748f2e6b | |
|
|
2b55ab57b8 |
|
|
@ -1,13 +1,12 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ProcessResultRepository;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.SailorRepository;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ViolationRepository;
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.CrackdownStatusService;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.CrackdownStatusService;
|
||||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
|
@ -101,6 +100,26 @@ public class CrackdownStatusController {
|
||||||
return mav;
|
return mav;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/crackdownStatus/crackdownStatusHistoryViewModal")
|
||||||
|
public ModelAndView crackdownStatusHistoryViewModal(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatus crackdownStatus){
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusHistoryViewModal");
|
||||||
|
List<CrackdownStatusVersion> crackdownStatusVersionList = crackdownStatusService.selectCrackdownStatusVersionList(crackdownStatus.getCdsKey());
|
||||||
|
|
||||||
|
mav.addObject("crackdownStatusVersionList", crackdownStatusVersionList);
|
||||||
|
mav.addObject("crackdownStatus", crackdownStatus);
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/crackdownStatus/crackdownStatusHistoryDetail")
|
||||||
|
public ModelAndView crackdownStatusHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, CrackdownStatusVersion crackdownStatusVersion){
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/crackdownStatus/crackdownStatusHistoryDetail");
|
||||||
|
|
||||||
|
crackdownStatusVersion = crackdownStatusService.selectCrackdownStatusVersion(crackdownStatusVersion.getVersionNo(), crackdownStatusVersion.getCdsKey());
|
||||||
|
|
||||||
|
mav.addObject("crackdownStatusVersion", crackdownStatusVersion);
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/crackdownStatus/saveCrackdownStatus")
|
@PostMapping("/crackdownStatus/saveCrackdownStatus")
|
||||||
public Integer saveCrackdownStatus(@AuthenticationPrincipal UserInfo loginUser,
|
public Integer saveCrackdownStatus(@AuthenticationPrincipal UserInfo loginUser,
|
||||||
CrackdownStatus crackdownStatus,
|
CrackdownStatus crackdownStatus,
|
||||||
|
|
|
||||||
|
|
@ -2,14 +2,10 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||||
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
import com.dbnt.faisp.main.codeMgt.service.CodeMgtService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.CrackdownStatusRepository;
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.FishingBoatRepository;
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.ViolationRepository;
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.FishingBoatService;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.FishingBoatService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.ProcessResultService;
|
|
||||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||||
|
|
@ -20,7 +16,6 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
import org.springframework.web.servlet.ModelAndView;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,17 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.CrackdownStatusService;
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.ProcessResultService;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.ProcessResultService;
|
||||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
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;
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
@ -90,6 +88,58 @@ public class ProcessResultController {
|
||||||
return mav;
|
return mav;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@GetMapping("/processResult/processResultHistoryViewModal")
|
||||||
|
public ModelAndView processResultHistoryViewModal(@AuthenticationPrincipal UserInfo loginUser, ProcessResult processResult){
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/processResult/processResultHistoryViewModal");
|
||||||
|
List<ProcessResultVersion> processReulstVersionList = processResultService.selectProcessResultVersionList(processResult.getPrKey());
|
||||||
|
|
||||||
|
mav.addObject("processReulstVersionList", processReulstVersionList);
|
||||||
|
mav.addObject("processResult", processResult);
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/processResult/processResultHistoryDetail")
|
||||||
|
public ModelAndView processResultHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, ProcessResultVersion processResultVersion){
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/processResult/processResultHistoryDetail");
|
||||||
|
|
||||||
|
Integer cdsKey = processResultVersion.getCdsKey();
|
||||||
|
Integer fbKey = processResultVersion.getFbKey();
|
||||||
|
|
||||||
|
processResultVersion = processResultService.selectProcessResultVersion(processResultVersion.getVersionNo(), processResultVersion.getPrKey());
|
||||||
|
processResultVersion.setFishingBoat(fishingBoatRepository.findByFbKey(fbKey).orElse(null));
|
||||||
|
processResultVersion.setCrackdownStatus(crackdownStatusRepository.findByCdsKey(cdsKey).orElse(null));
|
||||||
|
processResultVersion.setViolationList(violationRepository.findByFbKey(fbKey));
|
||||||
|
|
||||||
|
mav.addObject("processResultVersion", processResultVersion);
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@GetMapping("/processResult/processResultAddModal")
|
||||||
|
public ModelAndView sailorAddModal(@AuthenticationPrincipal UserInfo loginUser, ProcessResult processResult){
|
||||||
|
ModelAndView mav = new ModelAndView("faStatistics/processResult/processResultAddModal");
|
||||||
|
|
||||||
|
processResult.setCrackdownStatusList(crackdownStatusRepository.findAll());
|
||||||
|
|
||||||
|
processResult.setWrtOrgan(loginUser.getOgCd());
|
||||||
|
processResult.setWrtUserNm(loginUser.getUserNm());
|
||||||
|
processResult.setWrtDt(LocalDateTime.now());
|
||||||
|
|
||||||
|
mav.addObject("processResult", processResult);
|
||||||
|
return mav;
|
||||||
|
}
|
||||||
|
|
||||||
|
@PostMapping("/processResult/getProcessResult")
|
||||||
|
public ProcessResult getProcessResult(@AuthenticationPrincipal UserInfo loginUser, ProcessResult processResult){
|
||||||
|
processResult = processResultRepository.findByCdsKey(processResult.getCdsKey()).orElse(null);
|
||||||
|
processResult.setCrackdownStatus(crackdownStatusRepository.findByCdsKey(processResult.getCdsKey()).orElse(null));
|
||||||
|
processResult.setFishingBoat(fishingBoatRepository.findByCdsKey(processResult.getCdsKey()).orElse(null));
|
||||||
|
|
||||||
|
processResult.setWrtOrgan(loginUser.getOgCd());
|
||||||
|
processResult.setWrtUserNm(loginUser.getUserNm());
|
||||||
|
processResult.setWrtDt(LocalDateTime.now());
|
||||||
|
return processResult;
|
||||||
|
}
|
||||||
|
|
||||||
@PostMapping("/processResult/saveProcessResult")
|
@PostMapping("/processResult/saveProcessResult")
|
||||||
public Integer saveProcessResult(@AuthenticationPrincipal UserInfo loginUser,
|
public Integer saveProcessResult(@AuthenticationPrincipal UserInfo loginUser,
|
||||||
CrackdownStatus crackdownStatus,
|
CrackdownStatus crackdownStatus,
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
import com.dbnt.faisp.main.authMgt.service.AuthMgtService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorVersion;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorVersion;
|
||||||
|
|
@ -74,6 +74,7 @@ public class SailorController {
|
||||||
List<SailorVersion> sailorVersionList = sailorService.selectSailorVersionList(sailor.getSailorKey());
|
List<SailorVersion> sailorVersionList = sailorService.selectSailorVersionList(sailor.getSailorKey());
|
||||||
|
|
||||||
mav.addObject("sailorVersionList", sailorVersionList);
|
mav.addObject("sailorVersionList", sailorVersionList);
|
||||||
|
mav.addObject("sailor", sailor);
|
||||||
return mav;
|
return mav;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -81,8 +82,12 @@ public class SailorController {
|
||||||
public ModelAndView sailorHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, SailorVersion sailorVersion){
|
public ModelAndView sailorHistoryDetail(@AuthenticationPrincipal UserInfo loginUser, SailorVersion sailorVersion){
|
||||||
ModelAndView mav = new ModelAndView("faStatistics/sailor/sailorHistoryDetail");
|
ModelAndView mav = new ModelAndView("faStatistics/sailor/sailorHistoryDetail");
|
||||||
|
|
||||||
sailorVersion = sailorService.selectSailorVersion(sailorVersion.getVersionNo());
|
Integer cdsKey = sailorVersion.getCdsKey();
|
||||||
sailorVersion.setFishingBoat(fishingBoatRepository.findByFbKey(7).orElse(null));
|
Integer fbKey = sailorVersion.getFbKey();
|
||||||
|
|
||||||
|
sailorVersion = sailorService.selectSailorVersion(sailorVersion.getVersionNo(), sailorVersion.getSailorKey());
|
||||||
|
sailorVersion.setFishingBoat(fishingBoatRepository.findByFbKey(fbKey).orElse(null));
|
||||||
|
sailorVersion.setCrackdownStatus(crackdownStatusRepository.findByCdsKey(cdsKey).orElse(null));
|
||||||
|
|
||||||
mav.addObject("sailorVersion", sailorVersion);
|
mav.addObject("sailorVersion", sailorVersion);
|
||||||
return mav;
|
return mav;
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult;
|
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
import org.apache.ibatis.annotations.Mapper;
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,83 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.config.BaseModel;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.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 javax.persistence.*;
|
||||||
|
import java.time.LocalDate;
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamicInsert
|
||||||
|
@DynamicUpdate
|
||||||
|
@Table(name = "crackdown_status")
|
||||||
|
public class CrackdownStatus extends CrackdownStatusBaseEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(name = "cds_key")
|
||||||
|
private Integer cdsKey;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private List<Violation> violationList;
|
||||||
|
@Transient
|
||||||
|
private FishingBoat fishingBoat;
|
||||||
|
@Transient
|
||||||
|
private ProcessResult processResult;
|
||||||
|
@Transient
|
||||||
|
private List<Sailor> sailorList;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private String crackdownPoliceEtc;
|
||||||
|
@Transient
|
||||||
|
private String crackdownBoatEtc;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer fbKey;
|
||||||
|
|
||||||
|
@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<Integer> violationDeleteKeyList;
|
||||||
|
@Transient
|
||||||
|
private List<Integer> sailorDeleteKeyList;
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus;
|
||||||
|
|
||||||
import com.dbnt.faisp.config.BaseModel;
|
import com.dbnt.faisp.config.BaseModel;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
|
|
@ -16,17 +19,9 @@ import java.util.List;
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Entity
|
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@DynamicInsert
|
@MappedSuperclass
|
||||||
@DynamicUpdate
|
public class CrackdownStatusBaseEntity extends BaseModel {
|
||||||
@Table(name = "crackdown_status")
|
|
||||||
public class CrackdownStatus extends BaseModel {
|
|
||||||
|
|
||||||
@Id
|
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
||||||
@Column(name = "cds_key")
|
|
||||||
private Integer cdsKey;
|
|
||||||
|
|
||||||
@Column(name = "case_num")
|
@Column(name = "case_num")
|
||||||
private String caseNum;
|
private String caseNum;
|
||||||
|
|
@ -129,54 +124,4 @@ public class CrackdownStatus extends BaseModel {
|
||||||
@Column(name = "wrt_dt")
|
@Column(name = "wrt_dt")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||||
private LocalDateTime wrtDt;
|
private LocalDateTime wrtDt;
|
||||||
|
|
||||||
@Transient
|
|
||||||
private List<Violation> violationList;
|
|
||||||
@Transient
|
|
||||||
private FishingBoat fishingBoat;
|
|
||||||
@Transient
|
|
||||||
private ProcessResult processResult;
|
|
||||||
@Transient
|
|
||||||
private List<Sailor> sailorList;
|
|
||||||
|
|
||||||
@Transient
|
|
||||||
private String crackdownPoliceEtc;
|
|
||||||
@Transient
|
|
||||||
private String crackdownBoatEtc;
|
|
||||||
|
|
||||||
@Transient
|
|
||||||
private Integer fbKey;
|
|
||||||
|
|
||||||
@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<Integer> violationDeleteKeyList;
|
|
||||||
@Transient
|
|
||||||
private List<Integer> sailorDeleteKeyList;
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus;
|
||||||
|
|
||||||
|
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 = "crackdown_status_version")
|
||||||
|
@IdClass(CrackdownStatusVersion.CrackdownStatusVersionId.class)
|
||||||
|
public class CrackdownStatusVersion extends CrackdownStatusBaseEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@Column(name = "cds_key")
|
||||||
|
private Integer cdsKey;
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@Column(name = "version_no")
|
||||||
|
private Integer versionNo;
|
||||||
|
|
||||||
|
@Embeddable
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public static class CrackdownStatusVersionId implements Serializable {
|
||||||
|
private Integer cdsKey;
|
||||||
|
private Integer versionNo;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.Setter;
|
||||||
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamicInsert
|
||||||
|
@DynamicUpdate
|
||||||
|
@Table(name = "process_result")
|
||||||
|
public class ProcessResult extends ProcessResultBaseEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||||
|
@Column(name = "pr_key")
|
||||||
|
private Integer prKey;
|
||||||
|
|
||||||
|
@Column(name = "cds_key")
|
||||||
|
private Integer cdsKey;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private CrackdownStatus crackdownStatus;
|
||||||
|
@Transient
|
||||||
|
private List<Violation> violationList;
|
||||||
|
@Transient
|
||||||
|
private FishingBoat fishingBoat;
|
||||||
|
@Transient
|
||||||
|
private String boatNameKr;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer fbKey;
|
||||||
|
@Transient
|
||||||
|
private String processStatusEtc;
|
||||||
|
@Transient
|
||||||
|
private String executionDetailEtc;
|
||||||
|
@Transient
|
||||||
|
private List<CrackdownStatus> crackdownStatusList;
|
||||||
|
@Transient
|
||||||
|
private List<FishingBoat> fishingBoatList;
|
||||||
|
}
|
||||||
|
|
@ -1,34 +1,20 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult;
|
||||||
|
|
||||||
import com.dbnt.faisp.config.BaseModel;
|
import com.dbnt.faisp.config.BaseModel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import org.hibernate.annotations.DynamicInsert;
|
|
||||||
import org.hibernate.annotations.DynamicUpdate;
|
|
||||||
import org.springframework.format.annotation.DateTimeFormat;
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
|
||||||
import javax.persistence.*;
|
import javax.persistence.*;
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
@Setter
|
@Setter
|
||||||
@Entity
|
@MappedSuperclass
|
||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@DynamicInsert
|
public class ProcessResultBaseEntity extends BaseModel {
|
||||||
@DynamicUpdate
|
|
||||||
@Table(name = "process_result")
|
|
||||||
public class ProcessResult extends BaseModel {
|
|
||||||
|
|
||||||
@Id
|
|
||||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
|
||||||
@Column(name = "pr_key")
|
|
||||||
private Integer prKey;
|
|
||||||
|
|
||||||
@Column(name = "cds_key")
|
|
||||||
private Integer cdsKey;
|
|
||||||
|
|
||||||
@Column(name = "process_status")
|
@Column(name = "process_status")
|
||||||
private String processStatus;
|
private String processStatus;
|
||||||
|
|
@ -134,20 +120,4 @@ public class ProcessResult extends BaseModel {
|
||||||
@Column(name = "wrt_dt")
|
@Column(name = "wrt_dt")
|
||||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||||
private LocalDateTime wrtDt;
|
private LocalDateTime wrtDt;
|
||||||
|
|
||||||
@Transient
|
|
||||||
private CrackdownStatus crackdownStatus;
|
|
||||||
@Transient
|
|
||||||
private List<Violation> violationList;
|
|
||||||
@Transient
|
|
||||||
private FishingBoat fishingBoat;
|
|
||||||
@Transient
|
|
||||||
private String boatNameKr;
|
|
||||||
|
|
||||||
@Transient
|
|
||||||
private Integer fbKey;
|
|
||||||
@Transient
|
|
||||||
private String processStatusEtc;
|
|
||||||
@Transient
|
|
||||||
private String executionDetailEtc;
|
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
|
import lombok.*;
|
||||||
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
|
import org.hibernate.annotations.DynamicUpdate;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Getter
|
||||||
|
@Setter
|
||||||
|
@Entity
|
||||||
|
@NoArgsConstructor
|
||||||
|
@DynamicInsert
|
||||||
|
@DynamicUpdate
|
||||||
|
@Table(name = "process_result_version")
|
||||||
|
@IdClass(ProcessResultVersion.ProcessResultVersionId.class)
|
||||||
|
public class ProcessResultVersion extends ProcessResultBaseEntity {
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@Column(name = "pr_key")
|
||||||
|
private Integer prKey;
|
||||||
|
|
||||||
|
@Id
|
||||||
|
@Column(name = "version_no")
|
||||||
|
private Integer versionNo;
|
||||||
|
|
||||||
|
@Embeddable
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
public static class ProcessResultVersionId implements Serializable {
|
||||||
|
private Integer prKey;
|
||||||
|
private Integer versionNo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer cdsKey;
|
||||||
|
@Transient
|
||||||
|
private Integer fbKey;
|
||||||
|
@Transient
|
||||||
|
private CrackdownStatus crackdownStatus;
|
||||||
|
@Transient
|
||||||
|
private FishingBoat fishingBoat;
|
||||||
|
@Transient
|
||||||
|
private List<Violation> violationList;
|
||||||
|
}
|
||||||
|
|
@ -1,9 +1,8 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorBaseEntity;
|
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
|
@ -30,6 +29,8 @@ public class Sailor extends SailorBaseEntity {
|
||||||
@Column(name = "fb_key")
|
@Column(name = "fb_key")
|
||||||
private Integer fbKey;
|
private Integer fbKey;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer cdsKey;
|
||||||
@Transient
|
@Transient
|
||||||
private CrackdownStatus crackdownStatus;
|
private CrackdownStatus crackdownStatus;
|
||||||
@Transient
|
@Transient
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.FishingBoat;
|
||||||
import lombok.*;
|
import lombok.*;
|
||||||
import org.hibernate.annotations.DynamicInsert;
|
import org.hibernate.annotations.DynamicInsert;
|
||||||
|
|
@ -41,6 +41,10 @@ public class SailorVersion extends SailorBaseEntity {
|
||||||
@Transient
|
@Transient
|
||||||
private FishingBoatVersion fishingBoatVersion;*/
|
private FishingBoatVersion fishingBoatVersion;*/
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private Integer cdsKey;
|
||||||
|
@Transient
|
||||||
|
private Integer fbKey;
|
||||||
@Transient
|
@Transient
|
||||||
private CrackdownStatus crackdownStatus;
|
private CrackdownStatus crackdownStatus;
|
||||||
@Transient
|
@Transient
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
public interface CrackdownStatusVersionRepository extends JpaRepository<CrackdownStatusVersion, CrackdownStatusVersion.CrackdownStatusVersionId> {
|
||||||
|
Optional<CrackdownStatusVersion> findTopByCdsKeyOrderByVersionNoDesc(Integer cdsKey);
|
||||||
|
List<CrackdownStatusVersion> findByCdsKey(Integer cdsKey);
|
||||||
|
|
||||||
|
CrackdownStatusVersion findByVersionNoAndCdsKey(Integer versionNo, Integer cdsKey);
|
||||||
|
}
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||||
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.ProcessResult;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||||
|
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion;
|
||||||
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
|
||||||
|
public interface ProcessResultVersionRepository extends JpaRepository<ProcessResultVersion, ProcessResultVersion.ProcessResultVersionId> {
|
||||||
|
Optional<ProcessResultVersion> findTopByPrKeyOrderByVersionNoDesc(Integer prKey);
|
||||||
|
List<ProcessResultVersion> findByPrKey(Integer prKey);
|
||||||
|
|
||||||
|
ProcessResultVersion findByVersionNoAndPrKey(Integer versionNo, Integer prKey);
|
||||||
|
}
|
||||||
|
|
@ -10,5 +10,5 @@ public interface SailorVersionRepository extends JpaRepository<SailorVersion, Sa
|
||||||
Optional<SailorVersion> findTopBySailorKeyOrderByVersionNoDesc(Integer sailorKey);
|
Optional<SailorVersion> findTopBySailorKeyOrderByVersionNoDesc(Integer sailorKey);
|
||||||
List<SailorVersion> findBySailorKey(Integer sailorKey);
|
List<SailorVersion> findBySailorKey(Integer sailorKey);
|
||||||
|
|
||||||
SailorVersion findByVersionNo(Integer versionNo);
|
SailorVersion findByVersionNoAndSailorKey(Integer versionNo, Integer sailorKey);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,10 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
||||||
|
|
||||||
import com.dbnt.faisp.config.BaseService;
|
import com.dbnt.faisp.config.BaseService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CrackdownStatus;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatusVersion;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.Violation;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
||||||
|
|
@ -19,6 +22,7 @@ public class CrackdownStatusService extends BaseService {
|
||||||
|
|
||||||
private final CrackdownStatusMapper crackdownStatusMapper;
|
private final CrackdownStatusMapper crackdownStatusMapper;
|
||||||
private final CrackdownStatusRepository crackdownStatusRepository;
|
private final CrackdownStatusRepository crackdownStatusRepository;
|
||||||
|
private final CrackdownStatusVersionRepository crackdownStatusVersionRepository;
|
||||||
private final FishingBoatRepository fishingBoatRepository;
|
private final FishingBoatRepository fishingBoatRepository;
|
||||||
private final ViolationRepository violationRepository;
|
private final ViolationRepository violationRepository;
|
||||||
private final ProcessResultRepository processResultRepository;
|
private final ProcessResultRepository processResultRepository;
|
||||||
|
|
@ -40,6 +44,14 @@ public class CrackdownStatusService extends BaseService {
|
||||||
return savedCrackdownStatus;
|
return savedCrackdownStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<CrackdownStatusVersion> selectCrackdownStatusVersionList(Integer cdsKey) {
|
||||||
|
return crackdownStatusVersionRepository.findByCdsKey(cdsKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
public CrackdownStatusVersion selectCrackdownStatusVersion(Integer versionNo, Integer cdsKey) {
|
||||||
|
return crackdownStatusVersionRepository.findByVersionNoAndCdsKey(versionNo, cdsKey);
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Integer saveCrackdownStatus(CrackdownStatus crackdownStatus) {
|
public Integer saveCrackdownStatus(CrackdownStatus crackdownStatus) {
|
||||||
if (crackdownStatus.getViolationDeleteKeyList() != null) {
|
if (crackdownStatus.getViolationDeleteKeyList() != null) {
|
||||||
|
|
@ -57,6 +69,8 @@ public class CrackdownStatusService extends BaseService {
|
||||||
}
|
}
|
||||||
|
|
||||||
Integer cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey();
|
Integer cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey();
|
||||||
|
saveCrackdownStatusVersion(crackdownStatus);
|
||||||
|
|
||||||
if (crackdownStatus.getFishingBoat() != null) {
|
if (crackdownStatus.getFishingBoat() != null) {
|
||||||
if (crackdownStatus.getFishingBoat().getBoatMaterialEtc() != null) {
|
if (crackdownStatus.getFishingBoat().getBoatMaterialEtc() != null) {
|
||||||
crackdownStatus.getFishingBoat().setBoatMaterial(crackdownStatus.getFishingBoat().getBoatMaterialEtc());
|
crackdownStatus.getFishingBoat().setBoatMaterial(crackdownStatus.getFishingBoat().getBoatMaterialEtc());
|
||||||
|
|
@ -109,4 +123,46 @@ public class CrackdownStatusService extends BaseService {
|
||||||
|
|
||||||
return cdsKey;
|
return cdsKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveCrackdownStatusVersion(CrackdownStatus crackdownStatus) {
|
||||||
|
CrackdownStatusVersion lastVersion = crackdownStatusVersionRepository.findTopByCdsKeyOrderByVersionNoDesc(crackdownStatus.getCdsKey()).orElse(null);
|
||||||
|
int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1);
|
||||||
|
|
||||||
|
CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion();
|
||||||
|
crackdownStatusVersion.setVersionNo(versionNo);
|
||||||
|
crackdownStatusVersion.setCdsKey(crackdownStatus.getCdsKey());
|
||||||
|
crackdownStatusVersion.setCaseNum(crackdownStatus.getCaseNum());
|
||||||
|
crackdownStatusVersion.setNapoDt(crackdownStatus.getNapoDt());
|
||||||
|
crackdownStatusVersion.setNapoSeaPointLon(crackdownStatus.getNapoSeaPointLon());
|
||||||
|
crackdownStatusVersion.setNapoSeaPointLat(crackdownStatus.getNapoSeaPointLat());
|
||||||
|
crackdownStatusVersion.setNapoSeaPointDetail(crackdownStatus.getNapoSeaPointDetail());
|
||||||
|
crackdownStatusVersion.setInvasionType(crackdownStatus.getInvasionType());
|
||||||
|
crackdownStatusVersion.setNll(crackdownStatus.getNll());
|
||||||
|
crackdownStatusVersion.setCaseAgency(crackdownStatus.getCaseAgency());
|
||||||
|
crackdownStatusVersion.setCasePoliceOfficer(crackdownStatus.getCasePoliceOfficer());
|
||||||
|
crackdownStatusVersion.setCrackdownBoat(crackdownStatus.getCrackdownBoat());
|
||||||
|
crackdownStatusVersion.setCrackdownPolice(crackdownStatus.getCrackdownPolice());
|
||||||
|
crackdownStatusVersion.setMmsi(crackdownStatus.getMmsi());
|
||||||
|
crackdownStatusVersion.setFieldIvsgt(crackdownStatus.getFieldIvsgt());
|
||||||
|
crackdownStatusVersion.setPersonDamageCnt(crackdownStatus.getPersonDamageCnt());
|
||||||
|
crackdownStatusVersion.setPersonDamageAmount(crackdownStatus.getPersonDamageAmount());
|
||||||
|
crackdownStatusVersion.setPersonDamageDetail(crackdownStatus.getPersonDamageDetail());
|
||||||
|
crackdownStatusVersion.setMaterialDamageCnt(crackdownStatus.getMaterialDamageCnt());
|
||||||
|
crackdownStatusVersion.setMaterialDamageAmount(crackdownStatus.getMaterialDamageAmount());
|
||||||
|
crackdownStatusVersion.setMaterialDamageDetail(crackdownStatus.getMaterialDamageDetail());
|
||||||
|
crackdownStatusVersion.setFieldIvsgtNapoDt(crackdownStatus.getFieldIvsgtNapoDt());
|
||||||
|
crackdownStatusVersion.setFieldIvsgtReleaseDt(crackdownStatus.getFieldIvsgtReleaseDt());
|
||||||
|
crackdownStatusVersion.setFieldIvsgtTimeTaken(crackdownStatus.getFieldIvsgtTimeTaken());
|
||||||
|
crackdownStatusVersion.setPressurizedStartDt(crackdownStatus.getPressurizedStartDt());
|
||||||
|
crackdownStatusVersion.setPressurizedEndDt(crackdownStatus.getPressurizedEndDt());
|
||||||
|
crackdownStatusVersion.setDistance(crackdownStatus.getDistance());
|
||||||
|
crackdownStatusVersion.setWrtOrgan(crackdownStatus.getWrtOrgan());
|
||||||
|
crackdownStatusVersion.setWrtPart(crackdownStatus.getWrtPart());
|
||||||
|
crackdownStatusVersion.setWrtUserSeq(crackdownStatus.getWrtUserSeq());
|
||||||
|
crackdownStatusVersion.setWrtUserGrd(crackdownStatus.getWrtUserGrd());
|
||||||
|
crackdownStatusVersion.setWrtUserNm(crackdownStatus.getWrtUserNm());
|
||||||
|
crackdownStatusVersion.setWrtDt(crackdownStatus.getWrtDt());
|
||||||
|
|
||||||
|
crackdownStatusVersionRepository.save(crackdownStatusVersion);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,14 +4,14 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
||||||
import com.dbnt.faisp.config.BaseService;
|
import com.dbnt.faisp.config.BaseService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.*;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.*;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
public class FishingBoatService extends BaseService {
|
public class FishingBoatService extends BaseService {
|
||||||
|
|
|
||||||
|
|
@ -2,21 +2,20 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
||||||
|
|
||||||
|
|
||||||
import com.dbnt.faisp.config.BaseService;
|
import com.dbnt.faisp.config.BaseService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper;
|
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.ProcessResultMapper;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.ProcessResultMapper;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.*;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.*;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResultVersion;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorVersion;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
||||||
import com.dbnt.faisp.util.Utils;
|
import com.dbnt.faisp.util.Utils;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.beans.BeanUtils;
|
|
||||||
import org.springframework.beans.BeanWrapper;
|
|
||||||
import org.springframework.beans.BeanWrapperImpl;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
|
|
@ -27,6 +26,7 @@ public class ProcessResultService extends BaseService {
|
||||||
private final FishingBoatRepository fishingBoatRepository;
|
private final FishingBoatRepository fishingBoatRepository;
|
||||||
private final ViolationRepository violationRepository;
|
private final ViolationRepository violationRepository;
|
||||||
private final ProcessResultRepository processResultRepository;
|
private final ProcessResultRepository processResultRepository;
|
||||||
|
private final ProcessResultVersionRepository processResultVersionRepository;
|
||||||
|
|
||||||
public List<ProcessResult> selectProcessResultList(ProcessResult processResult) {
|
public List<ProcessResult> selectProcessResultList(ProcessResult processResult) {
|
||||||
return processResultMapper.selectProcessResultList(processResult);
|
return processResultMapper.selectProcessResultList(processResult);
|
||||||
|
|
@ -40,6 +40,14 @@ public class ProcessResultService extends BaseService {
|
||||||
return processResultRepository.findById(prKey).orElse(null);
|
return processResultRepository.findById(prKey).orElse(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<ProcessResultVersion> selectProcessResultVersionList(Integer prKey) {
|
||||||
|
return processResultVersionRepository.findByPrKey(prKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
public ProcessResultVersion selectProcessResultVersion(Integer versionNo, Integer prKey) {
|
||||||
|
return processResultVersionRepository.findByVersionNoAndPrKey(versionNo, prKey);
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
public Integer saveProcessResult(ProcessResult processResult) {
|
public Integer saveProcessResult(ProcessResult processResult) {
|
||||||
if (processResult.getCrackdownStatus().getViolationDeleteKeyList() != null) {
|
if (processResult.getCrackdownStatus().getViolationDeleteKeyList() != null) {
|
||||||
|
|
@ -50,11 +58,22 @@ public class ProcessResultService extends BaseService {
|
||||||
processResult.setExecutionDetail(processResult.getExecutionDetailEtc());
|
processResult.setExecutionDetail(processResult.getExecutionDetailEtc());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Integer prKey = 0;
|
||||||
ProcessResult existingProcessResult = processResultRepository.findByPrKey(processResult.getPrKey()).orElse(null);
|
ProcessResult existingProcessResult = processResultRepository.findByPrKey(processResult.getPrKey()).orElse(null);
|
||||||
Utils.copyNonNullProperties(processResult, existingProcessResult);
|
|
||||||
Integer prKey = processResultRepository.save(existingProcessResult).getPrKey();
|
|
||||||
|
|
||||||
if (processResult.getCrackdownStatus() != null) {
|
if (existingProcessResult != null) {
|
||||||
|
Utils.copyNonNullProperties(processResult, existingProcessResult);
|
||||||
|
existingProcessResult.setCrackdownStatus(null);
|
||||||
|
existingProcessResult.setFishingBoat(null);
|
||||||
|
existingProcessResult.setViolationList(null);
|
||||||
|
prKey = processResultRepository.save(existingProcessResult).getPrKey();
|
||||||
|
saveProcessResultVersion(existingProcessResult);
|
||||||
|
} else {
|
||||||
|
prKey = processResultRepository.save(processResult).getPrKey();
|
||||||
|
saveProcessResultVersion(processResult);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*if (processResult.getCrackdownStatus() != null) {
|
||||||
if (processResult.getCrackdownStatus().getCrackdownPoliceEtc() != null) {
|
if (processResult.getCrackdownStatus().getCrackdownPoliceEtc() != null) {
|
||||||
processResult.getCrackdownStatus().setCrackdownPolice(processResult.getCrackdownStatus().getCrackdownPoliceEtc());
|
processResult.getCrackdownStatus().setCrackdownPolice(processResult.getCrackdownStatus().getCrackdownPoliceEtc());
|
||||||
}
|
}
|
||||||
|
|
@ -62,15 +81,15 @@ public class ProcessResultService extends BaseService {
|
||||||
CrackdownStatus existingCrackdownStatus = crackdownStatusRepository.findByCdsKey(processResult.getCdsKey()).orElse(null);
|
CrackdownStatus existingCrackdownStatus = crackdownStatusRepository.findByCdsKey(processResult.getCdsKey()).orElse(null);
|
||||||
Utils.copyNonNullProperties(processResult, existingCrackdownStatus);
|
Utils.copyNonNullProperties(processResult, existingCrackdownStatus);
|
||||||
processResult.setCrackdownStatus(crackdownStatusRepository.save(existingCrackdownStatus));
|
processResult.setCrackdownStatus(crackdownStatusRepository.save(existingCrackdownStatus));
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (processResult.getFishingBoat() != null) {
|
/*if (processResult.getFishingBoat() != null) {
|
||||||
FishingBoat existingFishingBoat = fishingBoatRepository.findByCdsKey(processResult.getCdsKey()).orElse(null);
|
FishingBoat existingFishingBoat = fishingBoatRepository.findByCdsKey(processResult.getCdsKey()).orElse(null);
|
||||||
Utils.copyNonNullProperties(processResult, existingFishingBoat);
|
Utils.copyNonNullProperties(processResult, existingFishingBoat);
|
||||||
fishingBoatRepository.save(existingFishingBoat);
|
fishingBoatRepository.save(existingFishingBoat);
|
||||||
}
|
}*/
|
||||||
|
|
||||||
if (processResult.getViolationList().get(0).getViolation() != null) {
|
/*if (processResult.getViolationList().get(0).getViolation() != null) {
|
||||||
Violation lastViolation = violationRepository.findTopByFbKeyOrderByViolationKeyDesc(processResult.getCrackdownStatus().getFbKey()).orElse(null);
|
Violation lastViolation = violationRepository.findTopByFbKeyOrderByViolationKeyDesc(processResult.getCrackdownStatus().getFbKey()).orElse(null);
|
||||||
int violationKey = lastViolation==null?1:(lastViolation.getViolationKey()+1);
|
int violationKey = lastViolation==null?1:(lastViolation.getViolationKey()+1);
|
||||||
|
|
||||||
|
|
@ -85,8 +104,50 @@ public class ProcessResultService extends BaseService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
violationRepository.saveAll(processResult.getViolationList());
|
violationRepository.saveAll(processResult.getViolationList());
|
||||||
}
|
}*/
|
||||||
|
|
||||||
return prKey;
|
return prKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void saveProcessResultVersion(ProcessResult processResult) {
|
||||||
|
ProcessResultVersion lastVersion = processResultVersionRepository.findTopByPrKeyOrderByVersionNoDesc(processResult.getPrKey()).orElse(null);
|
||||||
|
int versionNo = lastVersion==null?1:(lastVersion.getVersionNo()+1);
|
||||||
|
|
||||||
|
ProcessResultVersion processResultVersion = new ProcessResultVersion();
|
||||||
|
processResultVersion.setVersionNo(versionNo);
|
||||||
|
processResultVersion.setPrKey(processResult.getPrKey());
|
||||||
|
processResultVersion.setProcessStatus(processResult.getProcessStatus());
|
||||||
|
processResultVersion.setPressurizedTimeTaken(processResult.getPressurizedTimeTaken());
|
||||||
|
processResultVersion.setWarrantReqTakeTime(processResult.getWarrantReqTakeTime());
|
||||||
|
processResultVersion.setIsIvsgtStop(processResult.getIsIvsgtStop());
|
||||||
|
processResultVersion.setEvictionDt(processResult.getEvictionDt());
|
||||||
|
processResultVersion.setDirectHandoverDt(processResult.getDirectHandoverDt());
|
||||||
|
processResultVersion.setHandoverSeaPointLon(processResult.getHandoverSeaPointLon());
|
||||||
|
processResultVersion.setHandoverSeaPointLat(processResult.getHandoverSeaPointLat());
|
||||||
|
processResultVersion.setHandoverSeaPointDetail(processResult.getHandoverSeaPointDetail());
|
||||||
|
processResultVersion.setHandoverBoat(processResult.getHandoverBoat());
|
||||||
|
processResultVersion.setMiddleTakeoverBoat(processResult.getMiddleTakeoverBoat());
|
||||||
|
processResultVersion.setConsignmentStartDt(processResult.getConsignmentStartDt());
|
||||||
|
processResultVersion.setConsignmentEndDt(processResult.getConsignmentEndDt());
|
||||||
|
processResultVersion.setConfiscationDt(processResult.getConfiscationDt());
|
||||||
|
processResultVersion.setBoatDisposalDt(processResult.getBoatDisposalDt());
|
||||||
|
processResultVersion.setBoatDisposalType(processResult.getBoatDisposalType());
|
||||||
|
processResultVersion.setReturnDt(processResult.getReturnDt());
|
||||||
|
processResultVersion.setExileCnt(processResult.getExileCnt());
|
||||||
|
processResultVersion.setFlight(processResult.getFlight());
|
||||||
|
processResultVersion.setImmigrationOfficeName(processResult.getImmigrationOfficeName());
|
||||||
|
processResultVersion.setImmigrationOfficeOfficerName(processResult.getImmigrationOfficeOfficerName());
|
||||||
|
processResultVersion.setImmigrationOfficeOfficerContact(processResult.getImmigrationOfficeOfficerContact());
|
||||||
|
processResultVersion.setSentencingCourt(processResult.getSentencingCourt());
|
||||||
|
processResultVersion.setSentencingDetail(processResult.getSentencingDetail());
|
||||||
|
processResultVersion.setExecutionDetail(processResult.getExecutionDetail());
|
||||||
|
processResultVersion.setWrtOrgan(processResult.getWrtOrgan());
|
||||||
|
processResultVersion.setWrtPart(processResult.getWrtPart());
|
||||||
|
processResultVersion.setWrtUserSeq(processResult.getWrtUserSeq());
|
||||||
|
processResultVersion.setWrtUserGrd(processResult.getWrtUserGrd());
|
||||||
|
processResultVersion.setWrtUserNm(processResult.getWrtUserNm());
|
||||||
|
processResultVersion.setWrtDt(processResult.getWrtDt());
|
||||||
|
|
||||||
|
processResultVersionRepository.save(processResultVersion);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
||||||
import com.dbnt.faisp.config.BaseService;
|
import com.dbnt.faisp.config.BaseService;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.SailorMapper;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.SailorMapper;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.*;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.*;
|
||||||
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorVersion;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.SailorVersion;
|
||||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository.*;
|
||||||
|
|
@ -38,8 +39,8 @@ public class SailorService extends BaseService {
|
||||||
return sailorVersionRepository.findBySailorKey(sailorKey);
|
return sailorVersionRepository.findBySailorKey(sailorKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
public SailorVersion selectSailorVersion(Integer versionNo) {
|
public SailorVersion selectSailorVersion(Integer versionNo, Integer sailorKey) {
|
||||||
return sailorVersionRepository.findByVersionNo(versionNo);
|
return sailorVersionRepository.findByVersionNoAndSailorKey(versionNo, sailorKey);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Transactional
|
@Transactional
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,22 @@ $(document).on('click', '.tr', function (){
|
||||||
getCrackdownStatusViewModal($(this).data('key'));
|
getCrackdownStatusViewModal($(this).data('key'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '#history-tab', function (){
|
||||||
|
getCrackdownStatusHistoryViewModal($('#cdsEditForm').find('input[name="cdsKey"]').val());
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '#crackdownStatus-tab', function (){
|
||||||
|
getCrackdownStatusViewModal($('#cdsEditForm').find('input[name="cdsKey"]').val());
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '.version-tr', function (){
|
||||||
|
$(this).find('input[name="versionNo"]').prop('checked', true);
|
||||||
|
const versionNo = $(this).find('input[name="versionNo"]').val();
|
||||||
|
const cdsKey = $('#cdsEditForm').find('input[name="cdsKey"]').val();
|
||||||
|
getCrackdownStatusHistoryDetail(versionNo, cdsKey);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
$(document).on('change', 'select[name="crackdownPolice"]', function (){
|
$(document).on('change', 'select[name="crackdownPolice"]', function (){
|
||||||
dynamicOption('select[name="crackdownBoat"]', $(this).val());
|
dynamicOption('select[name="crackdownBoat"]', $(this).val());
|
||||||
});
|
});
|
||||||
|
|
@ -151,12 +167,47 @@ $(document).on('click', '#cdsDownExcel', function (){
|
||||||
exportExcel('불법조업 불법어선 단속현황');
|
exportExcel('불법조업 불법어선 단속현황');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function getCrackdownStatusHistoryDetail(versionNo, cdsKey){
|
||||||
|
$.ajax({
|
||||||
|
url: '/faStatistics/crackdownStatus/crackdownStatusHistoryDetail',
|
||||||
|
data: {
|
||||||
|
versionNo : versionNo,
|
||||||
|
cdsKey : cdsKey
|
||||||
|
},
|
||||||
|
type: 'GET',
|
||||||
|
dataType:"html",
|
||||||
|
success: function(html){
|
||||||
|
$("#historyDetailDiv").empty().append(html);
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function getCrackdownStatusViewModal(cdsKey){
|
function getCrackdownStatusViewModal(cdsKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/faStatistics/crackdownStatus/crackdownStatusViewModal',
|
url: '/faStatistics/crackdownStatus/crackdownStatusViewModal',
|
||||||
data: {cdsKey: cdsKey},
|
data: {cdsKey: cdsKey},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
|
success: function(html){
|
||||||
|
$("#cdsEditBody").empty();
|
||||||
|
$("#crackdownStatusViewBody").empty().append(html)
|
||||||
|
$("#crackdownStatusViewModal").modal('show');
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCrackdownStatusHistoryViewModal(cdsKey){
|
||||||
|
$.ajax({
|
||||||
|
url: '/faStatistics/crackdownStatus/crackdownStatusHistoryViewModal',
|
||||||
|
data: {cdsKey: cdsKey},
|
||||||
|
type: 'GET',
|
||||||
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
$("#crackdownStatusViewBody").empty().append(html)
|
$("#crackdownStatusViewBody").empty().append(html)
|
||||||
$("#crackdownStatusViewModal").modal('show');
|
$("#crackdownStatusViewModal").modal('show');
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
$(document).on('click', '#processResultAddBtn', function () {
|
$(document).on('click', '#processResultAddBtn', function () {
|
||||||
getProcessResultEditModal(null);
|
getProcessResultAddModal(null);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('click', '#processResultEditBtn', function () {
|
$(document).on('click', '#processResultEditBtn', function () {
|
||||||
|
|
@ -19,6 +19,58 @@ $(document).on('click', '.tr', function (){
|
||||||
getProcessResultViewModal($(this).data('key'));
|
getProcessResultViewModal($(this).data('key'));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '#history-tab', function (){
|
||||||
|
const prKey = $('#processResultEditForm').find('input[name="prKey"]').val();
|
||||||
|
const cdsKey = $('#processResultEditForm').find('input[name="cdsKey"]').val();
|
||||||
|
const fbKey = $('#processResultEditForm').find('input[name="fbKey"]').val();
|
||||||
|
getProcessResultHistoryViewModal(prKey, cdsKey, fbKey);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '#processResult-tab', function (){
|
||||||
|
getProcessResultViewModal($('#processResultEditForm').find('input[name="prKey"]').val());
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('click', '.version-tr', function (){
|
||||||
|
$(this).find('input[name="versionNo"]').prop('checked', true);
|
||||||
|
const versionNo = $(this).find('input[name="versionNo"]').val();
|
||||||
|
const prKey = $('#processResultEditForm').find('input[name="prKey"]').val();
|
||||||
|
const cdsKey = $('#processResultEditForm').find('input[name="cdsKey"]').val();
|
||||||
|
const fbKey = $('#processResultEditForm').find('input[name="fbKey"]').val();
|
||||||
|
getProcessResultHistoryDetail(versionNo, prKey, cdsKey, fbKey);
|
||||||
|
});
|
||||||
|
|
||||||
|
$(document).on('change', 'select[name="caseNum"]', function (){
|
||||||
|
$('input[name="boatNameKr"]').val('');
|
||||||
|
$('input[name="prKey"]').val('');
|
||||||
|
$('input[name="cdsKey"]').val($('select[name="caseNum"] option:selected').val());
|
||||||
|
|
||||||
|
const formdata = new FormData($('#processResultEditForm')[0]);
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: 'POST',
|
||||||
|
data: formdata,
|
||||||
|
url: "/faStatistics/processResult/getProcessResult",
|
||||||
|
processData: false,
|
||||||
|
contentType: false,
|
||||||
|
success: function(result) {
|
||||||
|
$('input[name="boatNameKr"]').val(result.fishingBoat.boatNameKr);
|
||||||
|
$('input[name="prKey"]').val(result.prKey);
|
||||||
|
$('input[name="sentencingCourt"]').val(result.sentencingCourt);
|
||||||
|
$('input[name="sentencingDetail"]').val(result.sentencingDetail);
|
||||||
|
$('select[name="executionDetail"]').val(result.executionDetail).prop('selected', true);
|
||||||
|
$('input[name="returnDt"]').val(result.returnDt);
|
||||||
|
$('input[name="consignmentStartDt"]').val(result.consignmentStartDt);
|
||||||
|
$('input[name="consignmentEndDt"]').val(result.consignmentEndDt);
|
||||||
|
$('input[name="confiscationDt"]').val(result.confiscationDt);
|
||||||
|
$('input[name="boatDisposalDt"]').val(result.boatDisposalDt);
|
||||||
|
$('input[name="boatDisposalDt"]').val(result.boatDisposalDt);
|
||||||
|
},
|
||||||
|
error: function(xhr, status) {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
$(document).on('click', '#violationAddBtn', function (){
|
$(document).on('click', '#violationAddBtn', function (){
|
||||||
let violation = '';
|
let violation = '';
|
||||||
commonCode.VT.forEach(function (item){
|
commonCode.VT.forEach(function (item){
|
||||||
|
|
@ -84,6 +136,26 @@ $(document).on('click', '#processResultDownExcel', function (){
|
||||||
exportExcel('불법조업 불법어선 처리현황');
|
exportExcel('불법조업 불법어선 처리현황');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function getProcessResultHistoryDetail(versionNo, prKey, cdsKey, fbKey){
|
||||||
|
$.ajax({
|
||||||
|
url: '/faStatistics/processResult/processResultHistoryDetail',
|
||||||
|
data: {
|
||||||
|
versionNo : versionNo,
|
||||||
|
prKey: prKey,
|
||||||
|
cdsKey : cdsKey,
|
||||||
|
fbKey : fbKey
|
||||||
|
},
|
||||||
|
type: 'GET',
|
||||||
|
dataType:"html",
|
||||||
|
success: function(html){
|
||||||
|
$("#historyDetailDiv").empty().append(html);
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function getProcessResultViewModal(prKey){
|
function getProcessResultViewModal(prKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/faStatistics/processResult/processResultViewModal',
|
url: '/faStatistics/processResult/processResultViewModal',
|
||||||
|
|
@ -91,6 +163,7 @@ function getProcessResultViewModal(prKey){
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
|
$("#processResultEditModalContent").empty();
|
||||||
$("#processResultViewBody").empty().append(html)
|
$("#processResultViewBody").empty().append(html)
|
||||||
$("#processResultViewModal").modal('show');
|
$("#processResultViewModal").modal('show');
|
||||||
},
|
},
|
||||||
|
|
@ -100,6 +173,63 @@ function getProcessResultViewModal(prKey){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getProcessResultHistoryViewModal(prKey, cdsKey, fbKey){
|
||||||
|
$.ajax({
|
||||||
|
url: '/faStatistics/processResult/processResultHistoryViewModal',
|
||||||
|
data: {
|
||||||
|
prKey: prKey,
|
||||||
|
cdsKey : cdsKey,
|
||||||
|
fbKey : fbKey
|
||||||
|
},
|
||||||
|
type: 'GET',
|
||||||
|
dataType:"html",
|
||||||
|
success: function(html){
|
||||||
|
$("#processResultViewBody").empty().append(html)
|
||||||
|
$("#processResultViewModal").modal('show');
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getProcessResultAddModal(){
|
||||||
|
$.ajax({
|
||||||
|
url: '/faStatistics/processResult/processResultAddModal',
|
||||||
|
type: 'GET',
|
||||||
|
dataType:"html",
|
||||||
|
success: function(html){
|
||||||
|
$("#processResultViewBody").empty();
|
||||||
|
$("#processResultAddModalContent").empty().append(html);
|
||||||
|
$("#processResultAddModal").modal('show');
|
||||||
|
|
||||||
|
$("#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"
|
||||||
|
});
|
||||||
|
},
|
||||||
|
error:function(){
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function getProcessResultEditModal(prKey){
|
function getProcessResultEditModal(prKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/faStatistics/processResult/processResultEditModal',
|
url: '/faStatistics/processResult/processResultEditModal',
|
||||||
|
|
@ -185,6 +315,7 @@ function saveProcessResult(saveYn){
|
||||||
alert("저장되었습니다.");
|
alert("저장되었습니다.");
|
||||||
contentFade("out");
|
contentFade("out");
|
||||||
$("#processResultEditModal").modal('hide');
|
$("#processResultEditModal").modal('hide');
|
||||||
|
$("#processResultAddModal").modal('hide');
|
||||||
},
|
},
|
||||||
error : function(xhr, status) {
|
error : function(xhr, status) {
|
||||||
alert("저장에 실패하였습니다.")
|
alert("저장에 실패하였습니다.")
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,10 @@ $(document).on('click', '.tr', function (){
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('click', '#history-tab', function (){
|
$(document).on('click', '#history-tab', function (){
|
||||||
getSailorHistoryViewModal($('#sailorEditForm').find('input[name="sailorKey"]').val());
|
const sailorKey = $('#sailorEditForm').find('input[name="sailorKey"]').val();
|
||||||
|
const cdsKey = $('#sailorEditForm').find('input[name="cdsKey"]').val();
|
||||||
|
const fbKey = $('#sailorEditForm').find('input[name="fbKey"]').val();
|
||||||
|
getSailorHistoryViewModal(sailorKey, cdsKey, fbKey);
|
||||||
});
|
});
|
||||||
|
|
||||||
$(document).on('click', '#sailor-tab', function (){
|
$(document).on('click', '#sailor-tab', function (){
|
||||||
|
|
@ -29,7 +32,11 @@ $(document).on('click', '#sailor-tab', function (){
|
||||||
|
|
||||||
$(document).on('click', '.version-tr', function (){
|
$(document).on('click', '.version-tr', function (){
|
||||||
$(this).find('input[name="versionNo"]').prop('checked', true);
|
$(this).find('input[name="versionNo"]').prop('checked', true);
|
||||||
getSailorHistoryDetail($(this).find('input[name="versionNo"]').val());
|
const versionNo = $(this).find('input[name="versionNo"]').val();
|
||||||
|
const sailorKey = $('#sailorEditForm').find('input[name="sailorKey"]').val();
|
||||||
|
const cdsKey = $('#sailorEditForm').find('input[name="cdsKey"]').val();
|
||||||
|
const fbKey = $('#sailorEditForm').find('input[name="fbKey"]').val();
|
||||||
|
getSailorHistoryDetail(versionNo, sailorKey, cdsKey, fbKey);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -104,10 +111,15 @@ $(document).on('click', '#sailorDownExcel', function (){
|
||||||
exportExcel('불법조업 불법어선 처리현황');
|
exportExcel('불법조업 불법어선 처리현황');
|
||||||
});
|
});
|
||||||
|
|
||||||
function getSailorHistoryDetail(versionNo){
|
function getSailorHistoryDetail(versionNo, sailorKey, cdsKey, fbKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/faStatistics/sailor/sailorHistoryDetail',
|
url: '/faStatistics/sailor/sailorHistoryDetail',
|
||||||
data: {versionNo: versionNo},
|
data: {
|
||||||
|
versionNo : versionNo,
|
||||||
|
sailorKey: sailorKey,
|
||||||
|
cdsKey : cdsKey,
|
||||||
|
fbKey : fbKey
|
||||||
|
},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
|
|
@ -127,7 +139,8 @@ function getSailorViewModal(sailorKey){
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
$("#sailorViewBody").empty().append(html)
|
$("#sailorAddModalContent").empty();
|
||||||
|
$("#sailorViewBody").empty().append(html);
|
||||||
$("#sailorViewModal").modal('show');
|
$("#sailorViewModal").modal('show');
|
||||||
},
|
},
|
||||||
error:function(){
|
error:function(){
|
||||||
|
|
@ -136,10 +149,14 @@ function getSailorViewModal(sailorKey){
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getSailorHistoryViewModal(sailorKey){
|
function getSailorHistoryViewModal(sailorKey, cdsKey, fbKey){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: '/faStatistics/sailor/sailorHistoryViewModal',
|
url: '/faStatistics/sailor/sailorHistoryViewModal',
|
||||||
data: {sailorKey: sailorKey},
|
data: {
|
||||||
|
sailorKey : sailorKey,
|
||||||
|
cdsKey : cdsKey,
|
||||||
|
fbKey : fbKey
|
||||||
|
},
|
||||||
type: 'GET',
|
type: 'GET',
|
||||||
dataType:"html",
|
dataType:"html",
|
||||||
success: function(html){
|
success: function(html){
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,143 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<div class="mb-3 row">
|
||||||
|
나포정보
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<div class="col-sm-1">
|
||||||
|
<label class="col-auto col-form-label text-center">나포일시</label>
|
||||||
|
<label class="col-auto col-form-label text-center">NLL</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="napoDt" id="napoDt" th:value="${#temporals.format(crackdownStatusVersion.napoDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
|
<select class="form-select form-select-sm" name="nll">
|
||||||
|
<option value="Y" th:selected="${crackdownStatusVersion.nll == 'Y'}">O</option>
|
||||||
|
<option value="N" th:selected="${crackdownStatusVersion.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="${crackdownStatusVersion.napoSeaPointLat}">
|
||||||
|
<input class="form-control" placeholder="경도" name="napoSeaPointLon" th:value="${crackdownStatusVersion.napoSeaPointLon}">
|
||||||
|
<input class="form-control" placeholder="상세내용" name="napoSeaPointDetail" th:value="${crackdownStatusVersion.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">
|
||||||
|
<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 crackdownStatusVersion.invasionType}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
특수공무집행방해
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">발생건수</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="obstrExspdCnt" th:value="${crackdownStatusVersion.obstrExspdCnt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피해인원</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="personDamageCnt" th:value="${crackdownStatusVersion.personDamageCnt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피해액</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="personDamageAmount" th:value="${crackdownStatusVersion.personDamageAmount}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">상세내용</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="personDamageDetail" th:value="${crackdownStatusVersion.personDamageDetail}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">발생건수</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="materialDamageCnt" th:value="${crackdownStatusVersion.materialDamageCnt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피해액</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="materialDamageAmount" th:value="${crackdownStatusVersion.materialDamageAmount}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">상세내용</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="materialDamageDetail" th:value="${crackdownStatusVersion.materialDamageDetail}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
검거기관
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">사건담당 기관</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<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 crackdownStatusVersion.caseAgency}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">단속<br>경찰서</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<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="${commonCode.itemCd eq crackdownStatusVersion.crackdownPolice}"></option>
|
||||||
|
</th:block>
|
||||||
|
<option value="etc">직접입력</option>
|
||||||
|
</select>
|
||||||
|
</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="crackdownBoat" id="crackdownBoat">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="num : ${#numbers.sequence(1,#lists.size(session.commonCode.get('CPO')))}">
|
||||||
|
<th:block th:if="${'CPO'+num == crackdownStatusVersion.crackdownPolice}" th:each="commonCode:${session.commonCode.get('CPO'+num)}">
|
||||||
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}" th:selected="${crackdownStatusVersion.crackdownBoat eq commonCode.itemCd}"></option>
|
||||||
|
</th:block>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="mmsi" th:value="${crackdownStatusVersion.mmsi}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
현장조사
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="fieldIvsgtNapoDt" id="fieldIvsgtNapoDt" th:value="${#temporals.format(crackdownStatusVersion.fieldIvsgtNapoDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">석방일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="fieldIvsgtReleaseDt" id="fieldIvsgtReleaseDt" th:value="${#temporals.format(crackdownStatusVersion.fieldIvsgtReleaseDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">소요시간</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="fieldIvsgtTimeTaken" th:value="${crackdownStatusVersion.fieldIvsgtTimeTaken}" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
압송
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">압송시작</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="pressurizedStartDt" id="pressurizedStartDt" th:value="${#temporals.format(crackdownStatusVersion.pressurizedStartDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">압송종료</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="pressurizedEndDt" id="pressurizedEndDt" th:value="${#temporals.format(crackdownStatusVersion.pressurizedEndDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
|
</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="${crackdownStatusVersion.distance}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,185 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="crackdownStatusEditModalLabel">불법조업 외국어선 단속등록</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<!-- 탭 메뉴 -->
|
||||||
|
<ul class="nav nav-tabs" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link crackdownStatusTab" id="crackdownStatus-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#crackdownStatus" type="button" role="tab" aria-controls="crackdownStatus" data-crackdownStatus-type="crackdownStatus"
|
||||||
|
aria-selected="true">상세</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link crackdownStatusTab active" id="history-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#history" type="button" role="tab" data-history-type="history"
|
||||||
|
aria-controls="history">수정이력</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!-- 내용 -->
|
||||||
|
<div class="tab-content">
|
||||||
|
<div class="tab-pane fade show active" id="history" role="tabpanel" aria-labelledby="history-tab">
|
||||||
|
<div class="modal-body" id="cdsEditBody">
|
||||||
|
<form action="#" method="post" id="cdsEditForm">
|
||||||
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<input type="hidden" name="cdsKey" th:value="${crackdownStatus.cdsKey}">
|
||||||
|
<th:block th:if="${!#lists.isEmpty(crackdownStatusVersionList)}">
|
||||||
|
<div class="row justify-content-start">
|
||||||
|
<div class="col-4">
|
||||||
|
<table class="table table-striped table-bordered" style="max-width: none; width: auto;" id="crackdownStatusVersionTable">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>작성인</th>
|
||||||
|
<th>작성/수정일</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider">
|
||||||
|
<th:block th:each="crackdownStatusVersion:${crackdownStatusVersionList}">
|
||||||
|
<tr class="version-tr">
|
||||||
|
<td>
|
||||||
|
<input type="radio" name="versionNo" th:value="${crackdownStatusVersion.versionNo}">
|
||||||
|
</td>
|
||||||
|
<td th:text="${crackdownStatusVersion.wrtUserNm}"></td>
|
||||||
|
<td th:text="${crackdownStatusVersion.wrtDt}"></td>
|
||||||
|
</tr>
|
||||||
|
</th:block>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-8">
|
||||||
|
<div id="historyDetailDiv">
|
||||||
|
<div class="mb-3 row">
|
||||||
|
나포정보
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<div class="col-sm-1">
|
||||||
|
<label class="col-auto col-form-label text-center">나포일시</label>
|
||||||
|
<label class="col-auto col-form-label text-center">NLL</label>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="napoDt" id="napoDt" readonly>
|
||||||
|
<input class="form-control" name="nll" id="nll" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">위반장소</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" placeholder="위도" name="napoSeaPointLat" readonly>
|
||||||
|
<input class="form-control" placeholder="경도" name="napoSeaPointLon" readonly>
|
||||||
|
<input class="form-control" placeholder="상세내용" name="napoSeaPointDetail" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">침범유형</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="invasionType" id="invasionType" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
특수공무집행방해
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">발생건수</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="obstrExspdCnt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피해인원</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="personDamageCnt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피해액</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="personDamageAmount" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">상세내용</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="personDamageDetail" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">발생건수</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="materialDamageCnt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피해액</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input type="number" min="0" class="form-control" name="materialDamageAmount" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">상세내용</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="materialDamageDetail" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
검거기관
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">사건담당 기관</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="caseAgency" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">단속<br>경찰서</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="crackdownPolice" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">단속함정</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="crackdownBoat" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">MMSI.NO</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="mmsi" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
현장조사
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">나포일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="fieldIvsgtNapoDt" id="fieldIvsgtNapoDt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">석방일시</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="fieldIvsgtReleaseDt" id="fieldIvsgtReleaseDt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">소요시간</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="fieldIvsgtTimeTaken" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
압송
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">압송시작</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="pressurizedStartDt" id="pressurizedStartDt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">압송종료</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="pressurizedEndDt" id="pressurizedEndDt" 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" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">거리</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="distance" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${#lists.isEmpty(crackdownStatusVersionList)}">
|
||||||
|
<div>수정이력이 없습니다.</div>
|
||||||
|
</th:block>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -4,7 +4,24 @@
|
||||||
<h5 class="modal-title" id="crackdownStatusEditModalLabel" th:text="${crackdownStatus.cdsKey eq null ? '불법조업 외국어선 단속등록' : '불법조업 외국어선 단속수정'}">></h5>
|
<h5 class="modal-title" id="crackdownStatusEditModalLabel" th:text="${crackdownStatus.cdsKey eq null ? '불법조업 외국어선 단속등록' : '불법조업 외국어선 단속수정'}">></h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body" id="cdsEditBody">
|
<!-- 탭 메뉴 -->
|
||||||
|
<ul class="nav nav-tabs" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link crackdownStatusTab active" id="crackdownStatus-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#crackdownStatus" type="button" role="tab" aria-controls="crackdownStatus" data-crackdownStatus-type="crackdownStatus"
|
||||||
|
aria-selected="true">상세</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link crackdownStatusTab" id="history-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#history" type="button" role="tab" data-history-type="history"
|
||||||
|
aria-controls="history">수정이력</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<!-- 내용 -->
|
||||||
|
<div class="tab-content" style="overflow-y: auto;">
|
||||||
|
<div class="tab-pane fade show active" id="crackdownStatus" role="tabpanel" aria-labelledby="crackdownStatus-tab">
|
||||||
|
<div class="modal-body" id="cdsEditBody">
|
||||||
<form action="#" method="post" id="cdsEditForm">
|
<form action="#" method="post" id="cdsEditForm">
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
|
@ -485,6 +502,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<th:block th:if="${userSeq eq crackdownStatus.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
<th:block th:if="${userSeq eq crackdownStatus.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||||
|
|
|
||||||
|
|
@ -109,6 +109,7 @@
|
||||||
<div class="row justify-content">
|
<div class="row justify-content">
|
||||||
<button class="btn btn-sm btn-primary col-auto" id="">관리자마감</button>
|
<button class="btn btn-sm btn-primary col-auto" id="">관리자마감</button>
|
||||||
<button class="btn btn-sm btn-primary col-auto" id="processResultDownExcel">엑셀 다운로드</button>
|
<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>
|
||||||
|
|
||||||
<!-- 페이징 -->
|
<!-- 페이징 -->
|
||||||
|
|
@ -142,7 +143,13 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="modal fade" id="processResultAddModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="processResultAddModalLabel" aria-hidden="true">
|
||||||
|
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||||
|
<div class="modal-content" id="processResultAddModalContent">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<div class="modal fade" id="processResultEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="processResultEditModalLabel" aria-hidden="true">
|
<div class="modal fade" id="processResultEditModal" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="processResultEditModalLabel" aria-hidden="true">
|
||||||
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
<div class="modal-dialog modal-xl modal-dialog-scrollable">
|
||||||
<div class="modal-content" id="processResultEditModalContent">
|
<div class="modal-content" id="processResultEditModalContent">
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,91 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="processResultAddModalLabel">불법조업 외국어선 처리현황 등록</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body" id="processResultAddBody">
|
||||||
|
<form action="#" method="post" id="processResultEditForm">
|
||||||
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<input type="hidden" name="cdsKey">
|
||||||
|
<input type="hidden" name="fbKey">
|
||||||
|
<input type="hidden" name="prKey">
|
||||||
|
<input type="hidden" name="wrtOrgan" th:value="${processResult.wrtOrgan}">
|
||||||
|
<input type="hidden" name="wrtUserNm" th:value="${processResult.wrtUserNm}">
|
||||||
|
<input type="hidden" name="wrtDt" th:value="${#temporals.format(processResult.wrtDt, 'yyyy-MM-dd HH:mm')}">
|
||||||
|
<input type="hidden" id="saveYn" name="saveYn">
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<select class="form-select form-select-sm" name="caseNum" id="caseNum">
|
||||||
|
<option value="">선택</option>
|
||||||
|
<th:block th:each="crackdownStatus:${processResult.crackdownStatusList}">
|
||||||
|
<option th:value="${crackdownStatus.cdsKey}" th:text="${crackdownStatus.caseNum}"></option>
|
||||||
|
</th:block>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피의자(선박명)</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatNameKr" id="boatNameKr" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">선고법원</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="sentencingCourt" id="sentencingCourt">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">선고내용</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="sentencingDetail" id="sentencingDetail">
|
||||||
|
</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="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 processResult.executionDetail}"></option>
|
||||||
|
</th:block>
|
||||||
|
<option value="etc">직접입력</option>
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">환부일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="returnDt" id="returnDt">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">위탁시작일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="consignmentStartDt" id="consignmentStartDt">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">위탁종료일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="consignmentEndDt" id="consignmentEndDt">
|
||||||
|
<input type="hidden" class="form-control" name="warrantReqTakeTime">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">몰수확정일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="confiscationDt" id="confiscationDt">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">폐선일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatDisposalDt" id="boatDisposalDt">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">최종수정일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatDisposalDt" id="boatDisposalDt">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
||||||
|
<button type="button" class="btn btn-warning" id="saveTempBtn">임시저장</button>
|
||||||
|
<button type="button" class="btn btn-primary" id="saveProcessResultBtn">저장</button>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
<div class="modal-header">
|
<div class="modal-header">
|
||||||
<h5 class="modal-title" id="processResultEditModalLabel" th:text="${processResult.prKey eq null ? '불법조업 외국어선 처리현황 등록' : '불법조업 외국어선 처리현황 수정'}">></h5>
|
<h5 class="modal-title" id="processResultEditModalLabel">불법조업 외국어선 처리현황 수정</h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body" id="processResultEditBody">
|
<div class="modal-body" id="processResultEditBody">
|
||||||
|
|
@ -34,7 +34,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<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">
|
<div class="col-sm-2">
|
||||||
<input class="form-control" name="boatNameKr" id="boatNameKr" th:value="${processResult.boatNameKr}">
|
<input class="form-control" name="boatNameKr" id="boatNameKr" th:value="${processResult.boatNameKr}">
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -105,9 +105,9 @@
|
||||||
</th:block>
|
</th:block>
|
||||||
<option th:selected="${processResult.executionDetail ne '' && processResult.executionDetail ne null && !#strings.contains(processResult.executionDetail, 'PR')}" value="etc">직접입력</option>
|
<option th:selected="${processResult.executionDetail ne '' && processResult.executionDetail ne null && !#strings.contains(processResult.executionDetail, 'PR')}" value="etc">직접입력</option>
|
||||||
</select>
|
</select>
|
||||||
<th:block th:if="${processResult.executionDetail ne null && !#strings.contains(processResult.executionDetail, 'PR')}">
|
<th:block th:if="${processResult.executionDetail ne '' && processResult.executionDetail ne null && !#strings.contains(processResult.executionDetail, 'PR')}">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="text" class="form-control" name="processStatusEtc" th:value="${processResult.executionDetail}">
|
<input type="text" class="form-control" name="executionDetailEtc" th:value="${processResult.executionDetail}">
|
||||||
</div>
|
</div>
|
||||||
</th:block>
|
</th:block>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,67 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="caseNum" id="caseNum" th:value="${processResultVersion.crackdownStatus.caseNum}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피의자(선박명)</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatNameKr" id="boatNameKr" th:value="${processResultVersion.fishingBoat.boatNameKr ne null ? processResultVersion.fishingBoat.boatNameKr : ''}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">선고법원</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="sentencingCourt" id="sentencingCourt" th:value="${processResultVersion.sentencingCourt}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">선고내용</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="sentencingDetail" id="sentencingDetail" th:value="${processResultVersion.sentencingDetail}">
|
||||||
|
</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="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 processResultVersion.executionDetail}"></option>
|
||||||
|
</th:block>
|
||||||
|
<option th:selected="${processResultVersion.executionDetail ne null && !#strings.contains(processResultVersion.executionDetail, 'PR')}" value="etc">직접입력</option>
|
||||||
|
</select>
|
||||||
|
<th:block th:if="${processResultVersion.executionDetail ne null && !#strings.contains(processResultVersion.executionDetail, 'PR')}">
|
||||||
|
<div class="col-auto">
|
||||||
|
<input type="text" class="form-control" name="processStatusEtc" th:value="${processResultVersion.executionDetail}">
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">환부일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="returnDt" id="returnDt" th:value="${#temporals.format(processResultVersion.returnDt, 'yyyy-MM-dd')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">위탁시작일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="consignmentStartDt" id="consignmentStartDt" th:value="${#temporals.format(processResultVersion.consignmentStartDt, 'yyyy-MM-dd')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">위탁종료일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="consignmentEndDt" id="consignmentEndDt" th:value="${#temporals.format(processResultVersion.consignmentEndDt, 'yyyy-MM-dd')}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">몰수확정일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="confiscationDt" id="confiscationDt" th:value="${#temporals.format(processResultVersion.confiscationDt, 'yyyy-MM-dd')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">폐선일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatDisposalDt" id="boatDisposalDt" th:value="${#temporals.format(processResultVersion.boatDisposalDt, 'yyyy-MM-dd')}">
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">최종수정일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatDisposalDt" id="boatDisposalDt" th:value="${#temporals.format(processResultVersion.boatDisposalDt, 'yyyy-MM-dd')}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -0,0 +1,123 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="ko" xmlns:th="http://www.thymeleaf.org">
|
||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="processResultEditModalLabel">불법조업 외국어선 처리현황</h5>
|
||||||
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
|
</div>
|
||||||
|
<!-- 탭 메뉴 -->
|
||||||
|
<ul class="nav nav-tabs" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link processResultTab" id="processResult-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#processResult" type="button" role="tab" aria-controls="processResult" data-processResult-type="processResult"
|
||||||
|
aria-selected="true">상세</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link processResultTab active" id="history-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#history" type="button" role="tab" data-history-type="history"
|
||||||
|
aria-controls="history">수정이력</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<!-- 내용 -->
|
||||||
|
<div class="tab-content">
|
||||||
|
<div class="tab-pane fade show active" id="history" role="tabpanel" aria-labelledby="history-tab">
|
||||||
|
<div class="modal-body" id="processResultEditBody">
|
||||||
|
<form action="#" method="post" id="processResultEditForm">
|
||||||
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
|
<input type="hidden" name="prKey" th:value="${processResult.prKey}">
|
||||||
|
<input type="hidden" name="cdsKey" th:value="${processResult.cdsKey}">
|
||||||
|
<input type="hidden" name="fbKey" th:value="${processResult.fbKey}">
|
||||||
|
<th:block th:if="${!#lists.isEmpty(processReulstVersionList)}">
|
||||||
|
<div class="row justify-content-start">
|
||||||
|
<div class="col-4">
|
||||||
|
<table class="table table-striped table-bordered" style="max-width: none; width: auto;" id="processReulstVersionTable">
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th>작성인</th>
|
||||||
|
<th>작성/수정일</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody class="table-group-divider">
|
||||||
|
<th:block th:each="processReulstVersion:${processReulstVersionList}">
|
||||||
|
<tr class="version-tr">
|
||||||
|
<td>
|
||||||
|
<input type="radio" name="versionNo" th:value="${processReulstVersion.versionNo}">
|
||||||
|
</td>
|
||||||
|
<td th:text="${processReulstVersion.wrtUserNm}"></td>
|
||||||
|
<td th:text="${processReulstVersion.wrtDt}"></td>
|
||||||
|
</tr>
|
||||||
|
</th:block>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<div class="col-8">
|
||||||
|
<div id="historyDetailDiv">
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">사건번호</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="caseNum" id="caseNum" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">피의자(선박명)</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatNameKr" id="boatNameKr" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">선고법원</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="sentencingCourt" id="sentencingCourt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">선고내용</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="sentencingDetail" id="sentencingDetail" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">집행내용</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="executionDetail" id="executionDetail" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">환부일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="returnDt" id="returnDt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">위탁시작일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="consignmentStartDt" id="consignmentStartDt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">위탁종료일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="consignmentEndDt" id="consignmentEndDt" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="mb-3 row">
|
||||||
|
<label class="col-sm-1 col-form-label text-center">몰수확정일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="confiscationDt" id="confiscationDt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">폐선일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatDisposalDt" id="boatDisposalDt" readonly>
|
||||||
|
</div>
|
||||||
|
<label class="col-sm-1 col-form-label text-center">최종수정일</label>
|
||||||
|
<div class="col-sm-2">
|
||||||
|
<input class="form-control" name="boatDisposalDt" id="boatDisposalDt" readonly>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${#lists.isEmpty(processReulstVersionList)}">
|
||||||
|
<div>수정이력이 없습니다.</div>
|
||||||
|
</th:block>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">닫기</button>
|
||||||
|
</div>
|
||||||
|
</html>
|
||||||
|
|
@ -4,7 +4,23 @@
|
||||||
<h5 class="modal-title" id="processResultEditModalLabel" th:text="${processResult.cdsKey eq null ? '불법조업 외국어선 처리현황' : '불법조업 외국어선 처리현황'}">></h5>
|
<h5 class="modal-title" id="processResultEditModalLabel" th:text="${processResult.cdsKey eq null ? '불법조업 외국어선 처리현황' : '불법조업 외국어선 처리현황'}">></h5>
|
||||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body" id="processResultEditBody">
|
<!-- 탭 메뉴 -->
|
||||||
|
<ul class="nav nav-tabs" role="tablist">
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link processResultTab active" id="processResult-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#processResult" type="button" role="tab" aria-controls="processResult" data-processResult-type="processResult"
|
||||||
|
aria-selected="true">상세</button>
|
||||||
|
</li>
|
||||||
|
<li class="nav-item" role="presentation">
|
||||||
|
<button class="nav-link processResultTab" id="history-tab" data-bs-toggle="tab"
|
||||||
|
data-bs-target="#history" type="button" role="tab" data-history-type="history"
|
||||||
|
aria-controls="history">수정이력</button>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<!-- 내용 -->
|
||||||
|
<div class="tab-content" style="overflow-y: auto;">
|
||||||
|
<div class="tab-pane fade show active" id="processResult" role="tabpanel" aria-labelledby="processResult-tab">
|
||||||
|
<div class="modal-body" id="processResultEditBody">
|
||||||
<form action="#" method="post" id="processResultEditForm">
|
<form action="#" method="post" id="processResultEditForm">
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
|
|
@ -34,7 +50,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 row">
|
<div class="mb-3 row">
|
||||||
<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">
|
<div class="col-sm-2">
|
||||||
<input class="form-control" name="boatNameKr" id="boatNameKr" th:value="${processResult.boatNameKr}">
|
<input class="form-control" name="boatNameKr" id="boatNameKr" th:value="${processResult.boatNameKr}">
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -99,9 +115,9 @@
|
||||||
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
<option th:value="${commonCode.itemCd}" th:text="${commonCode.itemValue}"
|
||||||
th:selected="${commonCode.itemCd eq processResult.executionDetail}"></option>
|
th:selected="${commonCode.itemCd eq processResult.executionDetail}"></option>
|
||||||
</th:block>
|
</th:block>
|
||||||
<option th:selected="${processResult.executionDetail ne null && !#strings.contains(processResult.executionDetail, 'PR')}" value="etc">직접입력</option>
|
<option th:selected="${processResult.executionDetail ne '' && processResult.executionDetail ne null && !#strings.contains(processResult.executionDetail, 'PR')}" value="etc">직접입력</option>
|
||||||
</select>
|
</select>
|
||||||
<th:block th:if="${processResult.executionDetail ne null && !#strings.contains(processResult.executionDetail, 'PR')}">
|
<th:block th:if="${processResult.executionDetail ne '' && processResult.executionDetail ne null && !#strings.contains(processResult.executionDetail, 'PR')}">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<input type="text" class="form-control" name="processStatusEtc" th:value="${processResult.executionDetail}">
|
<input type="text" class="form-control" name="processStatusEtc" th:value="${processResult.executionDetail}">
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -137,6 +153,8 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
<th:block th:if="${userSeq eq processResult.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
<th:block th:if="${userSeq eq processResult.wrtUserSeq or accessAuth eq 'ACC003'}"><!--작성자일 경우 수정 허용--><!--관리자일 경우 수정 허용-->
|
||||||
|
|
|
||||||
|
|
@ -185,7 +185,6 @@
|
||||||
<td th:text="${sailor.position eq 'POS001' ? 1 : 0}"></td>
|
<td th:text="${sailor.position eq 'POS001' ? 1 : 0}"></td>
|
||||||
<td th:text="${sailor.position eq 'POS002' ? 1 : 0}"></td>
|
<td th:text="${sailor.position eq 'POS002' ? 1 : 0}"></td>
|
||||||
<td th:text="${sailor.position eq 'POS003' ? 1 : 0}"></td>
|
<td th:text="${sailor.position eq 'POS003' ? 1 : 0}"></td>
|
||||||
<td th:text="${sailor.position eq 'POS004' ? 1 : 0}"></td>
|
|
||||||
<td th:text="${sailor.position eq 'POS005' ? 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.position eq 'POS006' ? 1 : 0}"></td>
|
||||||
<td th:text="${sailor.education == 'BE001' ? 1 : 0}"></td>
|
<td th:text="${sailor.education == 'BE001' ? 1 : 0}"></td>
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,10 @@
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
<input type="hidden" name="_csrf_header" th:value="${_csrf.headerName}"/>
|
||||||
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
<input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}"/>
|
||||||
<input type="hidden" name="sailorKey" th:value="${sailorVersionList[0].sailorKey}">
|
<input type="hidden" name="sailorKey" th:value="${sailor.sailorKey}">
|
||||||
|
<input type="hidden" name="cdsKey" th:value="${sailor.cdsKey}">
|
||||||
|
<input type="hidden" name="fbKey" th:value="${sailor.fbKey}">
|
||||||
|
<th:block th:if="${!#lists.isEmpty(sailorVersionList)}">
|
||||||
<div class="row justify-content-start">
|
<div class="row justify-content-start">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<table class="table table-striped table-bordered" style="max-width: none; width: auto;" id="sailorTable">
|
<table class="table table-striped table-bordered" style="max-width: none; width: auto;" id="sailorTable">
|
||||||
|
|
@ -126,6 +129,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</th:block>
|
||||||
|
<th:block th:if="${#lists.isEmpty(sailorVersionList)}">
|
||||||
|
<div>수정이력이 없습니다.</div>
|
||||||
|
</th:block>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -19,7 +19,7 @@
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<!-- 내용 -->
|
<!-- 내용 -->
|
||||||
<div class="tab-content">
|
<div class="tab-content" style="overflow-y: auto;">
|
||||||
<div class="tab-pane fade show active" id="sailor" role="tabpanel" aria-labelledby="sailor-tab">
|
<div class="tab-pane fade show active" id="sailor" role="tabpanel" aria-labelledby="sailor-tab">
|
||||||
<div class="modal-body" id="sailorEditBody">
|
<div class="modal-body" id="sailorEditBody">
|
||||||
<form action="#" method="post" id="sailorEditForm">
|
<form action="#" method="post" id="sailorEditForm">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue