### 방송 수신 ID 표출 - 상황관제시스템 해도에 육상국 최근 송신방송, 각 선박 마지막 수신 방송, 24시간 이내 방송 수신 이력 표출 - 표출항목 : ```txt [최근 송신 방송] 방송일시, 방송ID, 방송종류, 송신모뎀(해당선박의 위치 수신모뎀기준) [마지막 수신 방송] 수신일시(방송이후 최초 위치보고일시), 방송ID, 방송종류, 수신위치, 통달거리(수신모뎀기준 해당지역의 송신소로부터 수신 위치까지의 거리), 최초 수신까지 걸린 시간, 수신모뎀 [24시간이내 수신한 방송 이력] [마지막 수신 방송]과 동일 (Grid형식) ``` ### TssGW 최종위치데이터 <-> 최종조업 및 항적 데이터 불일치 - 패킷의 위치보고시각을 기준으로 최종위치테이블 업데이트 수행 여부 체크하고 있음. - 위로직에서 ====**패킷에 해당하는 Slot번호가 아니라 0번슬롯의 최종위치시각과 패킷의 시각을 비교함.** - ====**최종위치 시각에서 시분초는 제외하고 날짜만 비교함.** - 패킷이 보고시각 순서로 들어오지 않음. - 위 사항으로 인해 패킷이 들어오는 순서대로 최종 위치수신시각이 업데이트 되었고 - 핸재패킷의 시각이 이전패킷의 시각보다 이른 시각이여도 그대로 업데이트 됨. - 현행 프로그램에서 Data부 해더의 Slot으로 보고시각을 비교하는데 해당 데이터는 대부분 0으로 들어옴. - 최종위치인지 비교시 년월일까지만 비교함 ### 수동위치보고응답 데이터 누락되는 문제. - MMSI가 0으로 고정되어 모뎀+보고일시가 동일하면 누락됨. - Data 해더부에 MMSI가 0으로 고정되어 전송되고 있음. - ===Data Binary 부분의 Slot번호로 MMSI검색하여 업데이트하도록 수정. ### 동일시간대 여려방송이 방생하여 인덱스7개 금방 차버리는 문제 - 동일시간대 일+시+분 까지 체크하여 동일한 시간대면 1개로 발송. ### DB서버 시각 동기화 - 물리적인 위치 아는사람 없음.. - 수협본회 데이터분석서버(112)번에서 Putty로 110번 접속가능. --- ##### 확인필요 - 수동위치보고 응답패킷 보고일자와 slot 불일치 ```sql /* $SYENC,29,MD213|12,20220530061357,0,216,Ag2B9BNzq9WX8M/+P/KAA9/3iAkX/zAJ6AZQBLgKCALoCvf++Avn/RALn/1IsnF61JOgg9U=*47 $SYENC,29,MD038|12,20220530062328,0,0,AgkyBM3Tt09YK3fPGCBXxLgcD8HIEne8iBf/vuAX378wF+e+0BefvfAcn8OwjuewN+eF544=*60 $SYENC,29,MD112|12,20220530000000,0,147,AgkyBM3Tt09YK3fPGCBXxLgcD8HIEne8iBf/vuAX378wF+e+0BefvfAcn8OwjuewN+eF544=*66 $SYENC,29,MD112|12,20220530000000,0,920,AjmCBf6ztiTIET/IIBBXyQgVV8uoF5fMqBXXzLAVN8sgFN/LiBTXyhgUx8eQLtQNS/5KDGQ=*1D $SYENC,29,MD038|12,20220530064542,0,0,AjmCBf6ztiTIET/IIBBXyQgVV8uoF5fMqBXXzLAVN8sgFN/LiBTXyhgUx8eQLtQNS/5KDGQ=*1E */ SELECT * FROM TB_PASSIVLC_RSPNS WHERE to_char(INSERT_DT , 'yyyymmdd') LIKE '20220608' ``` - [x] ~~- 패킷일부 처리안됨 : tmp_29packet - [x] ~~- 패킷없는 데이터가 TB_TRACK에 생성됨 : tmp_nonlc : 조업구분 필드 값 15로 들어온경우(정상) - [x] ~~- 패킷총량과 DB Table 튜플수 불일치 : 2,872 / 2877(5개는 수동) - [x] ~~TB_TRACK과 TB_LC_FSHOPRRPT 불일치 : 2,196 / 2,872 : 키컬럼 차이(정상) ### Tss 29번 패킷 확인 ```sql -- 처리안된 퐤킷 확인 SELECT * FROM tmp_29packet a WHERE NOT EXISTS ( SELECT 'x' FROM TB_LC_FSHOPRRPT_202205 WHERE instr(a.PACKET , to_char(REPORT_DT, 'yyyymmddhh24miss') ) > 1 ) -- TB_TRACK과 TB_LC_FSHOPRRPT 불일치 SELECT SLOT_NO , to_char(REPORT_DT, 'yyyymmddhh24miss') AS reporrt_txt FROM TB_TRACK_05 a WHERE to_char(INSERT_DT , 'yyyymmdd') LIKE '20220608' AND NOT EXISTS ( SELECT SLOT_NO , REPORT_DT FROM TB_LC_FSHOPRRPT_202205 WHERE to_char(INSERT_DT , 'yyyymmdd') LIKE '20220608' AND SLOT_NO = a.slot_no AND REPORT_DT = a.report_dt ) ------패킷전송Test------------------------------------------------------------------------------------ SELECT to_char(REPORT_DT, 'yyyymmddhh24miss') AS reporrt_txt, a.* FROM TB_LAST_LC a --WHERE to_char(INSERT_DT , 'yyyymmdd') LIKE '20220608' WHERE SLOT_NO = '1024' SELECT * FROM TB_LAST_LC a --WHERE to_char(INSERT_DT , 'yyyymmdd') LIKE '20220608' WHERE SLOT_NO = '1024' SELECT * FROM TB_LC_FSHOPRRPT_202205 WHERE to_char(INSERT_DT , 'yyyymmdd') LIKE '20220608' --AND to_char(REPORT_DT, 'yyyymmddhh24miss') = '20220530061328' --AND SLOT_NO = 147 ORDER BY INSERT_DT DESC , rowid desc SELECT sysdate FROM dual SELECT to_char(REPORT_DT, 'yyyymmddhh24miss') AS reporrt_txt, a.* FROM TB_TRACK_05 a WHERE to_char(INSERT_DT , 'yyyymmdd') LIKE '20220608' --AND to_char(REPORT_DT, 'yyyymmddhh24miss') = '20220529223000' --AND SLOT_NO = 1024 ORDER BY INSERT_DT DESC, rowid desc ```