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

📄 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
/* 前台到后台的传递文件内容 */
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--提交失败
} _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 + -