Merge branch 'iipbs/sn/dev'
This commit is contained in:
@@ -96,7 +96,8 @@ export default function FacilityPrecipitation() {
|
||||
const [operationValue, setOperationValue] = useState<string>("0");
|
||||
// 조회기간
|
||||
const [searchYear, setSearchYear] = useState<string>(defaultSearchYear);
|
||||
|
||||
// 엑셀다운로드 트리거
|
||||
const [isExcelDownClick, setIsExcelDownClick] = useState<boolean>(false);
|
||||
/**
|
||||
* 페이지 함수
|
||||
*/
|
||||
@@ -144,14 +145,22 @@ export default function FacilityPrecipitation() {
|
||||
}, [isInit, initializeCommonData, searchFacilityPrecipitationList, defaultSearchYear]);
|
||||
|
||||
useEffect(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: '시설별 강수현황',
|
||||
sheetNameArray: ['시설별 강수현황'],
|
||||
headerRange: 'A1:N1'
|
||||
});
|
||||
}
|
||||
if (!isExcelDownClick) return;
|
||||
|
||||
const timer = setTimeout(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: '시설별 강수현황',
|
||||
sheetNameArray: ['시설별 강수현황'],
|
||||
headerRange: 'A1:N1'
|
||||
});
|
||||
} else {
|
||||
alert("조회된 결과가 없습니다.");
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 500);
|
||||
return () => clearTimeout(timer);
|
||||
}, [excelList]);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -196,23 +205,24 @@ export default function FacilityPrecipitation() {
|
||||
|
||||
// 엑셀다운로드
|
||||
const excelDownload = useCallback((searchReturn: ReturnType) => {
|
||||
if (ref.current.partValue === 'A') { // 행정별
|
||||
if (!ref.current.sidoValue || ref.current.sidoValue === '0') {
|
||||
alert('엑셀 다운로드는 시도 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
} else if (ref.current.partValue === 'R') { // 유역별
|
||||
if (!ref.current.regionValue || ref.current.regionValue === '0') {
|
||||
alert('엑셀 다운로드는 유역 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
} else if (ref.current.partValue === 'G') { // 환경청별
|
||||
if (!ref.current.envPartValue || ref.current.envPartValue === '0') {
|
||||
alert('엑셀 다운로드는 환경청 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
}
|
||||
// if (ref.current.partValue === 'A') { // 행정별
|
||||
// if (!ref.current.sidoValue || ref.current.sidoValue === '0') {
|
||||
// alert('엑셀 다운로드는 시도 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// } else if (ref.current.partValue === 'R') { // 유역별
|
||||
// if (!ref.current.regionValue || ref.current.regionValue === '0') {
|
||||
// alert('엑셀 다운로드는 유역 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// } else if (ref.current.partValue === 'G') { // 환경청별
|
||||
// if (!ref.current.envPartValue || ref.current.envPartValue === '0') {
|
||||
// alert('엑셀 다운로드는 환경청 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
searchFacilityPrecipitation(searchReturn, 1, 10000);
|
||||
setIsExcelDownClick(true);
|
||||
}, [searchFacilityPrecipitation]);
|
||||
|
||||
// 페이지 변경
|
||||
|
||||
@@ -54,7 +54,8 @@ export default function ProcessFacilitySearch() {
|
||||
|
||||
const mainList: FacilityWaterQltyProps[] = facilityWaterQltyList || [];
|
||||
const [initTrigger, setInitTrigger] = useState<boolean>(false);
|
||||
const [excelTrigger, setExcelTrigger] = useState<boolean>(false);
|
||||
// 엑셀다운로드 트리거
|
||||
const [isExcelDownClick, setIsExcelDownClick] = useState<boolean>(false);
|
||||
// 그리드 관련
|
||||
const [resetPage, setResetPage] = useState<boolean>(false);
|
||||
const searchInputRef = useRef<HTMLDivElement & HTMLInputElement>(null);
|
||||
@@ -152,21 +153,28 @@ export default function ProcessFacilitySearch() {
|
||||
}, [isInit, initializeCommonData, searchFacilityWaterQltyList, searchFcltyQltyList, initTrigger]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!excelTrigger) return;
|
||||
if (!isExcelDownClick) return;
|
||||
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcelFormat(
|
||||
{
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: '시설별 수질현황',
|
||||
sheetNameArray: ['시설별 수질현황'],
|
||||
headerRange: 'A1:T1',
|
||||
decimalArray1: [10, 11, 12, 15, 16, 17],
|
||||
decimalArray3: [13, 14, 18, 19]
|
||||
}
|
||||
);
|
||||
}
|
||||
}, [excelList, excelTrigger]);
|
||||
const timer = setTimeout(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcelFormat(
|
||||
{
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: '시설별 수질현황',
|
||||
sheetNameArray: ['시설별 수질현황'],
|
||||
headerRange: 'A1:T1',
|
||||
decimalArray1: [10, 11, 12, 15, 16, 17],
|
||||
decimalArray3: [13, 14, 18, 19]
|
||||
}
|
||||
);
|
||||
} else {
|
||||
alert("조회된 결과가 없습니다.");
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 500);
|
||||
|
||||
return () => clearTimeout(timer);
|
||||
}, [excelList, isExcelDownClick]);
|
||||
|
||||
const chkVal = useCallback((returntype: ReturnType) => {
|
||||
// setWidthSize(returntype.partValue=='A' ?"w-[120%]":"w-[130%]")
|
||||
@@ -192,7 +200,7 @@ export default function ProcessFacilitySearch() {
|
||||
}
|
||||
}
|
||||
|
||||
setExcelTrigger(true);
|
||||
setIsExcelDownClick(true);
|
||||
searchFcltyQltyList(ref.current, 1, 10000);
|
||||
}, [searchFcltyQltyList]);
|
||||
|
||||
|
||||
@@ -160,6 +160,7 @@ export default function ProcessFacilitySearch() {
|
||||
} else {
|
||||
alert('조회된 결과가 없습니다.');
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 1000); // 약간의 지연을 두고 다운로드 실행
|
||||
return () => clearTimeout(timer);
|
||||
}, [excelList, isExcelDownClick]);
|
||||
|
||||
@@ -93,8 +93,9 @@ export default function PlanSewage() {
|
||||
const [searchYear, setSearchYear] = useState<string>(defaultSearchYear);
|
||||
|
||||
const [initTrigger, setInitTrigger] = useState<boolean>(false);
|
||||
// 엑셀다운로드 트리거
|
||||
const [isExcelDownClick, setIsExcelDownClick] = useState<boolean>(false);
|
||||
|
||||
const [excelTrigger, setExcelTrigger] = useState<boolean>(false);
|
||||
/**
|
||||
* 페이지 함수
|
||||
*/
|
||||
@@ -119,17 +120,24 @@ export default function PlanSewage() {
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if (!excelTrigger) return;
|
||||
if (!isExcelDownClick) return;
|
||||
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: '계획하수량 산정지표 현황',
|
||||
sheetNameArray: ['계획하수량 산정지표 현황'],
|
||||
headerRange: 'A1:M1'
|
||||
});
|
||||
}
|
||||
}, [excelList, excelTrigger]);
|
||||
const timer = setTimeout(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: '계획하수량 산정지표 현황',
|
||||
sheetNameArray: ['계획하수량 산정지표 현황'],
|
||||
headerRange: 'A1:M1'
|
||||
});
|
||||
} else {
|
||||
alert("조회된 결과가 없습니다.");
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 500);
|
||||
|
||||
return () => clearTimeout(timer);
|
||||
}, [excelList, isExcelDownClick]);
|
||||
|
||||
/**
|
||||
* 콜백함수
|
||||
@@ -201,7 +209,7 @@ export default function PlanSewage() {
|
||||
}
|
||||
|
||||
searchPlanSewage(searchReturn, 1, 10000);
|
||||
setExcelTrigger(true);
|
||||
setIsExcelDownClick(true);
|
||||
}, [searchPlanSewage]);
|
||||
|
||||
// 페이지 변경
|
||||
|
||||
@@ -70,6 +70,8 @@ export default function ProcessArea() {
|
||||
|
||||
const [resetPage, setResetPage] = useState<boolean>(false);
|
||||
const [searchYearValue, setSearchYearValue] = useState<string>(defaultSearchYear);
|
||||
|
||||
const [isExcelDownClick, setIsExcelDownClick] = useState<boolean>(false);
|
||||
|
||||
const ref = useRef<ReturnType>({
|
||||
partValue: '',
|
||||
@@ -126,35 +128,44 @@ export default function ProcessArea() {
|
||||
}, [isInit, initializeCommonData, searchProcessAreaList, defaultSearchYear]);
|
||||
|
||||
useEffect(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: '처리구역정보',
|
||||
sheetNameArray: ['처리구역정보'],
|
||||
headerRange: 'A1:W1'
|
||||
});
|
||||
}
|
||||
}, [excelList]);
|
||||
if(!isExcelDownClick) return;
|
||||
|
||||
const timer = setTimeout(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: '처리구역정보',
|
||||
sheetNameArray: ['처리구역정보'],
|
||||
headerRange: 'A1:W1'
|
||||
});
|
||||
} else {
|
||||
alert('조회된 결과가 없습니다.');
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 500); // 약간의 지연을 두고 다운로드 실행
|
||||
return () => clearTimeout(timer);
|
||||
}, [excelList, isExcelDownClick]);
|
||||
|
||||
const excelDownload = useCallback(() => {
|
||||
if (ref.current.partValue === 'A') { // 행정별
|
||||
if (!ref.current.sidoValue || ref.current.sidoValue === '0') {
|
||||
alert('엑셀 다운로드는 시도 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
} else if (ref.current.partValue === 'R') { // 유역별
|
||||
if (!ref.current.regionValue || ref.current.regionValue === '0') {
|
||||
alert('엑셀 다운로드는 유역 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
} else if (ref.current.partValue === 'G') { // 환경청별
|
||||
if (!ref.current.envPartValue || ref.current.envPartValue === '0') {
|
||||
alert('엑셀 다운로드는 환경청 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
}
|
||||
// if (ref.current.partValue === 'A') { // 행정별
|
||||
// if (!ref.current.sidoValue || ref.current.sidoValue === '0') {
|
||||
// alert('엑셀 다운로드는 시도 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// } else if (ref.current.partValue === 'R') { // 유역별
|
||||
// if (!ref.current.regionValue || ref.current.regionValue === '0') {
|
||||
// alert('엑셀 다운로드는 유역 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// } else if (ref.current.partValue === 'G') { // 환경청별
|
||||
// if (!ref.current.envPartValue || ref.current.envPartValue === '0') {
|
||||
// alert('엑셀 다운로드는 환경청 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
|
||||
searchProcessArea(ref.current, 1, 10000);
|
||||
setIsExcelDownClick(true);
|
||||
}, [searchProcessArea]);
|
||||
|
||||
const handlePageChange = useCallback((pageNo: number) => {
|
||||
|
||||
@@ -89,6 +89,7 @@ export default function ProcessFacilitySearch() {
|
||||
const [partValue, setPartValue] = useState<string>("A");
|
||||
// const [widthSize, setWidthSize] = useState<string>("w-[120%]");
|
||||
const [upHeadList, setUpheadList] = useState(upHeadList1);
|
||||
const [isExcelDownClick, setIsExcelDownClick] = useState<boolean>(false);
|
||||
|
||||
/**
|
||||
* 모달 상태 변수
|
||||
@@ -150,10 +151,18 @@ export default function ProcessFacilitySearch() {
|
||||
}, [partValue, upHeadList1, upHeadList2, upHeadList3]);
|
||||
|
||||
useEffect(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({ data: excelList as unknown as JSON[], fileName: '처리시설 시설정보', sheetNameArray: ['처리시설 시설정보'], headerRange: 'A1:P1' });
|
||||
}
|
||||
}, [excelList]);
|
||||
if(!isExcelDownClick) return;
|
||||
|
||||
const timer = setTimeout(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({ data: excelList as unknown as JSON[], fileName: '처리시설 시설정보', sheetNameArray: ['처리시설 시설정보'], headerRange: 'A1:P1' });
|
||||
} else {
|
||||
alert('조회된 결과가 없습니다.');
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 500); // 약간의 지연을 두고 다운로드 실행
|
||||
return () => clearTimeout(timer);
|
||||
}, [excelList, isExcelDownClick]);
|
||||
|
||||
const searchFcltyList = useCallback(({ partValue, regionValue, unitWaterShedValue, middleRegionValue, envPartValue, sidoValue, sigunValue }: ReturnType, pageNo: number, pageCnt:number=10) => {
|
||||
let nameCd, partStr
|
||||
@@ -236,24 +245,25 @@ export default function ProcessFacilitySearch() {
|
||||
}
|
||||
|
||||
const excelDownload = useCallback(() => {
|
||||
if (ref.current.partValue === 'A') { // 행정별
|
||||
if (!ref.current.sidoValue || ref.current.sidoValue === '0') {
|
||||
alert('엑셀 다운로드는 시도 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
} else if (ref.current.partValue === 'R') { // 유역별
|
||||
if (!ref.current.regionValue || ref.current.regionValue === '0') {
|
||||
alert('엑셀 다운로드는 유역 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
} else if (ref.current.partValue === 'G') { // 환경청별
|
||||
if (!ref.current.envPartValue || ref.current.envPartValue === '0') {
|
||||
alert('엑셀 다운로드는 환경청 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
}
|
||||
// if (ref.current.partValue === 'A') { // 행정별
|
||||
// if (!ref.current.sidoValue || ref.current.sidoValue === '0') {
|
||||
// alert('엑셀 다운로드는 시도 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// } else if (ref.current.partValue === 'R') { // 유역별
|
||||
// if (!ref.current.regionValue || ref.current.regionValue === '0') {
|
||||
// alert('엑셀 다운로드는 유역 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// } else if (ref.current.partValue === 'G') { // 환경청별
|
||||
// if (!ref.current.envPartValue || ref.current.envPartValue === '0') {
|
||||
// alert('엑셀 다운로드는 환경청 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
|
||||
searchFcltyList(ref.current, 1, 10000);
|
||||
setIsExcelDownClick(true);
|
||||
}, [searchFcltyList]);
|
||||
|
||||
// 모달 닫기
|
||||
|
||||
@@ -90,7 +90,8 @@ export default function Rdi() {
|
||||
// 조회기간
|
||||
const [searchYear, setSearchYear] = useState<string>(defaultSearchYear);
|
||||
// 엑셀 다운로드 트리거
|
||||
const [isInitExcelDownload, setIsInitExcelDownload] = useState<boolean>(false);
|
||||
const [isExcelDownClick, setIsExcelDownClick] = useState<boolean>(false);
|
||||
|
||||
|
||||
const [initTrigger, setInitTrigger] = useState<boolean>(false);
|
||||
/**
|
||||
@@ -118,16 +119,24 @@ export default function Rdi() {
|
||||
}
|
||||
|
||||
useEffect(() => {
|
||||
if(!isInitExcelDownload) return ;
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: 'RDII추정',
|
||||
sheetNameArray: ['RDII추정'],
|
||||
headerRange: 'A1:R1'
|
||||
});
|
||||
}
|
||||
}, [excelList, isInitExcelDownload]);
|
||||
if(!isExcelDownClick) return ;
|
||||
|
||||
const timer = setTimeout(() => {
|
||||
if (excelList && excelList.length > 0) {
|
||||
downloadExcel({
|
||||
data: excelList as unknown as JSON[],
|
||||
fileName: 'RDII추정',
|
||||
sheetNameArray: ['RDII추정'],
|
||||
headerRange: 'A1:R1'
|
||||
});
|
||||
} else {
|
||||
alert("조회된 결과가 없습니다.");
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 500); // 약간의 지연을 두고 다운로드 실행
|
||||
|
||||
return () => clearTimeout(timer);
|
||||
}, [excelList, isExcelDownClick]);
|
||||
|
||||
/**
|
||||
* 콜백함수
|
||||
@@ -180,25 +189,25 @@ export default function Rdi() {
|
||||
|
||||
// 엑셀다운로드
|
||||
const excelDownload = useCallback(() => {
|
||||
if (ref.current.partValue === 'A') { // 행정별
|
||||
if (!ref.current.sidoValue || ref.current.sidoValue === '0') {
|
||||
alert('엑셀 다운로드는 시도 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
} else if (ref.current.partValue === 'R') { // 유역별
|
||||
if (!ref.current.regionValue || ref.current.regionValue === '0') {
|
||||
alert('엑셀 다운로드는 유역 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
} else if (ref.current.partValue === 'G') { // 환경청별
|
||||
if (!ref.current.envPartValue || ref.current.envPartValue === '0') {
|
||||
alert('엑셀 다운로드는 환경청 조건을 선택한 후 이용 가능합니다.');
|
||||
return;
|
||||
}
|
||||
}
|
||||
// if (ref.current.partValue === 'A') { // 행정별
|
||||
// if (!ref.current.sidoValue || ref.current.sidoValue === '0') {
|
||||
// alert('엑셀 다운로드는 시도 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// } else if (ref.current.partValue === 'R') { // 유역별
|
||||
// if (!ref.current.regionValue || ref.current.regionValue === '0') {
|
||||
// alert('엑셀 다운로드는 유역 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// } else if (ref.current.partValue === 'G') { // 환경청별
|
||||
// if (!ref.current.envPartValue || ref.current.envPartValue === '0') {
|
||||
// alert('엑셀 다운로드는 환경청 조건을 선택한 후 이용 가능합니다.');
|
||||
// return;
|
||||
// }
|
||||
// }
|
||||
|
||||
searchRdi(ref.current, 1, 5000);
|
||||
setIsInitExcelDownload(true);
|
||||
setIsExcelDownClick(true);
|
||||
}, [searchRdi]);
|
||||
|
||||
// 페이지 변경
|
||||
|
||||
@@ -162,6 +162,7 @@ export default function PlanSewage() {
|
||||
} else {
|
||||
alert("조회된 결과가 없습니다.");
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 500); // 약간의 지연을 두고 다운로드 실행
|
||||
|
||||
return () => clearTimeout(timer);
|
||||
|
||||
@@ -167,6 +167,7 @@ export default function UnderWaterInput() {
|
||||
} else {
|
||||
alert("조회된 결과가 없습니다.");
|
||||
}
|
||||
setIsExcelDownClick(false);
|
||||
}, 1000); // 약간의 지연을 두고 다운로드 실행
|
||||
return () => clearTimeout(timer);
|
||||
}, [excelList, isExcelDownClick]);
|
||||
|
||||
@@ -466,16 +466,22 @@ export const facilityWaterQltyReducer = (set: SetFunc): FacilityWaterQltyActions
|
||||
//---------
|
||||
const waterQltyList: any[] = [];
|
||||
let recordCount = 0;
|
||||
for (let idx = 0; idx < pageSize; idx += 100) {
|
||||
const tmpPageNo = Math.floor(idx / 100) + 1;
|
||||
const tmpPageSize = Math.min(100, pageSize - idx);
|
||||
const result = await fetchFacilityWaterQltyList(tmpPageNo, tmpPageSize, searchYear, part, nameCd, fcltCpct, operationValue, fcltyNm);
|
||||
if (result?.status === 200 && Array.isArray(result?.data)) {
|
||||
waterQltyList.push(...result.data);
|
||||
}
|
||||
recordCount = result?.count || 0;
|
||||
if (result?.count < tmpPageNo * tmpPageSize) {
|
||||
break; // 더 이상 데이터가 없으면 중지
|
||||
if (pageSize < 5000) {
|
||||
const res = await fetchFacilityWaterQltyList(pageNo, pageSize, searchYear, part, nameCd, fcltCpct, operationValue, fcltyNm);
|
||||
waterQltyList.push(...res.data);
|
||||
recordCount = res.count;
|
||||
} else {
|
||||
for (let idx = 0; idx < pageSize; idx += 100) {
|
||||
const tmpPageNo = Math.floor(idx / 100) + 1;
|
||||
const tmpPageSize = Math.min(100, pageSize - idx);
|
||||
const result = await fetchFacilityWaterQltyList(tmpPageNo, tmpPageSize, searchYear, part, nameCd, fcltCpct, operationValue, fcltyNm);
|
||||
if (result?.status === 200 && Array.isArray(result?.data)) {
|
||||
waterQltyList.push(...result.data);
|
||||
}
|
||||
recordCount = result?.count || 0;
|
||||
if (result?.count < tmpPageNo * tmpPageSize) {
|
||||
break; // 더 이상 데이터가 없으면 중지
|
||||
}
|
||||
}
|
||||
}
|
||||
//-------
|
||||
|
||||
@@ -285,23 +285,30 @@ export const flowRateSearchReducer: (set: (fn: (state: FlowRateSearchType) => Fl
|
||||
//---------
|
||||
const flowRateList: any[] = [];
|
||||
const results: any[] = [];
|
||||
for (let idx = 0; idx < pageSize; idx += 100) {
|
||||
const tmpPageNo = Math.floor(idx / 100) + 1;
|
||||
const tmpPageSize = Math.min(100, pageSize - idx);
|
||||
const result = await fetchFlowRateList( tmpPageNo, tmpPageSize, searchYear, partCd, nameCd, fcltCpct, operationValue, fcltyNm);
|
||||
results.push(result);
|
||||
if (result?.count < tmpPageNo * tmpPageSize) {
|
||||
break; // 더 이상 데이터가 없으면 중지
|
||||
}
|
||||
}
|
||||
console.log(results);
|
||||
// 결과를 합치기
|
||||
|
||||
for (const res of results) {
|
||||
if (res?.status === 200 && Array.isArray(res?.data)) {
|
||||
flowRateList.push(...res.data);
|
||||
if (pageSize < 5000) {
|
||||
const res = await fetchFlowRateList(pageNo, pageSize, searchYear, partCd, nameCd, fcltCpct, operationValue, fcltyNm);
|
||||
flowRateList.push(...res.data);
|
||||
results.push(res);
|
||||
} else {
|
||||
for (let idx = 0; idx < pageSize; idx += 100) {
|
||||
const tmpPageNo = Math.floor(idx / 100) + 1;
|
||||
const tmpPageSize = Math.min(100, pageSize - idx);
|
||||
const result = await fetchFlowRateList( tmpPageNo, tmpPageSize, searchYear, partCd, nameCd, fcltCpct, operationValue, fcltyNm);
|
||||
results.push(result);
|
||||
if (result?.count < tmpPageNo * tmpPageSize) {
|
||||
break; // 더 이상 데이터가 없으면 중지
|
||||
}
|
||||
}
|
||||
// console.log(results);
|
||||
// 결과를 합치기
|
||||
|
||||
for (const res of results) {
|
||||
if (res?.status === 200 && Array.isArray(res?.data)) {
|
||||
flowRateList.push(...res.data);
|
||||
}
|
||||
}
|
||||
}
|
||||
//---------
|
||||
const recordCount = results[0]?.count || 0;
|
||||
//-------
|
||||
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
"use client";
|
||||
import { createContext, useState } from "react";
|
||||
|
||||
interface PromptContext {
|
||||
|
||||
Reference in New Issue
Block a user