52 Commits

Author SHA1 Message Date
9dd03f3c52 Merge pull request '국유인 API 수정 추가' (#51) from feat/infer_dev_260107 into develop
Reviewed-on: #51
2026-02-05 15:10:34 +09:00
796591eca6 Merge pull request '국유인 API 수정 추가' (#50) from feat/infer_dev_260107 into develop
Reviewed-on: #50
2026-02-05 15:03:06 +09:00
825e393e05 Merge pull request '국유인 API 수정 추가' (#49) from feat/infer_dev_260107 into develop
Reviewed-on: #49
2026-02-05 14:58:50 +09:00
1410333829 Merge pull request '국유인 API 수정' (#48) from feat/infer_dev_260107 into develop
Reviewed-on: #48
2026-02-05 14:55:43 +09:00
d63980476f Merge pull request '라벨링 할당 수정' (#47) from feat/infer_dev_260107 into develop
Reviewed-on: #47
2026-02-05 13:56:01 +09:00
ae1693a33c Merge pull request '라벨링 가능 건수 조건 수정' (#46) from feat/infer_dev_260107 into develop
Reviewed-on: #46
2026-02-05 13:49:44 +09:00
8dfae65bcc Merge pull request 'feat/infer_dev_260107' (#45) from feat/infer_dev_260107 into develop
Reviewed-on: #45
2026-02-04 17:56:37 +09:00
872df11844 Merge pull request '국유in 등록 로그 추가' (#44) from feat/infer_dev_260107 into develop
Reviewed-on: #44
2026-02-04 11:10:55 +09:00
f992bbe9ca Merge pull request '국유인, 라벨링 job 각각 분리 작업' (#43) from feat/infer_dev_260107 into develop
Reviewed-on: #43
2026-02-02 19:18:15 +09:00
643ea5cf9a Merge pull request 'spotless 적용' (#42) from feat/infer_dev_260107 into develop
Reviewed-on: #42
2026-02-02 17:17:45 +09:00
bc4b2dbac1 Merge pull request 'feat/infer_dev_260107' (#41) from feat/infer_dev_260107 into develop
Reviewed-on: #41
2026-02-02 17:16:21 +09:00
694b2fc31e Merge pull request '인증 예시 아이디 수정' (#40) from feat/infer_dev_260107 into develop
Reviewed-on: #40
2026-02-02 14:01:01 +09:00
fbdda6477c Merge pull request '사번 자리수 6자리 벨리데이션 수정' (#39) from feat/infer_dev_260107 into develop
Reviewed-on: #39
2026-02-02 13:37:13 +09:00
a572089dff Merge pull request '변화지도 레이어 조회 url 수정' (#38) from feat/infer_dev_260107 into develop
Reviewed-on: #38
2026-02-02 12:22:50 +09:00
c6abf7a935 Merge pull request 'feat/infer_dev_260107' (#37) from feat/infer_dev_260107 into develop
Reviewed-on: #37
2026-02-02 12:18:09 +09:00
a9348d9a66 Merge pull request '타일 url 시큐리티 추가' (#36) from feat/infer_dev_260107 into develop
Reviewed-on: #36
2026-02-02 10:31:59 +09:00
b877d2a8c9 Merge pull request 'feat/infer_dev_260107' (#35) from feat/infer_dev_260107 into develop
Reviewed-on: #35
2026-02-02 10:28:28 +09:00
151012ea28 Merge pull request 'feat/infer_dev_260107' (#34) from feat/infer_dev_260107 into develop
Reviewed-on: #34
2026-02-02 10:14:44 +09:00
68c68082cf Merge branch 'develop' of ssh://192.168.2.126:2222/MVPTeam/kamco-cd-api into develop 2026-02-01 22:27:49 +09:00
4ce96b72aa prod 2026-02-01 22:27:20 +09:00
0a5c5dfd7d Merge pull request 'crs 타입 수정하기' (#32) from feat/infer_dev_260107 into develop
Reviewed-on: #32
2026-01-30 21:43:05 +09:00
7442e4ee09 Merge pull request 'feat/infer_dev_260107' (#31) from feat/infer_dev_260107 into develop
Reviewed-on: #31
2026-01-30 21:32:17 +09:00
d278baed96 Merge pull request 'feat/infer_dev_260107' (#30) from feat/infer_dev_260107 into develop
Reviewed-on: #30
2026-01-30 21:05:04 +09:00
6b0074316f Merge pull request 'feat/infer_dev_260107' (#29) from feat/infer_dev_260107 into develop
Reviewed-on: #29
2026-01-30 19:44:42 +09:00
f921ef5d0d Merge pull request 'geoserver url 변경' (#28) from feat/infer_dev_260107 into develop
Reviewed-on: #28
2026-01-30 19:16:14 +09:00
7667620395 Merge pull request 'bbox 5186 transform' (#27) from feat/infer_dev_260107 into develop
Reviewed-on: #27
2026-01-30 18:20:03 +09:00
527acc9839 Merge pull request 'bbox 5186 으로 변환' (#26) from feat/infer_dev_260107 into develop
Reviewed-on: #26
2026-01-30 18:09:46 +09:00
407f14d230 Merge pull request 'wmts 수정' (#25) from feat/infer_dev_260107 into develop
Reviewed-on: #25
2026-01-30 17:56:40 +09:00
4a91d61b7d Merge pull request '추론실행 퍼센트 수정' (#24) from feat/infer_dev_260107 into develop
Reviewed-on: #24
2026-01-30 17:49:40 +09:00
9d7bbc1b63 Merge pull request 'wmts 수정, 국유인 어제완료된 라벨전송, 전송완료된 리스트 기능 추가' (#23) from feat/infer_dev_260107 into develop
Reviewed-on: #23
2026-01-30 17:44:26 +09:00
f46ea62761 Merge pull request 'RestTemplateConfig 수정' (#22) from feat/infer_dev_260107 into develop
Reviewed-on: #22
2026-01-30 17:21:11 +09:00
1abc0b93c0 Merge pull request 'RestTemplateConfig 수정, wmts 수정' (#21) from feat/infer_dev_260107 into develop
Reviewed-on: #21
2026-01-30 17:13:30 +09:00
4204e48d88 Merge pull request 'feat/infer_dev_260107' (#20) from feat/infer_dev_260107 into develop
Reviewed-on: #20
2026-01-30 16:53:04 +09:00
fa41d41739 Merge pull request 'RestTemplateConfig 수정, 추론실행 수정' (#19) from feat/infer_dev_260107 into develop
Reviewed-on: #19
2026-01-30 16:19:02 +09:00
ee28edd9d0 Merge pull request 'RestTemplateConfig 수정' (#18) from feat/infer_dev_260107 into develop
Reviewed-on: #18
2026-01-30 14:44:05 +09:00
8555897b77 Merge pull request 'feat/infer_dev_260107' (#17) from feat/infer_dev_260107 into develop
Reviewed-on: #17
2026-01-30 14:19:34 +09:00
fe7b1ed0bd Merge pull request '레이어관리 수정' (#16) from feat/infer_dev_260107 into develop
Reviewed-on: #16
2026-01-30 11:54:34 +09:00
064c02e21b Merge pull request '년도 1개만 조회하는 타일 API' (#15) from feat/infer_dev_260107 into develop
Reviewed-on: #15
2026-01-30 11:17:59 +09:00
fd3499a5ec Merge pull request 'feat/infer_dev_260107' (#14) from feat/infer_dev_260107 into develop
Reviewed-on: #14
2026-01-30 11:05:30 +09:00
686cf03524 Merge pull request 'geoserver 등록 수정' (#13) from feat/infer_dev_260107 into develop
Reviewed-on: #13
2026-01-30 10:23:20 +09:00
ee9914a5f3 Merge pull request 'geoserver 등록 수정' (#12) from feat/infer_dev_260107 into develop
Reviewed-on: #12
2026-01-30 10:21:25 +09:00
b3e90c9f2b Merge pull request 'feat/infer_dev_260107' (#11) from feat/infer_dev_260107 into develop
Reviewed-on: #11
2026-01-30 09:50:59 +09:00
156b7a312d Merge pull request '레이어관리 - 변화지도,라벨링툴 맵 리스트' (#10) from feat/infer_dev_260107 into develop
Reviewed-on: #10
2026-01-29 20:56:34 +09:00
cfed31656a Merge pull request 'ai 주소 변경' (#9) from feat/infer_dev_260107 into develop
Reviewed-on: #9
2026-01-29 20:12:17 +09:00
14e8a6476f Merge pull request '영상관리 등록 년도 tile 추가' (#8) from feat/infer_dev_260107 into develop
Reviewed-on: #8
2026-01-29 19:03:39 +09:00
ae6de0c030 Merge pull request 'ai 주소 변경' (#7) from feat/infer_dev_260107 into develop
Reviewed-on: #7
2026-01-29 17:34:32 +09:00
4036f88296 Merge pull request 'feat/infer_dev_260107' (#6) from feat/infer_dev_260107 into develop
Reviewed-on: #6
2026-01-29 16:25:08 +09:00
28718c4218 Merge pull request 'feat/infer_dev_260107' (#5) from feat/infer_dev_260107 into develop
Reviewed-on: #5
2026-01-29 14:42:55 +09:00
54c92842d4 Merge pull request '헬스체크 시큐리티 설정 추가' (#4) from feat/infer_dev_260107 into develop
Reviewed-on: #4
2026-01-29 12:30:48 +09:00
c83c540dfb Merge pull request 'feat/infer_dev_260107' (#3) from feat/infer_dev_260107 into develop
Reviewed-on: #3
2026-01-29 12:16:10 +09:00
dd1284f5c0 Merge pull request '추론실행 수정' (#2) from feat/infer_dev_260107 into develop
Reviewed-on: #2
2026-01-29 10:35:15 +09:00
385ada3291 Merge pull request 'feat/infer_dev_260107' (#1) from feat/infer_dev_260107 into develop
Reviewed-on: #1
2026-01-29 10:31:31 +09:00
17 changed files with 114 additions and 156 deletions

24
Dockerfile-prod Normal file
View File

@@ -0,0 +1,24 @@
# 1단계에서 만든 로컬 베이스 이미지를 사용
FROM 192.168.2.73:18082/kamco-cd/base-java21-gdal:1.0
FROM 192.168.2.73:18082/kamco-cd/base-java21-gdal:1.0
# 사용자 설정 (앱 별로 다를 수 있으므로 여기에 유지)
ARG UID=1000
ARG GID=1000
RUN groupadd -g ${GID} kcomu \
&& useradd -u ${UID} -g ${GID} -m kcomu
USER kcomu
# 작업 디렉토리 설정
WORKDIR /app
# JAR 파일 복사 (Jenkins에서 빌드된 ROOT.jar)
COPY build/libs/ROOT.jar app.jar
# 포트 노출
EXPOSE 8080
# 애플리케이션 실행
# dev 프로파일로 실행
ENTRYPOINT ["java", "-jar", "-Dspring.profiles.active=prod", "app.jar"]

35
docker-compose-prod.yml Normal file
View File

@@ -0,0 +1,35 @@
services:
kamco-changedetection-api:
build:
context: .
dockerfile: Dockerfile-prod
args:
UID: 1000 # manager01 UID
GID: 1000 # manager01 GID
image: kamco-changedetection-api:${IMAGE_TAG:-latest}
container_name: kamco-changedetection-api
user: "1000:1000"
ports:
- "7100:8080"
environment:
- SPRING_PROFILES_ACTIVE=dev
- TZ=Asia/Seoul
volumes:
- /mnt/nfs_share/images:/app/original-images
- /mnt/nfs_share/model_output:/app/model-outputs
- /mnt/nfs_share/train_dataset:/app/train-dataset
- /mnt/nfs_share/tmp:/app/tmp
- /kamco-nfs:/kamco-nfs
networks:
- kamco-cds
restart: unless-stopped
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8080/monitor/health" ]
interval: 10s
timeout: 5s
retries: 5
start_period: 40s
networks:
kamco-cds:
external: true

View File

@@ -15,7 +15,6 @@ import com.kamco.cd.kamcoback.scheduler.service.GukYuinApiLabelJobService;
import com.kamco.cd.kamcoback.scheduler.service.GukYuinApiPnuJobService; import com.kamco.cd.kamcoback.scheduler.service.GukYuinApiPnuJobService;
import com.kamco.cd.kamcoback.scheduler.service.GukYuinApiStatusJobService; import com.kamco.cd.kamcoback.scheduler.service.GukYuinApiStatusJobService;
import com.kamco.cd.kamcoback.scheduler.service.GukYuinApiStbltJobService; import com.kamco.cd.kamcoback.scheduler.service.GukYuinApiStbltJobService;
import io.swagger.v3.oas.annotations.Hidden;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.media.Content; import io.swagger.v3.oas.annotations.media.Content;
@@ -331,7 +330,6 @@ public class GukYuinApiController {
return ApiResponseDto.ok(gukYuinApiService.findRlbDtctObject(chnDtctObjtId)); return ApiResponseDto.ok(gukYuinApiService.findRlbDtctObject(chnDtctObjtId));
} }
@Hidden
@Operation(summary = "job test pnu", description = "job test pnu") @Operation(summary = "job test pnu", description = "job test pnu")
@GetMapping("/job-test/pnu") @GetMapping("/job-test/pnu")
public ApiResponseDto<Void> findGukYuinContListPnuUpdate() { public ApiResponseDto<Void> findGukYuinContListPnuUpdate() {
@@ -339,7 +337,6 @@ public class GukYuinApiController {
return ApiResponseDto.ok(null); return ApiResponseDto.ok(null);
} }
@Hidden
@Operation(summary = "job test status", description = "job test status") @Operation(summary = "job test status", description = "job test status")
@GetMapping("/job-test/status") @GetMapping("/job-test/status")
public ApiResponseDto<Void> findGukYuinMastCompleteYn() { public ApiResponseDto<Void> findGukYuinMastCompleteYn() {
@@ -347,7 +344,6 @@ public class GukYuinApiController {
return ApiResponseDto.ok(null); return ApiResponseDto.ok(null);
} }
@Hidden
@Operation(summary = "job test label", description = "job test label") @Operation(summary = "job test label", description = "job test label")
@GetMapping("/job-test/label") @GetMapping("/job-test/label")
public ApiResponseDto<Void> findLabelingCompleteSend() { public ApiResponseDto<Void> findLabelingCompleteSend() {
@@ -355,7 +351,6 @@ public class GukYuinApiController {
return ApiResponseDto.ok(null); return ApiResponseDto.ok(null);
} }
@Hidden
@Operation(summary = "job test stblt", description = "job test stblt") @Operation(summary = "job test stblt", description = "job test stblt")
@GetMapping("/job-test/stblt") @GetMapping("/job-test/stblt")
public ApiResponseDto<Void> findGukYuinEligibleForSurvey() { public ApiResponseDto<Void> findGukYuinEligibleForSurvey() {

View File

@@ -124,7 +124,7 @@ public class ChngDetectContDto {
private Integer code; private Integer code;
private String message; private String message;
private DtoPnuDetectMpng result; private List<Boolean> result;
private Boolean success; private Boolean success;
} }

View File

@@ -456,16 +456,6 @@ public class GukYuinApiService {
Integer maxStage = Integer maxStage =
gukyuinCoreService.findMapSheetLearnYearStage(info.getCompareYyyy(), info.getTargetYyyy()); gukyuinCoreService.findMapSheetLearnYearStage(info.getCompareYyyy(), info.getTargetYyyy());
// 1회차를 종료 상태로 처리하고 2회차를 보내야 함
// 추론(learn), 학습데이터(inference) 둘 다 종료 처리
if (maxStage > 0) {
Long learnId =
gukyuinCoreService.findMapSheetLearnInfoByYyyy(
info.getCompareYyyy(), info.getTargetYyyy(), maxStage);
gukyuinCoreService.updateMapSheetLearnGukyuinEndStatus(learnId);
gukyuinCoreService.updateMapSheetInferenceLabelEndStatus(learnId);
}
// reqDto 셋팅 // reqDto 셋팅
ChnDetectMastReqDto reqDto = new ChnDetectMastReqDto(); ChnDetectMastReqDto reqDto = new ChnDetectMastReqDto();
reqDto.setCprsYr(String.valueOf(info.getCompareYyyy())); reqDto.setCprsYr(String.valueOf(info.getCompareYyyy()));
@@ -474,7 +464,7 @@ public class GukYuinApiService {
reqDto.setChnDtctId(info.getUid()); reqDto.setChnDtctId(info.getUid());
reqDto.setPathNm("/kamco-nfs/dataset/export/" + info.getUid()); reqDto.setPathNm("/kamco-nfs/dataset/export/" + info.getUid());
if (!Files.isDirectory(Path.of("/kamco-nfs/dataset/export/" + info.getUid()))) { if (Files.isDirectory(Path.of("/kamco-nfs/dataset/export/" + info.getUid()))) {
return new ResponseObj( return new ResponseObj(
ApiResponseCode.NOT_FOUND_DATA, "파일 경로에 회차 실행 파일이 생성되지 않았습니다. 확인 부탁드립니다."); ApiResponseCode.NOT_FOUND_DATA, "파일 경로에 회차 실행 파일이 생성되지 않았습니다. 확인 부탁드립니다.");
} }

View File

@@ -64,17 +64,4 @@ public class GukYuinCoreService {
public List<LabelSendDto> findLabelingCompleteSendList(LocalDate yesterday) { public List<LabelSendDto> findLabelingCompleteSendList(LocalDate yesterday) {
return gukYuinRepository.findLabelingCompleteSendList(yesterday); return gukYuinRepository.findLabelingCompleteSendList(yesterday);
} }
public Long findMapSheetLearnInfoByYyyy(
Integer compareYyyy, Integer targetYyyy, Integer maxStage) {
return gukYuinRepository.findMapSheetLearnInfoByYyyy(compareYyyy, targetYyyy, maxStage);
}
public void updateMapSheetLearnGukyuinEndStatus(Long learnId) {
gukYuinRepository.updateMapSheetLearnGukyuinEndStatus(learnId);
}
public void updateMapSheetInferenceLabelEndStatus(Long learnId) {
gukYuinRepository.updateMapSheetInferenceLabelEndStatus(learnId);
}
} }

View File

@@ -24,12 +24,10 @@ public class GukYuinStbltJobCoreService {
@Transactional @Transactional
public void updateGukYuinEligibleForSurvey(String resultUid, RlbDtctMastDto stbltDto) { public void updateGukYuinEligibleForSurvey(String resultUid, RlbDtctMastDto stbltDto) {
String chnDtctObjtId = "";
PnuEntity entity = PnuEntity entity =
gukYuinStbltRepository.findPnuEntityByResultUid(resultUid, stbltDto.getPnu()); gukYuinStbltRepository.findPnuEntityByResultUid(resultUid, stbltDto.getPnu());
if (entity != null) { if (entity != null) {
chnDtctObjtId = resultUid;
entity.setPnuDtctId(stbltDto.getPnuDtctId()); entity.setPnuDtctId(stbltDto.getPnuDtctId());
entity.setPnu(stbltDto.getPnu()); entity.setPnu(stbltDto.getPnu());
@@ -68,8 +66,6 @@ public class GukYuinStbltJobCoreService {
entity.setCreatedDttm(ZonedDateTime.now()); entity.setCreatedDttm(ZonedDateTime.now());
gukYuinStbltRepository.save(entity); gukYuinStbltRepository.save(entity);
//
} }
} }
} }

View File

@@ -53,9 +53,8 @@ public class GukYuinPnuJobRepositoryImpl implements GukYuinPnuJobRepositoryCusto
if (entity == null) { if (entity == null) {
queryFactory queryFactory
.insert(pnuEntity) .insert(pnuEntity)
.columns( .columns(pnuEntity.geo.geoUid, pnuEntity.pnu, pnuEntity.createdDttm)
pnuEntity.geo.geoUid, pnuEntity.pnu, pnuEntity.createdDttm, pnuEntity.chnDtctObjtId) .values(geoUid, pnu, ZonedDateTime.now())
.values(geoUid, pnu, ZonedDateTime.now(), chnDtctObjtId)
.execute(); .execute();
} }
} }

View File

@@ -39,10 +39,4 @@ public interface GukYuinRepositoryCustom {
void updateAnalDataInferenceGeomSendDttm(Long geoUid); void updateAnalDataInferenceGeomSendDttm(Long geoUid);
List<LabelSendDto> findLabelingCompleteSendList(LocalDate yesterday); List<LabelSendDto> findLabelingCompleteSendList(LocalDate yesterday);
Long findMapSheetLearnInfoByYyyy(Integer compareYyyy, Integer targetYyyy, Integer maxStage);
void updateMapSheetLearnGukyuinEndStatus(Long learnId);
void updateMapSheetInferenceLabelEndStatus(Long learnId);
} }

View File

@@ -13,7 +13,6 @@ import com.kamco.cd.kamcoback.gukyuin.dto.GukYuinDto.GeomUidDto;
import com.kamco.cd.kamcoback.gukyuin.dto.GukYuinDto.LearnInfo; import com.kamco.cd.kamcoback.gukyuin.dto.GukYuinDto.LearnInfo;
import com.kamco.cd.kamcoback.gukyuin.dto.GukYuinStatus; import com.kamco.cd.kamcoback.gukyuin.dto.GukYuinStatus;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.InspectState; import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.InspectState;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelMngState;
import com.kamco.cd.kamcoback.postgres.entity.PnuEntity; import com.kamco.cd.kamcoback.postgres.entity.PnuEntity;
import com.querydsl.core.types.Projections; import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.BooleanExpression; import com.querydsl.core.types.dsl.BooleanExpression;
@@ -205,7 +204,6 @@ public class GukYuinRepositoryImpl implements GukYuinRepositoryCustom {
.update(mapSheetAnalInferenceEntity) .update(mapSheetAnalInferenceEntity)
.set(mapSheetAnalInferenceEntity.gukyuinUsed, "Y") .set(mapSheetAnalInferenceEntity.gukyuinUsed, "Y")
.set(mapSheetAnalInferenceEntity.gukyuinApplyDttm, ZonedDateTime.now()) .set(mapSheetAnalInferenceEntity.gukyuinApplyDttm, ZonedDateTime.now())
.set(mapSheetAnalInferenceEntity.stage, Integer.parseInt(registRes.getChnDtctSno()))
.where(mapSheetAnalInferenceEntity.learnId.eq(learnId)) .where(mapSheetAnalInferenceEntity.learnId.eq(learnId))
.execute(); .execute();
} }
@@ -285,39 +283,6 @@ public class GukYuinRepositoryImpl implements GukYuinRepositoryCustom {
.fetch(); .fetch();
} }
@Override
public Long findMapSheetLearnInfoByYyyy(
Integer compareYyyy, Integer targetYyyy, Integer maxStage) {
return queryFactory
.select(mapSheetLearnEntity.id)
.from(mapSheetLearnEntity)
.where(
mapSheetLearnEntity.compareYyyy.eq(compareYyyy),
mapSheetLearnEntity.targetYyyy.eq(targetYyyy),
mapSheetLearnEntity.stage.eq(maxStage))
.fetchOne();
}
@Override
public void updateMapSheetLearnGukyuinEndStatus(Long learnId) {
queryFactory
.update(mapSheetLearnEntity)
.set(mapSheetLearnEntity.applyStatus, GukYuinStatus.END.getId())
.set(mapSheetLearnEntity.applyStatusDttm, ZonedDateTime.now())
.where(mapSheetLearnEntity.id.eq(learnId))
.execute();
}
@Override
public void updateMapSheetInferenceLabelEndStatus(Long learnId) {
queryFactory
.update(mapSheetAnalInferenceEntity)
.set(mapSheetAnalInferenceEntity.analState, LabelMngState.FINISH.getId())
.set(mapSheetAnalInferenceEntity.updatedDttm, ZonedDateTime.now())
.where(mapSheetAnalInferenceEntity.learnId.eq(learnId))
.execute();
}
@Override @Override
@Transactional @Transactional
public void updateGukYuinApplyStateComplete(Long id, GukYuinStatus status) { public void updateGukYuinApplyStateComplete(Long id, GukYuinStatus status) {

View File

@@ -46,7 +46,7 @@ public class GukYuinStbltJobRepositoryImpl implements GukYuinStbltJobRepositoryC
.on(mapSheetAnalDataInferenceEntity.id.eq(mapSheetAnalDataInferenceGeomEntity.dataUid)) .on(mapSheetAnalDataInferenceEntity.id.eq(mapSheetAnalDataInferenceGeomEntity.dataUid))
.where( .where(
mapSheetLearnEntity.applyStatus.eq(GukYuinStatus.PNU_COMPLETED.getId()), mapSheetLearnEntity.applyStatus.eq(GukYuinStatus.PNU_COMPLETED.getId()),
mapSheetAnalDataInferenceGeomEntity.pnu.gt(0), mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull(),
mapSheetAnalDataInferenceGeomEntity.fitState.isNull()) mapSheetAnalDataInferenceGeomEntity.fitState.isNull())
.groupBy(mapSheetLearnEntity.id, mapSheetLearnEntity.uid, mapSheetLearnEntity.chnDtctMstId) .groupBy(mapSheetLearnEntity.id, mapSheetLearnEntity.uid, mapSheetLearnEntity.chnDtctMstId)
.having(mapSheetAnalDataInferenceGeomEntity.geoUid.count().gt(1L)) .having(mapSheetAnalDataInferenceGeomEntity.geoUid.count().gt(1L))

View File

@@ -8,7 +8,6 @@ import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalDataInferenceG
import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalInferenceEntity.mapSheetAnalInferenceEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetAnalInferenceEntity.mapSheetAnalInferenceEntity;
import static com.kamco.cd.kamcoback.postgres.entity.QMemberEntity.memberEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMemberEntity.memberEntity;
import com.kamco.cd.kamcoback.common.enums.ImageryFitStatus;
import com.kamco.cd.kamcoback.common.enums.StatusType; import com.kamco.cd.kamcoback.common.enums.StatusType;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto; import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.AllocateInfoDto; import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.AllocateInfoDto;
@@ -83,9 +82,7 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
.innerJoin(mapSheetAnalDataInferenceGeomEntity) .innerJoin(mapSheetAnalDataInferenceGeomEntity)
.on( .on(
mapSheetAnalDataInferenceEntity.id.eq(mapSheetAnalDataInferenceGeomEntity.dataUid), mapSheetAnalDataInferenceEntity.id.eq(mapSheetAnalDataInferenceGeomEntity.dataUid),
// mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull(), mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull(),
mapSheetAnalDataInferenceGeomEntity.pnu.gt(0),
mapSheetAnalDataInferenceGeomEntity.fitState.eq(ImageryFitStatus.UNFIT.getId()),
mapSheetAnalDataInferenceGeomEntity.labelState.isNull()) mapSheetAnalDataInferenceGeomEntity.labelState.isNull())
.where( .where(
mapSheetAnalInferenceEntity.uuid.eq(uuid), mapSheetAnalInferenceEntity.uuid.eq(uuid),
@@ -192,9 +189,7 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
.innerJoin(mapSheetAnalDataInferenceGeomEntity) .innerJoin(mapSheetAnalDataInferenceGeomEntity)
.on( .on(
mapSheetAnalDataInferenceEntity.id.eq(mapSheetAnalDataInferenceGeomEntity.dataUid), mapSheetAnalDataInferenceEntity.id.eq(mapSheetAnalDataInferenceGeomEntity.dataUid),
// mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull(), mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull(),
mapSheetAnalDataInferenceGeomEntity.pnu.gt(0),
mapSheetAnalDataInferenceGeomEntity.fitState.eq(ImageryFitStatus.UNFIT.getId()),
mapSheetAnalDataInferenceGeomEntity.labelState.isNull()) mapSheetAnalDataInferenceGeomEntity.labelState.isNull())
.where(mapSheetAnalInferenceEntity.uuid.eq(uuid)) .where(mapSheetAnalInferenceEntity.uuid.eq(uuid))
.fetchOne(); .fetchOne();
@@ -385,10 +380,9 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
mapSheetAnalDataInferenceGeomEntity.compareYyyy.eq(analEntity.getCompareYyyy()), mapSheetAnalDataInferenceGeomEntity.compareYyyy.eq(analEntity.getCompareYyyy()),
mapSheetAnalDataInferenceGeomEntity.targetYyyy.eq(analEntity.getTargetYyyy()), mapSheetAnalDataInferenceGeomEntity.targetYyyy.eq(analEntity.getTargetYyyy()),
mapSheetAnalDataInferenceGeomEntity.stage.eq(analEntity.getStage()), mapSheetAnalDataInferenceGeomEntity.stage.eq(analEntity.getStage()),
// mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull() mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull()
mapSheetAnalDataInferenceGeomEntity.pnu.gt(0L), // mapSheetAnalDataInferenceGeomEntity.pnu.gt(0L)
mapSheetAnalDataInferenceGeomEntity.fitState.eq( // mapSheetAnalDataInferenceGeomEntity.passYn.isFalse() //TODO:
ImageryFitStatus.UNFIT.getId()) // TODO:
// 추후 라벨링 대상 조건 수정하기 // 추후 라벨링 대상 조건 수정하기
) )
.fetchOne(); .fetchOne();
@@ -560,9 +554,11 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
mapSheetAnalDataInferenceGeomEntity.dataUid)) mapSheetAnalDataInferenceGeomEntity.dataUid))
.where( .where(
mapSheetAnalInferenceEntity.uuid.eq(targetUuid), mapSheetAnalInferenceEntity.uuid.eq(targetUuid),
// mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull() mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull()
mapSheetAnalDataInferenceGeomEntity.pnu.gt(0L), // mapSheetAnalDataInferenceGeomEntity.pnu.gt(0L),
mapSheetAnalDataInferenceGeomEntity.fitState.eq(ImageryFitStatus.UNFIT.getId())) // mapSheetAnalDataInferenceGeomEntity.passYn.isFalse() //TODO: 추후 라벨링
// 대상 조건 수정하기
)
.fetchOne(); .fetchOne();
} }
@@ -579,7 +575,8 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
queryFactory queryFactory
.select(labelingAssignmentEntity.count()) .select(labelingAssignmentEntity.count())
.from(labelingAssignmentEntity) .from(labelingAssignmentEntity)
.where(analUidCondition, labelingAssignmentEntity.workState.in("SKIP", "DONE")) .where(
analUidCondition, labelingAssignmentEntity.workState.in("ASSIGNED", "SKIP", "DONE"))
.fetchOne(); .fetchOne();
Long skipCount = Long skipCount =
@@ -604,13 +601,6 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
.where(analUidCondition, labelingAssignmentEntity.inspectState.eq("COMPLETE")) .where(analUidCondition, labelingAssignmentEntity.inspectState.eq("COMPLETE"))
.fetchOne(); .fetchOne();
Long inspectionExcept =
queryFactory
.select(labelingAssignmentEntity.count())
.from(labelingAssignmentEntity)
.where(analUidCondition, labelingAssignmentEntity.inspectState.eq("EXCEPT"))
.fetchOne();
Long inspectorCount = Long inspectorCount =
queryFactory queryFactory
.select(labelingAssignmentEntity.inspectorUid.countDistinct()) .select(labelingAssignmentEntity.inspectorUid.countDistinct())
@@ -623,7 +613,6 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
long labelCompleted = labelingCompleted != null ? labelingCompleted : 0L; long labelCompleted = labelingCompleted != null ? labelingCompleted : 0L;
long inspectCompleted = inspectionCompleted != null ? inspectionCompleted : 0L; long inspectCompleted = inspectionCompleted != null ? inspectionCompleted : 0L;
long skipped = skipCount != null ? skipCount : 0L; long skipped = skipCount != null ? skipCount : 0L;
long inspectExcepted = inspectionExcept != null ? inspectionExcept : 0L;
long labelingRemaining = labelingTotal - labelCompleted - skipped; long labelingRemaining = labelingTotal - labelCompleted - skipped;
if (labelingRemaining < 0) { if (labelingRemaining < 0) {
@@ -631,7 +620,7 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
} }
long inspectionTotal = labelingTotal; long inspectionTotal = labelingTotal;
long inspectionRemaining = inspectionTotal - inspectCompleted - inspectExcepted; long inspectionRemaining = inspectionTotal - inspectCompleted - skipped;
if (inspectionRemaining < 0) { if (inspectionRemaining < 0) {
inspectionRemaining = 0; inspectionRemaining = 0;
} }
@@ -668,7 +657,7 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
.inspectionStatus(inspectionStatus) .inspectionStatus(inspectionStatus)
.inspectionTotalCount(inspectionTotal) .inspectionTotalCount(inspectionTotal)
.inspectionCompletedCount(inspectCompleted) .inspectionCompletedCount(inspectCompleted)
.inspectionSkipCount(inspectExcepted) .inspectionSkipCount(skipped) // TODO
.inspectionRemainingCount(inspectionRemaining) .inspectionRemainingCount(inspectionRemaining)
.inspectorCount(inspectorCount != null ? inspectorCount : 0L) .inspectorCount(inspectorCount != null ? inspectorCount : 0L)
.progressRate(labelingRate) .progressRate(labelingRate)
@@ -750,9 +739,11 @@ public class LabelAllocateRepositoryImpl implements LabelAllocateRepositoryCusto
mapSheetAnalInferenceEntity.targetYyyy.eq( mapSheetAnalInferenceEntity.targetYyyy.eq(
mapSheetAnalDataInferenceGeomEntity.targetYyyy), mapSheetAnalDataInferenceGeomEntity.targetYyyy),
mapSheetAnalInferenceEntity.stage.eq(mapSheetAnalDataInferenceGeomEntity.stage), mapSheetAnalInferenceEntity.stage.eq(mapSheetAnalDataInferenceGeomEntity.stage),
// mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull() mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull()
mapSheetAnalDataInferenceGeomEntity.pnu.gt(0), // mapSheetAnalDataInferenceGeomEntity.pnu.gt(0),
mapSheetAnalDataInferenceGeomEntity.fitState.eq(ImageryFitStatus.UNFIT.getId())) // mapSheetAnalDataInferenceGeomEntity.passYn.isFalse() //TODO: 추후 라벨링 대상 조건
// 수정하기
)
.where(mapSheetAnalInferenceEntity.id.eq(analEntity.getId())) .where(mapSheetAnalInferenceEntity.id.eq(analEntity.getId()))
.groupBy( .groupBy(
mapSheetAnalInferenceEntity.analTitle, mapSheetAnalInferenceEntity.analTitle,

View File

@@ -2,7 +2,6 @@ package com.kamco.cd.kamcoback.postgres.repository.label;
import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity.mapSheetLearnEntity; import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetLearnEntity.mapSheetLearnEntity;
import com.kamco.cd.kamcoback.common.enums.ImageryFitStatus;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.InspectState; import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.InspectState;
import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelState; import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto.LabelState;
import com.kamco.cd.kamcoback.label.dto.LabelWorkDto; import com.kamco.cd.kamcoback.label.dto.LabelWorkDto;
@@ -295,14 +294,14 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
if (searchReq.getSearchVal() != null && !searchReq.getSearchVal().isEmpty()) { if (searchReq.getSearchVal() != null && !searchReq.getSearchVal().isEmpty()) {
whereSubBuilder.and( whereSubBuilder.and(
Expressions.stringTemplate("{0}", memberEntity.employeeNo) Expressions.stringTemplate("{0}", memberEntity.userId)
.likeIgnoreCase("%" + searchReq.getSearchVal() + "%") .likeIgnoreCase("%" + searchReq.getSearchVal() + "%")
.or( .or(
Expressions.stringTemplate("{0}", memberEntity.name) Expressions.stringTemplate("{0}", memberEntity.name)
.likeIgnoreCase("%" + searchReq.getSearchVal() + "%"))); .likeIgnoreCase("%" + searchReq.getSearchVal() + "%")));
} }
whereSubBuilder.and(labelingAssignmentEntity.workerUid.eq(memberEntity.employeeNo)); whereSubBuilder.and(labelingAssignmentEntity.workerUid.eq(memberEntity.userId));
// 공통 조건 추출 // 공통 조건 추출
BooleanExpression doneStateCondition = BooleanExpression doneStateCondition =
@@ -345,7 +344,7 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
WorkerState.class, WorkerState.class,
memberEntity.userRole, memberEntity.userRole,
memberEntity.name, memberEntity.name,
memberEntity.employeeNo, memberEntity.userId,
assignedCnt.as("assignedCnt"), assignedCnt.as("assignedCnt"),
doneCnt.as("doneCnt"), doneCnt.as("doneCnt"),
skipCnt.as("skipCnt"), skipCnt.as("skipCnt"),
@@ -364,10 +363,7 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
.on(whereSubBuilder) .on(whereSubBuilder)
.where(whereBuilder) .where(whereBuilder)
.groupBy( .groupBy(
memberEntity.userRole, memberEntity.userRole, memberEntity.name, memberEntity.userId, memberEntity.status)
memberEntity.name,
memberEntity.employeeNo,
memberEntity.status)
.orderBy(orderSpecifiers.toArray(new OrderSpecifier[0])) .orderBy(orderSpecifiers.toArray(new OrderSpecifier[0]))
.offset(pageable.getOffset()) .offset(pageable.getOffset())
.limit(pageable.getPageSize()) .limit(pageable.getPageSize())
@@ -445,14 +441,14 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
if (searchReq.getSearchVal() != null && !searchReq.getSearchVal().isEmpty()) { if (searchReq.getSearchVal() != null && !searchReq.getSearchVal().isEmpty()) {
whereSubBuilder.and( whereSubBuilder.and(
Expressions.stringTemplate("{0}", memberEntity.employeeNo) Expressions.stringTemplate("{0}", memberEntity.userId)
.likeIgnoreCase("%" + searchReq.getSearchVal() + "%") .likeIgnoreCase("%" + searchReq.getSearchVal() + "%")
.or( .or(
Expressions.stringTemplate("{0}", memberEntity.name) Expressions.stringTemplate("{0}", memberEntity.name)
.likeIgnoreCase("%" + searchReq.getSearchVal() + "%"))); .likeIgnoreCase("%" + searchReq.getSearchVal() + "%")));
} }
whereSubBuilder.and(labelingAssignmentEntity.inspectorUid.eq(memberEntity.employeeNo)); whereSubBuilder.and(labelingAssignmentEntity.inspectorUid.eq(memberEntity.userId));
// 공통 조건 추출 // 공통 조건 추출
BooleanExpression doneStateCondition = BooleanExpression doneStateCondition =
@@ -496,7 +492,7 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
WorkerState.class, WorkerState.class,
memberEntity.userRole, memberEntity.userRole,
memberEntity.name, memberEntity.name,
memberEntity.employeeNo, memberEntity.userId,
assignedCnt.as("assignedCnt"), assignedCnt.as("assignedCnt"),
doneCnt.as("doneCnt"), doneCnt.as("doneCnt"),
skipCnt.as("skipCnt"), skipCnt.as("skipCnt"),
@@ -515,10 +511,7 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
.on(whereSubBuilder) .on(whereSubBuilder)
.where(whereBuilder) .where(whereBuilder)
.groupBy( .groupBy(
memberEntity.userRole, memberEntity.userRole, memberEntity.name, memberEntity.userId, memberEntity.status)
memberEntity.name,
memberEntity.employeeNo,
memberEntity.status)
.orderBy(orderSpecifiers.toArray(new OrderSpecifier[0])) .orderBy(orderSpecifiers.toArray(new OrderSpecifier[0]))
.offset(pageable.getOffset()) .offset(pageable.getOffset())
.limit(pageable.getPageSize()) .limit(pageable.getPageSize())
@@ -558,14 +551,7 @@ public class LabelWorkRepositoryImpl implements LabelWorkRepositoryCustom {
NumberExpression<Long> labelTotCnt = NumberExpression<Long> labelTotCnt =
new CaseBuilder() new CaseBuilder()
// .when(mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull()) .when(mapSheetAnalDataInferenceGeomEntity.pnu.isNotNull())
.when(
mapSheetAnalDataInferenceGeomEntity
.pnu
.gt(0)
.and(
mapSheetAnalDataInferenceGeomEntity.fitState.eq(
ImageryFitStatus.UNFIT.getId())))
.then(1L) .then(1L)
.otherwise(0L) .otherwise(0L)
.sum(); .sum();

View File

@@ -8,7 +8,6 @@ import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Log4j2 @Log4j2
@@ -32,11 +31,11 @@ public class GukYuinApiLabelJobService {
} }
/** 어제 라벨링 검수 완료된 것 -> 국유인에 전송 */ /** 어제 라벨링 검수 완료된 것 -> 국유인에 전송 */
@Scheduled(cron = "0 0 2 * * *") // @Scheduled(cron = "0 0 2 * * *")
public void findLabelingCompleteSend() { public void findLabelingCompleteSend() {
if (isLocalProfile()) { // if (isLocalProfile()) {
return; // return;
} // }
List<GeomUidDto> list = gukYuinLabelJobCoreService.findYesterdayLabelingCompleteList(); List<GeomUidDto> list = gukYuinLabelJobCoreService.findYesterdayLabelingCompleteList();
if (list.isEmpty()) { if (list.isEmpty()) {

View File

@@ -12,7 +12,6 @@ import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Log4j2 @Log4j2
@@ -36,11 +35,11 @@ public class GukYuinApiPnuJobService {
} }
/** 국유인 등록 완료 후, 탐지객체 조회해서 PNU 업데이트 하는 스케줄링 하루 1번 새벽 1시에 실행 */ /** 국유인 등록 완료 후, 탐지객체 조회해서 PNU 업데이트 하는 스케줄링 하루 1번 새벽 1시에 실행 */
@Scheduled(cron = "0 0 1 * * *") // @Scheduled(cron = "0 0/10 * * * *") // 0 0 1 * * *
public void findGukYuinContListPnuUpdate() { public void findGukYuinContListPnuUpdate() {
if (isLocalProfile()) { // if (isLocalProfile()) {
return; // return;
} // }
List<LearnKeyDto> list = List<LearnKeyDto> list =
gukYuinPnuJobCoreService.findGukyuinApplyStatusUidList( gukYuinPnuJobCoreService.findGukyuinApplyStatusUidList(

View File

@@ -9,7 +9,6 @@ import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Log4j2 @Log4j2
@@ -33,11 +32,11 @@ public class GukYuinApiStatusJobService {
} }
/** 국유인 연동 후, 100% 되었는지 확인하는 스케줄링 매 10분마다 호출 */ /** 국유인 연동 후, 100% 되었는지 확인하는 스케줄링 매 10분마다 호출 */
@Scheduled(cron = "0 0/10 * * * *") // @Scheduled(cron = "0 0/10 * * * *") // 0 0/10 * * * *
public void findGukYuinMastCompleteYn() { public void findGukYuinMastCompleteYn() {
if (isLocalProfile()) { // if (isLocalProfile()) {
return; // return;
} // }
List<LearnKeyDto> list = List<LearnKeyDto> list =
gukYuinJobCoreService.findGukyuinApplyStatusUidList( gukYuinJobCoreService.findGukyuinApplyStatusUidList(

View File

@@ -13,7 +13,6 @@ import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@Log4j2 @Log4j2
@@ -37,11 +36,11 @@ public class GukYuinApiStbltJobService {
} }
/** 국유인 연동 후, 실태조사 적합여부 확인하여 update */ /** 국유인 연동 후, 실태조사 적합여부 확인하여 update */
@Scheduled(cron = "0 0 3 * * *") // 0 0 3 * * * // @Scheduled(cron = "0 * * * * *") // 0 0 3 * * *
public void findGukYuinEligibleForSurvey() { public void findGukYuinEligibleForSurvey() {
if (isLocalProfile()) { // if (isLocalProfile()) {
return; // return;
} // }
List<LearnKeyDto> list = List<LearnKeyDto> list =
gukYuinStbltJobCoreService.findGukYuinEligibleForSurveyList( gukYuinStbltJobCoreService.findGukYuinEligibleForSurveyList(
@@ -52,11 +51,12 @@ public class GukYuinApiStbltJobService {
for (LearnKeyDto dto : list) { for (LearnKeyDto dto : list) {
try { try {
String yesterday = String today =
LocalDate.now(ZoneId.of("Asia/Seoul")) LocalDate.now(ZoneId.of("Asia/Seoul")).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
.minusDays(1) // String yesterday =
.format(DateTimeFormatter.ofPattern("yyyyMMdd")); // LocalDate.now(ZoneId.of("Asia/Seoul")).minusDays(1).format(DateTimeFormatter.ofPattern("yyyyMMdd"));
RlbDtctDto result = gukYuinApiService.findRlbDtctList(dto.getUid(), yesterday); RlbDtctDto result =
gukYuinApiService.findRlbDtctList(dto.getUid(), today); // todo : test 다 끝내고 어제로 바꿔야 함
if (result == null || result.getResult() == null || result.getResult().isEmpty()) { if (result == null || result.getResult() == null || result.getResult().isEmpty()) {
log.warn("[GUKYUIN] empty result chnDtctMstId={}", dto.getChnDtctMstId()); log.warn("[GUKYUIN] empty result chnDtctMstId={}", dto.getChnDtctMstId());
@@ -67,7 +67,6 @@ public class GukYuinApiStbltJobService {
String resultUid = stbltDto.getChnDtctObjtId(); String resultUid = stbltDto.getChnDtctObjtId();
gukYuinStbltJobCoreService.updateGukYuinEligibleForSurvey(resultUid, stbltDto); gukYuinStbltJobCoreService.updateGukYuinEligibleForSurvey(resultUid, stbltDto);
} }
} catch (Exception e) { } catch (Exception e) {
log.error("[GUKYUIN] failed uid={}", dto.getChnDtctMstId(), e); log.error("[GUKYUIN] failed uid={}", dto.getChnDtctMstId(), e);
} }