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

📄 krxfmxunit.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
字号:
unit krxfmxUnit;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, Grids, DBGrids, Buttons, ExtCtrls, Db, DBTables,
  Menus;

type
  TxfmxForm = class(TForm)
    Panel1: TPanel;
    begdate: TDateTimePicker;
    enddate: TDateTimePicker;
    BitBtn1: TBitBtn;
    Label1: TLabel;
    Label2: TLabel;
    BitBtn2: TBitBtn;
    DataSource1: TDataSource;
    Query1: TQuery;
    Query2: TQuery;
    DataSource2: TDataSource;
    TabControl1: TTabControl;
    DBGrid2: TDBGrid;
    DBGrid1: TDBGrid;
    endtime: TDateTimePicker;
    begtime: TDateTimePicker;
    Label3: TLabel;
    Edit1: TEdit;
    Panel2: TPanel;
    Query3: TQuery;
    Query4: TQuery;
    Splitter1: TSplitter;
    Label4: TLabel;
    Edit2: TEdit;
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure TabControl1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure DataSource1DataChange(Sender: TObject; Field: TField);
    procedure DBGrid1CellClick(Column: TColumn);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  xfmxForm: TxfmxForm;

implementation
uses dataproc, jzcx;
{$R *.DFM}

procedure TxfmxForm.FormShow(Sender: TObject);
begin
  begdate.Datetime:=now-1;
  enddate.Datetime:=now;
  begtime.time:=strtotime('00:00:00');
  endtime.time:=strtotime('23:59:59');

end;

procedure TxfmxForm.BitBtn1Click(Sender: TObject);
var tj:string;
begin
   tj:='';
   if trim(edit1.Text)<>'' then
   begin
     if tj='' then
      tj:=' and djcode like ''%''+'''+trim(edit1.Text)+'''' else
      tj:=tj+' and djcode like ''%''+'''+trim(edit1.Text)+'''';
   end;
   if trim(edit2.Text)<>'' then
   begin
     if tj='' then
      tj:=' and accno like ''%''+'''+trim(edit2.Text)+'''' else
      tj:=tj+' and accno like ''%''+'''+trim(edit2.Text)+'''';
   end;
   DataSource1.Tag:=0;
   DataSource1.DataSet:=nil;
   query1.Close;
  // query1.Prepare;
   query1.SQL.Clear;
   {query1.sql.Add('select accno,max(djcode),min(handno),sum(num),(select sexname from lssex where sex=max(nowin.sex)) as sex,sum(money),sum(csmoney),min(begtime),max(endtime),(select name from mode where code=min(nowin.jzfs)) as 结帐方式,max(czy) from nowin ');
   query1.sql.Add(' where begtime>=:pbegtime and begtime<:pendtime '+tj+' group by accno'); }
  { query1.sql.Add('select accno,max(djcode),min(handno),sum(num),(select sexname from lssex where sex=max(lsnowin.sex)) as sex,(select isnull((roommoney+rmcsmoney+sanmoney+sancsmoney),0) from lsjz where lsjz.accno=lsnowin.accno and ysmoney<>0 ) as roommoney ');
   query1.sql.Add(',sum(csmoney),min(begtime),max(endtime),(select name from mode where code=min(lsnowin.jzfs)) as 结帐方式,max(czy) from lsnowin ');
   query1.sql.Add(' where money<>0 and  EndTime>=:pbegtime and EndTime<:pendtime '+tj+'  group by accno');
   query1.sql.Add(' order by accno'); }
                                                                                                            //
   query1.sql.Add('select accno,welid,djcode,handno,num,(select sexname from lssex where sex=lsnowin.sex) as sex,roomprice,truntime,money, ');
   query1.sql.Add('csmoney,begtime,endtime,(select name from mode where code=lsnowin.jzfs) as jzfs,czy from lsnowin ');
   query1.sql.Add(' where   EndTime>=:pbegtime and EndTime<:pendtime '+tj );
   query1.sql.Add(' order by accno');

   query1.ParamByName('pbegtime').asstring:=formatdatetime('yyyy-MM-dd',begdate.date)+' '+formatdatetime('hh:mm:ss',begtime.time);
   query1.ParamByName('pendtime').asstring:=formatdatetime('yyyy-MM-dd',enddate.date)+' '+formatdatetime('hh:mm:ss',endtime.time);
   query1.Prepare;
   query1.Open;
//   query1.Fields[0].Visible:=false;
   DataSource1.DataSet:=query1;
{   ChineseGrid(DBGrid1);
   dbgrid1.Fields[0].DisplayLabel:='帐号';
   dbgrid1.Fields[1].DisplayLabel:='登记单号';  }
   DataSource1.Tag:=1;
//   DBGrid1CellClick(nil);
end;

procedure TxfmxForm.TabControl1Change(Sender: TObject);
begin
   if TabControl1.Tabs.Count<1 then
   begin
      query2.Active:=false;
      exit;
   end;
   Query2.Close;
   //此 djcode 表示 消费单号
   Query2.ParamByName('pdj').asstring:=trim(TabControl1.Tabs[TabControl1.TabIndex]);
   Query2.ParamByName('paccno').asstring:=query1.Fieldbyname('accno').asstring;
   Query2.Open;
//   ChineseGrid(DBGrid2);
   tbooleanfield(DBGrid2.Fields[6]).displayvalues:='是;否';
   tbooleanfield(DBGrid2.Fields[7]).displayvalues:='是;否';

end;

procedure TxfmxForm.BitBtn2Click(Sender: TObject);
begin
  close;
end;

procedure TxfmxForm.DataSource1DataChange(Sender: TObject; Field: TField);
 var str:string;
begin
  str:=''; Panel2.Caption:='';
  if (DataSource1.DataSet=nil)then exit;      // or (DataSource1.Tag=0) 
  fm.Query2.Active:=false;
  fm.Query2.SQL.Clear;
  fm.Query2.SQL.Add('select DISTINCT djcode from custom where accno='''+trim(query1.Fieldbyname('accno').asstring)+''' ');
  fm.Query2.SQL.Add('union (select DISTINCT djcode from lscustom where accno='''+trim(query1.Fieldbyname('accno').asstring)+''')');
  fm.Query2.Open;
  TabControl1.Tabs.Clear;
  while not fm.Query2.Eof do
  begin
    TabControl1.Tabs.Add(fm.Query2.Fields[0].asstring);
    fm.Query2.Next;
  end;
  fm.Query2.Close;
  fm.Query2.SQL.Clear;
  fm.Query2.Active:=false;
  query3.Active:=false;
  query3.SQL.Clear;
  query3.SQL.Add('select * from lsjz where accno='''+trim(query1.Fieldbyname('accno').asstring)+''' ');
  query3.Prepare;
  query3.Open;
  Panel2.Caption:='房费:  '+floattostr(Query3.Fieldbyname('roommoney').asfloat+Query3.Fieldbyname('rmcsmoney').asfloat+Query3.Fieldbyname('sanmoney').asfloat+Query3.Fieldbyname('sancsmoney').asfloat)+'       ,消费:'+Query3.Fieldbyname('cusmoney').asstring+'    ,实收:  '+Query3.Fieldbyname('ysmoney').asstring;
  query4.Active:=false;
  query4.SQL.Clear;
  query4.SQL.Add('select * from lsnowin where accno='''+trim(query1.Fieldbyname('accno').asstring)+''' ');
  query4.Prepare;
  query4.Open;
  while not query4.Eof do
  begin
    str:=str+';'+Query4.Fieldbyname('handno').asstring;
    query4.Next;
  end;
    Panel2.Caption:='房间:'+str+'  '+Panel2.Caption;
  TabControl1Change(nil);

end;

procedure TxfmxForm.DBGrid1CellClick(Column: TColumn);
begin
  DataSource1DataChange(nil,nil);
end;

end.

⌨️ 快捷键说明

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