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

📄 gzgl_print_ybb.pas

📁 一款工装信息管理信息,可以用于制造业,是工厂管理的好帮手
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    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 + -