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

📄 apsmp.c

📁 一个盘点代码
💻 C
📖 第 1 页 / 共 3 页
字号:
                    Dsp_str("此记录为最后一条记录!!",2,0);
                    WAIT
                   }
                   else{
                     i++;
                     }
                    break;
                 } 
             /* case '9':{
             	        cls();
             	       ret=dat_F_Write(uploadfile,0,i*50,"***",3);
             	      if (ret==E_OK)
             	       {
             	      	 cls();
             	      	 Dsp_str("数据删除成功",3,0);
             	      	 Wait2(15L);
             	      	 continue;
             	      	}
             	      	
             	       }  */
              case 12:{
                 close(f);
                 return;
                 }
             } /*end switch  */
          } /* end while  */
          close(f);
}/* end main_menu22 */


/*出仓模块*/
void main_menu3(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_menu31();
					break;
				}                               
			case '2':
				{  
					main_menu32();
					break;
				}
			case '3':
				{
					cls();
					Dsp_str("确定要删除出仓数据吗?",2,0);
					Dsp_str("ENT       删除",5,3);
					Dsp_str("任意键  不删除",8,3);
					kind=getkey();
					if(kind==13) del_file(sendfile3);
					break;
				}
			case '4':
				{  
					main_menu23();
					break;
				}
			case '5':
				{
					return;
				}
			case 12: 
				{  
					return;
				}
		}/* end switch */ 
	}/* end while(1) */ 	
}/* end main_menu3 */


/*出仓数量自动累加*/
void main_menu31(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(sendfile3)==1)
		{
			creat_file(sendfile3);
		}

	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(sendfile3,0,65,0,55,hd,reco,&fjlh);
						if(ercd==E_OK)
							{
								memset(sl,0x00,sizeof(sl));
								memcpy(sl,reco+55,10);
								sl[10]==0x00;
								sprintf(sl,"%-10.0f",atof(sl)+atof(ddsl));
								space_str(sl,10);
								sl[10]=0x00;
       					dat_F_Write(sendfile3,0,fjlh+55,sl,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(sendfile3,1,0,temp,65);
						make_sound();
					}
				else
					{   
						cls();
						Dsp_str("该出仓单无此条码!",3,2);
						Dsp_str("请重新扫描条码",7,2);
						warning_sound();
						WAIT
					}
			}
		}
	}
}

/*手动增加出仓数量*/
void main_menu32(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(sendfile3)==1)
		{
			creat_file(sendfile3);
		}

	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(sendfile3,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(sendfile3,0,fjlh+55,sl,10);
										make_sound();
									}
								if(kind=='6')
									{
										dat_F_Write(sendfile3,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(sendfile3,1,0,temp,65);
						make_sound();
					}
				else
					{   
						cls();
						Dsp_str("该出仓单无此条码!",3,2);
						Dsp_str("请重新扫描条码",7,2);
						warning_sound();
						WAIT
					}
			}
		}
	}
}

/*盘点数据浏览*/
void main_menu13(void)
{
	ER kind,ercd,ret;
	W jls,zjs;
	int i=0,f;
	UB dh[20],hj[20],tm[20],spsl[20],zcs[20];
	UB reco[100];

	if(Is_file(sendfile1)==1)
		{
			cls();
			Dsp_str(" 盘点清单文件不存在",2,0);
			Dsp_str(" 请先采集盘点数据",5,0);
			warning_sound();
			WAIT
			return;
		}
	cls();
	Dsp_str("   1.向 前 翻 页   ",2,0);
	Dsp_str("   3.向 后 翻 页   ",4,0);
	Dsp_str(" CLS.返      回    ",6,0);

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

		/*memset(dh,0x00,sizeof(dh));*/
		memset(hj,0x00,sizeof(hj));
		memset(tm,0x00,sizeof(tm));
		memset(spsl,0x00,sizeof(spsl));
		memset(zcs,0x00,sizeof(zcs));
		/*memcpy(dh,reco+0,15);*/
		memcpy(hj,reco+15,15);
		memcpy(tm,reco+30,25);
		memcpy(spsl,reco+55,9);
		memcpy(zcs,reco+64,9);
		
		cls();
		
		/*Dsp_str("盘点单号:",1,0);
		Dsp_str(dh,1,9);*/
		Dsp_str("仓位:",3,0);
		Dsp_str(hj,3,5);
		Dsp_str("条码:",5,0);
		Dsp_str(tm,5,5);
		Dsp_str("帐存数量:",7,0);
		Dsp_str(zcs,7,9);
		Dsp_str("实盘数量:",9,0);
		Dsp_str(spsl,9,9);
		
		kind=getkey();
		switch(kind)
		{
			case'1':
				{
					if(i<=0)
						{
							cls();
							Dsp_str("此记录为第一条记录!!",2,0);
							WAIT
						}
					else
						{ 
							i--;
						}
					break;   
				}
			case '3':
				{
					if(i>=jls-1)
						{
							cls();
							Dsp_str("此记录为最后一条记录!!",2,0);
							WAIT
						}
					else
						{
							i++;
						}
					break;
				} 
			case 12:
				{
					close(f);
					return;
				}
		} /*end switch  */
	} /* end while  */
	close(f);
}/* end main_menu13 */

void make_sound(void)  /* 工作正常发出的响声  */
{
  s_sound(2400,6);
  s_sound(3000,9);
}

void warning_sound(void) /* 工作不正常发出的响声 */
{
    s_sound( 3000, 9 );
    Wait2( 5L );
    s_sound( 3000, 9 ); 
    Wait2( 5L );
    s_sound( 3000, 9 ); 
}

⌨️ 快捷键说明

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