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

📄 winchuqin.pas

📁 考勤管理 考勤管理 考勤管理
💻 PAS
📖 第 1 页 / 共 4 页
字号:
     myds:=dataset.Create;
     myds:=clsmain.TClass1.Create.cmn_ado_select(w_SQL);
     if myds.Tables[0].Rows.count<>0 then
     begin
       w_up:=clsmain.TClass1.Create.getItemValueS(myds,0,'上班时间').ToString;
       w_down:=clsmain.TClass1.Create.getItemValueS(myds,0,'下班时间').ToString;
       if w_dtpup>w_up then
       begin
         w_chidao:='迟到';
       end
       else
       begin
         w_chidao:='';
       end;
        if w_dtpup<w_up then
       begin
         w_zaotui:='早退';
       end
       else
       begin
         w_zaotui:='';
       end;
     end;

     w_SQL := '';
     w_SQL := w_SQL + ' UPDATE 员工出勤表 SET';
     w_SQL := w_SQL + ' 员工编号='''+w_txtbianhao+''',';
     w_SQL := w_SQL + ' 日期=left('''+w_dtpriqi+''',10),';
     w_SQL := w_SQL + ' 上班时间='''+w_dtpup+''',';
     w_SQL := w_SQL + ' 迟到='''+w_chidao+''',';
     w_SQL := w_SQL + ' 下班时间='''+w_dtpdown+''',';
     w_SQL := w_SQL + ' 早退='''+w_zaotui+''',';
     w_SQL := w_SQL + ' 请假类型='''+w_CmbQingjia+''',';
     w_SQL := w_SQL + ' 请假总时间='''+w_dtpqingjia+''',';
     w_SQL := w_SQL + ' 加班总时间='''+w_dtpjiaban+''',';
     w_SQL := w_SQL + ' 是否出差='''+w_cmbchuchai+'''';
     w_SQL := w_SQL + ' WHERE 员工编号='''+w_Txtbianhao+'''';
     w_SQL := w_SQL + ' AND 日期=left('''+w_dtpriqi+''',10)';

     clsmain.TClass1.Create.BeginTrans();            //开始事务
     clsmain.TClass1.Create.Cmn_Ado_Execute(w_SQL);  //执行SQL语句
     clsmain.TClass1.Create.Commit();                //提交事务

     //设置当前光标为默认状态
     self.Cursor := Cursors.Default;
     //返回值设定
     result:= True;
  except
    on ex:Exception do
    begin
      //事务回滚
      clsmain.TClass1.Create.Rollback();
      //设置当前光标为默认状态
      self.Cursor := Cursors.Default;
      messagebox.Show('TWinchuqin.Data_Upd : (' + ex.message + ') ' , '考勤管理系统');
    end;
  end;

end;

//****************************************************************
//*  RefreshEnabled
//*
//*  [参数]
//*      1:控件的可用状态
//*      2:其它输入控件的可用状态
//*  [返回]
//*      无
//****************************************************************
procedure TWinchuqin.RefreshEnabled(NThis, NOther: Boolean);
begin
  try
    If NThis = True Then
    begin
      Txtbianhao.Enabled:= true;
    end
    Else
    begin
      Txtbianhao.Enabled:= false;
    end;
    dtpup.Enabled:=Nother;
    dtpdown.Enabled:=Nother;
    cmbqingjia.Enabled:=Nother;
    dtpjiaban.Enabled:=nother;
    cmbchuchai.Enabled:=Nother;
    txtbeizhu.Enabled:=Nother;
  except
    on ex:Exception do
    begin
      messagebox.Show(' TWinchuqin.ToolBar2_ButtonClick : (' + ex.message + ') ' , '考勤管理系统');
    end;
  end;
end;



//****************************************************************
//*  cmbqingjia_SelectedIndexChanged
//*
//*  [参数]
//*      1:控件的可用状态
//*      2:请假总时间控件的可用状态
//*  [返回]
//*      无
//****************************************************************

procedure TWinchuqin.cmbqingjia_SelectedIndexChanged(sender: System.Object; e: System.EventArgs);
begin
  try
    IF Cmbqingjia.Text ='' then
    begin
       dtpqingjia.Enabled:=false;
    end
    else            
    begin
      dtpqingjia.Enabled:=true;
    end;
  except
    on ex:exception do
      begin
        messagebox.Show(' TWinchuqin.cmbqingjia_SelectedIndexChanged:('+ ex.Message+')','考勤管理系统');
      end;
  end;
end;

//****************************************************************
//*  ButFind_Click
//*
//*  [参数]
//*      1:系统参数
//*      2:系统参数
//*  [返回]
//*      无
//****************************************************************

procedure TWinchuqin.butfind_Click(sender: System.Object; e: System.EventArgs);
begin
 try
    //项目Check
    If Item_CheckF() = False Then
    begin
      Exit;
    end;
   //数据查看
    Data_Get();
  except
    on ex:Exception do
    begin
      messagebox.Show('TWinUser.ButFind_Click : (' + ex.message + ') ' , '考勤管理系统');
    end;
  end;
end;
//****************************************************************
//*  数据查看
//*
//*  [参数]
//*      无
//*  [返回]
//*      实行状况
//*      True:成功
//*      False:失败
//****************************************************************
function TWinchuqin.data_get: boolean;
var
  W_SQL:string;
  w_SQLWhere:String;
  w_dtpriqiF:String;
  w_cmbbumenF:string;
  w_cmbnameF:string;
  W_dtpchuqinF:string;
begin
  try
     //设置当前光标为忙等待状态
    self.Cursor:=cursors.WaitCursor;
    w_dtpriqiF:=dtpriqiF.text;
    w_cmbbumenF := cmbbumenF.Text.Trim;
    w_cmbbianhaoF := cmbbianhaoF.Text.Trim;
    w_cmbnameF:=cmbnameF.Text.Trim();
    W_dtpchuqinF:=dtpchuqinF.TEXT.TRIM;
    w_SQL := '';
    w_SQL := w_SQL + ' SELECT *';
    w_SQL := w_SQL + ' FROM 员工出勤表';

     w_sqlwhere:='';
     if dtpriqiF.Enabled=true then
     begin
       w_sqlwhere:=w_sqlwhere + ' AND left(日期,10)=''' + w_dtpriqiF + '''';
     end;

     if w_cmbbumenF <> '' then
     begin
       w_sqlwhere:=w_sqlwhere + ' AND 部门名称=''' + w_cmbbumenF + '''';
     end;
     if w_cmbbianhaoF <> '' then
     begin
       w_sqlwhere:=w_sqlwhere + ' AND 员工编号=''' + w_cmbbianhaoF + '''';
     end;
     if w_cmbnameF <> '' then
     begin    
       w_sqlwhere:=w_sqlwhere + '  AND 姓名 like ''%' + w_cmbnameF +'%''';
     end;
     if ckbchidao.Checked=true then
     begin
       w_sqlwhere:=w_sqlwhere + ' AND 迟到=''迟到''';
     end;
     if ckbzaotui.Checked=true then
     begin
       w_sqlwhere:=w_sqlwhere + ' AND 早退=''早退''';
     end;
      if ckbjiaban.Checked=true then
     begin
       w_sqlwhere:=w_sqlwhere + ' AND 加班总时间<>''00:00''';
     end;
       if ckbqingjia.Checked=true then
     begin
       w_sqlwhere:=w_sqlwhere + ' AND 请假总时间<>''00:00''';
     end;
      if ckbchuchai.Checked=true then
     begin
       w_sqlwhere:=w_sqlwhere + ' AND 是否出差=''出差''';
     end;
     IF CheckBox1.Checked =true then
      begin
       w_sqlwhere:=w_sqlwhere + ' AND left(日期,7)=''' + W_dtpchuqinF + '''';
      end;
     If w_SQLWhere <> '' Then
     begin
      w_SQLWhere := ' WHERE 员工编号<>'''''+w_SQLWhere;
      w_SQL := w_SQL + w_SQLWhere;
     End;

   
    //执行SQL语句并把记录集返回
    DGDs:=clsmain.TClass1.Create.Cmn_Ado_Select (w_SQL);

    if flg <> '编辑' then
    begin
       if dgds.Tables[0].Rows.count <>0 then
       begin
         txtbianhao.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'员工编号').ToString;
         txtname.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'姓名').ToString;
         txtbumen.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'部门名称').ToString;
         //DateTimePicker1.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'日期').ToString;
         // messagebox.Show(clsmain.TClass1.Create.getItemValueS(DGDS,0,'日期').ToString);
         dtpriqi.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'日期').ToString;
         dtpup.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'上班时间').ToString;
         dtpdown.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'下班时间').ToString;
         cmbqingjia.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'请假类型').ToString;
         dtpqingjia.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'请假总时间').ToString;
         dtpjiaban.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'加班总时间').ToString;
         cmbchuchai.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'是否出差').ToString;
         txtbeizhu.Text:=clsmain.TClass1.Create.getItemValueS(DGDS,0,'备注').ToString;
       end
       else
       begin
         txtbianhao.Text :='';
         txtname.Text :='';
         txtbumen.Text :='';
         dtpriqi.Text :='';
         dtpup.Text :='00:00';
         dtpdown.Text :='00:00';
         cmbqingjia.Text :='';
         dtpqingjia.Text :='00:00';
         dtpjiaban.Text :='00:00';
         cmbchuchai.Text:='';
         txtbeizhu.Text :='';
      end;
   end;
    //DataGrid控件装载数据
     datagrid1.DataSource:=dgds.Tables[0];
     self.Cursor:=cursors.Default;
     result:=true;
  except
    on ex:Exception do
    begin
      result:=false;
      messagebox.Show('TWinchuqin.data_get : (' + ex.message + ') ' , '考勤管理系统');
    end;
  end;

