📄 chgexitem.pas
字号:
unit chgExitem;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons, ExtCtrls, Spin, ComCtrls;
type
TfrmChgExitem = class(TForm)
Panel1: TPanel;
btnChgfee: TBitBtn;
btnClose: TBitBtn;
Panel2: TPanel;
Label4: TLabel;
dtpExitemChgDate: TDateTimePicker;
Label10: TLabel;
seChgNum: TSpinEdit;
Panel3: TPanel;
Label1: TLabel;
lbExitemName: TLabel;
Label2: TLabel;
lbPrice: TLabel;
lbUseUnit: TLabel;
cbBackMed: TCheckBox;
procedure btnChgfeeClick(Sender: TObject);
private
{ Private declarations }
public
curr_serialid :string;
curr_itemid :string;
end;
var
frmChgExitem: TfrmChgExitem;
implementation
uses DataModule, ItemfeeDtl, HisUtilitis;
{$R *.DFM}
procedure TfrmChgExitem.btnChgfeeClick(Sender: TObject);
var
sp_Result :integer;
begin
if ( not DM.isInCharge ) and ( not DM.isSysAdm ) then
begin
HisErrorPrompt('当前操作员没有冲正费用权限!');
SysUtils.Abort;
end;
if DM.OrderItemEndTime.IsNull then
begin
HisErrorPrompt('没有停止的医嘱不能冲正!');
SysUtils.Abort;
end;
if ( seChgNum.Value = 0 ) then
begin
HisErrorPrompt('冲正的次数不能为0!');
SysUtils.Abort;
end;
with DM.spFeeChg do
begin
Close;
Params[0].AsString := curr_serialid;
Params[1].AsString := curr_itemid;
Params[2].AsString := DM.currOperatorno;
Params[3].AsDate := Trunc(dtpExitemChgDate.Date);
Params[4].AsFloat := 1.0;
Params[5].AsInteger := seChgNum.Value;
if ( cbBackMed.Checked and cbBackMed.Enabled ) then
Params[6].AsSmallint := 1
else
Params[6].AsSmallint := 0;
Params[7].AsSmallint := 1;
ExecProc;
sp_Result := Params[8].AsInteger;
end;
if sp_Result < 0 then
begin
case sp_Result of
-1 :
HisErrorPrompt('病人已经开始结算,费用冲正请到住院科!,');
else
HisErrorPrompt('冲正出现错误,请认真查看数据是否有错!');
end;
SysUtils.Abort;
end;
with DM.qryItemFeeDtl do
begin
DisableControls;
Close;
Params[0].AsString := DM.OrderItemSerialID.Value;
Open;
EnableControls;
end;
close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -