Browse Source

- 승인목록 pdf download url(pdfUrl) 추가

- 라스 저장시 pdf 정보(fileGroupNo) 저장
pull/12/head
지대한 11 months ago
parent
commit
e5e0cd4833
  1. 4
      pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancAprvRs.java
  2. 25
      pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancAprvService.java
  3. 7
      pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java
  4. 1
      pav-server/src/main/java/com/palnet/biz/api/comn/file/model/ComnFileModel.java
  5. 35
      pav-server/src/main/java/com/palnet/biz/api/comn/file/service/ComnFileService.java
  6. 1
      pav-server/src/main/java/com/palnet/biz/config/WebSecurityConfig.java
  7. 4
      pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanBas.java
  8. 6
      pav-server/src/main/java/com/palnet/biz/jpa/model/LaancPlanDto.java
  9. 2
      pav-server/src/main/java/com/palnet/biz/jpa/repository/com/ComFileBasRepository.java
  10. 6
      pav-server/src/main/java/com/palnet/biz/jpa/repository/flt/FltPlanQueryRepository.java

4
pav-server/src/main/java/com/palnet/biz/api/bas/laanc/model/BasLaancAprvRs.java

@ -1,6 +1,7 @@
package com.palnet.biz.api.bas.laanc.model;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.palnet.biz.api.comn.file.model.ComnFileModel;
import com.palnet.biz.jpa.entity.type.ArcrftTypeCd;
import com.palnet.biz.jpa.entity.type.ArcrftWghtCd;
import com.palnet.biz.jpa.entity.type.FltPurpose;
@ -82,6 +83,8 @@ public class BasLaancAprvRs {
private String serviceType;
@ApiParam(name = "기업여부")
private String corpRegYn;
@ApiParam(name = "공문URL")
private String pdfUrl;
// 하나의 필드로 묶어서 처리
@ApiParam(name = "기체 무게")
@ -112,4 +115,5 @@ public class BasLaancAprvRs {
private List<BasLaancArcrftModel> arcrftList;
private List<BasLaancPilotModel> pilotList;
}

25
pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancAprvService.java

@ -2,6 +2,8 @@ package com.palnet.biz.api.bas.laanc.service;
import com.palnet.biz.api.bas.laanc.model.BasLaancAprvListRq;
import com.palnet.biz.api.bas.laanc.model.BasLaancAprvRs;
import com.palnet.biz.api.comn.file.model.ComnFileModel;
import com.palnet.biz.api.comn.file.service.ComnFileService;
import com.palnet.biz.jpa.model.LaancAprvSearchDto;
import com.palnet.biz.jpa.model.LaancPlanDto;
import com.palnet.biz.jpa.repository.flt.FltPlanQueryRepository;
@ -15,6 +17,8 @@ import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* packageName : com.palnet.biz.api.bas.laanc.service
@ -33,9 +37,11 @@ import java.util.List;
public class BasLaancAprvService {
private final FltPlanQueryRepository fltPlanQueryRepository;
private final ComnFileService comnFileService;
/**
* laanc 승인 목록
*
* @param rq
* @param pageable
* @return
@ -46,21 +52,38 @@ public class BasLaancAprvService {
Page<BasLaancAprvRs> rs = PageUtils.convert(result, BasLaancAprvMapper.MAPPER.toRsList(result.getContent()));
return rs;
}
public List<BasLaancAprvRs> getLaancAprvList2(BasLaancAprvListRq rq) {
LaancAprvSearchDto searchDto = BasLaancAprvMapper.MAPPER.toDto(rq);
List<LaancPlanDto> result = fltPlanQueryRepository.findAllAprvListBySearch2(searchDto);
List<Integer> fileGroupNoList = result.stream().map(LaancPlanDto::getFileGroupNo).filter(Objects::nonNull).collect(Collectors.toList());
List<ComnFileModel> fileListByGroupNoList = comnFileService.getFileListByGroupNoList(fileGroupNoList);
result.forEach(dto -> {
if (dto.getFileGroupNo() != null) {
fileListByGroupNoList.stream()
.filter(file -> Objects.equals(file.getFileGroupNo(), dto.getFileGroupNo()))
.findFirst()
.ifPresent(file -> dto.setPdfUrl(file.getDownloadUrl()));
}
});
List<BasLaancAprvRs> rs = BasLaancAprvMapper.MAPPER.toRsList(result);
return rs;
}
/**
* laanc 승인 상세
*
* @param planSno
* @return
*/
public BasLaancAprvRs getLaancAprvDetail(String planSno) {
if(planSno == null) throw new CustomException(ErrorCode.NON_VALID_PARAMETER);
if (planSno == null) throw new CustomException(ErrorCode.NON_VALID_PARAMETER);
LaancPlanDto result = fltPlanQueryRepository.findAprvById(Integer.parseInt(planSno));
if (result != null && result.getFileGroupNo() != null) {
ComnFileModel comnFileModel = comnFileService.getOfficialDocumentFileListByGroupNo(result.getFileGroupNo());
if (comnFileModel != null) result.setPdfUrl(comnFileModel.getDownloadUrl());
}
BasLaancAprvRs rs = BasLaancAprvMapper.MAPPER.toRs(result);
return rs;
}

7
pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java

@ -296,7 +296,10 @@ public class BasLaancService {
ComFileBas comFileBas = comnFileService.makePdf(laancPdfModel);
String sb = FILE_DOWNLOAD_URL + "?fileSno=" + comFileBas.getFileSno();
rBasEntity.setFileGroupNo(comFileBas.getFileGroupNo());
fltPlanBasRepository.save(rBasEntity);
String downloadUrl = comnFileService.getDownloadUrl(comFileBas.getFileSno());
// SMS 전송
try {
@ -320,7 +323,7 @@ public class BasLaancService {
}
BasLaancLastRs rs = BasLaancLastRs.builder()
.pdfUrl(sb)
.pdfUrl(downloadUrl)
.address(address)
.build();

1
pav-server/src/main/java/com/palnet/biz/api/comn/file/model/ComnFileModel.java

@ -22,6 +22,7 @@ import lombok.NoArgsConstructor;
@Builder
public class ComnFileModel {
private Integer fileSno;
private Integer fileGroupNo;
private String downloadUrl;
private String fileName;
}

35
pav-server/src/main/java/com/palnet/biz/api/comn/file/service/ComnFileService.java

@ -394,13 +394,46 @@ public class ComnFileService {
List<ComnFileModel> result = new ArrayList<>();
for (ComFileBas file : files) {
result.add(ComnFileModel.builder()
.fileGroupNo(file.getFileGroupNo())
.fileSno(file.getFileSno())
.fileName(file.getFileOriNm())
.downloadUrl(DOWNLOAD_URL + "/" + file.getFileSno())
.downloadUrl(getDownloadUrl(file.getFileSno()))
.build());
}
return result;
}
public ComnFileModel getOfficialDocumentFileListByGroupNo(Integer fileGroupNo) {
ComFileBas file = comFileBasRepository.findFirstByFileGroupNoAndDelYnOrderByCreateDtDesc(fileGroupNo, "N");
ComnFileModel result = ComnFileModel.builder()
.fileGroupNo(file.getFileGroupNo())
.fileSno(file.getFileSno())
.fileName(file.getFileOriNm())
.downloadUrl(getDownloadUrl(file.getFileSno()))
.build();
return result;
}
public String getDownloadUrl(Integer fileSno) {
if(fileSno == null) return null;
return DOWNLOAD_URL + "/" + fileSno;
}
public List<ComnFileModel> getFileListByGroupNoList(List<Integer> fileGroupNoList) {
List<ComFileBas> files = comFileBasRepository.findByFileGroupNoInAndDelYnOrderByCreateDtDesc(fileGroupNoList, "N");
List<ComnFileModel> result = new ArrayList<>();
for (ComFileBas file : files) {
result.add(ComnFileModel.builder()
.fileGroupNo(file.getFileGroupNo())
.fileSno(file.getFileSno())
.fileName(file.getFileOriNm())
.downloadUrl(getDownloadUrl(file.getFileSno()))
.build());
}
return result;
}
}

1
pav-server/src/main/java/com/palnet/biz/config/WebSecurityConfig.java

@ -40,6 +40,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
"/api/ctr/cntrl/id/**",
"/api/server/**",
"/api/comn/file/download",
"/api/comn/file/download/**",
/* swagger v2 */
"/v2/api-docs",
"/swagger-resources",

4
pav-server/src/main/java/com/palnet/biz/jpa/entity/FltPlanBas.java

@ -71,9 +71,13 @@ public class FltPlanBas {
@Column(name = "DEL_YN")
private String delYn;
@Column(name = "FILE_GROUP_NO")
private Integer fileGroupNo;
@Column(name = "CREATE_USER_ID")
private String createUserId;
@CreationTimestamp
// @Temporal(TemporalType.TIMESTAMP)
@Column(name = "CREATE_DT", columnDefinition = "TIMESTAMP")

6
pav-server/src/main/java/com/palnet/biz/jpa/model/LaancPlanDto.java

@ -29,6 +29,7 @@ public class LaancPlanDto {
private Integer planSno;
private String groupId;
private Integer cstmrSno;
private String serviceType;
private String memberName;
private String email;
private String hpno;
@ -40,15 +41,16 @@ public class LaancPlanDto {
private Instant schFltEndDt;
private FltPurpose fltPurpose;
private FltType fltType;
private String corpRegYn;
private String aprvlYn;
private Instant aprvlDt;
private String delYn;
private Integer fileGroupNo;
private String createUserId;
private Instant createDt;
private String updateUserId;
private Instant updateDt;
private String serviceType;
private String corpRegYn;
private String pdfUrl;
private List<LaancPlanAreaDto> areaList;
private List<LaancPlanArcrftDto> arcrftList;
private List<LaancPlanPilotDto> pilotList;

2
pav-server/src/main/java/com/palnet/biz/jpa/repository/com/ComFileBasRepository.java

@ -8,6 +8,8 @@ import java.util.List;
@Repository
public interface ComFileBasRepository extends JpaRepository<ComFileBas, Integer>{
List<ComFileBas> findByFileGroupNoInAndDelYnOrderByCreateDtDesc(List<Integer> fileGroupNos, String delYn);
ComFileBas findFirstByFileGroupNoAndDelYnOrderByCreateDtDesc(int fileGroupNo, String delYn);
List<ComFileBas> findByFileSnoInAndDelYn(List<Integer> fileSnos, String delYn);
ComFileBas findFirstByOrderByFileSnoDesc();

6
pav-server/src/main/java/com/palnet/biz/jpa/repository/flt/FltPlanQueryRepository.java

@ -1,6 +1,7 @@
package com.palnet.biz.jpa.repository.flt;
import com.palnet.biz.api.bas.flight.model.*;
import com.palnet.biz.api.comn.file.service.ComnFileService;
import com.palnet.biz.api.main.dash.model.MainDashStcsModel;
import com.palnet.biz.jpa.entity.*;
import com.palnet.biz.jpa.model.*;
@ -39,6 +40,7 @@ public class FltPlanQueryRepository {
private final JPAQueryFactory query;
private final ComnFileService comnFileService;
// 비행계획서 목록
@ -784,6 +786,7 @@ public class FltPlanQueryRepository {
bas.fltPurpose,
bas.aprvlYn,
bas.delYn,
bas.fileGroupNo,
bas.createUserId,
bas.createDt,
bas.updateUserId,
@ -858,6 +861,7 @@ public class FltPlanQueryRepository {
QFltPlanBas bas = QFltPlanBas.fltPlanBas;
QFltPlanArea area = QFltPlanArea.fltPlanArea;
QFltPlanArcrft arcrft = QFltPlanArcrft.fltPlanArcrft;
QComFileBas fileBas = QComFileBas.comFileBas;
// serach
BooleanBuilder builder = new BooleanBuilder();
@ -917,6 +921,7 @@ public class FltPlanQueryRepository {
bas.fltPurpose,
bas.aprvlYn,
bas.delYn,
bas.fileGroupNo,
bas.createUserId,
bas.createDt,
bas.updateUserId,
@ -1015,6 +1020,7 @@ public class FltPlanQueryRepository {
bas.fltPurpose,
bas.aprvlYn,
bas.delYn,
bas.fileGroupNo,
bas.createUserId,
bas.createDt,
bas.updateUserId,

Loading…
Cancel
Save