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

📄 unit_mater_stockview.pas

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

interface

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

type
  TForm_Mater_StockView = class(TForm)
    DBGrid_Stock: TDBGrid;
    Qry_Stock: TQuery;
    DS_Stock: TDataSource;
    Panel1: TPanel;
    BitBtn2: TBitBtn;
    Edit_Mater: TEdit;
    Qry_exe: TQuery;
    Panel3: TPanel;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    Qry_StockWarn: TQuery;
    Panel4: TPanel;
    Panel5: TPanel;
    Button1: TButton;
    Edit1: TEdit;
    Panel2: TPanel;
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure Edit_MaterChange(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Edit_MaterExit(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Edit1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_Mater_StockView: TForm_Mater_StockView;

implementation

{$R *.DFM}

procedure TForm_Mater_StockView.BitBtn2Click(Sender: TObject);
begin
  with Qry_Stock do
  begin
    close;
    sql.clear;
    sql.Add('select 材料名称, sum(库存) as 库存 from 原材料台帐  ');
    sql.Add('where 最后领料标识 = :v_lastOutCardFlag and 材料名称 = :v_mater ');
    sql.Add('group by 材料名称 ');
    parambyname('v_lastOutCardFlag').asboolean:=true;
    parambyname('v_mater').asstring:=edit_mater.text;
    open;
  end;//with

end;

procedure TForm_Mater_StockView.BitBtn3Click(Sender: TObject);
begin
  with Qry_Stock do
  begin
    close;
    sql.clear;
    sql.Add('select 材料名称, sum(库存) as 库存 from 原材料台帐  ');
    sql.Add('where 最后领料标识 = :v_lastOutCardFlag and kuhao=:hao');
    sql.Add('group by 材料名称 ');
    parambyname('hao').asinteger:=strtoint(edit1.text);
    parambyname('v_lastOutCardFlag').asboolean:=true;
    open;
  end;//with

end;

procedure TForm_Mater_StockView.BitBtn4Click(Sender: TObject);
begin
  with Qry_Stock do
  begin
    close;
    sql.clear;
    sql.Add('select 材料名称, sum(库存) as 库存 from 原材料台帐  ');
    sql.Add('where 最后领料标识 = :v_lastOutCardFlag and kuhao=:hao');
    sql.Add('group by 材料名称 ');
    parambyname('v_lastOutCardFlag').asboolean:=true;
    parambyname('hao').asinteger:=strtoint(edit1.text);
    open;

    Qry_exe.close;
    Qry_exe.sql.clear;
    Qry_exe.sql.Add('delete from 原材料仓库  ' ) ;
    Qry_exe.execsql;

    while not eof do
    begin
      Qry_StockWarn.close;
      Qry_StockWarn.sql.clear;
      Qry_StockWarn.sql.add('select * from 原材料字典 where 材料名称 = :v_mater');
      Qry_StockWarn.ParamByName('v_mater').asstring:=fieldbyname('材料名称').asstring;
      Qry_StockWarn.open;
      if Qry_StockWarn.FieldByName('库存下限').asfloat > fieldbyname('库存').asfloat then
      begin
        Qry_exe.close;
        Qry_exe.sql.clear;
        Qry_exe.sql.Add('insert into 原材料仓库.DB (材料名称, 库存) values (:v_mater, :v_Stock) ' ) ;
        Qry_exe.parambyname('v_mater').asstring:=fieldbyname('材料名称').asstring;
        Qry_exe.parambyname('v_stock').asfloat:=fieldbyname('库存').asfloat;
        Qry_exe.execsql;
      end;//if
    next;
    end;//while
  end;//with

  with Qry_Stock do
  begin
    close;
    sql.clear;
    sql.Add('select 材料名称, 库存 from 原材料仓库  ');
    open;
    if recordcount = 0 then
      showmessage('所有原材料都大于库存下限');
    if recordcount <> 0 then
      showmessage(('上述原材料小于库存下限')+#13+('     请立即采购!'));
      close;
    end; //with

end;

procedure TForm_Mater_StockView.Edit_MaterChange(Sender: TObject);
begin
  with Qry_exe  do
  begin
    close;
    sql.clear;
    sql.add('select * from 原材料字典 where 简称 = :v_index ');
    parambyname('v_index').asstring:=Edit_mater.text;
    open;
    if recordcount = 0 then exit;
    Edit_mater.text:= fieldbyname('材料名称').asstring;
  end;//with

end;

procedure TForm_Mater_StockView.Button1Click(Sender: TObject);
begin
   Qry_Stock.Active:=False;
   Qry_StockWarn.Active:=False;
   Qry_exe.Active:=False;
   Close;
end;

procedure TForm_Mater_StockView.Edit_MaterExit(Sender: TObject);
begin

   with Qry_Exe  do
  begin
    close;
    sql.clear;
    sql.add('select * from 原材料字典 where 简称 = :v_index ');
    parambyname('v_index').asstring:=Edit_Mater.text;
    open;
    if recordcount = 0 then
    exit;
    Edit_Mater.text:= fieldbyname('材料名称').asstring;
    close;
  end;//with
  BitBtn2.SetFocus;

end;

procedure TForm_Mater_StockView.FormShow(Sender: TObject);
begin
edit1.text:='1';
end;

procedure TForm_Mater_StockView.Edit1Click(Sender: TObject);
begin
  if edit1.text='1' then
  begin
  edit1.text:='2';
  exit;
  end;
  if edit1.text='2' then
  edit1.text:='1';
end;

end.

⌨️ 快捷键说明

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