overtime.pas

来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 867 行 · 第 1/2 页

PAS
867
字号
unit overtime;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ImgList, ExtCtrls, DBCtrls, ComCtrls, ToolWin, Grids, DBGrids, StdCtrls,
  Buttons, RXDBCtrl, DB, Menus, ADODB, Mask, ppBands, ppClass, ppCtrls,
  ppReport, ppStrtch, ppSubRpt, ppVar, ppPrnabl, ppCache, ppDB, ppProd,
  ppComm, ppRelatv, ppDBPipe, ppDBBDE;

type
  TFormot = class(TForm)
    ImageList1: TImageList;
    ToolBar1: TToolBar;
    ToolButton6: TToolButton;
    tbnsort: TToolButton;
    tbnfind: TToolButton;
    tbnprint: TToolButton;
    ToolButton4: TToolButton;
    DBNavigator1: TDBNavigator;
    Panel1: TPanel;
    DBGrid1: TDBGrid;
    Splitter2: TSplitter;
    Panel3: TPanel;
    Label9: TLabel;
    Label14: TLabel;
    DateTimePicker3: TDateTimePicker;
    DateTimePicker4: TDateTimePicker;
    Label15: TLabel;
    Label16: TLabel;
    ComboBox1: TComboBox;
    MaskEdit1: TMaskEdit;
    MaskEdit2: TMaskEdit;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    N4: TMenuItem;
    N3: TMenuItem;
    PopupMenu2: TPopupMenu;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    ppBDEPipeline1: TppBDEPipeline;
    ppReport1: TppReport;
    ppBDEPipeline2: TppBDEPipeline;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppFooterBand1: TppFooterBand;
    ppLabel1: TppLabel;
    ppSystemVariable1: TppSystemVariable;
    ppSystemVariable2: TppSystemVariable;
    ppDBText1: TppDBText;
    ppLabel2: TppLabel;
    ppDBText2: TppDBText;
    ppLabel3: TppLabel;
    ppDBText3: TppDBText;
    ppLabel4: TppLabel;
    ppDBText4: TppDBText;
    ppLabel5: TppLabel;
    ppDBText5: TppDBText;
    ppLabel6: TppLabel;
    ppDBText6: TppDBText;
    ppLabel7: TppLabel;
    ppDBText7: TppDBText;
    ppLabel8: TppLabel;
    ppDBText8: TppDBText;
    ppLabel9: TppLabel;
    ppDBText9: TppDBText;
    ppLabel10: TppLabel;
    ppDBText10: TppDBText;
    ppLabel11: TppLabel;
    ppLine1: TppLine;
    ppLine2: TppLine;
    ppSubReport1: TppSubReport;
    ppChildReport1: TppChildReport;
    ppTitleBand2: TppTitleBand;
    ppDetailBand2: TppDetailBand;
    ppDBText11: TppDBText;
    ppLabel13: TppLabel;
    ppDBText12: TppDBText;
    ppLabel14: TppLabel;
    ppDBText13: TppDBText;
    ppLabel15: TppLabel;
    ppDBText14: TppDBText;
    ppLabel16: TppLabel;
    ppDBText15: TppDBText;
    ppLabel17: TppLabel;
    ppSummaryBand1: TppSummaryBand;
    ppLabel12: TppLabel;
    ppDBCalc1: TppDBCalc;
    ppGroup1: TppGroup;
    ppGroupHeaderBand1: TppGroupHeaderBand;
    ppGroupFooterBand1: TppGroupFooterBand;
    ppLine3: TppLine;
    ppLabel18: TppLabel;
    ppLabel19: TppLabel;
    ppLabel20: TppLabel;
    ppVariable1: TppVariable;
    ToolButton2: TToolButton;
    ADOotman1: TADODataSet;
    otman1: TDataSource;
    ADOotman1startrq: TDateTimeField;
    ADOotman1gotime: TStringField;
    ADOotman1endrq: TDateTimeField;
    ADOotman1outtime: TStringField;
    ADOotman1decrease: TIntegerField;
    ADOotman1hours: TBCDField;
    ADOotman1otkind: TStringField;
    ADOotman1items: TStringField;
    ADOotman1cdate: TDateTimeField;
    ADOotman1cardno: TStringField;
    ADOotman1name: TStringField;
    ADOotman1deptno: TStringField;
    ADOotman1dept: TStringField;
    ADOotman1prof: TStringField;
    ADOotman1workno: TStringField;
    ppReport2: TppReport;
    ppHeaderBand2: TppHeaderBand;
    ppDetailBand3: TppDetailBand;
    ppFooterBand2: TppFooterBand;
    ppLabel21: TppLabel;
    ppLabel22: TppLabel;
    ppLine4: TppLine;
    ppDBText16: TppDBText;
    ppDBText17: TppDBText;
    ppDBText18: TppDBText;
    ppDBText19: TppDBText;
    ppDBText20: TppDBText;
    ppLine8: TppLine;
    ppLine14: TppLine;
    ppLine15: TppLine;
    ppLine16: TppLine;
    ppLine17: TppLine;
    ppLine18: TppLine;
    ADODataSet1: TADODataSet;
    ADODataSet1workno: TStringField;
    ADODataSet1name: TStringField;
    ADODataSet1hours1: TBCDField;
    ADODataSet1hours2: TBCDField;
    ADODataSet1hours3: TBCDField;
    ppBDEPipeline3: TppBDEPipeline;
    DataSource1: TDataSource;
    ppLabel23: TppLabel;
    ppLabel24: TppLabel;
    ppLabel25: TppLabel;
    ppLabel26: TppLabel;
    ppLabel27: TppLabel;
    ppLine5: TppLine;
    ppLine6: TppLine;
    ppColumnHeaderBand1: TppColumnHeaderBand;
    ppColumnFooterBand1: TppColumnFooterBand;
    ppLine7: TppLine;
    ppLine9: TppLine;
    ppLine10: TppLine;
    ppLine11: TppLine;
    ppLine12: TppLine;
    ppLine13: TppLine;
    ppLabel28: TppLabel;
    ppLabel29: TppLabel;
    ppLabel30: TppLabel;
    ppLabel31: TppLabel;
    ppLabel32: TppLabel;
    ppLine19: TppLine;
    ppLine20: TppLine;
    ppLine21: TppLine;
    ppLine22: TppLine;
    ppLine23: TppLine;
    ppLine24: TppLine;
    ppLine25: TppLine;
    ppLine26: TppLine;
    ToolButton1: TToolButton;
    Panel4: TPanel;
    Label17: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Animate1: TAnimate;
    DateTimePicker5: TDateTimePicker;
    BitBtn1: TBitBtn;
    DateTimePicker6: TDateTimePicker;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    Splitter3: TSplitter;
    DBGrid2: TDBGrid;
    Panel2: TPanel;
    Label4: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label13: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label18: TLabel;
    Label5: TLabel;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label33: TLabel;
    Label25: TLabel;
    Label26: TLabel;
    Label27: TLabel;
    Label28: TLabel;
    DBEdit3: TDBEdit;
    DBEdit8: TDBEdit;
    DBCheckBox2: TDBCheckBox;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    DBCheckBox5: TDBCheckBox;
    DBEdit14: TDBEdit;
    DBEdit15: TDBEdit;
    DBEdit16: TDBEdit;
    DBEdit17: TDBEdit;
    DBEdit18: TDBEdit;
    DBCheckBox8: TDBCheckBox;
    DBEdit20: TDBEdit;
    DBEdit21: TDBEdit;
    DBCheckBox11: TDBCheckBox;
    DBEdit22: TDBEdit;
    DBEdit24: TDBEdit;
    DBEdit25: TDBEdit;
    DBCheckBox14: TDBCheckBox;
    DBCheckBox16: TDBCheckBox;
    DBCheckBox17: TDBCheckBox;
    DBCheckBox18: TDBCheckBox;
    DBCheckBox19: TDBCheckBox;
    DBCheckBox20: TDBCheckBox;
    DBEdit9: TDBEdit;
    DBEdit13: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit23: TDBEdit;
    DBEdit26: TDBEdit;
    DBEdit27: TDBEdit;
    DBEdit28: TDBEdit;
    DBEdit29: TDBEdit;
    DBEdit30: TDBEdit;
    DBEdit31: TDBEdit;
    DBEdit32: TDBEdit;
    DBEdit33: TDBEdit;
    DBEdit34: TDBEdit;
    DBEdit35: TDBEdit;
    DBEdit36: TDBEdit;
    DBEdit37: TDBEdit;
    DBEdit38: TDBEdit;
    DBEdit39: TDBEdit;
    DBEdit40: TDBEdit;
    DBEdit41: TDBEdit;
    DBCheckBox3: TDBCheckBox;
    DBCheckBox6: TDBCheckBox;
    DBCheckBox9: TDBCheckBox;
    DBCheckBox12: TDBCheckBox;
    DBComboBox1: TDBComboBox;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure N2Click(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure tbnfindClick(Sender: TObject);
    procedure tbnsortClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure N4Click(Sender: TObject);
    procedure N3Click(Sender: TObject);
    procedure DBNavigator1BeforeAction(Sender: TObject;
      Button: TNavigateBtn);
    procedure DBGrid1TitleClick(Column: TColumn);
    procedure DBGrid2TitleClick(Column: TColumn);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1CloseUp(Sender: TObject);
    procedure DateTimePicker2CloseUp(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ComboBox1Exit(Sender: TObject);
    procedure MaskEdit2Exit(Sender: TObject);
    procedure DateTimePicker3CloseUp(Sender: TObject);
    procedure DateTimePicker4CloseUp(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure N5Click(Sender: TObject);
    procedure N6Click(Sender: TObject);
    procedure N7Click(Sender: TObject);
    procedure FormKeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure tbnprintClick(Sender: TObject);
    procedure ppReport1PreviewFormCreate(Sender: TObject);
    procedure ppReport1BeforePrint(Sender: TObject);
    procedure DBGrid2MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure DBEdit4Exit(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure DBEdit5Exit(Sender: TObject);
    procedure ppReport2PreviewFormCreate(Sender: TObject);
    procedure ppReport2BeforePrint(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
    manyfield:boolean;
    findex:array[1..5] of integer;
    fsort:array[1..5] of string;
    fcount:0..5;
    f:string;   //排序的字段
    whatdo:string; //表示该加班单目前的状态
  public
    { Public declarations }
  end;

var
  Formot: TFormot;

implementation

uses datamol,main, publicfunction, changeschedefine,reportot, canfind,
  Unit3;
{$R *.DFM}

procedure TFormot.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     with datamod do
     begin
        ADOotman.open;
        adoot.close;
        adootkind.close;
        adopersonal.close;
     end;
     formot:=nil;
     action:=cafree;
end;

procedure TFormot.DBGrid1KeyPress(Sender: TObject; var Key: Char);
var fmat1:string;
begin
  if fmat='/' then
    fmat1:='    /  /  ';
  if fmat='-' then
    fmat1:='    -  -  ';
   dbgrid_keypress(sender,key);
//hxw-------------------2003/04/05
  datamod.adoot.close;
  datamod.adoot.Filtered :=false;
  datamod.adoot.Filter :='';
  datamod.adoot.Filtered:=true;
  maskedit2.Text:=fmat1;
  maskedit1.Text:=fmat1;
  datamod.adoot.open;
//-----------------------hxw
end;

procedure TFormot.N2Click(Sender: TObject);
var i:integer;
begin
  for i:=1 to fcount do
   if dbgrid1.SelectedIndex =findex[i] then
    begin
     fsort[i]:='DESC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=dbgrid1.selectedindex;
    fsort[fcount]:='DESC';
    dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
   end;
end;

//多人新增
procedure TFormot.ToolButton1Click(Sender: TObject);
begin
  panel4.Visible:=true;
  datetimepicker5.SetFocus; 
end;

//多人新增
procedure TFormot.ToolButton4Click(Sender: TObject);
begin
  close;
end;

procedure TFormot.Button1Click(Sender: TObject);
begin
 //==============2003/04/16修改=============================

end;

procedure TFormot.tbnfindClick(Sender: TObject);
begin
  //if assigned(formcanfind) then  formcanfind.close;
  findrecorder(adootman1,'Adootman1','vatd11011');
end;

procedure TFormot.tbnsortClick(Sender: TObject);
var i:1..5;
begin
  if manyfield then
   begin
     manyfield:=false;
     tbnsort.hint:='设定多字段排序';
     popupmenu1.Items[0].Enabled :=false;
     popupmenu1.Items[1].Enabled :=false;
     popupmenu1.Items[2].Enabled :=false;
     popupmenu1.Items[3].Enabled :=false;
   end
  else begin
    manyfield:=true;
    tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
    f:='';
    popupmenu1.Items[0].Enabled :=true;
    popupmenu1.Items[1].Enabled :=true;
    popupmenu1.Items[2].Enabled :=true;
    popupmenu1.Items[3].Enabled :=true;
    fcount:=0;
    for i:=1 to 5 do
     begin
      findex[i]:=0;
      fsort[i]:='';
     end;
   end;
end;

procedure TFormot.N1Click(Sender: TObject);
var i:integer;
begin
  for i:=1 to fcount do
   if dbgrid1.SelectedIndex =findex[i] then
    begin
     fsort[i]:='ASC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=dbgrid1.selectedindex;
    fsort[fcount]:='ASC';
    dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;

⌨️ 快捷键说明

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