realtyf63a.pas

来自「物业管理系统系统特点 一、 实现集中式管理 系统将集团公司、」· PAS 代码 · 共 1,277 行 · 第 1/4 页

PAS
1,277
字号
unit RealtyF63A;

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_RealtyF63A = class(TForm)
    L1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    edit2: TEdit;
    Label1: TLabel;
    Button3: TButton;
    Label7: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    edit13: TEdit;
    edit14: TEdit;
    Label14: TLabel;
    edit15: TEdit;
    Label15: TLabel;
    Label4: TLabel;
    edit3: TEdit;
    Label3: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label8: TLabel;
    edit4: TEdit;
    edit5: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    edit7: TEdit;
    edit8: TEdit;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    edit11: TEdit;
    Label21: TLabel;
    edit12: TEdit;
    Button1: TButton;
    CheckBox1: TCheckBox;
    edit6: TDateTimePicker;
    edit9: TDateTimePicker;
    edit10: TDateTimePicker;
    PopupMenu1: TPopupMenu;
    N4: TMenuItem;
    N8: TMenuItem;
    N10: TMenuItem;
    Button2: TButton;
    Button5: TButton;
    PageControl1: TPageControl;
    TabSheet3: TTabSheet;
    ListView1: TListView;
    TabSheet1: TTabSheet;
    ListView2: TListView;
    TabSheet33: TTabSheet;
    ListView3: TListView;
    PopupMenu2: TPopupMenu;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    MenuItem3: TMenuItem;
    Button7: TButton;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure getId;
    procedure FormCreate(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ListView3MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure N4Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure getid1;
    procedure ListView1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Button4Click(Sender: TObject);
    procedure ListView2MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);


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

var
  f_RealtyF63A: Tf_RealtyF63A;
  sNum:string;

implementation

uses data, main,RealtyF63,RealtyF63AB,RealtyF63AC,RealtyL23,
     RealtyB22,RealtyF62,RealtyF63AA;

{$R *.dfm}

//新增  1
procedure Tf_RealtyF63A.ToolButton5Click(Sender: TObject);
begin

end;






//公共函数**************************************************

//初始化 一
procedure Tf_RealtyF63A.FormCreate(Sender: TObject);
var
    i:integer;
    s:string;
    query:TADOQuery;
begin
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;

    if f_RealtyF63.bnew=true then
    begin
        getId;
        getid1;
        edit13.text:=czy;
        edit6.date:=date;
        edit9.date:=date;
        edit10.date:=date;
    end;


    //3 修改
    if f_RealtyF63.bnew=false  then
    begin
        query.SQL.Add('select * from 服务派工单 where 单号='''+f_RealtyF63.listview1.Selected.Caption+''' and 审核='''+'N'+'''');
        query.Open;
        if query.RecordCount=0 then button7.Enabled:=false;

        query.SQL.Clear;
        query.SQL.Add('select * from 服务派工单 where 单号='''+f_RealtyF63.listview1.selected.Caption+'''');
        query.Open;
        if query.RecordCount>0 then
        begin
            edit1.text:=query.fieldbyname('单号').Value;
            edit2.text:=query.fieldbyname('派工单号').Value;
            edit3.text:=query.fieldbyname('客户').Value;
            edit4.text:=query.fieldbyname('服务类别').Value;
            edit5.text:=query.fieldbyname('受理人').Value;
            edit6.date:=strtodate(query.fieldbyname('受理时间').Value);
            edit7.text:=query.fieldbyname('联系人').Value;
            edit8.text:=query.fieldbyname('联系电话').Value;
            edit9.date:=strtodate(query.fieldbyname('开工时间').Value);
            edit10.date:=strtodate(query.fieldbyname('完工时间').Value);
            edit11.text:=query.fieldbyname('要求处理事项').Value;
            edit12.text:=query.fieldbyname('备注').Value;
            edit13.text:=query.fieldbyname('操作员').Value;
            edit14.text:=query.fieldbyname('修订').Value;

            if query.fieldbyname('需要生成临时费用单').Value='Y' then checkbox1.checked:=true
            else checkbox1.checked:=false;

            listview1.Items.Clear;
            query.sql.clear;
            query.SQL.Add('select * from 服务派工单派工物料 where 单号='''+edit1.text+'''');
            query.Open;
            while not query.Eof do
            begin
                with 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);
                end;
                query.Next;
            end;

            listview2.Items.Clear;
            query.sql.clear;
            query.SQL.Add('select * from 服务派工单派工房间 where 单号='''+edit1.text+'''');
            query.Open;
            while not query.Eof do
            begin
                with listview2.Items.Add do
                begin
                    caption:=query.fieldbyname('房间').value;
                    subitems.add(query.fieldbyname('建筑面积').value); ;
                end;
                query.Next;
            end;

            listview3.Items.Clear;
            query.sql.clear;
            query.SQL.Add('select * from 服务派工单服务人员 where 单号='''+edit1.text+'''');
            query.Open;
            while not query.Eof do
            begin
                with listview3.Items.Add do
                begin
                    caption:=query.fieldbyname('职员').value;
                    subitems.add(query.fieldbyname('备注').value); ;
                end;
                query.Next;
            end;
        end;
    end;
    query.Close;
    query.Free;
end;

//Tab
procedure Tf_RealtyF63A.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_RealtyF63A.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_RealtyF63A.getid1;
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 edit2.text := '000000'+inttostr(i)
        else if (i > 9) and (i<100) then edit2.text := '00000'+inttostr(i)
        else if (i > 99) and (i<1000) then edit2.text := '0000'+inttostr(i)
        else if (i > 999) and (i<10000) then edit2.text := '000'+inttostr(i)
        else if (i > 9999) and (i<100000) then edit2.text := '00'+inttostr(i)
        else if (i > 99999) and (i<1000000) then edit2.text := '0'+inttostr(i)
        else if i>999999 then edit2.text := inttostr(i);
    end
    else  edit2.text := '0000001';
    query.Close;
    query.Free;
    
end;


procedure Tf_RealtyF63A.ListView3MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
    if button=mbright then
    PopupMenu1.Popup(mouse.CursorPos.X,mouse.CursorPos.Y);
end;

procedure Tf_RealtyF63A.N4Click(Sender: TObject);
begin
    if pagecontrol1.ActivePageIndex=0 then
    begin
        bNew:=true;
        f_RealtyF63AA:=Tf_RealtyF63AA.Create(self);
        f_RealtyF63AA.ShowModal;
    end;

    if pagecontrol1.ActivePageIndex=1 then

⌨️ 快捷键说明

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