Merge branch 'dev_movements' into develop

This commit is contained in:
hyojin kim 2026-01-21 14:36:14 +09:00
커밋 3cbc2d2e94
11개의 변경된 파일75개의 추가작업 그리고 47개의 파일을 삭제

파일 보기

@ -2,7 +2,7 @@ package com.snp.batch.jobs.movement.batch.config;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.snp.batch.common.batch.config.BaseJobConfig; import com.snp.batch.common.batch.config.BaseJobConfig;
import com.snp.batch.jobs.movement.batch.entiity.BerthCallsEntity; import com.snp.batch.jobs.movement.batch.entity.BerthCallsEntity;
import com.snp.batch.jobs.movement.batch.processor.BerthCallsProcessor; import com.snp.batch.jobs.movement.batch.processor.BerthCallsProcessor;
import com.snp.batch.jobs.movement.batch.writer.BerthCallsWriter; import com.snp.batch.jobs.movement.batch.writer.BerthCallsWriter;
import com.snp.batch.jobs.movement.batch.dto.BerthCallsDto; import com.snp.batch.jobs.movement.batch.dto.BerthCallsDto;

파일 보기

@ -2,7 +2,7 @@ package com.snp.batch.jobs.movement.batch.config;
import com.snp.batch.common.batch.config.BaseMultiStepJobConfig; import com.snp.batch.common.batch.config.BaseMultiStepJobConfig;
import com.snp.batch.jobs.movement.batch.dto.BerthCallsDto; import com.snp.batch.jobs.movement.batch.dto.BerthCallsDto;
import com.snp.batch.jobs.movement.batch.entiity.BerthCallsEntity; import com.snp.batch.jobs.movement.batch.entity.BerthCallsEntity;
import com.snp.batch.jobs.movement.batch.processor.BerthCallsProcessor; import com.snp.batch.jobs.movement.batch.processor.BerthCallsProcessor;
import com.snp.batch.jobs.movement.batch.reader.BerthCallsRangeReader; import com.snp.batch.jobs.movement.batch.reader.BerthCallsRangeReader;
import com.snp.batch.jobs.movement.batch.writer.BerthCallsWriter; import com.snp.batch.jobs.movement.batch.writer.BerthCallsWriter;

파일 보기

@ -1,5 +1,6 @@
package com.snp.batch.jobs.movement.batch.dto; package com.snp.batch.jobs.movement.batch.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
@Data @Data
@ -29,4 +30,14 @@ public class TerminalCallsDto {
private Integer parentCallId; private Integer parentCallId;
private String iso2; private String iso2;
private String eventStartDate; private String eventStartDate;
@JsonProperty("subFacilityId")
private Integer subFacilityId;
@JsonProperty("subFacilityName")
private String subFacilityName;
@JsonProperty("subFacilityType")
private String subFacilityType;
} }

파일 보기

@ -1,4 +1,4 @@
package com.snp.batch.jobs.movement.batch.entiity; package com.snp.batch.jobs.movement.batch.entity;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import jakarta.persistence.GeneratedValue; import jakarta.persistence.GeneratedValue;

파일 보기

@ -1,5 +1,6 @@
package com.snp.batch.jobs.movement.batch.entity; package com.snp.batch.jobs.movement.batch.entity;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Data; import lombok.Data;
@ -40,4 +41,8 @@ public class TerminalCallsEntity {
private Integer parentCallId; private Integer parentCallId;
private String iso2; private String iso2;
private LocalDateTime eventStartDate; private LocalDateTime eventStartDate;
private Integer subFacilityId;
private String subFacilityName;
private String subFacilityType;
} }

파일 보기

@ -4,7 +4,7 @@ import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.snp.batch.common.batch.processor.BaseProcessor; import com.snp.batch.common.batch.processor.BaseProcessor;
import com.snp.batch.jobs.movement.batch.dto.BerthCallsDto; import com.snp.batch.jobs.movement.batch.dto.BerthCallsDto;
import com.snp.batch.jobs.movement.batch.entiity.BerthCallsEntity; import com.snp.batch.jobs.movement.batch.entity.BerthCallsEntity;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;

파일 보기

@ -60,6 +60,9 @@ public class TerminalCallsProcessor extends BaseProcessor<TerminalCallsDto, Term
.parentCallId(dto.getParentCallId()) .parentCallId(dto.getParentCallId())
.iso2(dto.getIso2()) .iso2(dto.getIso2())
.eventStartDate(LocalDateTime.parse(dto.getEventStartDate())) .eventStartDate(LocalDateTime.parse(dto.getEventStartDate()))
.subFacilityId(dto.getSubFacilityId())
.subFacilityName(dto.getSubFacilityName())
.subFacilityType(dto.getSubFacilityType())
.build(); .build();
return entity; return entity;

파일 보기

@ -1,6 +1,6 @@
package com.snp.batch.jobs.movement.batch.repository; package com.snp.batch.jobs.movement.batch.repository;
import com.snp.batch.jobs.movement.batch.entiity.BerthCallsEntity; import com.snp.batch.jobs.movement.batch.entity.BerthCallsEntity;
import java.util.List; import java.util.List;

파일 보기

@ -3,7 +3,7 @@ package com.snp.batch.jobs.movement.batch.repository;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import com.snp.batch.common.batch.repository.BaseJdbcRepository; import com.snp.batch.common.batch.repository.BaseJdbcRepository;
import com.snp.batch.jobs.movement.batch.entiity.BerthCallsEntity; import com.snp.batch.jobs.movement.batch.entity.BerthCallsEntity;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper; import org.springframework.jdbc.core.RowMapper;

파일 보기

@ -46,46 +46,52 @@ public class TerminalCallsRepositoryImpl extends BaseJdbcRepository<TerminalCall
// return """ // return """
// INSERT INTO snp_data.t_terminalcall( // INSERT INTO snp_data.t_terminalcall(
return """ return """
INSERT INTO new_snp.t_terminalcall( INSERT INTO new_snp.t_terminalcall(
imo, imo,
mvmn_type, mvmn_type,
mvmn_dt, mvmn_dt,
fclty_id, fclty_id,
fclty_nm, fclty_nm,
fclty_type, fclty_type,
up_fclty_id, up_fclty_id,
up_fclty_nm, up_fclty_nm,
up_fclty_type, up_fclty_type,
ntn_cd, ntn_cd,
ntn_nm, ntn_nm,
draft, draft,
lat, lat,
lon, lon,
prnt_call_id, prnt_call_id,
iso2_ntn_cd, iso2_ntn_cd,
evt_start_dt, evt_start_dt,
lcinfo lcinfo,
) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) sub_fclty_id,
ON CONFLICT (imo, mvmn_type, mvmn_dt) sub_fclty_nm,
DO UPDATE SET sub_fclty_type
mvmn_type = EXCLUDED.mvmn_type, ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
mvmn_dt = EXCLUDED.mvmn_dt, ON CONFLICT (imo, mvmn_type, mvmn_dt)
fclty_id = EXCLUDED.fclty_id, DO UPDATE SET
fclty_nm = EXCLUDED.fclty_nm, mvmn_type = EXCLUDED.mvmn_type,
fclty_type = EXCLUDED.fclty_type, mvmn_dt = EXCLUDED.mvmn_dt,
up_fclty_id = EXCLUDED.up_fclty_id, fclty_id = EXCLUDED.fclty_id,
up_fclty_nm = EXCLUDED.up_fclty_nm, fclty_nm = EXCLUDED.fclty_nm,
up_fclty_type = EXCLUDED.up_fclty_type, fclty_type = EXCLUDED.fclty_type,
ntn_cd = EXCLUDED.ntn_cd, up_fclty_id = EXCLUDED.up_fclty_id,
ntn_nm = EXCLUDED.ntn_nm, up_fclty_nm = EXCLUDED.up_fclty_nm,
draft = EXCLUDED.draft, up_fclty_type = EXCLUDED.up_fclty_type,
lat = EXCLUDED.lat, ntn_cd = EXCLUDED.ntn_cd,
lon = EXCLUDED.lon, ntn_nm = EXCLUDED.ntn_nm,
prnt_call_id = EXCLUDED.prnt_call_id, draft = EXCLUDED.draft,
iso2_ntn_cd = EXCLUDED.iso2_ntn_cd, lat = EXCLUDED.lat,
evt_start_dt = EXCLUDED.evt_start_dt, lon = EXCLUDED.lon,
lcinfo = EXCLUDED.lcinfo prnt_call_id = EXCLUDED.prnt_call_id,
"""; iso2_ntn_cd = EXCLUDED.iso2_ntn_cd,
evt_start_dt = EXCLUDED.evt_start_dt,
lcinfo = EXCLUDED.lcinfo,
sub_fclty_id = EXCLUDED.sub_fclty_id,
sub_fclty_nm = EXCLUDED.sub_fclty_nm,
sub_fclty_type = EXCLUDED.sub_fclty_type
""";
} }
@Override @Override
@ -119,6 +125,9 @@ public class TerminalCallsRepositoryImpl extends BaseJdbcRepository<TerminalCall
} else { } else {
ps.setNull(i++, java.sql.Types.OTHER); ps.setNull(i++, java.sql.Types.OTHER);
} }
ps.setObject(i++, e.getSubFacilityId());
ps.setString(i++, e.getSubFacilityName());
ps.setString(i++, e.getSubFacilityType());
} }
private void setDoubleOrNull(PreparedStatement ps, int index, Double value) throws Exception { private void setDoubleOrNull(PreparedStatement ps, int index, Double value) throws Exception {

파일 보기

@ -2,7 +2,7 @@ package com.snp.batch.jobs.movement.batch.writer;
import com.snp.batch.common.batch.writer.BaseWriter; import com.snp.batch.common.batch.writer.BaseWriter;
import com.snp.batch.jobs.movement.batch.repository.BerthCallsRepository; import com.snp.batch.jobs.movement.batch.repository.BerthCallsRepository;
import com.snp.batch.jobs.movement.batch.entiity.BerthCallsEntity; import com.snp.batch.jobs.movement.batch.entity.BerthCallsEntity;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;