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

📄 searchbyinfringeunit.pas

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