using System; using AIMSDAL; using AIMSModel; using AIMSObjectQuery; using System.Collections; using System.Collections.Generic; using System.Data; using DrawGraph; namespace AIMSBLL { public partial class BOperationTemplate { public static bool Exists(string TemplateName, int TypeId) { return DOperationTemplate.Exists(TemplateName, TypeId); } public static void Add(DateTime InRoomTime, string TemplateName, int PatientId, int TypeId, int IsPublic) { //药品 DataTable Drugdt = BFactDrug.GetDataTable(PatientId, TypeId); for (int i = 0; i < Drugdt.Rows.Count; i++) { OperationTemplate OperationTemplateDrugObj = new OperationTemplate(); int DrugId = int.Parse(Drugdt.Rows[i]["DrugId"].ToString()); if (BFactDrug.IsValid(DrugId)) { OperationTemplateDrugObj.TemplateName = TemplateName; OperationTemplateDrugObj.TypeId = TypeId; OperationTemplateDrugObj.ItemKindName = "药品"; OperationTemplateDrugObj.InRoomTime = InRoomTime; OperationTemplateDrugObj.ItemId = DrugId; OperationTemplateDrugObj.Value = decimal.Parse(Drugdt.Rows[i]["Dosage"].ToString()); OperationTemplateDrugObj.BeginTime = DateTime.Parse(Drugdt.Rows[i]["DrugBeginTime"].ToString()); OperationTemplateDrugObj.EndTime = DateTime.Parse(Drugdt.Rows[i]["DrugEndTime"].ToString()); OperationTemplateDrugObj.DosageUnit = Drugdt.Rows[i]["DosageUnit"].ToString(); OperationTemplateDrugObj.DrugChannel = Drugdt.Rows[i]["DrugChannel"].ToString(); OperationTemplateDrugObj.GiveDrugType = Drugdt.Rows[i]["GiveDrugType"].ToString(); OperationTemplateDrugObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo; OperationTemplateDrugObj.OperatorName = AIMSExtension.PublicMethod.OperatorName; OperationTemplateDrugObj.OperateDate = AIMSExtension.PublicMethod.SystemDate(); OperationTemplateDrugObj.IsPublic = IsPublic; OperationTemplateDrugObj.Spare1 = Drugdt.Rows[i]["Density"].ToString(); OperationTemplateDrugObj.Spare2 = Drugdt.Rows[i]["DensityUnit"].ToString(); OperationTemplateDrugObj.Spare3 = Drugdt.Rows[i]["Velocity"].ToString(); OperationTemplateDrugObj.Spare4 = Drugdt.Rows[i]["VelocityUnit"].ToString(); OperationTemplateDrugObj.Spare5 = Drugdt.Rows[i]["ParentId"].ToString(); Add(OperationTemplateDrugObj); } } //事件 DataTable Eventdt = BFactEvents.GetDataTable(PatientId, TypeId); for (int i = 0; i < Eventdt.Rows.Count; i++) { OperationTemplate OperationTemplateEventObj = new OperationTemplate(); int EventId = int.Parse(Eventdt.Rows[i]["EventId"].ToString()); if (BFactEvents.IsValid(EventId)) { OperationTemplateEventObj.TemplateName = TemplateName; OperationTemplateEventObj.TypeId = TypeId; OperationTemplateEventObj.ItemKindName = "事件"; OperationTemplateEventObj.InRoomTime = InRoomTime; OperationTemplateEventObj.ItemId = EventId; OperationTemplateEventObj.Value = 0; OperationTemplateEventObj.BeginTime = DateTime.Parse(Eventdt.Rows[i]["EventBeginTime"].ToString()); OperationTemplateEventObj.EndTime = DateTime.Parse(Eventdt.Rows[i]["EventEndTime"].ToString()); OperationTemplateEventObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo; OperationTemplateEventObj.OperatorName = AIMSExtension.PublicMethod.OperatorName; OperationTemplateEventObj.OperateDate = AIMSExtension.PublicMethod.SystemDate(); OperationTemplateEventObj.IsPublic = IsPublic; Add(OperationTemplateEventObj); } } //出量 DataTable OutputLiquidsdt = BFactOutputLiquids.GetDataTable(PatientId, TypeId); for (int i = 0; i < OutputLiquidsdt.Rows.Count; i++) { OperationTemplate OperationTemplateOutputLiquidsObj = new OperationTemplate(); int OutputLiquidsId = int.Parse(OutputLiquidsdt.Rows[i]["OutputLiquidsId"].ToString()); if (BFactOutputLiquids.IsValid(OutputLiquidsId)) { OperationTemplateOutputLiquidsObj.TemplateName = TemplateName; OperationTemplateOutputLiquidsObj.TypeId = TypeId; OperationTemplateOutputLiquidsObj.ItemKindName = "出量"; OperationTemplateOutputLiquidsObj.InRoomTime = InRoomTime; OperationTemplateOutputLiquidsObj.ItemId = OutputLiquidsId; OperationTemplateOutputLiquidsObj.BeginTime = DateTime.Parse(OutputLiquidsdt.Rows[i]["BeginTime"].ToString()); OperationTemplateOutputLiquidsObj.EndTime = DateTime.Parse(OutputLiquidsdt.Rows[i]["EndTime"].ToString()); OperationTemplateOutputLiquidsObj.Value = decimal.Parse(OutputLiquidsdt.Rows[i]["Dosage"].ToString()); OperationTemplateOutputLiquidsObj.DosageUnit = OutputLiquidsdt.Rows[i]["DosageUnit"].ToString(); OperationTemplateOutputLiquidsObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo; OperationTemplateOutputLiquidsObj.OperatorName = AIMSExtension.PublicMethod.OperatorName; OperationTemplateOutputLiquidsObj.OperateDate = AIMSExtension.PublicMethod.SystemDate(); OperationTemplateOutputLiquidsObj.IsPublic = IsPublic; Add(OperationTemplateOutputLiquidsObj); } } } public static void Add(OperationTemplate OperationTemplateObj) { DOperationTemplate.Add(OperationTemplateObj); } public static void Delete(string TemplateName, int TypeId) { DOperationTemplate.Delete(TemplateName, TypeId); } public static OperationTemplate GetModel(int Id) { return DOperationTemplate.GetModel(Id); } public static DataTable GetDataTable(int TypeId) { return DOperationTemplate.GetDataTable(TypeId, AIMSExtension.PublicMethod.OperatorNo); } public static void ClearData(int PatientId, int TypeId) { DOperationTemplate.ClearData(PatientId, TypeId); } public static void InputData(string TemplateName, int PatientId, DateTime InRoomTime, int TypeId) { DateTime NewInRoomTime = AIMSExtension.PublicMethod.SystemDate(); DataTable dt = DOperationTemplate.GetDataTable(TemplateName, TypeId); DataRow[] drugdr = dt.Select("ItemKindName='药品'"); foreach (DataRow dr in drugdr) { int DrugId = int.Parse(dr["ItemId"].ToString()); if (BFactDrug.IsValid(DrugId)) { FactDrug FactDrugObj = new FactDrug(); FactDrugObj.PatientId = PatientId; FactDrugObj.DrugId = DrugId; TimeSpan BeginTimets = DateTime.Parse(dr["BeginTime"].ToString()).Subtract(DateTime.Parse(dr["InRoomTime"].ToString())); TimeSpan EndTimets = DateTime.Parse(dr["EndTime"].ToString()).Subtract(DateTime.Parse(dr["InRoomTime"].ToString())); //FactDrugObj.DrugBeginTime = NewInRoomTime.AddSeconds(BeginTimets.TotalSeconds); //FactDrugObj.DrugEndTime = NewInRoomTime.AddSeconds(EndTimets.TotalSeconds); FactDrugObj.DrugBeginTime = InRoomTime.AddSeconds(BeginTimets.TotalSeconds); FactDrugObj.DrugEndTime = InRoomTime.AddSeconds(EndTimets.TotalSeconds); if (dr["BeginTime"].ToString() == dr["EndTime"].ToString()) { FactDrugObj.IsContinue = 0; } else { FactDrugObj.IsContinue = 1; } FactDrugObj.DrugTypeId = TypeId; if (dr["Value"].ToString() != "") { FactDrugObj.Dosage = decimal.Parse(dr["Value"].ToString()); } FactDrugObj.DosageUnit = dr["DosageUnit"].ToString(); if (dr["Spare1"].ToString() != "" && dr["Spare1"].ToString() != "0" && dr["Spare1"].ToString() != "0.00") { FactDrugObj.Density = decimal.Parse(dr["Spare1"].ToString()); FactDrugObj.DensityUnit = dr["Spare2"].ToString(); } if (dr["Spare3"].ToString() != "" && dr["Spare3"].ToString() != "0" && dr["Spare3"].ToString() != "0.00") { FactDrugObj.Velocity = decimal.Parse(dr["Spare3"].ToString()); FactDrugObj.VelocityUnit = dr["Spare4"].ToString(); } FactDrugObj.DrugChannel = dr["DrugChannel"].ToString(); FactDrugObj.GiveDrugType = dr["GiveDrugType"].ToString(); FactDrugObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo; FactDrugObj.OperatorName = AIMSExtension.PublicMethod.OperatorName; FactDrugObj.OperateDate = NewInRoomTime; FactDrugObj.ParentId =int.Parse( dr["Spare5"].ToString()); BFactDrug.Add(FactDrugObj); } } DataRow[] Eventdr = dt.Select("ItemKindName='事件'"); foreach (DataRow dr in Eventdr) { int EventId = int.Parse(dr["ItemId"].ToString()); if (BFactEvents.IsValid(EventId)) { FactEvents FactEventObj = new FactEvents(); FactEventObj.PatientId = PatientId; FactEventObj.EventId = EventId; TimeSpan BeginTimets = DateTime.Parse(dr["BeginTime"].ToString()).Subtract(DateTime.Parse(dr["InRoomTime"].ToString())); TimeSpan EndTimets = DateTime.Parse(dr["EndTime"].ToString()).Subtract(DateTime.Parse(dr["InRoomTime"].ToString())); FactEventObj.EventBeginTime = InRoomTime.AddSeconds(BeginTimets.TotalSeconds); FactEventObj.EventEndTime = InRoomTime.AddSeconds(EndTimets.TotalSeconds); if (dr["BeginTime"].ToString() == dr["EndTime"].ToString()) { FactEventObj.IsContinue = 0; } else { FactEventObj.IsContinue = 1; } FactEventObj.EventTypeId = TypeId; FactEventObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo; FactEventObj.OperatorName = AIMSExtension.PublicMethod.OperatorName; FactEventObj.OperateDate = NewInRoomTime; BFactEvents.Add(FactEventObj); } } DataRow[] OutputLiquidsdr = dt.Select("ItemKindName='出量'"); foreach (DataRow dr in OutputLiquidsdr) { int OutputLiquidsId = int.Parse(dr["ItemId"].ToString()); if (BFactOutputLiquids.IsValid(OutputLiquidsId)) { FactOutputLiquids FactOutputLiquidsObj = new FactOutputLiquids(); FactOutputLiquidsObj.PatientId = PatientId; FactOutputLiquidsObj.OutputLiquidsId = OutputLiquidsId; TimeSpan BeginTimets = DateTime.Parse(dr["BeginTime"].ToString()).Subtract(DateTime.Parse(dr["InRoomTime"].ToString())); TimeSpan EndTimets = DateTime.Parse(dr["EndTime"].ToString()).Subtract(DateTime.Parse(dr["InRoomTime"].ToString())); FactOutputLiquidsObj.BeginTime = InRoomTime.AddSeconds(BeginTimets.TotalSeconds); FactOutputLiquidsObj.EndTime = InRoomTime.AddSeconds(EndTimets.TotalSeconds); if (dr["BeginTime"].ToString() == dr["EndTime"].ToString()) { FactOutputLiquidsObj.IsContinue = 0; } else { FactOutputLiquidsObj.IsContinue = 1; } FactOutputLiquidsObj.OutputLiquidsTypeId = TypeId; if (dr["Value"].ToString() != "") { FactOutputLiquidsObj.Dosage = decimal.Parse(dr["Value"].ToString()); } FactOutputLiquidsObj.DosageUnit = dr["DosageUnit"].ToString(); FactOutputLiquidsObj.OperatorNo = AIMSExtension.PublicMethod.OperatorNo; FactOutputLiquidsObj.OperatorName = AIMSExtension.PublicMethod.OperatorName; FactOutputLiquidsObj.OperateDate = NewInRoomTime; BFactOutputLiquids.Add(FactOutputLiquidsObj); } } //DataRow[] PhysioParamdr = dt.Select("ItemKindName='生命体征'"); //foreach (DataRow dr in PhysioParamdr) //{ // int PhysioParamId = int.Parse(dr["ItemId"].ToString()); // TimeSpan BeginTimets = DateTime.Parse(dr["BeginTime"].ToString()).Subtract(DateTime.Parse(dr["InRoomTime"].ToString())); // OperationDoing.AnasRecordBill.Model.PhysioData PhysioDataObj = new OperationDoing.AnasRecordBill.Model.PhysioData(); // PhysioDataObj.PatientId = PatientId; // PhysioDataObj.PhysioDataType = TypeId; // PhysioDataObj.RecordTime = InRoomTime.AddSeconds(BeginTimets.TotalSeconds); // PhysioDataObj.PhysioParamID = PhysioParamId; // if (dr["Value"].ToString() != "") // { // PhysioDataObj.Value = double.Parse(dr["Value"].ToString()); // } // else // { // PhysioDataObj.Value = 0; // } //} } } }