📄 monthreport.~pa
字号:
unit MonthReport;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Spin;
type
TfrmMonthRep = class(TForm)
Label11: TLabel;
GroupBox1: TGroupBox;
Label24: TLabel;
Label25: TLabel;
Label26: TLabel;
cmdCacu: TButton;
txtBeginYear: TSpinEdit;
txtBeginMonth: TSpinEdit;
Panel1: TPanel;
Label1: TLabel;
Label5: TLabel;
Label6: TLabel;
Label2: TLabel;
Label4: TLabel;
txtPawnNum: TEdit;
txtPawnMoney: TEdit;
txtRepawnNum: TEdit;
txtRepawnMoney: TEdit;
txtRansomNum: TEdit;
txtRansomMoney: TEdit;
Panel2: TPanel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label13: TLabel;
txtLastMonth: TEdit;
txtGotCash: TEdit;
txtPayCash: TEdit;
txtMonth: TEdit;
txtPawnGot: TEdit;
cmdExit: TButton;
Label3: TLabel;
txtDeadPawnNum: TEdit;
txtDeadPawnMoney: TEdit;
txtBeginDay: TSpinEdit;
Panel3: TPanel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
txtPreMoney: TEdit;
txtNowMoney: TEdit;
procedure cmdCacuClick(Sender: TObject);
procedure cmdExitClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
procedure ShowReport(NowDate,NextDate:TDateTime);
public
{ Public declarations }
end;
var
frmMonthRep: TfrmMonthRep;
implementation
uses dmPawn, GlobalVar;
{$R *.DFM}
procedure TfrmMonthRep.ShowReport(NowDate,NextDate:TDateTime);
var
Sql:string;
PawnMoney:Double;
GotMoney:Double;
begin
with dmPawnFrm do
begin
//统计当月典当的笔数、金额
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
Sql:='SELECT h1.TotalPawnMoney FROM PHHistory_Tbl AS h ';
Sql:=Sql+'INNER JOIN PawnHead_Tbl AS h1 ';
Sql:=Sql+'ON h.PawnTicketCode=h1.PawnTicketCode ';
Sql:=Sql+ 'WHERE True and h.CreateDate>=:NowDate and h.CreateDate<=:NextDate ';
//Sql:=Sql+'and h.CreateDate<>h.ModifyDateTime ';
Sql:=Sql+ 'and h.PrePawnTicketCode='''' ';
Sql:=Sql+ 'and h.Status=''未赎'' ';
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('NowDate').asDateTime:=NowDate;
dqHeadUn.ParamByName('NextDate').asDateTime:=NextDate;
//dqHeadUn.ParamByName('Code').asstring:='null';
dqHeadUn.Open;
PawnMoney:=0;
if dqHeadUn.IsEmpty=False then
begin
txtPawnNum.Text:=inttostr(dqHeadUn.RecordCount);
dqHeadUn.First;
while not dqHeadUn.Eof do
begin
PawnMoney:=PawnMoney+dqHeadUn.fieldbyName('TotalPawnMoney').Value;
dqHeadUn.Next;
end;
end
else
begin
txtPawnNum.Text:='0';
end;
txtPawnMoney.Text:=format('%12.1f',[PawnMoney]);
//统计当月续当的笔数、金额
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
Sql:='SELECT h.PawnBeginDate,h1.PawnEndDate,h1.TotalPawnMoney FROM PHHistory_Tbl AS h ';
Sql:=Sql+'INNER JOIN PawnHead_Tbl AS h1 ';
Sql:=Sql+'ON h.PawnTicketCode=h1.PawnTicketCode ';
Sql:=Sql+ 'WHERE True and h.CreateDate>=:NowDate and h.CreateDate<=:NextDate ';
//Sql:=Sql+'and h.CreateDate<>h.ModifyDateTime ';
Sql:=Sql+ 'and h.PrePawnTicketCode<>'''' ';
Sql:=Sql+ 'and h.Status=''未赎'' ';
//Sql:=Sql+' and h.PawnEndDate>=:NowDate ';
//Sql:=Sql+'and h.PawnBeginDate<=h1.PawnEndDate ';
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('NowDate').asDateTime:=NowDate;
dqHeadUn.ParamByName('NextDate').asDateTime:=NextDate;
//dqHeadUn.ParamByName('Code').asstring:='';
dqHeadUn.Open;
PawnMoney:=0;
if dqHeadUn.IsEmpty=False then
begin
txtRepawnNum.Text:=inttostr(dqHeadUn.RecordCount);
dqHeadUn.First;
while not dqHeadUn.Eof do
begin
PawnMoney:=PawnMoney+dqHeadUn.fieldbyName('TotalPawnMoney').Value;
dqHeadUn.Next;
end;
end
else
txtRepawnNum.Text:='0';
txtRepawnMoney.Text:=format('%12.1f',[PawnMoney]);
{//统计逾期续当的笔数、金额
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
Sql:='SELECT h.PawnBeginDate,h1.PawnEndDate,h.TotalPawnMoney FROM PHHistory_Tbl AS h ';
Sql:=Sql+'INNER JOIN PawnHead_Tbl AS h1 ';
Sql:=Sql+'ON h.PrePawnTicketCode=h1.PawnTicketCode ';
Sql:=Sql+'WHERE True and h.CreateDate=:NowDate ';
Sql:=Sql+'and h.PawnBeginDate>h1.PawnEndDate ';
//Sql:=Sql+'and h.CreateDate<>h.ModifyDateTime ';
//Sql:=Sql+'and h.PawnBeginDate<NowDate ';//and h1.PawnEndDate<:NowToTen) ';
Sql:=Sql+ 'and h.Status=''未赎'' ';
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('NowDate').asDateTime:=NowDate;
//dqHeadUn.ParamByName('Code').asstring:='';
//dqHeadUn.ParamByName('NowToTen').asDateTime:=NowToTen;
dqHeadUn.Open;
PawnMoney:=0;
if dqHeadUn.IsEmpty=False then
begin
self.txtOutRePNum.Text:=inttostr(dqHeadUn.RecordCount);
dqHeadUn.First;
while not dqHeadUn.Eof do
begin
PawnMoney:=PawnMoney+dqHeadUn.fieldbyName('TotalPawnMoney').Value;
dqHeadUn.Next;
end;
end
else
begin
txtOutRePNum.Text:='0';
end;
self.txtOutRePMoney.Text:=format('%10.1f',[PawnMoney]);}
//统计赎回的笔数、金额
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
Sql:='select TotalPawnMoney from PawnHead_Tbl where True ';
Sql:=Sql+ 'and Status=:Status ';
Sql:=Sql+'and CreateDate>=:NowDate and CreateDate<=:NextDate '; // and PawnEndDate>:NowToTen ';
//Sql:=Sql+'and PawnEndDate>=:NowDate ';
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('NowDate').asDateTime:=NowDate;
dqHeadUn.ParamByName('NextDate').asDateTime:=NextDate;
dqHeadUn.ParamByName('Status').asstring:='赎回';
//dqHeadUn.ParamByName('NowToTen').asDateTime:=NowToTen;
dqHeadUn.Open;
PawnMoney:=0;
if dqHeadUn.IsEmpty=False then
begin
self.txtRansomNum.Text:=inttostr(dqHeadUn.RecordCount);
dqHeadUn.First;
while not dqHeadUn.Eof do
begin
PawnMoney:=PawnMoney+dqHeadUn.fieldbyName('TotalPawnMoney').Value;
dqHeadUn.Next;
end;
end
else
begin
txtRansomNum.Text:='0';
end;
self.txtRansomMoney.Text:=format('%12.1f',[PawnMoney]);
//统计绝当的笔数、金额
dqHeadUn.Close;
dqHeadUn.SQL.Clear;
Sql:='select TotalPawnMoney from PawnHead_Tbl where True ';
Sql:=Sql+'and Status=''绝当'' ';
Sql:=Sql+'and CreateDate>=:NowDate and CreateDate<=:NextDate ';
dqHeadUn.SQL.Add(Sql);
dqHeadUn.ParamByName('NowDate').asDateTime:=NowDate;
dqHeadUn.ParamByName('NextDate').asDateTime:=NextDate;
dqHeadUn.Open;
PawnMoney:=0;
if dqHeadUn.IsEmpty=False then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -