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

📄 mzkcm.pas

📁 本文重点研究的是医院西药药房管理系统
💻 PAS
字号:
unit MzKcM;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  DBCtrls, Mask, StdCtrls, DBCGrids, ExtCtrls, Buttons,comobj,
  adodb,db, ComCtrls, ToolWin, ImgList;
type
  TMzKc = class(TForm)
    Panel7: TPanel;
    Panel8: TPanel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label15: TLabel;
    Label32: TLabel;
    Label33: TLabel;
    Label34: TLabel;
    Label35: TLabel;
    DBCtrlGrid3: TDBCtrlGrid;
    Panel9: TPanel;
    DBCheckBox3: TDBCheckBox;
    DBEdit21: TDBEdit;
    DBEdit20: TDBEdit;
    DBEdit19: TDBEdit;
    DBEdit18: TDBEdit;
    DBEdit10: TDBEdit;
    DBEdit11: TDBEdit;
    DBEdit12: TDBEdit;
    Panel14: TPanel;
    Label37: TLabel;
    Label38: TLabel;
    Label39: TLabel;
    ListBox14: TDBLookupListBox;
    Label31: TLabel;
    Label1: TLabel;
    DBEdit1: TDBEdit;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    bitbtn4: TToolButton;
    Panel1: TPanel;
    Panel6: TPanel;
    bitbtn1: TToolButton;
    bitbtn2: TToolButton;
    Panel10: TPanel;
    Panel2: TPanel;
    bitbtn3: TToolButton;
    Panel11: TPanel;
    Panel3: TPanel;
    Panel12: TPanel;
    Label2: TLabel;
    Edit3: TEdit;
    Panel5: TPanel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Panel4: TPanel;
    CheckBox1: TCheckBox;
    DBEdit2: TDBEdit;
    Label3: TLabel;
    procedure Edit3KeyPress(Sender: TObject; var Key: Char);
    procedure Panel14Exit(Sender: TObject);
    procedure ListBox14KeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DBCheckBox5MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure DBCheckBox4MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure DBCheckBox3MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure bitbtn3Click(Sender: TObject);
    procedure bitbtn1Click(Sender: TObject);
    procedure bitbtn2Click(Sender: TObject);
    procedure bitbtn4Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MzKc: TMzKc;

implementation

{$R *.DFM}
uses datamz,datamz1, KcPrinM, Main, DyPrinM, KcDyPrinM;
procedure TMzKc.Edit3KeyPress(Sender: TObject; var Key: Char);
begin
 if  (key=#13) and (length(trim(edit3.text))>0) then
   begin
    with datamzf.YpQuery1 do
     begin
      active:=false;
      Parameters.ParamByName('@YpCode').Value := edit3.text;
      try
       open;
       panel14.Visible:=true;
       Listbox14.SetFocus;
      except
       showmessage('文件不能打开!');
      end;
     end;
    end;

end;

procedure TMzKc.Panel14Exit(Sender: TObject);
begin
 panel14.Visible:=false;

end;

procedure TMzKc.ListBox14KeyPress(Sender: TObject; var Key: Char);
begin
 case key of
   #13:
    begin
      if datamzf1.XyKcWhQuery.Active=false then
       begin
        edit3.SetFocus;
        exit;
       end;
      datamzf1.XyKcWhQuery.Locate('yp_id',
      datamzf.YpQuery1.FieldByName('yp_id').value,[loPartialKey]);
      datamzf.YpQuery1.Active:=false;
      dbcheckbox3.SetFocus;
    end;
   #27:
    begin
      edit3.SetFocus;
      datamzf.YpQuery1.active:=false;
    end;
 end ;

end;

procedure TMzKc.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 datamzf.YpQuery1.active:=false;
 datamzf1.XyKcWhQuery.active:=false;
 MzKc.release;
end;

procedure TMzKc.DBCheckBox5MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 bitbtn1.Enabled:=true;
 bitbtn2.Enabled:=true;
end;

procedure TMzKc.DBCheckBox4MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 bitbtn1.Enabled:=true;
 bitbtn2.Enabled:=true;
end;

procedure TMzKc.DBCheckBox3MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
 bitbtn1.Enabled:=true;
 bitbtn2.Enabled:=true;

end;

procedure TMzKc.bitbtn3Click(Sender: TObject);
begin
 if checkbox1.Checked=true then
   begin
    if (RadioButton3.Checked=true)or(RadioButton4.Checked=true) then
      begin
       showmessage('只能打印全部库存及值班库存点药表!');
       exit;
      end;
    if (RadioButton1.Checked=true)and
       (datamzf1.XyKcWhQuery.Active=true) then
     begin
      DyPrin.QRLabel1.Caption:='库存点药表';
      DyPrin.Preview;
     end;
    if (RadioButton2.Checked=true)and
       (datamzf1.XyKcWhQuery.Active=true)then
     begin
      DyPrin.QRLabel1.Caption:='值班库存点药表';
      DyPrin.Preview;
     end;
   end
 else
  begin
   if (RadioButton2.Checked=true)or(RadioButton4.Checked=true) then
    begin
     showmessage('只能打印全部库存,及负库存!');
     exit;
    end;
   if RadioButton1.Checked=true then
    begin
     datamzf1.kcprin.active:=false;
     datamzf1.kcprin.active:=true;
     KcDyPrin.QRLabel1.Caption:='药品库存明细';
     KcDyPrin.Preview;
    end;
   if RadioButton3.Checked=true then
    begin
     KcPrin.QRLabel1.Caption:='负库存明细';
     if datamzf1.XyKcWhQuery.Active=true then
      begin
       KcPrin.Preview;
      end;
    end;
  end;
end;

procedure TMzKc.bitbtn1Click(Sender: TObject);
var
ms:integer;
begin
 ms:=Application.messagebox('确定修改?','提示',MB_OKCANCEL);
 if ms=1 then
   begin
    datamzf.XyMzValiConnection.BeginTrans;
    try
     datamzf1.XyKcWhQuery.UpdateBatch(arAllChapters);
     datamzf.XyMzValiConnection.CommitTrans;
     bitbtn1.Enabled:=false;
     bitbtn2.Enabled:=false;
    except
//      on E1:EOleException do
//       begin
//         datamzf.XyMzValiConnection.RollbackTrans;
//         showmessage(E1.message);
//       end;
//      on E:EDatabaseError do
//       begin
//         datamzf.XyMzValiConnection.RollbackTrans;
//         showmessage(E.message);
//       end;
//      else
//       begin
      datamzf.XyMzValiConnection.RollbackTrans;
      showmessage('您修改的纪录未能成功保存,可能有些数据已经被其他用户修改,或者大库禁止出售此批次药品,请重做!');
      datamzf1.XyKcWhQuery.Active:=false;
      datamzf1.XyKcWhQuery.Active:=true;
      bitbtn1.Enabled:=false;
      bitbtn2.Enabled:=false;
    end;
   end;
end;

procedure TMzKc.bitbtn2Click(Sender: TObject);
var
ms:integer;
begin
 ms:=Application.messagebox('放弃修改?','提示',MB_OKCANCEL);
 if ms=1 then
  begin
   datamzf1.XyKcWhQuery.CancelBatch;
   bitbtn1.Enabled:=false;
   bitbtn2.Enabled:=false;
  end;
end;

procedure TMzKc.bitbtn4Click(Sender: TObject);
begin
  if MainForm.dbedit1.text='' then
   begin
     showmessage('请登录!');
     exit;
   end ;
   datamzf1.XyKcWhQuery.Active:=false;

   if RadioButton1.Checked=true then
    datamzf1.XyKcWhQuery.Parameters.ParamByName('@mzdayiden').Value :=0;

   if RadioButton2.Checked=true then
    datamzf1.XyKcWhQuery.Parameters.ParamByName('@mzdayiden').Value :=1;

   if RadioButton3.Checked=true then
    datamzf1.XyKcWhQuery.Parameters.ParamByName('@mzdayiden').Value :=2;

   if RadioButton4.Checked=true then
    datamzf1.XyKcWhQuery.Parameters.ParamByName('@mzdayiden').Value :=3;

   try
     datamzf1.XyKcWhQuery.active:=true;
     bitbtn1.Enabled:=false;
     bitbtn2.Enabled:=false;
     bitbtn3.Enabled:=true;
   except
     showmessage('操作失败,可能权限不够!');
   end;
end;

procedure TMzKc.RadioButton1Click(Sender: TObject);
begin
 datamzf1.XyKcWhQuery.active:=false;
 bitbtn1.Enabled:=false;
 bitbtn2.Enabled:=false;
 bitbtn3.Enabled:=false;
end;

end.

⌨️ 快捷键说明

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