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

📄 apsmp.c

📁 一个盘点代码
💻 C
📖 第 1 页 / 共 3 页
字号:
						}
					else if(sendfile(sendfile1)==E_OK)
						{
							cls();
							Dsp_str("盘点清单文件上传成功!",3,0);
							Dsp_str("按任意键返回",6,6);
							del_file(sendfile1);
							WAIT
						}
					break;
				}

			case '3':
				{
					cls();
					if(Is_file(sendfile2)==1)
						{
							cls();
							Dsp_str(" 进仓清单文件不存在,",3,0);
							Dsp_str("    请先创建文件!",6,0);
							warning_sound();
							WAIT
						}
					else if(sendfile(sendfile2)==E_OK)
						{
							cls();
							Dsp_str("进仓清单文件上传成功!",3,0);
							Dsp_str("按任意键返回",6,6);
							del_file(sendfile2);
							WAIT
						}
					break;
				}

			case '4':
				{  
					cls();
					if(Is_file(sendfile3)==1)
						{
							cls();
							Dsp_str(" 出仓清单文件不存在,",3,0);
							Dsp_str("    请先创建文件!",6,0);
							warning_sound();
							WAIT
						}
					else if(sendfile(sendfile3)==E_OK)
						{
							cls();
							Dsp_str("出仓清单文件上传成功!",3,0);
							Dsp_str("按任意键返回",6,6);
							del_file(sendfile3);
							WAIT
						}
					break;
				}
			
			case '5':
				{
					return;
				}
			case 12: 
				{  
					return;
				}
		}/* end switch */ 
	}/* end while(1) */ 	
}/* end main_menu4*/

/*进仓模块*/
void main_menu2(void)
{
	char kind;
	
	while(1)
	{
		cls();
		Dsp_str("   1.自动累加数量",1,0);
		Dsp_str("   2.手动输入数量",3,0);
		Dsp_str("   3.进仓数据删除    ",5,0);
		Dsp_str("   4.查看进仓清单",7,0);
		Dsp_str("   5.返回上一层  ",9,0);
		kind=getkey();
		switch(kind)  
		{
			case '1':
				{  
					main_menu21();
					break;
				}                               
			case '2':
				{  
					main_menu22();
					break;
				}
			case '3':
				{
					cls();
					Dsp_str("确定要删除进仓数据吗?",2,0);
					Dsp_str("ENT       删除",5,3);
					Dsp_str("任意键  不删除",8,3);
					kind=getkey();
					if(kind==13) del_file(sendfile2);
					break;
				}
			case '4':
				{  
					main_menu23();
					break;
				}
			case '5':
				{
					return;
				}
			case 12: 
				{  
					return;
				}
		}/* end switch */ 
	}/* end while(1) */ 	
}/* end main_menu2 */

