137 lines
11 KiB
Markdown
137 lines
11 KiB
Markdown
# 운영실태 인수인계
|
|
## 이력
|
|
 written by yjs
|
|
 2025-
|
|
## 0. 알아두면 좋아요
|
|
 - 화면 초기 화면 : 메인 대시보드(표로 보는 대시보드)
|
|
<br> - API swagger 주소 : http://con.mind-one.co.kr:11082/swagger-ui/index.html#
|
|
<br> - 단위 : 유량은 정수까지 강우량은 소수점 1자리 반올림한다, 수질은 TN, TP만 소수점 3자리, 나머지는 1자리까지 반올림한다.
|
|
<br>  ▶︎ roundNumber(value:any, decimal:number) 컴포넌트를 활용해보세요!!
|
|
<br> - 강우영향일 : 강우량이 3mm이상인 날은 강우영향일에 포함되고 하루전, 이틀전에 강우량이 3mm인 날의 경우도 강우량에 포함된다. 팝업의 강우시, 청천시 탭에서 보여주는 리스트를 만들 때 필요한 정보이니 참고한다.
|
|
<br>  ▶︎ 예시 : 1월 13일 강우량이 5일 경우 - 강우영향일 포함됨, 1월 14일, 1월 15일 강우량에 상관없이 ___강우영향일 포함됨___, 1월 16일의 경우 14일, 15일이 3mm미만이면 ___강우영향일 미포함됨___
|
|
<br>  ▶︎ CalcRainEffect(data:any, weather) 컴포넌트에서 측정일, 강우량이 포함된 데이터를 파라미터로 넘기면 강우영향일(rainEffectDay) 컬럼 및 0,1로 여부 value로 데이터에 추가되어 리턴한다.
|
|
<br> - 운영실태는 대부분 시설의 정보를 추출해주는 화면이 대다수이며 검색은 행정별, 유역별, 환경청별로 시설을 분류하여 조회하고 엑셀, 초기화, 조회 버튼이 우측에 존재한다.
|
|
<br> - 메인 대시보드의 경우에는 수질, 유량 등 조회하는 화면의 정보들을 압축해서 보여주는 화면이라고 생각하면 좋다. 그렇기 때문에 대시보드에서의 각각의 데이터와 메인 화면의 데이터가 일치하는지 검증하는 작업이 많이 필요하다.
|
|
<br> - 하루 단위의 데이터를 보여주는 모달에서 연간, 하절기, 동절기, 청천시, 강우시 등의 1년치 데이터를 필터링 하여 보여주는데 탭을 누를 시 api가 재호출 되는 형식이 아니고 1년치 데이터를 필터링 하여 출력해주고 청천시탭의 경우 강우영향일은 미포함, 강우시탭의 경우 강우영향일 포함된 데이터를 보여줘야 한다.
|
|
## 1. 표로 보기(메인 대시보드)
|
|
### 1-1) 시설정보 및 운영현황
|
|
 - 년도, 시설에 해당하는 시설정보 및 유량, 수질, 물사용량 등의 정보를 표로 표출해주는 화면
|
|
<br> - 시설계획 : 알에스원 DC-SERVICE API에서 받은 데이터를 화면에 출력
|
|
<br>  ▶︎ 주소 : 'https://apigateway.apps.rsonesoft.com/dc-service/api/v1/nowDmgMtncGnsvy';
|
|
<br>  ▶︎ 파라미터 : swtrmtFcltCd - 시설코드 / ctpvNm - 시도명 / sggNm - 시군구명 / targetYear - 대상년도
|
|
<br>  ▶︎ 리턴값(사용되는것 위주)
|
|
<br>   /**
|
|
<br>    * 증설계획
|
|
<br>    */
|
|
<br>   기승인(당초4단계), 현재, 변경1~4
|
|
<br>   planSwageQntSumDt4 : number | '',
|
|
<br>   planSwageQntSum : number | '',
|
|
<br>   planSwageQntSumDc1 : number | '',
|
|
<br>   planSwageQntSumDc2 : number | '',
|
|
<br>   planSwageQntSumDc3 : number | '',
|
|
<br>   planSwageQntSumDc4 : number | '',
|
|
<br>   /**
|
|
<br>    * 처리인구
|
|
<br>    */
|
|
<br>   // 기승인(당초4단계), 현재, 변경1~4
|
|
<br>   swtrmtPpltnCntDt4 : number | '',
|
|
<br>   swtrmtPpltnCnt : number | '',
|
|
<br>   swtrmtPpltnCntDc1 : number | '',
|
|
<br>   swtrmtPpltnCntDc2 : number | '',
|
|
<br>   swtrmtPpltnCntDc3 : number | '',
|
|
<br>   swtrmtPpltnCntDc4 : number | '',
|
|
<br>   /**
|
|
<br>    * 처리구역면적
|
|
<br>    */
|
|
<br>   // 기승인(당초4단계), 현재, 변경1~4
|
|
<br>   swtrmtZoneAreaDt4 : number | '',
|
|
<br>   swtrmtZoneArea : number | '',
|
|
<br>   swtrmtZoneAreaDc1 : number | '',
|
|
<br>   swtrmtZoneAreaDc2 : number | '',
|
|
<br>   swtrmtZoneAreaDc3 : number | '',
|
|
<br>   swtrmtZoneAreaDc4 : number | '',
|
|
<br>   // 처리구역
|
|
<br>   trtDstr : string | '',
|
|
<br>   
|
|
<br> - 물사용량 : 현재 DB가 없기 때문에 해당 년도의 평균 하수유입량 * 0.65 (65%)
|
|
<br> - 운영실태 표(우측 표)의 년도는 검색한 년도에 따라 값 설정
|
|
<br> - 유입유량 : 순수하수유입량 + 연계처리수 + 총인설비반류수
|
|
|
|
### 1-2) 메인 그래프
|
|
 - 1년치 수질항목들의 데이터들을 표출해주는 화면
|
|
<br> - lineBarChart, lineChart 컴포넌트를 사용하여 차트를 생성함
|
|
|
|
### 1-3) 강우일 운영현황
|
|
 - 1년치 시설의 강우량 데이터를 구간별로 일수와 강우량 정보를 표출해주는 화면
|
|
<br> - 순수 하루단위의 강우량에 따라서 데이터를 표출하는 것이 아닌 __강우영향일__ 계산된 후 통계를 구한다.
|
|
<br>  ▶︎ 예시 : 1월 13일 강우량이 5일 경우 - 3~10mm구간 통계포함, 1월 14일 강우량이 0일 경우 - ___3~10mm구간 통계 포함___
|
|
<br> - 설계유입수질은 처음 설계 당시의 수질 데이터이기 때문에 한개의 데이터만 추출
|
|
<br> - 시설용량 대비는 유입유량/시설용량 * 100 (비율)
|
|
<br> - 계의 경우 일수는 합계 그 외에는 평균값을 나타낸다.
|
|
## 2. 처리시설 현황
|
|
### 2-1) 처리시설 시설정보
|
|
 - 처리시설 정보들과 이력들을 조회할 수 있는 화면이다.
|
|
<br> - 모달 '기본정보' 탭의 시설계획정보는 '이력관리' 탭의 이력 리스트 중 마지막 이력의 수질정보를 표출해준다.
|
|
<br> - 모달 '이력관리' 탭에서는 이력정보와 해당 차수의 수질정보를 보여준다. (1대1)
|
|
### 2-2) 처리구역정보
|
|
 - 처리시설의 계획정보를 조회할 수 있는 화면이다.
|
|
<br> - 1-1)의 시설계획을 참고하도록 한다. 해당 api로 계획정보를 가져온다.
|
|
<br> - 요구사항 중 원래는 단계별로 년도를 괄호로 표시해달라는 요청사항이 있었으나 시설들마다 다르기 때문에 메인화면에 단계하단에 년도를 넣는게 불가능하다.
|
|
<br>  ▶︎ 대시보드의 계획정보 영역의 경우에는 시설코드를 파라미터로 던져 계획정보를 가져오기 때문에 가능하여 대시보드의 계획정보는 괄호로 년도를 추출하도록 한다.
|
|
## 3. 처리시설 연간 운영 현황
|
|
### 3-1) 강수현황
|
|
 - 시설별 강수현황을 조회할 수 있는 화면이다.
|
|
<br> - 메인화면에서의 시설별 1년치 강우일, 강우일수, 강우량 데이터는 백엔드에서 계산되어 출력되는 형식이 아니라 하루치 데이터의 object(rainyDayObjList)를 store에서 계산하여 출력한다. swagger를 참고한다.
|
|
<br>  
|
|
<br>  data": [
|
|
<br>   {
|
|
<br>    "bscFctCd": "11000SW001R",
|
|
<br>    "bscFctNm": "난지",
|
|
<br>    "sido": "서울특별시",
|
|
<br>    "gugun": " ",
|
|
<br>    "addr": "경기도 고양시 덕양구 현천동 692-2",
|
|
<br>    "fctCpc": 860000,
|
|
<br>    "stnKo": "강서",
|
|
<br>    "rvbsn": "한강",
|
|
<br>    "lgbsn": "한강본류",
|
|
<br>    "mdmbsn": "한강서울",
|
|
<br>    "rgnNm": "한강유역환경청",
|
|
<br>    "totalCount": 0,
|
|
<br>    "rainyDayObjList": [
|
|
<br>     {
|
|
<br>      "bscFctCd": "11000SW001R",
|
|
<br>      "rainDt": "2024-01-01",
|
|
<br>      "infoRnDay": 0
|
|
<br>     },
|
|
<br>     {
|
|
<br>      "bscFctCd": "11000SW001R",
|
|
<br>      "rainDt": "2024-01-02",
|
|
<br>      "infoRnDay": 0
|
|
<br>     },
|
|
<br>     .....
|
|
<br><br> - 일별 데이터 object(rainyDayObjList)를 강우영향일 구하는 컴포넌트에 던져 강우영향일을 구한 후 메인화면에 출력해야한다.
|
|
<br> - 모달 화면에서는 일별 데이터를 추출해 보여준다.
|
|
### 3-2) 유량현황
|
|
 - 시설별 년도별 유량현황을 조회할 수 있는 화면이다.
|
|
<br> - 화면의 구성은 강수현황과 같이 메인화면에는 1년치 유량정보, 모달로는 하루 단위의 유량정보를 보여주지만 메인화면에서 데이터는 집계되어 추출된다.
|
|
### 3-3) 수질현황
|
|
 - 시설별 년도별 수질현황을 조회할 수 있는 화면이다.
|
|
<br> - 2021년 이전은 COD, 21년부터는 TOC값을 표출한다. 그것을 구분하기 위해 2021년 이전의 TOC값들은 소괄호로 감싸준다.
|
|
<br> - 모달에서 '수질 TMS'의 경우에는 운영실태 API가 아닌 물재이용 API에서 데이터를 얻으며 getFetch에서 'wr' 파라미터로 물재이용 데이터를 얻는다.
|
|
<br>  ▶︎ api 주소 : http://con.mind-one.co.kr:11080/api/v1/il/getTms/{시설번호}
|
|
## 4. 운영실태
|
|
### 4-1) 오수발생량 추정
|
|
 - 물사용량 : 원래는 연간 월별 물사용량을 연계받아서 사용해야하지만 현재 연계를 받지 못하여 하수유입량의 65%를 물사용량으로 잡았다.
|
|
<br> - 오수전환율 : 90%로 고정
|
|
<br> - 오수발생량 추정 : 물사용량 * (100/오수전환율)
|
|
<br> - 연간 하수유입량과 청천시 하수유입량을 구하기 위해서 1년치 하루단위의 데이터를 가져와 계산이 필요(강우영향일 계산필요)
|
|
<br> - 물 사용량은 월별로 연계를 받기 때문에 모달에서 하수유입량을 월별로 통계를 구해야 한다.
|
|
<br> - 계산을 해보면 모달에서 월별 사용량의 평균과 1년치 데이터의 평균은 다르다. 직접 계산해보면 다를 수 밖에 없다. 하지만 값을 맞추기 위해서 모달에서의 평균값을 모달의 데이터가 아닌 1년치 데이터의 평균을 넣고 최대, 최소만 월별 데이터를 기반으로 구한다.
|
|
### 4-2) 지하수유입량 추정
|
|
 -적정여부 = 연간 지하수유입량/연평균 유입하수량*100
|
|
<br> -지하수 유입량 = 하수처리장 청천시 실제유입량 - (물사용량 × 오수전환율)
|
|
<br> -모달에서의 오수발생량 전체 평균을 구할 때 평균 하수유입량을 기반으로 한 물사용량이 아닌 현재 월 데이터에서의 평균을 구한것을 넣는다.
|
|
### 4-3) RDII분석
|
|
 -RDII 추정값 : 하절기(6~8월) 중 최저 유입 BOD일때 유입유량 x ((동절기 청천시 유입BOD - 하절기(6~8월) 중 최저 유입BOD) / (동절기 청천시 유입BOD))
|
|
<br> - RDII 추정시 일강수량 : 하절기 최저 유입 BOD 날짜의 강우량
|
|
<br> - 적정여부 : 하절기일 때 최저유입 BOD유입유량 > 시설용량 일 경우 초과유입 아니면 적정 |