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

📄 trendtjfrm.pas

📁 一个电力企业的后台管理程序
💻 PAS
📖 第 1 页 / 共 3 页
字号:
unit TrendTJFrm;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, RxLookup, Buttons, ExtCtrls, ImgList, TeEngine,
  Series, TeeProcs, Chart, DBChart, QrTee, Qrctrls, QuickRpt, QRPrntr,
  ToolWin;

type
  TForm_TrendTJ = class(TForm)
    Panel2: TPanel;
    Panel3: TPanel;
    ToolBar1: TToolBar;
    ToolButton2: TToolButton;
    ToolButton4: TToolButton;
    ToolButton3: TToolButton;
    ToolButton10: TToolButton;
    ToolButton7: TToolButton;
    ToolButton6: TToolButton;
    ToolButton8: TToolButton;
    ToolButton9: TToolButton;
    ToolButton1: TToolButton;
    ToolButton11: TToolButton;
    ToolButton13: TToolButton;
    ToolButton5: TToolButton;
    ToolButton14: TToolButton;
    QRPreview1: TQRPreview;
    QRep_IMage: TQuickRep;
    TitleBand1: TQRBand;
    QRImage1: TQRImage;
    QRLabel1: TQRLabel;
    QRep_CHART1: TQuickRep;
    QRBand1: TQRBand;
    QRShape19: TQRShape;
    QRImage3: TQRImage;
    QRLabel13: TQRLabel;
    QRLbl_Title: TQRLabel;
    QRShape25: TQRShape;
    QRLabel15: TQRLabel;
    QRLbl_DateRange: TQRLabel;
    QRBand2: TQRBand;
    QRSysData3: TQRSysData;
    QRLabel24: TQRLabel;
    QRLabel25: TQRLabel;
    QRShape40: TQRShape;
    QRLabel26: TQRLabel;
    QRSysData4: TQRSysData;
    TitleBand3: TQRBand;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel6: TPanel;
    ImageList1: TImageList;
    Timer1: TTimer;
    Panel1: TPanel;
    SpBtn_Stat: TSpeedButton;
    GroupBox1: TGroupBox;
    CmBox_SelectTJStyle: TComboBox;
    GroupBox2: TGroupBox;
    RxDBLpCb_Agent: TRxDBLookupCombo;
    CkBox_AllAgent: TCheckBox;
    GroupBox3: TGroupBox;
    Lbl_OnlyMonthselect: TLabel;
    DatePicker: TDateTimePicker;
    Edt_OnlyMonthSelect: TEdit;
    UpDown1: TUpDown;
    GroupBox4: TGroupBox;
    TJPrBar: TProgressBar;
    QRDBChart1: TQRDBChart;
    QRChart1: TQRChart;
    Series1: TLineSeries;
    Series2: TLineSeries;
    Series3: TLineSeries;
    Series4: TLineSeries;
    Series5: TLineSeries;
    procedure CkBox_AllAgentClick(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure QRep_IMagePreview(Sender: TObject);
    procedure QRep_CHART1Preview(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure ToolButton9Click(Sender: TObject);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton13Click(Sender: TObject);
    procedure ToolButton14Click(Sender: TObject);
    procedure CmBox_SelectTJStyleChange(Sender: TObject);
    procedure UpDown1Click(Sender: TObject; Button: TUDBtnType);
    procedure CmBox_SelectTJStyleKeyPress(Sender: TObject; var Key: Char);
    procedure Edt_OnlyMonthSelectKeyPress(Sender: TObject; var Key: Char);
    procedure SpBtn_StatClick(Sender: TObject);
    procedure QRPreview1PageAvailable(Sender: TObject; PageNum: Integer);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormDestroy(Sender: TObject);
  private
    { Private declarations }
    FPageCount : integer; // 生成报表的总页数
    Fyear,
    FMonth,
    FDay:word;
    procedure SetFyear(Value:word);
    procedure SetFMonth(Value:word);
    procedure SetFDay(Value:word);
    procedure UpdatePanelShow;
  public
    { Public declarations }
    CurRep : TQuickRep; // 所预览的报表
    property CurYear:word read  Fyear write SetFyear;
    property CurMonth:word read  FMonth write SetFMonth;
    property CurDay:word read  FDay write SetFDay;
  end;

var
  Form_TrendTJ: TForm_TrendTJ;

implementation

uses TreandTJDM, SystemPH;

{$R *.DFM}

procedure TForm_TrendTJ.CkBox_AllAgentClick(Sender: TObject);
begin
  if CkBox_AllAgent.Checked=true then
  begin
       RxDBLpCb_Agent.ClearValue;
       RxDBLpCb_Agent.Enabled:=False;
  end
  else RxDBLpCb_Agent.Enabled:=True;
end;

procedure TForm_TrendTJ.Timer1Timer(Sender: TObject);
begin
 Timer1.Enabled:=false;
 QRPreview1.Show;
 ToolButton14.Enabled:=true;
 QRep_Image.PreviewModeless;
end;

procedure TForm_TrendTJ.FormShow(Sender: TObject);
var
  yy,mm,dd:word;
begin
 DecodeDate(date,yy,mm,dd);
 CurYear:=yy;
 CurMonth:=mm;
 CurDay:=dd;

 ToolButton14.Enabled:=False;
 timer1.Enabled:=true;

 Lbl_OnlyMonthselect.Caption:='月';
 Edt_OnlyMonthSelect.Text:=IntTostr(mm);
 UpDown1.position:=StrToInt(Edt_OnlyMonthSelect.Text);

 DatePicker.Date:=Date;

 CmBox_SelectTJStyle.Text:='按月统计';

 TJPrBar.Enabled:=False;
end;

procedure TForm_TrendTJ.SetFDay(Value: word);
begin
  if FDay<>Value then FDay:=Value;
end;

procedure TForm_TrendTJ.SetFMonth(Value: word);
begin
  if FMonth<>Value then FMonth:=Value;
end;

procedure TForm_TrendTJ.SetFyear(Value: word);
begin
  if FYear<>Value then FYear:=Value;
end;

procedure TForm_TrendTJ.UpdatePanelShow;
begin
  Panel5.Caption :=' 第'+inttostr(QRPreview1.PageNumber)+' 页 总'+inttostr(FPageCount)+' 页  ';
end;

procedure TForm_TrendTJ.QRep_IMagePreview(Sender: TObject);
begin
   QRPreview1.QRPrinter := TQRPrinter(Sender);
   CurRep := self.QRep_Image;
   Show;
end;

procedure TForm_TrendTJ.QRep_CHART1Preview(Sender: TObject);
begin
  QRPreview1.QRPrinter := TQRPrinter(Sender);
  CurRep := self.QRep_CHART1;
  Show;
end;

procedure TForm_TrendTJ.ToolButton2Click(Sender: TObject);
begin
  QRPreview1.ZoomToFit;
end;

procedure TForm_TrendTJ.ToolButton4Click(Sender: TObject);
begin
 QRPreview1.ZoomToWidth;
end;

procedure TForm_TrendTJ.ToolButton3Click(Sender: TObject);
begin
  QRPreview1.Zoom:=100;
end;

procedure TForm_TrendTJ.ToolButton7Click(Sender: TObject);
begin
  QRPreview1.PageNumber := QRPreview1.PageNumber-1;
  if QRPreview1.PageNumber =0 then
  QRPreview1.PageNumber:=1;
  UpdatePanelShow;
end;

procedure TForm_TrendTJ.ToolButton6Click(Sender: TObject);
begin
  QRPreview1.PageNumber := 1;
  UpdatePanelShow;
end;

procedure TForm_TrendTJ.ToolButton8Click(Sender: TObject);
begin
 QRPreview1.PageNumber := QRPreview1.PageNumber+1;
 UpdatePanelShow;
end;

procedure TForm_TrendTJ.ToolButton9Click(Sender: TObject);
begin
   QRPreview1.PageNumber := QRPreview1.PageNumber+1;
   UpdatePanelShow;
end;

procedure TForm_TrendTJ.ToolButton11Click(Sender: TObject);
begin
 try
   QRPreview1.QRPrinter.PrintSetup;
 except
   showmessage('请安装打印机');
 end;
end;

procedure TForm_TrendTJ.ToolButton13Click(Sender: TObject);
begin
 try
  QRPreview1.QRPrinter.Print;
 except
  showmessage('请检查打印机');
 end;
end;

procedure TForm_TrendTJ.ToolButton14Click(Sender: TObject);
begin
  QRPreview1.Hide;
  Close;
end;

procedure TForm_TrendTJ.CmBox_SelectTJStyleChange(Sender: TObject);
begin
 if CmBox_SelectTJStyle.Text='按月统计' then
 begin
   Lbl_OnlyMonthSelect.Caption:='月';
   UpDown1.Max:=12;
   UpDown1.Min:=1;
   Edt_OnlyMonthSelect.Visible:=True;
   Lbl_OnlyMonthSelect.Visible:=True;
   UpDown1.Visible:=True;

   Edt_OnlyMonthSelect.Text:=IntTostr(CurMonth);
   UpDown1.position:=StrToInt(Edt_OnlyMonthSelect.Text);

   DatePicker.Visible:=False;
 end;
 if CmBox_SelectTJStyle.Text='按日统计' then
 begin
   Edt_OnlyMonthSelect.Visible:=False;
   Lbl_OnlyMonthSelect.Visible:=False;
   UpDown1.Visible:=False;
   DatePicker.Visible:=True;
 end;
 if CmBox_SelectTJStyle.Text='按年统计' then
 begin
   Lbl_OnlyMonthSelect.Caption:='年';
   UpDown1.Max:=3000;
   UpDown1.Min:=1900;
   Edt_OnlyMonthSelect.Visible:=True;
   Lbl_OnlyMonthSelect.Visible:=True;
   UpDown1.Visible:=True;

   Edt_OnlyMonthSelect.Text:=IntTostr(CurYear);
   UpDown1.position:=StrToInt(Edt_OnlyMonthSelect.Text);

   DatePicker.Visible:=False;
 end;
end;

procedure TForm_TrendTJ.UpDown1Click(Sender: TObject; Button: TUDBtnType);
begin
  if Button=BtNext then
  begin
       Edt_OnlyMonthSelect.Text:=IntToStr(UpDown1.position);
  end  else
  begin
       Edt_OnlyMonthSelect.Text:=IntToStr(UpDown1.position);
  end;
end;

procedure TForm_TrendTJ.CmBox_SelectTJStyleKeyPress(Sender: TObject;
  var Key: Char);
begin
  key:=#0;
end;

procedure TForm_TrendTJ.Edt_OnlyMonthSelectKeyPress(Sender: TObject;
  var Key: Char);
begin
  key:=#0;
end;

procedure TForm_TrendTJ.SpBtn_StatClick(Sender: TObject);
var
  i,DayNum:integer;
  Uyear,Umonth,Uday:word;
begin
 TJPrBar.Enabled:=True;
 if Curyear mod 4=0 then
 begin
   if StrToInt(Edt_OnlyMonthSelect.Text)=2 then DayNum:=28 else DayNum:=31;
 end else
   if StrToInt(Edt_OnlyMonthSelect.Text)=2 then DayNum:=29 else DayNum:=31;



 SpBtn_Stat.Enabled:=False;

 DecodeDate(DatePicker.DateTime,Uyear,Umonth,Uday);

 i:=1;
 TJPrBar.Position:=0;
 TJPrBar.Update;

if CkBox_AllAgent.Checked=True then
begin

 QRLbl_Title.Caption:='全部坐席工作量趋势统计';
//============================================
if CmBox_SelectTJStyle.Text='按年统计' then
begin

 QRLbl_DateRange.caption:=Edt_OnlyMonthSelect.Text+'年度';

 with DM_TrendTJ.Qr_TrendTJ do
 begin

    TJPrBar.Position:=5;
    TJPrBar.Update;
//------------故障报修
    close; sql.Clear;
    sql.Text:='drop Table T_GZGX';
    try
       ExecSQL;
    except
    end;

    close; sql.Clear;
    sql.Text:='Create Table Ecsc_Sa.T_GZGX ( Thedate char(50),TheValue int)';
    ExecSQL;


    for i:=1 to 12 do
    begin
     DM_TrendTJ.Qr_Temp.Close;
     DM_TrendTJ.Qr_Temp.SQL.Clear;
     DM_TrendTJ.Qr_Temp.SQL.Text:='Select count(*) from ClientElecOut where Year(zzflsj)='''+Edt_OnlyMonthSelect.Text+''' and Month(zzflsj)='''+IntToStr(i)+'''';
     DM_TrendTJ.Qr_Temp.Open;

     close; sql.Clear;
     sql.Text:='insert into T_GZGX ( Thedate,TheValue) values ('''+IntToStr(i)+'月'+''','+DM_TrendTJ.Qr_Temp.fieldbyname('column1').asstring+')';
     ExecSQL;

     TJPrBar.Position:=TJPrBar.Position+1;
     TJPrBar.Update;
   end;

//--------------业扩咨询
    close; sql.Clear;
    sql.Text:='drop Table T_YKZX';

⌨️ 快捷键说明

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