medrecord.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 1,092 行 · 第 1/3 页
PAS
1,092 行
procedure AdomedrecordAfterInsert(DataSet: TDataSet);
procedure tbnsortClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure DBGrid4KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DateTimePicker2CloseUp(Sender: TObject);
procedure DateTimePicker3CloseUp(Sender: TObject);
procedure MaskEdit2Exit(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure MaskEdit3Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
procedure ppReport1BeforePrint(Sender: TObject);
procedure ppReport2BeforePrint(Sender: TObject);
procedure ppReport3BeforePrint(Sender: TObject);
procedure ppReport4BeforePrint(Sender: TObject);
procedure ToolButton7Click(Sender: TObject);
procedure ppReport1PreviewFormCreate(Sender: TObject);
procedure ppReport2PreviewFormCreate(Sender: TObject);
procedure ppReport3PreviewFormCreate(Sender: TObject);
procedure ppReport4PreviewFormCreate(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
manyfield:boolean;
findex:array[1..5] of integer;
fsort:array[1..5] of string;
fcount:0..5;
db:0..3;
f:string;
end;
var
Formmedrecord: TFormmedrecord;
implementation
uses datamol,main,publicfunction, canfind;
{$R *.DFM}
procedure TFormmedrecord.PageControl1Change(Sender: TObject);
begin
(sender as Tpagecontrol).activepage.highlighted:=true;
case pagecontrol1.ActivePageIndex of
0:
begin
DBNavigator1.DataSource:=Dsmedrecord;
Adodoctor.open;
Adodoctor.First;
dbgrid1.Columns[6].PickList.clear;
while not Adodoctor.Eof do
begin
dbgrid1.Columns[6].picklist.add(Adodoctordoctorname.AsString);
Adodoctor.next;
end;
Adodoctor.open;
Adomed.first;
dbgrid1.columns[8].picklist.clear;
dbgrid1.columns[9].picklist.clear;
dbgrid1.columns[11].picklist.clear;
dbgrid1.columns[12].picklist.clear;
dbgrid1.columns[14].picklist.clear;
dbgrid1.columns[15].picklist.clear;
while not ADomed.Eof do
begin
dbgrid1.Columns[8].picklist.add(adomedmedno.AsString);
dbgrid1.Columns[11].picklist.add(adomedmedno.AsString);
dbgrid1.Columns[14].picklist.add(adomedmedno.AsString);
dbgrid1.Columns[9].picklist.add(adomedmedname.AsString);
dbgrid1.Columns[12].picklist.add(adomedmedname.AsString);
dbgrid1.Columns[15].picklist.add(adomedmedname.AsString);
adomed.next;
end;
end;
1:
begin
DBNavigator1.DataSource:=Dsmedtotal;
adomedtotal.DisableControls;
adomedtotal.close;
medcal; //汇总就诊金
adomedtotal.open;
adomedtotal.EnableControls;
end;
2:
begin
DBNavigator1.DataSource:=Dsmed;
adomed.close;
adomed.open;
end;
3:
begin
DBNavigator1.DataSource:=Dsdoctor;
adodoctor.Close;
adodoctor.Open;
end;
end;
end;
procedure TFormmedrecord.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
dbgrid_keypress(sender,key);
end;
procedure TFormmedrecord.DBGrid1DblClick(Sender: TObject);
begin
if (dbgrid1.SelectedIndex in [2..5]) then
begin
dbgrid3.visible:=true;
dbgrid3.setfocus;
end;
end;
procedure TFormmedrecord.DBGrid2DblClick(Sender: TObject);
begin
if (dbgrid2.selectedindex in [1..4]) then
begin
dbgrid4.visible:=true;
dbgrid4.setfocus;
end;
end;
procedure TFormmedrecord.DBGrid5Exit(Sender: TObject);
begin
dbgrid3.Visible:=false;
end;
procedure TFormmedrecord.DBGrid6Exit(Sender: TObject);
begin
dbgrid4.visible:=false;
end;
procedure TFormmedrecord.DBGrid5DblClick(Sender: TObject);
begin
adomedrecord.edit;
adomedrecordworkno.asstring:=datamod.adopersonalworkno.asstring;
dbgrid3.visible:=false;
dbgrid1.setfocus;
dbgrid1.SelectedIndex:=6;
end;
procedure TFormmedrecord.DBGrid6DblClick(Sender: TObject);
begin
adomedtotal.Edit;
adomedtotalworkno.asstring:=datamod.adopersonalworkno.asstring;
dbgrid4.Visible:=false;
dbgrid2.setfocus;
dbgrid2.SelectedIndex:=5;
end;
procedure TFormmedrecord.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
adomedrecord.close;
adomedtotal.close;
adomed.close;
adodoctor.Close;
datamod.adopersonal.close;
formmedrecord:=nil;
action:=cafree;
end;
procedure TFormmedrecord.FormCreate(Sender: TObject);
begin
pagecontrol1.ActivePageIndex:=0;
adomedrecord.open;
adomedtotal.open;
adomed.open;
adodoctor.open;
datamod.adopersonal.open;
datetimepicker1.date:=now;
datetimepicker2.date:=now;
datetimepicker3.date:=now;
maskedit1.Text:=datetostr(date);
maskedit2.text:=datetostr(date);
maskedit3.text:=copy(datetostr(date),1,7);
Adomedrecord.Filtered :=false;
Adomedrecord.Filter :='rq<='''+maskedit2.Text+''' and rq>='''+maskedit1.Text+''' ';
Adomedrecord.Filtered :=true;
Adomedtotal.Filtered :=false;
Adomedtotal.Filter :='rq='''+maskedit3.text+'''';
Adomedtotal.Filtered :=true;
end;
procedure TFormmedrecord.FormActivate(Sender: TObject);
begin
adodoctor.Open;
adodoctor.First;
dbgrid1.Columns[6].PickList.clear;
while not adodoctor.Eof do
begin
dbgrid1.Columns[6].picklist.add(adodoctordoctorname.AsString);
dbcombobox1.Items.Add(adodoctordoctorname.AsString);
adodoctor.next;
end;
adomed.Open;
adomed.first;
dbgrid1.columns[8].picklist.clear;
dbgrid1.columns[9].picklist.clear;
dbgrid1.columns[11].picklist.clear;
dbgrid1.columns[12].picklist.clear;
dbgrid1.columns[14].picklist.clear;
dbgrid1.columns[15].picklist.clear;
while not adomed.Eof do
begin
dbgrid1.Columns[8].picklist.add(adomedmedno.AsString);
dbgrid1.Columns[11].picklist.add(adomedmedno.AsString);
dbgrid1.Columns[14].picklist.add(adomedmedno.AsString);
dbcombobox2.Items.Add(adomedmedno.AsString);
dbcombobox3.Items.Add(adomedmedno.AsString);
dbcombobox4.Items.Add(adomedmedno.AsString);
dbgrid1.Columns[9].picklist.add(adomedmedname.AsString);
dbgrid1.Columns[12].picklist.add(adomedmedname.AsString);
dbgrid1.Columns[15].picklist.add(adomedmedname.AsString);
adomed.next;
end;
end;
procedure TFormmedrecord.PageControl1Changing(Sender: TObject;
var AllowChange: Boolean);
begin
(sender as Tpagecontrol).activepage.highlighted:=false;
end;
procedure TFormmedrecord.ToolButton4Click(Sender: TObject);
begin
close;
end;
procedure TFormmedrecord.DBNavigator1BeforeAction(Sender: TObject;
Button: TNavigateBtn);
begin
if button=nbInsert then
Case Pagecontrol1.ActivePageIndex of
0: DBEdit1.SetFocus;
2: DBEdit7.SetFocus;
3: DBEdit22.SetFocus;
end;
end;
procedure TFormmedrecord.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
begin
key:=#0;
case pagecontrol1.ActivePageIndex of
0: if activecontrol=DBEdit16 then
begin
adomedrecord.edit;
adomedrecord.Post;
adomedrecord.Append;
activecontrol:=DBGrid1;
end;
2: if activecontrol=DBEdit21 then
begin
adomed.edit;
adomed.post;
adomed.append;
activecontrol:=Panel3;
end;
3: if activecontrol=DBEdit30 then
begin
adodoctor.edit;
adodoctor.post;
adodoctor.Append;
activecontrol:=Panel4;
end;
end;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormmedrecord.adomedrecordmedpics1Change(Sender: TField);
var i:integer;
begin
adomedrecordmoney.asfloat:=0;
for i:=1 to 3 do
if not adomedrecord.fieldbyname('medno'+inttostr(i)).isnull then
if adomed.Locate('medno',adomedrecord.fieldbyname('medno'+inttostr(i)).asstring,[]) then
adomedrecordmoney.asfloat:=adomedrecordmoney.asfloat+adomedrecord.fieldbyname('medpics'+inttostr(i)).asfloat*adomedsalprice.AsFloat;
end;
procedure TFormmedrecord.DateTimePicker1CloseUp(Sender: TObject);
begin
adomedrecord.fieldbyname('rq').asstring:=datetostr(datetimepicker1.Date);
end;
procedure TFormmedrecord.AdomedrecordworknoChange(Sender: TField);
begin
with datamod do
begin
query1.close;
query1.sql.text:='select * from per24010 where workno='''+Adomedrecordworkno.asstring+''' and leave=0 ';
query1.open;
if not query1.eof then
begin
adomedrecordcardno.asstring:=query1.fieldbyname('cardno').asstring;
adomedrecordname.asstring:=query1.fieldbyname('name').asstring;
adomedrecorddept.asstring:=query1.fieldbyname('deptno').asstring;
end else
begin
application.messagebox('你输入了一个不存的工号,请重新输入','工号错误',mb_ok+mb_iconerror);
end;
end;
end;
procedure TFormmedrecord.Adomedrecordmedno1Change(Sender: TField);
begin
with datamod do
begin
query1.close;
query1.sql.text:='Select * from med01010 where medno='''+Sender.AsString+''' ';
query1.open;
if not Query1.eof then
begin
adomedrecord.FieldByName('medname'+copy(Sender.Name,length(Sender.Name),1)).AsString:=Query1.fieldbyname('medname').asstring;
end;
end;
end;
procedure TFormmedrecord.AdomedtotalworknoChange(Sender: TField);
begin
with datamod do
begin
query1.close;
query1.sql.text:='select * from per24010 where workno='''+sender.asstring+''' and leave=0 ';
query1.open;
if not query1.eof then
begin
adomedtotalcardno.asstring:=query1.fieldbyname('cardno').asstring;
adomedtotalname.asstring:=query1.fieldbyname('name').asstring;
adomedtotaldept.asstring:=query1.fieldbyname('deptno').asstring;
end else
begin
application.messagebox('你输入了一个不存的工号,请重新输入','工号错误',mb_ok+mb_iconerror);
dbgrid2.SelectedIndex:=1;
end;
end;
end;
procedure TFormmedrecord.AdomedtotalAfterInsert(DataSet: TDataSet);
begin
adomedtotalrq.asstring:=formatdatetime('yyyy/mm',date);
end;
procedure TFormmedrecord.AdodoctorworknoChange(Sender: TField);
begin
with datamod do
begin
query1.Close;
query1.sql.text:='select * from per24010 where workno='''+adodoctorworkno.asstring+''' and leave=0 ';
query1.open;
if not query1.Eof then
begin
adodoctorcardno.asstring:=Query1.fieldbyname('cardno').asstring;
adodoctordoctorname.asstring:=Query1.Fieldbyname('name').asstring;
adodoctorsex.asstring:=query1.fieldbyname('sexname').asstring;
adodoctorage.AsInteger:=query1.fieldbyname('age').asinteger;
adodoctordegress.asstring:=query1.fieldbyname('degreename').asstring;
adodoctorspec.asstring:=query1.fieldbyname('coursename').asstring;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?