end;
//****************************************************************
//*   CheckBox1_CheckedChanged   控制出勤月份的可用状态
//*  [参数]
//*      无
//*
//*  [返回]
//*       无
//****************************************************************
 procedure TWinchuqin.CheckBox1_CheckedChanged(sender: System.Object; e: System.EventArgs);
begin
   try
    IF CheckBox1.Checked =true then
    begin
       DtpchuqinF.Enabled:=true;
       dtpriqiF.Enabled:=false;
    end
    else            
    begin
      DtpchuqinF.Enabled:=false;
      dtpriqiF.Enabled:=true;
    end;
  except
    on  ex:exception do
    begin
      messagebox.Show('TWinchuqin.CheckBox1_CheckedChanged:(' + ex.Message + ')','考勤管理系统');
    end;
  end;
end;

//****************************************************************
//*  DataGrid1_CurrentCellChanged
//*
//*  [参数]
//*      1:系统参数
//*      2:系统参数
//*  [返回]
//*      无
//****************************************************************
procedure TWinchuqin.DataGrid1_CurrentCellChanged(sender: System.Object; e: System.EventArgs);
begin
  try
    txtbianhao.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '员工编号').ToString;
    txtname.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '姓名').ToString;
    txtbumen.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '部门名称').ToString;
    dtpriqi.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '日期').ToString;
    dtpup.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '上班时间').ToString;
    dtpdown.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '下班时间').ToString;
    cmbqingjia.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '请假类型').ToString;
    dtpqingjia.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '请假总时间').ToString;
    dtpjiaban.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '加班总时间').ToString;
    cmbchuchai.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '是否出差').ToString;
    txtbeizhu.Text :=clsmain.TClass1.Create.getItemValueS(dgds,datagrid1.CurrentCell.rownumber, '备注').ToString;
 except
    on ex:Exception do
    begin
      messagebox.Show('TWinchuqin.DataGrid1_CurrentCellChanged : (' + ex.message + ') ' , '考勤管理系统');
    end;
  end;
end;
//****************************************************************
//*  TabControl1_SelectedIndexChanged
//*
//*  [参数]
//*      1:系统参数
//*      2:系统参数
//*  [返回]
//*      无
//****************************************************************
procedure TWinchuqin.TabControl1_SelectedIndexChanged(sender: System.Object;
  e: System.EventArgs);
begin
  try
    If Flg <> '编辑' Then
    begin
      If TabControl1.SelectedTab.Name = 'TabPage1' Then
      begin
        ToolBar2.Buttons[0].Enabled := True; //编辑按钮可用
        ToolBar2.Buttons[1].Enabled := False;//保存按钮不可用
        RefreshEnabled(False, False);
      End;
    End;
  except
    on ex:Exception do
    begin
      messagebox.Show('TWinChuQin.TabControl1_SelectedIndexChanged : (' + ex.message + ') ' , '考勤管理系统');
    end;
  end;
end;






end.

⌨️ 快捷键说明

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