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

📄 unitf.~pas

📁 小型仓库管理系统
💻 ~PAS
字号:
unit UnitF;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, Buttons, StdCtrls, Grids, jpeg, ExtCtrls, ComCtrls;

type
  TfmF = class(TForm)
    Image1: TImage;
    combA: TComboBox;
    btn2: TBitBtn;
    edt1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label11: TLabel;
    edt3: TEdit;
    edt4: TEdit;
    edt6: TEdit;
    btn1: TBitBtn;
    sbtn1: TSpeedButton;
    edt5: TEdit;
    rbtn3: TBitBtn;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    combB: TComboBox;
    mc1: TMonthCalendar;
    procedure btn1Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure sbtn1Click(Sender: TObject);
    procedure edt5Click(Sender: TObject);
    procedure mc1Click(Sender: TObject);
    procedure rbtn1Click(Sender: TObject);
    procedure rbtn2Click(Sender: TObject);
    procedure rbtn3Click(Sender: TObject);
    procedure edt2KeyPress(Sender: TObject; var Key: Char);
    procedure edt3KeyPress(Sender: TObject; var Key: Char);
    procedure edt1KeyPress(Sender: TObject; var Key: Char);
    procedure edt4KeyPress(Sender: TObject; var Key: Char);
    procedure edt6KeyPress(Sender: TObject; var Key: Char);
    procedure combASelect(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmF: TfmF;

implementation

uses  UnitDm, UnitMain,unitFunc;

{$R *.dfm}

procedure TfmF.btn1Click(Sender: TObject);
var  s,s1,s2,s3,s4,s5,sum:string;
     n:integer;
begin
  if combA.Text='材料' then
  begin
    s:=trim(edt1.Text);
    s1:=trim(combB.Text);
    s2:=trim(edt3.Text);
    s3:=trim(edt4.Text);
    s4:=trim(edt5.Text);
    s4:=sss(s4);
    s5:=trim(edt6.Text);

     if ( S<>'')and
        ( S1<>'')and
        ( S2<>'')and
        ( S4<>'')  then
       begin
        frDbm.dsetF.Close;
        frDbm.dsetF.CommandText:='select * from t_mlist where sno='+s1+'';
        frDbm.dsetF.Open;
        if frDbm.dsetF.Fields[0].AsString<>'' then
          begin
            frDbm.dsetF.Close;
            frDbm.dsetF.CommandText:='select * from t_mfei where sno='+s;
            frDbm.dsetF.Open;
            if frDbm.dsetF.Fields[0].AsString='' then
            begin
              frDbm.dsetF.Close;
              frDbm.dsetF.CommandText:='select number from t_mstore where msno='+s1+'';
              frDbm.dsetF.Open;
              n:=frDbm.dsetF.Fields[0].AsInteger;
              n:=n-strtoint(s2);
             if n<0 then showmessage('报废数量不能大于库存数量!');
            with   frDbm.comF   do
             begin
               frDbm.comF.commandType:=cmdStoredProc;
               frDbm.comF.CommandText:='mfeiAdd';
               Parameters.Refresh;
               Parameters.ParamByName('@sno').Value:=s;
               Parameters.ParamByName('@msno').Value:=s1;
               Parameters.ParamByName('@number').Value:=s2;
               Parameters.ParamByName('@name').Value:=s3;
               Parameters.ParamByName('@shijian').Value:=s4;
               Parameters.ParamByName('@remark').Value:=s5;
               frDbm.comF.Execute;
               showmessage('数据添加成功!');
             end;
           end
            else showmessage('数据库中已经存在报废单号为'+s+'的记录,请重新输入!');
      end
      else
        showmessage('不存在该编号的材料,请重新输入!');
    end
     else
      showmessage('报废单编号,材料编号,出库数量,出库时间不能为空!');
  end;

   if combA.Text='成品' then
  begin
    s:=trim(edt1.Text);
    s1:=trim(combB.Text);
    s2:=trim(edt3.Text);
    s3:=trim(edt4.Text);
    s4:=trim(edt5.Text);
    s4:=sss(s4);
    s5:=trim(edt6.Text);
     if ( S<>'')and
        ( S1<>'')and
        ( S2<>'')and
        ( S4<>'')  then
       begin
        frDbm.dsetF.Close;
        frDbm.dsetF.CommandText:='select * from t_glist where sno='+s1+'';
        frDbm.dsetF.Open;
        if frDbm.dsetF.Fields[0].AsString<>'' then
          begin
            frDbm.dsetF.Close;
            frDbm.dsetF.CommandText:='select * from t_gfei where sno='+s;
            frDbm.dsetF.Open;
            if frDbm.dsetF.Fields[0].AsString='' then
            begin
            frDbm.dsetF.Close;
            frDbm.dsetF.CommandText:='select number from t_gstore where gsno='+s1+'';
            frDbm.dsetF.Open;
            n:=frDbm.dsetF.Fields[0].AsInteger;
            n:=n-strtoint(s2);
            if n<0 then  showmessage('报废数量不能大于库存数量!');
            with   frDbm.comF   do
             begin
               frDbm.comF.commandType:=cmdStoredProc;
               frDbm.comF.CommandText:='gfeiAdd';
               Parameters.Refresh;
               Parameters.ParamByName('@sno').Value:=s;
               Parameters.ParamByName('@gsno').Value:=s1;
               Parameters.ParamByName('@number').Value:=s2;
               Parameters.ParamByName('@name').Value:=s3;
               Parameters.ParamByName('@shijian').Value:=s4;
               Parameters.ParamByName('@remark').Value:=s5;
               frDbm.comF.Execute;
               showmessage('数据添加成功!');
             end;
           end
            else showmessage('数据库中已经存在报废单号为'+s+'的记录,请重新输入!');
        end
       else
        showmessage('不存在该编号的成品,请查询后输入!');
     end
    else
      showmessage('报废单编号,物品编号,报废数量,报废时间不能为空!');
  end;
  if combA.Text='' then
    showmessage('请选择类别!');
end;

procedure TfmF.btn2Click(Sender: TObject);
var  s,s1,sum:string;
     n:integer;
begin
 if messagedlg('确实要删除报废号为:'+trim(edt1.Text)+'的记录吗(Y/N)?',mtConfirmation,[mbYes]+[mbNo],0)=6 then
 begin
  if combA.Text='材料' then
  begin
    s:=trim(edt1.Text);
     if  s<>''  then
       begin
        frDbm.dsetF.Close;
        frDbm.dsetF.CommandText:='select * from t_mfei where sno='+s+'';
        frDbm.dsetF.Open;
        if frDbm.dsetF.Fields[0].AsString<>'' then
          begin
           n:=frDbm.dsetF.Fields[2].AsInteger;
           s1:=frDbm.dsetF.Fields[1].AsString;
           frDbm.comF.commandType:=cmdText;
           frDbm.ComF.CommandText:='delete from t_mfei where sno='+s+'';
           frDbm.ComF.Execute;
           frDbm.dsetF.Close;
           frDbm.dsetF.CommandText:='select number from t_mstore where msno='+s1+'';
           frDbm.dsetF.Open;
           n:=frDbm.dsetF.Fields[0].AsInteger+n;
           sum:=trim(inttostr(n));
           frDbm.comF.commandType:=cmdText;
           frDbm.ComF.CommandText:='update t_mstore set number='+sum+' where msno='+s1+'';
           frDbm.ComF.Execute;
           showmessage('数据删除成功!');
          end
        else
           showmessage('没有报废单号为'+s+'的记录!');
        end
     else
          showmessage('报废单编号不能为空!');
  end;

   if combA.Text='成品' then
  begin
    s:=trim(edt1.Text);
     if  s<>'' then
       begin
        frDbm.dsetF.Close;
        frDbm.dsetF.CommandText:='select * from t_gfei where sno='+s+'';
        frDbm.dsetF.Open;
        if frDbm.dsetF.Fields[0].AsString<>'' then
          begin
           n:=frDbm.dsetF.Fields[2].AsInteger;
           s1:=frDbm.dsetF.Fields[1].AsString;
           frDbm.comF.commandType:=cmdText;
           frDbm.ComF.CommandText:='delete from t_gfei where sno='+s+'';
           frDbm.ComF.Execute;

           frDbm.dsetF.Close;
           frDbm.dsetF.CommandText:='select number from t_gstore where gsno='+s1+'';
           frDbm.dsetF.Open;
           n:=frDbm.dsetF.Fields[0].AsInteger+n;
           sum:=trim(inttostr(n));
           frDbm.comF.commandType:=cmdText;
           frDbm.ComF.CommandText:='update t_gstore set number='+sum+' where gsno='+s1+'';
           frDbm.ComF.Execute;
           showmessage('数据删除成功!');
          end
        else
           showmessage('没有报废单号为'+s+'的记录!');
        end
     else
          showmessage('报废单编号不能为空!');
  end;
  if combA.Text='' then
    showmessage('请选择类别!');
  end;
end;

procedure TfmF.sbtn1Click(Sender: TObject);
begin
  fmMain.show;
  fmF.Close;
end;

procedure TfmF.edt5Click(Sender: TObject);
begin
    mc1.visible:=true;
end;

procedure TfmF.mc1Click(Sender: TObject);
var a:Tdatetime;
    b:string;
begin
  a:=mc1.Date;
  b:=DateTimetostr(a);
  edt5.Text:=b;
  mc1.Visible:=false;
end;

procedure TfmF.rbtn1Click(Sender: TObject);
begin
  btn1.Enabled:=true;
  btn2.Enabled:=false;
end;

procedure TfmF.rbtn2Click(Sender: TObject);
begin
  btn1.Enabled:=false;
  btn2.Enabled:=true;
end;

procedure TfmF.rbtn3Click(Sender: TObject);
begin
  edt1.Text:='';
  combB.Text:='';
  edt3.Text:='';
  edt4.Text:='';
  edt5.Text:='';
  edt6.Text:='';
  mc1.Visible:=false;
end;

procedure TfmF.edt2KeyPress(Sender: TObject; var Key: Char);
begin
  if (key in (['0'..'9'])) or (key=#8) then
     else
     key:=#0;
end;

procedure TfmF.edt3KeyPress(Sender: TObject; var Key: Char);
begin
  if (key in (['0'..'9'])) or (key=#8) then
     else
     key:=#0;
end;

procedure TfmF.edt1KeyPress(Sender: TObject; var Key: Char);
begin
   if key=#13 then
  btn1.Click;
end;

procedure TfmF.edt4KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  btn1.Click;
end;

procedure TfmF.edt6KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  btn1.Click;
end;

procedure TfmF.combASelect(Sender: TObject);
begin
    if combA.Text='材料' then
    begin
      combB.Items.Clear;
      frDbm.qryF.Close;
      frDbm.qryF.SQL.Clear;
      frDbm.qryF.SQL.Text:='select sno from t_mlist ';
      frDbm.qryF.Open;
      while not frDbm.qryF.Eof do
       begin
         combB.Items.Add(frDbm.qryF.Fields[0].asstring);
         frDbm.qryF.Next;
       end;
    end;
  if combA.Text='成品' then
    begin
      combB.Items.Clear;
      frDbm.qryF.Close;
      frDbm.qryF.SQL.Clear;
      frDbm.qryF.SQL.Text:='select sno from t_glist ';
      frDbm.qryF.Open;
      while not frDbm.qryF.Eof do
       begin
         combB.Items.Add(frDbm.qryF.Fields[0].asstring);
         frDbm.qryF.Next;
       end;
    end;
end;

end.


⌨️ 快捷键说明

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