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

📄 unitg.~pas

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

interface

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

type
  TfmG = class(TForm)
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    LbB: TLabel;
    edtA: TEdit;
    LbC: TLabel;
    LbD: TLabel;
    edtC: TEdit;
    LbA: TLabel;
    edtD: TEdit;
    LbF: TLabel;
    btnA: TBitBtn;
    btnC: TBitBtn;
    Label4: TLabel;
    edt1: TEdit;
    Label5: TLabel;
    Label6: TLabel;
    edt3: TEdit;
    Label7: TLabel;
    edt4: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    edt6: TEdit;
    btn1: TBitBtn;
    btn3: TBitBtn;
    btnB: TBitBtn;
    btn2: TBitBtn;
    LbG: TLabel;
    Image2: TImage;
    Image1: TImage;
    comb1: TComboBox;
    sbtn2: TSpeedButton;
    sbtn1: TSpeedButton;
    mc1: TMonthCalendar;
    mcA: TMonthCalendar;
    comb5: TComboBox;
    combE: TComboBox;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label8: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    combB: TComboBox;
    comb2: TComboBox;
    edtF: TEdit;
    edt7: TEdit;
    procedure btn1Click(Sender: TObject);
    procedure btnAClick(Sender: TObject);
    procedure btnCClick(Sender: TObject);
    procedure btn3Click(Sender: TObject);
    procedure btn2Click(Sender: TObject);
    procedure btnBClick(Sender: TObject);
    procedure sbtn1Click(Sender: TObject);
    procedure rbtn1Click(Sender: TObject);
    procedure rbtn2Click(Sender: TObject);
    procedure rbtnAClick(Sender: TObject);
    procedure rbtnBClick(Sender: TObject);
    procedure mcAClick(Sender: TObject);
    procedure mc1Click(Sender: TObject);
    procedure combEDropDown(Sender: TObject);
    procedure comb5DropDown(Sender: TObject);
    procedure edt3KeyPress(Sender: TObject; var Key: Char);
    procedure edtCKeyPress(Sender: TObject; var Key: Char);
    procedure edtBKeyPress(Sender: TObject; var Key: Char);
    procedure edt2KeyPress(Sender: TObject; var Key: Char);
    procedure edtAKeyPress(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 edtDKeyPress(Sender: TObject; var Key: Char);
    procedure FormActivate(Sender: TObject);
    procedure comb2Select(Sender: TObject);
    procedure combBSelect(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  fmG: TfmG;

implementation

uses  UnitDm, UnitMain;

{$R *.dfm}


procedure TfmG.btnAClick(Sender: TObject);
var  s,s1,s2,s3,s4,s5,s6:string;
begin
  s:=edtA.Text;
  s1:=combB.Text;
  s2:=edtC.Text;
  s3:=edtD.Text;
  s4:=combE.Text;
  s4:=sss(s4);
  s6:=edtF.Text;
  if  ( Trim(edtA.Text)<>'')and
      ( Trim(combB.Text)<>'')and
      ( Trim(edtC.Text)<>'')and
      ( Trim(combE.Text)<>'')  then
      begin
        if comb1.Text='正常入库' then s5:='1' ;
        if comb1.Text='退货'  then s5:='0';

        frDbm.dsetG.Close;
        frDbm.dsetG.CommandText:='select * from t_glist where sno='+s1+'';
        frDbm.dsetG.Open;
        if frDbm.dsetG.Fields[0].AsString<>'' then
          begin
            frDbm.dsetG.Close;
            frDbm.dsetG.CommandText:='select * from t_gjin where sno='+s;
            frDbm.dsetG.Open;
            if frDbm.dsetG.Fields[0].AsString='' then
            begin
              if s6<>'' then
               begin
                 frDbm.dsetG.Close;
                 frDbm.dsetG.CommandText:='select * from t_store where cno='+s6;
                 frDbm.dsetG.Open;
                 if frDbm.dsetG.Fields[0].AsString='' then
                   begin
                     showmessage('不存在编号为'+s6+'的仓库,请重新输入!');
                     exit;
                   end;
               end;
            with   frDbm.comG1   do
             begin
               frDbm.comG1.commandType:=cmdStoredProc;
               frDbm.comG1.CommandText:='gjinAdd';
               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;
               Parameters.ParamByName('@cno').Value:=s6;
               frDbm.comG1.Execute;
               showmessage('数据添加成功!');
             end;
           end
            else showmessage('数据库中已经存在进库单号为'+s+'的记录,请重新输入!');

             {frDbm.dsetG.Close;
             frDbm.dsetG.CommandText:='select number from t_gstore where gsno='+s1+'';
             frDbm.dsetG.Open;
             n:=frDbm.dsetG.Fields[0].AsInteger;
             n:=n+strtoint(s2);
             sum:=trim(inttostr(n));
             frDbm.comG1.commandType:=cmdText;
             frDbm.ComG1.CommandText:='update t_gstore set number='+sum+' where gsno='+s1+'';
             frDbm.ComG1.Execute;}
          end
          else
        showmessage('不存在该编号的成品,请查询后输入!');
      end
  else
  showmessage('进库单编号,成品编号,入库数量,入库时间不能为空!')
end;

procedure TfmG.btnCClick(Sender: TObject);
begin
  edtA.Text:='';
  combB.Text:='';
  edtC.Text:='';
  edtD.Text:='';
  combE.Text:='';
  comb1.Text:='';
  edtF.Text:='';
end;

procedure TfmG.btn1Click(Sender: TObject);
var  s,s1,s2,s3,s4,s5,s6,sum:string;
     n:integer;
begin
  s:=trim(edt1.Text);
  s1:=trim(comb2.Text);
  s2:=trim(edt3.Text);
  s3:=trim(edt4.Text);
  s4:=trim(comb5.Text);
  s4:=sss(s4);
  s5:=trim(edt6.Text);
  s6:=trim(edt7.Text);
  if  ( Trim(edt1.Text)<>'')and
      ( Trim(comb2.Text)<>'')and
      ( Trim(edt3.Text)<>'')and
      ( Trim(comb5.Text)<>'')  then
      begin
        frDbm.dsetG.Close;
        frDbm.dsetG.CommandText:='select * from t_glist where sno='+s1+'';
        frDbm.dsetG.Open;

        if frDbm.dsetG.Fields[0].AsString<>'' then
          begin
            frDbm.dsetG.Close;
            frDbm.dsetG.CommandText:='select * from t_gout where sno='+s;
            frDbm.dsetG.Open;
            if frDbm.dsetG.Fields[0].AsString='' then
            begin
              if s6<>'' then
               begin
                 frDbm.dsetG.Close;
                 frDbm.dsetG.CommandText:='select * from t_store where cno='+s6;
                 frDbm.dsetG.Open;
                 if frDbm.dsetG.Fields[0].AsString='' then
                   begin
                     showmessage('不存在编号为'+s6+'的仓库,请重新输入!');
                     exit;
                   end;
               end;

             frDbm.dsetG.Close;
             frDbm.dsetG.CommandText:='select number from t_gstore where gsno='+s1+'';
             frDbm.dsetG.Open;
             n:=frDbm.dsetG.Fields[0].AsInteger;
             n:=n-strtoint(s2);
             if n<0 then
               showmessage('出库数量不能大于库存数量!');
            with   frDbm.comG2   do
             begin
               frDbm.comG2.commandType:=cmdStoredProc;
               frDbm.comG2.CommandText:='goutAdd';
               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;
               Parameters.ParamByName('@cno').Value:=s6;
               frDbm.comG2.Execute;
               showmessage('数据添加成功!');
             end;
           end
            else showmessage('数据库中已经存在出库单号为'+s+'的记录,请重新输入!');
          end
       else
          showmessage('不存在该编号的成品,请查询后输入!');
     end
  else
  showmessage('出库单编号,成品编号,出库数量,出库时间不能为空!')
end;

procedure TfmG.btn3Click(Sender: TObject);
begin
  edt1.Text:='';
  comb2.Text:='';
  edt3.Text:='';
  edt4.Text:='';
  comb5.Text:='';
  edt6.Text:='';
  edt7.Text:='';
end;

procedure TfmG.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
  s:=edt1.Text;
  if   Trim(edt1.Text)<>''then
      begin
        frDbm.dsetG.Close;
        frDbm.dsetG.CommandText:='select * from t_gout where sno='+s+'';
        frDbm.dsetG.Open;
        if frDbm.dsetG.Fields[0].AsString<>'' then
          begin
            n:=frDbm.dsetG.Fields[2].AsInteger;
            s1:=frDbm.dsetG.Fields[1].AsString;
            frDbm.comG2.commandType:=cmdText;
            frDbm.ComG2.CommandText:='delete from t_gout where sno='+s+'';
            frDbm.ComG2.Execute;

            frDbm.dsetG.Close;
            frDbm.dsetG.CommandText:='select number from t_gstore where gsno='+s1+'';
            frDbm.dsetG.Open;
            n:=frDbm.dsetG.Fields[0].AsInteger+n;
            sum:=trim(inttostr(n));
            frDbm.comG2.commandType:=cmdText;
            frDbm.ComG2.CommandText:='update t_gstore set number='+sum+' where gsno='+s1+'';
            frDbm.ComG2.Execute;
            showmessage('数据修改成功!');
          end
        else
           showmessage('没有出库单号为'+s+'的记录!');
      end
  else
  showmessage('出库单编号不能为空!');
end;
end;


procedure TfmG.btnBClick(Sender: TObject);
var  s,s1,sum:string;
     n:integer;
begin
if messagedlg('确实要删除报废号为:'+trim(edtA.Text)+'的记录吗(Y/N)?',mtConfirmation,[mbYes]+[mbNo],0)=6 then
 begin
  s:=Trim(edtA.Text);
  if   s<>''then
      begin
        frDbm.dsetG.Close;
        frDbm.dsetG.CommandText:='select * from t_gjin where sno='+s+'';
        frDbm.dsetG.Open;
        if frDbm.dsetG.Fields[0].AsString<>'' then
          begin
            s1:=frDbm.dsetG.Fields[1].AsString;
            n:=frDbm.dsetG.Fields[2].AsInteger;
            frDbm.comG1.commandType:=cmdText;
            frDbm.ComG1.CommandText:='delete from t_gjin where sno='+s+'';
            frDbm.ComG1.Execute;

            frDbm.dsetG.Close;
            frDbm.dsetG.CommandText:='select number from t_gstore where gsno='+s1+'';
            frDbm.dsetG.Open;
            n:=frDbm.dsetG.Fields[0].AsInteger-n;

            sum:=trim(inttostr(n));
            frDbm.comG1.commandType:=cmdText;
            frDbm.ComG1.CommandText:='update t_gstore set number='+sum+' where gsno='+s1+'';
            frDbm.ComG1.Execute;
            showmessage('数据修改成功!');
              end
          else
           showmessage('没有出库单号为'+s+'的记录!');
      end
  else
  showmessage('出库单编号不能为空!');
 end;
end;

procedure TfmG.sbtn1Click(Sender: TObject);
begin
  fmG.Close;
  fmMain.show;
end;

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

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

procedure TfmG.rbtnAClick(Sender: TObject);
begin
  btn1.Enabled:=false;
  btn2.Enabled:=false;
  btnA.Enabled:=true;
  btnB.Enabled:=false;
end;

procedure TfmG.rbtnBClick(Sender: TObject);
begin
  btn1.Enabled:=false;
  btn2.Enabled:=false;
  btnA.Enabled:=false;
  btnB.Enabled:=true;
end;


procedure TfmG.mcAClick(Sender: TObject);
var a:Tdatetime;
    b:string;
begin
  a:=mcA.Date;
  b:=DateTimetostr(a);
  combE.Text:=b;
  mcA.Visible:=false;
end;

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

procedure TfmG.combEDropDown(Sender: TObject);
begin
  mcA.visible:=true;
end;

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

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

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

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

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

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

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

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

procedure TfmG.edtDKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  btnA.Click;
end;   

procedure TfmG.FormActivate(Sender: TObject);
begin
  combB.Items.Clear;
  comb2.Items.Clear;

  frDbm.qryG.Close;
  frDbm.qryG.SQL.Clear;
  frDbm.qryG.SQL.Text:='select * from t_glist ';
  frDbm.qryG.Open;
  while not frDbm.qryG.Eof do
  begin
    combB.Items.Add(frDbm.qryG.Fields[0].asstring);
    comb2.Items.Add(frDbm.qryG.Fields[0].asstring);
    frDbm.qryG.Next;
  end;
end;

procedure TfmG.comb2Select(Sender: TObject);
begin
  frDbm.qryG.Close;
  frDbm.qryG.SQL.Clear;
  frDbm.qryG.SQL.Text:='select cno from t_storelist where sno='''+trim(comb2.text)+'''';
  frDbm.qryG.Open;
  while not frDbm.qryG.Eof do
  begin
    edt7.text:=frDbm.qryG.Fields[0].asstring;
    frDbm.qryG.Next;
  end;
end;

procedure TfmG.combBSelect(Sender: TObject);
begin
  frDbm.qryG.Close;
  frDbm.qryG.SQL.Clear;
  frDbm.qryG.SQL.Text:='select cno from t_storelist where sno='''+trim(comb2.text)+'''';
  frDbm.qryG.Open;
  while not frDbm.qryG.Eof do
  begin
    edtF.text:=frDbm.qryG.Fields[0].asstring;
    frDbm.qryG.Next;
  end;
end;

end.

⌨️ 快捷键说明

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