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

📄 hyklrunit.pas

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

interface

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

type
  ThyklrForm = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    Query1: TQuery;
    Panel2: TPanel;
    DBGrid1: TDBGrid;
    DataSource1: TDataSource;
    GroupBox2: TGroupBox;
    Label20: TLabel;
    ajc: TEdit;
    Label21: TLabel;
    GroupBox3: TGroupBox;
    Panel3: TPanel;
    Memo2: TMemo;
    Label2: TLabel;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label15: TLabel;
    Label18: TLabel;
    Label9: TLabel;
    Label17: TLabel;
    Label11: TLabel;
    Label1: TLabel;
    Label4: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label16: TLabel;
    Label19: TLabel;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    kh: TEdit;
    mm: TEdit;
    sfz: TEdit;
    dw: TEdit;
    dh: TEdit;
    cze: TEdit;
    qdxe: TEdit;
    kzt: TEdit;
    xh: TEdit;
    jw: TEdit;
    cw: TEdit;
    tz: TEdit;
    xf: TEdit;
    bz: TEdit;
    GroupBox4: TGroupBox;
    Panel1: TPanel;
    Memo1: TMemo;
    BitBtn5: TBitBtn;
    BitBtn7: TBitBtn;
    fkrq: TDateTimePicker;
    yxrq: TDateTimePicker;
    ckr: TEdit;
    klb: TComboBox;
    ayb: TComboBox;
    BitBtn4: TBitBtn;
    BitBtn6: TBitBtn;
    Query2: TQuery;
    Label22: TLabel;
    Label23: TLabel;
    Query3: TQuery;
    BitBtn8: TBitBtn;
    BitBtn9: TBitBtn;
    Query4: TQuery;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure khKeyPress(Sender: TObject; var Key: Char);
    procedure khExit(Sender: TObject);
    procedure Panel1Click(Sender: TObject);
    procedure PageControl1Change(Sender: TObject);
    procedure ajcChange(Sender: TObject);
    procedure Query1AfterOpen(DataSet: TDataSet);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure BitBtn5Click(Sender: TObject);
    procedure BitBtn7Click(Sender: TObject);
    procedure bzDblClick(Sender: TObject);
    procedure Panel3Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBGrid1CellClick(Column: TColumn);
    procedure BitBtn8Click(Sender: TObject);
    procedure BitBtn9Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  hyklrForm: ThyklrForm;

implementation



{$R *.DFM}
uses dataproc,icdate,hykprin;
procedure ThyklrForm.BitBtn2Click(Sender: TObject);
begin
     bitbtn1.Enabled:=false;
     kh.Text:='';mm.Text:='';ckr.Text:='';sfz.Text:='';dw.Text:='';
     dh.Text:='';cze.Text:='0';xf.Text:='';qdxe.Text:='';kzt.Text:='';
     klb.Text:='';xh.Text:='';jw.Text:='';
     cw.Text:='';tz.Text:='';bz.Text:='';memo1.Text:='';ajc.Text:='';ayb.Text:='';klb.Text:='';
     fkrq.DateTime:=now;yxrq.DateTime:=now;
end;

procedure ThyklrForm.BitBtn1Click(Sender: TObject);
var lskh:string;
begin
   lskh:='';
 /////////////////
    query1.Active:=false;
    query1.SQL.Clear;
    query1.SQL.Add('insert into hykmx(卡号,IC卡号,密码,持卡人,身份证,单位,电话,储值,消费,签单限额,卡状态,卡类别,发卡日期,有效日期,喜好,忌讳,称谓,特征,备注)');
    query1.SQL.Add('values (:kh,:nkh,:mm,:ckr,:sfz,:dw,:dh,:cz,:xf,:qdxe,:kzt,:klb,:fkrq,:yxrq,:xh,:jw,:cw,:tz,:bz)');
    query1.RequestLive:=false;
    query1.ParamByName('kh').asstring:=kh.Text;
   lskh:=xdh('hykmx','','ic卡号',6);
    if trim(lskh)='' then
    begin
         application.messagebox('操作有误,请重来!','提示信息',48);
         exit;
    end;
    query1.ParamByName('nkh').asstring:=lskh;
    query1.ParamByName('mm').asstring:=mm.Text;
    query1.ParamByName('ckr').asstring:=ckr.Text;
    query1.ParamByName('sfz').asstring:=sfz.Text;
    query1.ParamByName('dw').asstring:=dw.Text;
    query1.ParamByName('dh').asstring:=dh.Text;
    if trim(cze.Text)='' then
      query1.ParamByName('cz').ascurrency:=0
    else
      query1.ParamByName('cz').ascurrency:=strtofloat(cze.Text);
      query1.ParamByName('xf').ascurrency:=0;
    if trim(qdxe.Text)='' then
      query1.ParamByName('qdxe').ascurrency:=0
    else
    query1.ParamByName('qdxe').ascurrency:=strtofloat(qdxe.Text);
    query1.ParamByName('kzt').asstring:=kzt.Text;
    query1.ParamByName('klb').asstring:=klb.Text;
    query1.ParamByName('fkrq').asstring:=formatdatetime('yyyy-MM-dd',fkrq.DateTime);
    query1.ParamByName('yxrq').asstring:=formatdatetime('yyyy-MM-dd',yxrq.DateTime);
    query1.ParamByName('xh').asstring:=xh.Text;
    query1.ParamByName('jw').asstring:=jw.Text;
    query1.ParamByName('cw').asstring:=cw.Text;
    query1.ParamByName('tz').asstring:=tz.Text;
    query1.ParamByName('bz').asstring:=curper.name;
    query1.Prepare;
    query1.ExecSQL;
    query1.Active:=false;
    BitBtn6.Enabled:=true;
    addlogo(curper.code,datetimetostr(now),kh.Text+'卡录入');
//    bitbtn2click(nil);
end;

procedure ThyklrForm.khKeyPress(Sender: TObject; var Key: Char);
begin

      if ((sender as tedit)=bz) then  key:=#8;
      if ((sender as tedit)=ajc)  then
        begin
           if ((key<='9') and (key>='0'))  then key:=#0;
        end;
      if  (key=#13 ) then
        selectnext(activecontrol,true ,true);
      if ((sender as tedit)=cze)or((sender as tedit)=qdxe)  then
           if ((key>'9') or (key<'0'))  then key:=#0;
end;

procedure ThyklrForm.khExit(Sender: TObject);
begin
     if (trim(kh.Text)<>'')and(trim(klb.Text)<>'') then bitbtn1.Enabled:=true
     else bitbtn1.Enabled:=false;
end;

procedure ThyklrForm.Panel1Click(Sender: TObject);
begin
       groupbox4.Visible:=false;
end;

procedure ThyklrForm.PageControl1Change(Sender: TObject);
begin
////////////
      bitbtn2click(nil);
     if (PageControl1.ActivePage=TabSheet2) then
     begin
       query1.Active:=false;
       query1.SQL.Clear;
       query1.SQL.Add('select IC卡号,卡号,持卡人,储值,消费,(储值-消费) as 余额,卡类别,卡状态,发卡日期,备注 as 发卡人 from hykmx  order by IC卡号,卡号,发卡日期');
      // query1.SQL.Add('select * from hykmx order by 卡号');
      //  query1.RequestLive:=true;
       query1.Prepare;
       query1.Open;

   //    memo2.text:=query1.Fields[17].Asstring;
     end;
end;

procedure ThyklrForm.ajcChange(Sender: TObject);
 var tj:string;
begin
    tj:='';
    if  trim(ajc.Text)<>'' then
    begin
      if tj ='' then tj:=' where 卡号>='''+trim(ajc.Text)+''' and 卡号<='''+trim(ajc.text)+chr(255)+''''
      else tj:=tj+' and 卡号>='''+trim(ajc.Text)+''' and 卡号<='''+trim(ajc.text)+chr(255)+'''';
    end;
    if ayb.Text<>'' then
    begin
      if tj='' then  tj:=' where 卡类别>='''+trim(ayb.text)+''' and 卡类别<='''+trim(ayb.text)+chr(255)+''''
      else tj:=tj+' and 卡类别>='''+trim(ayb.text)+''' and 卡类别<='''+trim(ayb.text)+chr(255)+'''';
    end;
    query1.Active:=false;
    query1.SQL.Clear;
   // query1.SQL.Add('select * from hykmx '+tj+' order by 卡号');
    query1.SQL.Add('select IC卡号,卡号,持卡人,储值,消费,(储值-消费) as 余额,卡类别,卡状态,发卡日期,备注 as 发卡人 from hykmx '+tj+' order by IC卡号, 卡号,发卡日期');
   // query1.RequestLive:=true;
    query1.Prepare;
    query1.Open;
  //  Label23.Caption:=floattostr(query1.Fieldbyname('储值').asfloat-query1.Fieldbyname('消费').asfloat)+'元';
end;

procedure ThyklrForm.Query1AfterOpen(DataSet: TDataSet);
begin
     if (PageControl1.ActivePage=TabSheet2) then
     begin
      { query1.Fields[0].DisplayWidth:=8;
       query1.Fields[1].Visible:=false;
       query1.Fields[2].DisplayWidth:=6;
       query1.Fields[3].DisplayWidth:=8;
       query1.Fields[4].DisplayWidth:=20;
       query1.Fields[5].DisplayWidth:=20;
       query1.Fields[6].DisplayWidth:=14;
       query1.Fields[7].DisplayWidth:=12;
       query1.Fields[8].DisplayWidth:=15;
       query1.Fields[9].DisplayWidth:=10;
       query1.Fields[10].DisplayWidth:=8;
       query1.Fields[11].DisplayWidth:=8;
       query1.Fields[12].DisplayWidth:=12;
       query1.Fields[13].DisplayWidth:=12;
       query1.Fields[14].DisplayWidth:=20;
       query1.Fields[15].DisplayWidth:=10;
       query1.Fields[16].DisplayWidth:=10;
       query1.Fields[17].DisplayWidth:=8;
       query1.Fields[18].DisplayWidth:=20; }
      // query1.Fields[18].DisplayWidth:=20;
    Label23.Caption:=floattostr(query1.Fieldbyname('储值').asfloat-query1.Fieldbyname('消费').asfloat)+'元';
 end;
 end;
procedure ThyklrForm.DBGrid1DblClick(Sender: TObject);
begin
     if dbgrid1.SelectedIndex=17then
       groupbox3.Visible:=true;
  //   memo2.text:=query1.Fields[17].asstring;
end;

procedure ThyklrForm.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
begin
      if dbgrid1.SelectedIndex=17 then
     begin
       hyklrForm.ShowHint:=true;
       hyklrForm.Hint:='双击查看详情';
     end
     else hyklrForm.ShowHint:=false;
end;

procedure ThyklrForm.BitBtn5Click(Sender: TObject);
begin
     if messagedlg('确信删除这条记录吗!!',mtwarning,[mbok,mbcancel],0)=mrok then
      if  trim(query1.FieldByName('卡号').asstring)<>'' then
      begin
        addlogo(curper.code,datetimetostr(now),trim(query1.FieldByName('卡号').asstring)+'卡删除');
        query1.delete;
     end;
end;

procedure ThyklrForm.BitBtn7Click(Sender: TObject);
begin
    close;
end;

procedure ThyklrForm.bzDblClick(Sender: TObject);
begin
     groupbox4.Visible:=true;
end;

procedure ThyklrForm.Panel3Click(Sender: TObject);
begin
      groupbox3.Visible:=false;
end;

procedure ThyklrForm.BitBtn3Click(Sender: TObject);
begin
     close;
end;

procedure ThyklrForm.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
 if (dbgrid1.SelectedIndex=6)or(dbgrid1.SelectedIndex=7)or(dbgrid1.SelectedIndex=8)then
     key:=#0;

end;

procedure ThyklrForm.BitBtn4Click(Sender: TObject);
var xkh,ls:string;
begin
   if messagedlg('确信要为'+#13+'卡号:'+Query1.Fieldbyname('卡号').AsString+#13+'姓名:'+Query1.Fieldbyname('持卡人').AsString+#13+'      补卡吗?',mtwarning,[mbok,mbcancel],0)=mrcancel then
     exit;
   if messagedlg('请插入IC卡!',mtwarning,[mbok,mbcancel],0)=mrcancel then
     exit;
   xkh:=xdh('hykmx','','ic卡号',6);
   ls:=new_ic(xkh,Query1.Fieldbyname('卡号').AsString,Query1.Fieldbyname('储值').AsString,Query1.Fieldbyname('消费').AsString);
   if ls<>'ok' then
     showmessage(ls)
   else
   begin
     addlogo(curper.code,datetimetostr(now),xkh+'补卡');
     Query2.ParamByName('pickh').asstring:=xkh;
     Query2.ParamByName('pkh').asstring:=Query1.Fieldbyname('卡号').AsString;
     Query2.ParamByName('pzt').asstring:='';
     Query2.ExecSQL;
     showmessage('补卡成功');
   end;

end;

procedure ThyklrForm.BitBtn6Click(Sender: TObject);
var xkh,ls:string;
begin
   if messagedlg('请插入IC卡!',mtwarning,[mbok,mbcancel],0)=mrcancel then
     exit;
   xkh:=xdh('hykmx','','ic卡号',6);
   ls:=new_ic(xkh,kh.Text,'0','0');
   if ls<>'ok' then
     showmessage(ls)
   else
   begin
     Query2.ParamByName('pickh').asstring:=xkh;
     Query2.ParamByName('pkh').asstring:=kh.Text;
     Query2.ParamByName('pzt').asstring:='';
     Query2.ExecSQL;
     showmessage('发卡成功');
   end;
end;

procedure ThyklrForm.FormShow(Sender: TObject);
begin
      groupbox3.Visible:=false;
      groupbox4.Visible:=false;
      bitbtn2click(nil);bitbtn1.Enabled:=false;
      query3.Active:=false;
      query3.SQL.Clear;
      query3.SQL.Add('select distinct 卡类型 from xflxk');
      query3.RequestLive:=false;
      query3.Prepare;
      query3.Open;
      klb.Items.Clear;
      ayb.Items.Clear;
      query3.First;
      while not query3.Eof do
      begin
       klb.Items.Add(query3.fields[0].asstring);
       ayb.Items.Add(query3.fields[0].asstring);
       query3.Next;
      end;
     query3.Active:=false;
     PageControl1.ActivePage:=TabSheet1;
end;

procedure ThyklrForm.DBGrid1CellClick(Column: TColumn);
begin
  if query1.Active=true then   Label23.Caption:=floattostr(query1.Fieldbyname('储值').asfloat-query1.Fieldbyname('消费').asfloat)+'元';

end;

procedure ThyklrForm.BitBtn8Click(Sender: TObject);
begin
     application.CreateForm(Thykprinform,hykprinform);
     hykprinform.hide;
     //hykprinform.Table1.Active:=false;
     //hykprinform.Table1.Active:=true;
     hykprinform.qr1.preview ;
     //preview ;
     //print;
     hykprinform.Close;
     hykprinform.free;

end;

procedure ThyklrForm.BitBtn9Click(Sender: TObject);
begin
    if messagedlg('确信要为'+#13+'卡号:'+Query1.Fieldbyname('卡号').AsString+#13+'姓名:'+Query1.Fieldbyname('持卡人').AsString+#13+'      挂失吗?',mtwarning,[mbok,mbcancel],0)=mrcancel then
     exit;
     query4.Active:=false;
     query4.SQL.Clear;
     query4.SQL.Add('update hykmx set 卡状态=''挂失'' where 卡号='''+trim(Query1.Fieldbyname('卡号').AsString)+'''');
     query4.Prepare;
     query4.ExecSQL;
     showmessage('挂失成功');
end;

end.

⌨️ 快捷键说明

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