📄 gzgl_print_ybb.pas
字号:
sql.Add(s);
execsql;
dmd.Tbl_YBB.close;
dmd.Tbl_YBB.open;
end;
end;
procedure TFrmGZGL_Print_YBB.GetBaseData;
var
s,s1:string; //sql语句前段,后段
BBRQ,lbdh,lbmc:string; //报表日期,类别代号,类别名称
gshj,czhj:integer;//工时合计,产值合计
n,i:integer;//控制lst2循环,控制ok数组循环
ok:array[1..15]of integer;//统计好的各字段值
begin
bbrq:=edt_y.Text+'-'+edt_m.Text;
for n:=0 to lst2.count-1 do begin
application.ProcessMessages;
lbmc:=lst2.Items[n];
lab_info.Caption:='获取报表数据'+lbmc;
dmd.tbl_lb.Locate('lbmc',lbmc,[]);
lbdh:=dmd.tbl_lb.fieldbyname('lbdh').AsString;
for i:=1 to 15 do begin
application.ProcessMessages;
s1:='select gzbh from 工装 where lb="'+lbdh+'" ';
case i of
1 :s:=' and gzbh like "__[0][8]%" and DHRQ like "'+bbrq+'%"';//焊具 0
2 :s:=' and gzbh like "__[0][8]%" and WGRQ like "'+bbrq+'%"';
3 :s:=' and gzbh like "__[0][8]%" and YZRQ like "'+bbrq+'%"';
4 :s:=' and gzbh like "__[1]%" and DHRQ like "'+bbrq+'%"';//模具 1
5 :s:=' and gzbh like "__[1]%" and WGRQ like "'+bbrq+'%"';
6 :s:=' and gzbh like "__[1]%" and YZRQ like "'+bbrq+'%"';
7 :s:=' and gzbh like "__[268]%" and DHRQ like "'+bbrq+'%"';//刀辅量 2 6 8
8 :s:=' and gzbh like "__[268]%" and WGRQ like "'+bbrq+'%"';
9 :s:=' and gzbh like "__[268]%" and YZRQ like "'+bbrq+'%"';
10:s:=' and gzbh like "__[7]%" and DHRQ like "'+bbrq+'%"';//夹具 7
11:s:=' and gzbh like "__[7]%" and WGRQ like "'+bbrq+'%"';
12:s:=' and gzbh like "__[7]%" and YZRQ like "'+bbrq+'%"';
13:
begin
s:=' and gzbh like "__[0][0-79]%" and DHRQ like "'+bbrq+'%"';//其它 [0][^8]
s:=' and gzbh like "__[3459]%" and DHRQ like "'+bbrq+'%"';//其它 [3459]
end;
14:
begin
s:=' and gzbh like "__[0][0-79]%" and WGRQ like "'+bbrq+'%"';//其它 [0][^8]
s:=' and gzbh like "__[3459]%" and WGRQ like "'+bbrq+'%"';//其它 [3459]
end;
15:
begin
s:=' and gzbh like "__[0][0-79]%" and YZRQ like "'+bbrq+'%"';//其它 [0][^8]
s:=' and gzbh like "__[3459]%" and YZRQ like "'+bbrq+'%"';//其它 [3459]
end;
end;
s:=s1+s;
with dmd.Qry_temp do begin
close;
sql.Clear;
sql.Add(s);
try
open;
except
execsql;
end;
ok[i]:=recordcount; //一切只为这一句....
end;
end;{for i}
//工时合计,产值合计
with dmd.qry_temp do begin
close;
sql.clear;
s1:='select sum(gs) as 工时合计,sum(cz) as 产值合计 from 工装 where lb="'+lbdh+'" ';
s:=' and WGRQ like "'+bbrq+'%"';
sql.Add(s1+s);
try
open;
except
execsql;
end;
gshj:=FieldByName('工时合计').asinteger;
czhj:=fieldbyname('产值合计').asinteger;
end;
with dmd.Tbl_YBB do begin
Append;
FieldByName('车型').Asstring:=lbmc;
FieldByName('焊具订货').Asinteger:=ok[1];
FieldByName('焊具完工').Asinteger:=ok[2];
FieldByName('焊具验证').Asinteger:=ok[3];
FieldByName('模具订货').Asinteger:=ok[4];
FieldByName('模具完工').Asinteger:=ok[5];
FieldByName('模具验证').Asinteger:=ok[6];
FieldByName('刀辅量订货').Asinteger:=ok[7];
FieldByName('刀辅量完工').Asinteger:=ok[8];
FieldByName('刀辅量验证').Asinteger:=ok[9];
FieldByName('夹具订货').Asinteger:=ok[10];
FieldByName('夹具完工').Asinteger:=ok[11];
FieldByName('夹具验证').Asinteger:=ok[12];
FieldByName('其它订货').Asinteger:=ok[13];
FieldByName('其它完工').Asinteger:=ok[14];
FieldByName('其它验证').Asinteger:=ok[15];
FieldByName('订货小计').Asinteger:=ok[1]+ok[4]+ok[7]+ok[10]+ok[13];
FieldByName('完工小计').Asinteger:=ok[2]+ok[5]+ok[8]+ok[11]+ok[14];
FieldByName('验证小计').Asinteger:=ok[3]+ok[6]+ok[9]+ok[12]+ok[15];
FieldByName('工时小计').Asinteger:=gshj;
FieldByName('产值小计').Asinteger:=czhj;
post;
end;
end;{for n}
end;
procedure TFrmGZGL_Print_YBB.FixGetedData;
var
s:string;
begin
with dmd.qry_temp do begin
s:='delete from 月末报表 where 车型<>"合计" and ';
s:=s+'焊具订货+模具订货+夹具订货+刀辅量订货+其它订货+';
s:=s+'焊具完工+模具完工+夹具完工+刀辅量完工+其它完工+';
s:=s+'焊具验证+模具验证+夹具验证+刀辅量验证+其它验证=0';
if active then close;
sql.Clear;
sql.Add(s);
execsql;
dmd.Tbl_YBB.close;
dmd.Tbl_YBB.open;
end;
end;
procedure TFrmGZGL_Print_YBB.CountGetedData;
var
s:string;
begin
//计算、添加合计
with dmd.qry_temp do begin
close;
sql.clear;
s:='select ';
s:=s+' sum(订货小计)as dhxj,sum(焊具订货)as hjdh,sum(模具订货)as mjdh,sum(夹具订货)as qjdh,sum(刀辅量订货)as dfldh,sum(其它订货)as qtdh,';
s:=s+' sum(完工小计)as wgxj,sum(焊具完工)as hjwg,sum(模具完工)as mjwg,sum(夹具完工)as qjwg,sum(刀辅量完工)as dflwg,sum(其它完工)as qtwg,';
s:=s+' sum(验证小计)as yzxj,sum(焊具验证)as hjyz,sum(模具验证)as mjyz,sum(夹具验证)as qjyz,sum(刀辅量验证)as dflyz,sum(其它验证)as qtyz,';
s:=s+' sum(工时小计)as gsxj,sum(产值小计)as czxj from 月末报表';
sql.Add(s);
try
open;
except
execsql;
end;
end;
with dmd.Tbl_YBB do begin
Append;
FieldByName('车型').Asstring:='合计';
FieldByName('焊具订货').Asinteger:=dmd.Qry_temp.fieldbyname('hjdh').AsInteger;
FieldByName('焊具完工').Asinteger:=dmd.Qry_temp.fieldbyname('hjwg').AsInteger;
FieldByName('焊具验证').Asinteger:=dmd.Qry_temp.fieldbyname('hjyz').AsInteger;
FieldByName('模具订货').Asinteger:=dmd.Qry_temp.fieldbyname('mjdh').AsInteger;
FieldByName('模具完工').Asinteger:=dmd.Qry_temp.fieldbyname('mjwg').AsInteger;
FieldByName('模具验证').Asinteger:=dmd.Qry_temp.fieldbyname('mjyz').AsInteger;
FieldByName('刀辅量订货').Asinteger:=dmd.Qry_temp.fieldbyname('dfldh').AsInteger;
FieldByName('刀辅量完工').Asinteger:=dmd.Qry_temp.fieldbyname('dflwg').AsInteger;
FieldByName('刀辅量验证').Asinteger:=dmd.Qry_temp.fieldbyname('dflyz').AsInteger;
FieldByName('夹具订货').Asinteger:=dmd.Qry_temp.fieldbyname('qjdh').AsInteger;
FieldByName('夹具完工').Asinteger:=dmd.Qry_temp.fieldbyname('qjwg').AsInteger;
FieldByName('夹具验证').Asinteger:=dmd.Qry_temp.fieldbyname('qjyz').AsInteger;
FieldByName('其它订货').Asinteger:=dmd.Qry_temp.fieldbyname('qtdh').AsInteger;
FieldByName('其它完工').Asinteger:=dmd.Qry_temp.fieldbyname('qtwg').AsInteger;
FieldByName('其它验证').Asinteger:=dmd.Qry_temp.fieldbyname('qtyz').AsInteger;
FieldByName('订货小计').Asinteger:=dmd.Qry_temp.fieldbyname('dhxj').AsInteger;
FieldByName('完工小计').Asinteger:=dmd.Qry_temp.fieldbyname('wgxj').AsInteger;
FieldByName('验证小计').Asinteger:=dmd.Qry_temp.fieldbyname('yzxj').AsInteger;
FieldByName('工时小计').Asinteger:=dmd.Qry_temp.fieldbyname('gsxj').AsInteger;
FieldByName('产值小计').Asinteger:=dmd.Qry_temp.fieldbyname('czxj').AsInteger;
post;
end;
end;
procedure TFrmGZGL_Print_YBB.btn_next2Click(Sender: TObject);
begin
pag1.ActivePageIndex:=2;
end;
procedure TFrmGZGL_Print_YBB.Tab1Show(Sender: TObject);
begin
edt_y.SetFocus;
edt_y.SelectAll;
end;
procedure TFrmGZGL_Print_YBB.EDT_YKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if strlen(pchar(edt_y.Text))=4 then begin
edt_m.SetFocus;
edt_m.SelectAll;
end;
end;
procedure TFrmGZGL_Print_YBB.pag1Changing(Sender: TObject; var AllowChange: Boolean);
begin
if (pag1.ActivePageIndex=0)and((lst2.Count<1)or(strlen(pchar(edt_y.Text))<>4)or(strlen(pchar(edt_m.Text))<>2)) then
AllowChange:=false;
end;
procedure TFrmGZGL_Print_YBB.btn_back2Click(Sender: TObject);
begin
pag1.ActivePageIndex:=0;
end;
procedure TFrmGZGL_Print_YBB.btn_back3Click(Sender: TObject);
begin
pag1.ActivePageIndex:=1;
end;
procedure TFrmGZGL_Print_YBB.btn_next1Click(Sender: TObject);
begin
if (pag1.ActivePageIndex=0)and((lst2.Count<1)or(strlen(pchar(edt_y.Text))<>4)or(strlen(pchar(edt_m.Text))<>2)) then
else begin
pag1.ActivePageIndex:=1;
btn_getdataClick(Sender)
end;
end;
procedure TFrmGZGL_Print_YBB.Btn_exitClick(Sender: TObject);
begin
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -