📄 diss_s.c
字号:
DisHzLinYm("1.请确认用户卡已插入!",Col2);
DL();
while(1)
{
if(invoice_input.index==19)
{
DisHzLinYm("发票存储已满",Col4);
DL();
return;
}
for(i=0;i<20;i++)
{
if(invoice_input.invoice_info[i].end_id==0) break;
}
distribute_invoice();
if(stat==1)
{
DisHzLinYm("用户卡不匹配或用户卡错误",Col4);
DL();
return;
}
if(stat>=2)
{
DisHzLinYm("无发票可分或用户卡错误!",Col4);
DL();
return;
}
//if((invoice_input.invoice_info[i].start_id==3557876)&&(invoice_input.invoice_info[i].end_id==3909944608))memset(&invoice_input.invoice_info[i].vcode,0,0x16);
else
{
memcpy(invoice_input.invoice_info[i].vcode,icc_buff,0x16);
memcpy(invoice_input1.invoice_info[i].vcode,icc_buff,0x16);
invoice_input.index++;
}
DisHzLinYm("发票分发中,请稍候...",Col4);//13856822352
DL();
}
break;
case 2:
cls();DisHzLinYm(" ESC键退出翻页",Col4);
if(memcmp(&invoice_input1,&invoice_input,sizeof(invoice_input))!=0)memcpy(&invoice_input,&invoice_input1,sizeof(invoice_input1));
for(i=0;i<20;i++)
{
sstat=(i+1)%3;
if(i%3==0)memset(prn_page_buf,32,220);
//prn_page_buf[i%5][15]='-',
long_to_asc (&prn_page_buf[i%3][4], 10, &invoice_input.invoice_info[i].start_id);
//long_to_asc (&prn_page_buf[i%5][17], 10, &invoice_input.invoice_info[i].end_id);
if(invoice_input.invoice_info[i].start_id==invoice_input.invoice_info[i].end_id)prn_page_buf[i%3][4]=0;
prn_page_buf[i%3][1]=i/10+0x30;prn_page_buf[i%3][2]=i%10+0x30;prn_page_buf[i%3][3]='>';
DisHzLinYm(&prn_page_buf[i%3],(i%3)*2+Col1);
if((sstat==0)||(i==19))
{
GetKey();
if(keyc==KEY_ESC)i=20;
else cls();
}
}
DisHzLinYm("索引号:",Col4);
getstr(2,temp,Col4);
if(keyc==KEY_ESC)break;
i=(temp[0]-48)*10+temp[1]-48;
if(i>20)break;
cls();
if(invoice_input.invoice_info[i].start_id==invoice_input.invoice_info[i].end_id)
{
DisHzLinYm("没有本卷发票",Col2);
DL();
break;
}
memcpy(icctempp,invoice_input.invoice_info[i].vcode,22);
//p= icctempp;
sstat=input_invoice();
if(sstat!=0)
{
DisHzLinYm("当前发票卷没用完",Col2);
DL();
break;
}
memcpy(&inv_cur_vol,&invoice_input.invoice_info[i],18);
memcpy(&inv_cur_info,&invoice_input.invoice_info[i].start_id,8);
inv_cur_info.f_first=1;
memset(&invoice_input.invoice_info[i],0,sizeof(invoice_input.invoice_info[i]));
invoice_input.index--;
DisHzLinYm("发票录入完成",Col3);
memcpy(&invoice_input1,&invoice_input,sizeof(invoice_input));
DL();
break;
case 3:
cls();
DisHzLinYm("请输入索引号(两位数):",Col3);
getstr(2,temp,Col4);
if(keyc==KEY_ESC)break;
i=(temp[0]-48)*10+temp[1]-48;
if(i>20)break;
memset(&invoice_input.invoice_info[i],0,sizeof(invoice_input.invoice_info[i]));
memset(&invoice_input1.invoice_info[i],0,sizeof(invoice_input.invoice_info[i]));
break;
}
}while(keyc!=KEY_ESC);
}
code uchar * Fpxe[6] = {
"退票累计限额(分):",
"纳税人名称:",
"开票截止日期:",
" 年 月 日",
"开票累计限额(分):"
};
uchar fiscal_check_getadr(uchar n)
{
uchar sstat;
ulong xdata i,Temp1,Temp2;
uchar xdata strTemp1[10],strTemp2[10],bcdTemp1[4],bcdTemp2[4];
memset(&fiscal_ck_index,0,sizeof(fiscal_ck_index));
memset(&strTemp1,0,10);
memset(&strTemp2,0,10);
cls();
/*
DisHzLinYm(" 请输入核查类别:",0);
DisHzLinYm("1.某日的日交易数据",1);
DisHzLinYm("2.时间段的日交易数据",2);
DisHzLinYm("3.号码查询单卷发票的汇总数据",3);
DisHzLinYm("4.时间段的单卷发票的汇总数据",4);
DisHzLinYm("5.起止号码查询发票打印数据",5);
DisHzLinYm("6.时间段的发票打印数据",6);
DisHzLinYm("7.时间段的申报数据",7);
*/
switch(n)
{
case 1:
case 2:
cls();
if(!F_rs232)
{
DisHzLinYm("请输入首交易日期:",Col1);
sstat=getstr(8,strTemp1,Col2);
StrToHex1(strTemp1, bcdTemp1,8);
cls();
DisHzLinYm("正在查找交易首日期...",Col2);
}
else
{
memcpy(bcdTemp1,chCommData.commbuf,4);
}
for(i=ST_DAY_ADR;i<ED_DAY_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255)
{
i=i+65536-i%65536;
goto adr1;
}
//memcpy(&inv_tmp_day,flash_temp,sizeof(inv_tmp_day));
if(memcmp(flash_temp,bcdTemp1,4)==0)// >=0非法日期输入模糊
{
fiscal_ck_index.index1=i;
if(n==1)return 0;
else break;
}
adr1:_nop_();
}
if(i>=ED_DAY_ADR) return 1;
if(!F_rs232)
{
cls();
DisHzLinYm("请输入尾交易日期:",Col3);
sstat=getstr(8,strTemp2,Col4);
StrToHex1(strTemp2,bcdTemp2,8);
cls();
DisHzLinYm("正在查找交易尾日期...",Col2);
//sstat=getstr(8,strTemp1,Col4);
//StrToHex1(strTemp1, bcdTemp1,8);
}
else
{
memcpy(bcdTemp2,chCommData.commbuf+4,4);
}
for(i=fiscal_ck_index.index1;i<ED_DAY_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255)
{
i=i+65536-i%65536;
goto adr2;
}
_nop_();
ES=0;
for(sstat=0;sstat<4;sstat++)rs232_send_byte(flash_temp[sstat]);
ES=1;
//memcpy(&inv_tmp_day,flash_temp,sizeof(inv_tmp_day));
if(memcmp(flash_temp,bcdTemp2,4)==0)//>=0
{
fiscal_ck_index.index2=i;
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
}
else _nop_();
adr2:_nop_();
}
return 1;
/*
case 3:
cls();
if(!F_rs232)
{
DisHzLinYm("请输入发票起止号码:",1);
DisHzLinYm("起始号:",2);
DisHzLinYm("终止号:",3);
sstat=getstr(10,strTemp1,2);
sscanf(strTemp1,"%lu",&fiscal_ck_index.index1);
sstat=getstr(10,strTemp1,2);
sscanf(strTemp1,"%lu",&fiscal_ck_index.index2);
}
else
{
memcpy(&fiscal_ck_index.index1,chCommData.commbuf,4);
memcpy(&fiscal_ck_index.index2,chCommData.commbuf+4,4);
}
for(i=ST_PRN_ADR;i<ED_PRN_ADR;i+=256)
{
rd_buf(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr3;}
memcpy(inv_prn_tmp_info.date,flash_temp,sizeof(inv_prn_tmp_info));
if(inv_prn_tmp_info.id==fiscal_ck_index.index1)
{
fiscal_ck_index.index1=i;
break;
}
adr3:goto adr3;
}
for(i=fiscal_ck_index.index1;i<ED_PRN_ADR;i+=256)
{
rd_buf(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr4;}
memcpy(&inv_prn_tmp_info,flash_temp,sizeof(inv_prn_tmp_info));
if(inv_prn_tmp_info.id==fiscal_ck_index.index2)
{
fiscal_ck_index.index2=i;
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
}
adr4:_nop_();
}
fiscal_ck_index.index1=0;
return 1;*/
case 4: //0k
if(!F_rs232)
{
cls();
DisHzLinYm("请输入发票卷起止使用时间:",Col2);
DisHzLinYm("起始:",Col3);
DisHzLinYm("终止:",Col4);
sstat=getstr(8,strTemp1,Col3);
StrToHex1(strTemp1, bcdTemp1,8);
sstat=getstr(8,strTemp2,Col4);
StrToHex1(strTemp2, bcdTemp2,8);
}
else
{
memcpy(bcdTemp1,chCommData.commbuf,4);
memcpy(bcdTemp2,chCommData.commbuf+4,4);
}
cls();
DisHzLinYm(" 正在查找发票卷信息...",Col2);
for(i=ST_VOL_ADR;i<ED_VOL_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr5;}
memcpy(&inv_tmp_vol,flash_temp,sizeof(inv_tmp_vol));
if(memcmp(inv_tmp_vol.end_time,bcdTemp1,4)>=0)
{
fiscal_ck_index.index1=i;
break;
}
adr5:_nop_();
}
for(i=fiscal_ck_index.index1;i<ED_VOL_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr6;}
memcpy(&inv_tmp_vol,flash_temp,sizeof(inv_tmp_vol));
if(memcmp(inv_tmp_vol.end_time,bcdTemp2,4)>0)
{
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
}
fiscal_ck_index.index2=i;
adr6:_nop_();
}
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
case 5:
if(!F_rs232)
{
cls();
DisHzLinYm("起止号码查询发票打印数据:",Col1);
DisHzLinYm("起始号码:",Col2);
DisHzLinYm("结束号码:",Col4);
Temp1=(ulong)CalDataInput(Col2);
//getstr(8,strTemp1,Col2);
//sscanf(strTemp1,"%lu",&Temp1);
//getstr(8,strTemp1,Col4);
//sscanf(strTemp1,"%lu",&Temp2);
Temp2=(ulong)CalDataInput(Col4);
}
else
{
memcpy(&Temp1,chCommData.commbuf,4);
memcpy(&Temp2,chCommData.commbuf+4,4);
}
cls();
DisHzLinYm(" 正在查找发票信息...",Col2);
for(i=ST_PRN_ADR;i<ED_PRN_ADR;i+=256) // ED_PRN_ADR
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr7;}
memcpy(&inv_prn_tmp_info,flash_temp,9);
if(inv_prn_tmp_info.id==Temp1)
{
fiscal_ck_index.index1=i;
break;
}
adr7:_nop_();
}
if(i>=ED_PRN_ADR) return 1;
for(i=fiscal_ck_index.index1;i<ED_PRN_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr8;}
memcpy(&inv_prn_tmp_info,flash_temp,9);
if(inv_prn_tmp_info.id==Temp2)
{
fiscal_ck_index.index2=i;
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
}
adr8:_nop_();
}
break;
case 6:
if(!F_rs232)
{
cls();
DisHzLinYm("时间段查询发票打印数据:",Col2);
DisHzLinYm("起始时间:",Col3);
sstat=getstr(8,strTemp1,Col3);
StrToHex1(strTemp1, bcdTemp1,8);
DisHzLinYm("结束时间:",Col4);
sstat=getstr(8,strTemp2,Col4);
StrToHex1(strTemp2, bcdTemp2,8);
}
else
{
memcpy(bcdTemp1,chCommData.commbuf,4);
memcpy(bcdTemp2,chCommData.commbuf+4,4);
}
cls();
DisHzLinYm(" 正在查找发票信息...",Col2);
for(i=ST_PRN_ADR;i<ED_PRN_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr9;}
//memcpy(&inv_prn_tmp_info,flash_temp,sizeof(inv_prn_tmp_info));
if(memcmp(flash_temp,bcdTemp1,4)>=0)//older is ==
{
fiscal_ck_index.index1=i;
break;
}
adr9:_nop_();
}
if(i>=ED_PRN_ADR)return 1;
for(i=fiscal_ck_index.index1;i<ED_PRN_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr10;}
//memcpy(&inv_prn_tmp_info,flash_temp,sizeof(inv_prn_tmp_info));
if(memcmp(flash_temp,bcdTemp2,4)>0)
{fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;return 0;}
fiscal_ck_index.index2=i;
adr10:_nop_();
}
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
case 7:
cls();
DisHzLinYm("申报数据查询",Col2);
DisHzLinYm("起始时间:",Col3);
sstat=getstr(8,strTemp1,Col3);
StrToHex1(strTemp1, bcdTemp1,8);
DisHzLinYm("结束时间:",Col4);
sstat=getstr(8,strTemp2,Col4);
StrToHex1(strTemp2, bcdTemp2,8);
cls();
DisHzLinYm(" 正在查找报税历史信息...",Col2);
for(i=ST_DCL_ADR;i<ED_DCL_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr12;}
//memcpy(&declare_data,flash_temp,sizeof(declare_data));
if(memcmp(&flash_temp[12],bcdTemp1,4)>=0)
{
fiscal_ck_index.index1=i;
break;
}
adr12:_nop_();
}
if(i>=ED_DCL_ADR)return 1;
for(i=fiscal_ck_index.index1;i<ED_DCL_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr13;}
//memcpy(&declare_data,flash_temp,sizeof(declare_data));
//if(memcmp(declare_data.ed_date,bcdTemp2,4)>=0)
if(memcmp(&flash_temp[12],bcdTemp2,4)>=0)
{
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
}
fiscal_ck_index.index2=i;
adr13:_nop_();
}
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
case 8:
if(!F_rs232)
{
cls();
DisHzLinYm("起止号码查询发票卷数据:",Col1);
DisHzLinYm("起始号码:",Col2);
DisHzLinYm("结束号码:",Col3);
Temp1=(ulong)CalDataInput(Col2);
Temp2=(ulong)CalDataInput(Col3);
//sstat=getstr(8,strTemp1,Col2);
//sscanf(strTemp1,"%lu",&Temp1);
//sstat=getstr(8,strTemp1,Col3);
//sscanf(strTemp1,"%lu",&Temp2);
}
else
{
memcpy(&Temp1,chCommData.commbuf,4);
memcpy(&Temp2,chCommData.commbuf+4,4);
}
cls();
DisHzLinYm(" 正在查找发票卷信息...",Col2);
for(i=ST_VOL_ADR;i<ED_VOL_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr18;}
//memcpy(&inv_tmp_vol,flash_temp,sizeof(inv_tmp_vol));
//if(memcmp(&inv_tmp_vol.start_id,&Temp1,4)<=0)
if(memcmp(&flash_temp[10],&Temp1,4)<=0)
{
fiscal_ck_index.index1=i;
break;
}
adr18:_nop_();
}
if(i>=ED_VOL_ADR) return 1;
for(i=fiscal_ck_index.index1;i<ED_VOL_ADR;i+=256)
{
rd_buf1(i);
if(flash_temp[0]==255){i=i+65536-i%65536;goto adr20;}
//memcpy(&inv_tmp_vol,flash_temp,sizeof(inv_tmp_vol));
//if(memcmp(&inv_tmp_vol.end_id,&Temp2,4)>=0)
if(memcmp(&flash_temp[14],&Temp2,4)>=0)
{
fiscal_ck_index.index2=i;
fiscal_ck_index.n=(fiscal_ck_index.index2-fiscal_ck_index.index1)/256+1;
return 0;
}
adr20:_nop_();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -