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

📄 unit_rubb_sqljiaoliao.~pas

📁 此代码为企业原料管理代码
💻 ~PAS
字号:

unit Unit_Rubb_sqljiaoliao;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, ExtCtrls, StdCtrls, Db, DBTables, Grids, DBGrids, Buttons,
  Mask, DBCtrls;

type
  TForm_Rubb_sqljiaoliao = class(TForm)
    Qry_Jiaoliao: TQuery;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Query1: TQuery;
    DBGrid2: TDBGrid;
    DataSource2: TDataSource;
    Panel1: TPanel;
    DateTimePicker_From0: TDateTimePicker;
    DateTimePicker_To0: TDateTimePicker;
    Panel2: TPanel;
    Panel3: TPanel;
    BitBtn1: TBitBtn;
    Label2: TLabel;
    Edit1: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Query2: TQuery;
    Label5: TLabel;
    DBEdit1: TDBEdit;
    Button1: TButton;
    BitBtn2: TBitBtn;
    Label1: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Label6: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Qry_JiaoliaoAfterScroll(DataSet: TDataSet);
    procedure BitBtn2Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
   // procedure BitBtn2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);


  private
    { Private declarations }
  public
    { Public declarations }
    procedure zdyQueryScroll();
  end;

var
  Form_Rubb_sqljiaoliao: TForm_Rubb_sqljiaoliao;
  jlweight,cpjweight,hegerate,yongliao,cpzweight:real;
  hegenum :integer;
implementation

uses Unit_Rubb_Main;

{$R *.DFM}

procedure TForm_Rubb_sqljiaoliao.zdyQueryScroll();
begin

  //Form_Rubb_Main.StatusBar1.Panels[1].Text:=format('共找到 %d 张工艺卡, 您现在浏览的是第 %d 张。',[Qry_QryProcCard.recordcount, Qry_QryProcCard.recno]);

  with form_rubb_main.Qry_MaterCard do
  begin
    close;
    sql.Clear;
    sql.Add('select * from 炼胶用料单 where 主表标识号 = :v_mid ');
    parambyname('v_mid').asinteger:=Qry_Jiaoliao.fieldbyname('标识号').asinteger;
    open;

//    if recordcount = 0 then
//      form_rubb_main.Qry_MaterCard.close;

  end; //with
 end;
 //==================查生产批号双击Grid1、胶料重量====================
procedure TForm_Rubb_sqljiaoliao.BitBtn1Click(Sender: TObject);
  //begin
var
  Mod_date:Tdate;
begin
  Mod_date:=DateTimePicker_From0.date;
  Mod_date:=Mod_date-1;

  with Qry_Jiaoliao do
  begin
    close;
    sql.Clear;
    sql.Add('select 生产批号,制成品名称,配料用料量,单价,标识号,混炼日期 from 炼胶工艺卡 ');
    sql.Add('where 混炼日期 between :v_from and :v_to  order by 混炼日期');
    parambyname('v_from').asdatetime:=Mod_date;
    parambyname('v_to').asdatetime:=DateTimePicker_To0.date;
    open;
  
     if recordcount = 0 then
      showmessage('没有找到符合条件的工艺卡!');
   end; //with

  DBGrid1.setfocus;
end;
 //================初始化==================
procedure TForm_Rubb_sqljiaoliao.FormCreate(Sender: TObject);
begin
 //Edit1.text:='';
  cpzweight:=0;
  DateTimePicker_From0.date:=date - 30;
  DateTimePicker_To0.date:=date ;
  yongliao:=0;
 end;

procedure TForm_Rubb_sqljiaoliao.Qry_JiaoliaoAfterScroll(
  DataSet: TDataSet);
begin
  zdyQueryScroll;
end;
//=============查出所选生产批号对应的所有产品、合格品数量===========
procedure TForm_Rubb_sqljiaoliao.BitBtn2Click(Sender: TObject);
var
  p : integer;
begin
   cpzweight:=0;
   yongliao:=0;
   with Query1 do
  begin
    close;
    sql.Clear;
    sql.Add('select ProdName,FigID,sum(DrawWeight) as DrawWeight,sum(QcNum) as QcNum,avg(Rate) as Rate  from SulfCard ');
    sql.Add('where 生产批号= :scph  group by FigID,ProdName');

    parambyname('scph').asstring:=Edit1.text;
        open;
      p:= FieldByName('QcNum').asinteger;
      //showmessage(inttostr(recordcount)+'    ');
     if( recordcount =1) and( p=0) then
      begin
       Form_Rubb_sqljiaoliao.DBEdit1.text:=inttostr(p) ;
       showmessage('没有产品!');
       exit;
      end;
  end; //with

     with Query1 do
        begin
         open;
         while not eof do

        begin
        // jlweight:= fieldbyname('ProdName').asfloat;
        Query2. close;
        Query2. sql.Clear;
        Query2. sql.Add('select Weight  from ProdDictionary ');//从产品字典查净重
        Query2. sql.Add('where ProdName = :v_id ');
        Query2. parambyname('v_id').asstring:=fieldbyname('ProdName').asstring ;
       // Qry_gailastflag. parambyname('bc').asfloat:=abc_id;
        Query2. open;
        cpjweight:=Query2. fieldbyname('Weight').asfloat; //净重
         //showmessage(floattostr(cpjweight)+'    ');
        hegenum:=Query1. fieldbyname('QcNum').asinteger; //合格品数量
        cpzweight:=cpzweight+hegenum*cpjweight/1000;//同产品总重量
        yongliao:=yongliao+Query1.fieldbyname('DrawWeight').asfloat;
         next;//查另一产品总重量

       end;//while

        //next;
        end; //with
         Edit2.text:=floattostr(cpzweight);
        //showmessage(floattostr(cpzweight)+' yu   ');
         Edit3.text:=floattostr(yongliao/1000);

        if yongliao=0 then
         exit;
       hegerate:=strtofloat(formatfloat('0.00',cpzweight/(yongliao/1000)*100)); //合格率
        //showmessage(floattostr(hegerate)+'    ');
       Query1.  close;
       Query1. sql.Clear;
       Query1. sql.Add('update SulfCard set Rate = :v '); //合格率送SulfCard表
       Query1. sql.Add('where  生产批号 = :v_id ');
       Query1. parambyname('v').asfloat:=hegerate;
       Query1. parambyname('v_id').asstring:=Edit1.text;
       Query1. execsql;
        // showmessage(floattostr(cpzweight)+'    ');
  //==========显示Grid2的内容===============
  with Query1 do
  begin
    close;
    sql.Clear;
    sql.Add('select ProdName,FigID,sum(DrawWeight/1000) as DrawWeight,sum(QcNum) as QcNum,avg(Rate) as Rate  from SulfCard ');
    sql.Add('where 生产批号= :scph  group by FigID,ProdName');

    parambyname('scph').asstring:=Edit1.text;
        open;

     // showmessage(inttostr(recordcount)+'    ');
     if recordcount =0  then
      showmessage('没有找到符合条件的胶料!');

  end; //with
  end;

 //==双击 DBGrid1Dbl、生产批号、配料用料量写入Edit1.text和jlweight========
procedure TForm_Rubb_sqljiaoliao.DBGrid1DblClick(Sender: TObject);
begin
   Edit1.SetFocus;
   Query1.active:=false;
   Edit2.text:='';
   Edit3.text:='';
   DBEdit1.text:='';
   Edit1.text:= Qry_Jiaoliao.fieldbyname('生产批号').asstring;
   jlweight:= Qry_Jiaoliao.fieldbyname('配料用料量').asfloat;
end;
 //====== 合格率写入 炼胶工艺卡库============
procedure TForm_Rubb_sqljiaoliao.Button1Click(Sender: TObject);
begin
  with Qry_Jiaoliao do
  begin
    close;
    sql.Clear;
    sql.Add('update 炼胶工艺卡 set 合格率=:rate1');
    sql.Add('where 生产批号 = :v_id');
    parambyname('rate1').asfloat:=hegerate;
    parambyname('v_id').asstring:=Edit1.text;
      execsql;
  end;
   Query1.Active:=False;
   Edit1.text:='';
  close;
end;

end.


⌨️ 快捷键说明

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