📄 back.c
字号:
strcpy(temp.remark,remark);
if(type==1)
{
Insert_Staff(&temp);
}
if(type==2)
{
Delete_Staff(staff_id);
Insert_Staff(&temp);
}
return;
}
}
}
}
/************************************************************************************
函数功能:操作商品 参数:模式 1 添加,2修改,3删除
返回值:无
*************************************************************************************/
void operator_goods(int type)
{
char code[7]="",bar_code[9]="",goods_name[31]="",unit[17]="",spec[17]="",sale_price[9]="",purchase_price[9]="",stock[9]="",discount[9]="";
GOODS temp;
int res,k=1;
WIN mianwin[3]={{25,80,0,0,8,"添加商品",1},{25,80,0,0,8,"修改商品",1},{25,80,0,0,8,"删除商品",1}};
TEXT text[8]={{3,32,25,1,""},{5,32,25,1,""},{7,32,25,1,""},{9,32,25,1,""},{11,32,25,1,""},{13,32,25,1,""},{15,32,25,1,""},{17,32,25,1,""}};
BUTTON but1={8,3,20,25,"确定",8,4};
BUTTON but2={8,3,20,48,"退出",8,4};
WIN *w1;
if(type==1)
{
w1=make_win(&mianwin[0]);
}
if(type==2)
{
w1=make_win(&mianwin[1]);
}
if(type==3)
{
w1=make_win(&mianwin[2]);
}
TEXT *t0=make_textbox(&text[0]);
TEXT *t1=make_textbox(&text[1]);
TEXT *t2=make_textbox(&text[2]);
TEXT *t3=make_textbox(&text[3]);
TEXT *t4=make_textbox(&text[4]);
TEXT *t5=make_textbox(&text[5]);
TEXT *t6=make_textbox(&text[6]);
TEXT *t7=make_textbox(&text[7]);
BUTTON *b1=make_button(&but1);
BUTTON *b2=make_button(&but2);
if(type==2||type==3)
{
bar_code[0]='C';
bar_code[1]='N';
if(input_string(code,6,1)==0)
{
return;
}
strcat(bar_code,code);
getgoods_by_barcode(&temp,bar_code);
TrimSpace(temp.goods_name);
TrimSpace(temp.unit);
TrimSpace(temp.spec);
strcpy(goods_name,temp.goods_name);
strcpy(unit,temp.unit);
strcpy(spec,temp.spec);
sprintf(sale_price,"%.2f",temp.sale_price);
sprintf(purchase_price,"%.2f",temp.purchase_price);
sprintf(stock,"%d",temp.stock);
sprintf(discount,"%.2f",temp.discount);
wprintw(t0->win,"%s",bar_code);
wprintw(t1->win,"%s",goods_name);
wprintw(t2->win,"%s",unit);
wprintw(t3->win,"%s",spec);
wprintw(t4->win,"%s",sale_price);
wprintw(t5->win,"%s",purchase_price);
wprintw(t6->win,"%s",stock);
wprintw(t7->win,"%s",discount);
}
mvwprintw(w1->win,3,24,"条形码:");
mvwprintw(w1->win,5,26,"名称:");
mvwprintw(w1->win,7,26,"单位:");
mvwprintw(w1->win,9,26,"规格:");
mvwprintw(w1->win,11,26,"售价:");
mvwprintw(w1->win,13,22,"进货价格:");
mvwprintw(w1->win,15,26,"数量:");
mvwprintw(w1->win,17,26,"折扣:");
w1->show_win(w1);
b1->show_button(b1);
b2->show_button(b2);
t0->show_text(t0);
t1->show_text(t1);
t2->show_text(t2);
t3->show_text(t3);
t4->show_text(t4);
t5->show_text(t5);
t6->show_text(t6);
t7->show_text(t7);
if(type==3)
{
res=run_button(b1,b2,1);
if(res==1)//确定
{
Delete_Goods(bar_code);
return;
}
if(res==2)
{
return;
}
}
if(type==2)
{
k=2;
}
while(1)
{
if(k==1)
{
res=GetString(t0->win,bar_code,8,1);
if(res==2||res==13||res==0)
{
k++;
continue;
}
if(res==14)
{
return;
}
else
{
continue;
}
}
if(k==2)
{
res=GetString(t1->win,goods_name,25,1);
if(res==2||res==13||res==0)
{
k++;
continue;
}
if(type==1)
{
if(res==1)
{
k--;
continue;
}
}
if(res==14)
{
return;
}
}
if(k==3)
{
res=GetString(t2->win,unit,15,1);
if(res==2||res==13||res==0)
{
k++;
continue;
}
if(res==1)
{
k--;
continue;
}
if(res==14)
{
return;
}
}
if(k==4)
{
res=GetString(t3->win,spec,15,1);
if(res==2||res==13||res==0)
{
k++;
continue;
}
if(res==1)
{
k--;
continue;
}
if(res==14)
{
return;
}
}
if(k==5)
{
res=GetString(t4->win,sale_price,8,1);
if(res==2||res==13||res==0)
{
k++;
continue;
}
if(res==1)
{
k--;
continue;
}
if(res==14)
{
return;
}
}
if(k==6)
{
res=GetString(t5->win,purchase_price,8,1);
if(res==2||res==13||res==0)
{
k++;
continue;
}
if(res==1)
{
k--;
continue;
}
if(res==14)
{
return;
}
}
if(k==7)
{
res=GetString(t6->win,stock,8,1);
if(res==2||res==13||res==0)
{
k++;
continue;
}
if(res==1)
{
k--;
continue;
}
if(res==14)
{
return;
}
}
if(k==8)
{
res=GetString(t7->win,discount,8,1);
if(res==2||res==13||res==0)
{
k++;
continue;
}
if(res==1)
{
k--;
continue;
}
if(res==14)
{
return;
}
}
if(k==9)
{
res=run_button(b1,b2,0);
if(res==3)
{
k=8;
continue;
}
if(res==2)
{
return;
}
if(res==1)
{
if(strlen(bar_code)==0)
{
show_msg("条形码不能为空",0);
k=1;
continue;
}
if(type==1)
{
if(getgoods_by_barcode(&temp,bar_code)==0)
{
show_msg("该条形码已经被占用",0);
k=1;
continue;
}
}
strcpy(temp.bar_code,bar_code);
strcpy(temp.goods_name,goods_name);
strcpy(temp.unit,unit);
strcpy(temp.spec,spec);
temp.sale_price=atof(sale_price);
temp.purchase_price=atof(purchase_price);
temp.stock=atoi(stock);
temp.discount=atof(discount);
if(type==1)
{
Insert_Goods(&temp);
}
if(type==2)
{
Delete_Goods(bar_code);
Insert_Goods(&temp);
}
return;
}
}
}
}
/************************************************************************************
函数功能:接收输入字符串 参数:字符串 最大长度 模式
返回值:0 取消 1确定
*************************************************************************************/
int input_string(char *str,int max,int type)
{
int res,k=1,i;
TEXT *t2;
WIN mianwin={25,80,0,0,8,"",1};
TEXT text1={10,32,25,1,""};
TEXT text2={10,30,2,1,"CN"};
BUTTON but1={8,3,20,25,"确定",8,4};
BUTTON but2={8,3,20,48,"退出",8,4};
WIN *w1=make_win(&mianwin);
TEXT *t1=make_textbox(&text1);
BUTTON *b1=make_button(&but1);
BUTTON *b2=make_button(&but2);
if(type==1)//输入商品条形码
{
mvwprintw(w1->win,10,22,"条形码:");
t2=make_textbox(&text2);
}
if(type==2)//输入账户ID
{
mvwprintw(w1->win,10,22,"账户ID:");
}
if(type==3)
{
mvwprintw(w1->win,10,22,"员工ID:");
}
w1->show_win(w1);
if(type==1)
{
t2->show_text(t2);
}
t1->show_text(t1);
b1->show_button(b1);
b2->show_button(b2);
while(1)
{
if(k==1)
{
res=GetString(t1->win,str,max,1);
if(res==0||res==2)
{
k=2;
continue;
}
}
if(k==2)
{
res=run_button(b1,b2,0);
if(res==3)
{
k=1;
continue;
}
if(res==2)
{
return 0;//取消
}
if(res==1)
{
if(strlen(str)==0)
{
show_msg("输入不能为空",0);
k=1;
continue;
}
if(strlen(str)<6||check_str(str,6)!=0)
{
show_msg("输入必须为六位数字",0);
str[0]='\0';
werase(t1->win);
wrefresh(t1->win);
k=1;
continue;
}
return 1;//确定
}
}
}
}
/************************************************************************************
函数功能:按ID查询消费 参数:无
返回值:无
*************************************************************************************/
void search_by_ID()
{
char id[7]="";
if(input_string(id,6,3)==0)
{
return;
}
C_CLASS LINKLIST list;
link_init(&list);
get_sale_byID(&list,id);
if(list.count==0)
{
show_msg("没有查到相应的记录",0);
return;
}
print_search(&list,3);
link_clear(&list);
}
/************************************************************************************
函数功能:按日期查询消费 参数:无
返回值:无
*************************************************************************************/
void search_by_date()
{
int res,k=1;
char b_year[5]="",b_month[3]="",b_day[3]="",e_year[5]="",e_month[3]="",e_day[3]="",begin_date[13]="",end_date[13]="";
WIN mianwin={25,80,0,0,8,"",1};
TEXT text[6]={{10,33,6,1,""},{10,42,6,1,""},{10,51,6,1,""},{12,33,6,1,""},{12,42,6,1,""},{12,51,6,1,""}};
BUTTON but1={8,3,20,25,"确定",8,4};
BUTTON but2={8,3,20,48,"退出",8,4};
WIN *w1=make_win(&mianwin);
TEXT *t1=make_textbox(&text[0]);
TEXT *t2=make_textbox(&text[1]);
TEXT *t3=make_textbox(&text[2]);
TEXT *t4=make_textbox(&text[3]);
TEXT *t5=make_textbox(&text[4]);
TEXT *t6=make_textbox(&text[5]);
BUTTON *b1=make_button(&but1);
BUTTON *b2=make_button(&but2);
mvwprintw(w1->win,10,24,"%s","起始日期:");
mvwprintw(w1->win,10,40,"%s","-");
mvwprintw(w1->win,10,49,"%s","-");
mvwprintw(w1->win,12,24,"%s","结束日期:");
mvwprintw(w1->win,12,40,"%s","-");
mvwprintw(w1->win,12,49,"%s","-");
w1->show_win(w1);
t1->show_text(t1);
t2->show_text(t2);
t3->show_text(t3);
t4->show_text(t4);
t5->show_text(t5);
t6->show_text(t6);
b1->show_button(b1);
b2->show_button(b2);
while(1)
{
if(k==1)
{
res=GetString(t1->win,b_year,4,1);
if(res==2||res==13||res==0)
{
k++;
}
continue;
}
if(k==2)
{
res=GetString(t2->win,b_month,2,1);
if(res==2||res==13||res==0)
{
k++;
}
if(res==1)
{
k--;
}
continue;
}
if(k==3)
{
res=GetString(t3->win,b_day,2,1);
if(res==2||res==13||res==0)
{
k++;
}
if(res==1)
{
k--;
}
continue;
}
if(k==4)
{
res=GetString(t4->win,e_year,4,1);
if(res==2||res==13||res==0)
{
k++;
}
if(res==1)
{
k--;
}
continue;
}
if(k==5)
{
res=GetString(t5->win,e_month,2,1);
if(res==2||res==13||res==0)
{
k++;
}
if(res==1)
{
k--;
}
continue;
}
if(k==6)
{
res=GetString(t6->win,e_day,2,1);
if(res==2||res==13||res==0)
{
k++;
}
if(res==1)
{
k--;
}
continue;
}
if(k==7)
{
res=run_button(b1,b2,0);
if(res==3)
{
k=6;
continue;
}
if(res==2)
{
return ;//取消
}
if(res==1)
{
if(check_str(b_year,1)!=0||check_str(b_month,1)!=0||check_str(b_day,1)!=0||check_str(e_year,1)!=0||check_str(e_month,1)!=0||check_str(e_day,1)!=0)
{
show_msg("日期只能是数字且不为空",0);
k=1;
continue;
}
sprintf(begin_date,"%04s%02s%02s",b_year,b_month,b_day);
sprintf(end_date,"%04s%02s%02s",e_year,e_month,e_day);
if(atoi(end_date)<atoi(begin_date))
{
show_msg("结束日期不能小于起始日期",0);
k=1;
continue;
}
C_CLASS LINKLIST list;
link_init(&list);
get_sale_byDATE(&list,begin_date,end_date);
if(list.count==0)
{
show_msg("没有查到相应的记录",0);
return;
}
print_search(&list,3);
link_clear(&list);
return ;//确定
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -