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

📄 form_mianqianka.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  combobox1.Items.Add('ALL...');
  combobox1.text:='ALL...';
end;

procedure Tformmianqianka.Button5Click(Sender: TObject);
begin
  close;
end;

procedure Tformmianqianka.SpeedButton2Click(Sender: TObject);
begin
     dsmianqianka.DataSet.Cancel;
end;

procedure Tformmianqianka.SpeedButton3Click(Sender: TObject);
var
   date_i,startdatetime,enddatetime,operation,remark,mtype,times,workno:string;
   i:integer;
begin
   date_i:=dbedit6.Text;
   startdatetime:=copy(dbedit1.text,1,10);
   enddatetime:=dbedit2.text;
   times:=dbedit3.text;
   operation:=dbcombobox4.Text;
   mtype:=DBRadioGroup1.Items[DBRadioGroup1.itemindex];
   remark:=dbmemo1.Text;
   adomqk.Cancel;
   adomqk.Close;
   try
   for i:=0 to (listbox1.Items.Count-1) do
   begin
       if listbox1.Selected[i] then
       begin
          personal.Close;
          personal.SQL.Clear;
          workno:=copy(listbox1.Items[i],1,pos('--',listbox1.items[i])-1);
          personal.SQL.add(' insert into atd24010(workno,cardno,workname,startdatetime,enddatetime,times,type,operation,date_i,remark,process) '+
                             ' select workno,cardno,name,'''+
                               startdatetime+''','''+
                               enddatetime+''','+
                               times+','''+
                               mtype+''','''+
                               operation+''','''+
                               date_i+''','''+
                               remark+''',0 '+
                             ' from per24010 where workno='''+workno+'''');
         //personal.sql.add('exec kaoqinnor24 '''+startdatetime+''','''+workno+'''');
          //personal.sql.add('exec kaoqindm '''+startdatetime+''','''+workno+'''');
          personal.ExecSQL;
          personal.close;
       end;
   end;
   Application.messagebox('多人新增完成!','恭喜你',mb_ok+mb_iconinformation);
   statusbar1.Panels[0].text:='多人新增完成!';
   except
      Application.messagebox('多人新增签卡时出错,请重新来过!','Error',mb_ok+mb_iconerror);
   end;
   adomqk.Open;
{if (adomqk.state=dsinsert) or (adomqk.state=dsedit) then
begin
   adomqk.Post;
   statusbar1.panels[0].text:='完成数据更新操作!'
end else
   statusbar1.panels[0].text:='注意:数据集不处于编辑状态,操作无效!' ;   }
end;

procedure Tformmianqianka.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Formmianqianka:=nil;
  Action:=caFree;
end;

procedure Tformmianqianka.ComboBox1Change(Sender: TObject);
begin
   personal.Close;
   personal.SQL.text:='select workno,cardno,name,dept from per24010 where dept = case  when '''+combobox1.Text+'''=''ALL...'' then dept else '''+combobox1.Text+''' end and leave=0 and brushcard=0 order by workno ';
   personal.Open;
   if not personal.Eof then listbox1.Items.Clear
   else begin
        listbox1.Items.clear;
        adomqk.filtered:=false;
        adomqk.filter:='workno=''''';
        adomqk.filtered:= true;
        statusbar1.panels[0].text:='注意!该部门暂时无人。' ;
   end;
   while not personal.Eof do
   begin
     listbox1.Items.Add(personal.fieldbyname('workno').value+'--'+personal.fieldbyname('name').value+'//'+personal.fieldbyname('dept').value);
     personal.next; //+personal.fieldbyname('cardno').value+'||'
   end;
   listbox1.Update;
   personal.Close;
   if listbox1.Items.Count>0 then
   begin
      adomqk.filtered:=false;
      adomqk.Filter:='workno='''+copy(listbox1.Items[0],1,pos('--',listbox1.items[0])-1)+'''';
      adomqk.filtered:=true;
      statusbar1.panels[0].text:='部门 ['+combobox1.text+'] 有员工 '+trim(inttostr(listbox1.items.count))+' 人';
   end;
end;

procedure Tformmianqianka.ListBox1Click(Sender: TObject);
begin
if (listbox1.itemindex>=0) and (listbox1.selcount=1) then
 begin
   adomqk.filtered:=false;
   adomqk.Filter:='workno='''+copy(listbox1.Items[listbox1.itemindex],1,pos('--',listbox1.items[listbox1.itemindex])-1)+'''';
   adomqk.filtered:=true;
   statusbar1.Panels[0].text:='查询员工的签卡资料';
 end;
end;

procedure Tformmianqianka.ListBox1DblClick(Sender: TObject);
var
   workno:string;
begin
   workno:=copy(listbox1.items[listbox1.itemindex],1,pos('--',listbox1.items[listbox1.itemindex])-1);
   personal.close;
   personal.sql.Clear;
   personal.sql.text:='select workno,name,cardno from per24010 where workno='''+workno+''' and leave=0 and brushcard=0';
   personal.open;
   if not personal.eof then
   begin
     if adomqk.state=dsinactive then adomqk.open;
     adomqk.Insert;
     adomqkworkno.value:=personal.fieldbyname('workno').value;
     adomqkcardno.value:=personal.fieldbyname('cardno').value;
     adomqkworkname.value:=personal.fieldbyname('name').value;
     statusbar1.Panels[0].text:='新增单笔员工签卡资料!';
   end;
   personal.close;
end;

procedure Tformmianqianka.SpeedButton1Click(Sender: TObject);
begin
   adomqk.filtered:=false;
   statusbar1.Panels[0].text:='查询所有签卡资料!';
end;

procedure Tformmianqianka.adomqkBeforePost(DataSet: TDataSet);
begin
//if (adomqkdate_i.IsNull) or (trim(datetostr(adomqkdate_i.AsDateTime))='') then
   // begin
     adomqkdate_i.asdatetime:=now;
    //  personal.close;
     // personal.SQL.Clear;
    //  personal.SQL.add('exec kaoqinnor24 '''+copy(adomqkstartdatetime.value,1,10)+''','''+adomqkworkno.value+'''');
      //personal.sql.add('exec kaoqindm '''+copy(adomqkstartdatetime.value,1,10)+''','''+adomqkworkno.value+'''');
      adomqk.Close;
    //  personal.ExecSQL;
    //  personal.Close;
    //  personal.SQL.Clear;
      adomqk.Open;
   // end;
end;

procedure Tformmianqianka.DateTimePicker1Change(Sender: TObject);
begin
if  (adomqk.state=dsinsert) or (adomqk.state=dsedit) then
    adomqkdate_i.value:=datetimepicker1.date;
    dbedit6.Update;
end;

procedure Tformmianqianka.ListBox1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  statusbar1.Panels[0].text:='查询单个员工的签卡资料!';
end;

procedure Tformmianqianka.DBGrid1MouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  statusbar1.Panels[0].text:='签卡资料明细!';
end;

procedure Tformmianqianka.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
     key:=#0;
     selectnext(activecontrol,true,true);
  end;
end;

procedure Tformmianqianka.Button1Click(Sender: TObject);
var
   date_i,startdatetime,enddatetime,operation,remark,mtype,times,workno:string;
   i:integer;
begin
   date_i:=dbedit6.Text;
   startdatetime:=dbedit1.text;
   enddatetime:=dbedit2.text;
   times:=dbedit3.text;
   operation:=dbcombobox4.Text;
   mtype:=DBRadioGroup1.Items[DBRadioGroup1.itemindex];
   remark:=dbmemo1.Text;
   adomqk.Cancel;
   adomqk.Close;
   try
 for i:=0 to (listbox1.Items.Count-1) do
   begin
       if listbox1.Selected[i] then
       begin
          workno:=copy(listbox1.Items[i],1,pos('--',listbox1.items[i])-1);
          adoquery1.Close;
          adoquery1.sql.Clear;
          adoquery1.sql.add('delete atd24010 where workno='''+workno+''' and startdatetime='''+copy(startdatetime,1,10)+''' ');
          adoquery1.execsql;
          personal.Close;
          personal.SQL.Clear;
          personal.SQL.add(' insert into atd24010(workno,cardno,workname,startdatetime,enddatetime,times,type,operation,date_i,remark,process) '+
                             ' select workno,cardno,name,'''+
                               startdatetime+''','''+
                               enddatetime+''','+
                               times+','''+
                               mtype+''','''+
                               operation+''','''+
                               date_i+''','''+
                               remark+''',0 '+
                             ' from per24010 where workno='''+workno+'''');
                personal.ExecSQL;
          personal.close;
       end;
   end;
   Application.messagebox('保存完成!','恭喜你',mb_ok+mb_iconinformation);
   statusbar1.Panels[0].text:='保存完成!';
   except
      Application.messagebox('新增签卡时出错,请重新来过!','Error',mb_ok+mb_iconerror);
   end;
   adomqk.Open;
end;
procedure Tformmianqianka.DBEdit3Exit(Sender: TObject);
begin
// dbedit3.text:=datetostr(strtodate(dbedit1.text)-strtodate(dbedit2.text));
end;

procedure Tformmianqianka.DBEdit2Exit(Sender: TObject);
begin
  adomqk.fieldbyname('times').asstring:=floattostr((strtodatetime(dbedit2.text)-strtodatetime(dbedit1.text))*24);
end;
end.

⌨️ 快捷键说明

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