|
while not queryuser.eof do //每个员工
begin
userid:=queryuser.FieldByName('userid').AsString;
username:=queryuser.FieldByName('username').AsString;
deptname:=queryuser.FieldByName('deptname').AsString;
with InfoBroker1.Info.DataSetByID('DSPerCheckCalcMain') do
begin
Append;
FieldByName('lmonth').AsString:=temp;
FieldByName('deptname').AsString:=deptname;
end;
qryschclass.Close;
qryschclass.CommandText:='select distinct c.schname from fz_userinfo a,fz_schclass_num_run b,'
+'fz_schclass c where a.num_runid=b.num_runid and b.schclassid=c.schclassid and a.userid='+SysUtils.QuotedStr(userid);
qryschClass.Open;
qryschclass.First;
while not qryschclass.Eof do //每个班别
begin
schname:=qryschClass.FieldByName('schname').AsString;
num_runid:=queryuser.FieldByName('num_runid').AsString;
tempquery.Close;
tempquery.CommandText:='select max(schclassid) as schclassid from fz_schclass where schname='+SysUtils.QuotedStr(schname);
tempquery.Open;
schclassid:=tempquery.FieldByName('schclassid').AsString;
with InfoBroker1.Info.DataSetByID('DSPerCheckCalcDetail') do
begin
Append;
FieldByName('lmonth').AsString:=temp;
FieldByName('username').AsString:=username;
FieldByName('deptname').AsString:=deptname;
FieldByName('schname').AsString:=schname;
CalcUserCheck(userid,schclassid,num_runid) ;
//计算
end;
qryschclass.Next;
end;
queryuser.next;
end;
InfoBroker1.Info.DataSetByID('DSPerCheckCalcMain').UpdateOptions.InsertSQL:='insert into FZ_perCheckMain(lmonth,deptname) values(:lmonth,:deptname)' ;
InfoBroker1.Info.DataSetByID('DSPerCheckCalcMain').ApplyUpdates;
InfoBroker1.Info.DataSetByID('DSPerCheckCalcDetail').ApplyUpdates;
|
|