/*
 *========================================================================
 *
 *   시스템명 : 요금징수 시스템
 *   파 일 명 : ft_basictbl.pc
 *   작 성 자 : 오효섭 (catacath@neighbor21.co.kr)
 *   작 성 일 : 2012.10.10
 *   수 정 일 :
 *   설    명 : 기초상태테이블의 파일/테이블간 변환처리
 *
 *========================================================================
*/

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>

#include "bas_tbl.h"
#include "lane_stat_info.h"
#include "chg_struc.h"
#include "file_nm.h"
#include "file_no.h"
#include "dir_path.h"
#include "ora_sql.h"
#include "ipc_def.h"
#include "file_lb.h"
#include "tcs_db_def.h"
#include "rpr_spec.h"

static    struct    write_info         wi;
static    struct    bas_tbl         bas_tbl_f;
static    struct    rpr_info_spec  rpr_info_f;
static    T_REVM_BASICINFO       revm_basicinfo;
static    T_REVM_LANEINFO        revm_laneinfo;
static    T_REVM_CARDRATE        revm_cardrate;
static    T_REVM_TABLENO         revm_tableno;
static    T_REVM_SCRATECAR       revm_scratecar;
static    T_REVM_RATE            revm_rate;
static    T_EXTM_LSAMMAXMIN      extm_lsammaxmin;
static    T_EXTM_LOADRATE        extm_loadrate;
static    T_EXTM_LOADMAX         extm_loadmax;
static    T_PUBM_DCCARTYPE       pubm_dccartype;
static    T_REVM_OBURATE         revm_oburate;
static    T_REVM_FAREINFO        revm_fareinfo;

int main(int argc, char *argv[])
{
    int     isfd, isrc;
    int     ii, jj, kk, mm;
    struct  lo_lane_ctrl_cmd   llcc;                /* 제어요청 info        */
    struct  lo_lane_ctrl_reply   llcr;                /* 제어반환 info        */
    char    path[128];
    char    temp[3+1];
    char    msg[128];
    char    plz_id[4];
	char kmij[9];
	int options;

	memset(kmij, 0x0, sizeof(kmij));


    if(argc < 2){
        printf("Usage : rpr_info_view -d [YYYYMMDD]\n");
        exit(0);
    }

    while((options = getopt(argc, argv, "d:")) != EOF)
    {
    switch(options)
    {
        case 'd':
        sprintf(kmij, "%.8s", optarg);
            break;
        }
    }

    sprintf(path, "%s/%s/%.8s/RPRINFOSPEC", DIR_TCS, DIR_LOG, kmij);

    isfd = open(path, FINPUT+FC_MANULOCK);

    if(isfd < 0)
    {
        printf("open error\n");
        exit(0);
    }

        while(1)
        {
    memset(&rpr_info_f, 0x0, sizeof(struct rpr_info_spec));
            isrc = read(isfd, &rpr_info_f, sizeof(struct rpr_info_spec));

	    if(isrc < 1) break;

	    printf("\n\n");
	    printf("발생일시 : [%04d/%02d/%02d %02d:%02d:%02d]\n", rpr_info_f.occ_year, rpr_info_f.occ_mon, rpr_info_f.occ_day, rpr_info_f.occ_hr, rpr_info_f.occ_min, rpr_info_f.occ_sec);
	    printf("차로번호 : [%02d]\n", rpr_info_f.lane_no);
	    printf("전송연번 : [%d]\n", rpr_info_f.seq_no);
		printf("종별 : [0x%02X]\n", rpr_info_f.knd);
		printf("기종 : [%d]\n", rpr_info_f.mchi_knd);
		printf("이상코드 : [%d]\n", rpr_info_f.stat_code);
		printf("발생/복구 구분 : [%d]\n", rpr_info_f.occ_rest_div);
		printf("근무상태 : [%d]\n", rpr_info_f.wrk_stat);
		printf("단말번호 : [%.4s]\n", rpr_info_f.trmn_no);
            printf("근무일자 : [%04d/%02d/%02d]\n",rpr_info_f.wrk_year, rpr_info_f.wrk_mon, rpr_info_f.wrk_day);
            printf("근무번호 : [%.4s]\n",rpr_info_f.wrk_no);
            printf("근무자번호 : [%.5s]\n",rpr_info_f.wrkr_no);
        }

    lb_close(isfd);
}
