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

📄 realtyf21a.pas

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

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_RealtyF21A = class(TForm)
    L1: TLabel;
    L2: TLabel;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    edit3: TDateTimePicker;
    edit2: TComboBox;
    edit6: TMemo;
    Label5: TLabel;
    Label6: TLabel;
    edit7: TMemo;
    Label7: TLabel;
    edit8: TMemo;
    Label8: TLabel;
    edit9: TEdit;
    edit10: TEdit;
    Label9: TLabel;
    edit5: TDateTimePicker;
    edit4: TDateTimePicker;
    Button7: TButton;
    Button5: TButton;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton10Click(Sender: TObject);
    procedure getId;
    procedure Button7Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure edit2Select(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);

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

var
  f_RealtyF21A: Tf_RealtyF21A;
  sNum:string;

implementation

uses data, main,Car4s931,RealtyF21,DateUtils;

{$R *.dfm}

procedure Tf_RealtyF21A.getId;
var
    i:integer;
    query:TADOQuery;
    s:string;
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 edit1.text := '000000'+inttostr(i)
        else if (i > 9) and (i<100) then edit1.text := '00000'+inttostr(i)
        else if (i > 99) and (i<1000) then edit1.text := '0000'+inttostr(i)
        else if (i > 999) and (i<10000) then edit1.text := '000'+inttostr(i)
        else if (i > 9999) and (i<100000) then edit1.text := '00'+inttostr(i)
        else if (i > 99999) and (i<1000000) then edit1.text := '0'+inttostr(i)
        else if i>999999 then edit1.text := inttostr(i);
    end
    else  edit1.text := '0000001';
    query.Close;
    query.Free;
end;

procedure Tf_RealtyF21A.FormCreate(Sender: TObject);
var
    i:integer;
    query:TADOQuery;
    s:string;
