#ifndef _BILL_DEPOSIT_DEV_STRUCT_H_ #define _BILL_DEPOSIT_DEV_STRUCT_H_ #pragma pack(push, 1) typedef struct { WORD wDevice; //存款机芯当前状态 WORD wCashIn; //入钞口状态 WORD wCashOut; //退钞口状态 WORD wBuffer; //缓存(BV)状态 WORD wEnableMode; //接收模式 WORD wTransport; //通道状态 WORD wStacker; //暂存状态 int iStackerCount; //暂存钞票张数 }tCIMStatusInfo; typedef struct { char acCurrency[4]; // 币种 int iCount; // 张数序号 long lDenomination; // 面额 char cSerial; // 版本 int iDirection; // 钞票去向 0:鼓1 ... 4:暂存 5:钱箱 6:BV(缓存) 7:退钞口 int iWay; // 钞票方面 1 2 3 4 }tCIMCashInfo; typedef struct { char acORCInfo[40]; // ORC字符串 LPBYTE byImageBuffer; // 图片数据 UINT uiBuferrLen; // 图片长度 tCIMCashInfo sCIMCashInfo; // 钞票信息 char acPathName[MAX_PATH]; // 绝对路径文件名 }tCIMOCRInfo; typedef struct { int aiDispenseNumber[8]; // 每个钱箱需要出钱的张数 int aiOutNumber[8]; // 实际每个钱箱出钱的张数 int aiRejectNumber[8]; // 出钞过程中每个钱箱废钞回收的张数 char acHopper[8]; // 钱箱槽位号 }tBR15Dispense; typedef struct { char acCashUnitInfo[32]; //标识信息 char acCashUnitID[32]; //钞箱ID char acCurrencyID[4]; //币种 int iType; //钞箱类型 1:循环 2:只存 3:补钞 4:存和回收 int iValue; //面值 0:任意 *:具体面额 int iCount; //当前张数 int iNoAccount; //未入账张数 : 针对循环鼓有效 int iMaximum; //最大张数 int iStatus; //钞箱状态 0:正常 1:满 2:将满 3:低 4:空 5:不可用 6:不存在 }tCashUnitInfo; typedef struct { WORD wCIMMode; // 1:单存 2: WORD wMaxCashInItem; //最大入钞张数 BOOL bRefill; //支持自动加钞 1:支持 2:不支持 BOOL bInterStacker; //是否有暂存 1:有 2:没有 BOOL bInterBuffer; //是否有内部钞票缓存 1:有 2:没有 BOOL bItemTakenSensor; //是否支持钞票拿走Sensor 1:有 2:没有 CHAR cDevType[32]; //型号 CHAR cDevVersion[128]; //固件版本 CHAR cDLLVersion[32]; //驱动库版本 CHAR cSerialNumber[32]; //系列号 CHAR cProductDate[32]; //产品日期 }tCIMCapabilities; ////////////////////////////////////////////////////////////////////////// //获取可识别面额添加 typedef struct { long lDenomCode; // 序列号 char acCurrency[4]; // 币种比如:CNY long lDenomination; // 面额值 char cSerial; // 钞票版本 比如:A }tCIMCashProperty; ////////////////////////////////////////////////////////////////////////// //获取OCR添加 //日期 typedef struct tGRGDate { WORD wYear; //年(2009) WORD wMonth; //月(1—12) WORD wDay; //日(1—31) }tGRGDate; //钞票去向 typedef struct tGRGNoteGoDest { BYTE iType; //钞票去向类型(1:钱箱;2:钞口;3:暂存;4:URJB) char acDest[8]; //钞票去向描述(如iType==1,则为钱箱ID) }tGRGNoteGoDest; //检索类型 typedef enum eGRGQueryType { GRG_QUERY_TYPE_BACK = 0, //向后检索 GRG_QUERY_TYPE_FRONT = 1 //向前检索 }eGRGQueryType; //检索方式(上层可以根据该参数实现上下翻页查询功能) typedef struct tGRGQueryType { eGRGQueryType eType; //检索类型(GRG_QUERY_TYPE_BACK:数据库检索ID后检索;GRG_QUERY_TYPE_FRONT:数据库检索ID前检索) UINT uiID; //数据库记录的ID索引(初始查询,该值设为0) }tGRGQueryType; //交易信息参数 typedef struct tGRGTransInfoParas { char acJournalNo[32]; //交易流水号 char acAccountNo[48]; //银行账户(卡号或存折号) BYTE byTimes; //第几次存款/取款 }tGRGTransInfoParas; //钞票信息结构 typedef struct tGRGNoteDetails { UINT uiID; //数据库记录的ID索引 //SYSTEMTIME sSysTime; //交易进行时的系统时间 char acJournalNo[32]; //交易流水号 char acAccountNo[48]; //银行账户(卡号或存折号) BYTE byTimes; //交易流水号的第几次存款/取款 WORD wNoteIndex; //钞票序号 BYTE byValidation; //钞票有效性(0x00:真钞,其他为假钞,201表示是黑名单钞票) BYTE byFaceWay; //钞票面向 //0x00:正面向前、顶端在上 //0x01:正面向前、顶端在下 //0x02:背面向前、顶端在上 //0x03:背面向前、顶端在下 WORD wDenomination; //面额代号(参考GRG面额代码表) tGRGNoteGoDest sNoteGoDest; //钞票去向 char acImageFileName[64]; // 钞票冠字号图像名称 char acSerialNo[32]; //序列号图片识别后的钞票序列号 char acMac[8]; //图像校验码 //未使用 BYTE byMatchCount; //按序列号检索时,匹配个数 }tGRGNoteDetails; //钞票检索参数 typedef struct tGRGNoteQueryParas { tGRGQueryType sQueryType; //检索类型 char acJournalNo[32]; //交易流水号 char acAccountNo[48]; //银行账户(卡号或存折号) BYTE byTimes; //第几次存款/取款 WORD wDenomination; //面额代号(参考GRG面额代码表) tGRGNoteGoDest sNoteGoDest; //钞票去向 char acSerialNo[32]; //指定的序列号 tGRGDate sDateBegin; //日期开始 tGRGDate sDateEnd; //日期结束 }tGRGNoteQueryParas; //按钞票序列号检索参数 typedef struct tGRGNoteSnQueryParas { WORD wDenomination; //面额代号(参考GRG面额代码表) char acSerialNo[32]; //指定的序列号 int iMatchLevelBegin; //匹配个数开始 int iMatchLevelEnd; //匹配个数结束 tGRGDate sDateBegin; //日期开始 tGRGDate sDateEnd; //日期结束 }tGRGNoteSnQueryParas; //OCR相同序列号信息 typedef struct tGRGOcrSnSameInfo { int iCount; //相同序列号个数 char acSerialNo[32]; //相同序列号 }tGRGOcrSnSameInfo; //OCR相同序列号列表信息 typedef struct tGRGOcrSnSameList { int iTotal; //记录条数 tGRGOcrSnSameInfo asOcrSnSameInfo[64]; //最多保存64个相同序列号信息 }tGRGOcrSnSameList; ////////////////////////////////////////////////////////////////////////// //dunite 定义, 如有使用dunite 可能会报冲突 // typedef struct // { // int iLogicCode; // 逻辑错误码 // int iPhyCode; // 物理错误码 // int iHandle; // 处理方法:0-不处理 1-初始化 2-重发命令 // int iType; // 错误类型:0-警告 1-严重 // // char acDevReturn[128]; // 硬件返回信息 // char acReserve[128]; // 保留信息 // } tDevReturn; typedef struct { char acCurrency[4]; // 币种 int iFlag; // 钞票标志 long lDenomination; // 面额 char cSerial; // 版本 }tOnlyCashInfo; //补钞OCR的序列结构体 struct tSNIndex { BYTE bySN[2]; // 前两个字节表示钞票OCR在NV里的序号,第三个字节代表钞票的去向 BYTE byPos; }; #pragma pack(pop) #endif