diff --git a/src/main/java/com/palnet/biz/api/acnt/cstmr/model/AcntCstmrRqModel.java b/src/main/java/com/palnet/biz/api/acnt/cstmr/model/AcntCstmrRqModel.java index 2b89bb1..3d395dd 100644 --- a/src/main/java/com/palnet/biz/api/acnt/cstmr/model/AcntCstmrRqModel.java +++ b/src/main/java/com/palnet/biz/api/acnt/cstmr/model/AcntCstmrRqModel.java @@ -40,6 +40,8 @@ public class AcntCstmrRqModel{ private String clncd; private AnctCstmrTermsModel[] terms; + + private String trmnlId; diff --git a/src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java b/src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java index 01113fb..69bcee2 100644 --- a/src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java +++ b/src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java @@ -1,39 +1,24 @@ package com.palnet.biz.api.acnt.cstmr.service; -import java.util.ArrayList; -import java.util.Arrays; import java.util.List; -import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; -import javax.persistence.EntityTransaction; -import javax.persistence.Persistence; import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrEmModel; -import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrGroupModel; import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrPwModel; -import com.palnet.comn.code.RSErrorCode; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.security.core.Authentication; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.bind.annotation.RequestBody; -import com.palnet.biz.api.acnt.crtfyhp.service.AcntCrtfyhpService; -import com.palnet.biz.api.acnt.cstmr.controller.AcntCstmrController; import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrRqModel; import com.palnet.biz.api.acnt.cstmr.model.AcntCstmrRsModel; import com.palnet.biz.api.acnt.cstmr.model.AnctCstmerRlModel; import com.palnet.biz.api.acnt.cstmr.model.AnctCstmrTermsModel; import com.palnet.biz.api.acnt.jwt.model.JwtGroupModel; -import com.palnet.biz.api.acnt.jwt.model.JwtUserModel; import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil; -import com.palnet.biz.api.acnt.terms.model.AcntTermsRqModel; -import com.palnet.biz.api.acnt.terms.model.AcntTermsRsModel; -import com.palnet.biz.jpa.entity.PtyCrtfyhpBas; import com.palnet.biz.jpa.entity.PtyCstmrBas; import com.palnet.biz.jpa.entity.PtyCstmrDtl; import com.palnet.biz.jpa.entity.PtyCstmrGroup; @@ -45,13 +30,11 @@ import com.palnet.biz.jpa.repository.pty.PtyCstmrGroupRepository; import com.palnet.biz.jpa.repository.pty.PtyCstmrQueryRepository; import com.palnet.biz.jpa.repository.pty.PtyGroupBasRepository; import com.palnet.biz.jpa.repository.pty.PtyTermsAgreeTxnRepository; -import com.palnet.biz.jpa.repository.pty.PtyTermsQueryRepository; import com.palnet.comn.code.ErrorCode; import com.palnet.comn.exception.CustomException; import com.palnet.comn.utils.DateUtils; import com.palnet.comn.utils.EncryptUtils; import com.palnet.comn.utils.HttpUtils; -import com.palnet.comn.utils.JsonUtils; import lombok.extern.log4j.Log4j2; @@ -163,6 +146,7 @@ public class AcntCstmrService { basEntity.setUserPswd(rq.getUserPswd()); basEntity.setJoinDt(DateUtils.nowDate()); basEntity.setJoinIp(HttpUtils.getRequestIp()); + basEntity.setTrmnlId(rq.getTrmnlId()); return ptyCstmrBasRepository.save(basEntity); diff --git a/src/main/java/com/palnet/biz/api/acnt/jwt/model/JwtProfileRsModel.java b/src/main/java/com/palnet/biz/api/acnt/jwt/model/JwtProfileRsModel.java index ea3c2c0..cf902ce 100644 --- a/src/main/java/com/palnet/biz/api/acnt/jwt/model/JwtProfileRsModel.java +++ b/src/main/java/com/palnet/biz/api/acnt/jwt/model/JwtProfileRsModel.java @@ -13,5 +13,7 @@ public class JwtProfileRsModel { private String userId; private String memberName; + + private String trmnlId; } diff --git a/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupAprvModel.java b/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupAprvModel.java index e130955..69c2356 100644 --- a/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupAprvModel.java +++ b/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupAprvModel.java @@ -32,6 +32,8 @@ public class BasGroupAprvModel { private String groupAuthCd; private String aprvlUserId; + + private String trmnlId; } diff --git a/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupJoinModel.java b/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupJoinModel.java index 9f0bcf5..f6edc3f 100644 --- a/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupJoinModel.java +++ b/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupJoinModel.java @@ -32,5 +32,7 @@ public class BasGroupJoinModel { private Date updateDt; private String myGroupAuthCd; + + private String trmnlId; } diff --git a/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupModel.java b/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupModel.java index 3dfb328..6630a14 100644 --- a/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupModel.java +++ b/src/main/java/com/palnet/biz/api/bas/group/model/BasGroupModel.java @@ -18,5 +18,7 @@ public class BasGroupModel { private Date createDt; private Date updateDt; - + + private String trmnlId; + } diff --git a/src/main/java/com/palnet/biz/api/bas/group/service/BasGroupAprvService.java b/src/main/java/com/palnet/biz/api/bas/group/service/BasGroupAprvService.java index afb4e63..f83dfa1 100644 --- a/src/main/java/com/palnet/biz/api/bas/group/service/BasGroupAprvService.java +++ b/src/main/java/com/palnet/biz/api/bas/group/service/BasGroupAprvService.java @@ -1,7 +1,5 @@ package com.palnet.biz.api.bas.group.service; -import java.util.ArrayList; -import java.util.List; import java.util.Optional; import org.slf4j.Logger; @@ -82,8 +80,10 @@ public class BasGroupAprvService { entity.setAprvlUserId(rq.getAprvlUserId()); entity.setGroupAuthCd(rq.getGroupAuthCd()); + entity.setTrmnlId(rq.getTrmnlId()); } else { entity.setGroupAuthCd(""); + entity.setTrmnlId(""); } entity.setAprvlYn(rq.getAprvlYn()); diff --git a/src/main/java/com/palnet/biz/api/bas/group/service/BasGroupService.java b/src/main/java/com/palnet/biz/api/bas/group/service/BasGroupService.java index 7b4de62..7135f6f 100644 --- a/src/main/java/com/palnet/biz/api/bas/group/service/BasGroupService.java +++ b/src/main/java/com/palnet/biz/api/bas/group/service/BasGroupService.java @@ -1,8 +1,6 @@ package com.palnet.biz.api.bas.group.service; import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; import java.util.List; import java.util.Optional; import java.util.UUID; @@ -61,7 +59,7 @@ public class BasGroupService { /** * 나의 그룹 목록 - * @param rq + * @param cstmrSno * @return */ public List mylist(int cstmrSno){ @@ -74,7 +72,7 @@ public class BasGroupService { /** * 그룹 목록 - * @param rq + * @param cstmrSno * @return */ public List groupList(int cstmrSno){ @@ -92,7 +90,7 @@ public class BasGroupService { /** * 나의 그룹 - 참여 그룹 목록 - * @param rq + * @param cstmrSno * @return */ public List joinList(int cstmrSno){ @@ -117,7 +115,7 @@ public class BasGroupService { /** * 그룹 상세 조회 - * @param cntrlId + * @param groupId * @return * @throws Exception */ @@ -142,7 +140,7 @@ public class BasGroupService { /** * 그룹 생성 - * @param + * @param rq * @return * @throws Exception */ @@ -164,6 +162,7 @@ public class BasGroupService { entity.setUpdateDt(DateUtils.nowDate()); entity.setUseYn("Y"); entity.setCreateDt(DateUtils.nowDate()); + entity.setTrmnlId(rq.getTrmnlId()); //참여 정보 입력 하기 PtyCstmrGroup entity2 = new PtyCstmrGroup(); @@ -175,6 +174,7 @@ public class BasGroupService { entity2.setCstmrSno(rq.getCstmrSno()); entity2.setJoinYn("Y"); entity2.setJoinDt(DateUtils.nowDate()); + entity2.setTrmnlId(rq.getTrmnlId()); if( ptyGroupBasRepository.save(entity) == null) throw new CustomException(ErrorCode.FAIL); @@ -188,7 +188,7 @@ public class BasGroupService { /** * 그룹 수정 - * @param + * @param rq * @return * @throws Exception */ @@ -222,7 +222,7 @@ public class BasGroupService { /** * 그룹 삭제 - * @param + * @param groupId * @return * @throws Exception */ diff --git a/src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java b/src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java index a8ef363..d8af247 100644 --- a/src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java +++ b/src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java @@ -6,9 +6,10 @@ import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.LocalTime; +import java.util.*; import com.palnet.biz.api.ctr.cntrl.model.*; import io.swagger.annotations.ApiImplicitParam; @@ -17,6 +18,7 @@ import io.swagger.v3.oas.annotations.tags.Tag; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; +import org.locationtech.jts.geom.Coordinate; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; @@ -121,14 +123,94 @@ public class CtrCntrlController { @Tag(name = "드론 관제 시스템", description = "드론 관제 관련 API") public ResponseEntity restApiGetWeather(CtrCntrlWeatherModel rs) throws IOException, ParseException { StringBuilder urlBuilder = new StringBuilder("http://apis.data.go.kr/1360000/VilageFcstInfoService_2.0/getVilageFcst"); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); + Calendar c1 = Calendar.getInstance(); + String strToday = sdf.format(c1.getTime()); + // 현재 시간 + LocalTime now = LocalTime.now(); + + // 현재시간 출력 + + // 시, 분, 초 구하기 + int hour = now.getHour(); + int minute = now.getMinute(); + int length = (int)(Math.log10(minute)+1); + int hourlength = (int)(Math.log10(hour)+1); + String strminute = Integer.toString(minute); + String strhour = Integer.toString(hour); + String basetime = null; + + if(length<=1){ + strminute = 0+Integer.toString(minute); + }if(hourlength<=1){ + strhour = 0+Integer.toString(hour); + } + // 시, 분, 초 출력 + if ((Integer.parseInt(strhour) >= 2 && Integer.parseInt(strminute )> 9) && Integer.parseInt(strhour) <= 5) { + basetime = "0200"; + } + else if ((Integer.parseInt(strhour) >= 5 && Integer.parseInt(strminute ) > 9) && Integer.parseInt(strhour) < 8) { + basetime = "0500"; + } + else if (Integer.parseInt(strhour) >= 8 && Integer.parseInt(strminute ) < 10) { + basetime = "0500"; + } + else if ((Integer.parseInt(strhour) >= 8 && Integer.parseInt(strminute ) > 9) && Integer.parseInt(strhour) < 11) { + basetime = "0800"; + } + else if (Integer.parseInt(strhour) >= 11 && Integer.parseInt(strminute ) < 10) { + basetime = "0800"; + } + else if (Integer.parseInt(strhour) >= 11 && Integer.parseInt(strhour) < 14) { + basetime = "1100"; + } + else if (Integer.parseInt(strhour) >= 14 && Integer.parseInt(strminute ) < 10) { + basetime = "1100"; + } + else if ((Integer.parseInt(strhour) >= 14 && Integer.parseInt(strminute ) > 9) && Integer.parseInt(strhour) < 17) { + basetime = "1400"; + } + else if (Integer.parseInt(strhour) >= 17 && Integer.parseInt(strminute ) < 10) { + basetime = "1400"; + } + else if ((Integer.parseInt(strhour) >= 17 && Integer.parseInt(strminute ) > 9) && Integer.parseInt(strhour) < 20) { + basetime = "1700"; + } + else if (Integer.parseInt(strhour) >= 20 && Integer.parseInt(strminute ) < 10) { + basetime = "2000"; + } + else if ((Integer.parseInt(strhour) >= 20 && Integer.parseInt(strminute ) > 9) && Integer.parseInt(strhour) < 23) { + basetime = "2000"; + } + else if (Integer.parseInt(strhour) >= 23 && Integer.parseInt(strminute ) < 10) { + basetime = "2300"; + } + else if (Integer.parseInt(strhour) >= 23 && Integer.parseInt(strminute ) > 9) { + basetime = "2300"; + } + + + List coordList = new ArrayList<>(); + Coordinate coord = new Coordinate(); + Coordinate returnCoord = new Coordinate(); + coord.setX(rs.getNx()); + coord.setY(rs.getNy()); + returnCoord = service.wheather(coord); + + double nx = returnCoord.getX(); + double ny = returnCoord.getY(); + String Snx = String.format("%.0f",nx); + String Sny = String.format("%.0f",ny); + urlBuilder.append("?" + URLEncoder.encode("serviceKey","UTF-8") + "=r6RMUsk3Vtama7D6uq7MiWV9dTC9MwfIIr4%2F45y0uVNw6BaYbgpKmL%2BLUDFVTfIYUmEe4K%2FaniEjdV9mg5t82Q%3D%3D"); - urlBuilder.append("&" + URLEncoder.encode("pageNo","UTF-8") + "=" + URLEncoder.encode(rs.getPageNo(),"UTF-8")); - urlBuilder.append("&" + URLEncoder.encode("numOfRows","UTF-8") + "=" + URLEncoder.encode(rs.getNumOfRows(), "UTF-8")); /*한 페이지 결과 수*/ - urlBuilder.append("&" + URLEncoder.encode("dataType","UTF-8") + "=" + URLEncoder.encode(rs.getDataType(), "UTF-8")); /*요청자료형식(XML/JSON) Default: XML*/ - urlBuilder.append("&" + URLEncoder.encode("base_date","UTF-8") + "=" + URLEncoder.encode(rs.getBase_date(), "UTF-8")); /*'21년 6월 28일 발표*/ - urlBuilder.append("&" + URLEncoder.encode("base_time","UTF-8") + "=" + URLEncoder.encode(rs.getBase_time(), "UTF-8")); /*06시 발표(정시단위) */ - urlBuilder.append("&" + URLEncoder.encode("nx","UTF-8") + "=" + URLEncoder.encode(rs.getNx(), "UTF-8")); /*예보지점의 X 좌표값*/ - urlBuilder.append("&" + URLEncoder.encode("ny","UTF-8") + "=" + URLEncoder.encode(rs.getNy(), "UTF-8")); /*예보지점의 Y 좌표값*/ + urlBuilder.append("&" + URLEncoder.encode("pageNo","UTF-8") + "=" + URLEncoder.encode("1","UTF-8")); + urlBuilder.append("&" + URLEncoder.encode("numOfRows","UTF-8") + "=" + URLEncoder.encode("14", "UTF-8")); /*한 페이지 결과 수*/ + urlBuilder.append("&" + URLEncoder.encode("dataType","UTF-8") + "=" + URLEncoder.encode("JSON", "UTF-8")); /*요청자료형식(XML/JSON) Default: XML*/ + urlBuilder.append("&" + URLEncoder.encode("base_date","UTF-8") + "=" + URLEncoder.encode(strToday, "UTF-8")); /*'21년 6월 28일 발표*/ + urlBuilder.append("&" + URLEncoder.encode("base_time","UTF-8") + "=" + URLEncoder.encode(basetime, "UTF-8")); /*06시 발표(정시단위) */ + urlBuilder.append("&" + URLEncoder.encode("nx","UTF-8") + "=" + URLEncoder.encode(Snx, "UTF-8")); /*예보지점의 X 좌표값*/ + urlBuilder.append("&" + URLEncoder.encode("ny","UTF-8") + "=" + URLEncoder.encode(Sny, "UTF-8")); /*예보지점의 Y 좌표값*/ URL url = new URL(urlBuilder.toString()); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); diff --git a/src/main/java/com/palnet/biz/api/ctr/cntrl/model/CtrCntrlWeatherModel.java b/src/main/java/com/palnet/biz/api/ctr/cntrl/model/CtrCntrlWeatherModel.java index 9b0aaac..7b13653 100644 --- a/src/main/java/com/palnet/biz/api/ctr/cntrl/model/CtrCntrlWeatherModel.java +++ b/src/main/java/com/palnet/biz/api/ctr/cntrl/model/CtrCntrlWeatherModel.java @@ -4,12 +4,9 @@ import lombok.Data; @Data public class CtrCntrlWeatherModel { - private String serviceKey; - private String numOfRows; - private String pageNo; - private String dataType; - private String base_date; - private String base_time ; - private String nx; - private String ny; + private double nx; + private double ny; + private String Snx; + private String Sny; + } diff --git a/src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java b/src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java index 7237165..393b208 100644 --- a/src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java +++ b/src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; import java.util.UUID; +import com.palnet.biz.api.ctr.cntrl.model.*; import org.apache.commons.lang3.StringUtils; import org.locationtech.jts.geom.Coordinate; import org.springframework.beans.factory.annotation.Autowired; @@ -21,13 +22,6 @@ import com.palnet.biz.api.bas.flight.model.BasFlightPlanAreaModel; import com.palnet.biz.api.bas.flight.model.BasFlightPlanModel; import com.palnet.biz.api.bas.flight.service.BasFlightMapper; import com.palnet.biz.api.comn.model.ControlGpsDataContext; -import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlArcrftWarnModel; -import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlDtlModel; -import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlGroupArcrftModel; -import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlGroupModel; -import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlPlanContainsRq; -import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlPlanContainsRs; -import com.palnet.biz.api.ctr.cntrl.model.CtrCntrlWarnLogModel; import com.palnet.biz.jpa.entity.ComArcrftBas; import com.palnet.biz.jpa.entity.ComIdntfBas; import com.palnet.biz.jpa.entity.CtrCntrlBas; @@ -58,10 +52,10 @@ import lombok.extern.log4j.Log4j2; @Service @Log4j2 public class CtrCntrlService { - + @Autowired private JwtTokenUtil jwtTokenUtil; - + private final CtrCntrlQueryRepository query; private final CtrCntrlBasRepository cntrlBasRepository; private final CtrCntrlHstryRepository cntrlHstryRepository; @@ -101,10 +95,10 @@ public class CtrCntrlService { this.shareContext = shareContext; } - - public List getListHistory(String objectId){ + + public List getListHistory(String objectId) { List filterList = new ArrayList(); - + // if(cic.getHistoryData(objectId).size() > 0) { // resultList = cic.getHistoryData(objectId); // @@ -115,9 +109,9 @@ public class CtrCntrlService { // } // } // } - + return filterList; - + } /** @@ -127,46 +121,46 @@ public class CtrCntrlService { * @return */ public CtrCntrlDtlModel getDetail(String controlId) { - + CtrCntrlDtlModel result; - + result = query.detailCntrl(controlId); - + List areaList = query.detailArea(controlId); String stAreaNm = ""; - if ( result.getHpno() == null || result.getHpno().isEmpty()) { - }else{ + if (result.getHpno() == null || result.getHpno().isEmpty()) { + } else { result.setHpno(EncryptUtils.decrypt(result.getHpno())); } - - for(CtrCntrlHstryArea data : areaList) { - if(data.getActnType().equals("01")) { - if(!StringUtils.isEmpty(data.getArea1())) { + + for (CtrCntrlHstryArea data : areaList) { + if (data.getActnType().equals("01")) { + if (!StringUtils.isEmpty(data.getArea1())) { stAreaNm = stAreaNm + " " + data.getArea1(); } - - if(!StringUtils.isEmpty(data.getArea2())) { + + if (!StringUtils.isEmpty(data.getArea2())) { stAreaNm = stAreaNm + " " + data.getArea2(); } - - if(!StringUtils.isEmpty(data.getArea3())) { + + if (!StringUtils.isEmpty(data.getArea3())) { stAreaNm = stAreaNm + " " + data.getArea3(); } - - if(!StringUtils.isEmpty(data.getLandNm())) { + + if (!StringUtils.isEmpty(data.getLandNm())) { stAreaNm = stAreaNm + " " + data.getLandNm(); } - - if(!StringUtils.isEmpty(data.getLandNum())) { + + if (!StringUtils.isEmpty(data.getLandNum())) { stAreaNm = stAreaNm + " " + data.getLandNum(); } } } - + result.setStAreaNm(stAreaNm); - + return result; } @@ -187,16 +181,16 @@ public class CtrCntrlService { * @return */ public List getGroupAuthInfo() { - + List list = query.findByGroupInfo(); - List arcrftList= new ArrayList<>(); - if(list.size()>0) { - for(CtrCntrlGroupModel lists : list) { + List arcrftList = new ArrayList<>(); + if (list.size() > 0) { + for (CtrCntrlGroupModel lists : list) { List groupArcrft = query.findByGroupArcrft(lists.getGroupId()); arcrftList.addAll(groupArcrft); } } - return arcrftList; + return arcrftList; } /** @@ -208,16 +202,16 @@ public class CtrCntrlService { public List getWarnLog(String controlId) { List logs = warnLogRepository.findAllByCntrlId(controlId); List warnLog = new ArrayList<>(); - + for (CtrCntrlWarnLog log : logs) { CtrCntrlWarnLogModel model = new CtrCntrlWarnLogModel(); - + model.setCntrlId(log.getCntrlId()); model.setCreateDt(log.getCreateDt()); model.setWarnLogSno(log.getWarnLogSno()); model.setWarnType(log.getWarnType()); model.setIdntfNum(log.getIdntfNum()); - + warnLog.add(model); } @@ -227,6 +221,7 @@ public class CtrCntrlService { /** * TODO 기체 별 최신 비정상 로그 및 비정상 로그 전체 개수 + * * @param id * @return */ @@ -237,7 +232,7 @@ public class CtrCntrlService { if ("".equals(id) || id == null) return null; - String[] ids = id.indexOf(",") > -1 ? id.split(",") : new String[] {id}; + String[] ids = id.indexOf(",") > -1 ? id.split(",") : new String[]{id}; for (String cntrlId : ids) { CtrCntrlArcrftWarnModel model = new CtrCntrlArcrftWarnModel(); @@ -310,7 +305,7 @@ public class CtrCntrlService { * @param idntfNum * @return */ - public List getFlightPlan(String idntfNum) { + public List getFlightPlan(String idntfNum) { List rs = new ArrayList<>(); Date fltNowDt = DateUtils.nowDate(); @@ -331,7 +326,7 @@ public class CtrCntrlService { FltPlanBas plan = planBasRepository. findByGroupFlightPlan(arcrft.getPlanSno(), "Y", fltNowDt).orElse(null); - if (plan != null ) { + if (plan != null) { BasFlightPlanModel planMapping = BasFlightMapper.mapper.entityToModel(plan); // 비행 계획서 구역 조회 @@ -356,7 +351,7 @@ public class CtrCntrlService { areaMapping.setCoordList(coordListMapping); // Buffer 영역 생성 저장 - if("LINE".equals(area.getAreaType())) { + if ("LINE".equals(area.getAreaType())) { List convertCoordinates = areaUtils.convertCoordinates(areaMapping.getCoordList()); List transCoordList = areaUtils.transform(convertCoordinates, "EPSG:4326", "EPSG:5181"); @@ -397,7 +392,7 @@ public class CtrCntrlService { int countSuccess = 0; if (rq.getIdntfNum() != null) { - for (BasFlightPlanModel plan : rq.getPlanList()) { + for (BasFlightPlanModel plan : rq.getPlanList()) { for (BasFlightPlanAreaModel area : plan.getAreaList()) { List planArea = areaUtils.convertCoordinates(area.getCoordList()); @@ -474,7 +469,7 @@ public class CtrCntrlService { if ("01".equals(latestControl.getEndTypeCd()) || diffMinute > 5) { isControl = false; } - if(!"01".equals(latestControl.getEndTypeCd()) && diffMinute < 5) { + if (!"01".equals(latestControl.getEndTypeCd()) && diffMinute < 5) { isControl = true; } } else { @@ -521,4 +516,84 @@ public class CtrCntrlService { return result; } + + public Coordinate wheather(Coordinate coord) { + double nx; + double ny; + nx = coord.getX(); + ny = coord.getY(); + double RE = 6371.00877; // 지구 반경(km) + double GRID = 5.0; // 격자 간격(km) + double SLAT1 = 30.0; // 투영 위도1(degree) + double SLAT2 = 60.0; // 투영 위도2(degree) + double OLON = 126.0; // 기준점 경도(degree) + double OLAT = 38.0; // 기준점 위도(degree) + double XO = 43; // 기준점 X좌표(GRID) + double YO = 136; // 기1준점 Y좌표(GRID) + + // + // LCC DFS 좌표변환 ( code : "TO_GRID"(위경도->좌표, lat_X:위도, lng_Y:경도), "TO_GPS"(좌표->위경도, lat_X:x, lng_Y:y) ) + // + + double DEGRAD = Math.PI / 180.0; + double RADDEG = 180.0 / Math.PI; + + double re = RE / GRID; + double slat1 = SLAT1 * DEGRAD; + double slat2 = SLAT2 * DEGRAD; + double olon = OLON * DEGRAD; + double olat = OLAT * DEGRAD; + + double sn = Math.tan(Math.PI * 0.25 + slat2 * 0.5) / Math.tan(Math.PI * 0.25 + slat1 * 0.5); + sn = Math.log(Math.cos(slat1) / Math.cos(slat2)) / Math.log(sn); + double sf = Math.tan(Math.PI * 0.25 + slat1 * 0.5); + sf = Math.pow(sf, sn) * Math.cos(slat1) / sn; + double ro = Math.tan(Math.PI * 0.25 + olat * 0.5); + ro = re * sf / Math.pow(ro, sn); + + double theta; + if (true) { + nx = nx; + ny = ny; + double ra = Math.tan(Math.PI * 0.25 + (nx) * DEGRAD * 0.5); + ra = re * sf / Math.pow(ra, sn); + theta = ny * DEGRAD - olon; + if (theta > Math.PI) theta -= 2.0 * Math.PI; + if (theta < -Math.PI) theta += 2.0 * Math.PI; + theta *= sn; + nx = Math.floor(ra * Math.sin(theta) + XO + 0.5); + ny = Math.floor(ro - ra * Math.cos(theta) + YO + 0.5); + } else { + nx = nx; + ny = ny; + double xn = nx - XO; + double yn = ro - ny + YO; + double ra = Math.sqrt(xn * xn + yn * yn); + if (sn < 0.0) { + ra = -ra; + } + + double alat = Math.pow((re * sf / ra), (1.0 / sn)); + alat = 2.0 * Math.atan(alat) - Math.PI * 0.5; + + if (Math.abs(xn) <= 0.0) { + theta = 0.0; + } else { + if (Math.abs(yn) <= 0.0) { + theta = Math.PI * 0.5; + if (xn < 0.0) { + theta = -theta; + } + } else theta = Math.atan2(xn, yn); + } + double alon = theta / sn + olon; + nx = alat * RADDEG; + ny = alon * RADDEG; + } + + Coordinate returnCoord = new Coordinate(); + returnCoord.setX(nx); + returnCoord.setY(ny); + return returnCoord; + } } diff --git a/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrBas.java b/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrBas.java index b6e9511..8ab7dd8 100644 --- a/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrBas.java +++ b/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrBas.java @@ -63,5 +63,8 @@ public class PtyCstmrBas implements Serializable { @Column(name="RFRSH_TOKEN") private String rfrshToken; + @Column(name="TRMNL_ID") + private String trmnlId; + } \ No newline at end of file diff --git a/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrGroup.java b/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrGroup.java index d7ec6f9..d68df61 100644 --- a/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrGroup.java +++ b/src/main/java/com/palnet/biz/jpa/entity/PtyCstmrGroup.java @@ -49,6 +49,9 @@ public class PtyCstmrGroup implements Serializable { @Column(name="WTHDRW_DT") private Date wthdrwDt; + @Column(name="TRMNL_ID") + private String trmnlId; + public PtyCstmrGroup() { } @@ -132,4 +135,8 @@ public class PtyCstmrGroup implements Serializable { this.wthdrwDt = wthdrwDt; } + public String getTrmnlId() { return this.trmnlId; } + + public void setTrmnlId(String trmnlId) { this.trmnlId = trmnlId; } + } \ No newline at end of file diff --git a/src/main/java/com/palnet/biz/jpa/entity/PtyGroupBas.java b/src/main/java/com/palnet/biz/jpa/entity/PtyGroupBas.java index 61a5fa3..a376c86 100644 --- a/src/main/java/com/palnet/biz/jpa/entity/PtyGroupBas.java +++ b/src/main/java/com/palnet/biz/jpa/entity/PtyGroupBas.java @@ -20,6 +20,7 @@ public class PtyGroupBas implements Serializable { private String groupTypeCd; private Date updateDt; private String useYn; + private String trmnlId; public PtyGroupBas() { } @@ -87,4 +88,10 @@ public class PtyGroupBas implements Serializable { this.useYn = useYn; } + + @Column(name="TRMNL_ID") + public String getTrmnlId() { return this.trmnlId;} + + public void setTrmnlId(String trmnlId) { this.trmnlId = trmnlId; } + } \ No newline at end of file diff --git a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrQueryRepository.java b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrQueryRepository.java index 2db7076..e32385b 100644 --- a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrQueryRepository.java +++ b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrQueryRepository.java @@ -190,6 +190,7 @@ public class PtyCstmrQueryRepository{ basEntity.cstmrSno, basEntity.userId, basEntity.authId, + basEntity.trmnlId, basEntity.siteCode, dtlEntity.memberName )) diff --git a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java index 2d4ea33..c2f450c 100644 --- a/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java +++ b/src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java @@ -220,6 +220,7 @@ public class PtyGroupQueryRepository{ bas.groupId, bas.groupNm, bas.groupTypeCd, + bas.trmnlId, dtl.cstmrSno, dtl.cstmrGroupSno, bas.updateDt,