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

📄 prndatamodule.pas

📁 某大型医院护士站
💻 PAS
字号:
unit PRNDataModule;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, Wwdatsrc, DBTables, Wwquery, wwstorep, Wwtable;

type
  TPRN_DM = class(TDataModule)
    qryCurrBeds: TwwQuery;
    qryCurrBedsBED: TStringField;
    qryCurrBedsNAME: TStringField;
    qryCurrBedsINID: TIntegerField;
    qryCurrBedsTIMES: TSmallintField;
    qryCurrBedsBIRTHDAY: TDateField;
    qryCurrBedsAGE: TSmallintField;
    SrcCurrBeds: TwwDataSource;
    qryCurrBedsSQID: TSmallintField;
    qryCurrBedsSEX: TStringField;
    qrydelfee: TwwQuery;
    clr_OrderRep: TwwQuery;
    spProcBill: TwwStoredProc;
    tblOrderRep: TTable;
    MoveRep: TBatchMove;
    LCLDATA: TDatabase;
    clr_InjLabel: TQuery;
    tblInjLabel: TTable;
    tblInjLabelBed: TStringField;
    tblInjLabelPnm: TStringField;
    tblInjLabelUsageid: TStringField;
    tblInjLabelUsagename: TStringField;
    tblInjLabelOrderkind: TSmallintField;
    tblInjLabelKindid: TSmallintField;
    tblInjLabelItemname: TStringField;
    tblInjLabelDosage: TFloatField;
    tblInjLabelDosunit: TStringField;
    tblInjLabelTmname: TStringField;
    tblInjLabelRepnb: TIntegerField;
    tblInjLabelCounts: TIntegerField;
    tblInjLabelTmnum: TSmallintField;
    InjMove: TBatchMove;
    spInjLabel: TwwStoredProc;
    qryPrnSumData: TwwQuery;
    qryPrnSumBill: TwwQuery;
    bmPrnSumMed: TBatchMove;
    tblMsgSum: TTable;
    qryPrnSumBillWARDID: TStringField;
    qryPrnSumBillDEPTNUM: TStringField;
    qryPrnSumBillITEMID: TStringField;
    qryPrnSumBillSENDQTY: TFloatField;
    qryPrnSumBillATONCEQTY: TFloatField;
    qryPrnSumBillTOTALQTY: TFloatField;
    qryPrnSumBillSPEC: TStringField;
    qryPrnSumBillITEMNAME: TStringField;
    qryPrnSumBillUSEUNIT: TStringField;
    qryPrnSumBillPRICE: TFloatField;
    qryPrnSumBillTOTALSUM: TFloatField;
    qryPrnSumBillMADEIN: TStringField;
    qryPrnSumBillWARDNAME: TStringField;
    qryPrnSumBillDEPTNAME: TStringField;
    qryWardMedin: TwwQuery;
    srcWardMedin: TwwDataSource;
    qryWardMedinMEDDATE: TDateField;
    qryWardMedinWARDID: TStringField;
    qryWardMedinBILLID: TStringField;
    qryWardMedinITEMID: TStringField;
    qryWardMedinPRICE: TFloatField;
    qryWardMedinQTY: TFloatField;
    qryWardMedinCONFIRM: TSmallintField;
    qryWardMedinPOST: TSmallintField;
    qryWardMedinSERIALID: TStringField;
    qryWardMedinITEMNAME: TStringField;
    qryWardMedinSPEC: TStringField;
    qryWardMedinUSEUNIT: TStringField;
    qryWardMedinSUBSUM: TFloatField;
    qryWardMedinRPRICE: TFloatField;
    qryUpdateConfirm: TwwQuery;
    qryWardMedinEXCUPLACE: TSmallintField;
    qryWardMedinEXCUNAME: TStringField;
    qryDayfeeDtl: TwwQuery;
    bmDayfeeDtl: TBatchMove;
    qryDayfeeDtlINID: TIntegerField;
    qryDayfeeDtlTIMES: TSmallintField;
    qryDayfeeDtlSQID: TSmallintField;
    qryDayfeeDtlICLASS: TStringField;
    qryDayfeeDtlITEMID: TStringField;
    qryDayfeeDtlTOTALQTY: TFloatField;
    qryDayfeeDtlTOTALFEE: TFloatField;
    bmInvitem: TBatchMove;
    bmPatientSub: TBatchMove;
    tblDayfeeDtl: TwwTable;
    RtblInvitem: TwwTable;
    tblInvitem: TwwTable;
    qryDayfeeDtlPATNAME: TStringField;
    qryPRN_Patientsub: TwwQuery;
    tblPrn_PatientSub: TwwTable;
    clr_DayfeeDtl: TwwQuery;
    qryWardMedinINOROUT: TSmallintField;
    clr_PatDayfees: TwwQuery;
    clr_PatSumfee: TwwQuery;
    qryDayfeePrn: TwwQuery;
    bmDayfeePrn: TBatchMove;
    tblPatDayfees: TwwTable;
    InsPatSumFee: TwwQuery;
    qryPrnDtlBill: TwwQuery;
    qryPrnDtlBillINID: TIntegerField;
    qryPrnDtlBillTIMES: TSmallintField;
    qryPrnDtlBillSQID: TSmallintField;
    qryPrnDtlBillITEMID: TStringField;
    qryPrnDtlBillTOTALQTY: TFloatField;
    qryPrnDtlBillPATNAME: TStringField;
    qryPrnDtlBillBEDID: TStringField;
    qryPrnDtlBillSEXNAME: TStringField;
    qryPrnDtlBillCNAME: TStringField;
    qryPrnDtlBillSPEC: TStringField;
    qryPrnDtlBillUSEUNIT: TStringField;
    procedure qryCurrBedsCalcFields(DataSet: TDataSet);
    procedure qryPrnSumBillCalcFields(DataSet: TDataSet);
    procedure qryWardMedinNewRecord(DataSet: TDataSet);
    procedure qryWardMedinCalcFields(DataSet: TDataSet);
    procedure qryWardMedinBeforeEdit(DataSet: TDataSet);
    procedure qryWardMedinITEMIDChange(Sender: TField);
  private
    { Private declarations }
  public
    FWardMedDate :TDate;
    FWardMedType :Smallint ; // 输入的类型 1:领药,2:退药
  end;

var
  PRN_DM: TPRN_DM;

implementation

uses DataModule, HisUtilitis;

{$R *.DFM}

procedure TPRN_DM.qryCurrBedsCalcFields(DataSet: TDataSet);
var
  CurrYear, BirthYear, tmp1, tmp2 : Word;
begin
  //计算年龄
  DecodeDate( now, CurrYear, tmp1, tmp2 );
  DecodeDate( qryCurrBedsBirthDay.AsDateTime, BirthYear, tmp1, tmp2 );
  qryCurrBedsage.AsInteger := CurrYear - BirthYear + 1 ;
end;

procedure TPRN_DM.qryPrnSumBillCalcFields(DataSet: TDataSet);
begin
  qryPrnSumBillTotalSum.Value :=
              qryPrnSumBillTotalQty.Value * qryPrnSumBillPrice.Value;
end;

procedure TPRN_DM.qryWardMedinNewRecord(DataSet: TDataSet);
begin
  qryWardMedInWardID.Value    := DM.currWardid;
  qryWardMedInSerialID.Value  := DM.GetSerialID;
  qryWardMedInConfirm.Value   := 0;
  qryWardMedInPost.Value      := 0;
  qryWardMedInExcuplace.Value := 1;
  qryWardMedInMedDate.Value   := PRN_DM.FWardMedDate;
  qryWardMedInBillID.Value    := '0';
  qryWardMedInInorOut.Value   := PRN_DM.FWardMedType;
end;

procedure TPRN_DM.qryWardMedinCalcFields(DataSet: TDataSet);
begin
  qryWardMedInSubSUM.Value := qryWardMedInPrice.Value * qryWardMedInQty.Value;
end;

procedure TPRN_DM.qryWardMedinBeforeEdit(DataSet: TDataSet);
begin
  if ( qryWardMedinPost.Value = 1 ) then
  begin
     HisErrorPrompt('药房已经确认,不能修改!');
     SysUtils.Abort;
  end;
end;

procedure TPRN_DM.qryWardMedinITEMIDChange(Sender: TField);
begin
  qryWardMedinPrice.Value := qryWardMedinRPrice.Value;
end;

end.

⌨️ 快捷键说明

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