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

📄 realtyf63c.pas

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

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_RealtyF63C = class(TForm)
    L1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    edit2: TEdit;
    Label1: TLabel;
    Label7: TLabel;
    Label12: TLabel;
    Label4: TLabel;
    edit3: TEdit;
    Label3: TLabel;
    Label6: TLabel;
    Label8: TLabel;
    edit4: TEdit;
    Label9: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    edit6: TEdit;
    Label21: TLabel;
    edit13: TEdit;
    CheckBox1: TCheckBox;
    edit8: TDateTimePicker;
    edit9: TDateTimePicker;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    ListView2: TListView;
    ListView3: TListView;
    PopupMenu1: TPopupMenu;
    N4: TMenuItem;
    N8: TMenuItem;
    N10: TMenuItem;
    Edit5: TEdit;
    Label10: TLabel;
    Edit7: TEdit;
    Label11: TLabel;
    edit10: TEdit;
    Label13: TLabel;
    edit11: TEdit;
    Label14: TLabel;
    edit12: TEdit;
    CheckBox2: TCheckBox;
    TabSheet3: TTabSheet;
    ListView1: TListView;
    Button7: TButton;
    Button5: TButton;
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ToolButton10Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton6Click(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 Button7Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);


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

var
  f_RealtyF63C: Tf_RealtyF63C;
  sNum:string;

implementation

uses data, main,RealtyF63,RealtyF63CC;

{$R *.dfm}

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

end;

//查看  2
procedure Tf_RealtyF63C.ToolButton4Click(Sender: TObject);
begin
    //
end;

//删除  3
procedure Tf_RealtyF63C.ToolButton7Click(Sender: TObject);
begin
     //
end;

//复制  5
procedure Tf_RealtyF63C.ToolButton6Click(Sender: TObject);
begin
    //
end;

//关闭  7
procedure Tf_RealtyF63C.ToolButton10Click(Sender: TObject);
begin

    close;
end;




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

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

    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.text:=query.fieldbyname('要求处理事项').Value;
        edit8.date:=strtodate(query.fieldbyname('开工时间').Value);
        edit9.date:=strtodate(query.fieldbyname('完工时间').Value);

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

        query.SQL.Clear;
        query.SQL.Add('select * from 服务派工验收 where 单号='''+edit1.Text+'''');
        query.Open;
        if query.RecordCount>0 then
        begin
            s1:=query.fieldbyname('客户验收通过').Value;
            if s1='Y' then
            begin
                button7.Enabled:=false;
                checkbox2.Checked:=true;
            end
            else  checkbox2.Checked:=false;
            edit7.Text:=query.fieldbyname('实际处理事项').Value;
            edit10.Text:=query.fieldbyname('处理结果').Value;
            edit11.Text:=query.fieldbyname('服务评价').Value;
            edit12.Text:=floattostr(query.fieldbyname('人工费').Value);
            edit13.Text:=query.fieldbyname('备注').Value;
        end
        else
        begin
            edit7.Text:='';
            edit10.Text:='';
            edit11.Text:='';
            edit12.Text:='';
            edit13.Text:='';
            checkbox2.Checked:=false;
        end;



        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+'--'+mainform.getName('房间',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;

    query.Close;
    query.Free;
end;

//Tab
procedure Tf_RealtyF63C.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_RealtyF63C.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_RealtyF63C.N4Click(Sender: TObject);
begin
    bNew:=true;
    f_RealtyF63CC:=Tf_RealtyF63CC.Create(self);
    f_RealtyF63CC.ShowModal;

end;

procedure Tf_RealtyF63C.N10Click(Sender: TObject);
begin
    if listview2.selcount=0 then exit;
    bNew:=false;
    f_RealtyF63CC:=Tf_RealtyF63CC.Create(self);
    f_RealtyF63CC.ShowModal;
end;

procedure Tf_RealtyF63C.N8Click(Sender: TObject);
begin
    if listview2.SelCount=0 then exit;
    if(Application.MessageBox(PChar('确认要删除所选记录吗?') ,'提示',Mb_OKCANCEL+Mb_IconInformation)=0) then exit;

   listview2.Selected.Delete;
   if listview2.Items.Count>0 then listview2.Items.Item[0].Selected:=true;

end;

procedure Tf_RealtyF63C.Button7Click(Sender: TObject);
var
  i,j:integer;
  s,s1,s2:string;
  Query,query1,query2,query3:TADOQuery;
  d,d1,d2:double;
begin
    s1:='N';
    if checkbox1.checkED=true then s1:='Y';
    s2:='N';
    if checkbox2.checkED=true then s2:='Y';
    // 1 关键字段不能为空

    if Edit2.Text='' then
    begin
        showmessage('请输入派工单号。');
        Edit2.SetFocus;
        exit;
    end;



    //  2 检查所有字段的数据完整性
    if edit7.text='' then edit7.text:='-';
    if edit10.text='' then edit10.text:='-';
    if edit11.text='' then edit11.text:='-';
    if edit12.text='' then edit12.text:='0.00';
    if edit13.text='' then edit13.text:='-';


    //  3 定义数据集
    Query:=TADOQuery.Create(nil);
    Query.Connection:=DataModuleADO.ADOConnection1;
    Query1:=TADOQuery.Create(nil);
    Query1.Connection:=DataModuleADO.ADOConnection1;

        // 一更新主表

    DataModuleADO.ADOConnection1.BeginTrans;
    query.sql.clear;
    Query.SQL.Text:='delete  from 服务派工验收 where 单号='''+f_RealtyF63.listview1.Selected.caption+'''';
    query.ExecSQL;
    DataModuleADO.ADOConnection1.CommitTrans;

    s:='insert into 服务派工验收(单号,实际处理事项,到达时间,完工时间,处理结果,服务评价,';
    s:=s+'人工费,备注,客户验收通过) values (:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9)' ;

    query.SQL.Clear;
    query.SQL.Add(s);
    query.Parameters.ParamByName('s1').Value:=edit1.text;
    query.Parameters.ParamByName('s2').Value:=edit7.text;
    query.Parameters.ParamByName('s3').Value:=datetostr(edit8.date);
    query.Parameters.ParamByName('s4').Value:=datetostr(edit9.date);
    query.Parameters.ParamByName('s5').Value:=edit10.text;
    query.Parameters.ParamByName('s6').Value:=edit11.text;
    query.Parameters.ParamByName('s7').Value:=strtofloat(mainform.StdDou2(edit12.text));
    query.Parameters.ParamByName('s8').Value:=edit13.text;
    query.Parameters.ParamByName('s9').Value:=s2;

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

    s:='update 服务派工单 set 派工单号='''+edit2.text;
    s:=s+''',需要生成临时费用单='''+s1;
    s:=s+''',开工时间='''+datetostr(edit8.date);
    s:=s+''',完工时间='''+datetostr(edit9.date);
    s:=s+''' where 单号='''+f_RealtyF63.ListView1.Selected.caption+'''';
    query.SQL.Clear;
    query.SQL.Add(s);
    DataModuleADO.ADOConnection1.BeginTrans;
    query.ExecSQL;
    DataModuleADO.ADOConnection1.CommitTrans;




        // 二删除从表再重新保存从表

    DataModuleADO.ADOConnection1.BeginTrans;
    query.sql.clear;
    Query.SQL.Text:='delete  from 服务派工单服务人员 where 单号='''+f_RealtyF63.listview1.Selected.caption+'''';
    query.ExecSQL;
    DataModuleADO.ADOConnection1.CommitTrans;

     for i:=0 to listview3.Items.Count-1 do
    begin
        s:='insert into 服务派工单服务人员(职员,备注,单号) values(:s1,:s2,:s3)';
        query.SQL.Clear;
        query.SQL.Add(s);
        query.Parameters.ParamByName('s1').Value:=trim(listview3.Items.Item[i].Caption);
        query.Parameters.ParamByName('s2').Value:=trim(listview3.Items.Item[i].SubItems[0]);
        query.Parameters.ParamByName('s3').Value:=trim(edit1.Text);

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

    showmessage('验收成功');


    //   三 更新父窗口listview中的当前行数据
    query.SQL.Clear;
    query.SQL.Add('select * from 服务派工单 where 单号='''+edit1.Text+'''');
    query.Open;
    if query.recordcount>0 then
    begin
        with f_RealtyF63.listview1.Selected do
        begin
            subitems[0]:=query.fieldbyname('派工单号').Value;

            query1.sql.clear;
            query1.sql.add('select * from 服务派工验收 where 单号='''+query.fieldbyname('单号').Value+'''');
            query1.open;
            if query1.recordcount>0 then
            begin
                subitems[7]:=query1.fieldbyname('实际处理事项').Value;
                subitems[8]:=query1.fieldbyname('处理结果').Value;
                subitems[9]:=query1.fieldbyname('到达时间').Value;
                subitems[10]:=query1.fieldbyname('完工时间').Value;
                subitems[11]:=query1.fieldbyname('客户验收通过').Value;
                subitems[12]:=query1.fieldbyname('服务评价').Value;
            end
            else
            begin
                subitems[7]:='';
                subitems[8]:='';
                subitems[9]:='';
                subitems[10]:='';
                subitems[11]:='';
                subitems[12]:='';
            end;
        end;
    end;
    query1.Close;
    query1.Free;
    query.Close;
    query.Free;

    //   四 关闭窗口
    close;

end;

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

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

end.


⌨️ 快捷键说明

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