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

📄 uselllr.pas

📁 小型企业物品管理系统,DELPHI源码+ACCESS数据库
💻 PAS
字号:
unit Uselllr;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, RzPanel, RzButton, RzDBSpin, RzDBEdit, DBCtrls, Mask,
  RzEdit, StdCtrls, DB, ADODB, DBGridEh, DBCtrlsEh, DBLookupEh;

type
  TFselllr = class(TForm)
    buymemo: TRzDBMemo;
    lbl3: TLabel;
    lbl8: TLabel;
    RzBitBtn1: TRzBitBtn;
    RzBitBtn2: TRzBitBtn;
    RzStatusBar1: TRzStatusBar;
    RzToolbar1: TRzToolbar;
    RzSpacer1: TRzSpacer;
    img3: TImage;
    spinsell: TADOStoredProc;
    spupsell: TADOStoredProc;
    dblkcbbemname: TDBLookupComboBox;
    dbclname: TDBLookupComboboxEh;
    lbl4: TLabel;
    dblkcbbbuyname: TDBLookupComboBox;
    lbl5: TLabel;
    lbl7: TLabel;
    bysl: TRzDBSpinEdit;
    dswpb: TDataSource;
    qrywpb: TADOQuery;
    qrywpbbwid: TAutoIncField;
    qrywpbbwname: TStringField;
    qrywpbclid: TIntegerField;
    qrywpbbwunit: TStringField;
    qrywpbbwprice: TBCDField;
    qrywpbbwmemo: TStringField;
    spwpkcsl: TADOStoredProc;
    procedure RzBitBtn2Click(Sender: TObject);
    procedure RzBitBtn1Click(Sender: TObject);
    procedure dbclnameCloseUp(Sender: TObject; Accept: Boolean);
    procedure dblkcbbbuynameCloseUp(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure img3Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Fselllr: TFselllr;
    dqkc:Integer;//库存数量
  yldz:Integer;//如果是修改的话保存原来的值
implementation

uses Usell, Udate, Umain, Uwpbxx, Usrfsz;

{$R *.dfm}

procedure TFselllr.RzBitBtn2Click(Sender: TObject);
begin
  if fdate.qryview_sell.Modified=False then close;
  if pd=1 then begin
    if MessageDlg('不保存当前的信息吗?',mtInformation,[mbYes,mbno],0)=IDYES then begin
      fdate.qryview_sell.Cancel;
      close;
    end
    else
      RzBitBtn1.Click;
  end
  else if pd=2 then  begin
    if MessageDlg('不保存当前所做的修改吗?',mtInformation,[mbYes,mbno],0)=idyes then begin
      fdate.qryview_sell.Cancel;
      close;
    end
   else
      RzBitBtn1.Click;
  end
  else
    Close;
end;

procedure TFselllr.RzBitBtn1Click(Sender: TObject);
begin
   if pd=3 then Exit;
  if dblkcbbemname.Text='' then begin
    MessageDlg('请选择领料员的名称!',mtError,[mbyes],0);
    dblkcbbemname.SetFocus;
    Exit;
  end;
  if dblkcbbbuyname.Text='' then begin
    MessageDlg('请选择物品的名称!',mtError,[mbyes],0);
    dblkcbbbuyname.SetFocus;
    Exit;
  end;
  if bysl.Value<=0 then begin
    MessageDlg('请输入需领物品的数量!',mtError,[mbyes],0);
    bysl.SetFocus;
    Exit;
  end;
  if pd=1 then begin
    if bysl.Value>dqkc then begin
      MessageDlg('领料数量大于当前该库存物品的数量!',mtError,[mbyes],0);
      bysl.SetFocus;
      Exit;
    end;
  end;
  if pd=2 then begin         //如果是修改的话得到当前的库存数量
    with spwpkcsl do begin
      Close;
      Parameters.ParamByName('@bwid').Value:=dblkcbbbuyname.KeyValue;
      ExecProc;
    end;
    dqkc:=spwpkcsl.Parameters.ParamByName('@kcsl').Value;
  end;
  if pd=1 then begin
    with spinsell do begin
      Close;
      Parameters.ParamByName('@bwid').Value:=dblkcbbbuyname.KeyValue;
      Parameters.ParamByName('@czid').Value:=1;
      Parameters.ParamByName('@llid').Value:=dblkcbbemname.KeyValue;
      Parameters.ParamByName('@sequanty').Value:=bysl.Value;
      Parameters.ParamByName('@sememo').Value:=buymemo.Text;
      ExecProc;
      ShowMessage(Parameters.parambyname('@msg').Value);
    end;
  end
  else if pd=2 then begin
    if bysl.Value>(dqkc+yldz) then begin
      MessageBeep(0);MessageDlg('领料数量为大于当前库存数量!',mtError,[mbyes],0);
      bysl.SetFocus;Exit;
    end;
    with spupsell do begin
      Close;
      Parameters.ParamByName('@bwid').Value:=dblkcbbbuyname.KeyValue;
      Parameters.ParamByName('@llid').Value:=dblkcbbemname.KeyValue;
      Parameters.ParamByName('@sequanty').Value:=bysl.Value;
      Parameters.ParamByName('@sememo').Value:=buymemo.Text;
      Parameters.ParamByName('@seid').Value:=fdate.qryview_sellseid.Value;
      ExecProc;
      ShowMessage(Parameters.parambyname('@msg').Value);
    end;
  end;
  pd:=3;
  Fsell.ashow.Execute;
  Fmain.Timer1.Enabled:=True;//调用判断看当前的库存数量是否小于用户的设置量
end;

procedure TFselllr.dbclnameCloseUp(Sender: TObject; Accept: Boolean);
begin
   if dbclname.Text='' then begin
    with qrywpb do begin
     Close;SQL.Clear;SQL.Add('select * from tbwpb');
     Open;
   end;
  end;
  if dbclname.Text<>'' then begin
   with qrywpb do begin
     Close;SQL.Clear;SQL.Add('select * from tbwpb where clid='''+inttostr(dbclname.KeyValue)+'''');
     Open;
   end;
  end;
end;

procedure TFselllr.dblkcbbbuynameCloseUp(Sender: TObject);
begin
   if dblkcbbbuyname.Text<>'' then begin
    with spwpkcsl do begin
      Close;
      Parameters.ParamByName('@bwid').Value:=dblkcbbbuyname.KeyValue;
      ExecProc;
    end;
    dqkc:=spwpkcsl.Parameters.ParamByName('@kcsl').Value;
    if pd=1 then begin
      if dqkc=0 then begin
        MessageDlg('该物品已经没有库存了!',mtError,[mbyes],0);
        bysl.Max:=0;
        bysl.ReadOnly:=True;
      end
      else begin
        bysl.Max:=dqkc;
        bysl.ReadOnly:=False;
        ShowMessage('目前['+''+dblkcbbbuyname.Text+''+']共有['+''+inttostr(dqkc)+''+']的库存');
      end;
    end;
  end
  else
    Exit;
end;

procedure TFselllr.FormShow(Sender: TObject);
begin
  qrywpb.Close;
  qrywpb.Open;
  Fwpbxx.qryclass.Close;
  Fwpbxx.qryclass.Open;
  fdate.qryempty.Close;
  fdate.qryempty.Open;
  yldz:=fdate.qryview_sellsequanty.Value;
end;

procedure TFselllr.img3Click(Sender: TObject);
begin
RzBitBtn2.Click;
end;

end.

⌨️ 快捷键说明

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