📄 listsellcaseunit.pas
字号:
StaticText26.Caption := HOURSEID;
RealOneProgressBar1.Position := RealOneProgressBar1.Position + 1;
StaticText19.Caption := GetPercentageBySelltype('未售', Houres, HOURSEID);
StaticText27.Caption := HOURSEID;
RealOneProgressBar1.Position := RealOneProgressBar1.Position + 1;
StaticText31.Caption := GetPercentageBySelltype('抵押', Houres, HOURSEID);
StaticText28.Caption := HOURSEID;
RealOneProgressBar1.Position := RealOneProgressBar1.Position + 1;
StaticText32.Caption := GetPercentageBySelltype('拆迁还建', Houres,
HOURSEID);
StaticText33.Caption := HOURSEID;
RealOneProgressBar1.Position := RealOneProgressBar1.Position + 1;
RealOneProgressBar2.Position := RealOneProgressBar2.Position + 1;
//第4步骤完成
MX := 150;
MY := 30;
StringGrid1Click(self);
End;
Function TListSellCaseForm.GetHourseHor: integer;
Var
adotemp : TADOQuery;
Max, temp, i : integer;
sLayer, sroom : String;
Begin
adotemp := TADOQuery.create(self);
Max := 0;
With adotemp Do Begin
connection := DM.DataModule2.ADOConnection1;
sql.Text := 'select 房号 FROM 单元信息表 ';
open;
If recordcount > 0 Then Begin
For i := 0 To recordcount - 1 Do Begin
sroom := splitRoom(fieldbyname('房号').Text, sLayer);
temp := StrToInt(sroom);
If temp > Max Then Max := temp;
Next;
End;
End
Else Begin
Max := 0;
End;
Free;
End;
result := Max;
End;
Procedure TListSellCaseForm.InitRealBar(RBar: TRealOneProgressBar; Max1, Min1,
Pos1: integer);
Begin
With RBar Do Begin
Max := Max1;
Min := Min1;
Position := Pos1;
End;
End;
Procedure TListSellCaseForm.StringGrid1Click(Sender: TObject);
Var
HOURSEID : String;
Begin
With StringGrid1 Do Begin
HOURSEID := (cells[col, row]);
End;
BendLoadDB := false;
With ADOQuery4 Do Begin
sql.Text := 'select * FROM 单元信息表 where 公司编号=''' +
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + ''' and 房号=''' +
HOURSEID + '''';
open;
End;
Application.ProcessMessages;
Panel4.Visible := false;
LbButton2.Enabled := false;
ADOQuery5.Cancel;
ADOQuery5.Close;
With DBText1 Do Begin
If Caption = '预(销)售' Then Begin
Color := cllime;
DBText25.DataField := '';
AALabel28.Visible := false;
AALabel26.Effect.FontEffect.Shadow.Color := clred;
AALabel26.Font.Color := clred;
ADOQuery5.sql.Text := 'select * from 单元预售表 WHERE 公司编号=''' +
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + ''' and 房号=''' +
HOURSEID + ''' AND 付款方式=''按揭''';
ADOQuery5.open;
If ADOQuery5.recordcount > 0 Then Begin
Panel4.Visible := true;
LbButton2.Enabled := true;
ADOQuery5.edit;
End;
End
Else If Caption = '预定' Then
Color := clAqua
Else If Caption = '预留' Then
Color := clYellow
Else If Caption = '未售' Then
Color := clwhite
Else If Caption = '租赁' Then
Color := clFuchsia
Else If Caption = '抵押' Then
Color := clSkyblue
Else If Caption = '拆迁还建' Then Begin
Color := clSilVer;
DBText25.DataField := '补差价';
AALabel26.Font.Color := clblack;
AALabel26.Effect.FontEffect.Shadow.Color := CLBLUE;
AALabel28.Visible := true;
ADOQuery5.sql.Text := 'select * from 单元拆迁还建表 WHERE 公司编号='''
+
ADOQuery1.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号=''' +
ADOQuery3.fieldbyname('幢号').Text + ''' and 房号=''' +
HOURSEID + ''' AND 付款方式=''按揭''';
ADOQuery5.open;
If ADOQuery5.recordcount > 0 Then Begin
Panel4.Visible := true;
LbButton2.Enabled := true;
ADOQuery5.edit;
End;
End;
End;
If Trim(DBText26.Caption) = '' Then Begin
Panel5.Visible := false;
Panel6.Visible := false;
End Else If DBText26.Caption = '商业贷款' Then Begin
Panel5.Visible := true;
Panel6.Visible := false;
DBNumberEditEh5.value := DBNumberEditEh23.value;
DBNumberEditEh3.value := DBNumberEditEh22.value;
DBNumberEditEh5.Enabled := false;
DBNumberEditEh3.Enabled := false;
TabSheet5.Show;
End
Else If DBText26.Caption = '住房公积金贷款' Then Begin
Panel5.Visible := false;
Panel6.Visible := true;
DBNumberEditEh10.value := DBNumberEditEh23.value;
DBNumberEditEh8.value := DBNumberEditEh22.value;
DBNumberEditEh10.Enabled := false;
DBNumberEditEh8.Enabled := false;
TabSheet6.Show;
End Else Begin
Panel5.Visible := true;
Panel6.Visible := true;
DBNumberEditEh8.Enabled := true;
DBNumberEditEh3.Enabled := true;
DBNumberEditEh5.Enabled := true;
DBNumberEditEh10.Enabled := true;
End;
BendLoadDB := true;
DBNumberEditEh5Change(self);
DBNumberEditEh10Change(self);
End;
Procedure TListSellCaseForm.StringGrid1DblClick(Sender: TObject);
Var
HOURSEID : String;
TCOL, TROW : integer;
Begin
//
With StringGrid1 Do Begin
If RowCount = 1 Then Exit;
MouseToCell(MX, MY, TCOL, TROW);
If ((TCOL <> col) And (TROW <> row)) Then Exit;
HOURSEID := StringGrid1.cells[col, row];
If Trim(HOURSEID) = '' Then Exit;
End;
ViewUnitForm := TViewUnitForm.create(self);
ViewUnitForm.Show;
Application.ProcessMessages;
ViewUnitForm.ADOQuery1.RecNo := ListSellCaseForm.ADOQuery1.RecNo;
ViewUnitForm.DBGridEh1CellClick(ViewUnitForm.DBGridEH1.Columns.Items[0]);
ViewUnitForm.ADOQuery2.RecNo := ListSellCaseForm.ADOQuery2.RecNo;
ViewUnitForm.DBGridEh2CellClick(ViewUnitForm.DBGridEh2.Columns.Items[0]);
ViewUnitForm.ADOQuery3.RecNo := ListSellCaseForm.ADOQuery3.RecNo;
ViewUnitForm.ADOQuery4.sql.Text :=
'SELECT * FROM 单元信息表 WHERE 公司编号=''' +
ViewUnitForm.ADOQuery1.fieldbyname('公司编号').Text +
''' and 项目编号=''' +
ViewUnitForm.ADOQuery2.fieldbyname('项目编号').Text + ''' and 幢号='''
+
ViewUnitForm.ADOQuery3.fieldbyname('幢号').Text + ''' AND 房号=''' +
HOURSEID + '''';
ViewUnitForm.ADOQuery4.open;
ViewUnitForm.DBGridEh4CellClick(ViewUnitForm.DBGridEh4.Columns.Items[0]);
ViewUnitForm.LbSpeedButton2.click;
End;
Procedure TListSellCaseForm.DBGridEh3CellClick(Column: TColumnEh);
Begin
If (RealOneProgressBar1.Position < RealOneProgressBar1.Max) And
(RealOneProgressBar1.Position > 0) Then
Exit;
LbSpeedButton1.click;
End;
Procedure TListSellCaseForm.DBNumberEditEh25Change(Sender: TObject);
Var
total, a, b, CS : double;
Begin
If Not ADOQuery5.Active Then Exit;
CS := STRTOFLOATDEF(DBNumberEditEh25.Text, 0);
If (CS < 0) Or (CS > 9) Then Begin
Application.MessageBox('成数必须是1到9 之间的实数!请重新输入!',
'警告!',
MB_ICONERROR);
DBNumberEditEh25.SetFocus;
Exit;
End;
If DBText1.Caption = '预(销)售' Then
total := STRTOFLOATDEF(DBText23.Caption, 0) //合同
Else
total := STRTOFLOATDEF(DBText25.Caption, 0); //补差价
If total = 0 Then Exit;
b := total * CS * 0.1;
a := total - b;
DBNumberEditEh21.value := a;
DBNumberEditEh22.value := b;
If DBText26.Caption = '商业贷款' Then Begin
DBNumberEditEh3.value := b;
End Else If DBText26.Caption = '住房公积金贷款' Then Begin
DBNumberEditEh8.value := b;
End;
End;
Procedure TListSellCaseForm.DBNumberEditEh5Change(Sender: TObject);
Var
lt, ly, lm, ltotal, lt2: integer;
Begin
If Not ADOQuery5.Active Then Exit;
If Not Panel4.Visible Then Exit;
If Not BendLoadDB Then Exit;
ltotal := StrToIntDef(DBNumberEditEh23.Text, 0);
lt := StrToIntDef(DBNumberEditEh5.Text, 0);
ly := lt Div 12;
lm := lt Mod 12;
AALabel36.Caption := IntToStr(ly) + '年' + IntToStr(lm) + '月';
If lt > ltotal Then Begin
Application.MessageBox('商业贷款年限不得大于总按揭贷款年限!',
'警告信息', MB_ICONERROR);
DBNumberEditEh5.SetFocus;
Exit;
End;
lt2 := ltotal - lt;
DBNumberEditEh10.value := lt2;
End;
Procedure TListSellCaseForm.DBNumberEditEh10Change(Sender: TObject);
Var
lt, ly, lm, ltotal, lt2: integer;
Begin
If Not ADOQuery5.Active Then Exit;
If Not Panel4.Visible Then Exit;
If Not BendLoadDB Then Exit;
ltotal := StrToIntDef(DBNumberEditEh23.Text, 0);
lt := StrToIntDef(DBNumberEditEh10.Text, 0);
ly := lt Div 12;
lm := lt Mod 12;
AALabel45.Caption := IntToStr(ly) + '年' + IntToStr(lm) + '月';
If lt > ltotal Then Begin
Application.MessageBox('住房公积金贷款年限不得大于总按揭贷款年限!',
'警告信息', MB_ICONERROR);
DBNumberEditEh10.SetFocus;
Exit;
End;
lt2 := ltotal - lt;
DBNumberEditEh5.value := lt2;
End;
Procedure TListSellCaseForm.LbButton2Click(Sender: TObject);
Begin
If DBText26.Caption = '住房公积金贷款' Then Begin
DBNumberEditEh3.value := 0;
DBNumberEditEh4.value := 0;
DBNumberEditEh5.value := 0;
DBNumberEditEh6.value := 0;
DBNumberEditEh7.value := 0;
End Else If DBText26.Caption = '商业贷款' Then Begin
DBNumberEditEh8.value := 0;
DBNumberEditEh9.value := 0;
DBNumberEditEh10.value := 0;
DBNumberEditEh11.value := 0;
DBNumberEditEh12.value := 0;
End;
If ADOQuery5.Active Then Begin
ADOQuery5.post;
LbButton2.Enabled := false;
End;
End;
Procedure TListSellCaseForm.LbButton1Click(Sender: TObject);
Var
DK1, YL1, YG1, LX1, Months1: double;
Begin
DK1 := STRTOFLOATDEF(DBNumberEditEh3.Text, 0);
YL1 := STRTOFLOATDEF(DBNumberEditEh4.Text, 0) / 1000;
Months1 := StrToIntDef(DBNumberEditEh5.Text, 0);
If (DK1 = 0) Or (YL1 = 0) Or (Months1 = 0) Then Begin
Application.MessageBox('贷款额、月利率、年限'
+ '不能为0!', '提示信息',
mb_OK + MB_ICONERROR);
Exit;
End;
YG1 := roundto(DEBX(DK1, Months1, YL1), -2);
LX1 := roundto(YG1 * Months1 - DK1, -2);
DBNumberEditEh6.value := YG1;
DBNumberEditEh7.value := LX1;
If Not Panel6.Visible Then Begin //商业贷款
DBNumberEditEh1.value := YG1;
DBNumberEditEh2.value := LX1;
End Else
LbButton4.click;
End;
Procedure TListSellCaseForm.LbButton3Click(Sender: TObject);
Var
DK1, YL1, YG1, LX1: double;
Months1 : integer;
Begin
DK1 := STRTOFLOATDEF(DBNumberEditEh8.Text, 0);
YL1 := STRTOFLOATDEF(DBNumberEditEh9.Text, 0) / 1000;
Months1 := StrToIntDef(DBNumberEditEh10.Text, 0);
If (DK1 = 0) Or (YL1 = 0) Or (Months1 = 0) Then Begin
Application.MessageBox('贷款额、月利率、年限'
+ '不能为0!', '提示信息',
mb_OK + MB_ICONERROR);
Exit;
End;
YG1 := roundto(DEBX(DK1, Months1, YL1), -2);
LX1 := roundto(YG1 * Months1 - DK1, -2);
DBNumberEditEh11.value := YG1;
DBNumberEditEh12.value := LX1;
If Not Panel5.Visible Then Begin
DBNumberEditEh1.value := YG1;
DBNumberEditEh2.value := LX1;
End Else
LbButton4.click;
End;
Procedure TListSellCaseForm.DBNumberEditEh3Change(Sender: TObject);
Var
total : double;
DK1, dk2 : double;
Begin
If Not ADOQuery5.Active Then Exit;
If Not BendLoadDB Then Exit;
total := STRTOFLOATDEF(DBNumberEditEh22.Text, 0);
DK1 := STRTOFLOATDEF(DBNumberEditEh3.Text, 0);
If DK1 > total Then Begin
Application.MessageBox('商业贷款额不得大于总按揭贷款额',
'警告信息', MB_ICONERROR);
DBNumberEditEh3.SetFocus;
Exit;
End;
dk2 := total - DK1;
DBNumberEditEh8.value := dk2;
End;
Procedure TListSellCaseForm.DBNumberEditEh8Change(Sender: TObject);
Var
total : double;
DK1, dk2 : double;
Begin
If Not ADOQuery5.Active Then Exit;
If Not BendLoadDB Then Exit;
total := STRTOFLOATDEF(DBNumberEditEh22.Text, 0);
DK1 := STRTOFLOATDEF(DBNumberEditEh8.Text, 0);
If DK1 > total Then Begin
Application.MessageBox('住房公积金贷款额不得大于总按揭贷款额',
'警告信息', MB_ICONERROR);
DBNumberEditEh8.SetFocus;
Exit;
End;
dk2 := total - DK1;
DBNumberEditEh3.value := dk2;
End;
Procedure TListSellCaseForm.LbButton4Click(Sender: TObject);
Var
YG1, YG2, LX1, LX2: double;
Begin
YG1 := STRTOFLOATDEF(DBNumberEditEh6.Text, 0);
LX1 := STRTOFLOATDEF(DBNumberEditEh7.Text, 0);
YG2 := STRTOFLOATDEF(DBNumberEditEh11.Text, 0);
LX2 := STRTOFLOATDEF(DBNumberEditEh12.Text, 0);
DBNumberEditEh1.value := YG1 + YG2;
DBNumberEditEh2.value := LX1 + LX2;
End;
Procedure TListSellCaseForm.LbButton5Click(Sender: TObject);
Var
lt, ly, lm : integer;
Begin
lt := StrToIntDef(DBNumberEditEh23.Text, 0);
ly := lt Div 12;
lm := lt Mod 12;
AALabel118.Caption := IntToStr(ly) + '年' + IntToStr(lm) + '月';
If Not ADOQuery5.Active Then Exit;
If StrToDateDef(DBDateTimeEditEh14.Text, 0) = 0 Then Exit;
DBDateTimeEditEh15.value := PUBFunction.GetNextMonths(
tdatetime(DBDateTimeEditEh14.value), lt);
End;
Procedure TListSellCaseForm.DBNumberEditEh23Change(Sender: TObject);
Var
lt, ly, lm : integer;
Begin
lt := StrToIntDef(DBNumberEditEh23.Text, 0);
ly := lt Div 12;
lm := lt Mod 12;
AALabel118.Caption := IntToStr(ly) + '年' + IntToStr(lm) + '月';
End;
End.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -