📄 sk.h
字号:
//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//用户输入 日期 Query_2.DailyDate//进入查询2 函数: int TAX_DAY_QUERY( struct Query_2 *Data );//参数 struct Query_2 *Data//功能:函数要从 税控器中 查找 对应日期的日累计记录,将数据 填入结构//返回:int 成功=0; 不成功=见错误表;//显示 查询内容//===========================================================================//税控数据查询(申报数据)struct Query_3{ unsigned char BeginDate[11]; //申报起算日期 YYYY-MM-DD 10 ASC STR unsigned char ValidDate[11]; //申报截至日期 YYYY-MM-DD 10 ASC STR unsigned char InvoiceCnt[8]; //正常发票份数 "0000000" (不足前面补空格) unsigned char ReturnCnt[8]; //退票份数 unsigned char CancelCnt[8]; //废票份数 unsigned char TaxTypeIndex[13]; //税种税目索引号 unsigned char SubTotal[6][13]; //正常发票分类累计金额 000,000,000·00 (不足前面补空格) unsigned char SubRetVal[6][13]; //退票分类累计金额 000,000,000·00 (不足前面补空格) unsigned char TotalSaleVal[13]; //正常销售合计金额 unsigned char TotalRetVal[13]; //退货合计金额};//+++++++++++++++++++++++++++++++++++++++++++++++++//处理过程参考://+++++++++++++++++++++++++++++++++++++++++++++++++//用户输入 日期 Query_3.BeginDate (年月)//进入查询3 函数: int TAX_DECLARE_QUERY( struct Query_3 *Data );//参数 struct Query_3 *Data//功能:函数要从 税控器中 查找 对应日期的纳税申报记录,将数据 填入结构//返回:int 成功=0; 不成功=见错误表;//显示 查询内容//===========================================================================//开票 正常/退票/作废struct SaleData //税控 开票数据结构{ char Date[8]; //日期 YYYYMMDD char Type; //开票类型 1/2/3 (开票/退票/废票) char InvCode[11]; //发票号 char RetInvCode[11]; //退货:原票号 long Val[6]; //票据分类金额 long Total; //总金额 char UserName[41]; //交款单位名称 struct{ char Name[30]; //品名 long Price; //单价 int Num; //数量 int TaxIndexCode; //税目索引号 };//显示 当前日期 .Date ,发票号 .InvCode//销售/退票: .Type//用户输入"交款单位名称" .UserName//用户 输入 开票数据// 循环选择 // 交易种类(税目),输入交易金额 .Val[6]// 累加合计,并显示 合计金额 .Total //退票: 输入 原发票号 .RetInvCode// .or.//作废票:.Type//进入 发票打印函数(销售/退票/作废)int TaxCtrBalance( struct SaleData *Data );//参数 struct SaleData *Data//功能:函数 向税控器 送销售授权申请,返回的 授权防伪码 填入结构//返回:int 成功=0; 不成功=见错误表;//显示 防伪税控码 *///结构定义struct user_ware_info{ int cnt; //当前部类名数量 struct userlist { char pinming[31]; //商品名 char shuilv[3]; //所属税率 } data[30];};struct TaxStatus{ int TaxFlg; //=0->未进入税控,=1->已进入税控 int TaxReporting; //=0->正常使用中,=1->进入纳税申报,未确认完税 int PaperRollStatus; //=0->未登记发票卷,=1->已登记发票卷 char CurCode[11]; //当前发票号 char IndexCode[13]; //税种税目索引号 010200000000 unsigned char EndDate[13]; //本次开票截止日期};struct TaxInitData /*税控初始化数据结构*/{ char BoxCode[17]; //税控器编号 16 ASC STR char UserCode[17]; //纳税人编码 16 ASC STR char UserName[41]; //纳税人单位名称 40 STR char BeginDate[11]; //应用起用日期 YYYY-MM-DD 10 ASC STR char ValidDate[11]; //应用有效日期 YYYY-MM-DD 10 ASC STR char InvalidDate[11]; //开票截止日期 YYYY-MM-DD char OneInvoiceValLimit[13]; //单张开票限额 000,000,000·00 (不足前面补空格) char TotalLimit[13]; //开票累计金额限额 char ReturnTotalLimit[13]; //退票累计金额限额 char TaxTypeIndex[13]; //税种税目索引号 "010203040506"}; struct InvoiceData /*发票分发数据结构*/{ int flg; char InvoiceCode[21]; //发票代码 20 ASC STR char BeginCode[11]; //起始号码 8 ASC STR char EndCode[11]; //截止号码 8 ASC STR char CurCode[11]; //当前发票号 8 ASC STR};struct TaxReportData /*纳税申报数据结构*/{ char BeginDate[11]; //申报起算日期 YYYY-MM-DD 10 ASC STR char CountDate[11]; //申报截至日期 YYYY-MM-DD 10 ASC STR char InvoiceCnt[8]; //正常发票份数 "0000000" (不足前面补空格) char ReturnCnt[8]; //退票份数 "0000000" (不足前面补空格) char CancelCnt[8]; //废票份数 "0000000" (不足前面补空格) char TaxTypeIndex[13]; //税种税目索引号 "010203040506" char SubTotal[6][13]; //正常发票分类累计金额 000,000,000·00 (不足前面补空格) char SubRetVal[6][13]; //退票分类累计金额 000,000,000·00 (不足前面补空格) char TotalVal[13]; //正常发票累计金额 000,000,000·00 (不足前面补空格) char RetVal[13]; //退票累计金额 000,000,000·00 (不足前面补空格)};struct CtrlData /*申报完成(完税回插)数据结构*/{ char InvalidDate[11]; //开票截止日期 YYYY-MM-DD char OneInvoiceValLimit[13]; //单张开票限额 000,000,000·00 (不足前面补空格) char TotalLimit[13]; //开票累计金额限额 char ReturnTotalLimit[13]; //退票累计金额限额 char TaxTypeIndex[13]; //税种税目索引号 "010203040506"};struct InvoiceRollData /*发票卷汇总数据结构*/{ int flg; // char InvoiceCode[21]; //发票代码 20 ASC STR char BeginCode[11]; //起始号码 8 ASC STR char EndCode[11]; //截止号码 8 ASC STR char InvoiceCnt[4]; //正票份数 "000" char ReturnCnt[4]; //退票份数 "000" char CancelCnt[4]; //废票份数 "000" char TotalVal[13]; //正票总金额 000,000,000·00 (不足前面补空格) char RetVal[13]; //废票总金额 000,000,000·00 (不足前面补空格) char BeginDate[11]; //开票起始时间 YYYY-MM-DD 10 ASC STR char StopDate[11]; //开票截止时间 YYYY-MM-DD 10 ASC STR}; struct InvoiceListData { unsigned char Flag; //稽查类别 '明细','日累计','申报记录','修改时间' ASC unsigned char Level_Str[3]; //稽查人员级别 "00"-"FE", "FF" ASC_STR unsigned char BeginCode[11]; //起始号码 11 ASC STR int Cnt; //连续数据条数 unsigned char DateStr[11]; //日期时间 YYYYY-MM-DD 如果稽查类别是'修改时间'则此处为'hh-mm' unsigned char PassWord[9]; //稽查口令}; struct Query_1 /*税控数据 查询发票明细数据结构*/{ char BeginCode[11]; //发票号 char Date[11]; //开票日期 YYYY-MM-DD char InvoiceType[5]; //开票类型 ("正常"/"退票"/"作废") char Value[13]; //开票总金额 000,000,000·00 (不足前面补空格) char CanceledInvCode[11]; //原发票号 char SecurityCode[21]; //防伪税控码};struct Query_2 /*税控数据 查询日累计数据结构*/{ char DailyDate[11]; //日累计记录日期 YYYY-MM-DD char InvoiceCnt[8]; //正票份数 "0000000" (不足前面补空格) char ReturnCnt[8]; //退票份数 "0000000" (不足前面补空格) char CancelCnt[8]; //废票份数 "0000000" (不足前面补空格) char TaxTypeIndex[13]; //税种税目索引号 "010203040506" char TotalVal[13]; //正票总金额 000,000,000·00 (不足前面补空格) char RetVal[13]; //废票总金额 000,000,000·00 (不足前面补空格)};struct Query_3 /*税控数据 查询申报数据结构*/{ unsigned char BeginDate[11]; //申报起算日期 YYYY-MM-DD 10 ASC STR unsigned char ValidDate[11]; //申报截至日期 YYYY-MM-DD 10 ASC STR unsigned char InvoiceCnt[8]; //正常发票份数 "0000000" (不足前面补空格) unsigned char ReturnCnt[8]; //退票份数 unsigned char CancelCnt[8]; //废票份数 unsigned char TaxTypeIndex[13]; //税种税目索引号 unsigned char SubTotal[6][13]; //正常发票分类累计金额 000,000,000·00 (不足前面补空格) unsigned char SubRetVal[6][13]; //退票分类累计金额 000,000,000·00 (不足前面补空格) unsigned char TotalSaleVal[13]; //正常销售合计金额 unsigned char TotalRetVal[13]; //退货合计金额};struct SaleData //税控 开票数据结构{ char Date[8]; //日期 YYYYMMDD char Type; //开票类型 1/2/3 (开票/退票/废票) char InvCode[11]; //发票号 char RetInvCode[11]; //退货:原票号 long Val[6]; //票据分类金额 long Total; //总金额 char UserName[41]; //交款单位名称 struct{ char Name[30]; //品名 long Price; //单价 int Num; //数量 int TaxIndexCode; //税目索引号 } goods[5]; char SecurityCode[21]; //防伪税控码 };struct Query_4 { unsigned char BeginCode[11]; //发票号 unsigned char Date[11]; //开票日期 YYYYMMDD unsigned char InvoiceType; //开票类型 ("正常"/"退票"/"作废") unsigned long Value; //开票总金额 unsigned char CanceledInvCode[11]; //原发票号 unsigned char SecurityCode[21]; //防伪税控码};//函数声明 void set_speed(int fdtmp, int speed); int set_Parity(int fd,int databits,int stopbits,int parity); int OpenDev(const char *Dev); int ComPortInit( int PortNo,int speed );void ShowTaxMessage(int errNo,unsigned char *errStr); int SaveUserList(struct user_ware_info *ware_info_data); //保存I Open 部类数据列表 int OpenUserList(struct user_ware_info *ware_info_data); //读出I Open 部类数据列表 int BOOT_STRAP_ININ(struct TaxStatus *statusData); //开机初始化 int TAX_INIT(struct TaxInitData *taxInitInfo); //税控初始化 int TAX_REG_BILL_NO(struct InvoiceData *regBillData); //发票分发 int TAX_DECLARE(struct TaxReportData *declareData); //纳税申报 int TAX_READ_VIGIL_FILE(struct CtrlData *vigilFileInfo); //申报完成(完税回插) int TAX_REG_BILL_ROLL_COLLECT(struct InvoiceRollData *collectData); //发票卷汇总 int TAX_CHANGE_UNIT_NAME(void); //更改单位名称 int TAX_INTO_GL_BACK(struct InvoiceListData *checkData); //进入稽查 int TAX_BringIntoEffect_GL_BACK(struct InvoiceListData *checkData); //实施核查 int TAX_BILL_QUERY(struct Query_1 *checkData); //查询发票明细 int TAX_DAY_QUERY( struct Query_2 *checkData ); //查询日累计 int TAX_DECLARE_QUERY( struct Query_3 *checkData ); //查询申报数据 int TAX_BALANCE(struct SaleData *nowSaleData); //税控 开票 int RenewBill(struct SaleData *nowSaleData); //发票重现 int INIT_GET_BILL_INFO(struct InvoiceData *regBillData); //初始化时得到发票卷信息 int ReadGLCardLevel(unsigned char *GL_level); //实施核查时读核查级别 int TAX_RETURN_BALE(struct SaleData *nowSaleData); //退货 int TAX_CTAT_QUERY(struct TaxReportData *declareData,unsigned char *name,unsigned char *machineNum); //统计查询 int TAX_SET_MACHINE_NUM(unsigned char *machine); //设置税控状态 int TAX_Print_Leave_Factory_Info(void); //打印出厂信息#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -