📄 cost.cpp
字号:
#include"PassWord.h"
#include"Query3_0.h"
#ifndef HIS
#include"../ClassHead/User.hpp"
#include"../ClassHead/Hospitalize.hpp"
#endif
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Cost.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
extern void HISQuery(TQuery*qPtr,String&s,bool b);
extern void logout(User*u,TForm*form,TQuery*query);
extern bool isDouble(AnsiString str);
extern User*currentUser;
extern bool isInteger(AnsiString str,bool minus);
static Coster currEmp;
double mon;
String s1;
int flag=0;
static TQueryForm3_0* QForm0=NULL;
TCostForm *CostForm;
static void ClearPage1(TCostForm*fp)
{
fp->LabeledEdit2->Text="";
fp->LabeledEdit3->Text="";
fp->LabeledEdit4->Text="";
fp->LabeledEdit5->Text="";
fp->LabeledEdit6->Text="";
}
static void ClearPage2(TCostForm*fp)
{
fp->LabeledEdit1->Text="";
fp->LabeledEdit2->Text="";
fp->LabeledEdit3->Text="";
fp->LabeledEdit4->Text="";
fp->LabeledEdit5->Text="";
fp->LabeledEdit6->Text="";
}
//---------------------------------------------------------------------------
__fastcall TCostForm::TCostForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::FormCreate(TObject *Sender)
{
QForm0=new TQueryForm3_0(this);
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::FormActivate(TObject *Sender)
{
if(currEmp.getEmpID()==0)
{
String name=currentUser->getName();
currEmp.setData(currentUser->getEmpID(),name);
showname->Caption=IntToStr(currentUser->getEmpID())+" "+name;
}
currentUser->setStartTime();
LabeledEdit6->Visible=false;
Button2->Visible=false;
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::LabeledEdit1KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
TField*f,*f1,*f2,*f3;
if(Key==13)
{
ClearPage1(this);
if(LabeledEdit1->Text!="")
{
if(isInteger(LabeledEdit1->Text,false))
{
s1=LabeledEdit1->Text;
String sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
if(Query2->IsEmpty())
{ShowMessage("无此学生!");Query2->Close();}
else
{
f=Query2->FieldByName("schoolID");
String s2=f->AsString;
sql="select*from Student where schoolID="+s2;
HISQuery(Query1,sql,true);
f1=Query1->FieldByName("name");
f2=Query1->FieldByName("sex");
f3=Query2->FieldByName("moneyLeft");
LabeledEdit2->Text=f1->AsString;
LabeledEdit3->Text=f2->AsString;
LabeledEdit4->Text=f3->AsString;
Query1->Close();
Query2->Close();
}
}
else
{ShowMessage("卡号非法,必须是整型数!");}
}
else
{ShowMessage("卡号不能为空!");}
}
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::LabeledEdit5KeyDown(TObject *Sender,
WORD &Key, TShiftState Shift)
{TField*f;
if(Key==13)
{
if(LabeledEdit2->Text!="")
{
if(isInteger(LabeledEdit2->Text,false))
{
s1=LabeledEdit1->Text;
String sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
if(isDouble(LabeledEdit5->Text))
{
double num=(LabeledEdit5->Text).ToDouble();
f=Query2->FieldByName("moneyLeft");
mon=f->AsFloat;
if(mon-num<0)
{ShowMessage("余额不足,请先充值!");}
else
{
if(num<=50)
{
sql="update Card set moneyLeft=moneyLeft-("+LabeledEdit5->Text+") where cardID='"+s1+"'";
HISQuery(Query2,sql,false);
sql="insert into Record(cardID,useTime,shop,inType,inMoney)values('"+s1+"','"+Now().CurrentDateTime()+"','"+"2"+"','"+"2"+"','"+LabeledEdit5->Text+"')";
HISQuery(Query3,sql,false);
currEmp.addStudentSum();
currEmp.addMoneySum(num);
{ShowMessage("刷卡完成!");}
sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
f=Query2->FieldByName("moneyLeft");
LabeledEdit4->Text=f->AsString;
flag=0;
Button2->Visible=true;
}
else
{
ShowMessage("请在密码区域中输入密码。");
LabeledEdit6->Visible=true;
}
}
}
else
{ShowMessage("请正确输入金额!");}
}
else
{ShowMessage("卡号非法,必须是整型数!");}
}
else
{ShowMessage("请先输入卡号后按回车确定!");}
Query2->Close();
Query3->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::LabeledEdit6KeyDown(TObject *Sender, WORD &Key,
TShiftState Shift)
{
TField*f;
TField*f1;
if(Key==13)
{
if(LabeledEdit6->Text!="")
{
if(isInteger(LabeledEdit6->Text,false))
{
s1=LabeledEdit1->Text;
String sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
double num=(LabeledEdit5->Text).ToDouble();
f=Query2->FieldByName("moneyLeft");
mon=f->AsFloat;
if(mon-num<0)
{ShowMessage("余额不足,请先充值!");}
else
{
f1=Query2->FieldByName("code");
double c1=f1->AsFloat;
double c2=(LabeledEdit6->Text).ToDouble();
if(c1==c2)
{
sql="update Card set moneyLeft=moneyLeft-("+LabeledEdit5->Text+") where cardID='"+s1+"'";
HISQuery(Query2,sql,false);
sql="insert into Record(cardID,useTime,shop,inType,inMoney)values('"+s1+"','"+Now().CurrentDateTime()+"','"+"2"+"','"+"2"+"','"+LabeledEdit5->Text+"')";
HISQuery(Query3,sql,false);
currEmp.addStudentSum();
currEmp.addMoneySum(num);
{ShowMessage("刷卡完成!");}
sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
f=Query2->FieldByName("moneyLeft");
LabeledEdit4->Text=f->AsString;
flag=0;
LabeledEdit6->Visible=false;
Button2->Visible=true;
}
else
{
ShowMessage("密码错误,请重新输入!");
LabeledEdit6->Text="";
}
}
}
else
{ShowMessage("卡号非法,必须是整型数!");}
}
else
{ShowMessage("请先输入卡号后按回车确定!");}
Query2->Close();
Query3->Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::Button2Click(TObject *Sender)
{
if(flag==0)
{
TField*f;
String sql;
sql="update Card set moneyLeft=moneyLeft+("+LabeledEdit5->Text+") where cardID='"+s1+"'";
HISQuery(Query2,sql,false);
sql="insert into Record(cardID,useTime,shop,inType,inMoney)values('"+s1+"','"+Now().CurrentDateTime()+"','"+"2"+"','"+"0"+"','"+LabeledEdit5->Text+"')";
HISQuery(Query3,sql,false);
sql="select*from Card where cardID="+s1;
HISQuery(Query2,sql,true);
f=Query2->FieldByName("moneyLeft");
LabeledEdit4->Text=f->AsString;
ShowMessage("上次刷卡已撤销!");
flag=1;
}
else
{ShowMessage("不能再次撤销!");}
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::Timer1Timer(TObject *Sender)
{
showtime->Caption=Now().CurrentDateTime();
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::N4Click(TObject *Sender)
{
logout(currentUser,this,PassWordForm->Query1);
ClearPage2(this);
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::N6Click(TObject *Sender)
{
PassWordForm->Close();
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::N7Click(TObject *Sender)
{
ShowMessage("开始工作时间:"+currentUser->getStartTime().TimeString());
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::N9Click(TObject *Sender)
{
ShowMessage("刷卡人数:"+IntToStr(currEmp.getSSum()));
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::N10Click(TObject *Sender)
{
ShowMessage("刷卡总金额:"+String(currEmp.getMSum()));
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::N11Click(TObject *Sender)
{
Application->HelpContext(13);
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::N13Click(TObject *Sender)
{
Application->HelpContext(27);
}
//---------------------------------------------------------------------------
void __fastcall TCostForm::N14Click(TObject *Sender)
{
QForm0->Show();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -