procedure TYXRZJLCXCT.BitBtn1Click(Sender: TObject);
var
strrq,jstrrq,strbcrq,strbcmc:string;
qry,qry1:Tquery;
begin
//DocView1.OpenMode :=TDocMode.dmEdit;
DBS_HZ.DataSet.EmptyDataSet;
qry:=Tquery.Create(nil);
qry.ConnectionString:=BizObjConsts.cSysDatabaseConnectionString;
qry1:=Tquery.Create(nil);
qry1.ConnectionString:=BizObjConsts.cSysDatabaseConnectionString;
//qry2:=Tquery.Create(nil);
//qry2.ConnectionString:=BizObjConsts.cSysDatabaseConnectionString;
try
if (rq.text<>'') and (bcmc.text<>'') then
begin
DSBYXRZJJB.DataSet.Open;
//try
qry.close; //过滤本班编辑过的工程检修详细信息记录
qry.CommandText:='select inst_id from DD_YXRZJJBB where to_char(rq)=to_date('''+rq.text+''',''yyyy-mm-dd'') and BCMC='''+bcmc.text+''' ' ;
qry.Open;
if qry.recordcount>0 then
begin
if DSBYXRZJJB.DataSet.Locate('inst_id',[qry.FieldByName('INST_ID').AsString],[]) then
begin
if bcmc.Text='白班' then
begin
strrq:=rq.text+' 08:30:00';
jstrrq:=rq.text+' 16:00:00';
end;
if bcmc.Text='夜班' then
begin
strrq :=rq.text+' 16:00:00';
jstrrq :=sysutils.DateToStr(sysutils.StrToDate(rq.text)+1)+' 08:30:00';
end;
//上班继承下来的事故/缺陷详细记录不体现在汇总中,汇总中仅显示当班录入的详细记录。
{TSQLDataSet(DBS_YXHZ.dataset).Close; //
TSQLDataSet(DBS_YXHZ.dataset).SQL.Text := 'SELECT * FROM DD_YXRZJLB where (bcid='''+DSBYXRZJJB.DataSet.FieldByName('INST_ID').AsString+''') and ( (lx<>''事故'' and lx<>''缺陷'' and lx<>''带电'' and lx<>''电压'' and lx<>''检修'') or ( (lx=''事故'' and JC is null) or (lx=''缺陷'' and JC is null) or (lx=''带电'' and JC is null) or (lx=''电压'' and JC is null)) ) ORDER BY lx,JLSJ';
TSQLDataSet(DBS_YXHZ.dataset).Open;
DBS_YXHZ.DataSet.First; }
//try
qry1.close;
//qry1.CommandText:='SELECT * FROM DD_YXRZJLB where (bcid='''+DSBYXRZJJB.DataSet.FieldByName('INST_ID').AsString+''') and ( (lx<>''事故'' and lx<>''缺陷'' and lx<>''带电'' and lx<>''电压'' and lx<>''检修'') or ( (lx=''事故'' and JC is null) or (lx=''缺陷'' and JC is null) or (lx=''带电'' and JC is null) or (lx=''电压'' and JC is null)) ) ORDER BY lx,JLSJ';
qry1.CommandText:='SELECT * FROM DD_YXRZJLB where (bcid='''+DSBYXRZJJB.DataSet.FieldByName('INST_ID').AsString+''') and ( (lx<>''事故'' and lx<>''缺陷'' and lx<>''带电'' and lx<>''电压'' and lx<>''检修'') or ( (lx=''事故'' and JC is null) or (lx=''缺陷'' and JC is null) or (lx=''带电'' and JC is null) or (lx=''电压'' and JC is null)) ) union select * from DD_YXRZJLB where glbm=''DD_GCJXRZJL'' and BCID='''+DSBYXRZJJB.DataSet.FieldByName('inst_id').AsString+''' and glid in ('
+'select inst_id from DD_GCJXRZJL where ((((jsbssj is null) and ((ksbssj <=to_date('''+jstrrq+''',''yyyy-mm-dd HH24:MI:SS'')))) or '
+' ((ksbssj <= to_date('''+jstrrq+''',''yyyy-mm-dd HH24:MI:SS'')) and (jsbssj > to_date('''+jstrrq+''',''yyyy-mm-dd HH24:MI:SS'')))) or'
+' ((jsbssj >= to_date('''+strrq+''',''yyyy-mm-dd HH24:MI:SS'')) and (jsbssj <= to_date('''+jstrrq+''',''yyyy-mm-dd HH24:MI:SS'')))) )';
qry1.Open;
//while not DBS_YXHZ.DataSet.eof do
DBS_HZ.DataSet.Disablecontrols;
while not qry1.eof do
begin
with DBS_HZ.DataSet do
begin
append;
FieldByName('LX').AsString:=qry1.FieldByName('LX').AsString;
if qry1.FieldByName('JLSJ').AsString='' then
FieldByName('SJ').AsString:=''
else
FieldByName('SJ').AsDateTime:=qry1.FieldByName('JLSJ').AsDateTime;
FieldByName('BM').AsString:=qry1.FieldByName('SLRBZ').AsString;
FieldByName('XM').AsString:=qry1.FieldByName('SLR').AsString;
FieldByName('NR').AsString:=qry1.FieldByName('XXNR').AsString;
if qry1.FieldByName('ZXSJ').AsString='' then
FieldByName('WCSJ').AsString:=''
else
FieldByName('WCSJ').AsDateTime:=qry1.FieldByName('ZXSJ').AsDateTime;
FieldByName('DDY').AsString:=qry1.FieldByName('DDY').AsString;
post;
end;
//DBS_YXHZ.DataSet.Next;
qry1.Next;
end;
DBS_HZ.DataSet.enablecontrols;
{qry2.close; //过滤本班编辑过的工程检修详细信息记录
qry2.CommandText:='select * from DD_YXRZJLB where glbm=''DD_GCJXRZJL'' and BCID='''+DSBYXRZJJB.DataSet.FieldByName('inst_id').AsString+''' and glid in ('
+'select inst_id from DD_GCJXRZJL where ((((jsbssj is null) and ((ksbssj <=to_date('''+jstrrq+''',''yyyy-mm-dd HH24:MI:SS'')))) or '
+' ((ksbssj <= to_date('''+jstrrq+''',''yyyy-mm-dd HH24:MI:SS'')) and (jsbssj > to_date('''+jstrrq+''',''yyyy-mm-dd HH24:MI:SS'')))) or'
+' ((jsbssj >= to_date('''+strrq+''',''yyyy-mm-dd HH24:MI:SS'')) and (jsbssj <= to_date('''+jstrrq+''',''yyyy-mm-dd HH24:MI:SS'')))) )';
qry2.Open;
while not qry2.eof do
begin
with DBS_HZ.DataSet do
begin
append;
FieldByName('LX').AsString:=qry2.FieldByName('LX').AsString;
if qry2.FieldByName('JLSJ').AsString='' then
FieldByName('SJ').AsString:=''
else
FieldByName('SJ').AsDateTime:=qry2.FieldByName('JLSJ').AsDateTime;
FieldByName('BM').AsString:=qry2.FieldByName('SLRBZ').AsString;
FieldByName('XM').AsString:=qry2.FieldByName('SLR').AsString;
FieldByName('NR').AsString:=qry2.FieldByName('XXNR').AsString;
if qry2.FieldByName('ZXSJ').AsString='' then
FieldByName('WCSJ').AsString:=''
else
FieldByName('WCSJ').AsDateTime:=qry2.FieldByName('ZXSJ').AsDateTime;
FieldByName('DDY').AsString:=qry2.FieldByName('DDY').AsString;
post;
end;
qry2.next;
end; }
TSQLDataSet(DBS_HZ.dataset).Order:='SJ';
TSQLDataSet(DBS_HZ.dataset).Open;
//finally
//end;
//qry2.Free;
end; //if locate
end // qry.recordcount>0 then
else
jsDialogs.ShowMsg('无此班次,请重新选择!','提示');
//finally
//end;
end
else
begin
jsDialogs.ShowMsg('请选择日期及班次!','提示');
end;
finally
qry1.Free;
qry.free;
end;
//DocView1.OpenMode :=TDocMode.dmPreview;
end; |