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

📄 declare.c

📁 税控收款机源码:拼音输入法,LCD,VFD驱动,IC卡驱动,税控国标
💻 C
📖 第 1 页 / 共 5 页
字号:
            break;	
          }
		  
		   result =SelFile_id(USER_CARD,temp_len);
           if(result) return(result);
          //------------核查---------------//
	       result=audit_day_record(start_date,end_date,chk_type,0);
	      if(result==0) result=OK;
	      break;	
		 */  
    	//-------------FLASH卡申报明细-----------//
        case FLASH_CARD_DECLARE_LIST:
          //-------检查FLASH卡合法性--------//
      	  //result=check_user_card();
		  //if(result) break;
          //----------取得起止日期------------//
          result=input_date_range(&start_date,&end_date);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
          read_rtc(buf);
          if((memcmp(buf,end_date,3)<0)||(memcmp(end_date,buf,3)>0))//不可报当天的税
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
          
          //------------申报明细---------------//
        result=flash_card_tax(start_date,end_date);
		
       break;	
   
	//-------------打印统计表-----------//
        case PRINT_DUTY_RPT:
          //-------检查用户卡合法性--------//
      	  result=check_user_card();
      	  if(result) break;
		  strcpy(buf,"请先换上普通打印纸!!!\r");
          lcd_disp(1,0,buf);
          con_disp(1,0,strlen(buf),buf);
	  //----------等待按键,确认则打印---------------//
  	      result=wait_usal_key(0);
  	      clear_lcd(1,1);
		  if(result==POWER_OFF) return POWER_OFF;
  	      else if(result==CANCEL) break; 
          //----------取得起止日期------------//
          result=input_date_range(&start_date,&end_date);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
          read_rtc(buf);
          if((memcmp(buf,end_date,3)<0)||(memcmp(buf,end_date,3)==0))//不可报当天的税
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
          
          //------------打印---------------//
	       result=print_duty_report(start_date,end_date);
	      if(result==0) result=OK;
	      break;	
	//-------------打印申报数据报表-----------//
        case PRINT_DECLARE_RPT:
          //-------检查用户卡合法性--------//
      	  result=check_user_card();
      	  if(result)  break;
		  strcpy(buf,"请先换上普通打印纸!!!\r");
          lcd_disp(1,0,buf);
          con_disp(1,0,strlen(buf),buf);
	    //----------等待按键,确认则打印---------------//
  	      result=wait_usal_key(0);
  	      clear_lcd(1,1);
		  if(result==POWER_OFF) return POWER_OFF;
  	      else if(result==CANCEL) break; 
          //----------取得最近申报期申报数据地址结构------------//
          result=get_declare_addr_struct(&declare_addr);
  	      if(result) break;
		  //2005.8.16
		  result=is_collected();
          if(result)declare_addr.delare_num--;
  	      if(!declare_addr.delare_num) 
  	       {
  	        result=NO_DUTY_DATA;
  	        break;	
  	       }
  	     //----------提示最近申报期数------------//
		 
  	      sprintf(buf,"最近申报期:第%u期",declare_addr.delare_num);
  	      lcd_disp(1,0,buf);
          //----------取得起止申报期------------//
          result=input_period_range(&start_period,&end_period,declare_addr.delare_num);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
          //------------打印---------------//
          
	      result=print_declare_report(start_period,end_period,0);
	      if(result==0) result=OK;
	      break;	
//#ifdef DECLARE_INVOICE
	//-------------打印明细表-----------//
        case PRINT_LIST_RPT:
          //-------检查用户卡合法性--------//
      	  result=check_user_card();
      	  if(result) break;
          strcpy(buf,"请先换上普通打印纸!!!\r");
          lcd_disp(1,0,buf);
          con_disp(1,0,strlen(buf),buf);
	  //----------等待按键,确认则打印---------------//
  	      result=wait_usal_key(0);
  	      clear_lcd(1,1);
		  if(result==POWER_OFF) return POWER_OFF;
  	      else if(result==CANCEL) break; 
          //----------取得起止日期------------//
          result=input_date_range(&start_date,&end_date);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
          read_rtc(buf);
          if(memcmp(end_date,buf,3)>0)
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
          //------------打印---------------//
	     result=print_list_report(start_date,end_date);
	     if(result==0) result=OK;
	     break;
