⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sgsk.cpp

📁 企业员工考勤和工资管理系统
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Sgsk.h"
#include "DM1.h"
#include "stdio.h"
#include "QuerySql.h"
#include "PrintSet.h"
#include "SortSelect.h"
#include "ColumnSelect.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFormSgsk *FormSgsk;
//---------------------------------------------------------------------------
__fastcall TFormSgsk::TFormSgsk(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFormSgsk::FormCreate(TObject *Sender)
{
  pAdd = GetQuery("Query1");
  pFind = GetQuery("Query2");
  pChaxun = GetQuery("Query3");
  DataSource1->DataSet = pChaxun;
  if (pAdd == NULL) BitBtnSave->Enabled = false;
}
//---------------------------------------------------------------------------


void __fastcall TFormSgsk::BitBtnSaveClick(TObject *Sender)
{
  if (Trim(MaskEditBh->Text) == "")
    {
      ShowMessage("请输入员工编号!");
      MaskEditBh->SetFocus();
      return;
    }
  //if (Trim(MaskEditKp->Text) == "")
  //  {
  //    ShowMessage("请输入卡片编号!");
  //    MaskEditKp->SetFocus();
  //    return;
  //  }
  try
    {
      StrToDateTime(MaskEditRq->Text);
    }
  catch(...)
    {
      ShowMessage("请输入正确的日期!");
      MaskEditRq->SetFocus();
      return;
    }
  try
    {
      StrToDateTime(MaskEditSj->Text);
    }
  catch(...)
    {
      ShowMessage("请输入正确的时间!");
      MaskEditSj->SetFocus();
      return;
    }
  AnsiString sYgxm,sBmmc,sBzmc,sSksj,sYy;
  int nYgbh;
  char temp[300];
  nYgbh = Trim(MaskEditBh->Text).ToInt();
  sYgxm = EditXm->Text;
  sBmmc = EditBm->Text;
  sBzmc = EditBz->Text;
  //nKpbh = Trim(MaskEditKp->Text).ToInt();
  sSksj = FormatDateTime("yyyy-mm-dd hh:mm",StrToDateTime(MaskEditRq->Text + " " + MaskEditSj->Text));
  sYy = Trim(EditYy->Text);
  sprintf(temp,"insert into kq_sgsk(ygbh,ygxm,bmmc,bzmc,sksj,yy) values(%d,'%s','%s','%s','%s','%s')",nYgbh,sYgxm.c_str(),sBmmc.c_str(),sBzmc.c_str(),sSksj.c_str(),sYy.c_str());
  pAdd->Close();
  pAdd->SQL->Clear();
  pAdd->SQL->Add(temp);
  pAdd->Prepared = true;
  try
    {
      pAdd->ExecSQL();
    }
  catch(Exception &exception)
    {
      ShowMessage("保存失败!\n因为:" + exception.Message);
      return;
    }

  sprintf(temp,"insert into kq_shuaka(ygbh,sksj) values(%d,'%s')",nYgbh,sSksj.c_str());
  pAdd->Close();
  pAdd->SQL->Clear();
  pAdd->SQL->Add(temp);
  pAdd->ExecSQL();

  pAdd->Close();
  MaskEditBh->Clear();
  EditXm->Clear();
  EditBm->Clear();
  EditBz->Clear();
  //MaskEditKp->Clear();
  MaskEditRq->Clear();
  MaskEditSj->Clear();
  EditYy->Clear();
  MaskEditBh->SetFocus();

}
//---------------------------------------------------------------------------

void __fastcall TFormSgsk::MaskEditBhExit(TObject *Sender)
{
  if (Trim(MaskEditBh->Text) == "")
    {
      EditXm->Text = "";
      EditBm->Text = "";
      EditBz->Text = "";
      //MaskEditKp->Text = "";
      return;
    }
  pFind->Close();
  pFind->SQL->Clear();
  pFind->SQL->Add("select holdername,departmentname,groupname from renshi where holderno = " + Trim(MaskEditBh->Text));
  pFind->Open();
  if (pFind->RecNo > 0)
    {
      EditXm->Text = pFind->FieldByName("holdername")->AsString;
      EditBm->Text = pFind->FieldByName("departmentname")->AsString;
      EditBz->Text = pFind->FieldByName("groupname")->AsString;
      //MaskEditKp->Text = pFind->FieldByName("cardno")->AsString;
    }
  else
     {
       ShowMessage("没有编号为" + Trim(MaskEditBh->Text) + "的员工!");
       EditXm->Text = "";
       EditBm->Text = "";
       EditBz->Text = "";
       MaskEditBh->Text = "";
       //MaskEditKp->Text = "";


     }
}
//---------------------------------------------------------------------------

void __fastcall TFormSgsk::FormKeyPress(TObject *Sender, char &Key)
{
   if(Key==VK_RETURN)
      {
        SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
        Key=0;
      }
}
//---------------------------------------------------------------------------

void __fastcall TFormSgsk::FormClose(TObject *Sender, TCloseAction &Action)
{
  pAdd->Close();
  pFind->Close();
  pChaxun->Close();
  pAdd->SQL->Clear();
  pFind->SQL->Clear();
  pChaxun->SQL->Clear();
}
//---------------------------------------------------------------------------




void __fastcall TFormSgsk::BitBtnDeleteClick(TObject *Sender)
{
  char temp[300];
  int nYgbh;
  AnsiString sSksj;
  if (!(pChaxun->RecNo >0)) return;
  if ( Application->MessageBox("确定要删除该记录吗?","警告", MB_OKCANCEL) == IDOK)
    {
      nYgbh = pChaxun->FieldByName("ygbh")->AsInteger;
      sSksj = pChaxun->FieldByName("sksj")->AsString;

      pChaxun->Delete();
      LabelCount->Caption = LabelCount->Caption.ToInt() - 1;

      sprintf(temp,"delete from kq_shuaka where ygbh = %d and sksj = '%s' and kpbh is null and kpid is null",nYgbh,sSksj);
      pAdd->Close();
      pAdd->SQL->Clear();
      pAdd->SQL->Add(temp);
      pAdd->ExecSQL();
    }
}
//---------------------------------------------------------------------------

void __fastcall TFormSgsk::FormShow(TObject *Sender)
{
  pChaxun->Close();
  pChaxun->SQL->Clear();
  pChaxun->SQL->Add("select lshao,ygbh,ygxm,bmmc,bzmc,sksj,yy from kq_sgsk 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 TFormSgsk::BitBtnPrintClick(TObject *Sender)
{
  TFormPrintSet *FormPrintSet = new TFormPrintSet(this);
  FormPrintSet->SetDataSource(pChaxun);
  FormPrintSet->SetGrid(DBGrid1);
  FormPrintSet->EditTitle->Text = "签卡";
  FormPrintSet->ShowModal();
  delete FormPrintSet;  
}
//---------------------------------------------------------------------------

void __fastcall TFormSgsk::BitBtnSortClick(TObject *Sender)
{
  TFormSortSelect *FormSortSelect = new TFormSortSelect(this);
  FormSortSelect->SetItem(DBGrid1);
  if (FormSortSelect->ShowModal() == mrOk)
  pChaxun->Sort = FormSortSelect->sSort;
  delete FormSortSelect;  
}
//---------------------------------------------------------------------------

void __fastcall TFormSgsk::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,sksj,yy from kq_sgsk " + FormQuerySql->sSql + " order by sksj";
  pChaxun->Close();
  pChaxun->SQL->Clear();
  pChaxun->SQL->Add(sNewSql);
  pChaxun->Open();
  LabelCount->Caption = pChaxun->RecordCount;
  delete FormQuerySql;
}
//---------------------------------------------------------------------------

void __fastcall TFormSgsk::BitBtn2Click(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 + -