📄 apsmp.c
字号:
#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 + -