//#endif
    	//-------------核查数据-----------//
       case RECORD_AUDIT:
          //-------检查税控管理卡合法性--------//
          result=check_audit_card(&chk_type);
          if(result) break;//若不是税控管理卡
          else
          {
           if(!((chk_type==CHECK_LIST)||(chk_type==CHECK_DAY)||(chk_type==CHECK_DUTY)))//若此税控管理卡无此权限 	
            {
              result=POWER_FAIL;
              break;	
            }
           if(chk_type==CHECK_LIST) strcpy(buf,"核查明细记录...");            
		   else if(chk_type==CHECK_DAY)strcpy(buf,"核查日记录...");
		   else if(chk_type==CHECK_DUTY)strcpy(buf,"核查申报记录...");
		   clear_lcd(0,1);
           lcd_disp(0,0,buf);
           
          }  
          //----------取得起止日期------------//
          result=input_date_range(&start_date,&end_date);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
          read_rtc(buf);
		  if(chk_type==CHECK_LIST)
		  {
          if(memcmp(end_date,buf,3)>0)//if((memcmp(buf,end_date,3)<0)||(memcmp(buf,end_date,3)==0))//不可报当天的税
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
		  
          //------------核查---------------//
	      result=audit_list_record(start_date,end_date,chk_type);
	      if(result==0) result=OK;
		  }
		  else if(chk_type==CHECK_DAY)
		  {
		   if((memcmp(buf,end_date,3)<0)||(memcmp(buf,end_date,3)==0))//不可报当天的税
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
          //------------核查---------------//
	      result=audit_day_record(start_date,end_date,chk_type,0);
	      if(result==0) result=OK;
		  }
		  else if(chk_type==CHECK_DUTY)
		  {
		   if((memcmp(buf,end_date,3)<=0)||(memcmp(start_date,end_date,3)>0) )
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
         //----------取得最近申报期申报数据地址结构------------//
          result=get_declare_addr_struct(&declare_addr);
  	     if(result) break;
		 result=is_collected();
         if(result)declare_addr.delare_num--;
  	     if(!declare_addr.delare_num) 
  	      {
  	       result=NO_DUTY_DATA;
  	       break;	
  	      }
		  //2005. 8.5
		  result=get_period_range_bydate(start_date,end_date,&declare_addr.delare_num,&start_period,&end_period);
		  if(result) break;        
          //------------核查---------------//
	      result=audit_duty_data(start_period,end_period,chk_type);
	      if(result==0) result=OK;
	       break;
		  }
	break;	
	//-------------核查明细记录-----------//
       /* case LIST_RECORD_AUDIT:
          //-------检查税控管理卡合法性--------//
          result=check_audit_card(&chk_type);
          if(result) break;//若不是税控管理卡
          else
          {
            if(chk_type!=CHECK_LIST)//若此税控管理卡无此权限 
            {
              result=POWER_FAIL;
              break;	
            }
          }  
          //----------取得起止日期------------//
          result=input_date_range(&start_date,&end_date);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
          read_rtc(buf);
          if(memcmp(end_date,buf,3)>0)//if((memcmp(buf,end_date,3)<0)||(memcmp(buf,end_date,3)==0))//不可报当天的税
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
          //------------核查---------------//
	  result=audit_list_record(start_date,end_date,chk_type);
	  if(result==0) result=OK;
	break;	
	//-------------核查日记录-----------//
        case DAY_RECORD_AUDIT:
          //-------检查税控管理卡合法性--------//
          result=check_audit_card(&chk_type);
          
          if(result) break;//若不是税控管理卡
          else
          {
            if(chk_type!=CHECK_DAY)//若此税控管理卡无此权限 
            {
              result=POWER_FAIL;
              break;	
            }
          } 
 		  
          //----------取得起止日期------------//
          result=input_date_range(&start_date,&end_date);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
          read_rtc(buf);
          if((memcmp(buf,end_date,3)<0)||(memcmp(buf,end_date,3)==0))//不可报当天的税
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
          //------------核查---------------//
	  result=audit_day_record(start_date,end_date,chk_type,0);
	  if(result==0) result=OK;
	break;	
	
	 //-------------按日期核查申报数据-----------//
        case DUTY_DATA_AUDIT_BYDATE:
          //-------检查税控管理卡合法性--------//
          result=check_audit_card(&chk_type);
          if(result) break;//若不是税控管理卡
          else
          {
            if(chk_type!=CHECK_DUTY)//若此税控管理卡无此权限 
            {
              result=POWER_FAIL;
              break;	
            }
          } 
 		   //----------取得起止日期------------//
          result=input_date_range(&start_date,&end_date);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
		  read_rtc(buf);
          if((memcmp(buf,end_date,3)<=0)||(memcmp(start_date,end_date,3)>0) )
          {
            result=OVER_RANGE_ERROR;
            break;	
          }
         //----------取得最近申报期申报数据地址结构------------//
          result=get_declare_addr_struct(&declare_addr);
  	     if(result) break;
		 result=is_collected();
         if(result)declare_addr.delare_num--;
  	     if(!declare_addr.delare_num) 
  	      {
  	       result=NO_DUTY_DATA;
  	       break;	
  	      }
		  //2005. 8.5
		  result=get_period_range_bydate(start_date,end_date,&declare_addr.delare_num,&start_period,&end_period);
		  if(result) break;
          //send_str(2,&start_period);send_str(2,&end_period);
  	 /* //----------提示最近申报期数------------//
  	    sprintf(buf,"最近申报期为:第%bu期",(uchar)declare_addr.delare_num);
  	    lcd_disp(1,0,buf);
          //----------取得起止申报期------------//
          result=input_period_range(&start_period,&end_period,declare_addr.delare_num);
          if(result==POWER_OFF) return result;//断电,返回 
          if(result!=OK) break;
		  */
          //------------核查---------------//
	    /*result=audit_duty_data(start_period,end_period,chk_type);
	    if(result==0) result=OK;
	    break;
		*/
	//-------------按期核查申报数据-----------//
        case DUTY_DATA_AUDIT_BYQI:
          //-------检查税控管理卡合法性--------//
          result=check_audit_card(&chk_type);
          if(result) break;//若不是税控管理卡
          else
          {
            if(chk_type!=CHECK_DUTY)//若此税控管理卡无此权限 
            {
              result=POWER_FAIL;
              break;	
            }
          }  
         //----------取得最近申报期申报数据地址结构------------//
          result=get_declare_addr_struct(&declare_addr);
  	     if(result) break;
		 //2005.8.16
        result=is_collected();
        if(result)declare_addr.delare_num--;
  	     if(!declare_addr.delare_num) 
  	      {
  	       result=NO_DUTY_DATA;
  	       break;	
  	      }
	//send_str(2,&declare_addr.delare_num);
	//----------提示最近申报期数------------//
		sprintf(buf,"最近申报期为:第%u期",declare_addr.delare_num);
		lcd_disp(1,0,buf);
	//----------取得起止申报期------------//
		result=input_period_range(&start_period,&end_period,declare_addr.delare_num);
		if(result==POWER_OFF) return result;//断电,返回 
		if(result!=OK) break;
		//------------核查---------------//
		//2005.8.5
		result=audit_duty_data(start_period,end_period,chk_type);
		if(result==0) result=OK;
		break;	

	//-------------USB申报统计-----------//
        case DECLARE_DUTY_USB:
          
		//2005.11.29	
	//-------检查用户卡合法性--------//
		result=check_user_card();
		if(result) 
		{
            break;
		}
		
		//----------取得起止日期------------//
		result=is_collected();
		if(result)//未完税
		{
			strcpy(buf,"正在写入上次的申报数据..."); //校验用户卡的PIN码
			lcd_disp(1,0,buf);
			memcpy(buf,g_user_info.register_no,8);
			result=get_declare_addr_struct(&declare_addr);
            if(result)     break;
            //result = read_flash(declare_addr.delare_addr-DECLARE_LEN+83,DECLARE_LEN-83,&buf[91]);  
			result = read_flash(declare_addr.delare_addr-DECLARE_LEN,DECLARE_LEN,&buf[8]);  
            if(result)     break;
            
			buf[219]=lrcdata(219,1,buf);
			//2005.7.27
			memcpy(start_date,&buf[9],3);
			memcpy(end_date,&buf[13],3);

		}
		else
		{
			result=get_declare_date(start_date,end_date);
            if(result==POWER_OFF) return result;//断电,返回 
            if(result!=OK) break;
            read_rtc(buf);
            if(memcmp(start_date,end_date,3)>0)                       //截至日期不能小于起始日期
			{
				result=OVER_RANGE_ERROR;
				break;
			}
            if((memcmp(buf,end_date,3)<0)||(memcmp(buf,end_date,3)==0))//不可报当天的税
			{
				result=OVER_RANGE_ERROR;
				break;
			}
			//2005.8.14
		}
				
		///////////////////////////////////////////////////
		#if 0
		result=input_date_range(&start_date,&end_date);
		if(result==POWER_OFF) return result;//断电,返回 
		if(result!=OK) break;
		read_rtc(buf);
		if((memcmp(buf,end_date,3)<0)||(memcmp(buf,end_date,3)==0))//不可报当天的税
		{
			result=OVER_RANGE_ERROR;
            break;
		}
		#endif
		//2005.12.5

⌨️ 快捷键说明

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