unit26.pas

来自「停车厂管理系统 麻雀虽小 但是五脏齐全」· PAS 代码 · 共 161 行

PAS
161
字号
unit Unit26;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, ComCtrls, Buttons;

type
  TShouFenJinEr = class(TForm)
    Label3: TLabel;
    DTP1: TDateTimePicker;
    Label4: TLabel;
    DTP2: TDateTimePicker;
    Button3: TButton;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Label5: TLabel;
    BitBtn2: TBitBtn;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    procedure FormShow(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure FormCanResize(Sender: TObject; var NewWidth,
      NewHeight: Integer; var Resize: Boolean);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  ShouFenJinEr: TShouFenJinEr;

implementation

uses Unit11, Unit1, Unit16;

{$R *.dfm}

procedure TShouFenJinEr.FormShow(Sender: TObject);
begin
   if trim(opcase)='管理员' then
     BitBtn1.Enabled:=true
   else
     BitBtn1.Enabled:=false;
   BitBtn2.Enabled:=false;
   BitBtn3.Enabled:=false;
   dtp1.DateTime:=now;
   dtp2.DateTime:=now;
   edit1.Clear;
   edit2.Clear;
   adoquery1.Close;
   adoquery1.SQL.Clear;
   adoquery1.SQL.Add('select sum(money) as 总收费金额,count(*) as 收费次数 from recharge where opname=:opname');
   adoquery1.Parameters.ParamByName('opname').Value:=trim(user);
   adoquery1.Open;
   edit1.Text:=inttostr(adoquery1.Fields[1].Value); //显示所有的收费次数
   edit2.Text:=floattostr(adoquery1.Fields[0].Value); //显示所有的总收费金额
   adoquery1.Close;
   adoquery1.SQL.Clear;
   adoquery1.SQL.Add('select cardid as 卡号,money as 收费,chargetime as 收费时间 from recharge where opname=:opname');
   adoquery1.Parameters.ParamByName('opname').Value:=trim(user);
   adoquery1.Open;
   self.Caption:='收费金额 - '+trim(user);
end;

procedure TShouFenJinEr.Button3Click(Sender: TObject);
begin
  BitBtn2.Enabled:=false;
  BitBtn3.Enabled:=false;  //个人收费不能打印和删除
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select sum(money) as 总收费金额,count(*) as 收费次数 from recharge where chargetime between :time1 and :time2 and opname=:opname');
  adoquery1.Parameters.ParamByName('opname').Value:=trim(user);
  adoquery1.Parameters.ParamByName('time1').Value:=dtp1.DateTime;
  adoquery1.Parameters.ParamByName('time2').Value:=dtp2.DateTime;
  adoquery1.Open;
  if (adoquery1.Fields[0].Value<>null)and(adoquery1.Fields[1].Value<>null) then
  begin
    edit1.Text:=inttostr(adoquery1.Fields[1].Value); //显示某个时间段的收费次数
    edit2.Text:=floattostr(adoquery1.Fields[0].Value); //显示某个时间段的总收费金额
  end
  else
  begin
    edit1.Text:='0';
    edit2.Text:='0';
  end;
  adoquery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select cardid as 卡号,money as 收费,chargetime as 收费时间 from recharge where chargetime between :time1 and :time2 and opname=:opname');
  adoquery1.Parameters.ParamByName('opname').Value:=trim(user);
  adoquery1.Parameters.ParamByName('time1').Value:=dtp1.DateTime;
  adoquery1.Parameters.ParamByName('time2').Value:=dtp2.DateTime;
  adoquery1.Open;
  self.Caption:='收费金额 - '+trim(user);
end;

procedure TShouFenJinEr.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
Resize:=false;
end;

procedure TShouFenJinEr.BitBtn1Click(Sender: TObject);
begin
  BitBtn2.Enabled:=true;
  BitBtn3.Enabled:=true;
  ADOQuery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('select opname as 操作员,sum(money)as 收费总额,count(*) as 收费次数 from recharge where chargetime between :time1 and :time2 group by opname');
  adoquery1.Parameters.ParamByName('time1').Value:=dtp1.DateTime;
  adoquery1.Parameters.ParamByName('time2').Value:=dtp2.DateTime;
  adoquery1.Open;
  edit1.Clear;
  edit2.Clear;
  self.Caption:='所以用户的收费统计';
end;

procedure TShouFenJinEr.BitBtn2Click(Sender: TObject);
begin
  if messagedlg('您确定要删除收费记录?'+#13+'删除后将不能恢复。',mtconfirmation,[mbok,mbno],0)=mrok then
  begin
  ADOQuery1.Close;
  adoquery1.SQL.Clear;
  adoquery1.SQL.Add('delete from recharge where chargetime between :time1 and :time2');
  adoquery1.Parameters.ParamByName('time1').Value:=dtp1.DateTime;
  adoquery1.Parameters.ParamByName('time2').Value:=dtp2.DateTime;
  adoquery1.ExecSQL;
  end
end;

procedure TShouFenJinEr.BitBtn3Click(Sender: TObject);
begin
  with czysf do
  begin
  adoquery1.Open;
  quickrep1.DataSet:=adoquery1;
  qrdbtext1.DataSet:=adoquery1;
  qrdbtext1.DataField:='操作员';
  qrdbtext2.DataSet:=adoquery1;
  qrdbtext2.DataField:='收费总额';
  qrdbtext3.DataSet:=adoquery1;
  qrdbtext3.DataField:='收费次数';
  qrlabel5.Caption:=datetostr(dtp1.DateTime);
  qrlabel7.Caption:=datetostr(dtp2.DateTime);
  qrlabel9.Caption:=trim(user);
  quickrep1.Preview;
  end
end;

end.

⌨️ 快捷键说明

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