📄 wardmed.pas
字号:
unit WardMed;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ImgList, fcOutlookList, fcButton, fcImgBtn, fcShapeBtn, ComCtrls,
ExtCtrls, fcStatusBar, fcClearPanel, fcButtonGroup, fcOutlookBar, ToolWin,
StdCtrls, Buttons, Grids, Wwdbigrd, Wwdbgrid ,db, wwdblook, fcLabel;
type
TfrmWardMed = class(TForm)
obFuncNav: TfcOutlookBar;
fcStatusBar1: TfcStatusBar;
Splitter1: TSplitter;
pcWardMed: TPageControl;
tsWardMedIn: TTabSheet;
TabSheet3: TTabSheet;
TabSheet4: TTabSheet;
funcLst: TfcOutlookList;
obFuncNavfcShapeBtn1: TfcShapeBtn;
ImageList1: TImageList;
wwDBGrid1: TwwDBGrid;
Panel1: TPanel;
dtp_MedinDate: TDateTimePicker;
lbMedDate: TLabel;
btnPrnWardMed: TBitBtn;
BitBtn2: TBitBtn;
lcbItemID: TwwDBLookupCombo;
wwDBLookupCombo1: TwwDBLookupCombo;
lbMedTitle: TfcLabel;
procedure BitBtn2Click(Sender: TObject);
procedure wwDBGrid1CalcCellColors(Sender: TObject; Field: TField;
State: TGridDrawState; Highlight: Boolean; AFont: TFont;
ABrush: TBrush);
procedure FormShow(Sender: TObject);
procedure dtp_MedinDateCloseUp(Sender: TObject);
procedure funcLstItems0Click(OutlookList: TfcCustomOutlookList;
Item: TfcOutlookListItem);
procedure funcLstItems1Click(OutlookList: TfcCustomOutlookList;
Item: TfcOutlookListItem);
procedure btnPrnWardMedClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
end;
var
frmWardMed: TfrmWardMed;
implementation
uses DataModule, PRNDataModule, RpWardMed;
{$R *.DFM}
procedure TfrmWardMed.BitBtn2Click(Sender: TObject);
begin
with PRN_DM.qryWardMedin do
begin
if UpdatesPending then ApplyUpdates;
Prn_DM.qryUpdateConfirm.Close;
Prn_DM.qryUpdateConfirm.SQL.Clear;
Prn_DM.qryUpdateConfirm.SQL.Add('UPDATE WARDMEDIN SET CONFIRM = 1 ');
Prn_DM.qryUpdateConfirm.SQL.Add('WHERE WARDID = :I_WARDID');
Prn_DM.qryUpdateConfirm.SQL.Add(' AND MEDDATE = :I_MEDDATE');
Prn_DM.qryUpdateConfirm.SQL.Add(' AND INOROUT = :I_MEDTYPE');
Prn_DM.qryUpdateConfirm.SQL.Add(' AND CONFIRM = 0');
Prn_DM.qryUpdateConfirm.Params[0].AsString := DM.currWardid;
Prn_DM.qryUpdateConfirm.Params[1].AsDate := Trunc(dtp_MedinDate.Date);
Prn_DM.qryUpdateConfirm.Params[2].AsSmallint:= PRN_DM.FWardMedType;
Prn_DM.qryUpdateConfirm.ExecSQL;
DisableControls;
Close;
Open;
EnableControls;
end;
end;
procedure TfrmWardMed.wwDBGrid1CalcCellColors(Sender: TObject;
Field: TField; State: TGridDrawState; Highlight: Boolean; AFont: TFont;
ABrush: TBrush);
begin
with PRN_DM do
begin
if qryWardMedinConfirm.Value = 0 then
AFont.Color := clBlack
else
AFont.Color := clBlue;
if qryWardMedinPost.Value = 1 then
ABrush.Color := $00E1E1FF
else
ABrush.Color := $00ECFFFF;
end;
if HighLight then
begin
AFont.Color := clWhite;
ABrush.Color := clNavy;
end;
end;
procedure TfrmWardMed.FormShow(Sender: TObject);
begin
with DM.qryOrderCost do
begin
Close;
SQL.Clear;
SQL.Add('SELECT COSTID ,CNAME ,ENAME ,SPEC ,PRICE ,MADEIN , ');
SQL.Add('DOSAGE ,BASEDOSE ,EXCODE1 ,EXCODE2 ,EXCODE3 ');
SQL.Add(' FROM ORDERCOST ');
SQL.Add(' WHERE ENABLED = 1 ');
SQL.Add(' ORDER BY COSTID ');
lcbItemID.Selected.Clear;
lcbItemID.Selected.Add('COSTID' + #9 + '6' + #9 +'项目号' + #9);
lcbItemID.Selected.Add('CNAME' + #9 + '20' + #9 +'中文名称' + #9);
lcbItemID.Selected.Add('ENAME' + #9 + '20' + #9 +'英文名称' + #9);
lcbItemID.Selected.Add('SPEC' + #9 + '16' + #9 +'规格' + #9);
lcbItemID.Selected.Add('PRICE' + #9 + '10' + #9 +'价格' + #9);
lcbItemID.Selected.Add('MADEIN' + #9 + '16' + #9 +'产地');
Open;
end;
DM.ExcutePos.Open;
PRN_DM.FWardMedDate := Date;
dtp_MedinDate.Date := Date;
FuncLst.Items[0].Selected := True;
PRN_DM.FWardMedType := 1;
with PRN_DM.qryWardMedin do
begin
Close;
Params[0].AsString := DM.currWardid;
Params[1].AsDate := Trunc(dtp_MedinDate.Date);
Params[2].AsSmallInt := PRN_DM.FWardMedType;
Open;
end;
end;
procedure TfrmWardMed.dtp_MedinDateCloseUp(Sender: TObject);
begin
with PRN_DM.qryWardMedin do
begin
DisableControls;
Close;
Params[0].AsString := DM.currWardid;
Params[1].AsDate := Trunc(dtp_MedinDate.Date);
Params[2].AsSmallInt := PRN_DM.FWardMedType;
Open;
EnableControls;
end;
PRN_DM.FWardMedDate := dtp_MedinDate.Date;
end;
procedure TfrmWardMed.funcLstItems0Click(OutlookList: TfcCustomOutlookList;
Item: TfcOutlookListItem);
begin
if funcLst.Items[0].Selected then
begin
lbMedTitle.Caption := '科 室 领 药';
lbMedTitle.Update;
lbMedDate.Caption := '领药日期:';
lbMedDate.Update;
PRN_DM.qryWardMedinMEDDATE.DisplayLabel := '领药日期';
PRN_DM.FWardMedType := 1;
with PRN_DM.qryWardMedin do
begin
DisableControls;
Close;
Params[0].AsString := DM.currWardid;
Params[1].AsDate := Trunc(dtp_MedinDate.Date);
Params[2].AsSmallInt := PRN_DM.FWardMedType;
Open;
EnableControls;
end;
end;
end;
procedure TfrmWardMed.funcLstItems1Click(OutlookList: TfcCustomOutlookList;
Item: TfcOutlookListItem);
begin
if funcLst.Items[1].Selected then
begin
lbMedTitle.Caption := '科 室 退 药';
lbMedTitle.Update;
lbMedDate.Caption := '退药日期:';
lbMedDate.Update;
PRN_DM.qryWardMedinMEDDATE.DisplayLabel := '退药日期';
PRN_DM.FWardMedType := -1;
with PRN_DM.qryWardMedin do
begin
DisableControls;
Close;
Params[0].AsString := DM.currWardid;
Params[1].AsDate := Trunc(dtp_MedinDate.Date);
Params[2].AsSmallInt := PRN_DM.FWardMedType;
Open;
EnableControls;
end;
end;
end;
procedure TfrmWardMed.btnPrnWardMedClick(Sender: TObject);
begin
try
frmRepWardMed := TfrmRepWardMed.Create(Self);
if (Prn_DM.FWardMedType = 1) then
begin
frmRepWardMed.RepTitle.Caption := DM.currWardName + '领药单' ;
frmRepWardMed.QRLabel1.Caption := '领药日期:';
frmRepWardMed.QRLabel2.Caption := '领药人签名:';
frmRepWardMed.QRLabel3.Caption := '发药人签名:';
end;
if (Prn_DM.FWardMedType = -1) then
begin
frmRepWardMed.RepTitle.Caption := DM.currWardName + '退药单' ;
frmRepWardMed.QRLabel1.Caption := '退药日期:';
frmRepWardMed.QRLabel2.Caption := '退药人签名:';
frmRepWardMed.QRLabel3.Caption := '收药人签名:';
end;
frmRepWardMed.rplbMedDate.Caption := DateToStr(dtp_MedinDate.Date);
frmRepWardMed.QuickRep1.Preview;
finally
frmRepWardMed.Free;
end;
end;
procedure TfrmWardMed.FormClose(Sender: TObject; var Action: TCloseAction);
begin
PRN_DM.qryWardMedin.Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -