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

📄 tiaoban2.cpp

📁 企业员工考勤和工资管理系统
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "TiaoBan2.h"
#include "DM1.h"
#include "stdio.h"
#include "SelectBC.h"

//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TFormTiaoBan2 *FormTiaoBan2;

TDate DateStartTb,DateEndTb;
int nPbfsTb,nBianhaoTb;
AnsiString sMingchengTb;
extern int nFlag;
extern AnsiString sBcXz;

//---------------------------------------------------------------------------
__fastcall TFormTiaoBan2::TFormTiaoBan2(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TFormTiaoBan2::FormShow(TObject *Sender)
{
  char szTemp2[50];
  AnsiString sKsrq,sJsrq,szTemp1;
  LabelDayCount->Caption = IntToStr(DateEndTb - DateStartTb + 1);
  sKsrq = FormatDateTime("yyyy-mm-dd",DateStartTb);
  sJsrq = FormatDateTime("yyyy-mm-dd",DateEndTb);
  LabelStart->Caption = sKsrq;
  LabelEnd->Caption = sJsrq;

  try
    {
       pBc->Open();
    }
  catch(...)
    {
      ShowMessage("基础班次表打开失败!");
      BitBtnSave->Enabled = false;
    }

  szTemp1 = "select * from kq_paiban where riqi >= '" + sKsrq + "' and riqi <= '" + sJsrq + "'";
  if (nPbfsTb == 1)
    {
      LabelPbfs->Caption = "全部";
      szTemp2[0] = 0;
    }
  else if (nPbfsTb == 2)
    {
      LabelPbfs->Caption = "按部门";
      LabelName->Caption = sMingchengTb;
      sprintf(szTemp2," and bmbh = %d",nBianhaoTb);
    }
  else if (nPbfsTb == 3)
    {
      LabelPbfs->Caption = "按班组";
      LabelName->Caption = sMingchengTb;
      sprintf(szTemp2," and bzbh = %d",nBianhaoTb);
    }
  else if (nPbfsTb == 4)
    {
      LabelPbfs->Caption = "按个人";
      LabelName->Caption = sMingchengTb;
      sprintf(szTemp2," and ygbh = %d",nBianhaoTb);
    }
  strcat(szTemp2," order by bmbh,bzbh,ygbh");
  pYg->Close();
  pYg->SQL->Clear();
  pYg->SQL->Add(szTemp1);
  pYg->SQL->Add(szTemp2);
  try
    {
      pYg->Open();
    }
  catch(...)
    {
      ShowMessage("排班表打开失败!");
      BitBtnSave->Enabled = false;
      return;
    }

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

void __fastcall TFormTiaoBan2::FormCreate(TObject *Sender)
{

  pBc = GetQuery("QPbBc");
  pYg = GetQuery("QPbYg");
  DataSource1->DataSet = pYg;
  FormSelectBC = new TFormSelectBC(this);
}
//---------------------------------------------------------------------------

void __fastcall TFormTiaoBan2::FormClose(TObject *Sender,
      TCloseAction &Action)
{
  pYg->Close();
  pBc->Close();
  delete FormSelectBC;
}
//---------------------------------------------------------------------------

void __fastcall TFormTiaoBan2::BitBtnSaveClick(TObject *Sender)
{
  /*
  AnsiString sMonday,sTuesday,sWednesday,sThursday,sFriday,sSaturday,sSunday,sDateTemp,sDateTemp2;
  AnsiString sYgxm,sBmmc,sBzmc,sBanci;
  WBC wbc,wbc1,wbc2,wbc3,wbc4,wbc5,wbc6,wbc7,*pWbc;
  TDate daytemp;
  int nWeek,nJiari,nYgbh,nKpbh,nBmbh,nBzbh,nRow,nTs,nYs;
  TLocateOptions Opts;
  Opts.Clear();

  if (pYg->RecordCount < 1)
    {
      ShowMessage("没有人员参加排班!");
      return;
    }
  nTs = LabelDayCount->Caption.ToInt();
  nYs = LabelCount->Caption.ToInt();
  pYg->First();
  if (RadioButton1->Checked)
    {
      if (pGdb->RecNo < 1)
        {
          ShowMessage("预设排班不存在!");
          return;
        }
      sMonday = pGdb->FieldByName("monday")->AsString;
      sTuesday = pGdb->FieldByName("tuesday")->AsString;
      sWednesday = pGdb->FieldByName("wednesday")->AsString;
      sThursday = pGdb->FieldByName("thursday")->AsString;
      sFriday = pGdb->FieldByName("friday")->AsString;
      sSaturday = pGdb->FieldByName("saturday")->AsString;
      sSunday = pGdb->FieldByName("sunday")->AsString;
      CheckBanciNo(&wbc1,sMonday);
      CheckBanciNo(&wbc2,sTuesday);
      CheckBanciNo(&wbc3,sWednesday);
      CheckBanciNo(&wbc4,sThursday);
      CheckBanciNo(&wbc5,sFriday);
      CheckBanciNo(&wbc6,sSaturday);
      CheckBanciNo(&wbc7,sSunday);
    }
  else
    {

      for (int i = 1;i <StringGrid1->RowCount;i++)
        {
          if (StringGrid1->Cells[1][i] == "")
            {
             ShowMessage("班次不能为空!");
             StringGrid1->Row = i;
             return;
            }
        }
    }

    while (!(pYg->Eof))
      {
        nRow = 1;
        nYgbh = pYg->FieldByName("holderno")->AsInteger;
        sYgxm = pYg->FieldByName("holdername")->AsString;
        nKpbh = pYg->FieldByName("cardno")->AsInteger;
        nBmbh = pYg->FieldByName("departmentno")->AsInteger;
        sBmmc = pYg->FieldByName("departmentname")->AsString;
        nBzbh = pYg->FieldByName("groupno")->AsInteger;
        sBzmc = pYg->FieldByName("groupname")->AsString;
        daytemp = DateStartTb;
        while (daytemp <= DateEndTb)
          {
            sDateTemp =  FormatDateTime("yyyy-mm-dd",daytemp);
            if (RadioButton1->Checked)
              {
                nWeek = DayOfWeek(daytemp);
                switch (nWeek)
                  {
                    case 1 : pWbc = &wbc7; break;
                    case 2 : pWbc = &wbc1; break;
                    case 3 : pWbc = &wbc2; break;
                    case 4 : pWbc = &wbc3; break;
                    case 5 : pWbc = &wbc4; break;
                    case 6 : pWbc = &wbc5; break;
                    case 7 : pWbc = &wbc6; break;
                  }
              }
            else
              {
                 sBanci = StringGrid1->Cells[1][nRow];
                 CheckBanciNo(&wbc,sBanci);
                 pWbc = &wbc;
              }
            pAdd->Append();
            pAdd->FieldByName("ygbh")->Value = nYgbh;
            pAdd->FieldByName("ygxm")->Value = sYgxm;
            pAdd->FieldByName("kpbh")->Value = nKpbh;
            pAdd->FieldByName("bmbh")->Value = nBmbh;
            pAdd->FieldByName("bmmc")->Value = sBmmc;
            pAdd->FieldByName("bzbh")->Value = nBzbh;
            pAdd->FieldByName("bzmc")->Value = sBzmc;
            pAdd->FieldByName("riqi")->Value = sDateTemp;

            if (pJiari->Locate("HolidayDay", sDateTemp, Opts)) nJiari = 1;
            else nJiari = 0;
            pAdd->FieldByName("jiari")->Value = nJiari;
            if (nJiari == 1) goto LABEL_END;
            pAdd->FieldByName("banci")->Value = pWbc->bcmc;
            pAdd->FieldByName("xiuxi")->Value = pWbc->xiuxi;
            if (pWbc->xiuxi == 1) goto LABEL_END;
            pAdd->FieldByName("sds")->Value = pWbc->sds;
            sDateTemp2 = sDateTemp + " " + pWbc->sd11;
            pAdd->FieldByName("sd11")->Value =  sDateTemp2;
            pAdd->FieldByName("sd11s")->Value = pWbc->sd11s;
            pAdd->FieldByName("sd11e")->Value = pWbc->sd11e;
            if (pWbc->sd12 <= pWbc->sd11)
            sDateTemp2 = FormatDateTime("yyyy-mm-dd",daytemp + 1) + " " + pWbc->sd12;
            else sDateTemp2 = sDateTemp + " " + pWbc->sd12;
            pAdd->FieldByName("sd12")->Value = sDateTemp2;
            pAdd->FieldByName("sd12s")->Value = pWbc->sd12s;
            pAdd->FieldByName("sd12e")->Value = pWbc->sd12e;
            if (pWbc->sds > 1)
              {
                sDateTemp2 = sDateTemp + " " + pWbc->sd21;
                pAdd->FieldByName("sd21")->Value =  sDateTemp2;
                pAdd->FieldByName("sd21s")->Value = pWbc->sd21s;
                pAdd->FieldByName("sd21e")->Value = pWbc->sd21e;
                if (pWbc->sd22 <= pWbc->sd21)
                sDateTemp2 = FormatDateTime("yyyy-mm-dd",daytemp + 1) + " " + pWbc->sd22;
                else sDateTemp2 = sDateTemp + " " + pWbc->sd22;
                pAdd->FieldByName("sd22")->Value = sDateTemp2;
                pAdd->FieldByName("sd22s")->Value = pWbc->sd22s;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -