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

📄 jzdhz.pas

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

interface

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

type
  TjzdhzForm = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    jzdh: TEdit;
    Label1: TLabel;
    Panel4: TPanel;
    Splitter1: TSplitter;
    Panel5: TPanel;
    Panel6: TPanel;
    Panel7: TPanel;
    DBGrid1: TDBGrid;
    Panel8: TPanel;
    Label2: TLabel;
    dhmx: TStringGrid;
    Button2: TButton;
    Label3: TLabel;
    dhhj: TEdit;
    Label4: TLabel;
    Query1: TQuery;
    Label5: TLabel;
    Button3: TButton;
    Query2: TQuery;
    DataSource1: TDataSource;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    procedure FormShow(Sender: TObject);
    procedure jzdhKeyPress(Sender: TObject; var Key: Char);
    procedure dhmxDblClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  jzdhzForm: TjzdhzForm;

implementation

uses bfdhjzcx;



{$R *.DFM}
procedure delete(arow:integer;gd:Tstringgrid);
var
  i,j:integer;
begin
with jzdhzForm do
   begin
     i:=arow;
     while trim(gd.Cells[0,i])<>'' do
     begin
        for j:=0 to 11 do gd.Cells[j,i]:=gd.Cells[j,i+1];
        i:=i+1;
     end;
   end;
end;
procedure qkgrid(gridd:tstringgrid);
var i,j:integer;
begin
 with jzdhzForm do
   begin
     for i:=0 to Gridd.RowCount-1 do
       for j:=0 to Gridd.colCount-1 do
         gridd.Cells[j,i]:='';
   end;
end;

procedure TjzdhzForm.FormShow(Sender: TObject);
begin
   jzdh.Text:='';
   jzdh.SetFocus;
   dhhj.Text:='0';
   qkgrid(dhmx);
   dhmx.Cells[0,0]:='单号';
   dhmx.Cells[1,0]:='标志';
end;

procedure TjzdhzForm.jzdhKeyPress(Sender: TObject; var Key: Char);
var i,j:integer;
begin
   if ((key<'0')or(key>'9'))and (key<>#8) and (key<>#13) then key:=#0;
   if (trim(jzdh.Text)<>'') and (key=#13) then
   begin
    if trim(jzdh.Text)<>'' then
    begin
        i:=1;
        while trim(dhmx.Cells[0,i])<>'' do
        begin
           if trim(dhmx.Cells[0,i])=trim(jzdh.Text) then
           begin
             delete(i,dhmx);
           end
           else
           begin
              if dhmx.RowCount<=i then dhmx.RowCount:=dhmx.RowCount+1;
           end;
              i:=i+1;
        end;
        dhhj.Text:=inttostr(i);
        dhmx.Cells[0,i]:=trim(jzdh.Text);
        jzdh.Text:='';
        jzdh.SetFocus;
  end;
   end;
end;

procedure TjzdhzForm.dhmxDblClick(Sender: TObject);
var i:integer;
begin
      delete(dhmx.row,dhmx);
        i:=1;
        while trim(dhmx.Cells[0,i])<>'' do
              i:=i+1;
        dhhj.Text:=inttostr(i-1);
end;

procedure TjzdhzForm.Button2Click(Sender: TObject);
var i:integer;
begin
        i:=1;
        while trim(dhmx.Cells[0,i])<>'' do
        begin
           query1.Active:=false;
           query1.SQL.Clear;
           query1.SQL.Add('select * from lsnowin where djcode='''+trim(dhmx.Cells[0,i])+'''');
           query1.Prepare;
           query1.Open;
            if query1.RecordCount=0 then dhmx.Cells[1,i]:='?' else  dhmx.Cells[1,i]:='√';
            dhmx.Cells[2,i]:=query1.fieldbyname('accno').asstring;
            i:=i+1;
        end;

end;

procedure TjzdhzForm.Button3Click(Sender: TObject);
var i,j:integer;tj:string;
begin
      tj:='';
        if trim(dhmx.Cells[0,1])='' then exit;
        i:=1;
        while trim(dhmx.Cells[0,i])<>'' do
        begin
           if dhmx.Cells[1,i]='?'  then
           begin
             showmessage('第:'+inttostr(i)+'行,'+'单号为:'+trim(dhmx.Cells[0,i])+'有问题,请核对!');
             Label5.Caption:='第:'+inttostr(i)+'行,'+'单号为:'+trim(dhmx.Cells[0,i])+'有问题';
             exit;
           end;
            i:=i+1;
        end;
        j:=1;
        while trim(dhmx.Cells[0,j])<>'' do
        begin
          if tj='' then tj:=trim(dhmx.Cells[2,j]) else
            tj:=tj+','+trim(dhmx.Cells[2,j]);
            j:=j+1;
        end;
        Query2.Active:=false;
        Query2.SQL.Clear;
        Query2.SQL.Add('select handno as 手号,accno 帐号,isnull(roommoney+rmcsmoney+sanmoney+sancsmoney,0) 房费,cusmoney 消费,jjmoney 加收,mmmoney 免收,ysmoney 实收合计,djqmoney 代金券,');
        Query2.SQL.Add('ismf 免房费,ismxf 免消费,jztime 结帐时间,czy 操作员,(select name from mode where code=jzfs)as 结帐方式  from lsjz where accno in ('+tj+')');
        Query2.SQL.Add(' union(select ''合计'',null,sum(isnull(roommoney+rmcsmoney+sanmoney+sancsmoney,0)),sum(cusmoney),sum(jjmoney),sum(mmmoney),sum(ysmoney),sum(djqmoney),null,null,null,null,null from lsjz where accno in ('+tj+'))');
        Query2.Prepare;
        Query2.Open;
        Tbooleanfield(Query2.Fieldbyname('免房费')).displayvalues:='是;否';
        Tbooleanfield(Query2.Fieldbyname('免消费')).displayvalues:='是;否';
end;

procedure TjzdhzForm.DBGrid1DblClick(Sender: TObject);
begin
   Application.CreateForm(Tbfdhjzcxform, bfdhjzcxform);
   bfdhjzcxform.showmodal;
   bfdhjzcxform.free;
end;

procedure TjzdhzForm.N1Click(Sender: TObject);
begin
   Application.CreateForm(Tbfdhjzcxform, bfdhjzcxform);
   bfdhjzcxform.showmodal;
   bfdhjzcxform.free;
end;

end.

⌨️ 快捷键说明

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