⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listsellcaseunit.pas

📁 短小而实用的房地产销售管理软件
💻 PAS
📖 第 1 页 / 共 2 页
字号:
   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 + -