⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dkcj.h

📁 170话费催交系统
💻 H
字号:
#if !defined(__MYDKCJ_H__)
#define __MYDKCJ_H__

#define ZERO_OFFSET        32400
#define ZERO_LENGTH        2000
#define ONE_OFFSET         2000 
#define ONE_LENGTH         2000
#define TWO_OFFSET         5000
#define TWO_LENGTH         2000
#define THREE_OFFSET       8400
#define THREE_LENGTH       2000
#define FOUR_OFFSET        12000
#define FOUR_LENGTH        2000
#define FIVE_OFFSET        15400
#define FIVE_LENGTH        2000
#define SIX_OFFSET         18400
#define SIX_LENGTH         2000
#define SEVEN_OFFSET       22000
#define SEVEN_LENGTH       2000
#define EIGHT_OFFSET       25400
#define EIGHT_LENGTH       2000
#define NINE_OFFSET        28800
#define NINE_LENGTH        2000
#define YEAR_OFFSET        37000
#define YEAR_LENGTH        2000
#define MONTH_OFFSET       40600
#define MONTH_LENGTH       2000 
#define DAY_OFFSET         44400
#define DAY_LENGTH         2000
#define YUAN_OFFSET        62400
#define YUAN_LENGTH        2000 
#define JIAO_OFFSET        66000
#define JIAO_LENGTH        2000
#define FEN_OFFSET         70200
#define FEN_LENGTH         2000
#define MYRIAD_OFFSET      47600
#define MYRIAD_LENGTH      2000
#define THOUSAND_OFFSET    51600
#define THOUSAND_LENGTH    2000  
#define HUNDRED_OFFSET     55000 
#define HUNDRED_LENGTH     2000
#define TEN_OFFSET         58400
#define TEN_LENGTH         2400

#define ZEROF_OFFSET        31840
#define ZEROF_LENGTH        1800
#define ONEF_OFFSET         1340 
#define ONEF_LENGTH         1440
#define TWOF_OFFSET         4580
#define TWOF_LENGTH         1600
#define THREEF_OFFSET       7900
#define THREEF_LENGTH       1760
#define FOURF_OFFSET        10980
#define FOURF_LENGTH        1600
#define FIVEF_OFFSET        14820
#define FIVEF_LENGTH        1680
#define SIXF_OFFSET         18300
#define SIXF_LENGTH         1440
#define SEVENF_OFFSET       21500
#define SEVENF_LENGTH       1560
#define EIGHTF_OFFSET       24980
#define EIGHTF_LENGTH       1320
#define NINEF_OFFSET        28460
#define NINEF_LENGTH        1440
#define YEARF_OFFSET        35900
#define YEARF_LENGTH        1600
#define MONTHF_OFFSET       39820
#define MONTHF_LENGTH       1440 
#define DAYF_OFFSET         43540
#define DAYF_LENGTH         1440
#define TENF_OFFSET         46700
#define TENF_LENGTH         2120

#define HELLO_OFFSET        400
#define HELLO_LENGTH        21000
#define NINDAO_OFFSET       0
#define NINDAO_LENGTH       4400
#define ZIYIYOU_OFFSET      11200
#define ZIYIYOU_LENGTH      20800
#define LIXI_OFFSET         36000
#define LIXI_LENGTH         3600
#define GJ_OFFSET           43600
#define GJ_LENGTH           3600
#define OTHER_OFFSET        51200
#define OTHER_LENGTH        50800

#define MAX_TONES    9
#define MAX_CHAN     4
#define STOPCHANNUM  4
#define MAXFILE      4
#define LENGTH_CJSE  20
#define LENGTH_RQ    12 
#define TELEPHONE    15
#define LENGTH_VALUE 80
#define MAXTIME      120

#define TIME_A       1
#define TIME_B       2
#define TIME_C       3
#define TIME_U       0

#define ID_WORK      1
#define ID_UNWORK    0

#define CHDEVZT_A    1

typedef struct {
   int   ca_dtn_pres;   // duration dial tone must be present
   int   ca_dtn_npres;  // time to wait before declaring no dial tone
   int   ca_dtn_deboff; // max gap allowed in an otherwise continuous dial tone
   int   ca_noanswer;   // wait period after first ringback before no answer
   int   ca_intflg;     // PVD and PAMD mode flag
} _CAP;

typedef struct {
   int   freq;          // frequency Hz
   int   deviation;     // deviation in Hz
} Freq_T;

typedef struct {
   int   time;          // time in 10ms
   int   deviation;     // deviation in ms
} State_T;

typedef struct {
   char *   str;        // informational string
   int      tid;        // tone id
   Freq_T   freq1;      // frequency 1
   Freq_T   freq2;      // frequency 2
   State_T  on;         // on time
   State_T  off;        // off time
   int      repcnt;     // repitition count
} Tone_T;

typedef struct tele_count{
	    long int all_count;
	    long int success_count;
	    long int failure_count;
	    int success_flag;
}TELE_COUNT;

typedef struct tele_info{           
	    char dkbj[LENGTH_CJSE+1];
	    char dklx[LENGTH_CJSE+1];
	    char hjje[LENGTH_CJSE+1];
	    char telephone[TELEPHONE+1];
	    char zzrq[LENGTH_RQ+1]; 
}TELE_INFO;

typedef struct sz_file{
	     int  filehandle;
	     char filename[21];
}SZ_FILE;

