📄 xymzvalim.pas
字号:
unit XyMzValiM;
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
TXyMzVali = 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
XyMzVali: TXyMzVali;
implementation
{$R *.DFM}
uses datamz, Main,ValiConnM;
procedure TXyMzVali.ReBtnClick(Sender: TObject);
begin
if (dbedit1.Text='') or (dbedit1.Text='') or
(MainForm.dbedit1.Text='') or (MainForm.dbedit1.Text='')then
begin
showmessage('复核用户应该先登录!');
exit;
end;
with datamzf.XyMzXmValiQuery do
begin
active:=false;
Parameters.ParamByName('hjid').Value := edit1.text;
end;
with datamzf.XyMzvaliQuery do
begin
active:=false;
sql.Clear;
sql.Add('select yp_name,yp_spec,');
sql.add('yp_unit,yp_batch,yp_amou,ls_price,qr_man');
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
datamzf.XyMzXmValiQuery.Active:=true;
datamzf.XyMzvaliQuery.active:=true;
if (datamzf.XyMzValiQuery.RecordCount<=0)
or (datamzf.XyMzXmValiQuery.RecordCount<=0) then
begin
showmessage('未发现相关纪录!');
datamzf.XyMzXmValiQuery.Active:=false;
datamzf.XyMzValiQuery.Active:=false;
edit1.Text:='';
edit1.SetFocus;
exit;
end;
if datamzf.XyMzValiQuery.FieldByName('qr_man').value<>'' then
begin
showmessage('处方已经确认!');
datamzf.XyMzXmValiQuery.Active:=false;
datamzf.XyMzValiQuery.Active:=false;
edit1.Text:='';
edit1.SetFocus;
exit;
end;
datamzf.XyMzvaliSource.Enabled:=true;
datamzf.XyMzXmvaliSource.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 TXyMzVali.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 TXyMzVali.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 TXyMzVali.CaBtnClick(Sender: TObject);
var
ms:integer;
begin
ms:=Application.messagebox('确定放弃确认此处方?','提示',MB_OKCANCEL);
if ms=1 then
begin
datamzf.XyMzvaliQuery.active:=false;
datamzf.XyMzXmValiQuery.Active:=false;
Cabtn.Enabled:=false;
Vabtn.enabled:=false;
Rebtn.enabled:=true;
edit1.Enabled:=true;
edit1.Text:='';
edit1.SetFocus;
end;
end;
procedure TXyMzVali.VaBtnClick(Sender: TObject);
begin
if (dbedit1.Text='')or
(dbedit1.Text='') then
begin
showmessage('复核用户应该先登录!');
exit;
end;
if dbedit1.Text=MainForm.dbedit1.Text then
begin
showmessage('确认用户与复核用户不能是同一个人!');
exit;
end;
datamzf.XyMzXmValiQuery.Active:=false;
with datamzf.XyMzvaliQuery do
begin
active:=false;
sql.Clear;
sql.Add('update XyMzVali ');
sql.add('set qr_man=:UserName,');
sql.add('fh_man=:UserName1 ');
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;
datamzf.XyMzvaliSource.Enabled:=false;
Cabtn.Enabled:=false;
Vabtn.enabled:=false;
Rebtn.enabled:=true;
edit1.Enabled:=true;
edit1.SetFocus;
end;
try
datamzf.XyMzValiQuery.ExecSQL;
edit1.Text:='';
exit;
except
on E1:EOleException do
begin
showmessage(E1.message);
end;
on E:EDatabaseError do
begin
showmessage(E.message);
end;
else
begin
showmessage('发现异常,操作被取消!');
end;
end;
with datamzf.XyMzXmValiQuery do
begin
active:=false;
Parameters.ParamByName('hjid').Value := edit1.text;
active:=true;
end;
with datamzf.XyMzvaliQuery do
begin
active:=false;
sql.Clear;
sql.Add('select yp_name,yp_spec,');
sql.add('yp_unit,yp_batch,yp_amou,ls_price,qr_man');
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;
active:=true;
end;
edit1.Text:='';
datamzf.XyMzvaliSource.Enabled:=true;
datamzf.XyMzXmvaliSource.Enabled:=true;
end;
procedure TXyMzVali.FormClose(Sender: TObject; var Action: TCloseAction);
begin
datamzf.XyMzvaliQuery.active:=false;
datamzf.XyMzXmValiQuery.Active:=false;
datamzf.XyMzLsConnection.Connected:=false;
XyMzVali.Release;
end;
procedure TXyMzVali.ToolButton1Click(Sender: TObject);
begin
valiconn.ShowModal;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -