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

📄 u_bmlldgl.~pas

📁 仓库管理系统 仓库管理系统delphi
💻 ~PAS
字号:
unit U_bmlldgl;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, DBCtrls, Buttons, Mask, Grids, DBGrids, ExtCtrls, Db, DBClient,
  ComCtrls, Menus, ImgList, Qrctrls, QuickRpt, ADODB;

type
  TfrmBmlld = class(TForm)
    ScrollBox3: TScrollBox;
    Panel2: TPanel;
    Panel8: TPanel;
    btn_insert: TSpeedButton;
    btn_post: TSpeedButton;
    btn_cancel: TSpeedButton;
    btn_refresh: TSpeedButton;
    btn_delete: TSpeedButton;
    btn_edit: TSpeedButton;
    DBNavigator2: TDBNavigator;
    Panel1: TPanel;
    Label28: TLabel;
    Label29: TLabel;
    Label30: TLabel;
    Label31: TLabel;
    Label32: TLabel;
    Label37: TLabel;
    Label38: TLabel;
    Label40: TLabel;
    DBEdit31: TDBEdit;
    DBEdit32: TDBEdit;
    DBEdit33: TDBEdit;
    DBEdit34: TDBEdit;
    DBEdit39: TDBEdit;
    DBCheckBox3: TDBCheckBox;
    DBComboBox2: TDBComboBox;
    Panel3: TPanel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    Label36: TLabel;
    DBEdit35: TDBEdit;
    DBEdit36: TDBEdit;
    DBEdit37: TDBEdit;
    DBEdit38: TDBEdit;
    DataSource5: TDataSource;
    DataSource4: TDataSource;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    BitBtn3: TBitBtn;
    BitBtn4: TBitBtn;
    BitBtn5: TBitBtn;
    DBGrid1: TDBGrid;
    ImageList1: TImageList;
    PopupMenu1: TPopupMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    aqBMLLD_MAIN: TADOQuery;
    aqBMLLD_DETAIL: TADOQuery;
    dbeLLZH: TDBEdit;
    Label16: TLabel;
    btnCancel: TSpeedButton;
    btnSH: TSpeedButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure btn_insertClick(Sender: TObject);
    procedure btn_editClick(Sender: TObject);
    procedure btn_cancelClick(Sender: TObject);
    procedure btn_postClick(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn3Click(Sender: TObject);
    procedure BitBtn4Click(Sender: TObject);
    procedure BitBtn5Click(Sender: TObject);
    procedure btn_refreshClick(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure btn_deleteClick(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure BitBtn6Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure DBNavigator2Click(Sender: TObject; Button: TNavigateBtn);
    procedure btnSHClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
  private
    procedure btn_valid;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmBmlld: TfrmBmlld;

implementation

uses  U_fzlr_zgxm, WzglDB, upublic, U_fzlr_clbm,uDB, U_Sldjshkp,
  U_bmlldjshkp;

{$R *.DFM}

procedure TfrmBmlld.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  action := cafree;
  frmBmlld := nil;
end;

procedure TfrmBmlld.btn_insertClick(Sender: TObject);
begin
  aqBMLLD_Main.Insert;
  dbeLLZH.enabled := true;
  btn_valid;
  dbedit31.SetFocus;
  aqBMLLD_DETAIL.SQL.Text:='select * from BMLLD_DETAIL where ReceiveNo="'+trim(dbeLLZH.Text)+'"';
  aqBMLLD_DETAIL.Open;
end;

procedure TfrmBmlld.btn_valid;
begin
  DBNavigator2.enabled := not dbnavigator2.enabled;
  btn_insert.enabled := not btn_insert.enabled;
  btn_delete.enabled := not btn_delete.enabled;
  btn_edit.enabled := not btn_edit.enabled;
  btn_cancel.enabled := not btn_cancel.enabled;
  btn_post.enabled := not btn_post.enabled;
  btnSH.Enabled := not btnSH.Enabled;
  btn_refresh.enabled := not btn_refresh.enabled;
  panel3.enabled := not panel3.enabled;
  panel1.enabled := not panel1.enabled;
  dbgrid1.columns[2].readonly := not dbgrid1.columns[2].readonly;
  dbgrid1.columns[3].readonly := not dbgrid1.columns[3].readonly;
  bitbtn1.visible := not bitbtn1.visible;
  bitbtn2.visible := not bitbtn2.visible;
  bitbtn3.visible := not bitbtn3.visible;
  bitbtn4.visible := not bitbtn4.visible;
  bitbtn5.visible := not bitbtn5.visible;
end;

procedure TfrmBmlld.btn_editClick(Sender: TObject);
begin
  if aqBMLLD_Main.recordcount = 0 then
  begin
    application.MessageBox('没有记录不能编辑', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  if aqBMLLD_Main.FieldByName('IsAuditing').value = true then
  begin
    application.messagebox('此单据已审核,不能编辑', '', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  aqBMLLD_Main.edit;
  dbeLLZH.enabled := false;
  btn_valid;
  dbedit31.setfocus;
end;

procedure TfrmBmlld.btn_cancelClick(Sender: TObject);
begin
  aqBMLLD_Main.Cancel;
  btn_valid;
end;

procedure TfrmBmlld.btn_postClick(Sender: TObject);
var
  s_llzh: string;
  query: TADOQuery;
begin
  if trim(dbedit31.text) = '' then
  begin
    application.MessageBox('领料单位不能为空', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    dbedit31.SetFocus;
    exit;
  end;
  if length(trim(dbeLLZH.text)) <> 9 then
  begin
    application.MessageBox('领料字号应为九位', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    dbeLLZH.SetFocus;
    exit;
  end;
  if dbcombobox2.text = '' then
  begin
    application.MessageBox('仓库名称不能为空', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    dbcombobox2.SetFocus;
    abort;
  end;

  s_llzh := dbeLLZH.Text;

  if aqBMLLD_MAIN.state = dsinsert then
  begin

    query := TADOquery.Create(self);
    query.Connection:= dmWarehouse.ACWarehouse;
    query.SQL.Text := 'select * from BMLLD_Main where ReceiveNo = "' + s_llzh + '"';
    query.open;
    if not query.Eof then
    begin
      application.MessageBox('领料字号已重复', '仓库管理系统', mb_iconinformation + mb_defbutton1);
      dbeLLZH.SetFocus;
      exit;
    end;
  end;

  aqBMLLD_DETAIL.First;

  aqBMLLD_Main.Post;
  btn_valid;
end;

procedure TfrmBmlld.BitBtn2Click(Sender: TObject);
begin
  aqBMLLD_Main.FieldByName('MatAdim').value := GetEmployeeName;
end;

procedure TfrmBmlld.BitBtn3Click(Sender: TObject);
begin
  aqBMLLD_Main.FieldByName('SendPerson').value := GetEmployeeName;
end;

procedure TfrmBmlld.BitBtn4Click(Sender: TObject);
begin
  aqBMLLD_Main.FieldByName('RecieveAdmin').value := GetEmployeeName;
end;

procedure TfrmBmlld.BitBtn5Click(Sender: TObject);
begin
  aqBMLLD_Main.FieldByName('RecievePerson').value := GetEmployeeName;
end;

procedure TfrmBmlld.btn_refreshClick(Sender: TObject);
begin
  aqBMLLD_Main.close;
  aqBMLLD_Main.SQL.Text := 'select * from bmlld_main order by ReceiveNo';
  aqBMLLD_Main.open;
  aqBMLLD_Main.first;
  aqBMLLD_Detail.SQL.Text := 'select * from BMLLD_Detail where  ReceiveNo="' + trim(dbeLLZH.Text) + '"';
  aqBMLLD_Detail.Open;
end;

procedure TfrmBmlld.BitBtn1Click(Sender: TObject);
begin
  aqBMLLD_Main.FieldByName('ReceiveUnits').value := GetDeptName;
end;

procedure TfrmBmlld.btn_deleteClick(Sender: TObject);
begin
  if aqBMLLD_Main.recordcount = 0 then
  begin
    application.MessageBox('没有记录可删除', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  if application.messagebox('请确认是否要删除', '仓库管理系统', mb_iconinformation + mb_yesno) = idyes then
  begin
    aqBMLLD_Main.delete;
  end;

end;

procedure TfrmBmlld.N1Click(Sender: TObject);
var
  i: integer;
  s_hint : string;
  query: TADOQuery;
begin
  if dbgrid1.columns[2].readonly = true then
  begin
    application.MessageBox('请在编辑状态下添加材料', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  if aqBMLLD_MAIN.state = dsinsert then
  begin
    application.MessageBox('请在编辑状态下添加材料', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;

  application.createform(TfrmClbm_Fzlr, frmClbm_Fzlr);
  try
    frmClbm_Fzlr.showmodal;
  finally
    query := TADOquery.Create(self);
    query.Connection:= dmWarehouse.ACWarehouse;
    frmClbm_Fzlr.free;
    for i := Low(ClbmRec) to High(clbmRec) do
    begin
      query.SQL.Text := 'select * from BMLLD_Detail where ReceiveNo = "' + aqBMLLD_Main.fieldbyname('ReceiveNo').asstring + '"';
      query.open;
      if not query.Eof then
      begin
        s_hint := '已有材料编号为' + clbmRec[i].clbm + '的仓库';
        application.MessageBox(pchar(s_hint), '管理系统', mb_iconinformation + mb_defbutton1);
        continue;
      end;
      aqBMLLD_DETAIL.insert;
      aqBMLLD_DETAIL.fieldbyname('ReceiveNo').value := aqBMLLD_Main.fieldbyname('ReceiveNo').asstring;
      aqBMLLD_DETAIL.fieldbyname('MatCode').value := clbmRec[i].clbm;
      aqBMLLD_DETAIL.fieldbyname('MatName').value := clbmRec[i].clmc;
      aqBMLLD_DETAIL.fieldbyname('Size').value := clbmRec[i].ggxh;
      aqBMLLD_DETAIL.fieldbyname('CUnit').value := clbmRec[i].jldw;
      aqBMLLD_DETAIL.fieldbyname('PlanPrice').value := clbmRec[i].jhdj;
      aqBMLLD_DETAIL.fieldbyname('PriceUnit').value := clbmRec[i].djdw;
      aqBMLLD_DETAIL.fieldbyname('PlanNum').value := 0.0;
      aqBMLLD_DETAIL.fieldbyname('RealNum').value := 0.0;
      aqBMLLD_DETAIL.post;
    end;
  end;
end;

procedure TfrmBmlld.DBGrid1DblClick(Sender: TObject);
begin
  n1.click;
end;

procedure TfrmBmlld.N2Click(Sender: TObject);
begin
  if aqBMLLD_DETAIL.recordcount = 0 then
  begin
    application.MessageBox('没有记录可删除', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  if dbgrid1.columns[2].readonly = true then
  begin
    application.MessageBox('请在添加或编辑状态下删除仓库', '仓库管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  if application.messagebox('请确认是否要删除', '仓库管理系统', mb_iconinformation + mb_yesno) = idyes then
  begin
    aqBMLLD_DETAIL.delete;
  end;
end;

procedure TfrmBmlld.BitBtn6Click(Sender: TObject);
begin
  //DM.CDS_BMLLD.FieldByName('工程项目').value := GetProjectName;
end;

procedure TfrmBmlld.FormCreate(Sender: TObject);

var
  s_value: string;
  query: TADOQuery;
begin
  aqBMLLD_Main.Active := True;
  aqBMLLD_DETAIL.Active := True;
  //激活仓库信息表
  query := TADOquery.Create(self);
  query.Connection:= dmWarehouse.ACWarehouse;
  query.SQL.Text := 'select * from CKDYB' ;
  query.open;
  dbcombobox2.Items.Clear ;
  //循环向下拉框写入仓库名称
  while not query.eof do
  begin
    s_value := query.fieldbyname('WName').asstring;
    dbcombobox2.Items.Add(s_value);
    query.next;
  end;
  
end;

procedure TfrmBmlld.FormShow(Sender: TObject);
begin
  aqBMLLD_Main.Close;
  aqBMLLD_DETAIL.Close;

  aqBMLLD_Main.Open;
  aqBMLLD_DETAIL.SQL.Text:='select * from BMLLD_DETAIL where ReceiveNo="'+trim(dbeLLZH.Text)+'"';
  aqBMLLD_DETAIL.Open;
end;

procedure TfrmBmlld.DBNavigator2Click(Sender: TObject;
  Button: TNavigateBtn);
begin
  aqBMLLD_DETAIL.SQL.Text:='select * from BMLLD_DETAIL where ReceiveNo="'+trim(dbeLLZH.Text)+'"';
  aqBMLLD_DETAIL.Open;
end;

//审核处理
procedure TfrmBmlld.btnSHClick(Sender: TObject);
begin
  if aqBMlld_Main.FieldByName('IsAuditing').value = true then
  begin
    application.MessageBox('此单据已审核', '材料与计划管理系统', mb_iconinformation + mb_defbutton1);
    exit;
  end;
  if application.MessageBox('请确认是否审核通过', '材料与计划管理系统', mb_iconinformation + mb_yesno) = idyes then
  begin
    application.createform(TfrmBmlldDjsh, frmBmlldDjsh);
    try
      frmBmlldDjsh.showmodal;
    finally
      frmBmlldDjsh.free;
    end;
  end;
end;

procedure TfrmBmlld.btnCancelClick(Sender: TObject);
begin
  close;
end;

end.

⌨️ 快捷键说明

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