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

📄 c_nbjd.pas

📁 酒店管理系统 酒店管理系统 酒店管理系统
💻 PAS
📖 第 1 页 / 共 3 页
字号:
procedure TNbjdForm.tblKrzdBeforePost(DataSet: TDataSet);
begin
  inherited;
  if tblKrzdD_KFBH.Value = '' then
    raise Exception.Create('请输入房间号!');
  if tblKrzdD_SJFJ.IsNull then
    raise Exception.Create('请输入房价!');
  if (tblKryjD_FKFS.Value=FKFS_RMB)and(tblKryjD_YFJE.IsNull) then
    raise Exception.Create('请输入预付金额');

  UpdateKrzd;
  UpdateKrxx;
  UpdateKryj;
  UpdateKfzt;
end;

//检查房价
procedure TNbjdForm.tblKrzdD_SJFJValidate(Sender: TField);
begin
  inherited;
  if tblKrzdD_SJFJ.Value <= 0 then
    raise Exception.Create('房价必须大于零!');
end;

//检查预付金额
procedure TNbjdForm.tblKryjD_YFJEValidate(Sender: TField);
begin
  inherited;
  if (tblKryjD_YFJE.Required)and(tblKryjD_YFJE.Value<=0) then
    raise Exception.Create('预付金额必须大于零!');
end;

//改变预付方式
procedure TNbjdForm.tblKryjD_FKFSChange(Sender: TField);
begin
  inherited;
  tblKryjD_YFJE.Required := tblKryjD_FKFS.Value = FKFS_RMB;
  tblKryjD_XYKBH.Required:= tblKryjD_FKFS.Value = FKFS_XYK;
  tblKryjD_KHBH.Required := tblKryjD_FKFS.Value = FKFS_JZ;

  if tblKryjD_FKFS.Value <> FKFS_RMB then
    tblKryjD_YFJE.Value := 0;
    
  dbeYfje.Visible  := tblKryjD_FKFS.Value = FKFS_RMB;
  dbcXykbh.Visible := tblKryjD_FKFS.Value = FKFS_XYK;
  dbcKhbh.Visible  := tblKryjD_FKFS.Value = FKFS_JZ;
  lblYfje.Visible  := tblKryjD_FKFS.Value <> FKFS_ZP;

  if dbeYfje.Visible  then lblYfje.Caption := '预付金额';
  if dbcXykbh.Visible then lblYfje.Caption := '信用卡';
  if dbcKhbh.Visible  then lblYfje.Caption := '记帐客户';

  lblMc.Caption := '';
  dbcXykbh.Left := dbeYfje.Left;
  dbcXYkbh.Top  := dbeYfje.Top;
  dbcKhbh.Left  := dbeYfje.Left;
  dbcKhbh.Top   := dbeYfje.Top;
end;

procedure TNbjdForm.tblKrzdD_CZYXMChange(Sender: TField);
begin
  inherited;
  FCzyxm := tblKrzdD_CZYXM.Value;
  DQCZY.CzyXm := FCzyxm;
end;

procedure TNbjdForm.tblKrzdD_JZYXMChange(Sender: TField);
begin
  inherited;
  FJzyxm := tblKrzdD_JZYXM.Value;
  DQJZY.CzyXm := FJzyxm;
end;

//检查客房入住有效性
procedure TNbjdForm.tblKrzdD_KFBHValidate(Sender: TField);
begin
  inherited;
  if HotelData.CheckKfzt(tblKrzdD_KFBH.Value)<>KFZT_OK then
    raise Exception.Create('该客房已经有人入住,请选择其他客房!');
end;

//检查身份证
procedure TNbjdForm.tblKrxxD_ZJHMValidate(Sender: TField);
begin
  inherited;
  if (not ValidSfz(tblKrxxD_ZJHM.Value))and(tblKrxxD_ZJHM.Value<>'') then
    raise Exception.Create('非法身份证号码!');
end;

//改变证件类型时
procedure TNbjdForm.tblKrxxD_ZJBHChange(Sender: TField);
begin
  inherited;
  //清空证件号码
  tblKrxxD_ZJHM.Value := '';

  //如果是身份证
  if HotelData.FindMc('ZJDM','D_ZJBH','D_ZJMC',tblKrxxD_ZJBH.Value) = '身份证' then
  begin
    tblKrxxD_ZJHM.OnValidate := tblKrxxD_ZJHMValidate;
    dbeZjhm.OnKeyPress := dbeZjhmKeyPress;
  end
  else
  begin
    tblKrxxD_ZJHM.OnValidate := nil;
    dbeZjhm.OnKeyPress := nil;
  end;
end;

procedure TNbjdForm.dbeZjhmKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if (not (Key in ['0'..'9'])) and (Ord(Key) <> VK_BACK) then
  begin
    Key := #0;
    Beep;
  end;
end;

//判断来店次数和黑名单
procedure TNbjdForm.dbeKrxmExit(Sender: TObject);
var
  i : Integer;
  s : string;
begin
  inherited;
  if dbeKrxm.Text <> '' then
  begin
    i := HotelData.Ldcs(dbeKrxm.Text);
    if i=0 then
      lblInfo.Caption := '友情提醒:该客人是首次来店'
    else
      lblInfo.Caption := '友情提醒:该客人是第'+IntToStr(i+1)+'次来店';
    s := HotelData.IsHmd(dbeKrxm.Text,'');
    if s<>'' then
      ShowInfo('该客人姓名列入了黑名单!'+#13#10+s);
    LoadKrxx(dbeKrxm.Text);
  end
  else
    dbeKrxm.SetFocus;
end;

procedure TNbjdForm.dbcXbKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if Key = '2' then tblKrxxD_XB.Value := '女'
  else
  if Key = '1' then tblKrxxD_XB.Value := '男';
end;

procedure TNbjdForm.HelpInfo(Sender: TObject);
begin
  inherited;
  lblHelp.Caption := Info_Help[(Sender as TComponent).Tag];
end;

procedure TNbjdForm.dbcFkfsKeyPress(Sender: TObject; var Key: Char);
begin
  inherited;
  if Key = '1' then tblKryjD_FKFS.Value := '人民币'
  else
  if Key = '2' then tblKryjD_FKFS.Value := '信用卡'
  else
  if Key = '3' then tblKryjD_FKFS.Value := '支票'
  else
  if Key = '4' then tblKryjD_FKFS.Value := '记帐';
end;

procedure TNbjdForm.dbcCzyxmExit(Sender: TObject);
begin
  inherited;
  if HotelData.FindBh('YGDA','D_YGBH','D_YGXM',tblKrzdD_CZYXM.Value)='' then
  begin
    FCzyxm := GetMc(dbcCzyxm.Items[dbcCzyxm.ItemIndex]);
    DQCZY.CzyXm := FCzyxm;
    if HotelData.FindBh('YGDA','D_YGBH','D_YGXM',FCzyxm)<>'' then
      tblKrzdD_CZYXM.Value := FCzyxm
    else
      dbcCzyxm.SetFocus;
  end;
end;

procedure TNbjdForm.dbcJzyxmExit(Sender: TObject);
var
  AJzybh: string;
begin
  inherited;
  if HotelData.FindBh('YGDA','D_YGBH','D_YGXM',tblKrzdD_JZYXM.Value)='' then
  begin
    FJzyxm := GetMc(dbcJzyxm.Items[dbcJzyxm.ItemIndex]);
    AJzybh := HotelData.FindBh('YGDA','D_YGBH','D_YGXM',FJzyxm);
    if AJzybh<>'' then
    begin
      tblKrzdD_JZYXM.Value := FJzyxm;
      JZY.CzyBh := AJzybh;
      JZY.CzyXm := FJzyxm;
      DQJZY.CzyXm := FJzyxm;
    end
    else
      dbcJzyxm.SetFocus;
  end;
end;

procedure TNbjdForm.dbcXykbhExit(Sender: TObject);
var
  AXykbh,AXykmc: string;
begin
  inherited;
  AXykmc := HotelData.FindMc('XYK','D_XYKBH','D_XYKMC',tblKryjD_XYKBH.Value);
  if AXykmc='' then
  begin
    AXykmc := GetMc(dbcXykbh.Items[dbcXykbh.ItemIndex]);
    AXykbh := HotelData.FindBh('XYK','D_XYKBH','D_XYKMC',AXykmc);
    if AXykbh<>'' then
    begin
      tblKryjD_XYKBH.Value := AXykbh;
      lblMc.Caption := AXykmc;
    end
    else
      dbcXykbh.SetFocus;
  end
  else
    lblMC.Caption := AXykmc;
end;

procedure TNbjdForm.dbcKhbhExit(Sender: TObject);
var
  AKhbh,AKhmc: string;
begin
  inherited;
  AKhmc := HotelData.FindMc('KHDA','D_KHBH','D_KHMC',tblKryjD_KHBH.Value);
  if AKhmc='' then
  begin
    AKhmc := GetMc(dbcKhbh.Items[dbcKhbh.ItemIndex]);
    AKhbh := HotelData.FindBh('KHDA','D_KHBH','D_KHMC',AKhmc);
    if AKhbh<>'' then
    begin
      tblKryjD_KHBH.Value := AKhbh;
      lblMc.Caption := AKhmc;
    end
    else
      dbcKhbh.SetFocus;
  end
  else
    lblMc.Caption := AKhmc;
end;

procedure TNbjdForm.dbcMzExit(Sender: TObject);
var
  AMzbh,AMzmc: string;
begin
  inherited;
  AMzmc := HotelData.FindMc('MZDM','D_MZBH','D_MZMC',tblKrxxD_MZBH.Value);
  if AMzmc='' then
  begin
    AMzmc := dbcMz.Text;
    AMzbh := HotelData.FindBh('MZDM','D_MZBH','D_MZMC',AMzmc);
    if AMzbh<>'' then
    begin
      tblKrxxD_MZBH.Value := AMzbh;
      lblMz.Caption := AMzmc;
      Exit;
    end;

    //edit 
    AMzmc := GetMc(dbcMz.Items[dbcMz.ItemIndex]);
    AMzbh := HotelData.FindBh('MZDM','D_MZBH','D_MZMC',AMzmc);
    if AMzbh<>'' then
    begin
      tblKrxxD_MZBH.Value := AMzbh;
      lblMz.Caption := AMzmc;
    end
    else
      dbcMz.SetFocus;
  end
  else
    lblMz.Caption := AMzmc;
end;

procedure TNbjdForm.dbcDqbhExit(Sender: TObject);
var
  ADqbh,ADqmc: string;
begin
  inherited;
  ADqmc := HotelData.FindMc('DQDM','D_DQBH','D_DQMC',tblKrxxD_DQBH.Value);
  if ADqmc='' then
  begin
    ADqmc := dbcDqbh.Text;
    ADqbh := HotelData.FindBh('DQDM','D_DQBH','D_DQMC',ADqmc);
    if ADqbh<>'' then
    begin
      tblKrxxD_DQBH.Value := ADqbh;
      lblDqmc.Caption := ADqmc;
      Exit;
    end;

    ADqmc := GetMc(dbcDqbh.Items[dbcDqbh.ItemIndex]);
    ADqbh := HotelData.FindBh('DQDM','D_DQBH','D_DQMC',ADqmc);
    if ADqbh<>'' then
    begin
      tblKrxxD_DQBH.Value := ADqbh;
      lblDqmc.Caption := ADqmc;
    end
    else
      dbcDqbh.SetFocus;
  end
  else
    lblDqmc.Caption := ADqmc;
end;

procedure TNbjdForm.dbcZjlxExit(Sender: TObject);
var
  AZjbh,AZjmc: string;
begin
  inherited;
  AZjmc := HotelData.FindMc('ZJDM','D_ZJBH','D_ZJMC',tblKrxxD_ZJBH.Value);
  if AZjmc='' then
  begin
    AZjmc := dbcZjlx.Text;
    AZjbh := HotelData.FindBh('ZJDM','D_ZJBH','D_ZJMC',AZjmc);
    if AZjbh<>'' then
    begin
      tblKrxxD_ZJBH.Value := AZjbh;
      lblZjmc.Caption := AZjmc;
      Exit;
    end;

    AZjmc := GetMc(dbcZjlx.Items[dbcZjlx.ItemIndex]);
    AZjbh := HotelData.FindBh('ZJDM','D_ZJBH','D_ZJMC',AZjmc);
    if AZjbh<>'' then
    begin
      tblKrxxD_ZJBH.Value := AZjbh;
      lblZjmc.Caption := AZjmc;
    end
    else
      dbcZjlx.SetFocus;
  end
  else
    lblZjmc.Caption := AZjmc;
end;

procedure TNbjdForm.dbeSjfjExit(Sender: TObject);
begin
  inherited;
  if dbeSjfj.Text = '' then dbeSjfj.SetFocus;
  if StrToCurr(dbeSjfj.Text) >500 then
  begin
    lblInfo.Caption := '友情提醒:你输入的房价可能有错误!';
    Label3.Font.Color := clRed;
    if not Confirm('你输入的房价可能有错误!你确认吗?') then
      dbeSjfj.SetFocus;
  end;
end;

procedure TNbjdForm.dbeYfjeExit(Sender: TObject);
begin
  inherited;
  if dbeYfje.Text = '' then dbeYfje.SetFocus;
end;

procedure TNbjdForm.dbeZjhmExit(Sender: TObject);
var
  s : string;
begin
  inherited;
  if tblKrxxD_ZJBH.Value = '01' then
  begin
    if dbeZjhm.Text = '' then dbeZjhm.SetFocus;
  end;
  if dbeZjhm.Text <> '' then
  begin
    s := HotelData.IsHmd('',dbeZjhm.Text);
    if s <> '' then
      ShowInfo('该客人的证件号码列入了黑名单!'+#13#10+s);
  end;
end;

procedure TNbjdForm.dbcKhbhDblClick(Sender: TObject);
begin
  inherited;
  tblKryjD_KHBH.Value := KhdaSel;
end;

procedure TNbjdForm.dbeKfbhExit(Sender: TObject);
begin
  inherited;
  if dbeKfbh.Text = '' then dbeKfbh.SetFocus;
end;

procedure TNbjdForm.dbeZjhmKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  inherited;
  if Key = VK_F2 then
  begin
    dbeZjhm.OnExit := nil;
    dbcZjlx.SetFocus;
    dbeZjhm.OnExit := dbeZjhmExit;
  end;
end;

end.

⌨️ 快捷键说明

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