📄 searchbyinfringeunit.pas
字号:
Unit SearchByInfringeUnit;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, LbSpeedButton, ComCtrls, ExtCtrls, StdCtrls, AAFont, AACtrls,
DB, ADODB, Grids, DBGridEh, RealOneProgressBar, DBCtrls, LbButton;
Type
tSearchByInfringeForm = Class(TForm)
AALabel1: TAALabel;
Panel2: TPanel;
Splitter3: TSplitter;
Splitter2: TSplitter;
Splitter4: TSplitter;
DBGridEH1: TDBGridEh;
DBGridEh2: TDBGridEh;
DBGridEh3: TDBGridEh;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
DataSource2: TDataSource;
ADOQuery2: TADOQuery;
DataSource3: TDataSource;
ADOQuery3: TADOQuery;
Panel1: TPanel;
Splitter1: TSplitter;
Panel3: TPanel;
LbSpeedButton2: TLbSpeedButton;
LbSpeedButton1: TLbSpeedButton;
radiogroup1: TRadioGroup;
RadioGroup2: TRadioGroup;
CheckBox1: TCheckBox;
Panel4: TPanel;
LbSpeedButton3: TLbSpeedButton;
SaveDialog1: TSaveDialog;
DBGridEh4: TDBGridEh;
ADOQuery4: TADOQuery;
DataSource4: TDataSource;
Panel5: TPanel;
AALabel2: TAALabel;
DBMemo1: TDBMemo;
LbButton1: TLbButton;
RealOneBar1: TRealOneProgressBar;
Function GetLeaserName(CoName, CastName: String): String;
Function GetManName(CoName, CastName: String): String;
Procedure AppendLease; //租赁
Procedure AppendMortgage; //拆迁
Procedure AppendStages; //预售
Procedure FlashWYB;
Procedure ClearWYB; //清空违约查询表
Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
Procedure LbSpeedButton2Click(Sender: TObject);
Procedure DBGridEh1CellClick(Column: TColumnEh);
Procedure DBGridEh2CellClick(Column: TColumnEh);
Procedure FormCreate(Sender: TObject);
Procedure ADOQuery1AfterScroll(DataSet: TDataSet);
Procedure ADOQuery2AfterScroll(DataSet: TDataSet);
Procedure LbSpeedButton3Click(Sender: TObject);
Procedure LbButton1Click(Sender: TObject);
Procedure LbSpeedButton1Click(Sender: TObject);
Procedure DBGridEh4DblClick(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
SearchByInfringeForm: tSearchByInfringeForm;
Implementation
Uses DM, PUBFunction, ViewUnitUnit;
{$R *.dfm}
Procedure tSearchByInfringeForm.FormClose(Sender: TObject;
Var Action: TCloseAction);
Begin
ClearWYB;
Application.ProcessMessages;
Action := cafree;
SearchByInfringeForm := Nil;
End;
Procedure tSearchByInfringeForm.LbSpeedButton2Click(Sender: TObject);
Begin
Close;
End;
Procedure tSearchByInfringeForm.DBGridEh1CellClick(Column: TColumnEh);
Begin
With ADOQuery2 Do Begin
sql.Text :=
'select * FROM 项目信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('公司编号').Text + '''';
open;
End;
DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;
Procedure tSearchByInfringeForm.DBGridEh2CellClick(Column: TColumnEh);
Begin
With ADOQuery3 Do Begin
sql.Text :=
'SELECT * from 单体信息表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + '''';
open;
End;
CheckBox1.Caption := '查询整个[' + ADOQuery2.fieldbyname('项目名称').Text +
']项目';
End;
Procedure tSearchByInfringeForm.FormCreate(Sender: TObject);
Begin
ADOQuery1.Active := true;
If ADOQuery1.recordcount > 0 Then
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
Procedure tSearchByInfringeForm.ADOQuery1AfterScroll(DataSet: TDataSet);
Begin
DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;
Procedure tSearchByInfringeForm.ADOQuery2AfterScroll(DataSet: TDataSet);
Begin
DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;
Procedure tSearchByInfringeForm.LbSpeedButton3Click(Sender: TObject);
Begin
SaveDBGridEhToFile(ADOQuery4, DBGridEh4, SaveDialog1);
End;
Procedure tSearchByInfringeForm.ClearWYB;
Var
adotemp : TADOQuery;
Begin
adotemp := TADOQuery.create(self);
With adotemp Do Begin
connection := DM.DataModule2.ADOConnection1;
Close;
sql.Text := 'delete from 违约查询表';
ExecSQL;
Free;
End;
End;
Procedure tSearchByInfringeForm.FlashWYB;
Var
wstr1 : String;
Begin
wstr1 := ' 公司编号=''' + ADOQuery1.fieldbyname('公司编号').Text +
''' AND 项目编号=''' + ADOQuery2.fieldbyname('项目编号').Text + '''';
If Not (CheckBox1.Checked) Then
wstr1 := wstr1 + ' and 幢号=''' + ADOQuery3.fieldbyname('幢号').Text +
'''';
ADOQuery4.Close;
ADOQuery4.sql.Text := 'select * from 违约查询表 where ' + wstr1;
ADOQuery4.open;
End;
Procedure tSearchByInfringeForm.AppendMortgage; //拆迁
Var
adotemp : TADOQuery;
i : integer;
wstr1 : String;
D1, D2 : TDate;
f1, f2 : double;
b, D : Boolean;
SMEMO : String;
Begin
SMEMO := '';
wstr1 := ' 公司编号=''' + ADOQuery1.fieldbyname('公司编号').Text +
''' AND 项目编号=''' + ADOQuery2.fieldbyname('项目编号').Text + '''';
If Not (CheckBox1.Checked) Then
wstr1 := wstr1 + ' and 幢号=''' + ADOQuery3.fieldbyname('幢号').Text +
'''';
wstr1 := wstr1 + ' and 是否过期=FALSE';
ADOQuery4.sql.Text := 'select * from 违约查询表';
ADOQuery4.open;
adotemp := TADOQuery.create(self);
With adotemp Do Begin
connection := DM.DataModule2.ADOConnection1;
sql.Text := 'select * from 单元拆迁还建表 WHERE ' + wstr1;
open;
If recordcount > 0 Then
For i := 0 To recordcount - 1 Do Begin
b := false;
D := false;
If fieldbyname('付款方式').Text = '分期' Then Begin
f1 := fieldbyname('一期款').AsFloat;
f2 := fieldbyname('实际一期款').AsFloat;
If f1 > f2 Then Begin //一期款超额
SMEMO := SMEMO + '一期款欠额:' + FormatFloat('0.##', f1 - f2)
+
'元,';
b := true;
End;
D1 := StrToDateDef(fieldbyname('一期款日期').Text, 0);
D2 := StrToDateDef(fieldbyname('实际一期款日期').Text, 0);
If D2 > D1 Then Begin //一期款超时
D := true;
SMEMO := SMEMO + '一期款超时:' + FormatFloat('##', D2 - D1) +
'天,';
End;
f1 := fieldbyname('二期款').AsFloat;
f2 := fieldbyname('实际二期款').AsFloat;
If f1 > f2 Then Begin
SMEMO := SMEMO + '二期款欠额:' + FormatFloat('0.##', f1 - f2)
+
'元,';
b := true;
End;
D1 := StrToDateDef(fieldbyname('二期款日期').Text, 0);
D2 := StrToDateDef(fieldbyname('实际二期款日期').Text, 9);
If D2 > D1 Then Begin
D := true;
SMEMO := SMEMO + '二期款超时:' + FormatFloat('##', D2 - D1) +
'天,';
End;
f1 := fieldbyname('三期款').AsFloat;
f2 := fieldbyname('实际三期款').AsFloat;
If f1 > f2 Then Begin
b := true;
SMEMO := SMEMO + '三期款欠额:' + FormatFloat('0.##', f1 - f2)
+
'元,';
End;
D1 := StrToDateDef(fieldbyname('三期款日期').Text, 0);
D2 := StrToDateDef(fieldbyname('实际三期款日期').Text, 0);
If D2 > D1 Then Begin
D := true;
SMEMO := SMEMO + '三期款超时:' + FormatFloat('##', D2 - D1) +
'天,';
End;
f1 := fieldbyname('四期款').AsFloat;
f2 := fieldbyname('实际四期款').AsFloat;
If f1 > f2 Then Begin
SMEMO := SMEMO + '四期款欠额:' + FormatFloat('0.##', f1 - f2)
+
'元,';
b := true;
End;
D1 := StrToDateDef(fieldbyname('四期款日期').Text, 0);
D2 := StrToDateDef(fieldbyname('实际四期款日期').Text, 0);
If D2 > D1 Then Begin
D := true;
SMEMO := SMEMO + '四期款超时:' + FormatFloat('##', D2 - D1) +
'天,';
End;
End Else If fieldbyname('付款方式').Text = '按揭' Then Begin
f1 := fieldbyname('合同首付款').AsFloat;
f2 := fieldbyname('实际首付款').AsFloat;
If f1 > f2 Then Begin
b := true;
SMEMO := SMEMO + '实际按揭首付款欠额:' + FormatFloat('0.##',
f1 - f2) + '元,';
End;
D1 := StrToDateDef(fieldbyname('合同约定首付款日期').Text, 0);
D2 := StrToDateDef(fieldbyname('实际首付款日期').Text, 0);
If D2 > D1 Then Begin
D := true;
SMEMO := SMEMO + '实际按揭首付款日期超期' +
FormatFloat('##', D2 - D1) + '天,';
End;
End;
If b Or D Then Begin
ADOQuery4.Append;
ADOQuery4.fieldbyname('公司编号').AsString :=
adotemp.fieldbyname('公司编号').Text;
ADOQuery4.fieldbyname('公司名称').AsString :=
ADOQuery1.fieldbyname('公司名称').Text;
ADOQuery4.fieldbyname('项目编号').AsString :=
adotemp.fieldbyname('项目编号').Text;
ADOQuery4.fieldbyname('项目名称').AsString :=
ADOQuery2.fieldbyname('项目名称').Text;
ADOQuery4.fieldbyname('幢号').AsString :=
adotemp.fieldbyname('幢号').Text;
ADOQuery4.fieldbyname('房号').AsString :=
adotemp.fieldbyname('房号').Text;
If (b And D) Then
ADOQuery4.fieldbyname('违约性质').AsString := '日期+金额'
Else If b Then
ADOQuery4.fieldbyname('违约性质').AsString := '金额'
Else If D Then
ADOQuery4.fieldbyname('违约性质').AsString := '日期';
ADOQuery4.fieldbyname('付款方式').AsString :=
adotemp.fieldbyname('付款方式').Text;
ADOQuery4.fieldbyname('客户编号').AsString :=
adotemp.fieldbyname('客户编号').Text;
ADOQuery4.fieldbyname('客户名称').AsString :=
GetManName(adotemp.fieldbyname('公司编号').Text,
adotemp.fieldbyname('客户编号').Text);
ADOQuery4.fieldbyname('违约信息备注').AsString := SMEMO;
ADOQuery4.fieldbyname('买卖租赁合同号').AsString :=
adotemp.fieldbyname('合同号').Text;
If fieldbyname('付款方式').Text = '分期' Then
ADOQuery4.fieldbyname('按揭合同号').AsString := ''
Else
ADOQuery4.fieldbyname('按揭合同号').AsString :=
adotemp.fieldbyname('按揭合同号').Text;
ADOQuery4.fieldbyname('销售类型').AsString := '拆迁还建';
ADOQuery4.post;
End;
SMEMO := '';
Next;
End;
Free;
End;
End;
Procedure tSearchByInfringeForm.AppendStages; //预售
Var
adotemp : TADOQuery;
i : integer;
wstr1 : String;
D1, D2 : TDate;
f1, f2 : double;
b, D : Boolean;
SMEMO : String;
Begin
SMEMO := '';
wstr1 := ' 公司编号=''' + ADOQuery1.fieldbyname('公司编号').Text +
''' AND 项目编号=''' + ADOQuery2.fieldbyname('项目编号').Text + '''';
If Not (CheckBox1.Checked) Then
wstr1 := wstr1 + ' and 幢号=''' + ADOQuery3.fieldbyname('幢号').Text +
'''';
wstr1 := wstr1 + ' and 是否过期=FALSE';
ADOQuery4.sql.Text := 'select * from 违约查询表';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -