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

📄 unit_modeman.pas

📁 此代码为企业原料管理代码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      sql.Add (' where 制成品名称=:index ');
      parambyname('index').asstring:=ru;
      open;
      flt5:=fieldbyname('单价').asfloat; //胶料单价
      close;
      SQL.Clear ;
      sql.Add (' select 单价,材料名称 from 原材料台帐');
      sql.Add (' where 材料名称=:index ');
      parambyname('index').asstring:=str1;
      open;
      flt6:=fieldbyname('单价').asfloat;
      flt6:=flt6*int6*(int1+int2);
//修改小数点
      clmodhu:=strtofloat(formatfloat('0.00',(flt3*flt5/1000+flt6)));
      table1.FieldByName('wastermoney').asfloat:=clmodhu;//金额损耗
      table1.Post;
      end;
  query2.next;
 end;//while
  DBGrid1.Columns[2].Visible:=false;
  DBGrid1.Columns[1].Visible:=true;
  DBGrid1.Columns[3].Visible:=true;
  DBGrid1.Columns[4].Visible:=true;
 //table1.First;
 end;//======显示日结束===============

if rbmonth.Checked=true then  //==判断显示月=========
begin
   with query2 do
    begin
      close;
      SQL.Clear ;
      sql.Add (' select riqi,tmonth,name,Figid,prodname,prodid,hao as SumQcNum,lin as sumDW,');
      sql.Add ('xioufei as SumLackNum,huai as SumImpuNum from zhenxiou');
      sql.Add (' where name=:index and  riqi between :fromdate and :todate ');//and SulfCard.prodnameid=ProdDictionary.prodid');
      parambyname('fromdate').asdate:=DateTimePicker1.date;
      parambyname('todate').asdate:=DateTimePicker2.date;
      parambyname('index').asstring:=eName.text;
      open;
      if query2.FieldByName('name').asstring='' then  begin
        showmessage('无记录!');
        exit;
      end;
    end;
//===========以下是向Table1中抄写记录================

//Table1TMonth.Visible:=false;
//Table1TDate.Visible:=true;
table1.open;
query2.First;
while  not query2.eof do
 begin
  table1.append;
  //showmessage(copy(datetostr(query2.fieldbyname('tmonth').asdatetime),3,5));
  table1.FieldByName('tmonth').asstring:=query2.fieldbyname('tmonth').asstring;//query2.fieldbyname('tmonth').asdatetime;
  table1.FieldByName('name').asstring:=query2.fieldbyname('name').asstring;
  table1.FieldByName('figid').asstring:=query2.fieldbyname('figid').asstring;
  table1.FieldByName('prodname').asstring:=query2.fieldbyname('prodname').asstring;
  table1.FieldByName('qcnum').asinteger:=query2.fieldbyname('sumqcnum').asinteger;
  table1.FieldByName('lacknum').asinteger:=query2.fieldbyname('sumlacknum').asinteger;
  table1.FieldByName('impunum').asinteger:=query2.fieldbyname('sumimpunum').asinteger;
  table1.FieldByName('elsenum').asinteger:=query2.fieldbyname('sumDW').asinteger;
  //==============计算废品数和合格率/胶料损耗/金额损耗=====================
  int0:=table1.FieldByName('qcnum').asinteger;
  int1:=table1.FieldByName('lacknum').asinteger;
  int2:=table1.FieldByName('impunum').asinteger;
  //int3:=table1.FieldByName('polenum').asinteger;
  //int4:=table1.FieldByName('ripnum').asinteger;
  int5:=table1.FieldByName('elsenum').asinteger;
  table1.FieldByName('wasternum').asinteger:=int1+int2;//废品数
  if int5=0 then
   table1.FieldByName('qcper').asfloat:=100
  else
   begin
   flt4:=int0/int5;
   flt4:=strtofloat(formatfloat('0.00',flt4*100));
   table1.FieldByName('qcper').asfloat:=flt4; //合格率
   end;
  //flt1:=query2.fieldbyname('sumDW').asinteger; //领坯
   with query1 do
    begin
      close;
      SQL.Clear ;
      sql.Add (' select * from ProdDictionary');
      sql.Add (' where prodid=:index ');
      parambyname('index').asstring:=query2.fieldbyname('prodid').asstring;
      open;
      ru:=fieldbyname('RubbName').asstring;
      str1:=fieldbyname('gjxh').asstring;
      flt2:=fieldbyname('Weight').asfloat; //净重
      int6:=fieldbyname('gujia').asinteger;
      flt3:=flt2*(int1+int2);
      flt3:=strtofloat(formatfloat('0.0',flt3));
      table1.FieldByName('Wasterper').asfloat:=flt3;//胶料损耗
      close;
      SQL.Clear ;
      sql.Add (' select 单价,制成品名称 from 炼胶工艺卡');
      sql.Add (' where 制成品名称=:index ');
      parambyname('index').asstring:=ru;
      open;
      flt5:=fieldbyname('单价').asfloat; //胶料单价
       close;
      SQL.Clear ;
      sql.Add (' select 单价,材料名称 from 原材料台帐');
      sql.Add (' where 材料名称=:index ');
      parambyname('index').asstring:=str1;
      open;
      flt6:=fieldbyname('单价').asfloat; //骨架单价
      flt6:=flt6*int6*(int1+int2);
//修改小数点
      clmodhu:=strtofloat(formatfloat('0.00',(flt3*flt5/1000+flt6)));
      table1.FieldByName('wastermoney').asfloat:=clmodhu;//金额损耗
       table1.post;
      end;
      query2.next;
  //showmessage('无记!');
   //Table1.open;
 end;//while
   with query1 do
    begin
      close;
      SQL.Clear ;
      sql.Add (' select tmonth, sum(qcnum) as QcNum,sum(wasternum) as wasternum,');
      sql.Add ('sum(Wasterper) as Wasterper,sum(lacknum) as lackNum,sum(impunum) as ImpuNum,avg(qcper) as qcper,');
      sql.Add ('sum(Wastermoney) as Wastermoney,sum(elsenum) as ElseNum from modeName');
      sql.Add ('group by tmonth'  );
      open;
//       showmessage(inttostr(recordcount));
     end;


 //===========以下是向Table1中抄写记录================
  with query3 do
      begin
        close;
        sql.Clear;
        sql.Add('delete from modeName ');
        execsql;
      end;

//Table1TMonth.Visible:=true;
//Table1TDate.Visible:=false;
query1.First;
while  not query1.eof do
 begin                                   

  table1.append;
  table1.FieldByName('tmonth').asstring:=query1.fieldbyname('tmonth').asstring;
  table1.FieldByName('name').asstring:=eName.text;
  //table1.FieldByName('figid').asstring:=query1.fieldbyname('figid').asstring;

  table1.FieldByName('qcnum').asinteger:=query1.fieldbyname('qcnum').asinteger;
  table1.FieldByName('lacknum').asinteger:=query1.fieldbyname('lacknum').asinteger;
  table1.FieldByName('impunum').asinteger:=query1.fieldbyname('impunum').asinteger;
  //table1.FieldByName('ripnum').asinteger:=query1.fieldbyname('ripnum').asinteger;
  //table1.FieldByName('polenum').asinteger:=query1.fieldbyname('polenum').asinteger;
  table1.FieldByName('elsenum').asinteger:=query1.fieldbyname('elsenum').asinteger;
   //==============计算废品数和合格率/损耗=====================

  table1.FieldByName('wasternum').asinteger:=query1.fieldbyname('wasternum').asinteger;//废品数
  if query1.fieldbyname('elsenum').asinteger=0 then
   table1.FieldByName('qcper').asfloat:=100
   else
   begin
   flt4:=query1.fieldbyname('qcnum').asinteger/query1.fieldbyname('elsenum').asinteger*100;
   flt4:=strtofloat(formatfloat('0.00',flt4));
   table1.FieldByName('qcper').asfloat:=flt4; //合格率
   end;
  flt3:=query1.fieldbyname('Wasterper').asfloat;
  flt3:=strtofloat(formatfloat('0.0',flt3));
  table1.FieldByName('Wasterper').asfloat:=flt3;//胶料损耗
  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 TForm_modeman.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;
   Form_modemanprt.close;
   Form_modemanprtM.close;
   Form_modemanallprt.close;
   Form_modemanchart.close;
   Form_modemanchartM.close;
   Form_modemanallchart.close;
