⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hzcx.~pas

📁 本文重点研究的是医院西药药房管理系统
💻 ~PAS
字号:
unit hzcx;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ComCtrls, StdCtrls, ExtCtrls, Grids, DBGrids, Buttons, DBCtrls, Db, ADODB;

type
  TF_hzcx = class(TForm)
    Panel1: TPanel;
    Panel2: TPanel;
    Panel3: TPanel;
    DBG1: TDBGrid;
    DBG2: TDBGrid;
    P2RG: TRadioGroup;
    DTP1: TDateTimePicker;
    DTP2: TDateTimePicker;
    RG: TRadioGroup;
    RG1: TRadioGroup;
    DBL: TDBLookupComboBox;
    BitBtn1: TBitBtn;
    ADODksid: TADODataSet;
    DataSksid: TDataSource;
    DataS1: TDataSource;
    DataS2: TDataSource;
    ADOSP1: TADOStoredProc;
    ADOSP2: TADOStoredProc;
    GB: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    Panel4: TPanel;
    Panel5: TPanel;
    ADOSP1price: TBCDField;
    ADOSP1yp_id: TSmallintField;
    ADOSP1yp_code: TStringField;
    ADOSP1yp_name: TStringField;
    ADOSP1yp_spec: TStringField;
    ADOSP1yp_unit: TStringField;
    ADOSP1yp_classa: TWordField;
    ADOSP1yp_class: TWordField;
    ADOSP1amou: TIntegerField;
    ADOSP2in_id: TIntegerField;
    ADOSP2sc_fact: TStringField;
    ADOSP2corp_name: TStringField;
    ADOSP2yp_batch: TStringField;
    ADOSP2yp_life: TDateTimeField;
    ADOSP2in_amou: TIntegerField;
    ADOSP2price: TBCDField;
    ADOSP2in_date: TDateTimeField;
    GroupBox1: TGroupBox;
    Edit_ypsrm: TEdit;
    CheckBox_ypid: TCheckBox;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    DBGrid1: TDBGrid;
    AP_xyid_que: TADOStoredProc;
    DS_xyid_que: TDataSource;
    ADOSP2yp_name: TStringField;
    ADOSP2yp_spec: TStringField;
    ADOSP2yp_unit: TStringField;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure DTP1Change(Sender: TObject);
    procedure DTP2Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure P2RGClick(Sender: TObject);
    procedure RGClick(Sender: TObject);
    procedure DBLExit(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure RG1Click(Sender: TObject);
    procedure DBG1DblClick(Sender: TObject);
    procedure CheckBox_ypidClick(Sender: TObject);
    procedure Edit_ypsrmEnter(Sender: TObject);
    procedure Edit_ypsrmKeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  F_hzcx: TF_hzcx;

implementation
Uses Datamz;
{$R *.DFM}

procedure TF_hzcx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 action:=cafree;
  ADODksid.Close;

end;

procedure TF_hzcx.DTP1Change(Sender: TObject);
begin
 ADOSP1.Parameters.ParamByName('@up_date').Value:=datetostr(DTP1.Date)+' 0:0';
 ADOSP2.Parameters.ParamByName('@up_date').Value:=datetostr(DTP1.Date)+' 0:0';

end;

procedure TF_hzcx.DTP2Change(Sender: TObject);
begin
 ADOSP1.Parameters.ParamByName('@dn_date').Value:=datetostr(DTP2.Date)+' 23:59:59';
 ADOSP2.Parameters.ParamByName('@dn_date').Value:=datetostr(DTP2.Date)+' 23:59:59';

end;

procedure TF_hzcx.FormCreate(Sender: TObject);
var y,m,d:word;
begin
 ADODksid.Open;
 DTP2.Date:=now;
 DecodeDate(now,y,m,d);
 DTP1.Date:=EncodeDate(y,1,1);
 ADOSP1.Parameters.ParamByName('@up_date').Value:=datetostr(DTP1.Date)+' 0:0';
 ADOSP1.Parameters.ParamByName('@dn_date').Value:=datetostr(DTP2.Date)+' 23:59:59';
 ADOSP2.Parameters.ParamByName('@up_date').Value:=datetostr(DTP1.Date)+' 0:0';
 ADOSP2.Parameters.ParamByName('@dn_date').Value:=datetostr(DTP2.Date)+' 23:59:59';

end;

procedure TF_hzcx.P2RGClick(Sender: TObject);
begin
 ADOSP1.Parameters.ParamByName('@type').Value:=P2RG.ItemIndex;
 ADOSP2.Parameters.ParamByName('@type').Value:=P2RG.ItemIndex;
 if P2RG.ItemIndex=3
    then begin DBL.Visible:=true;DBL.SetFocus;end
    else begin DBL.Visible:=false;DBL.KeyValue:=null;end;
end;

procedure TF_hzcx.RGClick(Sender: TObject);
begin
 case RG.ItemIndex of
  0:begin
      ADOSP1.Parameters.ParamByName('@up_amou').Value:=-1000000000;
      ADOSP1.Parameters.ParamByName('@dn_amou').Value:=1000000000;
      ADOSP2.Parameters.ParamByName('@up_amou').Value:=-1000000000;
      ADOSP2.Parameters.ParamByName('@dn_amou').Value:=1000000000;
    end;
  1:begin
      ADOSP1.Parameters.ParamByName('@up_amou').Value:=0;
      ADOSP1.Parameters.ParamByName('@dn_amou').Value:=1000000000;
      ADOSP2.Parameters.ParamByName('@up_amou').Value:=0;
      ADOSP2.Parameters.ParamByName('@dn_amou').Value:=1000000000;
    end;
  2:begin
      ADOSP1.Parameters.ParamByName('@up_amou').Value:=-1000000000;
      ADOSP1.Parameters.ParamByName('@dn_amou').Value:=0;
      ADOSP2.Parameters.ParamByName('@up_amou').Value:=-1000000000;
      ADOSP2.Parameters.ParamByName('@dn_amou').Value:=0;
    end;
 end;
end;

procedure TF_hzcx.DBLExit(Sender: TObject);
begin
 if DBL.KeyValue=null
    then
      begin
        DBL.Visible:=false;
        ADOSP1.Parameters.ParamByName('@ks_id').Value:='%';
        ADOSP2.Parameters.ParamByName('@ks_id').Value:='%';
      end
    else
      begin
        ADOSP1.Parameters.ParamByName('@ks_id').Value:=DBL.KeyValue;
        ADOSP2.Parameters.ParamByName('@ks_id').Value:=DBL.KeyValue;
      end;

end;

procedure TF_hzcx.BitBtn1Click(Sender: TObject);
begin
 if ADOSP1.Active then ADOSP1.Close;
 ADOSP1.Open;
  if RG1.ItemIndex=0
     then
       begin
         ADOSP2.Parameters.ParamByName('@up_ypid').Value:=10000;
         ADOSP2.Parameters.ParamByName('@dn_ypid').Value:=20000;
         if ADOSP2.Active then ADOSP2.Close;
         ADOSP2.Open;
       end
     else
       begin
         ADOSP2.Parameters.ParamByName('@up_ypid').Value:=ADOSP1.FieldByName('yp_id').asinteger;
         ADOSP2.Parameters.ParamByName('@dn_ypid').Value:=ADOSP1.FieldByName('yp_id').asinteger;
         if ADOSP2.Active then ADOSP2.Close;
         ADOSP2.Open;
       end;
end;

procedure TF_hzcx.RG1Click(Sender: TObject);
begin
  if RG1.ItemIndex=0
     then
       begin
         ADOSP2.Parameters.ParamByName('@up_ypid').Value:=10000;
         ADOSP2.Parameters.ParamByName('@dn_ypid').Value:=20000;
         if ADOSP2.Active then ADOSP2.Close;
         ADOSP2.Open;
       end
     else
       begin
         ADOSP2.Parameters.ParamByName('@up_ypid').Value:=ADOSP1.FieldByName('yp_id').asinteger;
         ADOSP2.Parameters.ParamByName('@dn_ypid').Value:=ADOSP1.FieldByName('yp_id').asinteger;
         if ADOSP2.Active then ADOSP2.Close;
         ADOSP2.Open;
       end;
end;

procedure TF_hzcx.DBG1DblClick(Sender: TObject);
begin    RG1.ItemIndex:=1;
         ADOSP2.Parameters.ParamByName('@up_ypid').Value:=ADOSP1.FieldByName('yp_id').asinteger;
         ADOSP2.Parameters.ParamByName('@dn_ypid').Value:=ADOSP1.FieldByName('yp_id').asinteger;
         if ADOSP2.Active then ADOSP2.Close;
         ADOSP2.Open;

end;

procedure TF_hzcx.CheckBox_ypidClick(Sender: TObject);
begin
   if  Checkbox_ypid.Checked=true then
     begin
       edit_ypsrm.Enabled:=true;
       edit1.Enabled:=true;
       edit2.Enabled:=true;
       edit3.Enabled:=true;
       edit4.Enabled:=true;
       ADOSp1.Parameters.ParamByName('@yp').value:=true;
//       Ap_dkrz_mx_sum.Parameters.ParamByName('@yp').value:=true;
//       Ap_dkzb_mx.Parameters.ParamByName('@yp').value:=true;
//       Ap_dk_month_kc.Parameters.ParamByName('@yp').value:=true;
//       Ap_dk_his.Parameters.ParamByName('@yp').value:=true;
//       Ap_dk_his1.Parameters.ParamByName('@yp').value:=true;


       edit_ypsrm.SetFocus;
     end   ;
   if  Checkbox_ypid.Checked=false then
     begin
       edit_ypsrm.Enabled:=false;
       edit1.Enabled:=false;
       edit2.Enabled:=false;
       edit3.Enabled:=false;
       edit4.Enabled:=false;
       edit_ypsrm.Text:='';
       edit1.Text:='';
       edit2.Text:='';
       edit3.Text:='';
       edit4.Text:='';

       rg.Enabled:=true;
       rg1.Enabled:=true;
       p2rg.Enabled:=true;
       dtp1.Enabled:=true;
       dtp2.Enabled:=true;
       bitbtn1.Enabled:=true;

       ADOSP1.Parameters.ParamByName('@yp').value:=false;
//       Ap_dkrz_mx_sum.Parameters.ParamByName('@yp').value:=false;
//       Ap_dkzb_mx.Parameters.ParamByName('@yp').value:=false;
//       Ap_dk_month_kc.Parameters.ParamByName('@yp').value:=false;
//       Ap_dk_his.Parameters.ParamByName('@yp').value:=false;
//       Ap_dk_his1.Parameters.ParamByName('@yp').value:=false;


     end;
end;

procedure TF_hzcx.Edit_ypsrmEnter(Sender: TObject);
begin
       rg.Enabled:=false;
       rg1.Enabled:=false;
       p2rg.Enabled:=false;
       dtp1.Enabled:=false;
       dtp2.Enabled:=false;
       bitbtn1.Enabled:=false;

end;

procedure TF_hzcx.Edit_ypsrmKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    begin
     AP_xyid_que.Parameters.ParamByName('@srm').value:=trim(edit_ypsrm.Text);
     AP_xyid_que.Close;
     AP_xyid_que.Open;
     if Ap_xyid_que.RecordCount=0 then
        begin
          showmessage('大库无此药!');
        end
     else
        begin
        dbgrid1.Visible:=true;
        dbgrid1.SetFocus;
        end;
    end;
end;

procedure TF_hzcx.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if (key=#13)  then
    begin
    edit_ypsrm.Text:=AP_xyid_que.fieldvalues['yp_code'];
    edit1.Text:=AP_xyid_que.fieldvalues['yp_id'];
    edit2.Text:=AP_xyid_que.fieldvalues['yp_name'];
    edit3.Text:=AP_xyid_que.fieldvalues['yp_spec'];
    edit4.Text:=AP_xyid_que.fieldvalues['yp_unit'];
    dbgrid1.Visible:=false;

       rg.Enabled:=true;
       rg1.Enabled:=true;
       p2rg.Enabled:=true;
       dtp1.Enabled:=true;
       dtp2.Enabled:=true;
       bitbtn1.Enabled:=true;
       ADOSP1.Parameters.ParamByName('@ypid').value:=AP_xyid_que.fieldvalues['yp_id'];
//       Ap_dkrz_mx_sum.Parameters.ParamByName('@ypid').value:=AP_xyid_que.fieldvalues['yp_id'];
//       Ap_dkzb_mx.Parameters.ParamByName('@ypid').value:=AP_xyid_que.fieldvalues['yp_id'];
//       Ap_dk_month_kc.Parameters.ParamByName('@ypid').value:=AP_xyid_que.fieldvalues['yp_id'];
//       Ap_dk_his.Parameters.ParamByName('@ypid').value:=AP_xyid_que.fieldvalues['yp_id'];
//       Ap_dk_his1.Parameters.ParamByName('@ypid').value:=AP_xyid_que.fieldvalues['yp_id'];


    checkbox_ypid.SetFocus;
    end

end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -