영상관리파일싱크 추가

This commit is contained in:
Moon
2025-12-16 09:24:31 +09:00
parent ddb24dfaa8
commit bfcaa5e586
11 changed files with 240 additions and 275 deletions

View File

@@ -1,25 +1,12 @@
package com.kamco.cd.kamcoback.postgres.core;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngFileEntity;
import com.kamco.cd.kamcoback.postgres.repository.scheduler.MapSheetMngFileJobRepository;
import com.kamco.cd.kamcoback.scheduler.dto.MapSheetMngDto;
import com.kamco.cd.kamcoback.scheduler.dto.MapSheetMngDto.MngHstDto;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngEntity;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity;
import com.kamco.cd.kamcoback.postgres.repository.scheduler.MapSheetMngFileJobRepository;
import jakarta.persistence.EntityNotFoundException;
import jakarta.validation.Valid;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.domain.Page;
import org.springframework.stereotype.Service;
@@ -30,7 +17,7 @@ public class MapSheetMngFileJobCoreService {
private final MapSheetMngFileJobRepository mapSheetMngFileJobRepository;
public Page<MapSheetMngDto.MngDto> findMapSheetMngList(
MapSheetMngDto.@Valid MngSearchReq searchReq) {
MapSheetMngDto.@Valid MngSearchReq searchReq) {
return mapSheetMngFileJobRepository.findMapSheetMngList(searchReq);
}
@@ -38,14 +25,14 @@ public class MapSheetMngFileJobCoreService {
return mapSheetMngFileJobRepository.findTargetMapSheetFileList(targetNum, pageSize);
}
public MapSheetMngDto.DmlReturn mngHstDataSyncStateUpdate(@Valid MapSheetMngDto.MngHstDto updateReq) {
public MapSheetMngDto.DmlReturn mngHstDataSyncStateUpdate(
@Valid MapSheetMngDto.MngHstDto updateReq) {
mapSheetMngFileJobRepository.mngHstDataSyncStateUpdate(updateReq);
return new MapSheetMngDto.DmlReturn("success", updateReq.getHstUid()+"");
return new MapSheetMngDto.DmlReturn("success", updateReq.getHstUid() + "");
}
public MapSheetMngDto.DmlReturn mngFileSave(@Valid MapSheetMngDto.MngFileAddReq addReq) {
MapSheetMngFileEntity entity = new MapSheetMngFileEntity();
@@ -60,9 +47,8 @@ public class MapSheetMngFileJobCoreService {
entity.setFileState(addReq.getFileState());
MapSheetMngFileEntity saved = mapSheetMngFileJobRepository.save(entity);
//int hstCnt = mapSheetMngRepository.insertMapSheetOrgDataToMapSheetMngHst(saved.getMngYyyy());
// int hstCnt = mapSheetMngRepository.insertMapSheetOrgDataToMapSheetMngHst(saved.getMngYyyy());
return new MapSheetMngDto.DmlReturn("success", saved.getFileUid().toString());
}
}

View File

@@ -50,4 +50,9 @@ public class MapSheetMngFileEntity {
@Column(name = "file_size")
private Long fileSize;
@Size(max = 20)
@Column(name = "file_state", length = 20)
private String fileState;
}

View File

@@ -1,8 +1,6 @@
package com.kamco.cd.kamcoback.postgres.repository.scheduler;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngEntity;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngFileEntity;
import com.kamco.cd.kamcoback.postgres.repository.mapsheet.MapSheetMngRepositoryCustom;
import org.springframework.data.jpa.repository.JpaRepository;
public interface MapSheetMngFileJobRepository

View File

@@ -2,10 +2,7 @@ package com.kamco.cd.kamcoback.postgres.repository.scheduler;
import com.kamco.cd.kamcoback.scheduler.dto.MapSheetMngDto;
import com.kamco.cd.kamcoback.scheduler.dto.MapSheetMngDto.MngHstDto;
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity;
import jakarta.validation.Valid;
import java.util.List;
import java.util.Optional;
import org.springframework.data.domain.Page;
public interface MapSheetMngFileJobRepositoryCustom {
@@ -15,6 +12,4 @@ public interface MapSheetMngFileJobRepositoryCustom {
void mngHstDataSyncStateUpdate(MapSheetMngDto.MngHstDto updateReq);
List<MngHstDto> findTargetMapSheetFileList(long targetNum, int pageSize);
}

View File

@@ -106,72 +106,63 @@ public class MapSheetMngFileJobRepositoryImpl extends QuerydslRepositorySupport
return new PageImpl<>(foundContent, pageable, countQuery);
}
public void mngHstDataSyncStateUpdate(MapSheetMngDto.MngHstDto updateReq) {
if( updateReq.getSyncState().equals("DONE") ) {
if (updateReq.getSyncState().equals("DONE")) {
long updateCount =
queryFactory
.update(mapSheetMngHstEntity)
.set(mapSheetMngHstEntity.dataState, updateReq.getDataState())
.set(mapSheetMngHstEntity.dataStateDttm, ZonedDateTime.now())
.set(mapSheetMngHstEntity.syncState, updateReq.getSyncState())
.set(mapSheetMngHstEntity.syncEndDttm, ZonedDateTime.now())
.where(mapSheetMngHstEntity.hstUid.eq(updateReq.getHstUid()))
.execute();
}
else {
queryFactory
.update(mapSheetMngHstEntity)
.set(mapSheetMngHstEntity.dataState, updateReq.getDataState())
.set(mapSheetMngHstEntity.dataStateDttm, ZonedDateTime.now())
.set(mapSheetMngHstEntity.syncState, updateReq.getSyncState())
.set(mapSheetMngHstEntity.syncEndDttm, ZonedDateTime.now())
.where(mapSheetMngHstEntity.hstUid.eq(updateReq.getHstUid()))
.execute();
} else {
long updateCount =
queryFactory
.update(mapSheetMngHstEntity)
.set(mapSheetMngHstEntity.dataState, updateReq.getDataState())
.set(mapSheetMngHstEntity.dataStateDttm, ZonedDateTime.now())
.set(mapSheetMngHstEntity.syncState, updateReq.getSyncState())
.set(mapSheetMngHstEntity.syncStrtDttm, ZonedDateTime.now())
.set(mapSheetMngHstEntity.syncEndDttm, ZonedDateTime.now())
.where(mapSheetMngHstEntity.hstUid.eq(updateReq.getHstUid()))
.execute();
queryFactory
.update(mapSheetMngHstEntity)
.set(mapSheetMngHstEntity.dataState, updateReq.getDataState())
.set(mapSheetMngHstEntity.dataStateDttm, ZonedDateTime.now())
.set(mapSheetMngHstEntity.syncState, updateReq.getSyncState())
.set(mapSheetMngHstEntity.syncStrtDttm, ZonedDateTime.now())
.set(mapSheetMngHstEntity.syncEndDttm, ZonedDateTime.now())
.where(mapSheetMngHstEntity.hstUid.eq(updateReq.getHstUid()))
.execute();
}
}
@Override
public List<MngHstDto> findTargetMapSheetFileList(long targetNum, int pageSize)
{
//Pageable pageable = searchReq.toPageable();
public List<MngHstDto> findTargetMapSheetFileList(long targetNum, int pageSize) {
// Pageable pageable = searchReq.toPageable();
List<MngHstDto> foundContent =
queryFactory
.select(
Projections.constructor(
MngHstDto.class,
mapSheetMngHstEntity.hstUid,
mapSheetMngHstEntity.mngYyyy,
mapSheetMngHstEntity.mapSheetNum,
mapSheetMngHstEntity.refMapSheetNum,
mapSheetMngHstEntity.dataState,
mapSheetMngHstEntity.syncState,
mapSheetMngHstEntity.syncCheckState,
mapSheetMngHstEntity.syncStrtDttm,
mapSheetMngHstEntity.syncEndDttm,
mapSheetMngHstEntity.syncCheckStrtDttm,
mapSheetMngHstEntity.syncCheckEndDttm,
mapSheetMngEntity.mngPath
))
.from(mapSheetMngHstEntity)
.join(mapSheetMngEntity).on(mapSheetMngEntity.mngYyyy.eq(mapSheetMngHstEntity.mngYyyy))
.where(
mapSheetMngHstEntity.syncState.eq("NOTYET"),
mapSheetMngHstEntity.hstUid.mod(10L).eq(targetNum)
).limit(pageSize)
.orderBy(mapSheetMngHstEntity.hstUid.asc())
.fetch();
queryFactory
.select(
Projections.constructor(
MngHstDto.class,
mapSheetMngHstEntity.hstUid,
mapSheetMngHstEntity.mngYyyy,
mapSheetMngHstEntity.mapSheetNum,
mapSheetMngHstEntity.refMapSheetNum,
mapSheetMngHstEntity.dataState,
mapSheetMngHstEntity.syncState,
mapSheetMngHstEntity.syncCheckState,
mapSheetMngHstEntity.syncStrtDttm,
mapSheetMngHstEntity.syncEndDttm,
mapSheetMngHstEntity.syncCheckStrtDttm,
mapSheetMngHstEntity.syncCheckEndDttm,
mapSheetMngEntity.mngPath))
.from(mapSheetMngHstEntity)
.join(mapSheetMngEntity)
.on(mapSheetMngEntity.mngYyyy.eq(mapSheetMngHstEntity.mngYyyy))
.where(
mapSheetMngHstEntity.syncState.eq("NOTYET"),
mapSheetMngHstEntity.hstUid.mod(10L).eq(targetNum))
.limit(pageSize)
.orderBy(mapSheetMngHstEntity.hstUid.asc())
.fetch();
return foundContent;
}
}