📄 struct.h
字号:
struct day_report_struct
{
ulong money; //日收款额
ulong trade; //日交易次数
ulong discount_money; //日折扣总额
ulong service_money; //日服务费总额
ulong decrease_money; //直接折扣总额
uchar time[6]; //开始交易时间
ulong cash[8]; //日现金额
ulong cash_num[8]; //日现金销售项数
ulong not_sell_earning ; //日非销售收入
ulong not_sell_defray ; //日非销售支出
ulong retreat_num; //日退货数
ulong retreat_money; //日退款额
uchar lrc; //累加和校验
};
//共107个字节
//9、月报表结构
struct month_report_struct
{
ulong money; //月收款额
ulong trade; //月交易次数
ulong discount_money; //月折扣总额
ulong service_money; //月服务费总额
ulong decrease_money; //直接折扣总额
uchar time[6]; //开始交易时间
ulong cash[8]; //月现金额
ulong cash_num[8]; //月现金销售项数
ulong not_sell_earning; //月非销售收入
ulong not_sell_defray; //月非销售支出
ulong retreat_num; //月退货数
ulong retreat_money; //月退款额
uchar lrc; //累加和校验
};
//共107个字节
//10、CPU卡数据结构
struct cpu_user_info
{
uchar register_no[8]; //税控卡注册号BCD
uchar password[8]; //税控卡使用口令BCD
uchar application_date[4]; //应用启用日期BCD
uchar application_valid_date[4]; //应用有效日期BCD
uchar tax_payer_name[40]; //纳税人名称ASC
uchar tax_payer_code[8]; //纳税人编码BCD
uchar tax_payer_id[20]; //纳税人识别号ASC
uchar levy_dept_code[4]; //征管分局代码BCD
uchar declare_way; //申报方式HEX
uchar pin_using_mode; //使用口令标志hex
uchar issue_deline_date[4]; //开票截止日期BCD
ulong invoice_max_money; //开票单张限额HEX
ulong max_money; //开票总额限制HEX
ulong retreat_max_money; //退票总额限制HEX
uchar record_delaring; //明细申报标志HEX和税控码密钥标识
uint crc; // crc校验
};
//共117字节
//11、机器出厂数据
struct manufacturer_info_struct
{
uchar machinery_no[8]; //机器编号
uchar date[4]; //生产日期
//uchar hardware_copyright[18]; //硬件版本号,不足补0
//uchar software_copyright[18]; //软件版本号,不足补0
uint crc; // crc校验
};
//共50字节
//12、税种、税目信息
struct tax_catalog_struct
{
uchar tax_item; //税种税目压缩码(税目编码)
uchar tax_no [4]; //税种税目代码
uint tax_rate; //税率
uchar tax_chinese_name [20]; //税种税目中文名
uchar tax_english_name [20]; //税种税目英文名
uchar lrc; // 累加和校验
};
//共48字节
//13、参数结构
struct parameter_struct
{
uchar fix_service; //固定服务费
uchar fix_discount; //固定折扣
ulong bit_rate[4]; //辅币兑换率
uint crc; // crc校验
};
//共12字节
//14、累加金额结构
struct money_add_struct
{
ulong add_money; //开票累加金额
ulong retreat_money; //退票累加金额
uint crc; // crc校验
};
//共10字节
//15菜单结构
struct menu_struct
{
uchar branch; //部门号
uint no; //PLU编码
ulong quantity; //销售量
ulong money; //销售总额
uchar discount; //折扣率
uchar service; //服务费
//2005.10.14
//ulong price; //单价
};
//共13个字节
//营业员报表结构,18个字节----------------------*/
struct trade_report_struct
{
uchar trade_no; /*营业员号*/
ulong total_money; /*总交易额*/
ulong total_trade; /*总交易次数*/
ulong retreat_money; /*总退货交易额*/
ulong retreat_num; /*总退货交易次数*/
uchar lrc; // 累加和校验
};
//交易信息结构,交易时作为临时变量使用
struct trade_info_struct
{
//uchar invoice_num; //当前交易的发票数
uchar table_no; //当前台号(从0开始)
uchar menu_num ; //当前台号的菜单数
uchar invoice_type; //发票类型
ulong invoice_no; //退票或废票时的发票号码
uchar name[PAGE_ITEM_NUM][20]; //退票时的项目(商品)名称
uchar customer_name[41]; //顾客名称
uchar trade_status; //营业状态
uchar receiver_no; //收款员号
uchar trader_no; //营业员号
uchar trade_end; //交易是否完毕
uchar pay_way; //付款方式
//ulong invoice_money; //当前发票金额
ulong discount_money; //折扣总额
ulong service_money; //服务费总额
ulong decrease_money; //直接折扣总额
uchar subtotal_menuno; //上一次小计的开始菜单号(从0开始)
uchar subtotal_menunum; //上一次小计的菜单数
ulong subtotal_money; //当前小计金额
ulong total_money; //当前交易的合计金额
ulong pay_money; //付款金额
ulong pre_money; //定金
uchar bit_money_no; //辅币代号(1-4)
};
//从用户卡分发的发票卷信息暂存
struct distribute_invoice_struct
{
uchar invoice_code[10]; //发票代码
ulong invoice_start_no; //发票起始号
ulong invoice_end_no; //发票终止号
uchar MAC[4]; //MAC码
uchar input_flag; //是否已录入到税控卡
};
//从税控卡获取的发票卷信息
struct invoice_roll_info_struct
{
uchar invoice_code[10]; //发票代码
ulong invoice_start_no; //发票起始号
ulong invoice_end_no; //发票终止号
ulong invoice_curr_no; //当前发票号
};
//结构长度
#define PLU_HEAD_LEN 36 //PLU结构中信息头的长度
#define INI_TAX_LEN 48 //税目信息结构长度
#define DAY_ADDR_LEN (uint)sizeof(struct day_addr_struct) //日记录地址结构长度
#define DAY_LEN_EM (uint)sizeof(struct day_struct) //64 //日记录在eeprom中的长度
#define DAY_LEN_FH (uint)sizeof(struct day_struct)+128//192//日记录(明文和密文)在flash中的长度
#define INI_USER_LEN 117
#define DECLARE_ADDR_LEN 8 //申报数据地址结构长度
#define DECLARE_LEN 211
#define BRANCH_STRUCT_LEN (uint)sizeof(struct branch_struct) //部门报表结构长度
#define PLU_STRUCT_LEN (uint)sizeof(struct plu_struct)//51 //PLU结构长度
#define DAY_STRUCT_LEN (uint)sizeof(struct day_report_struct)//107 //日报表结构长度
#define MONTH_STRUCT_LEN (uint)sizeof(struct month_report_struct)//107 //月报表结构长度
#define RECEIVER_STRUCT_LEN (uint)sizeof(struct receiver_report_struct)//112//收款员报表结构长度
#define TRADE_STRUCT_LEN (uint)sizeof(struct trade_report_struct)//18 //营业员结构长度
#define PARAMETER_LEN (uint)sizeof(struct parameter_struct)//20 //参数结构长度
#define INV_LIST_LENGTH 27//记录明细部分长度
#define INV_ROLL_STRUCT_LENGTH (uint)sizeof(struct invoice_roll_struct)//38//发票卷结构长度
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -