박재우 2 years ago
parent
commit
38eca47603
  1. 2
      src/main/java/com/palnet/biz/api/acnt/cstmr/model/AcntCstmrRqModel.java
  2. 18
      src/main/java/com/palnet/biz/api/acnt/cstmr/service/AcntCstmrService.java
  3. 2
      src/main/java/com/palnet/biz/api/acnt/jwt/model/JwtProfileRsModel.java
  4. 2
      src/main/java/com/palnet/biz/api/bas/group/model/BasGroupAprvModel.java
  5. 2
      src/main/java/com/palnet/biz/api/bas/group/model/BasGroupJoinModel.java
  6. 4
      src/main/java/com/palnet/biz/api/bas/group/model/BasGroupModel.java
  7. 4
      src/main/java/com/palnet/biz/api/bas/group/service/BasGroupAprvService.java
  8. 18
      src/main/java/com/palnet/biz/api/bas/group/service/BasGroupService.java
  9. 102
      src/main/java/com/palnet/biz/api/ctr/cntrl/controller/CtrCntrlController.java
  10. 13
      src/main/java/com/palnet/biz/api/ctr/cntrl/model/CtrCntrlWeatherModel.java
  11. 169
      src/main/java/com/palnet/biz/api/ctr/cntrl/service/CtrCntrlService.java
  12. 3
      src/main/java/com/palnet/biz/jpa/entity/PtyCstmrBas.java
  13. 7
      src/main/java/com/palnet/biz/jpa/entity/PtyCstmrGroup.java
  14. 7
      src/main/java/com/palnet/biz/jpa/entity/PtyGroupBas.java
  15. 1
      src/main/java/com/palnet/biz/jpa/repository/pty/PtyCstmrQueryRepository.java
  16. 1
      src/main/java/com/palnet/biz/jpa/repository/pty/PtyGroupQueryRepository.java

2
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;

18
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);

2
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;
}

2
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;
}

2
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;
}

4
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;
}

4
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());

18
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<BasGroupModel> mylist(int cstmrSno){
@ -74,7 +72,7 @@ public class BasGroupService {
/**
* 그룹 목록
* @param rq
* @param cstmrSno
* @return
*/
public List<BasGroupJoinModel> groupList(int cstmrSno){
@ -92,7 +90,7 @@ public class BasGroupService {
/**
* 나의 그룹 - 참여 그룹 목록
* @param rq
* @param cstmrSno
* @return
*/
public List<BasGroupJoinModel> 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
*/

102
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<? extends BasicResponse> 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<Coordinate> 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");

13
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;
}

169
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<GPHistoryModel> getListHistory(String objectId){
public List<GPHistoryModel> getListHistory(String objectId) {
List<GPHistoryModel> filterList = new ArrayList<GPHistoryModel>();
// 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<CtrCntrlHstryArea> 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<CtrCntrlGroupArcrftModel> getGroupAuthInfo() {
List<CtrCntrlGroupModel> list = query.findByGroupInfo();
List<CtrCntrlGroupArcrftModel> arcrftList= new ArrayList<>();
if(list.size()>0) {
for(CtrCntrlGroupModel lists : list) {
List<CtrCntrlGroupArcrftModel> arcrftList = new ArrayList<>();
if (list.size() > 0) {
for (CtrCntrlGroupModel lists : list) {
List<CtrCntrlGroupArcrftModel> groupArcrft = query.findByGroupArcrft(lists.getGroupId());
arcrftList.addAll(groupArcrft);
}
}
return arcrftList;
return arcrftList;
}
/**
@ -208,16 +202,16 @@ public class CtrCntrlService {
public List<CtrCntrlWarnLogModel> getWarnLog(String controlId) {
List<CtrCntrlWarnLog> logs = warnLogRepository.findAllByCntrlId(controlId);
List<CtrCntrlWarnLogModel> 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<BasFlightPlanModel> getFlightPlan(String idntfNum) {
public List<BasFlightPlanModel> getFlightPlan(String idntfNum) {
List<BasFlightPlanModel> 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<Coordinate> convertCoordinates = areaUtils.convertCoordinates(areaMapping.getCoordList());
List<Coordinate> 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<Coordinate> 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;
}
}

3
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;
}

7
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; }
}

7
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; }
}

1
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
))

1
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,

Loading…
Cancel
Save