📄 frmcharge.~pas
字号:
unit FrmCharge;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, DB, ADODB;
type
TFormcharge = class(TForm)
Panel1: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Panel2: TPanel;
Label1: TLabel;
ComboBox1: TComboBox;
Label3: TLabel;
Label4: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DBGrid1: TDBGrid;
Label5: TLabel;
Label6: TLabel;
DBGrid2: TDBGrid;
Label2: TLabel;
ComboBox2: TComboBox;
Button4: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure ComboBox1CloseUp(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Formcharge: TFormcharge;
q,p:string;
implementation
uses frmgetsure;
{$R *.dfm}
procedure TFormcharge.Button2Click(Sender: TObject);
begin //当满足条件时,弹出收费窗体
if (Formcharge.ADOQuery2.IsSequenced)and(Formcharge.ADOQuery2.RecordCount>0) then
begin
Formgetsure.ShowModal;
Formgetsure.Editget.Clear;
Formgetsure.EditTime.Clear;
Formgetsure.Label5.Caption:='';
end
else
Application.MessageBox('没有可付款项','提示',MB_OK);
end;
procedure TFormcharge.Button1Click(Sender: TObject);
begin//选择与条件相符的信息
p:=datetostr(Formcharge.DateTimePicker2.DateTime)+' '+'23:59:59';//当天最大时间
q:=datetostr(Formcharge.DateTimePicker1.DateTime)+' '+'00:00:00';//当天最小时间
if (datetostr(Formcharge.DateTimePicker1.Datetime)='') and(datetostr(Formcharge.DateTimePicker2.Date)='')then//判断信息的完整性
Application.MessageBox('请输完整要查询的信息','提示',MB_OK)
else
begin
with Formcharge.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from 门诊划价 where');
if not(Formcharge.ComboBox2.Text='') then
sql.Add('科室='''+Formcharge.ComboBox2.Text+'''and');
sql.Add('划价时间>=:q and 划价时间<=:p');//时期的上下限
parameters.ParamByName('q').Value:=trunc(strtodatetime(q));
parameters.ParamByName('p').Value:=trunc(strtodatetime(p)+1);
open;
end;
end;
Formcharge.Label6.Caption:=inttostr(Formcharge.ADOQuery1.RecordCount);
end;
procedure TFormcharge.DBGrid1CellClick(Column: TColumn);
begin//双击病人信息某行时,下一个表单显示相应的划价药品
with Formcharge.ADOQuery2 do
begin
close;
sql.Clear;
sql.Add('select 编号,药品编号,单价,数量,金额 from 门诊划价明细表');
sql.Add('where 划价编号=:a');
parameters.ParamByName('a').Value:=Formcharge.ADOQuery1.FieldByName('编号').Value;
open;
end;
end;
procedure TFormcharge.ComboBox1CloseUp(Sender: TObject);
begin//当下拉菜单闭合时,输出相应编号的信息
with Formcharge.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from 门诊划价 where 编号='''+Formcharge.ComboBox1.Text+'''');
open;
end;
end;
procedure TFormcharge.Button4Click(Sender: TObject);
var
Min,Max,i:integer;
item:string;
begin
//科室录入到下拉菜单
Formcharge.ComboBox2.Clear;
Formcharge.ADODataSet1.Close;
Formcharge.ADODataSet1.CommandText:='select kname from 科室信息';
Formcharge.ADODataSet1.Active:=true;
Min:=0;
Max:=Formcharge.ADODataSet1.RecordCount;
Formcharge.ADODataSet1.First;
for i:=Min to (Max-1) do
begin
item:=Formcharge.ADODataSet1.FieldByName('kname').AsString;
Formcharge.ComboBox2.Items.Add(item);
Formcharge.ADODataSet1.Next;
end;
Formcharge.DateTimePicker1.DateTime:=now();
Formcharge.DateTimePicker2.DateTime:=now()+1;
//划价录入到下拉菜单
Formcharge.ComboBox1.Clear;
Formcharge.ADODataSet1.Close;
Formcharge.ADODataSet1.CommandText:='select 编号 from 门诊划价 where 划价时间<:a and 划价时间>:b and 是否收费=:c';
Formcharge.ADODataSet1.Parameters.ParamByName('a').Value:=Formatdatetime('yyyy-mm-dd',now()+1)+' '+'23:59:59';//筛选当天的划价信息
Formcharge.ADODataSet1.Parameters.ParamByName('b').Value:=Formatdatetime('yyyy-mm-dd',now())+' '+'00:00:00';
Formcharge.ADODataSet1.Parameters.ParamByName('c').Value:='否';
Formcharge.ADODataSet1.Active:=true;
Min:=0;
Max:=Formcharge.ADODataSet1.RecordCount;
Formcharge.ADODataSet1.First;
for i:=Min to (Max-1) do
begin
item:=Formcharge.ADODataSet1.FieldByName('编号').AsString;
Formcharge.ComboBox1.Items.Add(item);
Formcharge.ADODataSet1.Next;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -