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

📄 unitsulfname.~pas

📁 此代码为企业原料管理代码
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
  flt3:=strtofloat(formatfloat('0.0',flt3));
  table1.FieldByName('Wasterper').asfloat:=flt3;//胶料损耗
  flt1:=flt3/query1.fieldbyname('hgj').asfloat;
   flt1:=strtofloat(formatfloat('0.00',flt1*100));
   table1.FieldByName('shl').asfloat:=flt1;
  table1.FieldByName('Wastermoney').asfloat:=query1.fieldbyname('Wastermoney').asfloat;//经额损耗
  table1.post;
   query1.next;
 end;//while
  DBGrid1.Columns[2].Visible:=true;
  DBGrid1.Columns[1].Visible:=false;
  DBGrid1.Columns[3].Visible:=false;
  DBGrid1.Columns[4].Visible:=false;
 
end;  //======月显示=========

 exit;
 end;
 showmessage('请先输入职工姓名!');

//============================查询总结束==================================
end;

procedure TFrmSulfName.bbpriorClick(Sender: TObject);
begin
 table1.open;
 dbgrid1.SetFocus;
 table1.Prior ;
end;

procedure TFrmSulfName.bbnextClick(Sender: TObject);
begin
 table1.open;
 dbgrid1.SetFocus;
 table1.Next;
end;

procedure TFrmSulfName.bbcancalClick(Sender: TObject);
begin

  close;
end;

procedure TFrmSulfName.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
 with query3 do
      begin
        close;
        sql.Clear;
        sql.Add('delete from SulfCardName ');
        execsql;
      end;

table1.close;
ename.Text:='';
  with query3 do
      begin
        close;
        sql.Clear;
        sql.Add('delete from SulfCardAllName ');
        execsql;
      end;

tableAllname.close;
queryindexqcper.close;
end;
//==========打印显示事件=======================
procedure TFrmSulfName.BBprintClick(Sender: TObject);
begin
   if (i=1)and(j=1) then //if1
  begin
if RBdate.Checked=true then
begin
  FrmSulfNamePrint.QRLabeldate.Caption:=datetostr(date);
  FrmSulfNamePrint.QRLabelname.Caption:=ename.text;
  FrmSulfNamePrint.QRLabel1.Caption :='个人生产质量统计表';
  FrmSulfNamePrint.QuickRep1.preview;
end;
if RBMonth.Checked=true then
 begin
  FrmSulfNamePrintM.QRLabeldate.Caption:=datetostr(date);
  FrmSulfNamePrintM.QRLabelname.Caption:=ename.text;
  FrmSulfNamePrintM.QRLabel1.Caption :='从'+datetostr(DateTimePicker1.date)+'到 '+datetostr(DateTimePicker2.date)+' 个人生产质量统计表';
  FrmSulfNamePrintM.QuickRep1.preview;
 end;
 exit;
 end;
 showmessage('请先按“查询”按键!');
end;


//=========图表显示事件================
procedure TFrmSulfName.BBpicClick(Sender: TObject);
begin
 if (i=1)and(j=1) then //if1
  begin
if RBdate.Checked=true then
 begin
  FrmSulfNameChart.DBChart1.Title.Text.Text:=ename.text+'生产质量统计图表';
  FrmSulfNameChart.show;
 end;
if RBMonth.Checked=true then
 begin
  FrmSulfNameChartM.DBChart1.Title.Text.Text:=ename.text+'生产质量统计图表';
  FrmSulfNameChartM.show;
 end;
  exit;
end;
 showmessage('请先按“查询”按键!');
end;

procedure TFrmSulfName.RBdateClick(Sender: TObject);
begin
 j:=0;
//=============初始化,清空记录===================
 with query3 do
      begin
        close;
        sql.Clear;
        sql.Add('delete from SulfCardName ');
        execsql;
      end;
  table1.close;
 //Table1TDate.Visible:=true;
 //Table1TMonth.Visible:=false;
end;

procedure TFrmSulfName.RBMonthClick(Sender: TObject);
begin
  j:=0;
//=============初始化,清空记录================
 with query3 do
      begin
        close;
        sql.Clear;
        sql.Add('delete from SulfCardName ');
        execsql;
      end;
 table1.close;
//Table1TMonth.Visible:=true;
//Table1TDate.Visible:=false;
end;

procedure TFrmSulfName.FormShow(Sender: TObject);
begin
   i:=0;
   table1.open;
   tableAllname.open;
   ename.text:='';
   DateTimePicker1.date:=date-30;
   DateTimePicker2.date:=date;
   DateTimePicker3.date:=date-30;
   DateTimePicker4.date:=date;

   PageControl1.ActivePageIndex:=0;
end;

procedure TFrmSulfName.enameEnter(Sender: TObject);
begin
  j:=0;
  i:=1;
  ename.text:='';
   table1.close;
  if CheckBoxname.Checked = true then begin
    FrmcommqueryID.PageControl1.ActivePageIndex:=0;

   // FrmcommqueryID.eStaffID.text:='';
    if  FrmcommqueryID.showmodal=mrok then
     begin
      ename.text:=FrmcommqueryID.query3.fieldbyname('staffname').asstring;
     end;
   end;
end;

procedure TFrmSulfName.bbSerchAllNameClick(Sender: TObject);
var int0,int1,int2,int3,int4,int5,int6,int7:integer;
    flt1,flt2,flt3,flt4,flt5,flt6,flt7:real;
    clmodhu:real;
    str1,str2,str3:string;
begin
  bbSerchAllName.Cursor:=crAppStart;
  flt4:=0;
 i:=1;
//=============初始化,清空记录===================
 with query3 do
      begin
        close;
        sql.Clear;
        sql.Add('delete from SulfCardAllName ');
        execsql;
      end;

//============SQL分组查询开始===========================

  with queryallname do begin
   close;
   sql.clear;
   sql.Add (' select name,prodnameid,sum(qcnum)as SumQcNum,sum(DrawWeight)as sumDW,');
   sql.Add ('sum(lacknum)as SumLackNum,sum(impunum)as SumImpuNum,sum(polenum)as SumPoleNum,');
   sql.Add ('sum(ripnum)as SumRipNum,sum(elsenum)as SumElseNum from SulfCard');
   //sql.Add (' where  tdate between :fromdate and :todate and SulfCard.prodnameid=ProdDictionary.prodid and SulfCard.生产批号 = 炼胶工艺卡.生产批号');
   sql.Add (' where  tdate between :fromdate and :todate ');//and SulfCard.prodnameid=ProdDictionary.prodid ');
   sql.Add ('group by name,prodnameid'  );
   parambyname('fromdate').asdate:=DateTimePicker3.date;
   parambyname('todate').asdate:=DateTimePicker4.date;
   open;
   if queryallname.FieldByName('name').asstring='' then  begin
        showmessage('无记录!');
        exit;
      end;
 end;//with
 tableAllname.open;
 queryAllname.First;
 while  not queryAllname.eof do
 begin
  tableAllname.append;
  tableAllname.FieldByName('name').asstring:=queryAllname.fieldbyname('name').asstring;
  //tableAllname.FieldByName('figid').asstring:=queryAllname.fieldbyname('figid').asstring;
  //tableAllname.FieldByName('prodname').asstring:=queryAllname.fieldbyname('prodname').asstring;
  tableAllname.FieldByName('qcnum').asinteger:=queryAllname.fieldbyname('sumqcnum').asinteger;
  tableAllname.FieldByName('lacknum').asinteger:=queryAllname.fieldbyname('sumlacknum').asinteger;
  tableAllname.FieldByName('impunum').asinteger:=queryAllname.fieldbyname('sumimpunum').asinteger;
  tableAllname.FieldByName('ripnum').asinteger:=queryAllname.fieldbyname('sumripnum').asinteger;
  tableAllname.FieldByName('polenum').asinteger:=queryAllname.fieldbyname('sumpolenum').asinteger;
  tableAllname.FieldByName('elsenum').asinteger:=queryAllname.fieldbyname('sumelsenum').asinteger;
  //==============计算废品数和合格率/胶料损耗/金额损耗=====================
  int0:=tableAllname.FieldByName('qcnum').asinteger;
  int1:=tableAllname.FieldByName('lacknum').asinteger;
  int2:=tableAllname.FieldByName('impunum').asinteger;
  int3:=tableAllname.FieldByName('polenum').asinteger;
  int4:=tableAllname.FieldByName('ripnum').asinteger;
  int5:=tableAllname.FieldByName('elsenum').asinteger;
  tableAllname.FieldByName('wasternum').asinteger:=int1+int2+int3+int4+int5;//废品数
  if int0+int1+int2+int3+int4+int5=0 then
   tableAllname.FieldByName('qcper').asfloat:=0
  else
  begin
   flt4:=int0/(int0+int1+int2+int3+int4+int5);
   flt4:=strtofloat(formatfloat('0.00',flt4*100));
   tableAllname.FieldByName('qcper').asfloat:=flt4; //合格率
  end;
  flt1:=queryAllname.fieldbyname('sumDW').asfloat; //领料重
     with Query1 do
    begin
      close;
      SQL.Clear ;
      sql.Add (' select * from ProdDictionary');
      sql.Add (' where ProdID =:index');
      parambyname('index').asstring:=queryallname.fieldbyname('prodnameId').asstring;
       open;
      //flt6:=fieldbyname('单价').asfloat; //胶料价
     flt2:=Query1.fieldbyname('Weight').asfloat; //单净重
     int6:=Query1.fieldbyname('gujia').asinteger;
     int7:=Query1.fieldbyname('tanhuang').asinteger;
     str1:=query1.fieldbyname('rubbname').asstring;
     str2:=query1.fieldbyname('gjxh').asstring;
    // str3:=query1.fieldbyname('thxh').asstring;
      end;
      with Query1 do
    begin
      close;
      SQL.Clear ;
      sql.Add (' select * from 炼胶工艺卡');
      sql.Add (' where 制成品名称=:index');
      parambyname('index').asstring:=str1;
      open;
      flt5:=fieldbyname('单价').asfloat; //胶料价
     end;
      with Query1 do
    begin
      close;
      SQL.Clear ;
      sql.Add (' select * from 原材料台帐');
      sql.Add (' where 材料名称=:index');
      parambyname('index').asstring:=str2;
      open;
      flt6:=fieldbyname('单价').asfloat; //骨架价
     end;

   
  flt6:=int6*flt6*(int1+int2+int3+int4+int5); //骨架金额损耗
  //flt5:=queryAllname.fieldbyname('avgrubbprce').asfloat; //胶料单价
  flt3:=flt1-flt2*int0;
  flt3:=strtofloat(formatfloat('0.0',flt3));
  tableAllname.FieldByName('Wasterper').asfloat:=flt3;//胶料损耗
  tableAllname.FieldByName('hgj').asfloat:=flt2*int0;
