작업 진행중

This commit is contained in:
2025-10-30 11:03:14 +09:00
parent 89f14ff910
commit 960e5f7dd1
3 changed files with 77 additions and 16 deletions
@@ -70,12 +70,10 @@ export default function ProcessArea() {
unitWaterShedValue: '',
middleRegionValue: '',
envPartValue: '',
sidoText: '',
sigunText: ''
});
const searchProcessArea = useCallback(({ sidoText, sigunText}: ReturnType, pageNo: number, pageCnt:number=20) => {
searchProcessAreaList(pageNo, pageCnt, sidoText, sigunText, searchYearValue);
const searchProcessArea = useCallback(({ sidoValue, sigunValue, sidoText, sggText}: ReturnType, pageNo: number, pageCnt:number=20) => {
searchProcessAreaList(pageNo, pageCnt, sidoValue, sigunValue, searchYearValue);
}, [searchProcessAreaList, searchYearValue]);
// 조회
+52 -12
View File
@@ -2,6 +2,7 @@ import { postFetch } from "@/app/components/api";
import DataForm from "@/app/components/common/DataForm";
import { fetchPlanInfo } from "../common";
import type { TableUpperProps } from "../dashboard";
import { fetchFacilityListArea } from "../processFacility";
export type { TableUpperProps };
/**====================================
* Store - 타입
@@ -261,16 +262,7 @@ const fetchProcessAreaList = async (pageNo : number, pageSize : number, ctpvNm :
head.title = '기승인\n4단계';
}
});
const res = await fetchFacilityDetailInfo(item.swtrmtFcltCd);
const detailInfo = res.data.filter((item:ProcessAreaProps) => item.ruse === true);
return {
...item,
sido: detailInfo.length > 0 ? detailInfo[0].sido||'' : '',
sigungo: detailInfo.length > 0 ? detailInfo[0].gugun||'' : '',
location: detailInfo.length > 0 ? detailInfo[0].addr||'' : '',
fctCpc: detailInfo.length > 0 ? detailInfo[0].fctCpc||'' : 0,
trtDstr: detailInfo.length > 0 ? detailInfo[0].trtDstr||'' : '',
};
return item;
})
);
const startIndex = (pageNo - 1) * pageSize;
@@ -365,7 +357,7 @@ export const processAreaReducer:(set:SetStateFunction)=>ProcessAreaActions=(set:
* @param pageNo : 페이지 번호
* @param pageSize : 페이지 크기
*/
searchProcessAreaList: async ( pageNo:number, pageSize:number, ctpvNm?:string, sggNm?:string, targetYear?:string) => {
searchProcessAreaList: async ( pageNo:number, pageSize:number, sidoValue?:string, sggValue?:string, ctpvNm?:string, sggNm?:string, targetYear?:string) => {
set((state: ProcessAreaType) => ({
...state,
ProcessArea: {
@@ -373,7 +365,55 @@ export const processAreaReducer:(set:SetStateFunction)=>ProcessAreaActions=(set:
isLoading: true,
},
}));
const res = await fetchProcessAreaList(pageNo, pageSize, ctpvNm, sggNm, targetYear, set);
//const res = await fetchProcessAreaList(pageNo, pageSize, ctpvNm, sggNm, targetYear, set);
const res = await fetchFacilityListArea(pageNo, pageSize, sidoValue, sggValue, targetYear);
set((state: ProcessAreaType) => ({
...state,
ProcessArea: {
...state.ProcessArea,
processAreaList: res.data,
processAreaCount: res.count,
isInit: true,
},
}));
const fcltyList = res.data;
for(let i=0; i<fcltyList.length; i++){
const fcltyCd = fcltyList[i].swtrmtFcltCd;
const fcltyRes = await fetchPlanInfo(targetYear, ctpvNm, sggNm, fcltyCd);
if(fcltyRes && fcltyRes.length > 0){
// 증설계획
fcltyList[i].planSwageQntSumDt4 = fcltyRes[0].planSwageQntSumDt4;
fcltyList[i].planSwageQntSum = fcltyRes[0].planSwageQntSum;
fcltyList[i].planSwageQntSumDc1 = fcltyRes[0].planSwageQntSumDc1;
fcltyList[i].planSwageQntSumDc2 = fcltyRes[0].planSwageQntSumDc2;
fcltyList[i].planSwageQntSumDc3 = fcltyRes[0].planSwageQntSumDc3;
fcltyList[i].planSwageQntSumDc4 = fcltyRes[0].planSwageQntSumDc4;
// 처리인구
fcltyList[i].swtrmtPpltnCntDt4 = fcltyRes[0].swtrmtPpltnCntDt4;
fcltyList[i].swtrmtPpltnCnt = fcltyRes[0].swtrmtPpltnCnt;
fcltyList[i].swtrmtPpltnCntDc1 = fcltyRes[0].swtrmtPpltnCntDc1;
fcltyList[i].swtrmtPpltnCntDc2 = fcltyRes[0].swtrmtPpltnCntDc2;
fcltyList[i].swtrmtPpltnCntDc3 = fcltyRes[0].swtrmtPpltnCntDc3;
fcltyList[i].swtrmtPpltnCntDc4 = fcltyRes[0].swtrmtPpltnCntDc4;
// 처리구역면적
fcltyList[i].swtrmtZoneAreaDt4 = fcltyRes[0].swtrmtZoneAreaDt4;
fcltyList[i].swtrmtZoneArea = fcltyRes[0].swtrmtZoneArea;
fcltyList[i].swtrmtZoneAreaDc1 = fcltyRes[0].swtrmtZoneAreaDc1;
fcltyList[i].swtrmtZoneAreaDc2 = fcltyRes[0].swtrmtZoneAreaDc2;
fcltyList[i].swtrmtZoneAreaDc3 = fcltyRes[0].swtrmtZoneAreaDc3;
fcltyList[i].swtrmtZoneAreaDc4 = fcltyRes[0].swtrmtZoneAreaDc4;
// 계획연도
fcltyList[i].planYrDt4 = fcltyRes[0].planYrDt4;
fcltyList[i].planYr = fcltyRes[0].planYr;
fcltyList[i].planYrDc1 = fcltyRes[0].planYrDc1;
fcltyList[i].planYrDc2 = fcltyRes[0].planYrDc2;
fcltyList[i].planYrDc3 = fcltyRes[0].planYrDc3;
fcltyList[i].planYrDc4 = fcltyRes[0].planYrDc4;
}
}
res.data.forEach((item:ProcessAreaProps) => {
DataForm({ type: 'float1', column: 'fctCpc', item:item as unknown as Record<string, unknown>});
})
@@ -431,6 +431,29 @@ export const fetchFacilityListInit = async (pageNo:number, pageSize:number, part
}
};
// 시설정보 리스트 데이터 호출(구분 선택 후 시설명 있을 경우) 처리구역용. pageNo, pageSize, ctpvNm, sggNm, targetYear,
export const fetchFacilityListArea = async (pageNo:number, pageSize:number, ctpvNm?:string, sggNm?:string, targetYear?:string ): Promise<{data:any[], count:number}> => {
try {
console.log(pageNo, pageSize ,ctpvNm, sggNm, targetYear)
const tailStr = "/A"+ (ctpvNm?"/"+ctpvNm:"/0") + (sggNm?"/"+sggNm:"/0") + "/0/0" ;
console.log(tailStr);
const url = '/prcsFclt/info/'+pageNo+'/'+pageSize+tailStr;
const res = await getFetch('fo', url);
res.data.forEach((item: Record<string, unknown>) => {
item.daddr = item.addr ? item.addr : '';
item.sidoNm = item.sido ? item.sido : '';
item.sigungo = item.gugun ? item.gugun : '';
item.swtrmtFcltNm = item.bscFctNm ? item.bscFctNm : '';
item.location = item.daddr ? item.daddr : '';
item.trtDstr = item.trtDstr ? item.trtDstr : '';
});
return res;
} catch (error) {
console.error('시설정보 데이터를 가져오는데 실패했습니다:', error);
return {data: [], count: 0};
}
};
const fetchFacilityList = async (pageNo:number, pageSize:number, partValue?:string, nameCd?:string, fcltCpct?:string, oprtngSttsCd?:string, facilityPartValue?:string, facilityName?:string ): Promise<{data:facilityListProps[], count:number}> => {
try {