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

📄 realtyc341.pas

📁 物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、各分公司、各物业管理处连接到一起
💻 PAS
字号:
unit RealtyC341;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, dbcgrids, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, ExtCtrls,
  StrUtils, ExtDlgs, ComCtrls, math, Menus, ImgList, ToolWin;

type
    Tf_RealtyC341 = class(TForm)
    L1: TLabel;
    L2: TLabel;
    L3: TLabel;
    Label2: TLabel;
    Label10: TLabel;
    Edit1: TEdit;
    Edit3: TEdit;
    Label1: TLabel;
    Label5: TLabel;
    datetimepicker1: TDateTimePicker;
    Button5: TButton;
    Button7: TButton;
    Button1: TButton;
    Label3: TLabel;
    Edit7: TEdit;
    Label4: TLabel;
    Edit5: TEdit;
    Button2: TButton;
    Edit2: TEdit;
    Edit6: TEdit;
    Edit4: TEdit;
    Label12: TLabel;
    DateTimePicker2: TDateTimePicker;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure NN6Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure GetID;
    procedure Button2Click(Sender: TObject);
    procedure Edit3Exit(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
       bOK:bool;
  end;

var
  f_RealtyC341: Tf_RealtyC341;
  sNum:string;

implementation

uses data, main, RealtyC34,RealtyC32,RealtyA11;

{$R *.dfm}

procedure Tf_RealtyC341.FormCreate(Sender: TObject);
var
     query,query1:TADOquery;
     s,stemp,rr:string;
     i:integer;
begin
    If f_RealtyC34.bMod = false Then
    begin
        datetimepicker1.date:=date;
        datetimepicker2.date:=date;
        getId;
    end;

    If f_RealtyC34.bMod = True Then
    begin
        query:=TADOQuery.Create(nil);
        query.Connection:=DataModuleADO.ADOConnection1;

        s:='select * from 管理区公摊抄表 where 编号='''+f_RealtyC34.ListView1.Selected.SubItems[8]+'''';

        query.sql.clear;
        query.sql.add(s);
        query.Open;
        if query.RecordCount>0 then
        begin
            edit1.Text:=query.fieldbyname('公摊仪表').Value;
            datetimepicker1.Date:=strtodate(query.fieldbyname('读数日期').Value);
            Edit6.Text:=query.fieldbyname('上次读数日期').Value;
            edit2.Text:=query.fieldbyname('上次读数').Value;
            edit3.Text:=query.fieldbyname('本次读数').Value;
            edit4.Text:=query.fieldbyname('实际行度').Value;
            edit5.Text:=query.fieldbyname('管理区').Value+'--'+mainform.getName('管理区',query.fieldbyname('管理区').Value);
            edit7.Text:=query.fieldbyname('编号').Value;
            rr:=query.fieldbyname('抄表月份').value+'-01';
            datetimepicker2.Date:=strtodate(rr);
            if  query.fieldbyname('审核').Value='Y' then Button7.Enabled:=false;
        end;
        query.Close;
        query.free;
    end;

end;

//Tab
procedure Tf_RealtyC341.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
    if key=13 then
        Begin
            key:=0;
            perform(WM_NEXTDLGCTL,0,0);
        end
    else if key=VK_ESCAPE then close;
end;


procedure Tf_RealtyC341.ToolButton10Click(Sender: TObject);
begin
    NN6Click(Sender);
end;

procedure Tf_RealtyC341.NN6Click(Sender: TObject);
begin
    close;
end;


procedure Tf_RealtyC341.Button7Click(Sender: TObject);
Var
    query,query1:TADOQuery;
    s,s1,stemp,rr:String;
    i:integer;
    d1,d2:double;
begin
    rr:=copy(datetostr(datetimepicker2.date),1,7);
    if edit1.Text='' then
    begin
         showmessage('请输入公摊仪表!');
         edit1.SetFocus;
         exit;
    end;

    if edit5.Text='' then
    begin
         showmessage('请输入管理区!');
         edit5.SetFocus;
         exit;
    end;

    edit2.Text:=mainform.StdDou2(edit2.text);
    edit3.Text:=mainform.StdDou2(edit3.text);
    edit4.Text:=mainform.StdDou2(edit4.text);

    Edit3Exit(Sender);

    query:=TADOQuery.Create(nil);
    query.Connection:=DataModuleADO.ADOConnection1;
    query1:=TADOQuery.Create(nil);
    query1.Connection:=DataModuleADO.ADOConnection1;

    if f_RealtyC34.bMod=true then
    begin

        s:='update 管理区公摊抄表 set 公摊仪表='''+edit1.Text;
        s:=s+''',读数日期='''+datetostr(datetimepicker1.date);
        s:=s+''',上次读数日期='''+edit6.Text;
        s:=s+''',管理区='''+mainform.getNum(Edit5.Text);
        s:=s+''',上次读数='+edit2.Text;
        s:=s+',本次读数='+edit3.Text;
        s:=s+',实际行度='+edit4.Text;
        s:=s+',抄表月份='''+copy(datetostr(datetimepicker2.Date),1,7);
        s:=s+''' where 编号='''+f_RealtyC34.ListView1.Selected.SubItems[8]+'''';

        query.SQL.Clear;
        query.sql.Add(s);
        DataModuleADO.ADOConnection1.BeginTrans;
        query.ExecSQL;
        DataModuleADO.ADOConnection1.CommitTrans;

        s:='select * from 管理区公摊抄表 where  编号= '''+edit7.Text+'''';
        query.sql.clear;
        query.sql.add(s);
        query.Open;
        if query.RecordCount>0 then
        begin
            s:='select * from 公摊仪表 where 编号 ='''+Query.FieldByName('公摊仪表').Value;
            s:=s+'''';

            query1.SQL.Clear;
            Query1.SQL.Add(s);
            Query1.Open ;
            if query1.RecordCount>0 then  s1:= Query1.FieldByName('总表').Value;

            with f_RealtyC34.ListView1.Selected do
            begin
                Caption:=Query.FieldByName('公摊仪表').Value;
                SubItems[0]:=s1;
                SubItems[1]:=Query.FieldByName('读数日期').Value;
                SubItems[2]:=Query.FieldByName('上次读数日期').Value;
                SubItems[3]:=Query.FieldByName('上次读数').Value;
                SubItems[4]:=Query.FieldByName('本次读数').Value;
                SubItems[5]:=Query.FieldByName('实际行度').Value;
                SubItems[6]:=Query.FieldByName('是否分摊').Value;
                SubItems[7]:=mainform.getName('管理区',Query.FieldByName('管理区').Value);
                SubItems[8]:=Query.FieldByName('编号').Value;
                SubItems[9]:=Query.FieldByName('抄表月份').Value;
            end;
        end;
        query1.close;
        query1.free;
        query.close;
        query.free;
        close;
    end
    else
    begin
        s:='select * from 管理区公摊抄表 where 编号 = '''+edit7.Text+'''';
        query.SQL.Add(s);
        query.Open;
        if query.RecordCount>0 then
        begin
            showmessage('名称重复!,请重新输入!');
            edit7.SetFocus;
            exit;
        end;

        d1:=strtofloat(edit2.Text);
        d2:=strtofloat(edit3.Text);

        s:='insert into  管理区公摊抄表(编号,公摊仪表,读数日期,';
        s:=s+'上次读数日期,上次读数,本次读数,';
        s:=s+'实际行度,管理区,是否分摊,审核,抄表月份)';
        s:=s+' Values(:s1,:s2,:s3,:s4,:s5,';
        s:=s+':s6,:s7,:s8,:s9,:s10,:s11)';

        query.SQL.Clear;
        query.SQL.Add(s);


        query.Parameters.ParamByName('s1').Value:=edit7.Text;
        query.Parameters.ParamByName('s2').Value:=edit1.text;
        query.Parameters.ParamByName('s3').Value:=datetostr(datetimepicker1.Date);

        query.Parameters.ParamByName('s4').Value:=edit6.text;
        query.Parameters.ParamByName('s5').Value:=strtofloat(edit2.Text);
        query.Parameters.ParamByName('s6').Value:=strtofloat(edit3.Text);
        query.Parameters.ParamByName('s7').Value:=strtofloat(edit4.Text);
        query.Parameters.ParamByName('s8').Value:=mainform.getNum(Edit5.Text);
        query.Parameters.ParamByName('s9').Value:='Y';
        query.Parameters.ParamByName('s10').Value:='N';
        query.Parameters.ParamByName('s11').Value:=copy(datetostr(datetimepicker2.Date),1,7);

        DataModuleADO.ADOConnection1.BeginTrans;
        query.ExecSQL;
        DataModuleADO.ADOConnection1.CommitTrans;

        showmessage('保存成功');

        s:='select * from 管理区公摊抄表 where  编号 =  '''+edit7.Text+'''';
        query.sql.clear;
        query.sql.add(s);
        query.Open;
        if query.RecordCount>0 then
        begin
            s:='select * from 公摊仪表 where 编号 ='''+Query.FieldByName('公摊仪表').Value;
            s:=s+'''';

            query1.SQL.Clear;
            Query1.SQL.Add(s);
            Query1.Open ;
            if query1.RecordCount>0 then  s1:= Query1.FieldByName('总表').Value;

           with f_RealtyC34.ListView1.Items.Add do
           begin
              Caption:=Query.FieldByName('公摊仪表').Value;
              SubItems.Add(s1);
              SubItems.Add(Query.FieldByName('读数日期').Value);
              SubItems.Add(Query.FieldByName('上次读数日期').Value);
              SubItems.Add(Query.FieldByName('上次读数').Value);
              SubItems.Add(Query.FieldByName('本次读数').Value);
              SubItems.Add(Query.FieldByName('实际行度').Value);
              SubItems.Add(Query.FieldByName('是否分摊').Value);
              SubItems.Add(mainform.getName('管理区',Query.FieldByName('管理区').Value));
              SubItems.Add(Query.FieldByName('编号').Value);
              SubItems.Add(Query.FieldByName('抄表月份').Value);
          end;
        end;
        query1.Close;
        query1.Free;
        query.Close;
        query.Free;
        if f_RealtyC34.listview1.Items.Count > 0 then f_RealtyC34.ListView1.Items.Item[0].Selected := True;


        edit1.text:='';
        edit2.text:='';
        edit3.text:='';
        edit4.text:='';
        edit5.text:='';
        edit6.text:='';
        getid;
        datetimepicker1.date:=date;

    end;
end;

procedure Tf_RealtyC341.Button5Click(Sender: TObject);
begin
    close;
end;

procedure Tf_RealtyC341.Button1Click(Sender: TObject);
var
    query:TADOQuery;
    s:string;
begin
     f_RealtyC32:=Tf_RealtyC32.Create(self);
     f_RealtyC32.Button7.Visible:=true;
     f_RealtyC32.ShowModal;

     if  f_RealtyC32.bOk=true then
     begin
        edit1.Text:=f_RealtyC32.sNum;

        query:=TADOQuery.Create(nil);
        query.Connection:=DataModuleADO.ADOConnection1;

        s:='select top 1 * from 管理区公摊抄表 where 公摊仪表='''+edit1.Text;
        s:=s+''' order by 读数日期 DESC';

        query.SQL.Clear;
        query.SQL.Add(s);
        query.Open;
        if query.RecordCount>0 then
        begin
            edit6.Text:=query.fieldbyname('读数日期').Value;
            edit2.Text:=query.fieldbyname('本次读数').Value;
        end
        else
        begin
            s:='select  * from 公摊仪表 where 编号='''+edit1.Text;
            s:=s+'''';

            query.SQL.Clear;
            query.SQL.Add(s);
            query.Open;
            if query.RecordCount>0 then
            begin
                edit6.Text:=query.fieldbyname('读数日期').Value;
                edit2.Text:=query.fieldbyname('当前读数').Value;
            end;
        end;
        query.Close;
        query.Free;
     end;
end;

procedure Tf_RealtyC341.GetID;
Var
    query:TADOQuery;
    s:string;
    i:integer;
begin
    query:=TADOQuery.Create(nil);
    query.Connection:=DataModuleADO.ADOConnection1;

    s := 'select top 1 * from 管理区公摊抄表 ORDER BY  编号 DESC';

    Query.SQL.Add(s);
    Query.Open ;
    if query.recordcount > 0 then
    begin
        s:= Query.Fieldbyname('编号').AsString;
        s:= Copy(S, 1, 7);
        i:= strtoint(s)+1;
        if i<10 then edit7.text := '000000'+inttostr(i)
        else if (i > 9) and (i<100) then edit7.text := '00000'+inttostr(i)
        else if (i > 99) and (i<1000) then edit7.text := '0000'+inttostr(i)
        else if (i > 999) and (i<10000) then edit7.text := '000'+inttostr(i)
        else if (i > 9999) and (i<100000) then edit7.text := '00'+inttostr(i)
        else if (i > 99999) and (i<1000000) then edit7.text := '0'+inttostr(i)
        else if i>999999 then edit7.text := inttostr(i);
    end
    else  edit7.text := '0000001';

    query.Close;
    query.free;
end;

procedure Tf_RealtyC341.Button2Click(Sender: TObject);
begin
    f_RealtyA11:=Tf_RealtyA11.Create(self);
    f_RealtyA11.ToolButton6.Visible:=true;
    f_RealtyA11.ShowModal;

    if  f_RealtyA11.bOk=true then
    begin
        edit5.Text:=f_RealtyA11.sNum+'--'+f_RealtyA11.sName;
    end;
end;

procedure Tf_RealtyC341.Edit3Exit(Sender: TObject);
var
    d:double;
begin
    Edit2.Text:=mainform.StdDou2(Edit2.Text);
    Edit3.Text:=mainform.StdDou2(Edit3.Text);
    d:=strtofloat(Edit3.Text) - strtofloat(Edit2.Text);
    Edit4.Text:=Format('%.2f',[d]);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -