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

📄 hwbs.pas

📁 本系统前端界面采用WINDOWS 窗口风格
💻 PAS
字号:
unit hwbs;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, DBGrids, ExtCtrls, StdCtrls, Mask, DBCtrls, Buttons, ComCtrls,
  ToolWin, Db, DBTables, Menus;

type
  TFrmhwbs = class(TForm)
    GroupBox1: TGroupBox;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Panel1: TPanel;
    Label1: TLabel;
    Label3: TLabel;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    DBGrid2: TDBGrid;
    Edit2: TEdit;
    Edit3: TEdit;
    Memo1: TMemo;
    DBGrid1: TDBGrid;
    SpeedButton2: TSpeedButton;
    SpeedButton1: TSpeedButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    DateTimePicker1: TDateTimePicker;
    Query_ckxx: TQuery;
    Query_bs: TQuery;
    DataSource_bs: TDataSource;
    Query_kc: TQuery;
    DataSource_kc: TDataSource;
    Database: TDatabase;
    procedure FormCreate(Sender: TObject);
    procedure Edit2KeyPress(Sender: TObject; var Key: Char);
    procedure SpeedButton2Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frmhwbs: TFrmhwbs;
  ck_id:array[0..25] of string;     //存仓库信息表ckxxb中仓库编号字段的值
  table_name:array[0..25] of string;

implementation

uses  main;

{$R *.DFM}

procedure TFrmhwbs.FormCreate(Sender: TObject);
  var   i:integer;
begin
   edit1.Clear;
   edit2.Clear;
   edit3.Clear;
   memo1.Clear;
   i:=0;
   DateTimePicker1.Date:=Frmmain.GetServerTime;
   Query_ckxx.close;
   Query_ckxx.UnPrepare;
   Query_ckxx.sql.Clear;
   Query_ckxx.sql.Add('select * from ckxxb');
   Query_ckxx.Prepare;
   Query_ckxx.open;
   while not Query_ckxx.Eof do
    begin
     combobox1.Items.Add(Query_ckxx.fields[1].asstring);
     ck_id[i]:=Query_ckxx.FieldByName('ck_bh').asString;
     table_name[i]:=Query_ckxx.fieldbyname('bm').asString;
     inc(i);
     Query_ckxx.Next;
    end;
    combobox1.Text:='';
     Query_bs.close;
     Query_bs.UnPrepare;
     Query_bs.sql.Clear;
     Query_bs.sql.Add('select * from bsxxb ORDER BY pm,bsrq');
     Query_bs.Prepare;
     Query_bs.open;
     Query_bs.FieldByName('bs_bh').DisplayLabel:='报损编号';
     Query_bs.FieldByName('pm').DisplayLabel:='物品名称';
     Query_bs.FieldByName('gg').DisplayLabel:='规格';
     Query_bs.FieldByName('dw').DisplayLabel:='单位';
     Query_bs.FieldByName('bssl').DisplayLabel:='报损数量';
     Query_bs.FieldByName('bsrq').DisplayLabel:='报损日期';
     Query_bs.FieldByName('bsr').DisplayLabel:='报损人';
     Query_bs.FieldByName('bz').DisplayLabel:='备注';
end;

procedure TFrmhwbs.Edit2KeyPress(Sender: TObject; var Key: Char);
begin
  if not (key in ['0'..'9','.',#8]) then
   key:=#0;
end;

procedure TFrmhwbs.SpeedButton2Click(Sender: TObject);
begin
    Self.close;
end;

procedure TFrmhwbs.ComboBox1Change(Sender: TObject);
begin
     Query_kc.close;
     Query_kc.UnPrepare;
     Query_kc.sql.Clear;
     if pos('中药',combobox1.text)>0 then
       Query_kc.sql.Add('select  pm,cd,dw,gg,ph,kcs,jj,jhrq,jgdw,ck_bh from '+table_name[combobox1.itemindex])
     else
       Query_kc.sql.Add('select  pm,cd,dw,gg,kcs,ph,jj,jhrq,pzwh,sb,ck_bh from '+table_name[combobox1.itemindex]);
     Query_kc.sql.Add(' where ck_bh ='''+ ck_id[combobox1.itemIndex]+'''');
     Query_kc.sql.Add('ORDER BY pm,jhrq');
     Query_kc.Prepare;
     Query_kc.open;
     Query_kc.FieldByName('ck_bh').DisplayLabel:='仓库编号';
     Query_kc.FieldByName('pm').DisplayLabel:='物品名称';
     Query_kc.FieldByName('gg').DisplayLabel:='规格';
     Query_kc.FieldByName('kcs').DisplayLabel:='库存数';
     Query_kc.FieldByName('jhrq').DisplayLabel:='进货日期';
     Query_kc.FieldByName('dw').DisplayLabel:='单位';
     Query_kc.FieldByName('jj').DisplayLabel:='进价';
     Query_kc.FieldByName('ph').DisplayLabel:='批号';
     if pos('中药',combobox1.text)>0 then
       Query_kc.FieldByName('jgdw').DisplayLabel:='加工单位'
     else
       begin
         Query_kc.FieldByName('sb').DisplayLabel:='商标';
         Query_kc.FieldByName('pzwh').DisplayLabel:='批准文号';
       end;
     Query_kc.FieldByName('cd').DisplayLabel:='产地';
end;

procedure TFrmhwbs.BitBtn2Click(Sender: TObject);
begin
  if Frmmain.right='00' then
  if (not Query_bs.Eof) or (not Query_bs.Bof) then
   if Application.MessageBox('确认要删除该记录吗?','询问', MB_OKCANCEL+MB_ICONQUESTION)=IDok then
      Query_bs.Delete;
end;

procedure TFrmhwbs.BitBtn1Click(Sender: TObject);
begin
  if (not Query_kc.Eof) or (not Query_kc.Bof) then
    if (combobox1.Text='') or (edit2.Text='') or (memo1.Text='')then
      Application.MessageBox('请将信息填写完整','提示', MB_OK+MB_ICONINFORMATION)
    else
      if strtoint(edit2.text)>Query_kc.FieldByName('kcs').asinteger then
        begin
           Application.MessageBox('报损数大于库存数','提示', MB_OK+MB_ICONINFORMATION);
           exit;
        end
      else
        begin
          Query_bs.Append;
          Query_bs.FieldByName('bs_bh').asstring:=formatdatetime('yyyymmddhhmmss',Frmmain.GetServerTime);
          Query_bs.FieldByName('pm').asstring:=Query_kc.FieldByName('pm').asstring;
          Query_bs.FieldByName('gg').asstring:=Query_kc.FieldByName('gg').asstring;
          Query_bs.FieldByName('dw').asstring:=Query_kc.FieldByName('dw').asstring;
          Query_bs.FieldByName('bssl').asstring:=edit2.text;
          Query_bs.FieldByName('bsrq').asstring:=datetostr(DateTimePicker1.Date);
          Query_bs.FieldByName('bsr').asstring:=trim(edit3.text);
          Query_bs.FieldByName('bz').asstring:=memo1.Text;

             try
               database.StartTransaction;
               Query_kc.Post;
               Query_bs.Post;
               database.Commit;
             except
               database.Rollback;
               Application.MessageBox('提交出错','提示', MB_OK+MB_ICONINFORMATION)
             end;
          edit2.Clear;
          edit3.Clear;
          memo1.Clear;
          Query_bs.FieldByName('bs_bh').DisplayLabel:='报损编号';
          Query_bs.FieldByName('pm').DisplayLabel:='物品名称';
          Query_bs.FieldByName('gg').DisplayLabel:='规格';
          Query_bs.FieldByName('dw').DisplayLabel:='单位';
          Query_bs.FieldByName('bssl').DisplayLabel:='报损数量';
          Query_bs.FieldByName('bsrq').DisplayLabel:='报损日期';
          Query_bs.FieldByName('bsr').DisplayLabel:='报损人';
          Query_bs.FieldByName('bz').DisplayLabel:='备注';
      end;
end;

procedure TFrmhwbs.SpeedButton1Click(Sender: TObject);
begin
   if combobox1.ItemIndex<0 then exit;
   Query_kc.close;
   Query_kc.UnPrepare;
   Query_kc.sql.Clear;
   if pos('中药',combobox1.text)>0 then
     Query_kc.sql.Add('select  pm,cd,dw,gg,kcs,ph,jj,jhrq,jgdw,ck_bh from '+table_name[combobox1.itemindex])
   else
     Query_kc.sql.Add('select  pm,cd,dw,gg,kcs,ph,jj,jhrq,pzwh,sb,ck_bh from '+table_name[combobox1.itemindex]);
   Query_kc.sql.Add(' where wp_bm like '+''''+edit1.Text+'%'+'''');
   Query_kc.sql.Add('ORDER BY pm');
   Query_kc.Prepare;
   Query_kc.open;
   Query_kc.FieldByName('ck_bh').DisplayLabel:='仓库编号';
   Query_kc.FieldByName('pm').DisplayLabel:='物品名称';
   Query_kc.FieldByName('gg').DisplayLabel:='规格';
   Query_kc.FieldByName('kcs').DisplayLabel:='库存数';
   Query_kc.FieldByName('jhrq').DisplayLabel:='进货日期';
   Query_kc.FieldByName('dw').DisplayLabel:='单位';
   Query_kc.FieldByName('jj').DisplayLabel:='进价';
   Query_kc.FieldByName('ph').DisplayLabel:='批号';
   if pos('中药',combobox1.text)>0 then
     Query_kc.FieldByName('jgdw').DisplayLabel:='加工单位'
   else
     begin
       Query_kc.FieldByName('sb').DisplayLabel:='商标';
       Query_kc.FieldByName('pzwh').DisplayLabel:='批准文号';
     end;
   Query_kc.FieldByName('cd').DisplayLabel:='产地';
end;

procedure TFrmhwbs.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then speedbutton1click(Self);
end;

end.

⌨️ 快捷键说明

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