end;

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

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

tableAllname.close;
queryindexqcper.close;
end;

procedure TForm_modeman.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 TForm_modeman.RBdateClick(Sender: TObject);
begin
   j:=0;
  with query3 do
      begin
        close;
        sql.Clear;
        sql.Add('delete from modeName ');
        execsql;
      end;
  table1.close;
end;



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

procedure TForm_modeman.bbnextClick(Sender: TObject);
begin
 table1.open;
 dbgrid1.SetFocus;
 table1.next ;
end;

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

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

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

procedure TForm_modeman.bbcancalClick(Sender: TObject);
begin
  close;
end;

procedure TForm_modeman.TabSheet1Exit(Sender: TObject);
begin
  Queryindexqcper.close;
end;

procedure TForm_modeman.TabSheet2Exit(Sender: TObject);
begin
  table1.Close;
end;

procedure TForm_modeman.bballprintClick(Sender: TObject);
begin
  if i=1 then
begin
 Form_modemanallprt.QRLabel1.caption:='从'+datetostr(DateTimePicker3.date)+'到 '+datetostr(DateTimePicker4.date)+' 全体人员整修统计';
 Form_modemanallprt.QRLabeldate.Caption:=datetostr(date);
 Form_modemanallprt.QuickRep1.Preview;
 exit
end;
showmessage('请先按“查询”按键!');
end;

procedure TForm_modeman.BBprintClick(Sender: TObject);
begin
 if (i=1)and(j=1) then //if1
  begin
if RBdate.Checked=true then
begin
  Form_modemanprt.QRLabeldate.Caption:=datetostr(date);
  Form_modemanprt.QRLabelname.Caption:=ename.text;
  Form_modemanprt.QRLabel1.Caption :='个人整修技术统计表';
  Form_modemanprt.QuickRep1.preview;
end;
if RBMonth.Checked=true then
 begin
  Form_modemanprtM.QRLabeldate.Caption:=datetostr(date);
  Form_modemanprtM.QRLabelname.Caption:=ename.text;
  Form_modemanprtM.QRLabel1.Caption :='从'+datetostr(DateTimePicker1.date)+'到 '+datetostr(DateTimePicker2.date)+' 个人整修月统计表';

  Form_modemanprtM.QuickRep1.preview;
 end;
 exit;
 end;
 showmessage('请先按“查询”按键!');
end;

procedure TForm_modeman.bballchartClick(Sender: TObject);
begin
if i=1 then
 begin
 Form_modemanallchart.DBChart1.Title.Text.Text:='从'+datetostr(DateTimePicker3.date)+'到 '+datetostr(DateTimePicker4.date)+' 全体人员整修技术统计图表';
 Form_modemanallchart.show;
 exit
end;
showmessage('请先按“查询”按键!');

end;

procedure TForm_modeman.BBpicClick(Sender: TObject);
begin
  if (i=1)and(j=1) then //if1
  begin
if RBdate.Checked=true then
 begin
  Form_modemanchart.DBChart1.Title.Text.Text:=ename.text+'整修质量统计图表';
  Form_modemanchart.show;
 end;
if RBMonth.Checked=true then
 begin
  Form_modemanchartM.DBChart1.Title.Text.Text:=ename.text+'整修质量统计图表';
  Form_modemanchartM.show;
 end;
  exit;
end;
 showmessage('请先按“查询”按键!');
end;

end.

⌨️ 快捷键说明

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