begin
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1; 

    edit2.Items.Add('新增班次');
    query.SQL.Add('select * from 辅助资料 where 类别='''+'班次'+'''');
    query.Open;
    while not query.Eof do
    begin
        edit2.Items.Add(query.fieldbyname('名称').Value);
        query.Next;
    end;


    if f_RealtyF21.bNew=true then
    begin
        getId;
        edit3.Date:=date;
        edit4.Time:=time;
        edit5.Time:=time;
        edit9.Text:=czy;
    end
    else
    begin
   
        query.SQL.Clear;
        query.SQL.Add('select * from 值班记录单 where 编号='''+f_RealtyF21.listview1.selected.Caption+'''');
        query.Open;
        if query.RecordCount>0 then
        begin
            if query.fieldbyname('审核').Value='Y' then  button7.Enabled:=false;
            edit1.Text:=query.fieldbyname('编号').Value;
            edit3.date:=strtodate(query.fieldbyname('日期').Value);
            edit2.ItemIndex:=edit2.Items.IndexOf(query.fieldbyname('班次').Value);
            edit4.time:=strtotime(query.fieldbyname('开始时间').Value);
            edit5.time:=strtotime(query.fieldbyname('结束时间').Value);
            edit6.text:=query.fieldbyname('当班记录').Value;
            edit7.text:=query.fieldbyname('交班记录').Value;
            edit8.text:=query.fieldbyname('备注').Value;
            edit9.text:=query.fieldbyname('制单').Value;
            edit10.Text:=query.fieldbyname('修订').Value;
        end;
        query.close;
        query.free;
    end;
end;

//Tab
procedure Tf_RealtyF21A.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_RealtyF21A.Button2Click(Sender: TObject);
begin
    close;
end;

procedure Tf_RealtyF21A.ToolButton10Click(Sender: TObject);
begin
    close;
end;

procedure Tf_RealtyF21A.Button7Click(Sender: TObject);
VAR
    query:TADOQuery;
    s:string;
    i:integer;
begin
    i:=DaysBetween(date,edit3.Date);
    if i>0 then
    begin
        showmessage('日期不能小于当天日期');
        exit;
    end;



     if Edit2.Text='' then
     begin
         showmessage('请选择班次。');
         Edit2.SetFocus;
         exit;
      end;

      if edit6.text='' then edit6.Text:='-';
      if edit7.text='' then edit7.Text:='-';
      if edit8.text='' then edit8.Text:='-';
      if edit10.text='' then edit10.Text:='-';
      
      Query:=TADOQuery.Create(nil);
      Query.Connection:=DataModuleADO.ADOConnection1;

      if f_RealtyF21.bNew=true then
      begin
          query.SQL.Clear;
          Query.SQL.Add('select * from 值班记录单 where 编号='''+Edit1.text+'''');
          Query.Open ;
          if query.RecordCount>0 then
          begin
              showmessage('编号重复,请重新输入');
              Edit1.SetFocus;
              query.Close ;
              query.Free ;
              exit;
          end;


          s := 'insert into 值班记录单(编号,日期,班次,开始时间,结束时间,当班记录,交班记录,备注,制单,';
          s:=s+'修订,审核) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11)';

          query.sql.Clear ;
          query.sql.add(s);
          query.Parameters.ParamByName('s1').Value:=trim(Edit1.Text);
          query.Parameters.ParamByName('s2').Value:=datetostr(Edit3.date);
          query.Parameters.ParamByName('s3').Value:=trim(Edit2.Text);
          query.Parameters.ParamByName('s4').Value:=timetostr(Edit4.time);
          query.Parameters.ParamByName('s5').Value:=timetostr(Edit5.time);
          query.Parameters.ParamByName('s6').Value:=trim(Edit6.text);
          query.Parameters.ParamByName('s7').Value:=trim(Edit7.text);
          query.Parameters.ParamByName('s8').Value:=trim(Edit8.Text);
          query.Parameters.ParamByName('s9').Value:=trim(Edit9.Text);
          query.Parameters.ParamByName('s10').Value:=trim(Edit10.Text);
          query.Parameters.ParamByName('s11').Value:='N';

          DataModuleADO.ADOConnection1.BeginTrans;
          query.execsql;
          DataModuleADO.ADOConnection1.CommitTrans;

          showmessage('保存成功。');


          query.SQL.Clear;
          query.SQL.Add('select * from 值班记录单 where 编号='''+edit1.Text+'''');
          query.Open;
          if query.RecordCount>0 then
          begin
              with f_RealtyF21.listview1.Items.Add do
              begin
                  caption:=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(query.fieldbyname('交班记录').Value);
                  subitems.Add(query.fieldbyname('制单').Value);
                  subitems.Add(query.fieldbyname('修订').Value);
                  subitems.Add(query.fieldbyname('审核').Value);
                  subitems.Add(query.fieldbyname('备注').Value);
              end;

          end;
          query.Close ;
          query.Free ;

          if f_RealtyF21.listview1.Items.Count>0 then f_RealtyF21.listview1.Items.Item[0].Selected:=true;

          getId;
          edit4.Time:=time;
          edit3.Date:=date;
          edit2.ItemIndex:=edit2.Items.IndexOf('');
          edit5.time:=time;
          edit6.text:='';
          edit7.text:='';
          edit8.Text:='';
          edit9.Text:=czy;
          edit10.Text:=czy;
          edit1.SetFocus;

    end;


    if f_RealtyF21.bNew=false then
    begin
        s:='update 值班记录单 set 编号='''+edit1.text;
        s:=s+''',班次='''+edit2.text;
        s:=s+''',日期='''+datetostr(edit3.date);
        s:=s+''',开始时间='''+timetostr(edit4.Time);
        s:=s+''',结束时间='''+timetostr(edit5.time);
        s:=s+''',当班记录='''+edit6.text;
        s:=s+''',交班记录='''+edit7.text;
        s:=s+''',备注='''+edit8.text;
        s:=s+''',制单='''+edit9.text;
        s:=s+''',修订='''+edit10.text;
        s:=s+''' where 编号='''+f_RealtyF21.ListView1.Selected.Caption+'''';

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

        query.sql.clear;
        query.SQL.Add('select * from 值班记录单 where 编号='''+edit1.Text+'''');
        query.Open;
        if query.RecordCount>0 then
        begin
            with f_RealtyF21.listview1.Selected do
            begin
                caption:=query.fieldbyname('编号').Value;
                subitems[0]:=query.fieldbyname('日期').Value;
                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]:=query.fieldbyname('修订').Value;
                subitems[8]:=query.fieldbyname('审核').Value;
                subitems[9]:=query.fieldbyname('备注').Value;
            end;

        end;
        query.Close;
        query.Free;
        close;
    end;  
end;

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

procedure Tf_RealtyF21A.edit2Select(Sender: TObject);
begin
    if edit2.Text='新增班次' then
    begin
        mainform.t1:='班次';
        f_Car4s931:=Tf_Car4s931.Create(self);
        f_Car4s931.showmodal;

        if f_Car4s931.bOK=true then
        begin
            edit2.Items.Add(mainform.t1);
            edit2.ItemIndex:=edit2.Items.IndexOf(mainform.t1);
        end
        else edit2.ItemIndex:=edit2.Items.IndexOf('');
    end;
end;

procedure Tf_RealtyF21A.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
    Action := caFree;
end;

end.

⌨️ 快捷键说明

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