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

📄 newjzform.pas

📁 集成酒店桑拿食管管理的完整程序
💻 PAS
📖 第 1 页 / 共 5 页
字号:
unit newjzform;

interface

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

type
  Tnewjz = class(TForm)
    Bevel2: TBevel;
    caljz: TStoredProc;
    Q1: TQuery;
    DBGrid1: TDBGrid;
    q2: TQuery;
    DataSource1: TDataSource;
    s1: TStoredProc;
    s3: TStoredProc;
    Timer1: TTimer;
    Panel3: TPanel;
    hd: TMemo;
    xd: TMemo;
    Panel4: TPanel;
    Panel5: TPanel;
    Panel7: TPanel;
    Label1: TLabel;
    xfhdno: TEdit;
    GroupBox4: TGroupBox;
    man: TRadioButton;
    woman: TRadioButton;
    Panel1: TPanel;
    Label2: TLabel;
    czy: TMaskEdit;
    dqDate: TDateTimePicker;
    dqTime: TDateTimePicker;
    Panel2: TPanel;
    Panel8: TPanel;
    GroupBox1: TGroupBox;
    Label5: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label6: TLabel;
    rm: TMaskEdit;
    rcsm: TMaskEdit;
    sm: TMaskEdit;        
    scsm: TMaskEdit;
    xm: TMaskEdit;
    hm: TMaskEdit;
    dhf: TMaskEdit;
    GroupBox2: TGroupBox;
    Label21: TLabel;
    Label22: TLabel;
    Label23: TLabel;
    Label24: TLabel;
    Label25: TLabel;
    Label4: TLabel;
    zk: TSpinEdit;
    ym: TMaskEdit;
    jj: TMaskEdit;
    mcs: TMaskEdit;
    jym: TMaskEdit;
    yjm: TMaskEdit;
    mm: TEdit;
    GroupBox6: TGroupBox;
    gzno: TComboBox;
    mxf: TCheckBox;
    mfj: TCheckBox;
    jzfsname: TComboBox;
    jzfs: TComboBox;
    GroupBox3: TGroupBox;
    Label3: TLabel;
    rmgrid: TStringGrid;
    mangrid: TStringGrid;
    womangrid: TStringGrid;
    lfdate: TDateTimePicker;
    Panel9: TPanel;
    BitBtn4: TBitBtn;
    GroupBox5: TGroupBox;
    rmmx: TRadioButton;
    xfmx: TRadioButton;
    dhmx: TRadioButton;
    BitBtn5: TBitBtn;
    Panel6: TPanel;
    kh: TEdit;
    Label9: TLabel;
    sk: TMaskEdit;
    Label10: TLabel;
    ling: TMaskEdit;
    GroupBox7: TGroupBox;
    Label8: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    kcz: TEdit;
    kxf: TEdit;
    kye: TEdit;
    GroupBox8: TGroupBox;
    kyc: TEdit;
    BitBtn7: TBitBtn;
    GroupBox9: TGroupBox;
    dy: TRadioButton;
    RadioButton2: TRadioButton;
    Label7: TLabel;
    Label14: TLabel;
    djdh: TLabel;
    klb: TLabel;
    StoredProc1: TStoredProc;
    Query1: TQuery;
    Query2: TQuery;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    czy1: TLabel;
    CheckBox1: TCheckBox;
    PopupMenu2: TPopupMenu;
    N2: TMenuItem;
    BitBtn6: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn1: TBitBtn;
    BitBtn3: TBitBtn;
    klx: TLabel;
    BitBtn8: TBitBtn;
    Label20: TLabel;
    djq: TMaskEdit;
    Query3: TQuery;
    Query4: TQuery;
    CheckBox2: TCheckBox;
    Label26: TLabel;
    lftime: TDateTimePicker;
    Label27: TLabel;
    djkh: TLabel;
    Query5: TQuery;
    Query6: TQuery;
    procedure xfhdnoExit(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure zkChange(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure xfmxClick(Sender: TObject);
    procedure rmmxClick(Sender: TObject);
    procedure mcsExit(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure manClick(Sender: TObject);
    procedure womanClick(Sender: TObject);
    procedure xfhdnoEnter(Sender: TObject);
    procedure manEnter(Sender: TObject);
    procedure womanEnter(Sender: TObject);
    procedure MaskEdit1Enter(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure jzfsnameChange(Sender: TObject);
    procedure jzfsnameKeyPress(Sender: TObject; var Key: Char);
    procedure lftimeEnter(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure rmgridDblClick(Sender: TObject);
    procedure mangridDblClick(Sender: TObject);
    procedure womangridDblClick(Sender: TObject);
    procedure lfdateChange(Sender: TObject);
    procedure lfdateExit(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure xfhdnoDblClick(Sender: TObject);
    procedure xfhdnoKeyPress(Sender: TObject; var Key: Char);
    procedure Panel6Click(Sender: TObject);
    procedure Panel10DblClick(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure khDblClick(Sender: TObject);
    procedure skChange(Sender: TObject);
    procedure skKeyPress(Sender: TObject; var Key: Char);
    procedure khExit(Sender: TObject);
    procedure khKeyPress(Sender: TObject; var Key: Char);
    procedure kycChange(Sender: TObject);
    procedure kycKeyPress(Sender: TObject; var Key: Char);
    procedure BitBtn7Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure kczKeyPress(Sender: TObject; var Key: Char);
    procedure N1Click(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure gznoChange(Sender: TObject);
    procedure mxfClick(Sender: TObject);
    procedure BitBtn8Click(Sender: TObject);
    procedure CheckBox2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  newjz: Tnewjz;
  paccount:string;
  bbzz0,bbzz1,bbzz2:integer;
  str:string;
implementation
uses dataproc, newdj,  jzdprin,icdate, bkzl, qxrz,dzdwunit,
  jzprint,hykdyunit;
{$R *.DFM}
var
   plssex,fh,rzsj:string;
   pleft,pmd:boolean;
   rs:integer;
   room,roomcs,san,sancs:double;
procedure execute;
var
  mqtime,jltime,room0,room1:string;
begin
with newjz do
  begin
{  Q1.Active :=false;
  Q1.sql.clear;
  Q1.sql.text:='select phname from phbook where sanname='''+'jltime'+'''';
  Q1.open;
  jltime:=Q1.Fields[0].asstring;
  Q1.Active :=false;
  Q1.sql.clear;}

{ source.Active :=false;
  source.sql.clear;
  source.sql.text:='select max(begindatetime) from calldata ';
  source.open;
  mqtime:=source.Fields[0].asstring;
  source.Active :=false;
  source.sql.clear; }

 { if trim(jltime)=trim(mqtime) then exit;
  Q1.sql.text:='select roomno from room where status='''+'1'+''' or status='''+'4'+'''';
  Q1.open;
  room1:='';
  while not Q1.Eof do
  begin
    if trim(room1)<>'' then room1:=room1+',';
    if length(trim(Q1.Fields[0].asstring))=3 then
        room1:=room1+'''8'+trim(Q1.Fields[0].asstring)+''''
    else
        room1:=room1+'''8'+copy(trim(Q1.Fields[0].asstring),2,3)+'''';
    Q1.Next;
  end;
  Q1.Active :=false;
  Q1.sql.clear;
  Q1.sql.text:='select roomno from room where status='''+'0'+''' or status='''+'2'+''' or status='''+'3'+'''';
  Q1.open;
  room0:='';
  while not Q1.Eof do
  begin
    if trim(room0)<>'' then room0:=room0+',';
    if length(trim(Q1.Fields[0].asstring))=3 then
        room0:=room0+'''8'+trim(Q1.Fields[0].asstring)+''''
    else
        room0:=room0+'''8'+copy(trim(Q1.Fields[0].asstring),2,3)+'''';
    Q1.Next;
  end; }
  Q1.Active :=false;
  Q1.sql.clear;

  //mqtime:=formatdatetime('yyyy-mm-dd hh:mm:ss',now);

{  source.Active :=false;
  source.sql.clear;
  if  (trim(room1)<>'') then   // 住客房间
  begin
    source.sql.text:='select callingnumber,callednumber,begindatetime,duration,feestandard,surcharge,servicecharge,feetotal from calldata where callingnumber in ('+room1+') and Left(callednumber,1)='''+'0'+''' and begindatetime>:pbegtime and begindatetime<=:pendtime';
    source.ParamByName('pbegtime').asdatetime:=strtodatetime(jltime);
    source.ParamByName('pendtime').asdatetime:=strtodatetime(mqtime);
    source.open;
    while not source.Eof do
    begin
       Q1.Active:=false;
       Q1.sql.Clear;
       Q1.sql.add('insert into phonedb values(:proomno,:pextension,:pdftel,:pbegtime,:paddress,:pphmoney,:pagnomen,:pfwf,:phjmoney)');
       rmno:=copy(source.fieldbyname('callingnumber').asstring,2,3);
       if (copy(rmno,1,1)='0') or (copy(rmno,1,1)='1') then rmno:='1'+rmno;
       Q1.ParamByName('proomno').asstring:=rmno;
       Q1.ParamByName('pextension').asstring:=source.fieldbyname('callingnumber').asstring;
       Q1.ParamByName('pdftel').asstring:=source.fieldbyname('callednumber').asstring;
       Q1.ParamByName('paddress').asstring:=source.fieldbyname('duration').asstring;
       Q1.ParamByName('pbegtime').asdatetime:=source.fieldbyname('begindatetime').asdatetime;
       Q1.ParamByName('pphmoney').asfloat:=source.fieldbyname('feestandard').asfloat*0.01;
       Q1.ParamByName('pagnomen').asfloat:=source.fieldbyname('surcharge').asfloat*0.01;
       Q1.ParamByName('pfwf').asfloat:=source.fieldbyname('servicecharge').asfloat*0.01;
       Q1.ParamByName('phjmoney').asfloat:=source.fieldbyname('feetotal').asfloat*0.01;
//     showmessage(Q1.sql.Text);
       Q1.Prepare;
       Q1.ExecSQL ;
       Q1.Active :=false;
       Q1.sql.clear;
       source.Next;
    end;
    source.Active :=false;
    source.sql.clear;
  end;
  if  (trim(room0)<>'') then
   // 非住客房间
  begin
    source.sql.text:='select callingnumber,callednumber,begindatetime,duration,feestandard,surcharge,servicecharge,feetotal from calldata where callingnumber in ('+room0+') and Left(callednumber,1)='''+'0'+''' and begindatetime>:pbegtime and begindatetime<=:pendtime';
    source.ParamByName('pbegtime').asdatetime:=strtodatetime(jltime);
    source.ParamByName('pendtime').asdatetime:=strtodatetime(mqtime);
    source.open;
    while not source.Eof do
    begin
       Q1.Active:=false;
       Q1.sql.Clear;
       Q1.sql.add('insert into qtphonedb values(:proomno,:pextension,:pdftel,:pbegtime,:paddress,:pphmoney,:pagnomen,:pfwf,:phjmoney)');
       rmno:=copy(source.fieldbyname('callingnumber').asstring,2,3);
       if (copy(rmno,1,1)='0') or (copy(rmno,1,1)='1') then rmno:='1'+rmno;
       Q1.ParamByName('proomno').asstring:=rmno;
       Q1.ParamByName('pextension').asstring:=source.fieldbyname('callingnumber').asstring;
       Q1.ParamByName('pdftel').asstring:=source.fieldbyname('callednumber').asstring;
       Q1.ParamByName('paddress').asstring:=source.fieldbyname('duration').asstring;
       Q1.ParamByName('pbegtime').asdatetime:=source.fieldbyname('begindatetime').asdatetime;
       Q1.ParamByName('pphmoney').asfloat:=source.fieldbyname('feestandard').asfloat*0.01;
       Q1.ParamByName('pagnomen').asfloat:=source.fieldbyname('surcharge').asfloat*0.01;
       Q1.ParamByName('pfwf').asfloat:=source.fieldbyname('servicecharge').asfloat*0.01;
       Q1.ParamByName('phjmoney').asfloat:=source.fieldbyname('feetotal').asfloat*0.01;
//     showmessage(Q1.sql.Text);
       Q1.Prepare;
       Q1.ExecSQL ;
       Q1.Active :=false;
       Q1.sql.clear;
       source.Next;
    end;
    source.Active :=false;
    source.sql.clear;
    Q1.sql.Clear;
    Q1.Active :=false;
  end;
  Q1.SQL.text:='update phbook set phname='''+mqtime+''' where sanname='''+'jltime'+'''';
  Q1.Prepare;
  Q1.ExecSQL ;
  Q1.Active :=false;
  source.Active :=false;   }
end;
end;

procedure formini;
var
  i:integer;
begin
with newjz do
   begin
   bbzz0:=0;
   bbzz1:=0;
   bbzz2:=0;
//   jzfsname.text:='';
//   lfdate.mindate:=now-1;
    jzfsname.Text:='';
   czy1.Caption:='';
   hd.Text:='';
   xd.Text:='';
   dqtime.time:=now;
   dqdate.datetime:=now;
   lftime.time:=now;
   lfdate.date:=now;
   rm.text:='0';
   rcsm.text:='0';
   sm.Text :='0';
   scsm.text:='0';
   xm.text:='0';
   dhf.text:='0';
   hm.text:='0';
   SK.text:='0';
   ym.text:='0';
   yjm.text:='0';
   jym.Text :='0';
   djq.Text:='0';
   zk.Value :=100;
//   zk.Enabled:=true;
   jj.text:='0';
   mm.text:='0';
   mcs.Text :='0';
     kh.Text:='';
     kcz.Text:='';
     kxf.Text:='';
     kye.Text:='';
     klb.Caption:='';
     kyc.Text:='';
   //  mcs.Enabled:=false;

⌨️ 快捷键说明

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