배경

대시보드와 월간보고서의 전체 세대수 기준이 바뀜. 공가세대(= 당월 임대료 청구 이력이 없는 세대)를 빼고 실세대 기준으로 가입률을 내야 함. 같은 시기에 전국 운영단지 현황 위젯도 기축/신축 구분을 없애고 지역본부별 단지수로 바꿈.

변경 내용

전체 세대수를 쓰는 곳

전체 세대수는 전부 tb_sbd_opr_dly_y(동 단위는 tb_bld_opr_dly_y)에서 가져옴. 앱 이용지표만 tb_app_us_dly_y를 씀. 이 테이블들을 채우는 프로시저는 공개노트/개발/모듈/통계 집계 DB 함수. 세대수 기준이 바뀌면 아래 기능이 같이 영향을 받음.

화면쿼리쓰는 값
운영단지 현황findSbdStatus전체 세대수, 주거약자 세대수, 가입 세대수, 가입자 수
최근 입주단지 현황findNewSbdList전체 세대수, 가입 세대수, 세대 가입률
단지 정보findSbdInfo전체 세대수
동 정보findBldInfo동별 세대수, 앱 가입 비율
단지 투표 현황findVtStatus투표율 = 투표한 세대수 / 전체 세대수
운영 단지 - 동별 현황 (보고서)findBldStatus전체 세대수

공가세대 판정 기준:

  1. 임대료가 0건인 단지 → 세대 테이블의 세대수를 그대로 씀.
  2. 임대료가 등록된 단지 → 세대 테이블의 세대 id 기준으로 임대료가 있는 세대만 셈.

매입임대는 집계에서 제외함.

전국 운영단지 현황 위젯 (2026-06-16)

  • 카드: 기축 N단지 / 신축 N단지전체 단지 수만 표시. 단, 매입임대(mntnLsTpCd === '02')일 때는 기존대로 승강기/원패스를 보여줌.
  • 차트 탭: 상태별(신축/기축) → 지역본부별 단지수
  • 기축/신축 2색 스택바 → 단일 막대차트. ‘단지수’만 조회하도록 바꾸면서 자연히 해결됨.
  • 범례 제거.
  • 지역본부를 선택하면 나오던 신축/기축 pie 차트는 가입/미가입(세대 기준) 으로 바꿈.

변경 파일: resAllOprSbdBldInf.js. 기축·신축 값을 따로 담던 series를 { name: '단지수', data: [] } 하나로 만들고, 지역본부별로 hnsvrOprN + hnsvrOprY를 합산해 넣음.

주의 — NOT EXISTS 필터의 함정

스마트홈 대상단지만 남기려고 아래 조건을 씀.

AND NOT EXISTS (
    SELECT 1 FROM cmn.tb_hnsvr_m h
    WHERE h.sbd_id = tsm.sbd_id
      AND h.hnet_lnkg_ss_cd IN ('DC', 'SU')
      AND h.del_yn = 'N'
)

의도는 “DC/SU인 단지를 제외”인데, 실제 동작은 “이 단지의 홈넷서버 레코드 중 DC/SU인 게 없으면 통과”임. tb_hnsvr_m에 레코드가 아예 없는 단지(홈넷 서버 미보유)는 DC/SU도 당연히 없으므로 NOT EXISTS = TRUE가 되어 그대로 통과함. 숫자가 안 맞으면 여기를 먼저 봄.

숫자가 안 맞을 때 먼저 볼 것 (2026-09-18 코드 확인)

  • 대시보드 숫자와 목록 화면 숫자가 안 맞는 가장 흔한 원인은 공통 조인 조각 Common.smahAplFilter임. 매입임대는 필터가 없고, 건설임대는 홈넷 연동상태가 DC(연결해제)·SU(중지)가 아닌 홈넷서버가 있어야 대시보드·보고서 집계에 들어감. 목록 화면에는 이 필터가 없어 숫자가 갈림
  • 대부분의 위젯이 전일 또는 금일 기준 집계 테이블을 읽음. LMC에는 이 집계를 만드는 배치가 없으므로 숫자가 멈추면 적재하는 쪽을 봐야 함 → 공개노트/개발/모듈/통계 집계 DB 함수
  • 대시보드 3종(본사·거점관리소·단지) 모두 30분 주기로 자동 갱신됨. 본사 화면은 갱신 시 단지·거점관리소 조건을 다시 넣지 않아 일부 필터가 초기화되는 효과가 있음
  • 안전지원 이벤트의 모집단이 API마다 다름 — 합계·테이블은 SFN + NT008·NT009, 차트는 SFN + RSN합계와 차트 총합이 어긋날 수 있음
  • 단지 투표율 계산에 0 나눗셈 방어가 없어 전체세대수가 0이면 DB 오류(SQI9000) 가 남
  • 전출입 세대 현황·원패스 3종 위젯은 단지ID 필수값 검사가 주석 처리돼 있어 단지 지정 없이 호출하면 전국 집계가 나감
  • 위젯별 API·기준 시점 표는 공개노트/개발/모듈/LMC 기능 상세

확인 방법

  1. 대시보드 가입률과 월간보고서 가입률이 같은 값인지 비교함.
  2. 임대료가 등록되지 않은 단지에서 전체 세대수가 세대 테이블 값과 같은지 봄.
  3. 홈넷 서버 레코드가 없는 단지가 운영단지 수에 섞여 있지 않은지 확인함.

관련