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

📄 apsmp.c

📁 一个盘点代码
💻 C
📖 第 1 页 / 共 3 页
字号:
#include	"stdio.h   "
#include	"string.h  "
#include	"stdlib.h  "
#include	"itron.h   "
#include	"casio.h   "
#include	"cmndef.h  "
#include	"bios1mac.h"

#define receivefile1 "Chanpin.txt"
#define sendfile1    "Pandian.txt"
#define sendfile2    "JChuang.txt"
#define sendfile3    "CChuang.txt"

void ap_start (void);
void sys_init(void);
void main_menu(void);
void main_menu1(void);
void main_menu2(void);
void main_menu3(void);
void main_menu4(void);

void main_menu11(void);
void main_menu12(void);
void main_menu13(void);

void main_menu21(void);
void main_menu22(void);
void main_menu23(void);

void main_menu31(void);
void main_menu32(void);
void main_menu33(void);

void make_sound(void);
void warning_sound(void);

/************************************/
/*  TASK MAIN PART                  */           
/************************************/

void ap_start ( void )
 {
 	SysInit(0);	
	main_menu();	
 }

void main_menu(void)
 {
	int kind;

	while(1)
	{ 
		cls();
		Dsp_str("     广 州 东 讯",2,0);
		Dsp_str("  数据采集系统 1.0",5,0);
		Dsp_str("     DOXINGTECH    ",8,0);
		Wait2(50);

		cls();
		Dsp_str("1. 盘 点 模 块",2,2);
		Dsp_str("2. 进 仓 模 块",4,2);
		Dsp_str("3. 出 仓 模 块",6,2);
		Dsp_str("4. 数 据 传 输",8,2);
 
		kind=getkey();
		switch(kind)
		{ 
			case '1':{
					main_menu1();
					break;
				}

			case '2':{
					main_menu2();
					break;
				}
   	            
			case '3':{
					main_menu3();
					break;         
				}
				
			case '4':{
					main_menu4();
					break;
				}
				
			case 12: {
					break;
				}
		}/*end switch*/
	}/*end while(1)*/
 }/*end main_menu*/


/*盘点模块*/
void main_menu1(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':
				{  
					cls();
					if(Is_file(receivefile1)==1)
						{
							cls();
							Dsp_str("   请先下载盘点单",5,0);
							warning_sound();
							WAIT
						}
					else
						{
							main_menu11();
						}
					break;
				}                               
                    
			case '2':
				{
					cls();
					if(Is_file(receivefile1)==1)
						{
							cls();
							Dsp_str("   请先下载盘点单",5,0);
							warning_sound();
							WAIT
						}
					else
						{  
							main_menu12();
						}
					break;
				}
			
			case '3':
				{
					main_menu13();
					break;
				}
			case '4':
				{
					cls();
					Dsp_str("确定要删除盘点数据吗?",2,0);
					Dsp_str("ENT       删除",5,3);
					Dsp_str("任意键  不删除",8,3);
					kind=getkey();
					if(kind==13) del_file(sendfile1);
					break;
				}
			case '5':
				{
					return;
				}
			
			case 12: 
				{  
					return;
				}
		}/* end switch */ 
	}/* end while(1) */ 	
}/* end main_menu1 */


/*自动累加数量 盘点扫描*/
void main_menu11(void)
{
	UB    buff[50],temp[100],reco[100],reco1[150];
	UB    dh[20],hj[20],tm[30],pm[40],spsl[20],hd[80],sl[20],zcs[20];
	W     fjlh,fjfj;
	ER    ret,ercd,kind;

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

	while(1)
	{
		cls();
		memset(buff,0x00,sizeof(buff));
		memset(dh,0x00,sizeof(dh));
		Dsp_str("盘点单号:",1,0);
		lcd_csr_put(1,9);
		lcd_csr_set((H)LCD_CSR_UNDER);
	/*************读入盘点单号*****************/
		key_clear();
		ret=read_str(1,9,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(dh,buff,15);
			}
		else
			{
				strcpy(dh,buff);
			} 
		dh[15]=0x00;
		Dsp_str(dh,1,9);
			
		while(2)
		{
			cls();
			Dsp_str("盘点单号:",1,0);
			Dsp_str(dh,1,9);
			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(dh,1,9);
				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(hd,0x00,sizeof(hd));
				strcat(hd,hj);
				strcat(hd,tm);
				hd[40]=0x00;

				memset(reco1,0x00,sizeof(reco1));
				ercd=search(receivefile1,0,80,0,40,hd,reco1,&fjfj);
			/*如果找到该商品的条码, 则直接增加盘点数量*/
				if(ercd==E_OK)
					{
						memset(pm,0x00,sizeof(pm));
						memcpy(pm,reco1+40,30);  /*读入名称*/
						pm[30]=0x00;
						Dsp_str("名称:",7,0);
						Dsp_str(pm,7,5);
						
						memset(zcs,0x00,sizeof(zcs));
						memcpy(zcs,reco1+70,9);
						zcs[9]=0x00;
						
						memset(buff,0x00,sizeof(buff));
						memset(spsl,0x00,sizeof(spsl));
						strcpy(buff,"1.00");
						space_str(buff,9);
						strcpy(spsl,buff);
						spsl[9]=0x00;
						
						memset(hd,0x00,sizeof(hd));
						strcat(hd,dh);
						strcat(hd,hj);
						strcat(hd,tm);
						hd[55]=0x00;
						
						memset(reco,0x00,sizeof(reco));
						ercd=search(sendfile1,0,75,0,55,hd,reco,&fjlh);
						if(ercd==E_OK)
							{
								memset(sl,0x00,sizeof(sl));
								memcpy(sl,reco+55,9);
								sl[9]==0x00;
								sprintf(sl,"%-6.2f",atof(sl)+atof(spsl));
								space_str(sl,9);
								sl[9]=0x00;
								dat_F_Write(sendfile1,0,fjlh+55,sl,9);
								make_sound();
								
          			continue;
							}
						memset(temp,0x00,sizeof(temp));
						strcat(temp,dh);
						strcat(temp,hj);
						strcat(temp,tm);
						strcat(temp,spsl);
						strcat(temp,zcs);
						strcat(temp,"\xd\xa");                	
						temp[75]=0x00; 
						dat_F_Write(sendfile1,1,0,temp,75);
						make_sound();	   
					}
				else
					{
						cls();
						Dsp_str("  无该对应条码!",3,2);
						Dsp_str(" 请重新扫描条码",7,2);
						warning_sound();
						WAIT
					}
			}/*end while(3)*/
		}/*end while(2)*/
	}/*end while(1)*/
}/* end main_menu11*/


/*手动输入数量 盘点扫描*/
void main_menu12(void)
{
	UB    buff[50],temp[100],reco[100],reco1[150];
	UB    dh[20],hj[20],tm[30],pm[40],spsl[20],hd[80],sl[20],zcs[20];
	W     fjlh,fjfj;
	ER    ret,ercd,kind;

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

	while(1)
	{
		cls();
		memset(buff,0x00,sizeof(buff));
		memset(dh,0x00,sizeof(dh));
		Dsp_str("盘点单号:",1,0);
		lcd_csr_put(1,9);
		lcd_csr_set((H)LCD_CSR_UNDER);
	/*************读入盘点单号*****************/
		key_clear();
		ret=read_str(1,9,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(dh,buff,15);
			}
		else
			{
				strcpy(dh,buff);
			} 
		dh[15]=0x00;
		Dsp_str(dh,1,9);
			
		while(2)
		{
			cls();
			Dsp_str("盘点单号:",1,0);
			Dsp_str(dh,1,9);
			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(dh,1,9);
				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(hd,0x00,sizeof(hd));
				strcat(hd,hj);
				strcat(hd,tm);
				hd[40]=0x00;

				memset(reco1,0x00,sizeof(reco1));
				ercd=search(receivefile1,0,80,0,40,hd,reco1,&fjfj);
			/*如果找到该商品的条码, 则应读出它的名称,盘点数量,帐存数等信息*/
				if(ercd==E_OK)
					{
						memset(pm,0x00,sizeof(pm));
						memcpy(pm,reco1+40,30);  /*读入名称*/
						pm[30]=0x00;
						
						memset(zcs,0x00,sizeof(zcs));
						memcpy(zcs,reco1+70,9);
						zcs[9]=0x00;
						
						cls();
						Dsp_str("仓位:",1,0);
						Dsp_str(hj,1,5);
						Dsp_str("条码:",3,0);
						Dsp_str(tm,3,5);
						Dsp_str("名称:",5,0);
						Dsp_str(pm,5,5);
						Dsp_str("帐存数:",7,0);
						Dsp_str(zcs,7,7);
						Dsp_str("实盘数:",9,0);
						memset(buff,0x00,sizeof(buff));
						memset(spsl,0x00,sizeof(spsl));
						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)
							{ 
								strcpy(buff,"1.00");
								space_str(buff,9);
								strcpy(spsl,buff);
							}
						if(strlen(buff)<9)
							{     
								sprintf(buff,"%-6.2f",atof(buff));
								space_str(buff,9);
								strcpy(spsl,buff);
							}
						else
							{
								sprintf(buff,"%-6.2f",atof(buff));
								strcpy(spsl,buff);
							}
						spsl[9]=0x00;
						Dsp_str(spsl,9,7);
						
						memset(hd,0x00,sizeof(hd));
						strcat(hd,dh);
						strcat(hd,hj);
						strcat(hd,tm);
						hd[55]=0x00;
						
						memset(reco,0x00,sizeof(reco));
						ercd=search(sendfile1,0,75,0,55,hd,reco,&fjlh);
						if(ercd==E_OK)
							{
								memset(sl,0x00,sizeof(sl));
								memcpy(sl,reco+55,9);
								sl[9]==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,"%-6.2f",atof(sl)+atof(spsl));
										space_str(sl,9);
										sl[10]=0x00;
										dat_F_Write(sendfile1,0,fjlh+55,sl,9);
										make_sound();
									}
								if(kind=='6')
									{
										dat_F_Write(sendfile1,0,fjlh+55,spsl,9);
										make_sound();
									}
								continue;
							}
						
						memset(temp,0x00,sizeof(temp));
						strcat(temp,dh);
						strcat(temp,hj);
						strcat(temp,tm);
						strcat(temp,spsl);
						strcat(temp,zcs);
						strcat(temp,"\xd\xa");                	
						temp[75]=0x00; 
						dat_F_Write(sendfile1,1,0,temp,75);
						make_sound();	   
					}
				else
					{
						cls();
						Dsp_str("  无该对应条码!",3,2);
						Dsp_str(" 请重新扫描条码",7,2);
						warning_sound();
						WAIT
					}
			}/*end while(3)*/
		}/*end while(2)*/
	}/*end while(1)*/
}/* end main_menu12*/

/*数据传输*/
void main_menu4(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':
				{  
					cls();
					if(Is_file(receivefile1)==0)
						{     
							cls();
							Dsp_str("产品清单存在, 覆盖?",2,1);
							Dsp_str("ENT       覆盖",6,3);
							Dsp_str("任意键  不覆盖",9,3);
							kind=getkey();
							if(kind==13) recefile(receivefile1);
						}
					else
						recefile(receivefile1);
					break;
				}                               
                    
			case '2':
				{  
					cls();
					if(Is_file(sendfile1)==1)
						{
							cls();
							Dsp_str(" 盘点清单文件不存在,",3,0);
							Dsp_str("    请先创建文件!",6,0);
							warning_sound();
							WAIT

⌨️ 快捷键说明

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