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

📄 publ.h

📁 dos下pos机程序 连接sybase数据库 使用Microsoft c7 编译
💻 H
字号:
#define TEXT_LEN   256
#define TYPE_LEN   20

/***** POS命令中的交易码 *****/
#define POS_SALE       'S'        /* 消费       */
#define POS_VOID       'V'        /* 冲正       */
#define POS_INQ        'Q'        /* 查询余额   */
#define POS_INB        'B'        /* 查止付     */
#define POS_DIA        'D'        /* 预拨号     */
#define POS_REV        'R'        /* 重发       */

#define REV_FILE    ".\\reversal.txt"
#define PFACE_FILE  ".\\pface"
#define LOG_FILE    ".\\log"

#define WAIT                      2

#define RESPONSE_TIMEOUT          80//59-4


/* ptoh.stat define */
#define STAT_SND                '1'
#define STAT_OK                 '2'
#define STAT_ERR                '3'

#define NOCARD -1
#define NETERR -2
#define PSWERR -3
#define SYSERR -4
#define SYBUSI -5
#define BUSIOK 0


#define TRUE      1
#define FALSE     0
#define _MAXTHK 150
#define _MAXXYK 20

//lyy添加2005年3月
#include "conscard.h"
/////////////////

/* 前台到后台的传递文件内容 */
typedef struct
{
    char TrCode;                  /* 交易码: 'S'消费, 'V'冲正, 'Q'查询, 'B'查止付, 'D'预拨号      */
    char OldCode;                 /* 原交易代码 */
    char PosId[8 + 1];              /* POS号      */
    char OperId[6 + 1];             /* 操作员号   */
    char TrDate[8 + 1];             /* 交易日期   */
    char TrTime[8 + 1];             /* 交易时间   */
    char Amount[12 + 1];            /* 金额       */
    char Track2[37 + 1];            /* 第二磁道   */
    char Track3[104 + 1];           /* 第三磁道   */
    char Pin[16 + 1];               /* 持卡人密码 */
    char AuthNo[6 + 1];             /* 授权号     */
    char Mac[16 + 1];               /* MAC值      */
    char UnitCardFlag;            /* 联名卡标志; '0'不是, '1'是      */
    char Status;
    char Flag[6 + 1];
} PTOH;

/* 后台到前台的传递文件内容 */
typedef struct
{
    char RejCode[2 + 1];            /* 返回码     */
    char ErrDisp[40 + 1];           /* 返回码含义 */
    char PosSer[6 + 1];             /* POS流水号  */
    char VposSer[6 + 1];            /* 冲正流水号 */
    char HostSer[12 + 1];           /* Gold Ser   */
    char CardNo[20 + 1];            /* 卡号       */
    char Expiry[4 + 1];             /* 有效期     */
    char Amount[12 + 1];            /* 金额       */
    char AuthNo[6 + 1];             /* 授权号     */
    char BankId;                  /* 银行号     */
    char BankName[20 + 1];          /* 银行名     */
    char CardName[20 + 1];          /* 卡名       */
    char PrtTimes;                /* 打印次数   */
    char AwardClass;              /* 中奖等级; '0'未中奖   */
    char Note1[20 + 1];               /*暂存放:余额 */
    char Status;
    char Flag[6 + 1];
} HTOP;

// --- 结构:优惠卡 ---
typedef struct
{
    char kh[11];
    char mm[7];          // 卡号,密码
    char xm[12];
    double yhl, ljss, ljys;            // 优惠率,累计实收,累计应收
    short update;       // 提交状态,-1--提交失败
    short VIP;
    char lx[2];         //卡类型
} YHK;

// --- 结构:信用卡类别 ---
typedef struct
{
    char km[3];
    char yh[11];
    char mc[11];
} XYKLB;

// --- 结构:信用卡 ---
typedef struct
{
    short xh;
    char km[3];
    char yh[13];
    char mc[11];       // 信用卡代码,银行,信用卡名称
    double je;
    short update;       // 提交状态,-1--提交失败
    char kh[17];          //lijing 卡号
} XYK;

// --- 结构:提货卡 ---
typedef struct
{
    short xh;
    char kh[11];
    char mm[7];
    char cklx[2];      // 卡号,密码,类型
    double fkje, dqye, xzje, xye;           // 发卡金额,当前余额
    short update;       // 提交状态,-1--提交失败
}THK;

//
typedef struct
{
    char spbm[9], spmc[51], fkfs[2];
    double sl, je;
}JYXX;

//付款结构表
typedef struct
{
    double xjje;    //现金金额
    double zpje;    //支票金额
    double xykje;  //信用卡金额
    YHK yhk;       //银行卡
    XYK xyk[_MAXXYK];//信用卡
    double thkje;//提货卡金额
    THK thk[_MAXTHK];//提货卡数量
    double qtje;//其他金额

    double ssje;      // 实收金额合计
    double zbje;      // 找补现金金额
    short update;     // 提交状态,-1--提交失败

    //lyy添加:2005年3月
    double ccardje;   //储值卡金额
    CCARD ccard[MAXCCARD] ;    //储值卡
    ////////////////////
} _FKStruct;

//商品数据结构
typedef struct
{
    short RecNo;        //记录号
    char spbm[9];       //商品编码
    char sptm[14];      //商品条码
    char spmc[53];      //商品名称及规格
    char jldw[5];       //单位
    char yyybm[5];      //营业员编码
    char gzbm[5];       //柜组编码
    char csbm[7];       //厂商编码
    char splb[7];       //商品类别
    char jyfs[3];       //经营方式
    double sl;          //商品数量
    double bzsl;        //包装数量
    double jj;          //进价
    double sj;          //售价
    double yhj;         //优惠价
    double yhl;         //优惠率
    double zkl;         //折扣
    double sjsj;        //实际售价
    double je;          //原价金额合计=sl*sj
    double ssje;        //实际金额合计=sl*sjsj
    double spsl;        //商品税率
    short bz;          //改售价标记
    double sswr;
    short state;        //状态 0-正常 1-条码秤商品 2-二次包装商品
    short update;       // 提交状态,-1--提交失败
    short mark;
}_SPStruct;

//销售商品数据集表
typedef struct
{
    short xh;            //序号
    short state;         //状态 0-正常 1-挂起
    _SPStruct SPList[102];//最多可以100必销售
    int RecordCount;   //笔数
    double spje;         //金额合计
    double ysje;         //应收金额
    double sl;           //数量合计
    short RecNo;         //记录号
    _FKStruct fklp;      //付款结构指针
    int lsh;         //流水号
    double se[4]; //四种税额
    double sehj;  //税额合计
}_SPLists;

//挂起的信息
typedef struct
{
    int lsh;             //流水号
    int sps;            //记录数
}_GQStruct;

//参数结构
typedef struct
{
    //收银机控制
    char SyjLx[2];   //收银机类型             1
    char SyjNo[4];   //收银机号               2
    //顾显控制
    char Gx[2];    //固显                   3
    char GxInit[15]; //固显初始化命令         4
    char GxDisp[15]; //固显显示命令           5
    //钱箱控制
    char Qx[2];      //钱箱                   6
    char QxYx[2];    //允许打开钱箱命令       7
    char QxOpen[15]; //钱箱打开命令           8
    //打印控制
    char Port[9];    //打印端口               9
    char ForFile[12];//打印格式控制文件      10
    char Dysyt[4];   //打印收银条            11
    char PLine[3];   //打印走纸行数          12
    char Qz[2];      //切纸                  14
    char PFeed[11];  //走纸命令              13
    char Dyys[5];      //打印延时              15
    char Title[21];  //打印标题              16
    char Dyspbm[11];  //打印商品编码          17
    char Dyyhj[3];   //打印优惠价            18
    char Dyssje[2];  //打印实收金额          19
    char Wtjdy[2];   //未提交打印            20
    char Bdxspz[2];  //补打销售凭证          21
    char Dytjb[2];   //打印销售统计表        22
    //访问条码控制
    char Xzbm[7];      //限制编码              23
    char Scan[2];      //扫条码                24
    //编辑控制
    char Sldjfs[2];  //数量迭加方式          25
    char Slbhxs[3];  //数量不含小数          26
    char Sswr[2];    //四舍五入处理          27
    char Yxscjl[2];  //允许删除记录          28
    char Yxxgsl[2];  //允许修改数量          29
    char Yxxgsj[2];  //允许修改售价          30
    char Xgsjfs[2];  //修改售价方式          31
    char NoEdit[2];  //                      32
    //优惠控制
    char Sddz[2];    //时点打折              33
    char Bzspdz[2];  //允许二次包装商品打折  34
    char Tmspdz[2];  //允许条码秤商品打折    35
    char Gbksy[2];   //                      36
    //功能控制
    char Gqjg[2];    //挂起及解挂            37
    char Tjfs[3];    //提交方式              38
    char Thk[5];     //提货卡                39
    char Xykjj[2];   //信用卡实时交易        40
    char Djbf[2];      //允许单机备份          41
    char Ggmm[2];    //允许修改口令          42
    char Yyy[2];     //营业员                43
    char Auto[3];    //自动下载数据          44
    char PassW[11];  //系统管理员口令        45
    char DownLoad[61];
    char Yhkh[11];   //固定优惠卡号          47
    char bz[11];     //                        48
}TOption;

typedef struct
{
    char RejCode[2 + 1];  /* 返回码  "00"成功   */
    char ErrDisp[40 + 1]; /* 返回码含义            */
    char CardNo[20 + 1];  /* 卡号               */
    char Expiry[4 + 1];   /* 有效期             */
    char AuthNo[6 + 1];   /* 授权号             */
    char PosSer[6 + 1];   /* 流水号             */
    char VposSer[6 + 1];  /* 冲流水号           */
    char HostSer[12 + 1]; /* Gold Ser      */
    char BankId;        /* 银行行号
                        "1"-工  "2"-农  "3"-中 "4"-建  "5"-交      */
    char BankName[20 + 1];/* 银行名字           */
    char CardName[20 + 1];/* 银行卡名           */
    char PrtTimes;      /* 打印次数           */
    char AwardClass;    /* 中奖等级
                        "0"-未中奖  "1"-一等奖  "2"-二等奖  "3"-三等奖 */
    char Amount[12 + 1];   /* 金额       */
    char Flag[6 + 1];
} CARDOUT;

⌨️ 快捷键说明

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