📄 cjstatisticsfm.pas
字号:
unit CjStatisticsFM;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ChildFM, Grids, ExtCtrls, StdCtrls, Buttons, ComCtrls, TeEngine, Series,
TeeProcs, Chart;
type
Tfm_CjStatistics = class(Tfm_Child)
pnl_Client: TPanel;
sGd_Result: TStringGrid;
ch_SelDateTime: TCheckBox;
dt_Start: TDateTimePicker;
dt_End: TDateTimePicker;
Label1: TLabel;
Label2: TLabel;
btn_Statistics: TBitBtn;
cht_statresult: TChart;
ser_bar: TBarSeries;
procedure FormResize(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ch_SelDateTimeClick(Sender: TObject);
procedure btn_StatisticsClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
fm_CjStatistics: Tfm_CjStatistics;
implementation
uses SystemDM;
{$R *.DFM}
procedure Tfm_CjStatistics.FormResize(Sender: TObject);
begin
inherited;
pnl_Client.Top := (Height - pnl_Client.Height) div 2;
pnl_Client.Left := (Width - pnl_Client.Width) div 2;
end;
procedure Tfm_CjStatistics.FormCreate(Sender: TObject);
begin
inherited;
dt_Start.DateTime :=now-3;
dt_End.DateTime :=now;
ch_SelDateTimeClick(Self);
sgd_Result.RowHeights[0]:=20;
sgd_Result.RowHeights[1]:=18;
sgd_Result.ColWidths[0]:=15;
sgd_Result.ColWidths[1]:=100;
sgd_Result.ColWidths[2]:=100;
sgd_Result.ColWidths[3]:=120;
sgd_Result.Cells[1,0]:='已催缴用户数';
sgd_Result.Cells[2,0]:='未催缴用户数';
sgd_Result.Cells[3,0]:='催缴失败用户数';
end;
procedure Tfm_CjStatistics.ch_SelDateTimeClick(Sender: TObject);
begin
inherited;
dt_Start.Enabled :=ch_SelDateTime.Checked ;
dt_end.Enabled :=ch_SelDateTime.Checked ;
end;
procedure Tfm_CjStatistics.btn_StatisticsClick(Sender: TObject);
var
startdateTime,enddateTime:TdateTime;
iTotalCjNum,iCjNum,iCjFailNum:integer;
sSql:String;
begin
inherited;
if ch_SelDatetime.Checked then
begin
startdateTime:=dt_start.DateTime ;
enddateTime:=dt_end.DateTime ;
ReplaceTime(startDateTime,0);
ReplaceTime(EndDateTime,0);
end;
sSql:='Select count(*) TotalCount from Cj_Table';
SysDM.SQL_Querys(SysDM.Qr_SysTemp,sSql);
iTotalCjNum:=SysDM.Qr_sysTemp.FieldbyName('TotalCount').Asinteger;
with SysDM.Qr_sysTemp do
begin
Close;
Sql.Clear ;
Sql.Add('select count(*) TotalCount from cj_table');
sql.Add('where YCJ_Num > CJ_Num');
if ch_SelDateTime.Checked then
begin
sql.Add('and Last_Cj_Date>=:A and Last_Cj_Date<=:B');
ParambyName('A').AsDateTime:=startdatetime;
ParambyName('B').AsDateTime:=enddatetime;
end;
Prepare;
Open;
end;
iCjNum:=SysDM.Qr_sysTemp.FieldbyName('TotalCount').Asinteger;
with SysDM.Qr_sysTemp do
begin
Close;
Sql.Clear ;
Sql.Add('select count(*) TotalCount from cj_table');
sql.Add('where CJ_FailNum > 0');
if ch_SelDateTime.Checked then
begin
sql.Add('and Last_Cj_Date>=:A and Last_Cj_Date<=:B');
ParambyName('A').AsDateTime:=StartDateTime;
ParambyName('B').AsDateTime:=EndDateTime;
end;
Prepare;
Open;
end;
iCjFailNum:=SysDM.Qr_sysTemp.FieldbyName('TotalCount').Asinteger;
sgd_Result.Cells[1,1]:=inttoStr(iCjNum);
sgd_Result.Cells[2,1]:=inttoStr(iTotalCjNum-iCjNum);
sgd_Result.Cells[3,1]:=inttoStr(iCjFailNum);
ser_bar.Clear ;
ser_bar.AddBar(iCjNum,'已催用户数',clBlue);
ser_bar.AddBar(iTotalCjNum-iCjNum,'未催用户数',clYellow);
ser_bar.AddBar(iCjFailNum,'催缴失败用户数',clRed);
end;
procedure Tfm_CjStatistics.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
FM_CjStatistics:=nil;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -