📄 ryyj.pas
字号:
unit ryyj;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, Grids, DBGrids, ComCtrls, StdCtrls, ExtCtrls, Buttons;
type
TryyjForm = class(TForm)
TabControl1: TTabControl;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Query1: TQuery;
ComboBox1: TComboBox;
Panel1: TPanel;
Label7: TLabel;
Label2: TLabel;
begdate: TDateTimePicker;
enddate: TDateTimePicker;
BitBtn1: TBitBtn;
begtime: TDateTimePicker;
endtime: TDateTimePicker;
procedure FormCreate(Sender: TObject);
procedure DBGrid1Enter(Sender: TObject);
procedure begdateChange(Sender: TObject);
procedure TabControl1Change(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ryyjForm: TryyjForm;
implementation
{$R *.DFM}
procedure init(ry:integer);
begin
with ryyjForm do
begin
Query1.Active:=false;
Query1.SQL.Clear;
Query1.sql.Text:='delete nowinls';
Query1.sql.add('insert into nowinls select * from nowin where BegTime<=:pend and BegTime>=:pbeg ');
Query1.sql.add('insert into nowinls select * from lsnowin where BegTime<=:pend and BegTime>=:pbeg');
Query1.sql.add('delete customls');
Query1.sql.add('insert into customls select * from custom where Regtime<=:pend and Regtime>=:pbeg ');
Query1.sql.add('insert into customls select * from lscustom where Regtime<=:pend and Regtime>=:pbeg ');
Query1.ParamByName('pbeg').asdatetime:=strtodatetime(formatdatetime('yyyy-mm-dd',begdate.Date)+' '+formatdatetime('hh:mm:ss',begtime.Time));
Query1.ParamByName('pend').asdatetime:=strtodatetime(formatdatetime('yyyy-mm-dd',enddate.Date)+' '+formatdatetime('hh:mm:ss',endtime.Time));
Query1.Prepare;
Query1.ExecSQL;
Query1.Active:=false;
Query1.SQL.Clear;
Query1.SQL.Text:='select code,Name,dj=(select count(DISTINCT AccNo) from nowinls where czy=stuff.name) ,';
Query1.SQL.Add('jz=(select count(DISTINCT AccNo) from lsjz where czy=stuff.name and jztime<=:pend and jztime>=:pbeg),');
Query1.SQL.Add('xf=(select count(DISTINCT Djcode) from customls where czy=stuff.name),');
Query1.SQL.Add('pd=(select count(DISTINCT Djcode) from customls where pdid=stuff.name),');
Query1.SQL.Add('zy=(select count(AccNo) from customls where Proid=stuff.name),money=(select sum(Money) from customls where Proid=stuff.name)');
Query1.SQL.Add(' from stuff where deptcode='''+ComboBox1.Items[ry]+'''');
Query1.ParamByName('pbeg').asdatetime:=strtodatetime(formatdatetime('yyyy-mm-dd',begdate.Date)+' '+formatdatetime('hh:mm:ss',begtime.Time));
Query1.ParamByName('pend').asdatetime:=strtodatetime(formatdatetime('yyyy-mm-dd',enddate.Date)+' '+formatdatetime('hh:mm:ss',endtime.Time));
Query1.Prepare;
Query1.Open;
DBGrid1.fields[0].displaylabel:=' 工号';
DBGrid1.fields[1].displaylabel:=' 姓名';
DBGrid1.fields[2].displaylabel:=' 登记次数';
DBGrid1.fields[3].displaylabel:=' 结帐次数';
DBGrid1.fields[4].displaylabel:=' 消费单录入';
DBGrid1.fields[5].displaylabel:=' 跑单次数';
DBGrid1.fields[6].displaylabel:=' 专业服务次数';
DBGrid1.fields[7].displaylabel:=' 专业服务收入';
end;
end;
procedure TryyjForm.FormCreate(Sender: TObject);
begin
Query1.sql.Text:='select code,deptname from dept';
Query1.Open;
TabControl1.Tabs.Clear;
ComboBox1.Items.Clear;
while not Query1.Eof do
begin
TabControl1.Tabs.Add(Query1.Fields[1].asstring);
ComboBox1.Items.Add(Query1.Fields[0].asstring);
Query1.Next;
end;
Query1.sql.Clear;
query1.Active :=false;
enddate.date:=now;
begdate.date:=now;
begtime.Time:=strtotime('00:00:00');
endtime.Time:=strtotime('00:00:00');
init(0);
end;
procedure TryyjForm.DBGrid1Enter(Sender: TObject);
begin
init(TabControl1.TabIndex);
end;
procedure TryyjForm.begdateChange(Sender: TObject);
begin
ActiveControl:=DBGrid1;
end;
procedure TryyjForm.TabControl1Change(Sender: TObject);
begin
init(TabControl1.TabIndex);
end;
procedure TryyjForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Query1.Active:=false;
Query1.SQL.Clear;
Query1.sql.Text:='delete nowinls';
Query1.sql.add('delete customls');
Query1.Prepare;
Query1.ExecSQL;
Query1.Active:=false;
Query1.SQL.Clear;
end;
procedure TryyjForm.BitBtn1Click(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -