📄 searchbyinfringeunit.pas
字号:
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;
Function tSearchByInfringeForm.GetManName(CoName,
CastName: String): String;
Var
adotemp : TADOQuery;
Begin
adotemp := TADOQuery.create(self);
With adotemp Do Begin
connection := DM.DataModule2.ADOConnection1;
sql.Text := 'select 姓名 FROM 客户信息表 WHERE 公司编号='''
+ CoName + ''' AND 客户编号=''' + CastName + '''';
open;
If recordcount > 0 Then
result := fieldbyname('姓名').Text
Else
result := '';
Free;
End;
End;
Procedure tSearchByInfringeForm.LbButton1Click(Sender: TObject);
Begin
ClearWYB;
RealOneBar1.Position := 0;
AppendMortgage;
RealOneBar1.Position := RealOneBar1.Position + 1;
AppendStages;
RealOneBar1.Position := RealOneBar1.Position + 1;
AppendLease;
RealOneBar1.Position := RealOneBar1.Position + 1;
End;
Procedure tSearchByInfringeForm.LbSpeedButton1Click(Sender: TObject);
Var
wstr1, wstr2 : String;
Begin
ADOQuery4.sql.Text := 'SELECT * FROM 违约查询表';
ADOQuery4.open;
If ADOQuery4.recordcount = 0 Then Begin
Application.MessageBox('违约表为空!请先按[重新生成违约表]按钮生成违约表!', '错误警告', MB_ICONERROR);
Exit;
End;
Case radiogroup1.ItemIndex Of
0: wstr1 := '销售类型=''预(销)售''';
1: wstr1 := '销售类型=''拆迁还建''';
2: wstr1 := '销售类型=''租赁''';
3: wstr1 := '';
End;
Case RadioGroup2.ItemIndex Of
0: wstr2 := '违约性质=''金额''';
1: wstr2 := '违约性质=''日期''';
2: wstr2 := '违约性质=''日期+金额''';
End;
With ADOQuery4 Do Begin
sql.Text := 'SELECT * FROM 违约查询表 WHERE ' + wstr2;
If wstr1 <> '' Then sql.Text := sql.Text + ' and ' + wstr1;
open;
End;
End;
Procedure tSearchByInfringeForm.AppendLease; //租赁
Var
adotemp : TADOQuery;
i : integer;
SMEMO, wstr1 : String;
b, D : Boolean;
f1 : double;
D1 : double;
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;
f1 := fieldbyname('未交租金').AsFloat;
If f1 > 0 Then Begin
SMEMO := SMEMO + '租金欠额累计:' + FormatFloat('0.##', f1) +
'元,';
b := true;
End;
D1 := fieldbyname('租房超期').AsFloat;
If D1 > 0 Then Begin
SMEMO := SMEMO + '租期超期累计:' + FormatFloat('0.##', D1) +
'天';
D := true;
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 := '';
ADOQuery4.fieldbyname('客户编号').AsString :=
adotemp.fieldbyname('出租户编号').Text;
ADOQuery4.fieldbyname('客户名称').AsString :=
GetLeaserName(adotemp.fieldbyname('公司编号').Text,
adotemp.fieldbyname('出租户编号').Text);
ADOQuery4.fieldbyname('违约信息备注').AsString := SMEMO;
ADOQuery4.fieldbyname('买卖租赁合同号').AsString :=
adotemp.fieldbyname('租赁合同号').Text;
ADOQuery4.fieldbyname('按揭合同号').AsString := '';
ADOQuery4.fieldbyname('销售类型').AsString := '租赁';
ADOQuery4.post;
End;
SMEMO := '';
Next;
End;
Free;
End;
End;
Procedure tSearchByInfringeForm.DBGridEh4DblClick(Sender: TObject);
Begin
If ADOQuery4.Active = false Then Exit;
If ADOQuery4.recordcount = 0 Then Exit;
ViewUnitForm := TViewUnitForm.create(self);
ViewUnitForm.Show;
Application.ProcessMessages;
ViewUnitForm.ADOQuery1.RecNo := SearchByInfringeForm.ADOQuery1.RecNo;
ViewUnitForm.DBGridEh1CellClick(ViewUnitForm.DBGridEH1.Columns.Items[0]);
ViewUnitForm.ADOQuery2.RecNo := SearchByInfringeForm.ADOQuery2.RecNo;
ViewUnitForm.DBGridEh2CellClick(ViewUnitForm.DBGridEh2.Columns.Items[0]);
ViewUnitForm.ADOQuery3.RecNo := SearchByInfringeForm.ADOQuery3.RecNo;
ViewUnitForm.ADOQuery4.sql.Text :=
'SELECT * FROM 单元信息表 WHERE 公司编号=''' +
ViewUnitForm.ADOQuery1.fieldbyname('公司编号').Text +
''' and 项目编号=''' +
ViewUnitForm.ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号='''
+
ViewUnitForm.ADOQuery3.fieldbyname('幢号').Text + ''' AND 房号=''' +
ADOQuery4.fieldbyname('房号').Text + '''';
ViewUnitForm.ADOQuery4.open;
ViewUnitForm.DBGridEh4CellClick(ViewUnitForm.DBGridEh4.Columns.Items[0]);
ViewUnitForm.LbSpeedButton2.click;
End;
Function tSearchByInfringeForm.GetLeaserName(CoName,
CastName: String): String;
Var
adotemp : TADOQuery;
Begin
adotemp := TADOQuery.create(self);
With adotemp Do Begin
connection := DM.DataModule2.ADOConnection1;
sql.Text := 'select 姓名 FROM 租户信息表 WHERE 公司编号='''
+ CoName + ''' AND 出租户编号=''' + CastName + '''';
open;
If recordcount > 0 Then
result := fieldbyname('姓名').Text
Else
result := '';
Free;
End;
End;
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -