finace.pas
来自「一个非常好的桑拿浴管理系统」· PAS 代码 · 共 2,024 行 · 第 1/5 页
PAS
2,024 行
unit finace;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, ComCtrls, StdCtrls, Buttons, Grids, DBGrids, ADODB, DB,
QuickRpt;
type
Tfm_finace = class(TForm)
pal_finace: TPanel;
Label1: TLabel;
Label2: TLabel;
DateTimePicker3: TDateTimePicker;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
LabeledEdit5: TLabeledEdit;
pac_finace: TPageControl;
TabSheet4: TTabSheet;
LabeledEdit4: TLabeledEdit;
BitBtn19: TBitBtn;
SGWPMX: TStringGrid;
TabSheet5: TTabSheet;
LabeledEdit1: TLabeledEdit;
BitBtn3: TBitBtn;
SGFWMX: TStringGrid;
TabSheet6: TTabSheet;
LabeledEdit3: TLabeledEdit;
LabeledEdit2: TLabeledEdit;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
SGYP: TStringGrid;
SGLSP: TStringGrid;
tbs_bgx_mx: TTabSheet;
LabeledEdit6: TLabeledEdit;
BitBtn7: TBitBtn;
SGCSXMX: TStringGrid;
TabSheet1: TTabSheet;
GroupBox1: TGroupBox;
BitBtn8: TBitBtn;
SGQTSF: TStringGrid;
GroupBox2: TGroupBox;
Label4: TLabel;
cbx_user: TComboBox;
BitBtn9: TBitBtn;
TabSheet2: TTabSheet;
SGLSMX: TStringGrid;
BitBtn12: TBitBtn;
TabSheet3: TTabSheet;
BitBtn10: TBitBtn;
SGRTJ: TStringGrid;
TabSheet7: TTabSheet;
Label3: TLabel;
SGSZFW: TStringGrid;
cbx_fkc_name: TComboBox;
SGSZWP: TStringGrid;
BitBtn11: TBitBtn;
BtnCX: TBitBtn;
aqr_sys: TADOQuery;
acmd_sys: TADOCommand;
Label5: TLabel;
SGSZXY: TStringGrid;
CoxID: TComboBox;
LabeledEdit7: TLabeledEdit;
TabSheet8: TTabSheet;
SGFLTJ: TStringGrid;
BitBtn1: TBitBtn;
Label6: TLabel;
pc_js_list: TPageControl;
tbs_js_singleList: TTabSheet;
SGGRSF: TStringGrid;
tbs_js_groupList: TTabSheet;
SGGRSFNO: TStringGrid;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure BtnCXClick(Sender: TObject);
procedure BitBtn19Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn7Click(Sender: TObject);
procedure BitBtn8Click(Sender: TObject);
procedure BitBtn9Click(Sender: TObject);
procedure BitBtn12Click(Sender: TObject);
procedure BitBtn10Click(Sender: TObject);
procedure BitBtn11Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SGWPMXDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGFWMXDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGLSPDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGYPDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGCSXMXDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGQTSFDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGGRSFDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGGRSFNODrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGLSMXDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGRTJDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGSZFWDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure SGSZWPDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure DateTimePicker2Change(Sender: TObject);
procedure SGSZXYDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure DateTimePicker4Change(Sender: TObject);
procedure DateTimePicker3Change(Sender: TObject);
procedure cbx_userChange(Sender: TObject);
procedure SGFLTJDrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
procedure BitBtn1Click(Sender: TObject);
procedure CoxIDChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure FRM_HEJIZG ;
end;
var
fm_finace: Tfm_finace;
implementation
uses Glovproc, Main, DataModule,f_FrmWPMXR,f_FrmFWMXR,f_FrmSGLSPR,f_FrmSGYPR,f_FrmCSXMXR,f_FrmSGQTSFR,f_FrmSGGRSFR,f_FrmLSMXR,f_FrmSGRTJR,f_FrmSGSZWPR,f_FrmSGSZFWR,f_FrmSGSZXYR,
pub,f_FrmSGFLTJR,f_FrmSGGRSFNOR;
{$R *.dfm}
{----------------------------------自定义procedure ------------------------------------}
procedure Tfm_finace.FRM_HEJIZG ;
var
StartDT,EndDT: Tdatetime ; //查询开始和结束时间。
Rt1,Rt2,Rt3,Rt4,Rt5,Rt6,Rt7,Rt8,Rt9,Result : real;
begin
if (datetimepicker1.Checked=true) and (datetimepicker2.Checked=true) then
begin
StartDT:= strtodatetime(formatDatetime('yyyy-mm-dd',DateTimePicker1.date )+ ' ' +formatDatetime('hh:nn:ss',DateTimePicker3.datetime));
EndDT:= strtodatetime(formatDatetime('yyyy-mm-dd',DateTimePicker2.date )+ ' ' +formatDatetime('hh:nn:ss',DateTimePicker4.datetime));
if datetimepicker1.Date>datetimepicker2.Date then
begin
showmessage('查询开始日期不能大于查询结束日期!');
datetimepicker1.SetFocus;
exit;
end;
end
else if (datetimepicker1.Checked=true) and (datetimepicker2.Checked=false) and (datetimepicker3.Checked=false) then
begin
StartDT:= strtodatetime(formatDatetime('yyyy-mm-dd',DateTimePicker1.date)+' '+ '00:00:00');
EndDT:= strtodatetime(formatDatetime('yyyy-mm-dd',DateTimePicker1.date)+' '+ '23:59:59');
end;
if (datetimepicker1.Checked=true) and (datetimepicker2.Checked=true) and (datetimepicker3.Checked=false) then
begin
StartDT:= strtodatetime(formatDatetime('yyyy-mm-dd',DateTimePicker1.date)+' '+ '00:00:00');
EndDT:= strtodatetime(formatDatetime('yyyy-mm-dd',DateTimePicker2.date)+' '+ '23:59:59');
end;
with aqr_sys do
begin
Rt1 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(arre_ware_total) arre_ware_total');
SQL.Add(' FROM sny_arrearage_consume');
SQL.Add(' where arre_checkout_time>=:StartDT and arre_checkout_time<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt1 := FieldByName('arre_ware_total').AsFloat;
end ;
with aqr_sys do
begin
Rt2 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(arre_price) arre_price');
SQL.Add(' FROM sny_arrearage_reg');
SQL.Add(' where arre_reg_time_out>=:StartDT and arre_reg_time_out<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt2 := FieldByName('arre_price').AsFloat;
end ;
with aqr_sys do
begin
Rt3 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(arre_ser_price) arre_ser_price');
SQL.Add(' FROM sny_arrearage_service');
SQL.Add(' where arre_end_time>=:StartDT and arre_end_time<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt3 := FieldByName('arre_ser_price').AsFloat;
end ;
with aqr_sys do
begin
Rt4 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(box_lprice) box_lprice');
SQL.Add(' FROM sny_box_ldetail');
SQL.Add(' where box_lend>=:StartDT and box_lend<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt4 := FieldByName('box_lprice').AsFloat;
end ;
with aqr_sys do
begin
Rt5 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(commticket_price) commticket_price');
SQL.Add(' FROM sny_commticket');
SQL.Add(' where comm_selltime>=:StartDT and comm_selltime<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt5 := FieldByName('commticket_price').AsFloat;
end ;
with aqr_sys do
begin
Rt6 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(cons_total) cons_total');
SQL.Add(' FROM sny_consume');
SQL.Add(' where cons_check_time>=:StartDT and cons_check_time<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt6 := FieldByName('cons_total').AsFloat;
end ;
with aqr_sys do
begin
Rt7 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(det_total) det_total');
SQL.Add(' FROM sny_detail');
SQL.Add(' where det_sell_time>=:StartDT and det_sell_time<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt7 := FieldByName('det_total').AsFloat;
end ;
with aqr_sys do
begin
Rt8 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(reg_real_price) reg_real_price');
SQL.Add(' FROM sny_reg');
SQL.Add(' where reg_time_out>=:StartDT and reg_time_out<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt8 := FieldByName('reg_real_price').AsFloat;
end;
with aqr_sys do
begin
Rt9 := 0 ;
Close ;
SQL.Clear ;
//
SQL.Add(' SELECT Sum(ser_total) ser_total');
SQL.Add(' FROM sny_serve');
SQL.Add(' where ser_end_time>=:StartDT and ser_end_time<=:EndDT');
Parameters.ParamByName('StartDT').Value := StartDT;
Parameters.ParamByName('EndDT').Value := EndDT;
Open ;
if IsEmpty then
Exit;
Rt9 := FieldByName('ser_total').AsFloat;
end ;
Result := Rt1 + Rt2 + Rt3 + Rt4 + Rt5 + Rt6 + Rt7 + Rt8 + Rt9 ;
LabeledEdit5.Text := FormatFloat('0.00',Result);
end;
{----------------------------------procedure END------------------------------------}
//关闭窗口
procedure Tfm_finace.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := Cafree ;
end;
procedure Tfm_finace.FormCreate(Sender: TObject);
begin
//给StringGrid赋标题
with SGWPMX do //物品明细
begin
cells[0,0]:='物品名称' ;
cells[1,0]:='单价' ;
cells[2,0]:='数量' ;
cells[3,0]:='总额' ;
//cells[4,0]:='结算时间' ;
end;
with SGFWMX do //服务明细
begin
cells[0,0]:='服务名称' ;
cells[1,0]:='单价' ;
cells[2,0]:='数量' ;
cells[3,0]:='总额' ;
//cells[4,0]:='结算时间' ;
end;
with SGLSP do //票明细 (临售票)
begin
cells[0,0]:='票种类' ;
cells[1,0]:='单价' ;
cells[2,0]:='数量' ;
cells[3,0]:='总额' ;
//cells[4,0]:='结算时间' ;
end;
with SGYP do //票明细 (月票)
begin
cells[0,0]:='月票种类' ;
cells[1,0]:='单价' ;
cells[2,0]:='数量' ;
cells[3,0]:='总额' ;
//cells[4,0]:='结算时间' ;
end;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?