추론수정
This commit is contained in:
@@ -0,0 +1,155 @@
|
||||
package com.kamco.cd.kamcoback.Innopam.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
public class ChngDetectMastDto {
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class Basic {
|
||||
|
||||
private String chnDtctMstId; // 탐지마스터아이디
|
||||
private String cprsYr; // 비교년도 2023
|
||||
private String crtrYr; // 기준년도 2024
|
||||
private String chnDtctSno; // 차수 (1 | 2 | ...)
|
||||
private String chnDtctId; // 탐지아이디. UUID를 기반으로 '-'를 제거하고 대문자/숫자로 구성
|
||||
private String chnDtctCnt; // 탐지객체개수
|
||||
private String pnuMpngCnt; // PNU매핑개수
|
||||
private String lrmYmd; // 지적도일자
|
||||
private String pathNm; // 탐지결과 절대경로명 /kamco_nas/export/{chnDtctId}
|
||||
private List<ChnDetectMastExcnStepDto> excnList; // 등록진행상태히스토리 (최근것부터 DESC)
|
||||
private String excnStepCd; // 실행단계코드
|
||||
private String excnStep; // 실행단계코드에 해당하는 영문명
|
||||
private String excnPgrt; // 실행단계진행율
|
||||
private String excnBngnDt; // 실행단계시작시간
|
||||
private String excnEndDt; // 실행단계종료시간
|
||||
private String rmk; // 비고
|
||||
private String crtDt; // 생성일시
|
||||
private String crtEpno; // 생성사원번호
|
||||
private String crtIp; // 생성사원아이피
|
||||
private String chgDt; // 변경일시
|
||||
private String chgEpno; // 변경사원번호
|
||||
private String chgIp; // 변경사원아이피
|
||||
private String delYn; // 삭제여부
|
||||
//
|
||||
private String reqEpno; // 요청사원번호
|
||||
private String reqIp; // 요청사원어이피
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ChnDetectMastExcnStepDto {
|
||||
|
||||
private String srno; // 일련번호
|
||||
private String chnDtctMstId; // 탐지마스터아이디
|
||||
private String excnStepCd; // 실행단계코드
|
||||
private String excnStep; // 실행단계코드에 해당하는 영문명
|
||||
private String excnPgrt; // 실행단계진행율
|
||||
private String excnEndDt; // 실행단계종료시간
|
||||
private String errCd; // 오류코드
|
||||
private String errMsg; // 오류메세지
|
||||
private String crtDt; // 실행단계시작시간
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ChnDetectMastReqDto {
|
||||
private String cprsYr; // 비교년도 2023
|
||||
private String crtrYr; // 기준년도 2024
|
||||
private String chnDtctSno; // 차수 (1 | 2 | ...)
|
||||
private String chnDtctId; // 탐지아이디. UUID를 기반으로 '-'를 제거하고 대문자/숫자로 구성
|
||||
private String pathNm; // 탐지결과 절대경로명 /kamco_nas/export/{chnDtctId}
|
||||
private String reqEpno; // 사원번호
|
||||
private String reqIp; // 사원아이피
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ChnDetectContDto {
|
||||
|
||||
private String chnDtctMstId; // 탐지콘텐츠아이디
|
||||
private String chnDtctContId; // 탐지마스타아이디
|
||||
private String cprsYr; // 비교년도 2023
|
||||
private String crtrYr; // 기준년도 2024
|
||||
private String chnDtctSno; // 차수 (1 | 2 | ...)
|
||||
private String mpqdNo; // 도엽번호
|
||||
private String chnDtctId; // 탐지아이디. UUID를 기반으로 '-'를 제거하고 대문자/숫자로 구성
|
||||
private String chnDtctObjtId; // 탐지객체아이디. UUID를 기반으로 '-'를 제거하고 대문자/숫자로 구성
|
||||
private String chnDtctPolygon; // 탐지객체폴리곤
|
||||
private String chnDtctSqms; // 탐지객체면적
|
||||
private String chnCd; // 변화코드
|
||||
private String chnDtctJson; // 변화탐지JSON
|
||||
private String chnDtctProb; // 변화탐지정확도
|
||||
private String bfClsCd; // 이전부류코드
|
||||
private String bfClsProb; // 이전분류정확도
|
||||
private String afClsCd; // 이후분류코드
|
||||
private String afClsProb; // 이후분류정확도
|
||||
private String crtDt; // 생성일시
|
||||
private String crtEpno; // 생성사원번호
|
||||
private String crtIp; // 생성사원아이피
|
||||
private String delYn; // 삭제여부
|
||||
//
|
||||
private String reqEpno; // 요청사원번호
|
||||
private String reqIp; // 요청사원아이피
|
||||
}
|
||||
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ChnDetectContReqDto {
|
||||
|
||||
private String cprsYr; // 비교년도 2023
|
||||
private String crtrYr; // 기준년도 2024
|
||||
private String chnDtctSno; // 차수 (1 | 2 | ...)
|
||||
private String mpqdNo; // 도엽번호
|
||||
private String chnDtctId; // 탐지아이디. UUID를 기반으로 '-'를 제거하고 대문자/숫자로 구성
|
||||
private String chnDtctObjtId; // 탐지객체아이디. UUID를 기반으로 '-'를 제거하고 대문자/숫자로 구성
|
||||
private String reqEpno; // 사원번호
|
||||
private String reqIp;
|
||||
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ChngDetectMastSearchDto {
|
||||
private String chnDtctId;
|
||||
private String cprsYr;
|
||||
private String crtrYr;
|
||||
private String chnDtctSno;
|
||||
}
|
||||
|
||||
|
||||
@Schema(name = "ResReturn", description = "수행 후 리턴")
|
||||
@Getter
|
||||
@Setter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public static class ResReturn {
|
||||
|
||||
private String flag;
|
||||
private String message;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
package com.kamco.cd.kamcoback.Innopam.service;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonFactory;
|
||||
import com.fasterxml.jackson.core.JsonParser;
|
||||
import com.fasterxml.jackson.core.JsonToken;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.kamco.cd.kamcoback.Innopam.dto.ChngDetectMastDto;
|
||||
import com.kamco.cd.kamcoback.Innopam.dto.ChngDetectMastDto.ChngDetectMastSearchDto;
|
||||
import com.kamco.cd.kamcoback.Innopam.dto.ChngDetectMastDto.ResReturn;
|
||||
import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto;
|
||||
import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto.Basic;
|
||||
import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto.DetectMastReq;
|
||||
import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto.DetectMastSearch;
|
||||
import com.kamco.cd.kamcoback.Innopam.dto.DetectMastDto.FeaturePnuDto;
|
||||
import com.kamco.cd.kamcoback.Innopam.postgres.core.DetectMastCoreService;
|
||||
import com.kamco.cd.kamcoback.common.utils.NetUtils;
|
||||
import com.kamco.cd.kamcoback.common.utils.UserUtil;
|
||||
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
|
||||
import com.kamco.cd.kamcoback.config.resttemplate.ExternalHttpClient;
|
||||
import com.kamco.cd.kamcoback.config.resttemplate.ExternalHttpClient.ExternalCallResult;
|
||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.DmlReturn;
|
||||
import java.io.InputStream;
|
||||
import java.net.InetAddress;
|
||||
import java.net.URLEncoder;
|
||||
import java.net.UnknownHostException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.ThreadLocalRandom;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.security.core.Authentication;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.util.UriComponentsBuilder;
|
||||
|
||||
@Service
|
||||
@Transactional(readOnly = true)
|
||||
@RequiredArgsConstructor
|
||||
public class InnopamApiService {
|
||||
|
||||
@Value("${spring.profiles.active:local}")
|
||||
private String profile;
|
||||
|
||||
@Value("${innopam.url}")
|
||||
private String innopamUrl;
|
||||
|
||||
@Value("${innopam.mast}")
|
||||
private String innopamMastUrl;
|
||||
|
||||
|
||||
private final DetectMastCoreService detectMastCoreService;
|
||||
|
||||
private final ExternalHttpClient externalHttpClient;
|
||||
private final UserUtil userUtil = new UserUtil();
|
||||
private final NetUtils netUtils = new NetUtils();
|
||||
|
||||
private final JsonFactory jsonFactory = new JsonFactory();
|
||||
|
||||
@Transactional
|
||||
public ChngDetectMastDto.Basic regist(ChngDetectMastDto.ChnDetectMastReqDto chnDetectMastReq) {
|
||||
|
||||
ChngDetectMastDto.Basic basic = new ChngDetectMastDto.Basic();
|
||||
|
||||
String url = innopamMastUrl + "/regist";
|
||||
//url = "http://localhost:8080/api/kcd/cdi/detect/mast/regist";
|
||||
|
||||
String myip = netUtils.getLocalIP();
|
||||
chnDetectMastReq.setReqIp(myip);
|
||||
|
||||
System.out.println("url == "+ url);
|
||||
System.out.println("url == "+ myip);
|
||||
|
||||
ExternalCallResult<String> result =
|
||||
externalHttpClient.call(url, HttpMethod.POST, chnDetectMastReq, netUtils.jsonHeaders(), String.class);
|
||||
|
||||
System.out.println("result == " + result);
|
||||
|
||||
return basic;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public ResReturn remove(ChngDetectMastDto.ChnDetectMastReqDto chnDetectMastReq) {
|
||||
ChngDetectMastDto.Basic basic = new ChngDetectMastDto.Basic();
|
||||
|
||||
String url = innopamMastUrl + "/remove";
|
||||
//url = "http://localhost:8080/api/kcd/cdi/detect/mast/remove";
|
||||
|
||||
String myip = netUtils.getLocalIP();
|
||||
chnDetectMastReq.setReqIp(myip);
|
||||
|
||||
System.out.println("url == "+ url);
|
||||
System.out.println("url == "+ myip);
|
||||
|
||||
ExternalCallResult<String> result =
|
||||
externalHttpClient.call(url, HttpMethod.POST, chnDetectMastReq, netUtils.jsonHeaders(), String.class);
|
||||
|
||||
System.out.println("result == " + result);
|
||||
|
||||
return new ResReturn("success", "탐지결과 삭제 되었습니다.");
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public List<ChngDetectMastDto.Basic> list(ChngDetectMastDto.ChngDetectMastSearchDto searchDto) {
|
||||
List<ChngDetectMastDto.Basic> masterList = new ArrayList<>();
|
||||
|
||||
String queryString = netUtils.dtoToQueryString(searchDto, null);
|
||||
String url = innopamMastUrl+queryString;
|
||||
|
||||
ExternalCallResult<String> result =
|
||||
externalHttpClient.call(url, HttpMethod.GET, null, netUtils.jsonHeaders(), String.class);
|
||||
|
||||
System.out.println("list result == " + result);
|
||||
|
||||
return masterList;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user