/*自动增加进仓数量*/
void main_menu21(void)
{
	UB    buff[50],temp[80],reco[100],reco1[100],hd[80];
	UB    dd[20],hj[20],tm[30],pm[40],ddsl[20],hjtm[50],sl[20];
	W     fjlh,fjfj;
	ER    ret,ercd,kind;

	if(Is_file(sendfile2)==1)
		{
			creat_file(sendfile2);
		}

	while(1)
	{
		cls();
		memset(buff,0x00,sizeof(buff));
		memset(dd,0x00,sizeof(dd));
		Dsp_str("进仓单:",1,0);
		lcd_csr_put(1,7);
		lcd_csr_set((H)LCD_CSR_UNDER);
	/*************读入进仓单号码*****************/
		key_clear();
		ret=read_str(1,7,0,buff,15);
		lcd_csr_set((H)LCD_CSR_OFF);
		if(ret==E_KEY_CLR) return;    /*按CLS 返回*/ 
		if(strlen(buff)==0) continue;
		if(strlen(buff)<15)
			{     
				space_str(buff,15);
				memcpy(dd,buff,15);
			}
		else
			{
				strcpy(dd,buff);
			} 
		dd[15]=0x00;
		Dsp_str(dd,1,7);

		while(2)
		{
			cls();
			Dsp_str("进仓单:",1,0);
			Dsp_str(dd,1,7);
			Dsp_str("仓位:",3,0);
			memset(buff,0x00,sizeof(buff));
			memset(hj,0x00,sizeof(hj));
			lcd_csr_put(3,5);
			lcd_csr_set((H)LCD_CSR_UNDER);
		/****** 读入货架或仓位 **************/       
			key_clear();
			ret=read_str(3,5,0,buff,15);
			lcd_csr_set((H)LCD_CSR_OFF);
			if(ret==E_KEY_CLR) break;       
			if(strlen(buff)<15)
				{     
					space_str(buff,15);
					memcpy(hj,buff,15);
				}
			else
				{
					strcpy(hj,buff);
				} 	
			hj[15]=0x00;          
			Dsp_str(hj,3,5);

			while(3)
			{
				cls();
				Dsp_str("进仓单:",1,0);
				Dsp_str(dd,1,7);
				Dsp_str("仓位:",3,0);
				Dsp_str(hj,3,5);
				Dsp_str("条码:",5,0);
				memset(buff,0x00,sizeof(buff));
				memset(tm,0x00,sizeof(tm));
				lcd_csr_put(5,5);
				lcd_csr_set((H)LCD_CSR_UNDER);
			/****** 读入条码 **************/       
				key_clear();
				ret=read_str(5,5,0,buff,25);
				lcd_csr_set((H)LCD_CSR_OFF);
				if(ret==E_KEY_CLR) break;       
				if(strlen(buff)==0) continue;
				if(strlen(buff)<25)
					{     
						space_str(buff,25);
						memcpy(tm,buff,25);
					}
				else
					{
						strcpy(tm,buff);
					} 	
				tm[25]=0x00;          
				Dsp_str(tm,5,5);
				
				memset(hjtm,0x00,sizeof(hjtm));
				strcat(hjtm,hj);
				strcat(hjtm,tm);
				hjtm[40]=0x00;

				memset(reco1,0x00,sizeof(reco1));
				ercd=search(receivefile1,0,80,0,40,hjtm,reco1,&fjfj);
			/*如果找到该商品的条码,则应读出它的品名信息*/
				if(ercd==E_OK)
					{    
						memset(pm,0x00,sizeof(pm));
						memcpy(pm,reco1+40,30);  /*读入品名*/
						pm[30]=0x00;
					/*****************显示商品信息********************/
						cls();
						Dsp_str("进仓单:",1,0);
						Dsp_str(dd,1,7);
						Dsp_str("仓位:",3,0);
						Dsp_str(hj,3,5);
						Dsp_str("条码:",5,0);
						Dsp_str(tm,5,5);
						Dsp_str("名称:",7,0);
						Dsp_str(pm,7,5);
					/*************************************************/
						Dsp_str("进仓数:",9,0);
						memset(buff,0x00,sizeof(buff));
						memset(ddsl,0x00,sizeof(ddsl));
						lcd_csr_put(9,7);
						lcd_csr_set((H)LCD_CSR_UNDER);
					/****** 读入数量 **************/       
						key_clear();
						ret=read_str(9,7,2,buff,9);
						lcd_csr_set((H)LCD_CSR_OFF);
						if(ret==E_KEY_CLR) continue;    
						if(strlen(buff)==0)
							{ 
								memcpy(buff,"1",9);
								memcpy(sl,buff,9);
							}
						if(strlen(buff)<9)
							{     
								space_str(buff,9);
								memcpy(ddsl,buff,9);
							}
						else
							{
								strcpy(ddsl,buff);
							}
						ddsl[9]=0x00;
						Dsp_str(ddsl,9,7);
					
						memset(hd,0x00,sizeof(hd));
						strcat(hd,dd);
						strcat(hd,hj);
						strcat(hd,tm);
						hd[55]=0x00;
						memset(reco,0x00,sizeof(reco));
						ercd=search(sendfile2,0,65,0,55,hd,reco,&fjlh);
						if(ercd==E_OK)
							{
								memset(sl,0x00,sizeof(sl));
								memcpy(sl,reco+55,9);
								sl[9]==0x00;
								sprintf(sl,"%-9.0f",atof(sl)+atof(ddsl));
								space_str(sl,10);
								sl[9]=0x00;
       					dat_F_Write(sendfile2,0,fjlh+55,sl,9);
								make_sound();

								continue;
							}
						memset(temp,0x00,sizeof(temp));
						strcat(temp,dd);
						strcat(temp,hj);
						strcat(temp,tm);
						strcat(temp,ddsl);
	       		strcat(temp,"\xd\xa");                	
	       		temp[65]=0x00; 
	       		dat_F_Write(sendfile2,1,0,temp,65);
						make_sound();
					}
				else
					{   
						cls();
						Dsp_str("该进仓单无此条码!",3,2);
						Dsp_str("请重新扫描条码",7,2);
						warning_sound();
						WAIT
					}
			}
		}
	}
}

/*手动增加进仓数量*/
void main_menu22(void)
{
	UB    buff[50],temp[80],reco[100],reco1[100],hd[80];
	UB    dd[20],hj[20],tm[30],pm[40],ddsl[20],hjtm[50],sl[20];
	W     fjlh,fjfj;
	ER    ret,ercd,kind;

	if(Is_file(sendfile2)==1)
		{
			creat_file(sendfile2);
		}

	while(1)
	{
		cls();
		memset(buff,0x00,sizeof(buff));
		memset(dd,0x00,sizeof(dd));
		Dsp_str("进仓单:",1,0);
		lcd_csr_put(1,7);
		lcd_csr_set((H)LCD_CSR_UNDER);
	/*************读入进仓单号码*****************/
		key_clear();
		ret=read_str(1,7,0,buff,15);
		lcd_csr_set((H)LCD_CSR_OFF);
		if(ret==E_KEY_CLR) return;    /*按CLS 返回*/ 
		if(strlen(buff)==0) continue;
		if(strlen(buff)<15)
			{     
				space_str(buff,15);
				memcpy(dd,buff,15);
			}
		else
			{
				strcpy(dd,buff);
			} 
		dd[15]=0x00;
		Dsp_str(dd,1,7);

		while(2)
		{
			cls();
			Dsp_str("进仓单:",1,0);
			Dsp_str(dd,1,7);
			Dsp_str("仓位:",3,0);
			memset(buff,0x00,sizeof(buff));
			memset(hj,0x00,sizeof(hj));
			lcd_csr_put(3,5);
			lcd_csr_set((H)LCD_CSR_UNDER);
		/****** 读入货架或仓位 **************/       
			key_clear();
			ret=read_str(3,5,0,buff,15);
			lcd_csr_set((H)LCD_CSR_OFF);
			if(ret==E_KEY_CLR) break;       
			if(strlen(buff)<15)
				{     
					space_str(buff,15);
					memcpy(hj,buff,15);
				}
			else
				{
					strcpy(hj,buff);
				} 	
			hj[15]=0x00;          
			Dsp_str(hj,3,5);

			while(3)
			{
				cls();
				Dsp_str("进仓单:",1,0);
				Dsp_str(dd,1,7);
				Dsp_str("仓位:",3,0);
				Dsp_str(hj,3,5);
				Dsp_str("条码:",5,0);
				memset(buff,0x00,sizeof(buff));
				memset(tm,0x00,sizeof(tm));
				lcd_csr_put(5,5);
				lcd_csr_set((H)LCD_CSR_UNDER);
			/****** 读入条码 **************/       
				key_clear();
				ret=read_str(5,5,0,buff,25);
				lcd_csr_set((H)LCD_CSR_OFF);
				if(ret==E_KEY_CLR) break;       
				if(strlen(buff)==0) continue;
				if(strlen(buff)<25)
					{     
						space_str(buff,25);
						memcpy(tm,buff,25);
					}
				else
					{
						strcpy(tm,buff);
					} 	
				tm[25]=0x00;          
				Dsp_str(tm,5,5);
				
				memset(hjtm,0x00,sizeof(hjtm));
				strcat(hjtm,hj);
				strcat(hjtm,tm);
				hjtm[40]=0x00;

				memset(reco1,0x00,sizeof(reco1));
				ercd=search(receivefile1,0,80,0,40,hjtm,reco1,&fjfj);
			/*如果找到该商品的条码,则应读出它的品名信息*/
				if(ercd==E_OK)
					{    
						memset(pm,0x00,sizeof(pm));
						memcpy(pm,reco1+40,30);  /*读入品名*/
						pm[30]=0x00;
					/*****************显示商品信息********************/
						cls();
						Dsp_str("进仓单:",1,0);
						Dsp_str(dd,1,7);
						Dsp_str("仓位:",3,0);
						Dsp_str(hj,3,5);
						Dsp_str("条码:",5,0);
						Dsp_str(tm,5,5);
						Dsp_str("名称:",7,0);
						Dsp_str(pm,7,5);
					/*************************************************/
						Dsp_str("进仓数:",9,0);
						memset(buff,0x00,sizeof(buff));
						memset(ddsl,0x00,sizeof(ddsl));
						lcd_csr_put(9,7);
						lcd_csr_set((H)LCD_CSR_UNDER);
					/****** 读入数量 **************/       
						key_clear();
						ret=read_str(9,7,2,buff,10);
						lcd_csr_set((H)LCD_CSR_OFF);
						if(ret==E_KEY_CLR) continue;    
						if(strlen(buff)==0)
							{ 
								memcpy(buff,"1",10);
								memcpy(sl,buff,10);
							}
						if(strlen(buff)<10)
							{     
								space_str(buff,10);
								memcpy(ddsl,buff,10);
							}
						else
							{
								strcpy(ddsl,buff);
							}
						ddsl[10]=0x00;
						Dsp_str(ddsl,9,7);
					
						memset(hd,0x00,sizeof(hd));
						strcat(hd,dd);
						strcat(hd,hj);
						strcat(hd,tm);
						hd[55]=0x00;
						memset(reco,0x00,sizeof(reco));
						ercd=search(sendfile2,0,65,0,55,hd,reco,&fjlh);
						if(ercd==E_OK)
							{
								memset(sl,0x00,sizeof(sl));
								memcpy(sl,reco+55,10);
								sl[10]==0x00;
								cls();
								Dsp_str("    是否修改数量?",1,0);
								Dsp_str("    原数量:",3,0);
								Dsp_str(sl,3,11);
								Dsp_str("   按   ENT  累加!",5,0);
								Dsp_str("   按    6   覆盖!",7,0);
								Dsp_str("   按 其它键 取消!",9,0);
	          		warning_sound(); 
	          		kind=getkey();
	          		if(kind==13)
									{
										sprintf(sl,"%-10.0f",atof(sl)+atof(ddsl));
										space_str(sl,10);
										sl[10]=0x00;
	         					dat_F_Write(sendfile2,0,fjlh+55,sl,10);
										make_sound();
									}
								if(kind=='6')
									{
										dat_F_Write(sendfile2,0,fjlh+55,ddsl,10);
										make_sound();
									}
								continue;
							}
						memset(temp,0x00,sizeof(temp));
						strcat(temp,dd);
						strcat(temp,hj);
						strcat(temp,tm);
						strcat(temp,ddsl);
	       		strcat(temp,"\xd\xa");                	
	       		temp[65]=0x00; 
	       		dat_F_Write(sendfile2,1,0,temp,65);
						make_sound();
					}
				else
					{   
						cls();
						Dsp_str("该进仓单无此条码!",3,2);
						Dsp_str("请重新扫描条码",7,2);
						warning_sound();
						WAIT
					}
			}
		}
	}
}

