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

📄 personalanalyse.pas

📁 pasa人力资源考勤管理系统
💻 PAS
字号:
unit personalanalyse;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Qrctrls, Series, QuickRpt, Db, ADODB, TeEngine, TeeProcs, Chart, DBChart,
  QrTee, ExtCtrls;

type
  Tformanalyse = class(TForm)
    QuickRep1: TQuickRep;
    QRDBChart1: TQRDBChart;
    QRChart1: TQRChart;
    QRShape1: TQRShape;
    Series1: TPieSeries;
    ADOsexname: TADODataSet;
    TitleBand1: TQRBand;
    ADOgrade: TADODataSet;
    QRShape2: TQRShape;
    QRDBChart2: TQRDBChart;
    QRChart2: TQRChart;
    Series2: TBarSeries;
    ADOyears: TADODataSet;
    QRShape3: TQRShape;
    QRDBChart3: TQRDBChart;
    QRChart3: TQRChart;
    Series3: TBarSeries;
    QRLabel1: TQRLabel;
    ADODataSet1: TADODataSet;
    QRShape4: TQRShape;
    QRDBChart4: TQRDBChart;
    QRChart4: TQRChart;
    Series4: TBarSeries;
    QRShape5: TQRShape;
    ADODataSet2: TADODataSet;
    QRDBChart5: TQRDBChart;
    QRChart5: TQRChart;
    Series5: TBarSeries;
    QRLabel2: TQRLabel;
    QRLabel4: TQRLabel;
    QRLabel5: TQRLabel;
    QRLabel6: TQRLabel;
    QRSysData1: TQRSysData;
    QRLabel7: TQRLabel;
    QRSysData2: TQRSysData;
    QRShape6: TQRShape;
    QRDBChart6: TQRDBChart;
    QRChart6: TQRChart;
    ADOQuery1: TADOQuery;
    Series6: TPieSeries;
    procedure QuickRep1BeforePrint(Sender: TCustomQuickRep;
      var PrintReport: Boolean);
    procedure QuickRep1AfterPrint(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure QuickRep1AfterPreview(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  formanalyse: Tformanalyse;

implementation
uses main,personalreport,datamol;
{$R *.DFM}

procedure Tformanalyse.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
var fmat1:string;
begin
  if fmat='/' then
    fmat1:='    /  /  ';
  if fmat='-' then
    fmat1:='    -  -  ';
  if (formpersonalreport.MaskEdit1.text=fmat1) or (formpersonalreport.MaskEdit2.text=fmat1) then
    begin
      Application.MessageBox('日期输入不完整!','Error',mb_ok+mb_iconerror);
      exit;
    end;
  adosexname.close;
  adograde.close;
  adoyears.close;
  adodataset1.close;
  adodataset2.close;

  adosexname.CommandText:='select sexname,count(workno) from per24010 where indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') group by sexname';
  adograde.CommandText:='select degreename,count(workno) from per24010 where indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') group by degreename';
  adoyears.CommandText:='select ''半年以下'' as name1,count(workno) as num1 from per24010 where years<0.6  and years>0 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
  'select ''半年至一年'' as name1,count(workno) from per24010 where years>=0.6 and years<=1.2 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union  '+
'select ''一年以上至二年'' as name1,count(workno) from per24010 where years>1.2 and years<=2.4 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union   '+
'select ''二年以上至五年'' as name1,count(workno) from per24010 where years>2.4 and years<=6.0 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union   '+
'select ''五年以上到十年'' as name1,count(workno) from per24010 where years>6.0 and years<=12.0 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union  '+
'select ''十年以上'' as name1,count(workno) from per24010 where years>12.0';
  adodataset1.CommandText:='select substring(provname,1,2),count(workno) from per24010 where indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') group by substring(provname,1,2)';
  adodataset2.CommandText:='select ''20岁以下'' as name1,count(*) as num1  from per24010 where age<=20 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''20-25岁'' as name1,count(*)  from per24010 where age>20 and age<=25 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union  '+
'select ''26-30岁'' as name1,count(*) from per24010 where age>=26 and age<=30 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union  '+
'select ''30-40岁'' as name1,count(*) from per24010 where age>30 and age<=40 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union   '+
'select ''40岁以上'' as name1,count(*) from per24010 where age>40 and  indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') ';

  adosexname.Open;
  adograde.Open;
  adoyears.Open;
  adodataset1.Open;
  adodataset2.Open;
  adoquery1.Open;
  QRLabel2.caption:=companyname1;
  qrlabel5.caption:=pubworkname;
end;

procedure Tformanalyse.QuickRep1AfterPrint(Sender: TObject);
begin
  adosexname.close;
  adograde.close;
  adoyears.close;
  adodataset1.close;
  adodataset2.close;
  adoquery1.Close;
end;

procedure Tformanalyse.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
//  formanalyse:=nil;
//  action:=cafree;
  close;
end;

procedure Tformanalyse.QuickRep1AfterPreview(Sender: TObject);
begin
//  close;
end;

procedure Tformanalyse.FormCreate(Sender: TObject);
begin
  self.Hide;
end;

end.

⌨️ 快捷键说明

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