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

📄 usprkxx.~pas

📁 delphi 开发的完整的仓库管理系统(带数据库)
💻 ~PAS
📖 第 1 页 / 共 2 页
字号:
unit USPRKXX;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, Buttons;

type
  TSPRKXX = class(TForm)
    GroupBox3: TGroupBox;
    SpeedButton1: TSpeedButton;
    SpeedButton3: TSpeedButton;
    SpeedButton4: TSpeedButton;
    SpeedButton5: TSpeedButton;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Edit2: TEdit;
    ComboBox2: TComboBox;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    DateTimePicker1: TDateTimePicker;
    Edit7: TEdit;
    Memo1: TMemo;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    procedure SpeedButton5Click(Sender: TObject);
    procedure ComboBox1DropDown(Sender: TObject);
    procedure ComboBox1KeyPress(Sender: TObject; var Key: Char);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure SpeedButton3Click(Sender: TObject);
    procedure SpeedButton4Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure ComboBox2Change(Sender: TObject);
    procedure ComboBox2DropDown(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure ComboBox2KeyPress(Sender: TObject; var Key: Char);
    procedure Edit6KeyPress(Sender: TObject; var Key: Char);
    procedure DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit7KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1Exit(Sender: TObject);
    procedure Edit7Change(Sender: TObject);
  private
    { Private declarations }
  public
    procedure GetAll;
    procedure posting;
    Function CanSave: Boolean;
    procedure bh;
    Procedure tr;
    { Public declarations }
  end;

var
  SPRKXX: TSPRKXX;

implementation

uses UDM, USPJBXX, UMAIN, USPRKXX_Z, DB;

{$R *.dfm}
procedure TSPRKXX.tr;
var
i:integer;
begin
  for i:=ComponentCount - 1 downto 0 do
    if(Components[i] is TEdit) then
    TEdit(Components[i]).Text:=trim(TEdit(Components[i]).Text);
end;
procedure TSPRKXX.GetAll;//获得所有数据
begin
    ComboBox1.Text:=DM.DSOSPRKXX.FieldByName('供应商编号').AsString;
    Edit1.Text:=DM.DSOSPRKXX.FieldByName('供应商名称').AsString;
    Edit2.Text:=DM.DSOSPRKXX.FieldByName('入库编号').AsString;
    ComboBox2.Text:=DM.DSOSPRKXX.FieldByName('商品名称').AsString;
    Edit3.Text:=DM.DSOSPRKXX.FieldByName('商品规格').AsString;
    Edit4.Text:=DM.DSOSPRKXX.FieldByName('商品单位').AsString;
    Edit5.Text:=DM.DSOSPRKXX.FieldByName('商品单价').AsString;
    Edit6.Text:=DM.DSOSPRKXX.FieldByName('商品数量').AsString;
    DateTimePicker1.DateTime:=DM.DSOSPRKXX.FieldByName('入库日期').AsDateTime;
    Edit7.Text:=DM.DSOSPRKXX.FieldByName('经手人').AsString;
    Memo1.Text:=DM.DSOSPRKXX.FieldByName('备注').AsString;
end;
procedure TSPRKXX.Posting;
begin
  if ActionCD='N' then
  begin

    with DM.QSPRKXX do  //入库
    begin

    /////////////////////
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO 商品入库信息(供应商编号,供应商名称,商品名称,商品规格,商品单位,商品单价,商品数量,入库日期,经手人,备注,入库编号)');
      SQL.Add('Values(:供应商编号,:供应商名称,:商品名称,:商品规格,:商品单位,:商品单价,:商品数量,:入库日期,:经手人,:备注,:入库编号)');
      Parameters.Items[0].Value:=ComboBox1.Text;
      Parameters.Items[1].Value:=Edit1.Text;
      Parameters.Items[2].Value:=ComboBox2.Text;
      Parameters.Items[3].Value:=Edit3.Text;
      Parameters.Items[4].Value:=Edit4.Text;
      Parameters.Items[5].Value:=StrtoFloat(Edit5.Text);
      Parameters.Items[6].Value:=strtoint(Edit6.Text);
      DateTimePicker1.Date:=date();
      Parameters.Items[7].Value:=FormatDateTime('yyyy-mm-dd' ,DateTimePicker1.Date);
      Parameters.Items[8].Value:=Edit7.Text;
      Parameters.Items[9].Value:=Memo1.Text;
      Parameters.Items[10].Value:=Edit2.Text;
      Prepared:=True;
      ExecSQL;
      ////////////////////

      begin
        Close;
        SQL.Clear;
        SQL.Add('Select * from 库存表 where 商品名称='+''''+ComboBox2.Text+'''');
        Open;
      end;

     if RecordCount=1 then
     begin
      Edit;
      fieldbyname('商品数量').AsInteger:= fieldbyname('商品数量').AsInteger+strtoint(Edit6.Text);
      updaterecord;
      post;
      end
     else
     begin
      ///////////////////
      Close;
      SQL.Clear;
      SQL.Add('INSERT INTO 库存表(商品名称,商品规格,商品单位,商品单价,商品数量)');
      SQL.Add('Values(:商品名称,:商品规格,:商品单位,:商品单价,:商品数量)');
      Parameters.Items[0].Value:=ComboBox2.Text;
      Parameters.Items[1].Value:=Edit3.Text;
      Parameters.Items[2].Value:=Edit4.Text;
      Parameters.Items[3].Value:=strtofloat(Edit5.Text);
      Parameters.Items[4].Value:=strtoint(Edit6.Text);
      Prepared:=True;
      ExecSQL;
     end;
      /////////////////////////////////////


      ////////////////////////////////////////
{      with DM.QKCB do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select * from 库存表');
        Open;
      end;
      with DM.QSPRKXX do
       begin
        Close;
        SQL.Clear;
        SQL.Add('Select * from 商品基本信息');
        Open;
      end;
      if ComboBox2.Text=DM.QKCB.FieldByName('商品名称').Value then
      with DM.QKCB do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Select * From 库存表 WHERE 商品名称='''+DM.DSOSPRKXX.FieldByName('商品名称').AsString+'''');
        OPEN;
        EDIT;
        FieldByName('商品名称').AsString:=DM.DSOSPRKXX.FieldByName('商品名称').AsString;
        FieldByName('商品规格').AsString:=DM.DSOSPRKXX.FieldByName('商品规格').AsString;
        FieldByName('商品单位').AsString:=DM.DSOSPRKXX.FieldByName('商品单位').AsString;
        FieldByName('商品单价').AsString:=DM.DSOSPRKXX.FieldByName('商品单价').AsString;
        FieldByName('商品数量').AsString:=inttostr(strtoint(Edit6.Text)+DM.DSOSPRKXX.FieldByName('商品数量').AsInteger);
        UpdateRecord;
        Post;
      end;
     begin
        Edit;
        DM.DSOKCB.FieldByName('商品数量').Value:=DM.DSOKCB.FieldByName('商品数量').Value+strtoint(Edit6.Text);
        UpdateRecord;
        Post;
      end;}
    end;
  end;
end;

function TSPRKXX.CanSave: Boolean;//判断是否保存
begin
  if ComboBox1.Text='' then
  begin
    Result:=False;
    Application.MessageBox('供应商编号不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if Edit1.Text='' then
  begin
    Result:=False;
    Application.MessageBox('供应商名称不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if Edit2.Text='' then
  begin
    Result:=False;
    Application.MessageBox('入库编号不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if ComboBox2.Text='' then
  begin
    Result:=False;
    Application.MessageBox('商品名称不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if Edit3.Text='' then
  begin
    Result:=False;
    Application.MessageBox('商品规格不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if Edit4.Text='' then
  begin
    Result:=False;
    Application.MessageBox('商品单位不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if Edit5.Text='' then
  begin
    Result:=False;
    Application.MessageBox('商品单价不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if Edit6.Text='' then
  begin
    Result:=False;
    Application.MessageBox('商品数量不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
  if Edit7.Text='' then
  begin
    Result:=False;
    Application.MessageBox('经手人不能为空!','提示信息',0+MB_ICONINFORMATION);
    exit;
  end;
end;
procedure TSPRKXX.BH;
var
  s,m:string;
  i:integer;
begin
  s:= 'RK'+ FormatDateTime('yyyymmdd',Now());
  With DM.QSPRKXX do
  begin
    Close;
    SQL.Clear;
    SQL.Add('select max(入库编号) as ss From 商品入库信息 ');
    Open;
  end;
  If DM.DSOSPRKXX.FieldByName('入库编号').Value = null then
    s := s + '001'
  else
  begin
    DM.DSOSPRKXX.Last;
    m:= Trim(DM.DSOSPRKXX.FieldByName('入库编号').Value) ;
    i:= StrToInt(Trim(Copy(m,11,8))) ;
    if i<9 then
      s:= s + '00'+ InttoStr(i +1)
    else if i<99 then
      s:= s + '0'+ InttoStr(i +1)
    else
      s:= s +InttoStr(i +1);
  end;
  Edit2.Text := s;
end;

procedure TSPRKXX.SpeedButton5Click(Sender: TObject);
begin

⌨️ 快捷键说明

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