realtyi11.pas

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

PAS
638
字号
    // 1 关键字段不能为空
    if Edit1.Text='' then
    begin
        showmessage('请输入编号。');
        Edit1.SetFocus;
        exit;
    end;

    if Edit2.Text='' then
    begin
        showmessage('请输入设备名称。');
        Edit2.SetFocus;
        exit;
    end;

    if Edit3.Text='' then
    begin
        showmessage('请选择设备类别。');
        Edit3.SetFocus;
        exit;
    end;

    if Edit19.Text='' then
    begin
        showmessage('请选择设备责任人。');
        Edit19.SetFocus;
        exit;
    end;

    edit5.Text:=mainform.StdDou2(edit5.Text);
    edit6.Text:=mainform.StdDou2(edit6.Text);
    edit7.Text:=mainform.StdDou2(edit7.Text);
    edit10.Text:=mainform.StdDou2(edit10.Text);
    edit17.Text:=mainform.StdDou2(edit17.Text);

    //  2 检查所有字段的数据完整性
    If Edit4.Text = '' Then Edit4.Text := '-';
    If Edit5.Text = '' Then Edit5.Text := '0';
    If Edit6.Text = '' Then Edit6.Text := '0';
    If Edit7.Text = '' Then Edit7.Text := '-';
    If Edit8.Text = '' Then Edit8.Text := '-';
    If Edit9.Text = '' Then Edit9.Text := '-';
    If Edit10.Text = '' Then Edit10.Text := '0';
    
    If Edit13.Text = '' Then Edit13.Text := '-';
    If Edit14.Text = '' Then Edit14.Text := '-';
    If Edit15.Text = '' Then Edit15.Text := '-';
    If Edit16.Text = '' Then Edit16.Text := '-';
    If Edit17.Text = '' Then Edit17.Text := '0';
    If Edit18.Text = '' Then Edit18.Text := '-';

    If Edit20.Text = '' Then Edit20.Text := '-';
    If Edit21.Text = '' Then Edit21.Text := '-';

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


    // 4 新增
    if f_RealtyI1.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+'出厂日期,安装日期,技术参数,事故记录,存放位置,运行状态,更换次数,备品备件,设备责任人,备注,';
        s:=s+'组织机构,审核) values(:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,';
        s:=s+':s11,:s12,:s13,:s14,:s15,:s16,:s17,:s18,:s19,:s20,:s21,:s22)';

        query.sql.Clear ;
        query.sql.add(s);
        query.Parameters.ParamByName('s1').Value:=trim(Edit1.Text);
        query.Parameters.ParamByName('s2').Value:=trim(Edit2.Text);
        query.Parameters.ParamByName('s3').Value:=trim(Edit3.Text);
        query.Parameters.ParamByName('s4').Value:=trim(Edit4.Text);
        query.Parameters.ParamByName('s5').Value:=strtofloat(mainform.StdDou2(Edit5.Text));
        query.Parameters.ParamByName('s6').Value:=strtofloat(mainform.StdDou2(Edit6.Text));
        query.Parameters.ParamByName('s7').Value:=strtofloat(mainform.StdDou2(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:=datetostr(Edit11.date);
        query.Parameters.ParamByName('s12').Value:=datetostr(Edit12.date);
        query.Parameters.ParamByName('s13').Value:=trim(Edit13.Text);
        query.Parameters.ParamByName('s14').Value:=trim(Edit14.Text);
        query.Parameters.ParamByName('s15').Value:=trim(Edit15.Text);
        query.Parameters.ParamByName('s16').Value:=trim(Edit16.Text);
        query.Parameters.ParamByName('s17').Value:=strtofloat(mainform.StdDou2(Edit17.Text));
        query.Parameters.ParamByName('s18').Value:=trim(Edit18.Text);
        query.Parameters.ParamByName('s19').Value:=trim(Edit19.Text);
        query.Parameters.ParamByName('s20').Value:=trim(Edit20.Text);
        query.Parameters.ParamByName('s21').Value:=trim(Edit21.Text);
        query.Parameters.ParamByName('s22').Value:='N';

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


        //保存从表
        for i:=0 to listview1.Items.Count-1 do
        begin
            if listview1.Items.Item[i].Caption='' then listview1.Items.Item[i].Caption:='-';
            if listview1.Items.Item[i].SubItems[0]='' then listview1.Items.Item[i].SubItems[0]:='-';
            if listview1.Items.Item[i].SubItems[2]='' then listview1.Items.Item[i].SubItems[2]:='-';

            listview1.Items.Item[i].SubItems[1]:=mainform.StdDou2(listview1.Items.Item[i].SubItems[1]);

            s:='insert into 设备档案备品备件 (编号,名称,数量,备注,单号) values(:s1,:s2,:s3,:s4,:s5)';
            query.SQL.Clear;
            query.SQL.Add(s);
            query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
            query.Parameters.ParamByName('s2').Value:=trim(listview1.Items.Item[i].SubItems[0]);
            query.Parameters.ParamByName('s3').Value:=strtofloat(listview1.Items.Item[i].SubItems[1]);
            query.Parameters.ParamByName('s4').Value:=trim(listview1.Items.Item[i].SubItems[2]);
            query.Parameters.ParamByName('s5').Value:=trim(edit1.Text);

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


        //   三 追加数据到父窗口listview中
        query.SQL.Clear;
        query.SQL.Add('select * from 设备档案 where 单号='''+edit1.Text+'''');
        query.Open;
        if query.RecordCount>0 then
        begin
            with f_RealtyI1.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);
                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 ;

        //   四 清空字段、设置自动编号并移动光标到第一个录入字段的输入框中
        getId;
        edit2.Text:='';
        edit3.Text:='';
        edit4.Text:='';
        edit5.Text:='0';
        edit6.Text:='0.00';
        edit7.Text:='';
        edit8.Text:='';
        edit9.Text:='';
        edit10.Text:='0';
        edit11.date:=date;
        edit12.date:=date;
        edit13.Text:='';
        edit14.Text:='';
        edit15.Text:='';
        edit16.Text:='';
        edit17.Text:='0';
        edit18.Text:='';
        edit19.Text:='';
        edit20.Text:='';
        edit21.Text:='';
        listview1.Items.Clear;

        Edit1.SetFocus;
    end;





    //  5 修改
    if f_RealtyI1.bnew=false then
    begin
        // 一更新主表

          s:='update 设备档案 set 单号='''+edit1.text;
          s:=s+''',名称='''+edit2.Text;
          s:=s+''',设备类别='''+edit3.Text;
          s:=s+''',附属设备='''+edit4.Text;
          s:=s+''',折旧率='+edit5.Text;
          s:=s+',现估价='+edit6.Text;
          s:=s+',原值='+edit7.Text;
          s:=s+',生产厂家='''+edit8.Text;
          s:=s+''',型号='''+edit9.Text;
          s:=s+''',预计使用年限='''+edit10.Text;
          s:=s+''',出厂日期='''+datetostr(edit11.Date);
          s:=s+''',安装日期='''+datetostr(edit12.Date);
          s:=s+''',技术参数='''+edit13.Text;
          s:=s+''',事故记录='''+edit14.Text;
          s:=s+''',存放位置='''+edit15.Text;
          s:=s+''',运行状态='''+edit16.Text;
          s:=s+''',更换次数='+edit17.Text;
          s:=s+',备品备件='''+edit18.Text;
          s:=s+''',设备责任人='''+edit19.Text;
          s:=s+''',备注='''+edit20.Text;
          s:=s+''',组织机构='''+edit21.Text;
          s:=s+''' where 单号='''+f_RealtyI1.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_RealtyI1.listview1.Selected.Caption+'''';
        query.ExecSQL;
        DataModuleADO.ADOConnection1.CommitTrans;

        for i:=0 to listview1.Items.Count-1 do
        begin
            if listview1.Items.Item[i].Caption='' then listview1.Items.Item[i].Caption:='-';
            if listview1.Items.Item[i].SubItems[0]='' then listview1.Items.Item[i].SubItems[0]:='-';
            if listview1.Items.Item[i].SubItems[2]='' then listview1.Items.Item[i].SubItems[2]:='-';

            listview1.Items.Item[i].SubItems[1]:=mainform.StdDou2(listview1.Items.Item[i].SubItems[1]);


            s:='insert into 设备档案备品备件 (编号,名称,数量,备注,单号) values(:s1,:s2,:s3,:s4,:s5)';
            query.SQL.Clear;
            query.SQL.Add(s);
            query.Parameters.ParamByName('s1').Value:=trim(listview1.Items.Item[i].Caption);
            query.Parameters.ParamByName('s2').Value:=trim(listview1.Items.Item[i].SubItems[0]);
            query.Parameters.ParamByName('s3').Value:=strtofloat(listview1.Items.Item[i].SubItems[1]);
            query.Parameters.ParamByName('s4').Value:=trim(listview1.Items.Item[i].SubItems[2]);
            query.Parameters.ParamByName('s5').Value:=trim(edit1.Text);

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

        //   三 更新父窗口listview中的当前行数据
        query.SQL.Clear;
        query.SQL.Add('select * from 设备档案 where 单号='''+edit1.Text+'''');
        query.Open;
        if query.RecordCount>0 then
        begin
            with f_RealtyI1.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;
                subitems[10]:=query.fieldbyname('型号').Value;
                subitems[11]:=query.fieldbyname('技术参数').Value;
                subitems[12]:=query.fieldbyname('备品备件').Value;
                subitems[13]:=query.fieldbyname('安装日期').Value;
                subitems[14]:=query.fieldbyname('存放位置').Value;
                subitems[15]:=query.fieldbyname('运行状态').Value;
                subitems[16]:=query.fieldbyname('事故记录').Value;
                subitems[17]:=query.fieldbyname('更换次数').Value;
                subitems[18]:=query.fieldbyname('审核').Value;
            end;
        end;
        query.Close ;
        query.Free ;

        //   四 关闭窗口
        close;
    end;

end;

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

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

end.


⌨️ 快捷键说明

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