📄 unfindperplan.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 + -