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

📄 query.c

📁 税控收款机源码:拼音输入法,LCD,VFD驱动,IC卡驱动,税控国标
💻 C
📖 第 1 页 / 共 5 页
字号:
    
  len=(PRINTAL_NUM-16)/2;
  add_blank(len,buf);
  strcat(buf,"商品销售查询报表");	
  if(funtion==PLU_SELL_REPORT_DEL)  
  memcpy(&buf[len+8],qj,4);
  error=print_str(buf);
  if(error) return(error);
  strcpy(buf,"机器号:");
  HexToStr(g_manufacturer_info.machinery_no,&buf[5],8);
  error=print_str(buf);
  if(error) return(error);
  
  error = read_eeprom((uint)5+REPORT_DATE,5,report_date);
  if(error) return READ_EEPROM_FAIL;
  for(i=0;i<5;i++) buf1[i] = report_date[i];//起始时间
  read_rtc(buf);
  for(i=0;i<5;i++) buf1[i+6] = buf[i];//当前时间
  sprintf(buf,"20%02bx年%02bx月%02bx日至20%02bx年%02bx月%02bx日"
	 ,buf1[0],buf1[1],buf1[2],buf1[6],buf1[7],buf1[8]);
  error=print_str(buf);
  if(error) return(error);
  total_cash=0;
  //total_negative=0;
  for(j=plu_start-1;j<plu_end;j++)
	 {
	 error=read_plu(j,&plu_t);
	 if(error) return error;
	 k=1;
	 if(plu_t.quantity&&plu_t.money)
	    {
	    sprintf(buf,"%04u  ",j+1);
	    pri_format(plu_t.quantity,5,buf1);
		
		print_format(PRINTAL_NUM-15,&buf[4],buf1);
	    pri_format(plu_t.money,6,&buf[PRINTAL_NUM-15]);
	    total_cash+=plu_t.money;
	  	error=print_str(buf);
       if(error) return(error);
	    k=0;
	    }
	 if(plu_t.retreat_num&&plu_t.retreat_money)
	    {
	    if(k) sprintf(buf,"%04u  ",j+1);
	    else  strcpy(buf,"      ");
	    pri_format3(plu_t.retreat_num,5,buf1);

			   print_format(PRINTAL_NUM-15,&buf[4],buf1);
			   pri_format3(plu_t.retreat_money,7,&buf[PRINTAL_NUM-11]);
			   error=print_str(buf);
               if(error) return(error);
      		   total_cash-=plu_t.retreat_money;
			   t_cash=plu_t.money-plu_t.retreat_money;
			   sprintf(buf,"合计金额:");
			   add_blank(PRINTAL_NUM-22,&buf[9]);
			   pri_format(t_cash,7,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-10]);
			  
			   error=print_str(buf);
               if(error) return(error);
			   
	    }
	 }
	 	sprintf(buf,"总计金额:");
	 	add_blank(PRINTAL_NUM-19,&buf[9]);
	 	pri_format(total_cash,7,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-10]);
	 	error=print_str(buf);
        if(error) return(error);
    	if(g_printer_sel!=1)
	{
	#ifdef C6_VER
  	 error=Fast_feed_paper_hang(160);//fpaper(8);
  	 error=Fast_feed_paper_hang(140);//fpaper(8);
  	 if(error) return LINE_FEED_FAIL;
 	#else
  	 feed_on_line(8);
 	#endif
   	}
	else
	{
	 Wei_printer_feed_paper(8);
	}
   if(funtion==PLU_SELL_REPORT_DEL)
	 {	//清除数据
	   
	 for(j=plu_start-1;j<plu_end;j++)
	    {
	    error=read_plu(j,&plu_t);
	    if(error) return error;
	    plu_t.quantity = 0;
	    plu_t.money = 0;
	    plu_t.retreat_num = 0;           //plu退款数量
	    plu_t.retreat_money = 0;         //plu退款额
	    error=write_plu(j,&plu_t);
	    if(error) return error;
	   }
	    read_rtc(report_date);
	 
	 error = write_eeprom((uint)5+REPORT_DATE,5,report_date);
	 if(error) return WRITE_EEPROM_FAIL;
	 }
  return OK;
}
#endif
#ifdef QY_DAY_RPT
/*==================================================================
函数功能:打印日查询或清机报表
入口参数:funtion--功能号
出口参数:
返回值:   ==OK,成功
	   !=0k,失败
全局变量:
编制人:     日期:2003-06-30
==================================================================*/
uchar print_day_rpt(uchar function)
{
  uchar error,len;
  uchar i;
  uchar xdata buf[160],buf1[15];
  uchar qj[]={"清机"};
  struct day_report_struct day;

  //----检查清除权限---//
  if(function==DAY_REPORT_DEL&&check_user_card())
    return USERCARD_MAC_ERROR;
    
  
  error = read_eeprom(DAY_ADDR,DAY_STRUCT_LEN,buf);
  if(error) return READ_EEPROM_FAIL;
  
	//HYS620
	error = GotoHomePosition();
	if(error)
	return PRINT_FAIL;
	//END HYS620
  memcpy((uchar *)&day,buf,DAY_STRUCT_LEN);
  len=(PRINTAL_NUM-14)/2;
  add_blank(len,buf);
  strcat(buf,"日销售查询报表");	
  if(function==DAY_REPORT_DEL)  
  memcpy(&buf[len+6],qj,4);
  error=print_str(buf);
  if(error) return(error);
  strcpy(buf,"机器号:");
  HexToStr(g_manufacturer_info.machinery_no,&buf[5],8);
  error=print_str(buf);
  if(error) return(error);
  
  for(i=0;i<5;i++) buf1[i] = day.time[i];//起始时间
  read_rtc(buf);
  for(i=0;i<5;i++) buf1[i+6] = buf[i];//当前时间
  sprintf(buf,"20%02bx年%02bx月%02bx日至20%02bx年%02bx月%02bx日"
	 ,buf1[0],buf1[1],buf1[2],buf1[6],buf1[7],buf1[8]);
  error=print_str(buf);
  if(error) return(error);
  strcpy(buf,"总交易:");
      sprintf(buf1,"%5lu",day.trade);
      print_format(PRINTAL_NUM-17,&buf[7],buf1);
      pri_format(day.money,7,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-10]);
      error=print_str(buf);
      if(error) return(error);
      strcpy(buf,"退货:  ");

      sprintf(buf1,"%5lu",day.retreat_num);
      print_format(PRINTAL_NUM-17,&buf[7],buf1);
      pri_format(day.retreat_money,7,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-10]);
      error=print_str(buf);
      if(error) return(error);
      for(i=0;i<8;i++)
	 {
	 if(!day.cash_num[i]) continue;
	 //sprintf(buf,"%8s:",money_name[i]);
	 sprintf(buf,"%6s:",money_name[i]);
       buf[6]=':';
	 sprintf(buf1,"%5lu",day.cash_num[i]);
	 print_format(PRINTAL_NUM-17,&buf[7],buf1);
	 pri_format(day.cash[i],7,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-10]);
	 error=print_str(buf);
     if(error) return(error);
	 }
    
	 if(day.not_sell_earning)
	    {
	    
	       sprintf(buf,"人民币非交易收入:  ");
	       add_blank(PRINTAL_NUM-28,&buf[19]);
	    
	        pri_format(day.not_sell_earning,6,&buf[19]);//&buf[PRINTAL_NUM-9]);
	        error=print_str(buf);
            if(error) return(error);
      	   }
	     if(day.not_sell_defray)
	     {
	       sprintf(buf,"人民币非交易支出:  ");
	       add_blank(PRINTAL_NUM-28,&buf[19]);
	       
	    pri_format(day.not_sell_defray,6,&buf[19]);//&buf[PRINTAL_NUM-9]);
	    error=print_str(buf);
        if(error) return(error);
	    
	     }
      strcpy(buf,"折扣总额:");
      add_blank(PRINTAL_NUM-18,&buf[9]);
      pri_format(day.discount_money,6,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-9]);
      error=print_str(buf);
      if(error) return(error);
      strcpy(buf,"加成总额:");
      add_blank(PRINTAL_NUM-18,&buf[9]);
      pri_format(day.service_money,6,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-9]);
      error=print_str(buf);
      if(error) return(error);
      strcpy(buf,"直接折扣总额:");
      add_blank(PRINTAL_NUM-22,&buf[13]);
      pri_format(day.decrease_money,6,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-9]);
      error=print_str(buf);
      if(error) return(error);
      if(g_printer_sel!=1)
	  {
      #ifdef C6_VER
	error=Fast_feed_paper_hang(160);//fpaper(8);
  	error=Fast_feed_paper_hang(140);//fpaper(8);
  	if(error) return LINE_FEED_FAIL;
      #else
  	feed_on_line(8);
      #endif
     }
	  else
	  {
	   Wei_printer_feed_paper(8);
	  }
	if(function==DAY_REPORT_DEL)
	 {
	 day.money = 0;
	 day.trade = 0;
	 day.discount_money = 0;
	 day.service_money = 0;
	 day.decrease_money = 0;
	 day.retreat_num = 0;		/*日退货数*/
	 day.retreat_money = 0;		/*日退款额*/
	 read_rtc(buf);
	 memcpy(day.time,buf,(uint)sizeof(day.time));
	 for(i=0;i<8;i++)
	    {
	    day.cash[i] = 0;
	    day.cash_num[i] = 0;
	    }
	 
	    day.not_sell_earning = 0;
	    day.not_sell_defray = 0;
	    day.lrc=lrcdata(DAY_STRUCT_LEN-1,1,&day); 
	  	error = write_eeprom(DAY_ADDR,DAY_STRUCT_LEN,(uchar *)&day);
	 if(error) return WRITE_EEPROM_FAIL;
	 }
  return OK;
}
#endif
#ifdef QY_MONTH_RPT
/*==================================================================
函数功能:打印月查询或清机报表
入口参数:funtion--功能号
出口参数:
返回值:   ==OK,成功
	   !=0k,失败
全局变量:
编制人:     日期:2003-06-30
==================================================================*/
uchar print_month_rpt(uchar nubemer)
{
  uchar xdata  error;
  uchar xdata i,len;
  uchar xdata buf[60],buf1[15];
  uchar xdata qj[]={"清机"};
  struct month_report_struct xdata month;

  //----检查清除权限---//
  if(nubemer==MONTH_REPORT_DEL&&check_user_card())
    return USERCARD_MAC_ERROR;
  error = read_eeprom(MONTH_ADDR,MONTH_STRUCT_LEN,(uchar *)&month);
  if(error) return READ_EEPROM_FAIL;
  
	//HYS620
	error = GotoHomePosition();
	if(error)
	return PRINT_FAIL;
	//END HYS620
  
  len=(PRINTAL_NUM-14)/2;
  add_blank(len,buf);
  strcat(buf,"月销售查询报表");	
  if(nubemer==MONTH_REPORT_DEL)  
  memcpy(&buf[len+6],qj,4);
  error=print_str(buf);
  if(error) return(error);
  strcpy(buf,"机器号:");
  HexToStr(g_manufacturer_info.machinery_no,&buf[5],8);
  error=print_str(buf);
  if(error) return(error);
  
  for(i=0;i<5;i++) buf1[i] = month.time[i];//起始时间
  read_rtc(buf);
  for(i=0;i<5;i++) buf1[i+6] = buf[i];//当前时间
  sprintf(buf,"20%02bx年%02bx月%02bx日至20%02bx年%02bx月%02bx日"
	 ,buf1[0],buf1[1],buf1[2],buf1[6],buf1[7],buf1[8]);
  error=print_str(buf);
  if(error) return(error);
  strcpy(buf,"总交易:");
  sprintf(buf1,"%5lu",month.trade);
  print_format(PRINTAL_NUM-17,&buf[7],buf1);
  pri_format(month.money,7,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-10]);
  error=print_str(buf);
  if(error) return(error);

      strcpy(buf,"退货:  ");

      sprintf(buf1,"%5lu",month.retreat_num);
      print_format(PRINTAL_NUM-17,&buf[7],buf1);
      pri_format(month.retreat_money,7,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-10]);
     error=print_str(buf);
     if(error) return(error);
      for(i=0;i<8;i++)
	 {
	 if(!month.cash_num[i]) continue;
	 //sprintf(buf,"%8s:",money_name[i]);
	 sprintf(buf,"%6s:",money_name[i]);
       buf[6]=':';
	 sprintf(buf1,"%5lu",month.cash_num[i]);
	 print_format(PRINTAL_NUM-17,&buf[7],buf1);
	 pri_format(month.cash[i],7,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-10]);
	 
	 error=print_str(buf);
     if(error) return(error);
	 }
             if(month.not_sell_earning)
             {
	       sprintf(buf,"人民币非交易收入:  ");
	       add_blank(PRINTAL_NUM-28,&buf[19]);
	       
	     pri_format(month.not_sell_earning,6,&buf[19]);//&buf[PRINTAL_NUM-9]);
	    
	     error=print_str(buf);
         if(error) return(error);
	    }
	     if(month.not_sell_defray)
	     {
	       sprintf(buf,"人民币非交易支出:  ");
	       add_blank(PRINTAL_NUM-28,&buf[19]);
	       pri_format(month.not_sell_defray,6,&buf[19]);//&buf[PRINTAL_NUM-9]);
	       error=print_str(buf);
           if(error) return(error);
	    
	    }
      
      strcpy(buf,"折扣总额:");
      add_blank(PRINTAL_NUM-18,&buf[9]);
      pri_format(month.discount_money,6,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-9]);
      error=print_str(buf);
      if(error) return(error);

      strcpy(buf,"加成总额:");
      add_blank(PRINTAL_NUM-18,&buf[9]);
      pri_format(month.service_money,6,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-9]);
      error=print_str(buf);
      if(error) return(error);

      strcpy(buf,"直接折扣总额:");
      add_blank(PRINTAL_NUM-22,&buf[13]);
      pri_format(month.decrease_money,6,&buf[PRINTAL_NUM-15]);//&buf[PRINTAL_NUM-9]);
      error=print_str(buf);
      if(error) return(error);
    if(g_printer_sel!=1)
   {
	#ifdef C6_VER
  	 error=Fast_feed_paper_hang(160);//fpaper(8);
  	 error=Fast_feed_paper_hang(140);//fpaper(8);
  	 if(error) return LINE_FEED_FAIL;
 	#else
  	 feed_on_line(8);
 	#endif
    }
   else
   {
    Wei_printer_feed_paper(8);
   }
	if(nubemer==MONTH_REPORT_DEL)
	 {
	 month.money = 0;
	 month.trade = 0;
	 month.discount_money = 0;
	 month.service_money = 0;
	 month.decrease_money = 0;
	 month.retreat_num = 0;		/*月退货数*/
	 month.retreat_money = 0;	/*月退款额*/
	 read_rtc(buf);
	 memcpy(month.time,buf,(uint)sizeof(month.time));
	 for(i=0;i<8;i++)
	 {
	   month.cash[i] = 0;
	   month.cash_num[i] = 0;
	 }
	  month.not_sell_earning = 0;
	    month.not_sell_defray = 0;
	  month.lrc=lrcdata(MONTH_STRUCT_LEN-1,1,&month); 	 	 
	 error = write_eeprom(MONTH_ADDR,MONTH_STRUCT_LEN,(uchar *)&month);
	 if(error) return WRITE_EEPROM_FAIL;
	 }
  return OK;
}
#endif
#ifdef QY_RECEIVER_RPT
/*==================================================================
函数功能:打印收款员查询或清机报表
入口参数:funtion--功能号
出口参数:
返回值:   ==OK,成功
	   !=0k,失败
全局变量:
编制人:     日期:2003-06-30
==================================================================*/
uchar print_receiver_rpt(uchar function)
{
  uchar error;
  uchar receiver_number;
  uchar i;
  uchar xdata buf[60],buf1[15];
  //uchar  t_negative;   //1:t_cash为负数  0:t_cash为正数
 // uchar  no_space;          //用于计算负号的打印位置
  long t_cash;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -