📄 jiezhang.~pas
字号:
unit jiezhang;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, Buttons, ExtCtrls, DB, DBTables, Grids, DBGrids,
DBCtrls;
type
TForm14 = class(TForm)
Label1: TLabel;
Q_insys: TQuery;
Q_over: TQuery;
GroupBox1: TGroupBox;
Label3: TLabel;
Label5: TLabel;
Sn_AccountNo: TLabel;
GroupBox3: TGroupBox;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Label21: TLabel;
Label22: TLabel;
Label23: TLabel;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
Label27: TLabel;
Shape3: TShape;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton4: TSpeedButton;
XF_sfje: TLabel;
XF_zkje: TLabel;
zkje: TLabel;
Label29: TLabel;
Label40: TLabel;
Label41: TLabel;
Jz_zkl: TMaskEdit;
Jz_rmb: TMaskEdit;
Jz_zp: TMaskEdit;
Jz_xyk: TMaskEdit;
Jz_kd: TMaskEdit;
Jz_kdr: TComboBox;
Jz_dz: TMaskEdit;
Jz_dzr: TComboBox;
Jz_ml: TMaskEdit;
GroupBox2: TGroupBox;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Shape1: TShape;
Label30: TLabel;
Label31: TLabel;
Label32: TLabel;
Label33: TLabel;
Label34: TLabel;
Label35: TLabel;
Label36: TLabel;
Label37: TLabel;
Label39: TLabel;
GroupBox4: TGroupBox;
DBGrid1: TDBGrid;
Q_SnDinList: TQuery;
DataSource1: TDataSource;
Label2: TLabel;
Label4: TLabel;
LB_handno: TListBox;
Label6: TLabel;
Label28: TLabel;
Label43: TLabel;
Label45: TLabel;
Label8: TLabel;
Label7: TLabel;
DBText1: TDBText;
Q_xfxx: TQuery;
DS_xfxx: TDataSource;
DBText2: TDBText;
DBText3: TDBText;
DBText4: TDBText;
DBText5: TDBText;
DBText6: TDBText;
DBText7: TDBText;
DBText8: TDBText;
DBText9: TDBText;
DBText10: TDBText;
DBText11: TDBText;
DBText12: TDBText;
DBText13: TDBText;
Sn_EndTime: TLabel;
DBText14: TDBText;
DBText15: TDBText;
Q_h: TQuery;
Q_kdr: TQuery;
Q_dzr: TQuery;
Q_kg: TQuery;
Q_room: TQuery;
Button1: TButton;
T_dzkd: TTable;
Q_zkl: TQuery;
seekd: TButton;
seedz: TButton;
see_kdr: TQuery;
Jz_kdr1: TLabel;
jz_dzr1: TLabel;
Q_selkddz: TQuery;
procedure FormShow(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure Jz_zklKeyPress(Sender: TObject; var Key: Char);
procedure Jz_mlKeyPress(Sender: TObject; var Key: Char);
procedure Jz_rmbKeyPress(Sender: TObject; var Key: Char);
procedure Jz_zpKeyPress(Sender: TObject; var Key: Char);
procedure Jz_xykKeyPress(Sender: TObject; var Key: Char);
procedure Jz_kdKeyPress(Sender: TObject; var Key: Char);
procedure Jz_kdrKeyPress(Sender: TObject; var Key: Char);
procedure Jz_dzKeyPress(Sender: TObject; var Key: Char);
procedure Jz_dzrKeyPress(Sender: TObject; var Key: Char);
procedure Jz_zklExit(Sender: TObject);
procedure Jz_mlExit(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure Jz_kdrSelect(Sender: TObject);
procedure Jz_dzrSelect(Sender: TObject);
procedure seekdClick(Sender: TObject);
procedure seedzClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form14: TForm14;
implementation
uses zd_print, mainmenu, guibin, ZD_PRINT11, dy, main, see_qm;
{$R *.dfm}
procedure TForm14.FormShow(Sender: TObject);
begin
jz_kdr1.Caption:='款待人';
jz_dzr1.Caption:='抵值人';
seekd.Enabled:=False;
seedz.Enabled:=False;
Q_kg.Close;
Q_kg.SQL.Clear;
Q_kg.SQL.Add('select sfjz from sn_account where accountno=cdbl('''+Sn_AccountNo.Caption+''')');
Q_kg.Open;
if Q_kg.FieldByName('sfjz').AsInteger=0 then
begin
speedbutton2.Enabled:=false;
end
else
begin
speedbutton2.Enabled:=true;
end;
XF_sfje.Caption:=dbtext13.Caption;
jz_rmb.Text:=dbtext13.Caption;
Sn_EndTime.Caption:=DateTimeTostr(now);
jz_zkl.EditMask:='999;1; ';
jz_zkl.Text:='100';
jz_ml.EditMask:='999;1; ';
jz_ml.Text:='0';
jz_rmb.EditMask:='99999;1; ';
jz_rmb.Text:='0';
jz_zp.EditMask:='99999;1; ';
jz_zp.Text:='0';
jz_xyk.EditMask:='99999;1; ';
jz_xyk.Text:='0';
jz_kd.EditMask:='99999;1; ';
jz_kd.Text:='0';
jz_dz.EditMask:='99999;1; ';
jz_dz.Text:='0';
jz_kdr.Text:='';
jz_dzr.Text:='';
Q_kdr.Open;
Q_kdr.Active:=True;
jz_kdr.ClearSelection;
while not Q_kdr.Eof do
begin
jz_kdr.Items.Add(Q_kdr.FieldByName('UserNo').AsString);
Q_kdr.Next;
end;
Q_dzr.Open;
Q_dzr.Active:=True;
jz_dzr.ClearSelection;
while not Q_dzr.Eof do
begin
jz_dzr.Items.Add(Q_dzr.FieldByName('UserNo').AsString);
Q_dzr.Next;
end;
jz_zkl.SetFocus;
end;
procedure TForm14.SpeedButton4Click(Sender: TObject);
begin
close;
end;
procedure TForm14.Jz_zklKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_mlKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_rmbKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_zpKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_xykKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_kdKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_kdrKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_dzKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_dzrKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
perform(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TForm14.Jz_zklExit(Sender: TObject);
var zkl:double;
begin
if length(trim(Jz_zkl.Text))=0 then
begin
MessageDlg('折扣率输入不能为空,请重新输入!',mtError,[mbok],0);
end
else
begin
Q_zkl.Close;
Q_zkl.SQL.Clear;
Q_zkl.SQL.Add('select sum(SalePrice*Quantity) as zkze from sn_DinList where dz=''是'' and AccountNo=cdbl('''+sn_accountNo.Caption+''')');
Q_zkl.Open;
zkl:=StrTofloat(Jz_zkl.text);
zkje.Caption:=Floattostr(round(Q_zkl.fieldbyname('zkze').AsFloat*(1-zkl/100)));
// zkje.Caption:=Floattostr(round(StrtoFloat(dbtext13.Caption)*(1-zkl/100)));
// xf_sfje.Caption:=Floattostr(round(StrtoFloat(dbtext13.Caption)*(zkl/100)));
xf_sfje.Caption:=Floattostr(round(strtofloat(dbtext13.Caption)-strtofloat(zkje.Caption)));
jz_rmb.Text:=xf_sfje.Caption;
// Jz_rmb.Text:=Floattostr(round(StrtoFloat(dbtext13.Caption)*(zkl/100)));
end;
end;
procedure TForm14.Jz_mlExit(Sender: TObject);
var ml:double;
begin
if length(trim(Jz_ml.Text))=0 then
begin
MessageDlg('抹零输入不能为空,请重新输入!',mtError,[mbok],0);
end
else
begin
ml:=StrTofloat(Jz_ml.text);
xf_sfje.Caption:=Floattostr(StrtoFloat(XF_sfje.Caption)-ml);
Jz_rmb.Text:=Floattostr(StrtoFloat(jz_rmb.Text)-ml);
end;
end;
procedure TForm14.SpeedButton1Click(Sender: TObject);
var userno:string;
begin
//判断输入是否有空值
if (length(trim(Jz_kd.Text))>0) and (length(trim(Jz_kd.Text))>0) and (((StrToInt(Trim(Jz_kd.Text))>0) and (length(Jz_kdr.Text)>0)) or (StrToInt(Trim(Jz_kd.Text))=0)) and (((StrToInt(Trim(Jz_dz.Text))>0) and (length(Jz_dzr.Text)>0)) or (StrToInt(Trim(Jz_dz.Text))=0)) and (length(trim(Jz_rmb.Text))>0) and (length(trim(Jz_zp.Text))>0) and (length(trim(Jz_xyk.Text))>0) and ((StrToint(Trim(Jz_rmb.Text))+StrToint(Trim(Jz_zp.Text))+StrToint(Trim(Jz_xyk.Text))+StrToint(Trim(Jz_kd.Text))+StrToint(Trim(Jz_dz.Text)))=StrToInt(Xf_sfje.Caption)) then
begin
speedbutton2.Enabled:=true;
//将折扣率、抹零金额、人民币、支票、信用卡、款待金额、款待人、抵值金额、抵值人、实收金额、折扣金额添加到Account表中做相应的修改
Q_insys.SQL.Clear;
Q_insys.SQL.Add('update Sn_Account set sfjz=1,ysje=cdbl('''+dbtext13.Caption+'''),zkl=cdbl('''+trim(Jz_zkl.Text)+'''),rmbje=cdbl('''+trim(Jz_rmb.Text)+'''),zpje=cdbl('''+trim(Jz_zp.Text)+'''),xykje=cdbl('''+trim(Jz_xyk.Text)+'''),kdje=cdbl('''+trim(Jz_kd.Text)+'''),kdr='''+Jz_kdr.Text+''',dzje=cdbl('''+trim(Jz_dz.Text)+'''),dzr='''+Jz_dzr.Text+''',zkje=cdbl('''+zkje.caption+'''),sfje=cdbl('''+XF_sfje.caption+'''),mlje=cdbl('''+trim(Jz_ml.Text)+'''),EndTime=now() where AccountNo=cdbl('''+sn_Accountno.Caption+''')');
Q_insys.execsql;
//更改DinList表中 BeginTime 与EndTime 值
Q_insys.SQL.Clear;
Q_insys.SQL.Add('update Sn_DinList set endtime=now() where AccountNo=cdbl('''+Sn_AccountNo.Caption+''')');
Q_insys.ExecSQL;
Q_insys.SQL.Clear;
Q_insys.SQL.Add('update Sn_DinList set endtime=now() where AccountNo=cdbl('''+Sn_AccountNo.Caption+''')');
Q_insys.ExecSQL;
//结束
//如果款待和抵值金额不为零,则按款待和抵值人修改相应的金额;
if StrToInt(trim(Jz_kd.Text))<>0 then
begin
Q_insys.SQL.Clear;
Q_insys.SQL.Add('select * from UserInfo where UserNo='''+Jz_kdr.Text+'''');
Q_insys.Open;
userno:=Q_insys.fieldbyname('userno').AsString;
Q_insys.Edit;
Q_insys['TotalMoney']:=Q_insys['TotalMoney']+StrToInt(trim(Jz_kd.Text));
Q_insys.Post;
Q_insys.Close;
T_dzkd.Close;
T_dzkd.Open;
T_dzkd.AppendRecord([Sn_accountNo.caption,userno,jz_kdr.text,strtoint(trim(jz_kd.text)),now,form1.sys_snusername,'洗浴','款待']);
T_dzkd.Close;
end;
if StrToInt(trim(Jz_dz.Text))<>0 then
begin
Q_insys.SQL.Clear;
Q_insys.SQL.Add('select * from VipInfo where UserNo='''+Jz_dzr.Text+'''');
Q_insys.Open;
userno:=Q_insys.fieldbyname('userno').AsString;
Q_insys.Edit;
Q_insys['TotalMoney']:=Q_insys['TotalMoney']-StrToInt(trim(Jz_dz.Text));
Q_insys.Post;
Q_insys.Close;
T_dzkd.Close;
T_dzkd.Open;
T_dzkd.AppendRecord([Sn_accountNo.caption,userno,jz_dzr.text,strtoint(trim(jz_dz.text)),now,form1.sys_snusername,'洗浴','抵值']);
T_dzkd.Close;
end;
//调用打印界面
form27.ysje.Caption:=dbtext13.Caption;
form27.zkje.Caption:=zkje.Caption;
form27.mlje.Caption:=trim(jz_ml.Text);
form27.sfje.Caption:=xf_sfje.Caption;
form27.zdh.Caption:=sn_accountno.Caption;
form27.jzrq.Caption:=datetimetostr(now);
form27.query1.active:=false;
form27.query1.sql.clear;
form27.query1.sql.add('select * from sn_Dinlist where accountno=cdbl('''+sn_accountno.Caption+''')');
form27.query1.active:=true;
form27.QuickRep1.Print;
end
else
begin
MessageDlg('输入不正确,请重新输入!',mtError,[mbok],0);
end;
end;
procedure TForm14.SpeedButton2Click(Sender: TObject);
var accountno,lsls:string;
begin
accountno:=sn_accountno.Caption;
//将sn_Account对应数据复制到H_sn_Account中后删除
Q_over.SQL.Clear;
Q_over.SQL.Add('Insert into H_Sn_Account select * from Sn_Account where Sn_Account.AccountNo=cdbl('''+Accountno+''')');
Q_over.ExecSQL;
Q_over.SQL.Clear;
Q_over.SQL.Add('delete from sn_Account where accountno=cdbl('''+accountno+''')');
Q_over.ExecSQL;
//结束
//将DinList对应数据复制到H_DinList中后删除
Q_over.SQL.Clear;
Q_over.SQL.Add('Insert into H_Sn_DinList select * from Sn_DinList where Sn_DinList.accountno=cdbl('''+accountno+''')');
Q_over.ExecSQL;
Q_over.SQL.Clear;
Q_over.SQL.Add('delete from sn_DinList where accountno=cdbl('''+accountno+''')');
Q_over.ExecSQL;
//结束
//从SnFolio中删除
Q_over.SQL.Clear;
Q_over.SQL.Add('delete from snfolio where folio=cdbl('''+accountno+''')');
Q_over.ExecSQL;
//更改房间状态
Q_over.SQL.Clear;
Q_over.SQL.Add('select * from H_Sn_DinList where cstr(accountno)='''+accountno+'''');
Q_over.Open;
while not Q_over.Eof do
begin
if strpos(pchar(Q_over.fieldbyname('menuname').asstring),pchar('钟点房'))<>nil then
begin
lsls:=Q_over.fieldbyname('menuno').AsString;
Q_room.SQL.Clear;
q_room.SQL.Add('update sn_menu set zt=0 where menuno='''+lsls+'''');
q_room.ExecSQL;
end;
Q_over.Next;
end;
form2.ResetMain;
form14.Close;
//结束
end;
procedure TForm14.Button1Click(Sender: TObject);
begin
form26.showmodal;
end;
procedure TForm14.FormClose(Sender: TObject; var Action: TCloseAction);
begin
form2.Q_DinList.Active:=False;
form2.Q_DinList.Active:=true;
end;
procedure TForm14.Jz_kdrSelect(Sender: TObject);
begin
seekd.Enabled:=True;
Q_selkddz.Active:=False;
Q_selkddz.SQL.Clear;
Q_selkddz.SQL.Add('select username from userinfo where userno='''+jz_kdr.Text+'''');
Q_selkddz.Active:=true;
Jz_kdr1.Caption:=Q_selkddz.fieldbyname('username').AsString;
Q_selkddz.Active:=False;
end;
procedure TForm14.Jz_dzrSelect(Sender: TObject);
begin
Seedz.Enabled:=True;
Q_selkddz.Active:=False;
Q_selkddz.SQL.Clear;
Q_selkddz.SQL.Add('select username from vipinfo where userno='''+jz_dzr.Text+'''');
Q_selkddz.Active:=true;
Jz_dzr1.Caption:=Q_selkddz.fieldbyname('username').AsString;
Q_selkddz.Active:=False;
end;
procedure TForm14.seekdClick(Sender: TObject);
var filen:string;
begin
see_kdr.Active:=False;
See_kdr.SQL.Clear;
See_kdr.SQL.Add('select * from userinfo where username='''+jz_kdr.Text+'''');
See_kdr.Active:=True;
filen:='image\'+See_kdr.fieldbyname('userno').AsString+'.bmp';
see_kdr.Active:=False;
form29.Image1.Picture.LoadFromFile(filen);
form29.showmodal;
end;
procedure TForm14.seedzClick(Sender: TObject);
var filen:string;
begin
see_kdr.Active:=False;
See_kdr.SQL.Clear;
See_kdr.SQL.Add('select * from vipinfo where username='''+jz_dzr.Text+'''');
See_kdr.Active:=True;
filen:='image\'+See_kdr.fieldbyname('userno').AsString+'.bmp';
see_kdr.Active:=False;
form29.Image1.Picture.LoadFromFile(filen);
form29.showmodal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -