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

📄 mfvalim.pas

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

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, Grids, DBGrids, StdCtrls, Mask, Buttons,adodb,db,Comobj,
  DBCtrls, Spin, ExtCtrls, ToolWin, ImgList;

type
  TMfVali = class(TForm)
    Panel1: TPanel;
    DBGrid3: TDBGrid;
    DBGrid1: TDBGrid;
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    Panel2: TPanel;
    Label4: TLabel;
    DBEdit1: TDBEdit;
    ImageList1: TImageList;
    Panel3: TPanel;
    Panel4: TPanel;
    Label2: TLabel;
    Edit1: TEdit;
    ReBtn: TBitBtn;
    VaBtn: TBitBtn;
    CaBtn: TBitBtn;
    procedure ReBtnClick(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
    procedure Edit1Change(Sender: TObject);
    procedure CaBtnClick(Sender: TObject);
    procedure VaBtnClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ToolButton1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  MfVali: TMfVali;

implementation

{$R *.DFM}
uses datamz2, Main,ValiConn2M, datamz;

procedure TMfVali.ReBtnClick(Sender: TObject);
begin
 if (dbedit1.Text='') or (dbedit1.Text=null) or
    (MainForm.dbedit1.Text='') or (MainForm.dbedit1.Text=null)then
 begin
   showmessage('复核用户应该先登录!');
   exit;
 end;
 if dbedit1.Text=MainForm.dbedit1.Text then
 begin
   showmessage('确认用户与复核用户不能是同一个人!');
   exit;
 end;
  with datamzf2.XyMzXmValiQuery1 do
    begin
     active:=false;
     sql.Clear;
     sql.Add('select xm_name,hz_name,sk_man,hj_date,ys_money ');
     sql.add('from MzYpSf,XmId ');
     sql.add('where MzYpSf.xm_id=XmId.xm_id and ');
     sql.add('XmId.xy_iden=1 and ');
     sql.add('MzYpSf.hj_id=:hjid');
     Parameters.ParamByName('hjid').Value := edit1.text;
   end;
  with datamzf2.XyMzvaliQuery1 do
    begin
     active:=false;
     sql.Clear;
     sql.Add('select yp_name,yp_spec,');
     sql.add('yp_unit,yp_batch,yp_amou,ls_price');
     sql.add('from XyMzVali,XyId');
     sql.add('where XyMzVali.yp_id=XyId.yp_id and ');
     sql.add('XyMzVali.hj_id=:hjid');
     Parameters.ParamByName('hjid').Value := edit1.text;
   end;
     try
       datamzf2.XyMzXmValiQuery1.Active:=true;
       datamzf2.XyMzvaliQuery1.active:=true;
       if (datamzf2.XyMzValiQuery1.RecordCount<=0)
            or (datamzf2.XyMzXmValiQuery1.RecordCount<=0) then
        begin
         showmessage('未发现相关纪录!');
         datamzf2.XyMzXmValiQuery1.Active:=false;
         datamzf2.XyMzValiQuery1.Active:=false;
         edit1.SetFocus;
         exit;
        end;
       datamzf2.XyMzvaliSource1.Enabled:=true;
       datamzf2.XyMzXmvaliSource1.Enabled:=true;
       Cabtn.Enabled:=true;
       Vabtn.enabled:=true;
       Rebtn.enabled:=false;
       edit1.Enabled:=false;
       Vabtn.SetFocus;
     except
      on E1:EOleException do
         showmessage(E1.message);
      on E:EDatabaseError do
         showmessage(E.message);
      else
         showmessage('发现异常,操作被取消!');
     end;
end;

procedure TMfVali.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 case key of
   #13:
     if Rebtn.Enabled=true then
        rebtn.SetFocus;
   #48..#57:;
   #8:;
   else
    key:=#0;
  end
end;

procedure TMfVali.Edit1Change(Sender: TObject);
var
p:pchar;
s:string[20];
begin
 s:=edit1.text;
 p:=@s;
 if strlen(p)>0 then
    rebtn.enabled:=true
 else
    rebtn.enabled:=false;

end;

procedure TMfVali.CaBtnClick(Sender: TObject);
var
ms:integer;
begin
 ms:=Application.messagebox('确定放弃确认此处方?','提示',MB_OKCANCEL);
 if ms=1 then
  begin
   datamzf2.XyMzvaliQuery1.active:=false;
   datamzf2.XyMzXmValiQuery1.Active:=false;
   Cabtn.Enabled:=false;
   Vabtn.enabled:=false;
   Rebtn.enabled:=true;
   edit1.Enabled:=true;
   edit1.SetFocus;
  end;
end;

procedure TMfVali.VaBtnClick(Sender: TObject);
var
ms:integer;
begin
 ms:=Application.messagebox('确定确认此处方?','提示',MB_OKCANCEL);
 if ms=1 then
  begin
   with datamzf2.XyMzXmvaliQuery1 do
    begin
     active:=false;
     sql.Clear;
     sql.Add('update MzYpSf ');
     sql.add('set qr_man=:UserName ');
     sql.add(',mf_iden=1');
     sql.add('where hj_id=:hjid');
     Parameters.ParamByName('UserName').Value := mainform.dbedit1.text;
     Parameters.ParamByName('hjid').Value := edit1.text;
     datamzf2.XyMzXmValiSource1.Enabled:=false;
    end;
   with datamzf2.XyMzvaliQuery1 do
    begin
     active:=false;
     sql.Clear;
     sql.Add('update XyMzVali ');
     sql.add('set qr_man=:UserName,');
     sql.add('fh_man=:UserName1, ');
     sql.add('mf_iden=1 ');
     sql.add('where XyMzVali.hj_id=:hjid');
     Parameters.ParamByName('UserName').Value := MainForm.dbedit1.text;
     Parameters.ParamByName('hjid').Value := edit1.text;
     Parameters.ParamByName('UserName1').Value := dbedit1.text;
     datamzf2.XyMzvaliSource1.Enabled:=false;
     Cabtn.Enabled:=false;
     Vabtn.enabled:=false;
     Rebtn.enabled:=true;
     edit1.Enabled:=true;
     edit1.SetFocus;
    end;
    datamzf.XyMzValiConnection.BeginTrans;
    try
       datamzf2.XyMzValiQuery1.ExecSQL;
       datamzf2.XyMzXmValiQuery1.ExecSQL;
       datamzf.XyMzValiConnection.CommitTrans;

       showmessage('确认成功!');
    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('发现异常,操作被取消!');
       end;
    end;
  end;
end;

procedure TMfVali.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  datamzf2.XyMzvaliQuery1.active:=false;
  datamzf2.XyMzXmValiQuery1.Active:=false;
  datamzf2.XyMzLsConnection1.Connected:=false;
  MfVali.Release;
end;

procedure TMfVali.ToolButton1Click(Sender: TObject);
begin
 valiconn2.ShowModal;
end;

end.

⌨️ 快捷键说明

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