📄 jiaban.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "JiaBan.h"
#include "DM1.h"
#include "stdio.h"
#include "QuerySql.h"
#include "PrintSet.h"
#include "SortSelect.h"
#include "ColumnSelect.h"
#include <math.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormJiaBan *FormJiaBan;
//---------------------------------------------------------------------------
__fastcall TFormJiaBan::TFormJiaBan(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::FormClose(TObject *Sender,
TCloseAction &Action)
{
pAdd->Close();
pYgbh->Close();
pChaxun->Close();
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::BitBtnSaveClick(TObject *Sender)
{
int nYgbh;
double fZsj;
AnsiString sYgxm,sBmmc,sBzmc,sJz,sRq,sKssj,sJssj,sSp,temp;
char pTemp[500];
if (Trim(MBh->Text) == "")
{
ShowMessage("请输入员工编号!");
MBh->SetFocus();
return;
}
if (Trim(ComboBoxJj->Text) == "")
{
ShowMessage("请选择加班种类!");
ComboBoxJj->SetFocus();
return;
}
try
{
StrToDateTime(Trim(MRq->Text));
}
catch(...)
{
ShowMessage("请输入正确的日期!");
MRq->SetFocus();
return;
}
try
{
StrToTime(Trim(MKs->Text));
}
catch(...)
{
ShowMessage("请输入正确的开始时间!");
MKs->SetFocus();
return;
}
try
{
StrToTime(Trim(MJs->Text));
}
catch(...)
{
ShowMessage("请输入正确的结束时间!");
MJs->SetFocus();
return;
}
sRq = FormatDateTime("yyyy-mm-dd",StrToDate(Trim(MRq->Text)));
sKssj = FormatDateTime("hh:mm",StrToTime(Trim(MKs->Text)));
sJssj = FormatDateTime("hh:mm",StrToTime(Trim(MJs->Text)));
if (sJssj < sKssj)
{
ShowMessage("结束时间不能小于开始时间!");
MJs->SetFocus();
return;
}
if (Trim(MZsj->Text) == "")
{
ShowMessage("请输入总时间!");
MZsj->SetFocus();
return;
}
nYgbh = Trim(MBh->Text).ToInt();
sYgxm = Trim(EditXm->Text);
sBmmc = Trim(EditBm->Text);
sBzmc = Trim(EditBz->Text);
sJz = Trim(ComboBoxJj->Text);
fZsj = Trim(MZsj->Text).ToDouble();
sSp = Trim(EditSp->Text);
temp = "insert into kq_jiaban(ygbh,ygxm,bmmc,bzmc,jbzl,riqi,kssj,jssj,zsj,spren) values(";
sprintf(pTemp,"%d,'%s','%s','%s','%s','%s','%s','%s',%f,'%s')",nYgbh,sYgxm.c_str(),sBmmc.c_str(),sBzmc.c_str(),sJz.c_str(),sRq.c_str(),sKssj.c_str(),sJssj.c_str(),fZsj,sSp.c_str());
pAdd->Close();
pAdd->SQL->Clear();
pAdd->SQL->Add(temp);
pAdd->SQL->Add(pTemp);
try
{
pAdd->ExecSQL();
}
catch(Exception &exception)
{
ShowMessage("保存失败! \n因为:" + exception.Message);
return;
}
pAdd->Close();
MBh->Text = "";
EditXm->Text = "";
EditBm->Text = "";
EditBz->Text = "";
ComboBoxJj->Text = "";
MRq->Text = "";
MKs->Text = "";
MJs->Text = "";
MZsj->Text = "";
EditSp->Text = "";
MBh->SetFocus();
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::MBhExit(TObject *Sender)
{
if (Trim(MBh->Text) == "")
{
EditXm->Text = "";
EditBm->Text = "";
EditBz->Text = "";
return;
}
pYgbh->Close();
pYgbh->SQL->Clear();
pYgbh->SQL->Add("select holdername,departmentname,groupname from renshi where holderno = " + Trim(MBh->Text));
pYgbh->Open();
if (pYgbh->RecNo == 1)
{
EditXm->Text = pYgbh->FieldByName("holdername")->AsString;
EditBm->Text = pYgbh->FieldByName("departmentname")->AsString;
EditBz->Text = pYgbh->FieldByName("groupname")->AsString;
}
else
{
ShowMessage("没有编号为" + Trim(MBh->Text) + "的员工!");
EditXm->Text = "";
EditBm->Text = "";
EditBz->Text = "";
MBh->Text = "";
}
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::MZsjEnter(TObject *Sender)
{
try
{
StrToDateTime(Trim(MKs->Text));
StrToDateTime(Trim(MJs->Text));
}
catch(...)
{
MZsj->Text = "";
return;
}
TDateTime tKssj,tJssj;
tKssj = StrToDateTime(Trim(MKs->Text));
tJssj = StrToDateTime(Trim(MJs->Text));
if (tJssj < tKssj)
{
MZsj->Text = "";
return;
}
MZsj->Text = Round((double)(tJssj - tKssj) * 24,1);
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
Key=0;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::FormShow(TObject *Sender)
{
pChaxun->Close();
pChaxun->SQL->Clear();
pChaxun->SQL->Add("select lshao,ygbh,ygxm,bmmc,bzmc,jbzl,riqi,kssj,jssj,zsj,spren from kq_jiaban where 1 =2");
pChaxun->Open();
TIniFile* pIni = new TIniFile(ExtractFilePath(Application->ExeName) + "reckq.ini");
pIni->ReadSection(Name,ComboBoxCol->Items);
for (int i= 0; i< ComboBoxCol->Items->Count;i++)
{
pIni->ReadBool(Name,ComboBoxCol->Items->Strings[i],true);
for (int j = 0; j< DBGrid1->Columns->Count;j++)
{
if (DBGrid1->Columns->Items[j]->FieldName == ComboBoxCol->Items->Strings[i])
{
DBGrid1->Columns->Items[j]->Visible = pIni->ReadBool(Name,ComboBoxCol->Items->Strings[i],true);
break;
}
}
}
delete pIni;
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::BitBtnDeleteClick(TObject *Sender)
{
if (!(pChaxun->RecNo >0)) return;
if ( Application->MessageBox("确定要删除该加班记录吗?","警告", MB_OKCANCEL) == IDOK)
{
pChaxun->Delete();
LabelCount->Caption = LabelCount->Caption.ToInt() - 1;
}
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::BitBtnQueryClick(TObject *Sender)
{
AnsiString sNewSql;
TFormQuerySql *FormQuerySql = new TFormQuerySql(this);
FormQuerySql->pGrid = DBGrid1;
FormQuerySql->pQuery = pChaxun;
if(FormQuerySql->ShowModal() == mrCancel)
{
delete FormQuerySql;
return;
}
sNewSql = "select lshao,ygbh,ygxm,bmmc,bzmc,jbzl,riqi,kssj,jssj,zsj,spren from kq_jiaban " + FormQuerySql->sSql + " order by riqi,ygbh";
pChaxun->Close();
pChaxun->SQL->Clear();
pChaxun->SQL->Add(sNewSql);
pChaxun->Open();
LabelCount->Caption = pChaxun->RecordCount;
delete FormQuerySql;
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::BitBtnSortClick(TObject *Sender)
{
TFormSortSelect *FormSortSelect = new TFormSortSelect(this);
FormSortSelect->SetItem(DBGrid1);
if (FormSortSelect->ShowModal() == mrOk)
pChaxun->Sort = FormSortSelect->sSort;
delete FormSortSelect;
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::BitBtnPrintClick(TObject *Sender)
{
TFormPrintSet *FormPrintSet = new TFormPrintSet(this);
FormPrintSet->SetDataSource(pChaxun);
FormPrintSet->SetGrid(DBGrid1);
FormPrintSet->EditTitle->Text = "手工录入加班";
FormPrintSet->ShowModal();
delete FormPrintSet;
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::FormCreate(TObject *Sender)
{
pAdd= GetQuery("QQingjia1");
pYgbh= GetQuery("QQingjia2");
pChaxun= GetQuery("QQingjia3");
if (pAdd == NULL || pYgbh == NULL || pChaxun == NULL)
{
ShowMessage("打开请假表失败!");
BitBtnSave->Enabled = false;
return;
}
DataSource1->DataSet = pChaxun;
}
//---------------------------------------------------------------------------
void __fastcall TFormJiaBan::BitBtn1Click(TObject *Sender)
{
TFormColumnSelect *FormColumnSelect = new TFormColumnSelect(this);
FormColumnSelect->pGrid = DBGrid1;
FormColumnSelect->asWinName = Name;
FormColumnSelect->ShowModal();
delete FormColumnSelect;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -