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

📄 unfindperplan.pas

📁 设备巡检操作系统 本程序是专门为某电厂开发的设备巡检系统
💻 PAS
字号:
unit UnFindPerPlan;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TFindoutPerPlan_frm = class(TForm)
    ListView1: TListView;
    ListView2: TListView;
    Edit1: TEdit;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ListView2DblClick(Sender: TObject);
    procedure ListView1DblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
    procedure listfindoutperplan();
    procedure listperplanValue();
  public
    { Public declarations }
    yc:Boolean;
  end;

var
  FindoutPerPlan_frm: TFindoutPerPlan_frm;

implementation

uses Undm, UnFuntion, UnPerUpdatafind, DB, ADODB;

{$R *.dfm}

procedure TFindoutPerPlan_frm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  action:=cafree;  FindoutPerPlan_frm:=nil;
end;

procedure TFindoutPerPlan_frm.listfindoutperplan;
var
  lv:TListItem;
begin
  with dm.AQ8 do begin
    try
      close;
      sql.Text:= 'select * from view_sbdj a,view_sbdj_plandate b where a.msrno=b.msrno and b.no='+quotedstr(copy(username,1,4))+' order by b.plansortid,a.ib';// ,a.msrno
     //  edit1.Text:=SQL.Text;
      Prepared:=True;
      Open;
     // caption:=sql.Text;
      listview1.Items.Clear;
      while not Eof do
      begin

        lv:=ListView1.Items.Add;
        If ListView1.Items.Count<=1 then
          lv.Caption:='No.1'
        else
          lv.Caption:= 'No.'+inttostr(Listview1.Items.count);
        lv.SubItems.Add('['+fieldbyname('Msrno').AsString+']-'+fieldbyname('Msrname').AsString) ;
        lv.SubItems.Add(fieldbyname('Msritem').AsString) ;
        lv.SubItems.Add(fieldbyname('eupetname').AsString) ;
        lv.SubItems.Add(fieldbyname('partname').AsString) ;
        lv.SubItems.Add(fieldbyname('dwv').AsString) ;
        lv.SubItems.Add(fieldbyname('uwv').AsString) ;
        lv.SubItems.Add(fieldbyname('ib').AsString) ;
        lv.SubItems.Add(datetostr(date)) ;
        //end;
      Next;
      end;
    except
      Application.MessageBox('对不起,数据发生错误!','',MB_OK+MB_ICONERROR);
    end;
  end;
end;

procedure TFindoutPerPlan_frm.listperplanValue;
var
  lv:TListItem;
  cur,ucur,dcur:Single;
  dispyc,dispvalue:string;
begin                             // view_sbdjvalue_PerAddPlan
  Width:=900;
  with dm.AQ8 do begin
    try
      close;            
      sql.Text:= 'select * from view_sbdjvalue_PerAddPlan where perno='+quotedstr(copy(username,1,4))+PeruserFindstr+' order by cdate desc';

      Prepared:=True;
      Open;
      listview2.Items.Clear;
      while not Eof do
      begin
       {if FieldByName('msritem').AsString<>'检查' then
       begin
          try
            cur:=StrToFloat(fieldbyname('msrvalue').AsString);
          except
            cur:=-9999;
          end;
          try
            ucur:=StrToFloat(fieldbyname('uwv').AsString);
          except
            ucur:=0;
          end;
          try
            dcur:=StrToFloat(fieldbyname('dwv').AsString);
          except
            dcur:=0;
          end;
          if (cur>=dcur) and (cur<=ucur) then
            dispyc:='正常' else dispyc:='异常';
          if cur>-9998 then
            dispyc:=fieldbyname('msrvalue').AsString;
       end else dispyc:=fieldbyname('msrvalue').AsString;}
       if FieldByName('MsrValue').AsString ='-9999' then
       begin
        dispvalue:='停巡';dispyc:='异常';
       end else if  FieldByName('MsrValue').AsString ='-10000' then
       begin
        dispvalue:='热备';dispyc:='异常';
       end else if  FieldByName('MsrValue').AsString ='-10001' then
       begin
        dispvalue:='维修';dispyc:='异常';
       end else if  FieldByName('MsrValue').AsString ='-10002' then
       begin
        dispvalue:='正常';dispyc:='正常';
       end else if  FieldByName('MsrValue').AsString ='-10003' then
       begin
        dispvalue:='异常';dispyc:='异常';
       end else begin
        dispvalue:=FieldByName('MsrValue').AsString;
          try
            ucur:=StrToFloat(fieldbyname('uwv').AsString);
          except
            ucur:=0;
          end;
          try
            dcur:=StrToFloat(fieldbyname('dwv').AsString);
          except
            dcur:=0;
          end;
        if (StrToFloat(dispvalue)<dcur) or (StrToFloat(dispvalue)>ucur) then
          dispyc:='异常'
        else
          dispyc:='正常'
       end;
        if PerUpdatafind_frm.CheckBox1.Checked then  //异常数据
          if dispyc='正常' then begin Next; Continue; end;
        lv:=ListView2.Items.Add;
        If ListView2.Items.Count<=1 then
          lv.Caption:='No.1'
        else
          lv.Caption:= 'No.'+inttostr(Listview2.Items.count);
        lv.SubItems.Add('['+fieldbyname('Msrno').AsString+']-'+fieldbyname('Msrname').AsString) ;
        //lv.SubItems.Add() ;
        lv.SubItems.Add(fieldbyname('Msritem').AsString) ;
        lv.SubItems.Add(fieldbyname('cdate').AsString) ;
        lv.SubItems.Add(fieldbyname('udate').AsString) ;
        lv.SubItems.Add(dispvalue);
        //lv.SubItems.Add(fieldbyname('msrvalue').AsString) ;
        //if (FieldByName('msrvalue').AsString>fieldbyname('dwv').AsString) and
        //(FieldByName('msrvalue').AsString<fieldbyname('uwv').AsString) then
        //lv.SubItems.Add('正常') else lv.SubItems.Add('异常');
        lv.SubItems.Add(dispyc);
        lv.SubItems.Add(fieldbyname('eupetname').AsString) ;
        lv.SubItems.Add(fieldbyname('partname').AsString) ;
        lv.SubItems.Add(fieldbyname('dwv').AsString) ;
        lv.SubItems.Add(fieldbyname('uwv').AsString) ;
        lv.SubItems.Add(fieldbyname('ib').AsString) ;
        lv.SubItems.Add(datetostr(date)) ;
        
        //end;
      Next;
      end;
    except
      Application.MessageBox('对不起,数据发生错误,请与管理员联系!','',MB_OK+MB_ICONERROR);
    end;
  end;
end;

procedure TFindoutPerPlan_frm.ListView2DblClick(Sender: TObject);
begin
  CopyListviewToExcel([ListView2]);
end;

procedure TFindoutPerPlan_frm.ListView1DblClick(Sender: TObject);
begin
  CopyListviewToExcel([ListView1]);
end;

procedure TFindoutPerPlan_frm.FormShow(Sender: TObject);
begin

  if PeruserFind=FindPlan then
  begin  listfindoutperplan;Caption:='巡检路线安排查询' end
  else
  begin  listperplanValue;Caption:='测量数据查询结果' end;
end;

end.

⌨️ 快捷键说明

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