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

📄 materiel_stock.pas

📁 该系统主要用于生产采购系统
💻 PAS
字号:
unit Materiel_Stock;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Inherit, ImgList, ComCtrls, ToolWin, StdCtrls, Buttons, Grids,
  Mask, DBCtrls, ExtCtrls;

type
  TMateriel_StockFrm = class(TInheritFrm)
    Panel2: TPanel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Edit1: TEdit;
    Panel1: TPanel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label9: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label3: TLabel;
    Label2: TLabel;
    Label1: TLabel;
    DateTime: TDateTimePicker;
    SpeedButton1: TSpeedButton;
    Panel3: TPanel;
    Materiel_StockSG: TStringGrid;
    Label10: TLabel;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    procedure ToolButton6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure DateTimeCloseUp(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Edit9Exit(Sender: TObject);
    procedure ToolButton1Click(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure ToolButton5Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Materiel_StockFrm: TMateriel_StockFrm;
  time:string;
  n:integer=0;
  Scheme_AllNum:integer;
  Scheme_AllPrice:integer;
  SQNo:integer;
implementation
  uses DataModule,MaterielSelect,Materiel_S_Modfy,MS_SQ;
{$R *.dfm}

procedure TMateriel_StockFrm.ToolButton6Click(Sender: TObject);
begin
  inherited;
  Materiel_StockFrm.Close;
  n:=0;
end;

procedure TMateriel_StockFrm.FormCreate(Sender: TObject);
begin
  inherited;   
  with  Materiel_StockSG do
    begin
     Materiel_StockSG.ColCount:=9;
     cells[0,0]:='序号';
     cells[1,0]:='材料名称';
     cells[2,0]:='材料编号';
     cells[3,0]:='材料规格';
     cells[4,0]:='计量单位';
     cells[5,0]:='采购数量';
     cells[6,0]:='单价';
     cells[7,0]:='金额';
     cells[8,0]:='备注';
    end;
end;

procedure TMateriel_StockFrm.DateTimeCloseUp(Sender: TObject);
begin
  inherited;
  time:=formatDatetime('yyyy-m-d',DateTime.Date);        //比较前后选择日期
   with DM.ADOQuery1 do
    begin
     Close;
     SQL.Clear;
     SQL.Add('Select * From Materiel_Stock where S_Materiel_Time='+'#'+time+'#'+''+' and'+''+' S_Materiel_ID='+'1');
     Open;
    end;
   Edit3.Text:=formatDatetime('yyyymmdd',DateTime.Date)+'00'+inttostr(DM.ADOQuery1.RecordCount+1);
end;

procedure TMateriel_StockFrm.SpeedButton1Click(Sender: TObject);
begin
  inherited;
   Application.CreateForm(TMaterielSelectFrm,MaterielSelectFrm);
   MaterielSelectFrm.Left:=Materiel_StockFrm.Left+SpeedButton1.Left; //选择窗口显示位置
   MaterielSelectFrm.Top:=Materiel_StockFrm.Top+SpeedButton1.Top;
   MaterielSelectFrm.ShowModal;
   if MaterielSelectFrm.ModalResult = mrOk then  //用户确定选择的日期
     begin
     Edit5.Text:=MaterielSelectFrm.M_Name;
     Edit6.Text:=MaterielSelectFrm.M_ID;
     Edit7.Text:=MaterielSelectFrm.M_Standard;
     Edit8.Text:=MaterielSelectFrm.M_Unit;
     Edit10.Text:=MaterielSelectFrm.M_Pirce;
     end;
end;

procedure TMateriel_StockFrm.Edit9Exit(Sender: TObject);
var
  i:integer;
  flag:integer;
begin
  inherited;
   n:=0;
   Scheme_AllNum:=0;
   Scheme_AllPrice:=0;
   if  (Edit9.Text<>'') and (Edit10.Text<>'') then
    begin
     for i:=1 to Materiel_StockSG.RowCount do
      if  Edit6.Text=Materiel_StockSG.Cells[2,i] then
      begin
       Materiel_StockSG.Cells[5,i]:=inttostr(strtoint(Materiel_StockSG.Cells[5,i])+strtoint(Edit9.Text));
       Materiel_StockSG.Cells[7,i]:=inttostr(strtoint(Materiel_StockSG.Cells[5,i])*strtoint(Materiel_StockSG.Cells[6,i]));
       flag:=0;
       break;
       end
     else
      begin
        n:=n+1;
        flag:=1;
      end;

    if flag=1 then
    with Materiel_StockSG do
    begin
     Materiel_StockSG.RowCount:=n+1;
     cells[0,n]:=inttostr(n);
     cells[1,n]:=Edit5.Text;
     cells[2,n]:=Edit6.Text;
     cells[3,n]:=Edit7.Text;
     cells[4,n]:=Edit8.Text;
     Cells[5,n]:=Edit9.Text;
     cells[6,n]:=Edit10.Text;
     cells[7,n]:=inttostr(strtoint(Cells[5,n])*strtoint(Cells[6,n]));
    end;

    for i:=1 to Materiel_StockSG.RowCount-1 do
     begin
      Scheme_AllNum:=Scheme_AllNum+strtoint(Materiel_StockSG.Cells[5,i]);
      Scheme_AllPrice:=Scheme_AllPrice+strtoint(Materiel_StockSG.Cells[7,i]);
     end;
    Edit1.Text:=inttostr(Scheme_AllNum);
    Edit2.Text:=inttostr(Scheme_AllPrice);
    end;
   Edit5.Text:='';
   Edit6.Text:='';
   Edit7.Text:='';
   Edit8.Text:='';
   Edit9.Text:='';
   Edit10.Text:='';

end;

procedure TMateriel_StockFrm.ToolButton1Click(Sender: TObject);
var
  i,j:integer;
begin
  inherited;
  with  Materiel_StockSG do
  for i:=1 to Materiel_StockSG.RowCount-1 do
    begin
    DM.AT_Materiel_Stock.Insert;
    DM.AT_Materiel_Stock['S_Materiel_Time']:=time;
    DM.AT_Materiel_Stock['S_Credence_ID']:=Edit3.Text;
    DM.AT_Materiel_Stock['S_Credence_OID']:=Edit4.Text;
    DM.AT_Materiel_Stock['S_Materiel_ID']:=Cells[0,i];
    DM.AT_Materiel_Stock['Materiel_Name']:=Cells[1,i];
    DM.AT_Materiel_Stock['Materiel_ID']:=Cells[2,i];
    DM.AT_Materiel_Stock['Materiel_Standard']:=Cells[3,i];
    DM.AT_Materiel_Stock['Materiel_Unit']:=Cells[4,i];
    DM.AT_Materiel_Stock['S_Materiel_Num']:=Cells[5,i];
    DM.AT_Materiel_Stock['Materiel_Price']:=Cells[6,i];
    DM.AT_Materiel_Stock['S_Materiel_Price']:=Cells[7,i];
    DM.AT_Materiel_Stock['S_Materiel_Memo']:=Cells[8,i];
    DM.AT_Materiel_Stock['S_Materiel_ALLPrice']:=Edit2.Text;
    DM.AT_Materiel_Stock.Post;
    end;

    if Application.MessageBox('是否要打印预览?','提示对话框',MB_OKCANCEL)=mrok then
    begin
    with  DM.AQ_Materiel_Stock do
    begin
      close;
      SQL.Clear;
      SQL.Add('Select * from Materiel_Stock where S_Credence_ID='+''''+Edit3.Text+'''');
      open;
    end;
    if DM.AQ_Materiel_Stock.RecordCount=0 then
       Application.MessageBox('没有数据要打印!','提示对话框',MB_OK);
    DM.RP_Scheme.ProjectFile:='.\Materiel_Stock.rav';
    DM.RP_Scheme.Open;
    DM.RP_Scheme.Execute;
    DM.RP_Scheme.Close;
    end;

    Application.MessageBox('数据保存完成!','提示对话框',MB_OK);
     for i:=0 to 10 do
        for j:=1 to 6 do
         Materiel_StockSG.Cells[i,j]:='';
    Edit1.Text:='';
    Edit2.Text:='';
     Materiel_StockSG.RowCount:=1;
end;

procedure TMateriel_StockFrm.ToolButton2Click(Sender: TObject);
begin
  inherited;
   Application.CreateForm(TMateriel_S_ModfyFrm,Materiel_S_ModfyFrm);
   Materiel_S_ModfyFrm.Show;
end;

procedure TMateriel_StockFrm.ToolButton4Click(Sender: TObject);
begin
  inherited;
   Application.CreateForm(TMS_SQFrm,MS_SQFrm);
   MS_SQFrm.Show;
end;

procedure TMateriel_StockFrm.ToolButton5Click(Sender: TObject);
begin
  inherited;
  DM.AT_Materiel_Stock.Active:=false;
  Materiel_StockFrm.Close;
end;

end.

⌨️ 快捷键说明

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