Browse Source

feat: 드론원스톱 장애물 제한 표면 검색조건 추가

feature/dos/statistics
지대한 3 weeks ago
parent
commit
8f51b1eca4
  1. 5
      http/server/server.http
  2. 3
      pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanRq.java
  3. 1
      pav-server/src/main/java/com/palnet/biz/api/bas/dos/service/BasDosService.java
  4. 6
      pav-server/src/main/java/com/palnet/biz/config/WebMvcConfig.java
  5. 11
      pav-server/src/main/java/com/palnet/biz/config/convert/CodeToLimitZoneTypeConverter.java
  6. 4
      pav-server/src/main/java/com/palnet/biz/jpa/repository/dos/DosFltPlanQueryRepository.java

5
http/server/server.http

@ -66,6 +66,7 @@ Authorization: {{accessToken}}
GET {{appHost}}/api/bas/dos/plan
?searchStDt=2023-06-29
&searchEndDt=2024-06-29
# &limitZoneCd=
# &reviewedProcType=W
# &applyNo=T201118-3010
# &reviewedType=W
@ -78,8 +79,8 @@ Authorization: {{accessToken}}
const {planSno, applyNo, areaList} = d;
console.log(`planSno: ${planSno}, applyNo: ${applyNo}`);
areaList.forEach(a => {
const {planAreaSno, zoneNo, reviewedType, reviewedProcType, approvalCd} = a;
console.log(`planAreaSno: ${planAreaSno}, zoneNo: ${zoneNo}, reviewedType: ${reviewedType}, reviewedProcType: ${reviewedProcType}, approvalCd: ${approvalCd}`);
const {planAreaSno, zoneNo, reviewedType, reviewedProcType, approvalCd, limitZoneCd} = a;
console.log(`planAreaSno: ${planAreaSno}, zoneNo: ${zoneNo}, reviewedType: ${reviewedType}, reviewedProcType: ${reviewedProcType}, approvalCd: ${approvalCd}, limitZoneCd: ${limitZoneCd}`);
})
});

3
pav-server/src/main/java/com/palnet/biz/api/bas/dos/model/BasDosPlanRq.java

@ -45,4 +45,7 @@ public class BasDosPlanRq {
@Schema(description = "검토유형(관제과)", example = "W", implementation = ReviewedProcType.class)
private ReviewedProcType reviewedProcType;
@Schema(description = "장애물제한표면(C(원추), H(수평), null(모두)", example = "C", implementation = LimitZoneType.class)
private LimitZoneType limitZoneCd;
}

1
pav-server/src/main/java/com/palnet/biz/api/bas/dos/service/BasDosService.java

@ -76,7 +76,6 @@ public class BasDosService {
private final DosFltPlanDroneRepository dosFltPlanDroneRepository;
private final DosFltPlanPilotRepository dosFltPlanPilotRepository;
private final DronOneStopService dronOneStopService;
private final ComnCoordinateService comnCoordinateService;
private final AreaUtils areaUtils;
private final PdfUtils pdfUtils;
private final JwtTokenUtil jwtTokenUtil;

6
pav-server/src/main/java/com/palnet/biz/config/WebMvcConfig.java

@ -1,9 +1,6 @@
package com.palnet.biz.config;
import com.palnet.biz.config.convert.CodeToFltPurposeBinding;
import com.palnet.biz.config.convert.CodeToReviewdProcTypeConverter;
import com.palnet.biz.config.convert.CodeToReviewdTypeConverter;
import com.palnet.biz.config.convert.StringToInstantBinding;
import com.palnet.biz.config.convert.*;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.format.FormatterRegistry;
@ -97,6 +94,7 @@ public class WebMvcConfig implements WebMvcConfigurer{
registry.addConverter(new CodeToFltPurposeBinding());
registry.addConverter(new CodeToReviewdTypeConverter());
registry.addConverter(new CodeToReviewdProcTypeConverter());
registry.addConverter(new CodeToLimitZoneTypeConverter());
/* ISO 타입.
registrar.setUseIsoFormat(true);

11
pav-server/src/main/java/com/palnet/biz/config/convert/CodeToLimitZoneTypeConverter.java

@ -0,0 +1,11 @@
package com.palnet.biz.config.convert;
import com.palnet.biz.api.bas.dos.model.LimitZoneType;
import org.springframework.core.convert.converter.Converter;
public class CodeToLimitZoneTypeConverter implements Converter<String, LimitZoneType> {
@Override
public LimitZoneType convert(String s) {
return LimitZoneType.fromCode(s);
}
}

4
pav-server/src/main/java/com/palnet/biz/jpa/repository/dos/DosFltPlanQueryRepository.java

@ -98,6 +98,10 @@ public class DosFltPlanQueryRepository {
if (rq.getReviewedProcType() != null) {
builder.and(qDosFltPlanArea.reviewedProcType.eq(rq.getReviewedProcType()));
}
// 장애물 제한 표면
if (rq.getLimitZoneCd() != null) {
builder.and(qDosFltPlanArea.limitZone.eq(rq.getLimitZoneCd().getCode()));
}
return query
.select(qDosFltPlanArea)

Loading…
Cancel
Save