영상관리 파일 업로드 수정

This commit is contained in:
2025-12-19 14:03:38 +09:00
parent 898ad926d0
commit c621b31f76
15 changed files with 205 additions and 69 deletions

View File

@@ -246,18 +246,20 @@ public class MapSheetMngCoreService {
public MapSheetMngDto.DmlReturn updateByHstUidSyncCheckState(Long hstUid) {
MapSheetMngDto.SyncCheckStateReqUpdateDto reqDto = new MapSheetMngDto.SyncCheckStateReqUpdateDto();
MapSheetMngDto.SyncCheckStateReqUpdateDto reqDto =
new MapSheetMngDto.SyncCheckStateReqUpdateDto();
reqDto.setHstUid(hstUid);
List<MapSheetMngDto.MngFilesDto> filesDto = mapSheetMngRepository.findHstUidToMapSheetFileList(hstUid);
List<MapSheetMngDto.MngFilesDto> filesDto =
mapSheetMngRepository.findHstUidToMapSheetFileList(hstUid);
for (MapSheetMngDto.MngFilesDto dto : filesDto) {
if( dto.getFileExt().equals("tif"))reqDto.setSyncCheckTifFileName(dto.getFileName());
else if( dto.getFileExt().equals("tfw"))reqDto.setSyncCheckTfwFileName(dto.getFileName());
if (dto.getFileExt().equals("tif")) reqDto.setSyncCheckTifFileName(dto.getFileName());
else if (dto.getFileExt().equals("tfw")) reqDto.setSyncCheckTfwFileName(dto.getFileName());
reqDto.setFilePath(dto.getFilePath());
}
String fileState = "DONE";
if( filesDto.size() > 2 )fileState = "DONE";
if (filesDto.size() > 2) fileState = "DONE";
reqDto.setSyncCheckState(fileState);
@@ -266,5 +268,4 @@ public class MapSheetMngCoreService {
return new MapSheetMngDto.DmlReturn("success", hstUid + " : 상태변경되었습니다.");
}
}

View File

@@ -1,9 +1,12 @@
package com.kamco.cd.kamcoback.postgres.core;
import com.kamco.cd.kamcoback.menu.dto.MenuDto;
import com.kamco.cd.kamcoback.menu.dto.MenuDto.RoleBasic;
import com.kamco.cd.kamcoback.postgres.entity.MenuEntity;
import com.kamco.cd.kamcoback.postgres.repository.menu.MenuRepository;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@@ -16,4 +19,18 @@ public class MenuCoreService {
public List<MenuDto.Basic> getFindAll() {
return menuRepository.getFindAll().stream().map(MenuEntity::toDto).toList();
}
/**
* 권한별 메뉴 목록
*
* @param role
* @return
*/
public List<MenuDto.RoleBasic> getFindByRole(String role) {
Map<String, RoleBasic> map = new LinkedHashMap<>();
List<MenuDto.RoleBasic> rows = menuRepository.getFindByRole(role);
return menuRepository.getFindByRole(role);
}
}

View File

@@ -0,0 +1,47 @@
package com.kamco.cd.kamcoback.postgres.entity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.ManyToOne;
import jakarta.persistence.SequenceGenerator;
import jakarta.persistence.Table;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.ColumnDefault;
@Getter
@Setter
@Entity
@Table(name = "tb_menu_mapp")
public class MenuMappEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "tb_menu_mapp_id_gen")
@SequenceGenerator(
name = "tb_menu_mapp_id_gen",
sequenceName = "tb_menu_mapp_seq",
allocationSize = 1)
@Column(name = "mapp_uid", nullable = false)
private Long id;
@NotNull
@ManyToOne(fetch = FetchType.LAZY, optional = false)
@JoinColumn(name = "menu_uid", nullable = false)
private MenuEntity menuUid;
@NotNull
@ColumnDefault("false")
@Column(name = "deleted", nullable = false)
private Boolean deleted = false;
@Size(max = 50)
@Column(name = "role_code", length = 50)
private String roleCode;
}

View File

@@ -635,14 +635,13 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport
@Override
public void updateByHstUidMngFileState(Long hstUid, String fileState) {
long execCount =
queryFactory
.update(mapSheetMngFileEntity)
.set(mapSheetMngFileEntity.fileState, fileState)
.where(mapSheetMngFileEntity.hstUid.eq(hstUid))
.execute();
queryFactory
.update(mapSheetMngFileEntity)
.set(mapSheetMngFileEntity.fileState, fileState)
.where(mapSheetMngFileEntity.hstUid.eq(hstUid))
.execute();
}
@Override
public void mngFileSave(@Valid MapSheetMngDto.MngFileAddReq addReq) {
long fileCount =

View File

@@ -1,9 +1,18 @@
package com.kamco.cd.kamcoback.postgres.repository.menu;
import com.kamco.cd.kamcoback.menu.dto.MenuDto;
import com.kamco.cd.kamcoback.postgres.entity.MenuEntity;
import java.util.List;
public interface MenuRepositoryCustom {
List<MenuEntity> getFindAll();
/**
* 권한별 메뉴 목록
*
* @param role
* @return
*/
List<MenuDto.RoleBasic> getFindByRole(String role);
}

View File

@@ -1,26 +1,65 @@
package com.kamco.cd.kamcoback.postgres.repository.menu;
import static com.kamco.cd.kamcoback.postgres.entity.QMenuEntity.menuEntity;
import static com.kamco.cd.kamcoback.postgres.entity.QMenuMappEntity.menuMappEntity;
import com.kamco.cd.kamcoback.menu.dto.MenuDto;
import com.kamco.cd.kamcoback.postgres.entity.MenuEntity;
import com.querydsl.core.types.Projections;
import com.querydsl.core.types.dsl.Expressions;
import com.querydsl.core.types.dsl.StringExpression;
import com.querydsl.jpa.impl.JPAQueryFactory;
import java.util.List;
import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
public class MenuRepositoryImpl extends QuerydslRepositorySupport implements MenuRepositoryCustom {
@Repository
@RequiredArgsConstructor
public class MenuRepositoryImpl implements MenuRepositoryCustom {
private final JPAQueryFactory queryFactory;
private final StringExpression NULL_STRING = Expressions.stringTemplate("cast(null as text)");
public MenuRepositoryImpl(JPAQueryFactory queryFactory) {
super(MenuEntity.class);
this.queryFactory = queryFactory;
}
@Override
public List<MenuEntity> getFindAll() {
return queryFactory.selectFrom(menuEntity).where(menuEntity.deleted.isFalse()).fetch();
}
/**
* 권한별 메뉴 목록
*
* @return
*/
@Override
public List<MenuDto.RoleBasic> getFindByRole(String role) {
List<MenuDto.RoleBasic> content =
queryFactory
.select(
Projections.constructor(
MenuDto.RoleBasic.class,
menuEntity.menuUid,
menuEntity.parent.menuUid,
menuEntity.menuNm,
menuEntity.menuUrl,
menuEntity.description,
menuEntity.menuOrder,
menuEntity.isUse,
menuEntity.deleted,
menuEntity.createdUid,
menuEntity.updatedUid,
menuEntity.createdDate,
menuEntity.modifiedDate,
menuEntity.menuApiUri))
.from(menuMappEntity)
.join(menuMappEntity.menuUid, menuEntity)
.where(
menuMappEntity.roleCode.eq(role),
menuMappEntity.deleted.isFalse(),
menuEntity.deleted.isFalse(),
menuEntity.isUse.isTrue())
.orderBy(menuEntity.menuOrder.asc().nullsLast(), menuEntity.menuNm.asc())
.fetch();
return content;
}
}