parent
45f2c92840
commit
db0813f740
|
|
@ -7,6 +7,7 @@ import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Fishi
|
|||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoatVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.processResult.ProcessResult;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.FishingBoatService;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.service.UnlawfulFishingService;
|
||||
import com.dbnt.faisp.main.userInfo.model.UserInfo;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.security.core.annotation.AuthenticationPrincipal;
|
||||
|
|
@ -24,6 +25,7 @@ public class FishingBoatController {
|
|||
|
||||
private final AuthMgtService authMgtService;
|
||||
private final FishingBoatService fishingBoatService;
|
||||
private final UnlawfulFishingService ufService;
|
||||
private final CodeMgtService codeMgtService;
|
||||
|
||||
@RequestMapping("/fishingBoat")
|
||||
|
|
@ -97,7 +99,9 @@ public class FishingBoatController {
|
|||
public Integer saveFishingBoat(@AuthenticationPrincipal UserInfo loginUser,
|
||||
CrackdownStatus crackdownStatus,
|
||||
MultipartHttpServletRequest request){
|
||||
return fishingBoatService.saveCrackdownStatus(crackdownStatus, request.getMultiFileMap().get("uploadFiles"));
|
||||
// return fishingBoatService.saveCrackdownStatus(crackdownStatus, request.getMultiFileMap().get("uploadFiles"));
|
||||
crackdownStatus.setSailorFileList(request.getMultiFileMap().get("uploadFiles"));
|
||||
return ufService.saveUnlawfulFishing(crackdownStatus);
|
||||
}
|
||||
|
||||
@GetMapping("/checkCaseNum")
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@ import java.io.Serializable;
|
|||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@IdClass(CaptinPhotoFile.CaptinPhotoFileId.class)
|
||||
@Table(name = "captin_photo_file")
|
||||
public class CaptinPhotoFile extends FileInfo {
|
||||
@IdClass(SailorFile.SailorFileId.class)
|
||||
@Table(name = "sailor_file")
|
||||
public class SailorFile extends FileInfo {
|
||||
@Id
|
||||
@Column(name = "sailor_key")
|
||||
private Integer sailorKey;
|
||||
|
|
@ -45,7 +45,7 @@ public class CaptinPhotoFile extends FileInfo {
|
|||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class CaptinPhotoFileId implements Serializable {
|
||||
public static class SailorFileId implements Serializable {
|
||||
private Integer sailorKey;
|
||||
private Integer fileSeq;
|
||||
}
|
||||
|
|
@ -14,9 +14,9 @@ import java.io.Serializable;
|
|||
@NoArgsConstructor
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@IdClass(CaptinPhotoVersion.CaptinPhotoVersionId.class)
|
||||
@Table(name = "captin_photo_version")
|
||||
public class CaptinPhotoVersion extends FileInfo {
|
||||
@IdClass(SailorFileVersion.SailorFileVersionId.class)
|
||||
@Table(name = "sailor_file_version")
|
||||
public class SailorFileVersion extends FileInfo {
|
||||
@Id
|
||||
@Column(name = "sailor_key")
|
||||
private Integer sailorKey;
|
||||
|
|
@ -49,7 +49,7 @@ public class CaptinPhotoVersion extends FileInfo {
|
|||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class CaptinPhotoVersionId implements Serializable {
|
||||
public static class SailorFileVersionId implements Serializable {
|
||||
private Integer sailorKey;
|
||||
private Integer fileSeq;
|
||||
private Integer versionNo;
|
||||
|
|
@ -11,6 +11,7 @@ import lombok.Setter;
|
|||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.time.LocalDate;
|
||||
|
|
@ -44,6 +45,8 @@ public class CrackdownStatus extends CrackdownStatusBaseEntity {
|
|||
private ProcessResult processResult;
|
||||
@Transient
|
||||
private List<Sailor> sailorList;
|
||||
@Transient
|
||||
private List<MultipartFile> sailorFileList;
|
||||
|
||||
@Transient
|
||||
private String crackdownPoliceEtc;
|
||||
|
|
|
|||
|
|
@ -5,8 +5,10 @@ import lombok.NoArgsConstructor;
|
|||
import lombok.Setter;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoFile;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation;
|
||||
|
|
@ -12,7 +12,6 @@ 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;
|
||||
|
||||
|
|
@ -62,5 +61,5 @@ public class Sailor extends SailorBaseEntity {
|
|||
private LocalDateTime napoDt;
|
||||
|
||||
@Transient
|
||||
private List<CaptinPhotoFile> fileList;
|
||||
private List<SailorFile> fileList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoFile;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
|
||||
import lombok.*;
|
||||
|
|
@ -54,5 +54,5 @@ public class SailorVersion extends SailorBaseEntity {
|
|||
private FishingBoat fishingBoat;
|
||||
|
||||
@Transient
|
||||
private List<CaptinPhotoVersion> fileList;
|
||||
private List<SailorFileVersion> fileList;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,11 +0,0 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoFile;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface CaptionPhotoFileRepository extends JpaRepository<CaptinPhotoFile, CaptinPhotoFile.CaptinPhotoFileId> {
|
||||
|
||||
List<CaptinPhotoFile> findBySailorKeyOrderByFileSeqAsc(Integer sailorKey);
|
||||
}
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoVersion;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface CaptionPhotoVersionRepository extends JpaRepository<CaptinPhotoVersion, CaptinPhotoVersion.CaptinPhotoVersionId> {
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface SailorFileRepository extends JpaRepository<SailorFile, SailorFile.SailorFileId> {
|
||||
|
||||
List<SailorFile> findBySailorKeyOrderByFileSeqAsc(Integer sailorKey);
|
||||
}
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.repository;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion;
|
||||
import org.springframework.data.jpa.repository.JpaRepository;
|
||||
|
||||
public interface SailorFileVersionRepository extends JpaRepository<SailorFileVersion, SailorFileVersion.SailorFileVersionId> {
|
||||
|
||||
}
|
||||
|
|
@ -134,4 +134,16 @@ public class CrackdownStatusService extends BaseService {
|
|||
|
||||
crackdownStatusVersionRepository.save(crackdownStatusVersion);
|
||||
}
|
||||
|
||||
public int saveCrackdownStatusOnly(CrackdownStatus crackdownStatus) {
|
||||
int cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey();
|
||||
if(!crackdownStatus.getStatus().equals("DST001")){
|
||||
CrackdownStatusVersion lastVersion = crackdownStatusVersionRepository.findTopByCdsKeyOrderByVersionNoDesc(cdsKey).orElse(null);
|
||||
CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion();
|
||||
BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion);
|
||||
crackdownStatusVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1));
|
||||
crackdownStatusVersionRepository.save(crackdownStatusVersion);
|
||||
}
|
||||
return cdsKey;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
|||
import com.dbnt.faisp.config.BaseService;
|
||||
import com.dbnt.faisp.config.FileInfo;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.CrackdownStatusMapper;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoFile;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.CaptinPhotoVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion;
|
||||
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.fishingBoat.FishingBoat;
|
||||
|
|
@ -45,8 +45,8 @@ public class FishingBoatService extends BaseService {
|
|||
private final ProcessResultVersionRepository processResultVersionRepository;
|
||||
private final SailorRepository sailorRepository;
|
||||
private final SailorVersionRepository sailorVersionRepository;
|
||||
private final CaptionPhotoFileRepository captionPhotoFileRepository;
|
||||
private final CaptionPhotoVersionRepository captionPhotoVersionRepository;
|
||||
private final SailorFileRepository sailorFileRepository;
|
||||
private final SailorFileVersionRepository sailorFileVersionRepository;
|
||||
|
||||
public List<CrackdownStatus> selectFishingBoatList(CrackdownStatus crackdownStatus){
|
||||
return crackdownStatusMapper.selectFishingBoatList(crackdownStatus);
|
||||
|
|
@ -65,7 +65,7 @@ public class FishingBoatService extends BaseService {
|
|||
for(Sailor sailor: crackdownStatus.getSailorList()){
|
||||
if(sailor.getPosition().equals("POS001")){
|
||||
// 선장의 첨부파일 첨부
|
||||
sailor.setFileList(captionPhotoFileRepository.findBySailorKeyOrderByFileSeqAsc(sailor.getSailorKey()));
|
||||
sailor.setFileList(sailorFileRepository.findBySailorKeyOrderByFileSeqAsc(sailor.getSailorKey()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -75,51 +75,31 @@ public class FishingBoatService extends BaseService {
|
|||
@Transactional
|
||||
public Integer saveCrackdownStatus(CrackdownStatus crackdownStatus, List<MultipartFile> sailorFiles) {
|
||||
Integer cdsKey, fbKey;
|
||||
FishingBoat fishingBoat = crackdownStatus.getFishingBoat();
|
||||
List<Violation> violationList = crackdownStatus.getViolationList();
|
||||
ProcessResult processResult = crackdownStatus.getProcessResult();
|
||||
List<Sailor> sailorList = crackdownStatus.getSailorList();
|
||||
if (crackdownStatus.getCdsKey()==null || crackdownStatus.getCdsKey().equals(0)){
|
||||
// 최초 등록시 단속현황, 처리현황, 선원정보를 같이 등록.
|
||||
// 단속현황, 단속현황버전 저장.
|
||||
crackdownStatus = setWriteInfo(crackdownStatus);
|
||||
// crackdownStatus = setWriteInfo(crackdownStatus);
|
||||
cdsKey = crackdownStatusRepository.save(crackdownStatus).getCdsKey();
|
||||
CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion();
|
||||
BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion);
|
||||
crackdownStatusVersion.setVersionNo(1);
|
||||
crackdownStatusVersionRepository.save(crackdownStatusVersion);
|
||||
// 어선정보, 어선정보버전 저장.
|
||||
FishingBoat fishingBoat = crackdownStatus.getFishingBoat();
|
||||
fishingBoat.setCdsKey(cdsKey);
|
||||
fbKey = fishingBoatRepository.save(fishingBoat).getFbKey();
|
||||
FishingBoatVersion fishingBoatVersion = new FishingBoatVersion();
|
||||
BeanUtils.copyProperties(fishingBoat, fishingBoatVersion);
|
||||
fishingBoatVersion.setVersionNo(1);
|
||||
fishingBoatVersionRepository.save(fishingBoatVersion);
|
||||
// 위반사항, 위반사항버전 저장.
|
||||
List<Violation> violationList = crackdownStatus.getViolationList();
|
||||
List<ViolationVersion> violationVersionList = new ArrayList<>();
|
||||
int i = 1;
|
||||
if(violationList!=null){
|
||||
for(Violation violation: violationList){
|
||||
violation.setViolationKey(i++);
|
||||
violation.setFbKey(fbKey);
|
||||
|
||||
ViolationVersion violationVersion = new ViolationVersion();
|
||||
BeanUtils.copyProperties(violation, violationVersion);
|
||||
violationVersion.setVersionNo(1);
|
||||
violationVersionList.add(violationVersion);
|
||||
}
|
||||
violationRepository.saveAll(violationList);
|
||||
violationVersionRepository.saveAll(violationVersionList);
|
||||
}
|
||||
// 처리현황, 처리현황버전 저장.
|
||||
ProcessResult processResult = crackdownStatus.getProcessResult();
|
||||
ProcessResultVersion processResultVersion = new ProcessResultVersion();
|
||||
processResult.setCdsKey(cdsKey);
|
||||
BeanUtils.copyProperties(processResult, processResultVersion);
|
||||
processResultVersion.setVersionNo(1);
|
||||
Integer prKey = processResultRepository.save(processResult).getPrKey();
|
||||
processResultVersion.setPrKey(prKey);
|
||||
processResultVersionRepository.save(processResultVersion);
|
||||
processResultRepository.save(processResult);
|
||||
// 선원정보, 선원정보버전 저장.
|
||||
List<Sailor> sailorList = crackdownStatus.getSailorList();
|
||||
if(sailorList != null){
|
||||
for(Sailor sailor: sailorList){
|
||||
sailor.setFbKey(fbKey);
|
||||
|
|
@ -140,11 +120,10 @@ public class FishingBoatService extends BaseService {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}else{
|
||||
// 업데이트시에는 어선정보만 수정.
|
||||
cdsKey = crackdownStatus.getCdsKey();
|
||||
FishingBoat fishingBoat = crackdownStatus.getFishingBoat();
|
||||
fbKey = fishingBoat.getFbKey();
|
||||
FishingBoatVersion newInfo = new FishingBoatVersion();
|
||||
fishingBoat.setCdsKey(cdsKey);
|
||||
fishingBoat.setWrtDt(LocalDateTime.now());
|
||||
|
|
@ -154,22 +133,61 @@ public class FishingBoatService extends BaseService {
|
|||
fishingBoatRepository.save(fishingBoat);
|
||||
fishingBoatVersionRepository.save(newInfo);
|
||||
// 위반사항
|
||||
List<Violation> violationList = crackdownStatus.getViolationList();
|
||||
if(violationList != null){
|
||||
List<ViolationVersion> violationVersionList = new ArrayList<>();
|
||||
int i=1;
|
||||
ViolationVersion lastViolationVersion = violationVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fishingBoat.getFbKey()).orElse(null);
|
||||
for(Violation violation: violationList){
|
||||
violation.setFbKey(fishingBoat.getFbKey());
|
||||
violation.setViolationKey(i++);
|
||||
}
|
||||
violationRepository.saveAll(violationList);
|
||||
}
|
||||
}
|
||||
|
||||
if(!crackdownStatus.getStatus().equals("DST001")) {
|
||||
CrackdownStatusVersion crackdownStatusVersion = new CrackdownStatusVersion();
|
||||
BeanUtils.copyProperties(crackdownStatus, crackdownStatusVersion);
|
||||
crackdownStatusVersion.setVersionNo(1);
|
||||
crackdownStatusVersionRepository.save(crackdownStatusVersion);
|
||||
FishingBoatVersion fishingBoatVersion = new FishingBoatVersion();
|
||||
BeanUtils.copyProperties(fishingBoat, fishingBoatVersion);
|
||||
fishingBoatVersion.setVersionNo(1);
|
||||
fishingBoatVersionRepository.save(fishingBoatVersion);
|
||||
|
||||
List<ViolationVersion> violationVersionList = new ArrayList<>();
|
||||
ViolationVersion lastViolationVersion = violationVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fishingBoat.getFbKey()).orElse(null);
|
||||
if(violationList!=null){
|
||||
for(Violation violation: violationList){
|
||||
ViolationVersion violationVersion = new ViolationVersion();
|
||||
BeanUtils.copyProperties(violation, violationVersion);
|
||||
violationVersion.setVersionNo(lastViolationVersion.getVersionNo()+1);
|
||||
violationVersionList.add(violationVersion);
|
||||
}
|
||||
violationRepository.saveAll(violationList);
|
||||
violationVersionRepository.saveAll(violationVersionList);
|
||||
}
|
||||
ProcessResultVersion processResultVersion = new ProcessResultVersion();
|
||||
BeanUtils.copyProperties(processResult, processResultVersion);
|
||||
processResultVersion.setVersionNo(1);
|
||||
processResultVersionRepository.save(processResultVersion);
|
||||
if(sailorList != null){
|
||||
for(Sailor sailor: sailorList){
|
||||
sailor.setFbKey(fbKey);
|
||||
|
||||
SailorVersion sailorVersion = new SailorVersion();
|
||||
|
||||
Integer sailorKey = sailorRepository.save(sailor).getSailorKey();
|
||||
|
||||
BeanUtils.copyProperties(sailor, sailorVersion);
|
||||
sailorVersion.setVersionNo(1);
|
||||
sailorVersion.setSailorKey(sailorKey);
|
||||
Integer versionNo = sailorVersionRepository.save(sailorVersion).getVersionNo();
|
||||
if(sailor.getPosition().equals("POS001")){
|
||||
//선장은 사진이 같이 업로드 됨.
|
||||
if(sailorFiles!= null && sailorFiles.size()>0) {
|
||||
saveCaptainPhoto(sailorKey, versionNo, sailorFiles);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return cdsKey;
|
||||
}
|
||||
|
|
@ -185,37 +203,7 @@ public class FishingBoatService extends BaseService {
|
|||
}
|
||||
|
||||
public FileInfo selectSailorFile(Integer sailorKey, Integer fileSeq) {
|
||||
return captionPhotoFileRepository.findById(new CaptinPhotoFile.CaptinPhotoFileId(sailorKey, fileSeq)).orElse(null);
|
||||
}
|
||||
|
||||
private CrackdownStatus setWriteInfo(CrackdownStatus crackdownStatus){
|
||||
FishingBoat fishingBoat = crackdownStatus.getFishingBoat();
|
||||
fishingBoat.setWrtDt(LocalDateTime.now());
|
||||
|
||||
crackdownStatus.setWrtOrgan(fishingBoat.getWrtOrgan());
|
||||
crackdownStatus.setWrtPart(fishingBoat.getWrtPart());
|
||||
crackdownStatus.setWrtUserSeq(fishingBoat.getWrtUserSeq());
|
||||
crackdownStatus.setWrtUserNm(fishingBoat.getWrtUserNm());
|
||||
crackdownStatus.setWrtUserGrd(fishingBoat.getWrtUserGrd());
|
||||
crackdownStatus.setWrtDt(LocalDateTime.now());
|
||||
|
||||
crackdownStatus.getProcessResult().setWrtOrgan(fishingBoat.getWrtOrgan());
|
||||
crackdownStatus.getProcessResult().setWrtPart(fishingBoat.getWrtPart());
|
||||
crackdownStatus.getProcessResult().setWrtUserSeq(fishingBoat.getWrtUserSeq());
|
||||
crackdownStatus.getProcessResult().setWrtUserNm(fishingBoat.getWrtUserNm());
|
||||
crackdownStatus.getProcessResult().setWrtUserGrd(fishingBoat.getWrtUserGrd());
|
||||
crackdownStatus.getProcessResult().setWrtDt(LocalDateTime.now());
|
||||
if(crackdownStatus.getSailorList()!=null){
|
||||
for(Sailor sailor: crackdownStatus.getSailorList()){
|
||||
sailor.setWrtOrgan(fishingBoat.getWrtOrgan());
|
||||
sailor.setWrtPart(fishingBoat.getWrtPart());
|
||||
sailor.setWrtUserSeq(fishingBoat.getWrtUserSeq());
|
||||
sailor.setWrtUserNm(fishingBoat.getWrtUserNm());
|
||||
sailor.setWrtUserGrd(fishingBoat.getWrtUserGrd());
|
||||
sailor.setWrtDt(LocalDateTime.now());
|
||||
}
|
||||
}
|
||||
return crackdownStatus;
|
||||
return sailorFileRepository.findById(new SailorFile.SailorFileId(sailorKey, fileSeq)).orElse(null);
|
||||
}
|
||||
|
||||
private void saveCaptainPhoto(Integer sailorKey, Integer versionNo, List<MultipartFile> fileList){
|
||||
|
|
@ -227,7 +215,7 @@ public class FishingBoatService extends BaseService {
|
|||
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
int extnIdx = originalFilename.lastIndexOf(".");
|
||||
CaptinPhotoFile fileInfo = new CaptinPhotoFile();
|
||||
SailorFile fileInfo = new SailorFile();
|
||||
fileInfo.setSailorKey(sailorKey);
|
||||
fileInfo.setFileSeq(fileSeq++);
|
||||
fileInfo.setOrigNm(originalFilename.substring(0, extnIdx));
|
||||
|
|
@ -235,11 +223,24 @@ public class FishingBoatService extends BaseService {
|
|||
fileInfo.setConvNm(saveName);
|
||||
fileInfo.setFileSize(calculationSize(file.getSize()));
|
||||
fileInfo.setSavePath(path);
|
||||
CaptinPhotoVersion versionInfo = new CaptinPhotoVersion();
|
||||
SailorFileVersion versionInfo = new SailorFileVersion();
|
||||
BeanUtils.copyProperties(fileInfo, versionInfo);
|
||||
versionInfo.setVersionNo(versionNo);
|
||||
captionPhotoFileRepository.save(fileInfo);
|
||||
captionPhotoVersionRepository.save(versionInfo);
|
||||
sailorFileRepository.save(fileInfo);
|
||||
sailorFileVersionRepository.save(versionInfo);
|
||||
}
|
||||
}
|
||||
|
||||
public int saveFishingBoatOnly(int cdsKey, FishingBoat fishingBoat) {
|
||||
fishingBoat.setCdsKey(cdsKey);
|
||||
int fbKey = fishingBoatRepository.save(fishingBoat).getFbKey();
|
||||
if(!fishingBoat.getStatus().equals("DST001")){
|
||||
FishingBoatVersion lastVersion = fishingBoatVersionRepository.findTop1ByFbKeyOrderByVersionNoDesc(fbKey).orElse(null);
|
||||
FishingBoatVersion fishingBoatVersion = new FishingBoatVersion();
|
||||
BeanUtils.copyProperties(fishingBoat, fishingBoatVersion);
|
||||
fishingBoatVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1));
|
||||
fishingBoatVersionRepository.save(fishingBoatVersion);
|
||||
}
|
||||
return fbKey;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -120,4 +120,16 @@ public class ProcessResultService extends BaseService {
|
|||
|
||||
processResultVersionRepository.save(processResultVersion);
|
||||
}
|
||||
|
||||
public void saveProcessResultOnly(int cdsKey, ProcessResult processResult) {
|
||||
processResult.setCdsKey(cdsKey);
|
||||
int prKey = processResultRepository.save(processResult).getPrKey();
|
||||
if(!processResult.getStatus().equals("DST001")){
|
||||
ProcessResultVersion lastVersion = processResultVersionRepository.findTopByPrKeyOrderByVersionNoDesc(prKey).orElse(null);
|
||||
ProcessResultVersion processResultVersion = new ProcessResultVersion();
|
||||
BeanUtils.copyProperties(processResult, processResultVersion);
|
||||
processResultVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()+1));
|
||||
processResultVersionRepository.save(processResultVersion);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
|||
|
||||
import com.dbnt.faisp.config.BaseService;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.mapper.SailorMapper;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFile;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.SailorFileVersion;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.Violation;
|
||||
|
|
@ -14,8 +16,11 @@ import lombok.RequiredArgsConstructor;
|
|||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
|
|
@ -25,9 +30,10 @@ public class SailorService extends BaseService {
|
|||
private final CrackdownStatusRepository crackdownStatusRepository;
|
||||
private final FishingBoatRepository fishingBoatRepository;
|
||||
private final ViolationRepository violationRepository;
|
||||
private final ProcessResultRepository processResultRepository;
|
||||
private final SailorRepository sailorRepository;
|
||||
private final SailorVersionRepository sailorVersionRepository;
|
||||
private final SailorFileRepository sailorFileRepository;
|
||||
private final SailorFileVersionRepository sailorFileVersionRepository;
|
||||
|
||||
public List<Sailor> selectSailorList(Sailor sailor) {
|
||||
return sailorMapper.selectSailorList(sailor);
|
||||
|
|
@ -109,4 +115,46 @@ public class SailorService extends BaseService {
|
|||
|
||||
sailorVersionRepository.save(sailorVersion);
|
||||
}
|
||||
|
||||
public void saveSailorOnly(int fbKey, Sailor sailor, List<MultipartFile> sailorFileList) {
|
||||
sailor.setFbKey(fbKey);
|
||||
int sailorKey = sailorRepository.save(sailor).getSailorKey();
|
||||
Integer versionNo = null;
|
||||
if(!sailor.getStatus().equals("DST001")){
|
||||
SailorVersion lastVersion = sailorVersionRepository.findTopBySailorKeyOrderByVersionNoDesc(sailorKey).orElse(null);
|
||||
SailorVersion sailorVersion = new SailorVersion();
|
||||
BeanUtils.copyProperties(sailor, sailorVersion);
|
||||
sailorVersion.setVersionNo(lastVersion==null?1:(lastVersion.getVersionNo()));
|
||||
versionNo = sailorVersionRepository.save(sailorVersion).getVersionNo();
|
||||
}
|
||||
if(sailorFileList!=null){
|
||||
saveSailorFile(sailorKey, versionNo, sailorFileList);
|
||||
}
|
||||
}
|
||||
private void saveSailorFile(Integer sailorKey, Integer versionNo, List<MultipartFile> fileList){
|
||||
int fileSeq = 1;
|
||||
for(MultipartFile file : fileList){
|
||||
String saveName = UUID.randomUUID().toString();
|
||||
String path = locationPath+ File.separator+sailorPath;
|
||||
saveFile(file, new File(path+File.separator+saveName));
|
||||
|
||||
String originalFilename = file.getOriginalFilename();
|
||||
int extnIdx = originalFilename.lastIndexOf(".");
|
||||
SailorFile fileInfo = new SailorFile();
|
||||
fileInfo.setSailorKey(sailorKey);
|
||||
fileInfo.setFileSeq(fileSeq++);
|
||||
fileInfo.setOrigNm(originalFilename.substring(0, extnIdx));
|
||||
fileInfo.setFileExtn(originalFilename.substring(extnIdx+1));
|
||||
fileInfo.setConvNm(saveName);
|
||||
fileInfo.setFileSize(calculationSize(file.getSize()));
|
||||
fileInfo.setSavePath(path);
|
||||
sailorFileRepository.save(fileInfo);
|
||||
if(versionNo!=null){
|
||||
SailorFileVersion versionInfo = new SailorFileVersion();
|
||||
BeanUtils.copyProperties(fileInfo, versionInfo);
|
||||
versionInfo.setVersionNo(versionNo);
|
||||
sailorFileVersionRepository.save(versionInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,68 @@
|
|||
package com.dbnt.faisp.main.faStatistics.crackdownsStatus.service;
|
||||
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.crackdownStatus.CrackdownStatus;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.fishingBoat.FishingBoat;
|
||||
import com.dbnt.faisp.main.faStatistics.crackdownsStatus.model.sailor.Sailor;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class UnlawfulFishingService {
|
||||
private final CrackdownStatusService crackdownStatusService;
|
||||
private final FishingBoatService fishingBoatService;
|
||||
private final ProcessResultService processResultService;
|
||||
private final SailorService sailorService;
|
||||
|
||||
@Transactional
|
||||
public Integer saveUnlawfulFishing(CrackdownStatus crackdownStatus){
|
||||
crackdownStatus = setWriteInfo(crackdownStatus);
|
||||
int cdsKey = crackdownStatusService.saveCrackdownStatusOnly(crackdownStatus);
|
||||
int fbKey = fishingBoatService.saveFishingBoatOnly(cdsKey, crackdownStatus.getFishingBoat());
|
||||
processResultService.saveProcessResultOnly(cdsKey, crackdownStatus.getProcessResult());
|
||||
for(Sailor sailor: crackdownStatus.getSailorList()){
|
||||
if(sailor.getPosition().equals("POS001")){
|
||||
sailorService.saveSailorOnly(fbKey, sailor, crackdownStatus.getSailorFileList());
|
||||
}else{
|
||||
sailorService.saveSailorOnly(fbKey, sailor, null);
|
||||
}
|
||||
}
|
||||
return cdsKey;
|
||||
}
|
||||
|
||||
private CrackdownStatus setWriteInfo(CrackdownStatus crackdownStatus){
|
||||
FishingBoat fishingBoat = crackdownStatus.getFishingBoat();
|
||||
fishingBoat.setWrtDt(LocalDateTime.now());
|
||||
|
||||
crackdownStatus.setWrtOrgan(fishingBoat.getWrtOrgan());
|
||||
crackdownStatus.setWrtPart(fishingBoat.getWrtPart());
|
||||
crackdownStatus.setWrtUserSeq(fishingBoat.getWrtUserSeq());
|
||||
crackdownStatus.setWrtUserNm(fishingBoat.getWrtUserNm());
|
||||
crackdownStatus.setWrtUserGrd(fishingBoat.getWrtUserGrd());
|
||||
crackdownStatus.setWrtDt(LocalDateTime.now());
|
||||
crackdownStatus.setStatus(fishingBoat.getStatus());
|
||||
|
||||
crackdownStatus.getProcessResult().setWrtOrgan(fishingBoat.getWrtOrgan());
|
||||
crackdownStatus.getProcessResult().setWrtPart(fishingBoat.getWrtPart());
|
||||
crackdownStatus.getProcessResult().setWrtUserSeq(fishingBoat.getWrtUserSeq());
|
||||
crackdownStatus.getProcessResult().setWrtUserNm(fishingBoat.getWrtUserNm());
|
||||
crackdownStatus.getProcessResult().setWrtUserGrd(fishingBoat.getWrtUserGrd());
|
||||
crackdownStatus.getProcessResult().setWrtDt(LocalDateTime.now());
|
||||
crackdownStatus.getProcessResult().setStatus(fishingBoat.getStatus());
|
||||
if(crackdownStatus.getSailorList()!=null){
|
||||
for(Sailor sailor: crackdownStatus.getSailorList()){
|
||||
sailor.setWrtOrgan(fishingBoat.getWrtOrgan());
|
||||
sailor.setWrtPart(fishingBoat.getWrtPart());
|
||||
sailor.setWrtUserSeq(fishingBoat.getWrtUserSeq());
|
||||
sailor.setWrtUserNm(fishingBoat.getWrtUserNm());
|
||||
sailor.setWrtUserGrd(fishingBoat.getWrtUserGrd());
|
||||
sailor.setWrtDt(LocalDateTime.now());
|
||||
sailor.setStatus(fishingBoat.getStatus());
|
||||
}
|
||||
}
|
||||
return crackdownStatus;
|
||||
}
|
||||
}
|
||||
|
|
@ -61,7 +61,9 @@ $(document).on('click', '#affairModalBtn', function (){
|
|||
url: '/affairResult/affairListModal',
|
||||
data: {
|
||||
startDate: workStartDt,
|
||||
endDate: workEndDt
|
||||
endDate: workEndDt,
|
||||
affairCategory:"CAT215",
|
||||
affairStatus:"DST006"
|
||||
},
|
||||
type: 'GET',
|
||||
dataType:"html",
|
||||
|
|
|
|||
|
|
@ -42,12 +42,16 @@
|
|||
<th:block th:each="commonCode:${session.commonCode.get('DST')}">
|
||||
<td th:if="${affair.affairStatus eq commonCode.itemCd}" th:text="${commonCode.itemValue}"></td>
|
||||
</th:block>
|
||||
|
||||
<th:block th:if="${affair.affairStatus eq 'DST006'}">
|
||||
<td class="affairRate">
|
||||
<th:block th:each="ratingCode:${session.commonCode.get('AAR')}">
|
||||
<td class="affairRate" th:if="${ratingCode.itemCd eq affair.affairRate}" th:text="${ratingCode.itemValue}"></td>
|
||||
<th:block th:if="${ratingCode.itemCd eq affair.affairRate}" th:text="${ratingCode.itemValue}"></th:block>
|
||||
</th:block>
|
||||
</td>
|
||||
<td class="organUp" th:text="${affair.organUp eq 'T'?'O':'X'}"></td>
|
||||
</th:block>
|
||||
|
||||
<th:block th:unless="${affair.affairStatus eq 'DST006'}">
|
||||
<td></td>
|
||||
<td></td>
|
||||
|
|
|
|||
Loading…
Reference in New Issue