//修改小数点
  clmodhu:=strtofloat(formatfloat('0.00',(flt3*flt5/1000+flt6)));
  tableAllname.FieldByName('wastermoney').asfloat:=clmodhu;//金额损耗
  tableAllname.Post;
  queryAllname.next;
 end;//while
// tableAllname.First;
    with tableAllname do
  begin
  open;
  first;
  while  not eof do
  begin
   edit;
    with Query1 do
    begin
   close;
   sql.clear;
   sql.Add (' select sum(qcnum)as SumQcNum,sum(wasternum)as sumwasternum,sum(wasterper)as sumper,sum(hgj)as hgj from SulfCardAllName where name=:na');
   parambyname('na').asstring:=tableAllname.fieldbyname('name').asstring;
   open;
   flt1:=fieldbyname('SumQcNum').asinteger/(fieldbyname('SumQcNum').asinteger+fieldbyname('sumwasternum').asinteger)*100;
   flt1:=strtofloat(formatfloat('0.00',flt1));
   flt4:=fieldbyname('sumper').asinteger/fieldbyname('hgj').asinteger;
   flt4:=strtofloat(formatfloat('0.00',flt4*100));
    end;//with
   fieldbyname('qcper').asfloat:=flt1;
   fieldbyname('shl').asfloat:=flt4;
   post;
   next;
  end;
  end;

 //===再分组======
 with queryindexqcper do begin
   close;
   sql.clear;
   sql.Add (' select name,sum(qcnum)as SumQcNum,sum(wasternum)as sumwasternum,sum(shl)as sumshl,');
   sql.Add ('sum(wasterper)as sumper,sum(wastermoney)as sumwmoney,avg(qcper)as avgqcper,');
   sql.Add ('sum(lacknum)as SumLackNum,sum(impunum)as SumImpuNum,sum(polenum)as SumPoleNum,');
   sql.Add ('sum(ripnum)as SumRipNum,sum(elsenum)as SumElseNum from SulfCardAllName');
   sql.Add ('group by name');
   sql.Add ('order  by avgqcper desc ');
   open;
 end;//with
 bbSerchAllName.Cursor:=crDefault;

 end;//======结束===============
procedure TFrmSulfName.bballprintClick(Sender: TObject);
begin
 if i=1 then
begin
 FrmSulfNameAllPrint.QRLabel1.caption:='从'+datetostr(DateTimePicker3.date)+'到 '+datetostr(DateTimePicker4.date)+' 全体人员操作水平统计';
 FrmSulfNameAllPrint.QRLabeldate.Caption:=datetostr(date);
 FrmSulfNameAllPrint.QuickRep1.Preview;
 exit
end;
showmessage('请先按“查询”按键!');
end;

procedure TFrmSulfName.bballchartClick(Sender: TObject);
begin
 if i=1 then
 begin
 frmSulfNameAllChart.DBChart1.Title.Text.Text:='从'+datetostr(DateTimePicker3.date)+'到 '+datetostr(DateTimePicker4.date)+' 全体人员操作水平统计图表';
 FrmSulfNameAllChart.show;
 exit
end;
showmessage('请先按“查询”按键!');
 end;

procedure TFrmSulfName.BitBtn4Click(Sender: TObject);
begin
 dbgrid2.SetFocus;
 queryindexqcper.open;
 queryindexqcper.Prior;
end;

procedure TFrmSulfName.BitBtn5Click(Sender: TObject);
begin
 dbgrid2.SetFocus;
 queryindexqcper.open;
 queryindexqcper.next;
end;

procedure TFrmSulfName.BitBtn6Click(Sender: TObject);
begin
  queryindexqcper.close;
  close;
end;



procedure TFrmSulfName.TabSheet1Show(Sender: TObject);
begin
 i:=0;
 j:=0;
 Queryindexqcper.close;
 table1.close;
end;



end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -