diff --git a/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/service/ComnSunrisesetService.java b/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/service/ComnSunrisesetService.java index 7538e893..8263554c 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/service/ComnSunrisesetService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/service/ComnSunrisesetService.java @@ -3,6 +3,8 @@ package com.palnet.biz.api.comn.sunriseset.service; import com.palnet.biz.api.comn.sunriseset.model.ComnSunrisesetCoordRq; import com.palnet.biz.api.comn.sunriseset.model.ComnSunrisesetRq; import com.palnet.biz.api.comn.sunriseset.model.ComnSunrisesetRs; +import com.palnet.biz.jpa.entity.ComRiseSetBas; +import com.palnet.biz.jpa.repository.com.ComRiseSetBasRepository; import com.palnet.biz.jpa.repository.com.ComRiseSetQueryRepository; import com.palnet.comn.code.ErrorCode; import com.palnet.comn.exception.CustomException; @@ -28,6 +30,7 @@ import java.util.List; @Service public class ComnSunrisesetService { + private final ComRiseSetBasRepository comRiseSetBasRepository; private final ComRiseSetQueryRepository comRiseSetQueryRepository; @@ -37,8 +40,9 @@ public class ComnSunrisesetService { * @return */ public List getSunRiseSetList(ComnSunrisesetRq rq) { - return comRiseSetQueryRepository.findAllBySearchTransform(rq); + List list = comRiseSetBasRepository.findByLocStDateAndLocEndDateNearLocation(rq.getLocStDate(), rq.getLocEndDate(), rq.getLocation()); + return ComnSunrisesetMapper.MAPPER.toRs(list); } /** diff --git a/pav-server/src/main/java/com/palnet/biz/jpa/repository/com/ComRiseSetBasRepository.java b/pav-server/src/main/java/com/palnet/biz/jpa/repository/com/ComRiseSetBasRepository.java index c322ff9b..11e8d724 100644 --- a/pav-server/src/main/java/com/palnet/biz/jpa/repository/com/ComRiseSetBasRepository.java +++ b/pav-server/src/main/java/com/palnet/biz/jpa/repository/com/ComRiseSetBasRepository.java @@ -26,4 +26,7 @@ public interface ComRiseSetBasRepository extends JpaRepository findByLocStDateAndLocEndDate(@Param("locStDate") String locStDate, @Param("locEndDate") String locEndDate); + @Query(value = "SELECT NEAR.* FROM ( SELECT *, CAST( ST_DISTANCE_SPHERE( POINT(LON, LAT), POINT( (SELECT DISTINCT LON FROM COM_RISE_SET_BAS WHERE LOCATION = :location), (SELECT DISTINCT LAT FROM COM_RISE_SET_BAS WHERE LOCATION = :location) ) ) AS SIGNED ) AS DIST FROM COM_RISE_SET_BAS WHERE LOC_DATE BETWEEN :locStDate AND :locEndDate ORDER BY LOC_DATE ASC , DIST ASC ) AS NEAR GROUP BY NEAR.LOC_DATE", nativeQuery = true) + List findByLocStDateAndLocEndDateNearLocation(@Param("locStDate") String locStDate, @Param("locEndDate") String locEndDate, @Param("location") String location); + }