/*验收数据浏览*/
void main_menu23(void)
{
    ER kind,ercd,ret;
    W jls,zjs;
    int i=0,f;
    UB dd[20],tm[20],bzq[20],sl[20];
    UB reco[50];

    if(Is_file(sendfile2)==1)
    {
     cls();
     Dsp_str("   数据文件不存在",2,0);
     Dsp_str("  请先采集验收数据",5,0);
     warning_sound();
     WAIT
     return;
     }

    cls();

   /* Dsp_str("   3.向 前 翻 页   ",1,0);
    Dsp_str("   9.删除单条记录",3,0);
    Dsp_str(" ENT.向 后 翻 页   ",5,0);
    Dsp_str(" CLS.返      回  ",7,0);*/

    Dsp_str("   3.向 前 翻 页   ",2,0);
    Dsp_str(" ENT.向 后 翻 页   ",4,0);
    Dsp_str(" CLS.返      回  ",6,0);

    WAIT
    while(1){
       zjs=get_file_bit(sendfile2);
       jls=(zjs/41);
       
       if((f=open(sendfile2,O_RDONLY))==E_LOWERR)
       {
          cls();
          Dsp_str("数据文件打开错误",5,1);
          WAIT
          return;
          }
        memset(reco,0x00,sizeof(reco));
      
          if((ercd=lseek(f,i*41,0))!=E_LOWERR)
           ercd=read(f,(char*)reco,41); 
           close(f);

	   memset(dd,0x00,sizeof(dd));
           memset(tm,0x00,sizeof(tm));
           memset(bzq,0x00,sizeof(bzq));
           memset(sl,0x00,sizeof(sl));
	   memcpy(dd,reco,10);
           memcpy(tm,reco+10,13);
           memcpy(bzq,reco+23,6);
           memcpy(sl,reco+30,9);

           cls();
	   Dsp_str("订单号码:",1,0);
	   Dsp_str(dd,1,9);
           Dsp_str("条码或货号:",3,0);
           Dsp_str(tm,3,11);
           Dsp_str("保质期:",7,0);
           Dsp_str(bzq,7,7);
           Dsp_str("数量:",9,0);
           Dsp_str(sl,9,5);

           kind=getkey();
           switch(kind)
           {
              case'3':{
                 if(i<=0){
                   cls();
                   Dsp_str("此记录为第一条记录!!",2,0);
                   WAIT
                   }
                  else{ 
                  i--;
                   }
                break;   
                }
              case 13:{
                  if(i>=jls-1){
                    cls();

⌨️ 快捷键说明

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