배경

대시보드와 보고서에 스마트홈 서비스가 실제로 돌아가지 않는 단지까지 섞여 나왔음. 회선이 끊겼거나 홈넷 서버가 설치되지 않은 단지는 집계에서 빼야 함.

구분 기준은 cmn.tb_hnsvr_m 테이블의 hnet_lnkg_ss_cd(홈넷 연동 상태 코드)임.

변경 내용

연동 상태 코드 (tb_cd_dlt_m)

코드의미
ON연동중
NT미연동
ND미정
OP연동예정
NN대기
DC회선단절
SU서비스불가(미설치)

DC, SU인 단지를 대시보드·보고서 조회에서 제외함.

공통 필터 추가

Common_Mapper.xml에 재사용 가능한 sql 조각을 만듦.

<sql id="smahAplFilter">
    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'
    )
</sql>

Dsbd_Mapper.xml, Report_Mapper.xml의 각 쿼리에 아래 중 하나를 넣음.

  1. Common.commonTableJoin을 쓰는 쿼리 → <include refid="Common.smahAplFilter"/>
  2. 안 쓰는 쿼리 → 같은 조건을 직접 넣되, 별칭을 해당 쿼리의 기준 테이블로 바꾸고 매입임대(mntnLsTpCd == '02')는 제외함.
<if test='condition != "WEB" or mntnLsTpCd == null or mntnLsTpCd != "02"'>
    AND NOT EXISTS (
        SELECT 1 FROM cmn.tb_hnsvr_m h
        WHERE h.sbd_id = base_tbl.sbd_id
          AND h.hnet_lnkg_ss_cd IN ('DC', 'SU')
          AND h.del_yn = 'N'
    )
</if>

데이터 정리

“인터넷 전용회선 및 플랫폼 연동 현황” 파일을 받아 실제 끊김/미설치 단지를 확인하고 hnet_lnkg_ss_cd를 맞춤. 2026-06-04 기준 DC로 바꾼 단지: 강동천호, 화성향남2 A-21BL, 화성향남2 A-22BL, 홍천갈마곡 1BL, 진천문백, 충북옥천, 전남곡성, 경북의성, 서귀포대정. 홈넷 단지 목록에 아예 없어서 손댈 게 없던 단지: 서울번동3, 과천지식정보타운 S-11BL, 강원정선 1BL, 청주수곡, 영암학산 1BL, 광주선운2 A-2BL, 구미송정, 포항흥해 1BL, 산청신안.

확인 방법

  1. select hnet_lnkg_ss_cd, count(*) from cmn.tb_hnsvr_m where del_yn = 'N' group by 1로 코드 분포를 봄.
  2. 필터 적용 전후 대시보드 운영단지 수 차이가 DC/SU 단지 수와 맞는지 비교함.
  3. tb_hnsvr_m에 레코드가 없는 단지는 이 NOT EXISTS 조건으로 걸러지지 않음. 공개노트/개발/대시보드 세대수와 단지 현황의 주의 항목을 같이 봄.

관련