📄 trendtjfrm.pas
字号:
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 + -