typedef struct cj_state{
	long current_number; //当前的催缴记录号    
        int  time_state;     //当前催缴时间
        int  time_oldstate;   //上一次催缴时间
}CJ_STATE;

typedef struct header_message{
    long record_number;
    int  header_length;
    int  record_length;
    long  year;
    long  month;
    long  day;
    long wjrql;
    char wjrqc[LENGTH_RQ+1];
    char* szdbffile;
    FILE* handle;
}HEADER_MESSAGE;

typedef struct record_message{
    int dkbj_offset;
    int dkbj_length;
    int dklx_offset;
    int dklx_length;
    int hjje_offset;
    int hjje_length;
    int telephone_offset;
    int telephone_length;
}RECORD_MESSAGE;

typedef struct number_filewz{
	    char*         szchar;
	    unsigned long    offset;
            long            length;
}NUMBER_FILEWZ;

/*
 * Channel status information structure
 */
 
TELE_COUNT telecount;
 
typedef struct {
   int chdev;           // channel device name
   int chdevzt;         // channal device current state
   int playflag;        //play vox flag
   int xbflag;          //next play file flag
   int chtime;          //max over time
   int idlework;          //channal working flag
   _CAP callp;          // parameters for PerfectCall
   Tone_T tmplts[MAX_TONES];  // PerfectCall tone definitions
   int volPos;          // current volume setting for playback
} CHINFO;

CHINFO dxinfo[MAX_CHAN];
TELE_INFO teleinfo[MAX_CHAN];
SZ_FILE  szfile[MAXFILE];
CJ_STATE cjstate;
HEADER_MESSAGE headermessage;
RECORD_MESSAGE recordmessage;

NUMBER_FILEWZ numberfilewz[]={
	{"0",ZERO_OFFSET,ZERO_LENGTH},
	{"1",ONE_OFFSET,ONE_LENGTH},
	{"2",TWO_OFFSET,TWO_LENGTH},
	{"3",THREE_OFFSET,THREE_LENGTH},
	{"4",FOUR_OFFSET,FOUR_LENGTH},
	{"5",FIVE_OFFSET,FIVE_LENGTH},
	{"6",SIX_OFFSET,SIX_LENGTH},
	{"7",SEVEN_OFFSET,SEVEN_LENGTH},
	{"8",EIGHT_OFFSET,EIGHT_LENGTH},
	{"9",NINE_OFFSET,NINE_LENGTH}
};

NUMBER_FILEWZ fastnumfilewz[]={
	{"0",ZEROF_OFFSET,ZEROF_LENGTH},
	{"1",ONEF_OFFSET,ONEF_LENGTH},
	{"2",TWOF_OFFSET,TWOF_LENGTH},
	{"3",THREEF_OFFSET,THREEF_LENGTH},
	{"4",FOURF_OFFSET,FOURF_LENGTH},
	{"5",FIVEF_OFFSET,FIVEF_LENGTH},
	{"6",SIXF_OFFSET,SIXF_LENGTH},
	{"7",SEVENF_OFFSET,SEVENF_LENGTH},
	{"8",EIGHTF_OFFSET,EIGHTF_LENGTH},
	{"9",NINEF_OFFSET,NINEF_LENGTH}
};

char* szfilename[]={
      {"hello.vox"},
      {"base.vox"},
      {"b11.vox"},
      {"d2.vox"}
};

char szdbffile[]="./dbf/dkcj.dbf";
char logfile[]="./cuijiao.log";
char* period[]={
	{"1-7"},
	{"8-14"},
	{"15-20"}
};

_CAP capDflt = {100, 300, 10, 3000, DX_PVDENABLE};       // PerfectCall params
DX_IOTT iott_cjvalue[MAX_CHAN][LENGTH_VALUE];
//DX_IOTT iottvalue;
DV_TPT tptplay[] = {
	{IO_CONT, DX_MAXTIME, 30000, TF_10MS},
	{IO_EOT, DX_LCOFF, 1, TF_LCOFF}
};

Tone_T DefaultTones[MAX_TONES] = {
   {{": Local dial tone"}, {TID_DIAL_LCL},  {400,125},  {400,125}, {0,0},     {0,0}, 0},
   {{": Int'l dial tone"}, {TID_DIAL_INTL}, {402,125},  {402,125}, {0,0},     {0,0}, 0},
   {{": Extra dial tone"}, {TID_DIAL_XTRA}, {401,125},  {401,125}, {0,0},     {0,0}, 0},
   {{": Busy tone 1"},     {TID_BUSY1},     {500,200},  {0,0},     {55,40},   {55,40}, 4},
   {{": Busy tone 2"},     {TID_BUSY2},     {500,200},  {500,200}, {55,40},   {55,40}, 4},
   {{": Ringback tone 1"}, {TID_RNGBK1},    {450,150},  {0,0},     {130,105}, {580,415}, 0},
   {{": Ringback tone 2"}, {TID_RNGBK2},    {450,150},  {450,150}, {130,105}, {580,415}, 0},
   {{": Faxtone 1"},       {TID_FAX1},      {2150,150}, {0,0},     {25,-25},  {0,0}, 0},
   {{": Faxtone 2"},       {TID_FAX2},      {1100, 50}, {0,0},     {25,-25},  {0,0}, 0}
};

static char dkbj_name[]="YQHJE";
static char dklx_name[]="QXHJE";
static char hjje_name[]="HJJE";
static char telephone_name[]="DHHM";

int   argnum;
char  argnames[MAX_CHAN][20];

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -