📄 jzmxcxunit.pas
字号:
unit jzmxcxUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Grids, DBGrids, Buttons, ExtCtrls, Db, DBTables,
Menus;
type
TJZmxcxForm = class(TForm)
Panel1: TPanel;
Panel4: TPanel;
begdate: TDateTimePicker;
enddate: TDateTimePicker;
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
BitBtn2: TBitBtn;
DataSource1: TDataSource;
Query1: TQuery;
Query2: TQuery;
DataSource2: TDataSource;
TabControl1: TTabControl;
endtime: TDateTimePicker;
begtime: TDateTimePicker;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
Label3: TLabel;
Edit1: TEdit;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
Splitter1: TSplitter;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure TabControl1Change(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure DBGrid1TitleClick(Column: TColumn);
procedure N1Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
JZmxcxForm: TJZmxcxForm;
implementation
uses dataproc, jzcx;
{$R *.DFM}
{procedure cxpx(dd:string);
begin
with JZmxcxForm do
begin
query1.Close;
query1.SQL.Clear;
query1.sql.Add('select accno as 帐号,handno as 手号,roomnum 房数,sannum 散座,isnull((roommoney+rmcsmoney+sanmoney+sancsmoney),0) 房费,cusmoney as 消费,jjmoney 加收,mmmoney 免收,ysmoney 实收,ismf 免房费,ismxf 免消费,jztime as 结帐时间,czy as 操作员,');
query1.sql.Add('(select name from mode where code=lsjz.jzfs) as 结帐方式,gzno from lsjz where jztime>=:pbegtime and jztime<:pendtime ');
query1.sql.Add(' order by '+dd );
query1.ParamByName('pbegtime').asstring:=formatdatetime('yyyy-MM-dd',begdate.date)+' '+formatdatetime('hh:mm:ss',begtime.time);
query1.ParamByName('pendtime').asstring:=formatdatetime('yyyy-MM-dd',enddate.date)+' '+formatdatetime('hh:mm:ss',endtime.time);
query1.Prepare;
query1.Open;
tbooleanfield(query1.Fields[9]).displayvalues:='是;否';
tbooleanfield(query1.Fields[10]).displayvalues:='是;否';
end;
end; }
procedure TJZmxcxForm.FormShow(Sender: TObject);
begin
begdate.Datetime:=now-1;
enddate.Datetime:=now;
begtime.time:=strtotime('00:00:00');
endtime.time:=strtotime('23:59:59');
BitBtn1Click(nil);
end;
procedure TJZmxcxForm.BitBtn1Click(Sender: TObject);
var tj:string;
begin
tj:='';
if trim(edit1.Text)<>'' then tj:=' and djcode like ''%''+'''+trim(edit1.Text)+'''';
DataSource1.Tag:=0;
DataSource1.DataSet:=nil;
query1.Close;
query1.SQL.Clear;
query1.sql.Add(' select accno,max(djcode),min(handno),sum(num),(select sexname from lssex where sex=max(lsnowin.sex)) as sex,');
query1.sql.Add(' (select isnull((max(roommoney)+max(rmcsmoney)+max(sanmoney)+max(sancsmoney)),0) from lsjz where lsjz.accno=lsnowin.accno and ysmoney<>0 ) ,');
query1.sql.Add(' sum(csmoney),min(begtime),max(endtime),(select name from mode where code=min(lsnowin.jzfs)) as 结帐方式,max(czy) from lsnowin ');
query1.sql.Add(' where money<>0 and EndTime>=:pbegtime and EndTime<:pendtime '+tj+' group by accno ');
query1.sql.Add(' order by accno');
query1.ParamByName('pbegtime').asstring:=formatdatetime('yyyy-MM-dd',begdate.date)+' '+formatdatetime('hh:mm:ss',begtime.time);
query1.ParamByName('pendtime').asstring:=formatdatetime('yyyy-MM-dd',enddate.date)+' '+formatdatetime('hh:mm:ss',endtime.time);
query1.Prepare;
query1.Open;
DataSource1.DataSet:=query1;
DataSource1.Tag:=1;
// ChineseGrid(DBGrid1);
end;
procedure TJZmxcxForm.TabControl1Change(Sender: TObject);
begin
if TabControl1.Tabs.Count<1 then
begin
query2.Active:=false;
exit;
end;
Query2.Close;
//此 djcode 表示 消费单号
Query2.ParamByName('pdj').asstring:=trim(TabControl1.Tabs[TabControl1.TabIndex]);
Query2.ParamByName('paccno').asstring:=query1.Fieldbyname('accno').asstring;
Query2.Open;
// ChineseGrid(DBGrid2);
tbooleanfield(DBGrid2.Fields[6]).displayvalues:='是;否';
tbooleanfield(DBGrid2.Fields[7]).displayvalues:='是;否';
{ if TabControl1.Tabs.Count<1 then
begin
query2.Active:=false;
exit;
end;
Query2.Close;
//此 djcode 表示 消费单号
Query2.ParamByName('pdj').asstring:=trim(TabControl1.Tabs[TabControl1.TabIndex]);
Query2.ParamByName('paccno').asstring:=query1.Fieldbyname('帐号').asstring;
Query2.Open;
ChineseGrid(DBGrid2); }
end;
procedure TJZmxcxForm.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TJZmxcxForm.DataSource1DataChange(Sender: TObject;
Field: TField);
begin
if (DataSource1.DataSet=nil)then exit; // or (DataSource1.Tag=0)
fm.Query2.Active:=false;
fm.Query2.SQL.Clear;
fm.Query2.SQL.Add(' select DISTINCT djcode from lscustom where accno='''+trim(query1.Fieldbyname('accno').asstring)+'''');
fm.Query2.Open;
TabControl1.Tabs.Clear;
while not fm.Query2.Eof do
begin
TabControl1.Tabs.Add(fm.Query2.Fields[0].asstring);
fm.Query2.Next;
end;
fm.Query2.Close;
fm.Query2.SQL.Clear;
fm.Query2.Active:=false;
TabControl1Change(nil);
end;
procedure TJZmxcxForm.DBGrid1TitleClick(Column: TColumn);
begin
// cxpx(Column.FieldName);
// DataSource1DataChange(nil,nil);
end;
procedure TJZmxcxForm.N1Click(Sender: TObject);
begin
Application.CreateForm(Tjzcxform, jzcxform);
jzcxform.showmodal;
jzcxform.free;
end;
procedure TJZmxcxForm.DBGrid1CellClick(Column: TColumn);
begin
DataSource1DataChange(nil,nil);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -