영상관리 > 오류 데이터 처리 변경
This commit is contained in:
@@ -253,8 +253,8 @@ public class FIleChecker {
|
|||||||
List<Basic> fileList = new ArrayList<>();
|
List<Basic> fileList = new ArrayList<>();
|
||||||
SimpleDateFormat dttmFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
SimpleDateFormat dttmFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
|
||||||
//int fileTotCnt = 0;
|
// int fileTotCnt = 0;
|
||||||
//long fileTotSize = 0;
|
// long fileTotSize = 0;
|
||||||
|
|
||||||
try (Stream<Path> stream = Files.walk(startPath, maxDepth)) {
|
try (Stream<Path> stream = Files.walk(startPath, maxDepth)) {
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package com.kamco.cd.kamcoback.mapsheet.dto;
|
|||||||
|
|
||||||
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
import com.kamco.cd.kamcoback.common.utils.interfaces.JsonFormatDttm;
|
||||||
import com.kamco.cd.kamcoback.config.enums.EnumType;
|
import com.kamco.cd.kamcoback.config.enums.EnumType;
|
||||||
import com.kamco.cd.kamcoback.mapsheet.dto.FileDto.FolderDto;
|
|
||||||
import io.swagger.v3.oas.annotations.media.Schema;
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -154,7 +153,7 @@ public class MapSheetMngDto {
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
public static class ErrorDataDto {
|
public static class ErrorDataDto {
|
||||||
//private Integer rowNum;
|
// private Integer rowNum;
|
||||||
private Long hstUid;
|
private Long hstUid;
|
||||||
private String map50kName;
|
private String map50kName;
|
||||||
private String map5kName;
|
private String map5kName;
|
||||||
@@ -170,14 +169,14 @@ public class MapSheetMngDto {
|
|||||||
private List<MngFIleDto> fileArray;
|
private List<MngFIleDto> fileArray;
|
||||||
|
|
||||||
public ErrorDataDto(
|
public ErrorDataDto(
|
||||||
Long hstUid,
|
Long hstUid,
|
||||||
String map50kName,
|
String map50kName,
|
||||||
String map5kName,
|
String map5kName,
|
||||||
String mapSrcName,
|
String mapSrcName,
|
||||||
Integer mapCodeSrc,
|
Integer mapCodeSrc,
|
||||||
ZonedDateTime createdDttm,
|
ZonedDateTime createdDttm,
|
||||||
String syncState,
|
String syncState,
|
||||||
String syncCheckState) {
|
String syncCheckState) {
|
||||||
this.hstUid = hstUid;
|
this.hstUid = hstUid;
|
||||||
this.map50kName = map50kName;
|
this.map50kName = map50kName;
|
||||||
this.map5kName = map5kName;
|
this.map5kName = map5kName;
|
||||||
@@ -187,7 +186,6 @@ public class MapSheetMngDto {
|
|||||||
this.syncState = syncState;
|
this.syncState = syncState;
|
||||||
this.syncCheckState = syncCheckState;
|
this.syncCheckState = syncCheckState;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Schema(name = "MngFIleDto", description = "관리파일정보")
|
@Schema(name = "MngFIleDto", description = "관리파일정보")
|
||||||
|
|||||||
@@ -7,8 +7,6 @@ import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngFileEntity.mapS
|
|||||||
import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngHstEntity.mapSheetMngHstEntity;
|
import static com.kamco.cd.kamcoback.postgres.entity.QMapSheetMngHstEntity.mapSheetMngHstEntity;
|
||||||
|
|
||||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto;
|
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto;
|
||||||
import com.kamco.cd.kamcoback.mapsheet.dto.MapSheetMngDto.MngFIleDto;
|
|
||||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngFileEntity;
|
|
||||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity;
|
import com.kamco.cd.kamcoback.postgres.entity.MapSheetMngHstEntity;
|
||||||
import com.querydsl.core.BooleanBuilder;
|
import com.querydsl.core.BooleanBuilder;
|
||||||
import com.querydsl.core.Tuple;
|
import com.querydsl.core.Tuple;
|
||||||
@@ -23,13 +21,11 @@ import jakarta.persistence.EntityManager;
|
|||||||
import jakarta.persistence.PersistenceContext;
|
import jakarta.persistence.PersistenceContext;
|
||||||
import jakarta.validation.Valid;
|
import jakarta.validation.Valid;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
import org.hibernate.query.Query;
|
import org.hibernate.query.Query;
|
||||||
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.Page;
|
||||||
import org.springframework.data.domain.PageImpl;
|
import org.springframework.data.domain.PageImpl;
|
||||||
@@ -62,12 +58,13 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport
|
|||||||
|
|
||||||
NumberExpression<Long> totalCount = mapSheetMngHstEntity.count().as("syncTotCnt");
|
NumberExpression<Long> totalCount = mapSheetMngHstEntity.count().as("syncTotCnt");
|
||||||
|
|
||||||
NumberExpression<Long> doneCount = new CaseBuilder()
|
NumberExpression<Long> doneCount =
|
||||||
.when(mapSheetMngHstEntity.dataState.eq("DONE"))
|
new CaseBuilder()
|
||||||
.then(1L)
|
.when(mapSheetMngHstEntity.dataState.eq("DONE"))
|
||||||
.otherwise(0L)
|
.then(1L)
|
||||||
.sum()
|
.otherwise(0L)
|
||||||
.as("syncStateDoneCnt");
|
.sum()
|
||||||
|
.as("syncStateDoneCnt");
|
||||||
|
|
||||||
List<MapSheetMngDto.MngDto> foundContent =
|
List<MapSheetMngDto.MngDto> foundContent =
|
||||||
queryFactory
|
queryFactory
|
||||||
@@ -95,46 +92,63 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport
|
|||||||
.otherwise(0L)
|
.otherwise(0L)
|
||||||
.sum(),
|
.sum(),
|
||||||
new CaseBuilder()
|
new CaseBuilder()
|
||||||
.when(mapSheetMngHstEntity.syncState.eq("NOFILE")
|
.when(
|
||||||
.or( mapSheetMngHstEntity.syncState.eq("NOTPAIR")))
|
mapSheetMngHstEntity
|
||||||
|
.syncState
|
||||||
|
.eq("NOFILE")
|
||||||
|
.or(mapSheetMngHstEntity.syncState.eq("NOTPAIR")))
|
||||||
.then(1L)
|
.then(1L)
|
||||||
.otherwise(0L)
|
.otherwise(0L)
|
||||||
.sum(),
|
.sum(),
|
||||||
new CaseBuilder()
|
new CaseBuilder()
|
||||||
.when(mapSheetMngHstEntity.syncCheckState.eq("DONE")
|
.when(
|
||||||
.and( mapSheetMngHstEntity.syncState.eq("NOFILE")
|
mapSheetMngHstEntity
|
||||||
.or(mapSheetMngHstEntity.syncState.eq("NOTPAIR")) )
|
.syncCheckState
|
||||||
)
|
.eq("DONE")
|
||||||
.then(1L)
|
.and(
|
||||||
.otherwise(0L)
|
mapSheetMngHstEntity
|
||||||
.sum(),
|
.syncState
|
||||||
|
.eq("NOFILE")
|
||||||
|
.or(mapSheetMngHstEntity.syncState.eq("NOTPAIR"))))
|
||||||
|
.then(1L)
|
||||||
|
.otherwise(0L)
|
||||||
|
.sum(),
|
||||||
new CaseBuilder()
|
new CaseBuilder()
|
||||||
.when(mapSheetMngHstEntity.syncState.eq("DUPLICATE"))
|
.when(mapSheetMngHstEntity.syncState.eq("DUPLICATE"))
|
||||||
.then(1L)
|
.then(1L)
|
||||||
.otherwise(0L)
|
.otherwise(0L)
|
||||||
.sum(),
|
.sum(),
|
||||||
new CaseBuilder()
|
new CaseBuilder()
|
||||||
.when(mapSheetMngHstEntity.syncCheckState.eq("DONE")
|
.when(
|
||||||
.and(mapSheetMngHstEntity.syncState.eq("DUPLICATE")) )
|
mapSheetMngHstEntity
|
||||||
.then(1L)
|
.syncCheckState
|
||||||
.otherwise(0L)
|
.eq("DONE")
|
||||||
.sum(),
|
.and(mapSheetMngHstEntity.syncState.eq("DUPLICATE")))
|
||||||
|
.then(1L)
|
||||||
|
.otherwise(0L)
|
||||||
|
.sum(),
|
||||||
new CaseBuilder()
|
new CaseBuilder()
|
||||||
.when(mapSheetMngHstEntity.syncState.eq("TYPEERROR")
|
.when(
|
||||||
.or( mapSheetMngHstEntity.syncState.eq("SIZEERROR")))
|
mapSheetMngHstEntity
|
||||||
.then(1L)
|
.syncState
|
||||||
.otherwise(0L)
|
.eq("TYPEERROR")
|
||||||
.sum(),
|
.or(mapSheetMngHstEntity.syncState.eq("SIZEERROR")))
|
||||||
|
.then(1L)
|
||||||
|
.otherwise(0L)
|
||||||
|
.sum(),
|
||||||
new CaseBuilder()
|
new CaseBuilder()
|
||||||
.when(mapSheetMngHstEntity.syncCheckState.eq("DONE")
|
.when(
|
||||||
.and(mapSheetMngHstEntity.syncState.eq("TYPEERROR")
|
mapSheetMngHstEntity
|
||||||
.or( mapSheetMngHstEntity.syncState.eq("SIZEERROR"))) )
|
.syncCheckState
|
||||||
.then(1L)
|
.eq("DONE")
|
||||||
.otherwise(0L)
|
.and(
|
||||||
.sum(),
|
mapSheetMngHstEntity
|
||||||
|
.syncState
|
||||||
|
.eq("TYPEERROR")
|
||||||
|
.or(mapSheetMngHstEntity.syncState.eq("SIZEERROR"))))
|
||||||
|
.then(1L)
|
||||||
|
.otherwise(0L)
|
||||||
|
.sum(),
|
||||||
mapSheetMngEntity.createdDttm,
|
mapSheetMngEntity.createdDttm,
|
||||||
mapSheetMngHstEntity.syncEndDttm.max()))
|
mapSheetMngHstEntity.syncEndDttm.max()))
|
||||||
.from(mapSheetMngEntity)
|
.from(mapSheetMngEntity)
|
||||||
@@ -165,74 +179,75 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport
|
|||||||
BooleanBuilder whereBuilder = new BooleanBuilder();
|
BooleanBuilder whereBuilder = new BooleanBuilder();
|
||||||
|
|
||||||
whereBuilder.and(mapSheetMngHstEntity.mngYyyy.eq(searchReq.getMngYyyy()));
|
whereBuilder.and(mapSheetMngHstEntity.mngYyyy.eq(searchReq.getMngYyyy()));
|
||||||
whereBuilder.and(mapSheetMngHstEntity.syncState.ne("DONE").and(mapSheetMngHstEntity.syncState.ne("NOTYET")));
|
whereBuilder.and(
|
||||||
|
mapSheetMngHstEntity.syncState.ne("DONE").and(mapSheetMngHstEntity.syncState.ne("NOTYET")));
|
||||||
|
|
||||||
if (searchReq.getSyncState() != null && ! searchReq.getSyncState().isEmpty()) {
|
if (searchReq.getSyncState() != null && !searchReq.getSyncState().isEmpty()) {
|
||||||
if( searchReq.getSyncState().equals("NOTPAIR") )
|
if (searchReq.getSyncState().equals("NOTPAIR")) {
|
||||||
{
|
whereBuilder.and(
|
||||||
whereBuilder.and(mapSheetMngHstEntity.syncState.eq("NOTPAIR")
|
mapSheetMngHstEntity
|
||||||
.or(mapSheetMngHstEntity.syncState.eq("NOFILE")));
|
.syncState
|
||||||
}
|
.eq("NOTPAIR")
|
||||||
else if( searchReq.getSyncState().equals("FAULT") )
|
.or(mapSheetMngHstEntity.syncState.eq("NOFILE")));
|
||||||
{
|
} else if (searchReq.getSyncState().equals("FAULT")) {
|
||||||
whereBuilder.and(mapSheetMngHstEntity.syncState.eq("SIZEERROR")
|
whereBuilder.and(
|
||||||
.or(mapSheetMngHstEntity.syncState.eq("TYPEERROR")));
|
mapSheetMngHstEntity
|
||||||
}
|
.syncState
|
||||||
else
|
.eq("SIZEERROR")
|
||||||
{
|
.or(mapSheetMngHstEntity.syncState.eq("TYPEERROR")));
|
||||||
whereBuilder.and(mapSheetMngHstEntity.syncState.eq(searchReq.getSyncState()));
|
} else {
|
||||||
}
|
whereBuilder.and(mapSheetMngHstEntity.syncState.eq(searchReq.getSyncState()));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (searchReq.getSyncCheckState() != null && ! searchReq.getSyncCheckState().isEmpty()) {
|
if (searchReq.getSyncCheckState() != null && !searchReq.getSyncCheckState().isEmpty()) {
|
||||||
whereBuilder.and(mapSheetMngHstEntity.syncCheckState.eq(searchReq.getSyncCheckState()));
|
whereBuilder.and(mapSheetMngHstEntity.syncCheckState.eq(searchReq.getSyncCheckState()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (searchReq.getSearchValue() != null && ! searchReq.getSearchValue().isEmpty()) {
|
if (searchReq.getSearchValue() != null && !searchReq.getSearchValue().isEmpty()) {
|
||||||
whereBuilder.and(mapSheetMngHstEntity.mapSheetNum.eq(searchReq.getSearchValue())
|
whereBuilder.and(
|
||||||
.or(mapSheetMngHstEntity.refMapSheetNum.eq(searchReq.getSearchValue()))
|
mapSheetMngHstEntity
|
||||||
.or(Expressions.stringTemplate(
|
.mapSheetNum
|
||||||
"concat({0},substring({1}, 0, 6))",
|
.eq(searchReq.getSearchValue())
|
||||||
mapInkx5kEntity.mapidNm,
|
.or(mapSheetMngHstEntity.refMapSheetNum.eq(searchReq.getSearchValue()))
|
||||||
mapSheetMngHstEntity.mapSheetNum
|
.or(
|
||||||
).likeIgnoreCase(searchReq.getSearchValue()))
|
Expressions.stringTemplate(
|
||||||
.or(Expressions.stringTemplate(
|
"concat({0},substring({1}, 0, 6))",
|
||||||
"concat({0},substring({1}, 6, 8))",
|
mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum)
|
||||||
mapInkx5kEntity.mapidNm,
|
.likeIgnoreCase(searchReq.getSearchValue()))
|
||||||
mapSheetMngHstEntity.mapSheetNum
|
.or(
|
||||||
).likeIgnoreCase(searchReq.getSearchValue()))
|
Expressions.stringTemplate(
|
||||||
);
|
"concat({0},substring({1}, 6, 8))",
|
||||||
|
mapInkx5kEntity.mapidNm, mapSheetMngHstEntity.mapSheetNum)
|
||||||
|
.likeIgnoreCase(searchReq.getSearchValue())));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<Tuple> tuples =
|
||||||
|
queryFactory
|
||||||
List<Tuple> tuples = queryFactory
|
.select(
|
||||||
.select(
|
mapSheetMngHstEntity.hstUid,
|
||||||
mapSheetMngHstEntity.hstUid,
|
mapSheetMngHstEntity.mapSheetName,
|
||||||
mapSheetMngHstEntity.mapSheetName,
|
mapInkx5kEntity.mapidNm,
|
||||||
mapInkx5kEntity.mapidNm,
|
mapSheetMngHstEntity.mapSheetNum,
|
||||||
mapSheetMngHstEntity.mapSheetNum,
|
mapSheetMngHstEntity.mapSheetCodeSrc,
|
||||||
mapSheetMngHstEntity.mapSheetCodeSrc,
|
mapSheetMngHstEntity.createdDate,
|
||||||
mapSheetMngHstEntity.createdDate,
|
mapSheetMngHstEntity.syncState,
|
||||||
mapSheetMngHstEntity.syncState,
|
mapSheetMngHstEntity.syncCheckState,
|
||||||
mapSheetMngHstEntity.syncCheckState,
|
mapSheetMngFileEntity.fileUid,
|
||||||
mapSheetMngFileEntity.fileUid,
|
mapSheetMngFileEntity.filePath,
|
||||||
mapSheetMngFileEntity.filePath,
|
mapSheetMngFileEntity.fileName,
|
||||||
mapSheetMngFileEntity.fileName,
|
mapSheetMngFileEntity.fileSize,
|
||||||
mapSheetMngFileEntity.fileSize,
|
mapSheetMngFileEntity.fileState)
|
||||||
mapSheetMngFileEntity.fileState
|
.from(mapSheetMngHstEntity)
|
||||||
)
|
.innerJoin(mapInkx5kEntity)
|
||||||
.from(mapSheetMngHstEntity)
|
.on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo))
|
||||||
.innerJoin(mapInkx5kEntity)
|
.leftJoin(mapSheetMngFileEntity)
|
||||||
.on(mapSheetMngHstEntity.mapSheetNum.eq(mapInkx5kEntity.mapidcdNo))
|
.on(mapSheetMngFileEntity.hstUid.eq(mapSheetMngHstEntity.hstUid))
|
||||||
.leftJoin(mapSheetMngFileEntity)
|
.where(whereBuilder)
|
||||||
.on(mapSheetMngFileEntity.hstUid.eq(mapSheetMngHstEntity.hstUid))
|
.orderBy(mapSheetMngHstEntity.createdDate.desc())
|
||||||
.where(whereBuilder)
|
.offset(pageable.getOffset())
|
||||||
.orderBy(mapSheetMngHstEntity.createdDate.desc())
|
.limit(pageable.getPageSize())
|
||||||
.offset(pageable.getOffset())
|
.fetch();
|
||||||
.limit(pageable.getPageSize())
|
|
||||||
.fetch();
|
|
||||||
|
|
||||||
|
|
||||||
Map<Long, MapSheetMngDto.ErrorDataDto> resultMap = new LinkedHashMap<>();
|
Map<Long, MapSheetMngDto.ErrorDataDto> resultMap = new LinkedHashMap<>();
|
||||||
|
|
||||||
@@ -241,38 +256,35 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport
|
|||||||
Long hstUid = t.get(mapSheetMngHstEntity.hstUid);
|
Long hstUid = t.get(mapSheetMngHstEntity.hstUid);
|
||||||
|
|
||||||
MapSheetMngDto.ErrorDataDto dto =
|
MapSheetMngDto.ErrorDataDto dto =
|
||||||
resultMap.computeIfAbsent(hstUid, id -> {
|
resultMap.computeIfAbsent(
|
||||||
|
hstUid,
|
||||||
|
id -> {
|
||||||
|
String map50kName =
|
||||||
|
t.get(mapSheetMngHstEntity.mapSheetName)
|
||||||
|
+ t.get(mapSheetMngHstEntity.mapSheetNum).substring(0, 5);
|
||||||
|
|
||||||
|
String map5kName =
|
||||||
|
t.get(mapSheetMngHstEntity.mapSheetName)
|
||||||
|
+ t.get(mapSheetMngHstEntity.mapSheetNum).substring(5, 8);
|
||||||
|
|
||||||
String map50kName =
|
String mapSrcName =
|
||||||
t.get(mapSheetMngHstEntity.mapSheetName)
|
t.get(mapSheetMngHstEntity.mapSheetName)
|
||||||
+ t.get(mapSheetMngHstEntity.mapSheetNum).substring(0, 5);
|
+ t.get(mapSheetMngHstEntity.mapSheetNum).substring(5, 8);
|
||||||
|
|
||||||
String map5kName =
|
MapSheetMngDto.ErrorDataDto newDto =
|
||||||
t.get(mapSheetMngHstEntity.mapSheetName)
|
new MapSheetMngDto.ErrorDataDto(
|
||||||
+ t.get(mapSheetMngHstEntity.mapSheetNum).substring(5, 8);
|
id,
|
||||||
|
map50kName,
|
||||||
|
map5kName,
|
||||||
|
mapSrcName,
|
||||||
|
t.get(mapSheetMngHstEntity.mapSheetCodeSrc),
|
||||||
|
t.get(mapSheetMngHstEntity.createdDate),
|
||||||
|
t.get(mapSheetMngHstEntity.syncState),
|
||||||
|
t.get(mapSheetMngHstEntity.syncCheckState));
|
||||||
|
|
||||||
String mapSrcName =
|
newDto.setFileArray(new ArrayList<>());
|
||||||
t.get(mapSheetMngHstEntity.mapSheetName)
|
return newDto;
|
||||||
+ t.get(mapSheetMngHstEntity.mapSheetNum).substring(5, 8);
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
MapSheetMngDto.ErrorDataDto newDto =
|
|
||||||
new MapSheetMngDto.ErrorDataDto(
|
|
||||||
id,
|
|
||||||
map50kName,
|
|
||||||
map5kName,
|
|
||||||
mapSrcName,
|
|
||||||
t.get(mapSheetMngHstEntity.mapSheetCodeSrc),
|
|
||||||
t.get(mapSheetMngHstEntity.createdDate),
|
|
||||||
t.get(mapSheetMngHstEntity.syncState),
|
|
||||||
t.get(mapSheetMngHstEntity.syncCheckState)
|
|
||||||
);
|
|
||||||
|
|
||||||
newDto.setFileArray(new ArrayList<>());
|
|
||||||
return newDto;
|
|
||||||
});
|
|
||||||
|
|
||||||
// 파일 정보가 있는 경우만 추가
|
// 파일 정보가 있는 경우만 추가
|
||||||
Long fileUid = t.get(mapSheetMngFileEntity.fileUid);
|
Long fileUid = t.get(mapSheetMngFileEntity.fileUid);
|
||||||
@@ -291,7 +303,6 @@ public class MapSheetMngRepositoryImpl extends QuerydslRepositorySupport
|
|||||||
|
|
||||||
List<MapSheetMngDto.ErrorDataDto> foundContent = new ArrayList<>(resultMap.values());
|
List<MapSheetMngDto.ErrorDataDto> foundContent = new ArrayList<>(resultMap.values());
|
||||||
|
|
||||||
|
|
||||||
Long countQuery =
|
Long countQuery =
|
||||||
queryFactory
|
queryFactory
|
||||||
.select(mapSheetMngHstEntity.hstUid.count())
|
.select(mapSheetMngHstEntity.hstUid.count())
|
||||||
|
|||||||
Reference in New Issue
Block a user