📄 setclassedit.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "SetClassEdit.h"
#include "Public.h"
#include "DM.h"
#include "SetClass.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "Register"
#pragma resource "*.dfm"
TfrmSetClassEdit *frmSetClassEdit;
//---------------------------------------------------------------------------
__fastcall TfrmSetClassEdit::TfrmSetClassEdit(TComponent* Owner)
: TfrmRegister(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetClassEdit::LoadData(void)
{
CmbEmployee->Text="";
CmbTimeMode->Text="";
CmbBeginTime->Text="";
CmbEndTime->Text="";
CmbTimePos->Text="";
Memo->Clear();
OpenSQL(QurFree,"select * from Employee");
CmbEmployee->Items->Clear();
if (QurFree->RecordCount>0)
{
QurFree->First();
while (!QurFree->Eof)
{
CEmp = new cEmployee;
CEmp->iID = QurFree->FieldByName("EmployeeID")->AsInteger ;
CEmp->sName = QurFree->FieldByName("Name")->AsString ;
CmbEmployee->Items->AddObject(CEmp->sName,CEmp );
QurFree->Next();
}
}
OpenSQL(QurFree,"select * from Class");
CmbTimePos->Items->Clear();
if (QurFree->RecordCount>0)
{
QurFree->First();
while (!QurFree->Eof)
{
CC = new cClass;
CC->iID = QurFree->FieldByName("ClassID")->AsInteger ;
CC->sName = QurFree->FieldByName("ClassName")->AsString ;
CmbTimePos->Items->AddObject(CC->sName,CC);
QurFree->Next();
}
}
CmbTimeMode->Items->Clear();
CmbTimeMode->Items->Add("每天");
CmbTimeMode->Items->Add("每周");
CmbTimeMode->Items->Add("每月");
}
void __fastcall TfrmSetClassEdit::AddBill(void)
{
LoadData();
BtnState(1);
mEdit=false;
mChanged=false;
mDataID=0;
}
void __fastcall TfrmSetClassEdit::ViewBill(int DataID)
{
LoadData();
OpenSQL(QurFree," select a.BeginDate,a.EndDate,a.TimeMode,a.BeginTime,a.EndTime,a.Memo1,b.Name,c.ClassName from (SetClass a "
" left outer join Employee b on a.EmployeeID=b.EmployeeID) "
" left outer join Class c on a.ClassID=c.ClassID where a.AddClass=0 and a.DataID= " +IntToStr(DataID));
if(QurFree->RecordCount==0)
{
Message("该单据已不存在!");
return;
}
CmbEmployee->Text=QurFree->FieldByName("Name")->AsString;
DtpBeginDate->Date=QurFree->FieldByName("BeginDate")->AsDateTime;
DtpEndDate->Date=QurFree->FieldByName("EndDate")->AsDateTime;
CmbTimeMode->Text=QurFree->FieldByName("TimeMode")->AsString;
CmbBeginTime->Text=QurFree->FieldByName("BeginTime")->AsString;
CmbEndTime->Text=QurFree->FieldByName("EndTime")->AsString;
CmbTimePos->Text=QurFree->FieldByName("ClassName")->AsString;
Memo ->Text=QurFree->FieldByName("Memo1")->AsString;
BtnState(2);
mEdit=true;
mChanged=false;
mDataID=DataID;
}
bool __fastcall TfrmSetClassEdit::SaveBill(void)
{
if (Trim(CmbEmployee->Text) == "")
{
Message ("请选择员工!");
return false;
}
if (DtpBeginDate->Date > DtpEndDate->Date)
{
Message ("结束日期不能比开始日期早!");
return false;
}
if (Trim(CmbTimeMode->Text) == "")
{
Message ("请选择时间模式!");
return false;
}
if (Trim(CmbTimeMode->Text) != "每天")
{
if (Trim(CmbBeginTime->Text) == "")
{
Message ("请选择开始时间!");
return false;
}
if (Trim(CmbEndTime->Text) == "")
{
Message ("请选择结束时间!");
return false;
}
if (StrToInt(CmbBeginTime->Text) > StrToInt(CmbEndTime->Text))
{
Message ("结束时间不能比开始时间早!");
return false;
}
}
if (Trim(CmbTimePos->Text) == "")
{
Message ("请选择班次!");
return false;
}
if (!mChanged) return false;
AnsiString SQL;
if(!mEdit)
{
SQL = "insert into SetClass(EmployeeID,BeginDate,EndDate,TimeMode,"
"BeginTime,EndTime,ClassID,Memo1,AddClass) Values( "
+ IntToStr(((cEmployee*)(CmbEmployee->Items->Objects[CmbEmployee->ItemIndex]))->iID) + ","
"'" + DtpBeginDate->Date + "',"
"'" + DtpEndDate->Date + "',"
"'" + CmbTimeMode->Text + "',"
"'" + CmbBeginTime->Text + "',"
"'" + CmbEndTime->Text + "',"
+ IntToStr(((cClass*)(CmbTimePos->Items->Objects[CmbTimePos->ItemIndex]))->iID) + ","
"'" + Memo->Text + "',"
+ IntToStr(0) + ")" ;
// Message (SQL);
frmDM->Con->Execute(SQL);
}
else
{
OpenSQL(QurFree,"select * from SetClass where DataID="+IntToStr(mDataID));
if (QurFree->RecordCount==0)
{
Message("该单据已不存在!");
return false;
}
QurFree->Edit();
QurFree->FieldByName("EmployeeID")->AsInteger=
((cEmployee*)(CmbEmployee->Items->Objects[CmbEmployee->Items->IndexOf(CmbEmployee->Text)]))->iID;
QurFree->FieldByName("BeginDate")->AsDateTime=DtpBeginDate->Date;
QurFree->FieldByName("EndDate")->AsDateTime=DtpEndDate->Date;
QurFree->FieldByName("TimeMode")->AsString=CmbTimeMode->Text;
QurFree->FieldByName("BeginTime")->AsString=CmbBeginTime->Text;
QurFree->FieldByName("EndTime")->AsString=CmbEndTime->Text;
QurFree->FieldByName("ClassID")->AsInteger=
((cClass*)(CmbTimePos->Items->Objects[CmbTimePos->Items->IndexOf(CmbTimePos->Text)]))->iID;
QurFree->FieldByName("Memo1")->AsString=Memo->Text;
QurFree->FieldByName("AddClass")->AsBoolean=false;
QurFree->Post();
}
BtnState(2);
mChanged=false;
mEdit=true;
if (frmSetClass!=NULL)
frmSetClass->RefreshData() ;
return true;
}
void __fastcall TfrmSetClassEdit::BtnPriorClick(TObject *Sender)
{
frmDM->QurSetClass->Prior() ;
ViewBill(frmDM->QurSetClass->FieldByName("DataID")->AsInteger);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetClassEdit::BtnNextClick(TObject *Sender)
{
frmDM->QurSetClass->Next() ;
ViewBill(frmDM->QurSetClass->FieldByName("DataID")->AsInteger);
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetClassEdit::BtnAddClick(TObject *Sender)
{
AddBill();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetClassEdit::BtnEditClick(TObject *Sender)
{
BtnState(3);
AddTimeMode();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetClassEdit::BtnSaveClick(TObject *Sender)
{
SaveBill();
}
void __fastcall TfrmSetClassEdit::BtnExitClick(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetClassEdit::CmbEmployeeChange(TObject *Sender)
{
mChanged=true;
}
//---------------------------------------------------------------------------
void __fastcall TfrmSetClassEdit::FormClose(TObject *Sender,
TCloseAction &Action)
{
frmSetClassEdit=NULL;
Action=caFree;
}
void __fastcall TfrmSetClassEdit::DtpBeginDateKeyPress(TObject *Sender,
char &Key)
{
Key=0;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -