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

📄 dailycardanalyst.pas

📁 用户名:SYSTEM 密码:空 第一次运行请先恢复数据库 DATABASE 到SQL服务器
💻 PAS
字号:
unit DailyCardAnalyst;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, BaseChildForm, StdCtrls, Buttons, ExtCtrls, ComCtrls,Datamod,
  DateUtils,AdoDb, ppPrnabl, ppClass, ppCtrls, ppDB, ppBands, ppCache,
  ppProd, ppReport, DB, ppComm, ppRelatv, ppDBPipe, ppVar;
type
    tErrorInfo=Record
                     Reset:Boolean;
                     ErrorNO:Integer;
                     Msg:String;
    end;
type
  TfDailyCardAnalyst = class(TfBaseChildForm)
    Panel1: TPanel;
    Label2: TLabel;
    DateTimePicker1: TDateTimePicker;
    Panel2: TPanel;
    Label3: TLabel;
    DateTimePicker2: TDateTimePicker;
    CheckBox1: TCheckBox;
    cobDepartMent: TComboBox;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    ProgressBar1: TProgressBar;
    ADOQuery1: TADOQuery;
    ppDBPipeline1: TppDBPipeline;
    DataSource1: TDataSource;
    ppReport1: TppReport;
    ppHeaderBand1: TppHeaderBand;
    ppDetailBand1: TppDetailBand;
    ppFooterBand1: TppFooterBand;
    ppLabel1: TppLabel;
    ppLine1: TppLine;
    ppLabel2: TppLabel;
    ppDBText1: TppDBText;
    ppGroup1: TppGroup;
    ppGroupHeaderBand1: TppGroupHeaderBand;
    ppGroupFooterBand1: TppGroupFooterBand;
    ppDBText2: TppDBText;
    ppDBText3: TppDBText;
    ppDBText4: TppDBText;
    ppDBText5: TppDBText;
    ppLabel3: TppLabel;
    ppLabel4: TppLabel;
    ppLabel5: TppLabel;
    ppLabel6: TppLabel;
    ppDBText11: TppDBText;
    ppLabel7: TppLabel;
    ppLabel8: TppLabel;
    ppLine2: TppLine;
    ppLine3: TppLine;
    ppLine4: TppLine;
    ppLine5: TppLine;
    ppLine6: TppLine;
    ppLine7: TppLine;
    ppLine8: TppLine;
    ppLine9: TppLine;
    ppLine10: TppLine;
    ppLine11: TppLine;
    ppLine12: TppLine;
    ppLine13: TppLine;
    ppLine14: TppLine;
    ppLine15: TppLine;
    ppLabel9: TppLabel;
    ppLabel10: TppLabel;
    ppLabel11: TppLabel;
    ppLine16: TppLine;
    ppLine18: TppLine;
    ppLine19: TppLine;
    ppDBText6: TppDBText;
    ppLine20: TppLine;
    ppDBText7: TppDBText;
    ppLine21: TppLine;
    ppLabel12: TppLabel;
    ppLabel13: TppLabel;
    ppLabel14: TppLabel;
    ppLine17: TppLine;
    ppLine22: TppLine;
    ppDBText8: TppDBText;
    ppLine23: TppLine;
    ppDBText9: TppDBText;
    ppLine24: TppLine;
    ppLine25: TppLine;
    ppLine26: TppLine;
    ppLabel16: TppLabel;
    ppLabel17: TppLabel;
    ppLabel18: TppLabel;
    ppSystemVariable1: TppSystemVariable;
    ppLabel15: TppLabel;
    ppLabel19: TppLabel;
    ppLabel20: TppLabel;
    ppLine27: TppLine;
    ppLine28: TppLine;
    ppLine29: TppLine;
    ppLine30: TppLine;
    ppLabel21: TppLabel;
    ppLabel22: TppLabel;
    ppLabel23: TppLabel;
    ppLabel24: TppLabel;
    ppDBText10: TppDBText;
    ppDBText12: TppDBText;
    ppDBText13: TppDBText;
    ppDBText14: TppDBText;
    ppLine31: TppLine;
    ppLine32: TppLine;
    ppLine33: TppLine;
    ppLine34: TppLine;
    ppDBText15: TppDBText;
    procedure CheckBox1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure ppReport1PreviewFormCreate(Sender: TObject);
    procedure ppHeaderBand1BeforePrint(Sender: TObject);
  private
    { Private declarations }
    Function  IsLeave(const WorkerNo :String;Const StartTime:TDateTime;Const EndTime:TDateTime):Boolean;
    Function  IsHoliday(const WorkerNo :String;Const StartTime:TDateTime;Const EndTime:TDateTime):Boolean;
    Procedure WriteError(const Msg:TErrorInfo;DataSet:TDataset);
  public
    { Public declarations }
  end;

var
  fDailyCardAnalyst: TfDailyCardAnalyst;

implementation

{$R *.dfm}

procedure TfDailyCardAnalyst.CheckBox1Click(Sender: TObject);
begin
  inherited;
  cobDepartMent.Enabled :=checkbox1.Checked ;
end;

procedure TfDailyCardAnalyst.FormCreate(Sender: TObject);
begin
  inherited;
  fdatamod.ListDepartMent(CobDepartMent.Items);
  if CobDepartMent.Items.Count>0 then
     cobDepartMent.ItemIndex :=0;
  DateTimepicker1.Date :=IncDay(Date(),-1);
  DateTimepicker2.date:=DateTimepicker1.date;
end;

procedure TfDailyCardAnalyst.BitBtn1Click(Sender: TObject);
var
  AdoQue:TAdoQuery;
  LaterTime,LeaveEarlyTime:Integer;
  Rule:TRule;
  WorkerClassInfo:TDayClassInfo;
  IsSucceed:Boolean;
  intTime:Integer;
  temStartTime,TemEndTime:TDateTime;
  ErrMsg:TErrorInfo;
begin
  IsSucceed:=true;
  AdoQue:=TAdoQuery.Create(self);
  AdoQue.Connection :=fdatamod.AdoCon ;
  AdoQue.SQL.Add('Select Top 1 *  From DailyCard Where lChecked=1' );
  AdoQue.Sql.Add('And Convert(varchar(10),dDate,111)='''+formatdateTime('yyyy/mm/dd',DateTimepicker1.Date)+'''');
  AdoQue.Open;
  If Not AdoQue.IsEmpty then  //

⌨️ 快捷键说明

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