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. 3
      pav-server/src/main/java/com/palnet/biz/api/bas/dos/service/BasDosService.java
  4. 48
      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;
}

3
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;
@ -468,7 +467,7 @@ public class BasDosService {
}
for (DosFltPlanArea area : planAreaList) {
if(area.getReviewedProcType() == ReviewedProcType.SUCCESS) {
if (area.getReviewedProcType() == ReviewedProcType.SUCCESS) {
log.warn("reviewedProcType is not changed because status is SUCCESS: area:{}/rq:{}", area.getReviewedProcType(), rq.getReviewedProcType());
continue;
}

48
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;
@ -17,11 +14,11 @@ import org.springframework.web.servlet.resource.ResourceUrlEncodingFilter;
import java.time.format.DateTimeFormatter;
@Configuration
public class WebMvcConfig implements WebMvcConfigurer{
public class WebMvcConfig implements WebMvcConfigurer {
private static final String dateFormat = "yyyy-MM-dd";
private static final String timeFormat = "HH:mm:ss";
private static final String dateTimeFormat = "yyyy-MM-dd HH:mm:ss";
private static final String dateFormat = "yyyy-MM-dd";
private static final String timeFormat = "HH:mm:ss";
private static final String dateTimeFormat = "yyyy-MM-dd HH:mm:ss";
/*@Autowired
AccsUUIDcheckInterceptor accsUUIDcheckInterceptor;*/
@ -37,7 +34,7 @@ public class WebMvcConfig implements WebMvcConfigurer{
// converters.add(escapingConverter());
// }
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
/*registry.addResourceHandler("/web/**").addResourceLocations("/web/")
.setCacheControl(CacheControl.maxAge(10, TimeUnit.DAYS)).resourceChain(true)
// .setCacheControl(CacheControl.noStore()).resourceChain(true)
@ -45,20 +42,20 @@ public class WebMvcConfig implements WebMvcConfigurer{
.addContentVersionStrategy("/**"))
.addTransformer(new AppCacheManifestTransformer());*/
// html 가능 하게 설정
/*registry.addResourceHandler("/**").addResourceLocations("/web/hcws/html/");*/
}
// html 가능 하게 설정
/*registry.addResourceHandler("/**").addResourceLocations("/web/hcws/html/");*/
}
@Bean
public ResourceUrlEncodingFilter resourceUrlEncodingFilter() {
return new ResourceUrlEncodingFilter();
}
@Bean
public ResourceUrlEncodingFilter resourceUrlEncodingFilter() {
return new ResourceUrlEncodingFilter();
}
@Override
public void addCorsMappings(CorsRegistry registry) {
//임시로 크로스오리진 전체를 품
registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS");
}
@Override
public void addCorsMappings(CorsRegistry registry) {
//임시로 크로스오리진 전체를 품
registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET", "POST", "PUT", "DELETE", "PATCH", "OPTIONS");
}
//
// @Bean
@ -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);
@ -105,10 +103,10 @@ public class WebMvcConfig implements WebMvcConfigurer{
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
@Override
public void addInterceptors(InterceptorRegistry registry) {
//접근고유ID 체크 Interceptor
//접근고유ID 체크 Interceptor
/*registry.addInterceptor(accsUUIDcheckInterceptor)
.addPathPatterns("/sendbox/")
.addPathPatterns("/sendbox/index");*/
@ -138,5 +136,5 @@ public class WebMvcConfig implements WebMvcConfigurer{
.excludePathPatterns("/rest/**");
*/
}
}
}

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