diff --git a/apps/wr/app/store/stats/rainStat/index.tsx b/apps/wr/app/store/stats/rainStat/index.tsx index 2a1a5bc5a..447c2d54a 100644 --- a/apps/wr/app/store/stats/rainStat/index.tsx +++ b/apps/wr/app/store/stats/rainStat/index.tsx @@ -3,40 +3,40 @@ import type { TableUpperProps } from "../../common/type/header"; import { rainStatHeadListExport } from "./headList"; export type RainStatProps = { - ctpvCd : string //시도 - sggCd : string //시군구 - areaNm : string //행정구역명 - instlCst : number //설치비용 - archArea : number //건축연면적 - dtfcltCpct : number //처리용량(저류조용량) - wtrUsqty : number //연간사용량 - anlOperCst : number //연간운영비 - annRnwtQty : number //물사용량 - jungsudo : number //중수도​이용량 - dachae : number //대체수​이용량 - way1 : number //방법1 - way2 : number //방법2 - way3 : number //방법3 - way4 : number //방법4 - way5 : number //방법5 - way6 : number //방법6 - way7 : number //방법7 + ctpvCd: string //시도 + sggCd: string //시군구 + areaNm: string //행정구역명 + instlCst: number //설치비용 + archArea: number //건축연면적 + dtfcltCpct: number //처리용량(저류조용량) + wtrUsqty: number //연간사용량 + anlOperCst: number //연간운영비 + annRnwtQty: number //물사용량 + jungsudo: number //중수도​이용량 + dachae: number //대체수​이용량 + way1: number //방법1 + way2: number //방법2 + way3: number //방법3 + way4: number //방법4 + way5: number //방법5 + way6: number //방법6 + way7: number //방법7 } -const fetchRainStatList = async (year:string) => { - const res = await getFetch(fetchType.WR,`/reuseChk/rainy/stat/${year}`) - console.log(res); - return []; +const fetchRainStatList = async (year: string) => { + const res = await getFetch(fetchType.WR, `/reuseChk/rainy/stat/${year}`) + // console.log(res); + return res; } type rainStatActions = { - searchRainStatList : (year:string) => void + searchRainStatList: (year: string) => void } export type rainStatState = { rainStat: { - rainStatHeadList:TableUpperProps[], - rainStatList : RainStatProps[] + rainStatHeadList: TableUpperProps[], + rainStatList: RainStatProps[] } } @@ -44,17 +44,56 @@ export type rainStatType = rainStatState & rainStatActions; export const rainStatExport: rainStatState = { rainStat: { - rainStatHeadList:rainStatHeadListExport, - rainStatList : [] + rainStatHeadList: rainStatHeadListExport, + rainStatList: [] } } export const rainStatActionsExport = ( set: (fn: (state: rainStatState) => rainStatState) => void ) => { return { - searchRainStatList : async (year:string) => { + searchRainStatList: async (year: string) => { const res = await fetchRainStatList(year); const rainStatList: never[] = []; + + const grouped = Object.groupBy(res, (item: RainStatProps) => item.ctpvCd); + console.log("grouped", grouped); + + Object.values(grouped).forEach((item) => { + if (!item) return; + let instlCst = 0; + let dtfcltCpct = 0; + let wtrUsqty = 0; + let anlOperCst = 0; + let way1 = 0; + let way2 = 0; + let way3 = 0; + let way4 = 0; + let way5 = 0; + let way6 = 0; + let way7 = 0; + + item.forEach((element) => { + instlCst += element.instlCst; + dtfcltCpct += element.dtfcltCpct; + wtrUsqty += element.wtrUsqty; + anlOperCst += element.anlOperCst; + way1 += element.way1; + way2 += element.way2; + way3 += element.way3; + way4 += element.way4; + way5 += element.way5; + way6 += element.way6; + way7 += element.way7; + }) + + console.log("instlCst", instlCst) + console.log("dtfcltCpct", dtfcltCpct) + + }) + + + /* const rainStatHeadList = data.map((item:RainStatProps) => ({ ...item, ctpvCd:item.ctpvCd,