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 Adds(List operationTemplates) { DOperationTemplate.Adds(operationTemplates); } 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 DataTable GetDataTable2(string TemplateName, int TypeId) { return DOperationTemplate.GetDataTable(TemplateName, TypeId); } public static void ClearData(int PatientId, int TypeId) { DOperationTemplate.ClearData(PatientId, TypeId); } public static void InputData(string TemplateName, int PatientId, DateTime InRoomTime, int TypeId, OperationRecord _record) { DateTime NewInRoomTime = AIMSExtension.PublicMethod.SystemDate(); DataTable dt = DOperationTemplate.GetDataTable(TemplateName, TypeId); DateTime drugMinTime = InRoomTime; DataRow[] drugdr = dt.Select("ItemKindName='药品' and Spare5='0' "); if (drugdr.Length > 0) drugMinTime = DateTime.Parse(drugdr[0]["BeginTime"].ToString()); foreach (var item in drugdr) { if (drugMinTime > DateTime.Parse(item["BeginTime"].ToString())) { drugMinTime = DateTime.Parse(item["BeginTime"].ToString()); } } 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(drugMinTime); TimeSpan EndTimets = DateTime.Parse(dr["EndTime"].ToString()).Subtract(drugMinTime); 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 = 0;// int.Parse(dr["Spare5"].ToString()); FactDrugObj.DrugName = dr["Spare6"].ToString(); FactDrugObj.Access = dr["Spare7"].ToString(); FactDrugObj.Id = BFactDrug.Add(FactDrugObj); DataRow[] drugchild = dt.Select("ItemKindName='药品' and Spare5='" + dr["Spare8"].ToString() + "' "); foreach (DataRow child in drugchild) { int DrugId2 = int.Parse(child["ItemId"].ToString()); //if (BFactDrug.IsValid(DrugId2)) //{ FactDrug FactDrugObjChild = new FactDrug(); FactDrugObjChild.PatientId = PatientId; FactDrugObjChild.DrugId = DrugId2; TimeSpan BeginTimets2 = DateTime.Parse(child["BeginTime"].ToString()).Subtract(DateTime.Parse(child["InRoomTime"].ToString())); TimeSpan EndTimets2 = DateTime.Parse(child["EndTime"].ToString()).Subtract(DateTime.Parse(child["InRoomTime"].ToString())); FactDrugObjChild.DrugBeginTime = InRoomTime.AddSeconds(BeginTimets2.TotalSeconds); FactDrugObjChild.DrugEndTime = InRoomTime.AddSeconds(EndTimets2.TotalSeconds); if (child["BeginTime"].ToString() == child["EndTime"].ToString()) { FactDrugObjChild.IsContinue = 0; } else { FactDrugObjChild.IsContinue = 1; } FactDrugObjChild.DrugTypeId = TypeId; if (child["Value"].ToString() != "") { FactDrugObjChild.Dosage = decimal.Parse(child["Value"].ToString()); } FactDrugObjChild.DosageUnit = child["DosageUnit"].ToString(); if (child["Spare1"].ToString() != "" && child["Spare1"].ToString() != "0" && child["Spare1"].ToString() != "0.00") { FactDrugObjChild.Density = decimal.Parse(child["Spare1"].ToString()); FactDrugObjChild.DensityUnit = child["Spare2"].ToString(); } if (child["Spare3"].ToString() != "" && child["Spare3"].ToString() != "0" && child["Spare3"].ToString() != "0.00") { FactDrugObjChild.Velocity = decimal.Parse(child["Spare3"].ToString()); FactDrugObjChild.VelocityUnit = child["Spare4"].ToString(); } FactDrugObjChild.DrugChannel = child["DrugChannel"].ToString(); FactDrugObjChild.GiveDrugType = child["GiveDrugType"].ToString(); FactDrugObjChild.OperatorNo = AIMSExtension.PublicMethod.OperatorNo; FactDrugObjChild.OperatorName = AIMSExtension.PublicMethod.OperatorName; FactDrugObjChild.OperateDate = NewInRoomTime; FactDrugObjChild.ParentId = FactDrugObj.Id; FactDrugObjChild.DrugName = child["Spare6"].ToString(); FactDrugObjChild.Access = child["Spare7"].ToString(); BFactDrug.Add(FactDrugObjChild); //} } //} } DataRow[] Eventdr = dt.Select("ItemKindName='事件'"); foreach (DataRow dr in Eventdr) { bool istrue = false; int EventId = int.Parse(dr["ItemId"].ToString()); foreach (var item in _record.FactEventsList) { if (item.EventId == EventId) { istrue = true; break; } } if (istrue == true) continue; //if (BFactEvents.IsValid(EventId)) //{ FactEvents FactEventObj = new FactEvents(); FactEventObj.PatientId = PatientId; FactEventObj.EventId = EventId; TimeSpan BeginTimets = DateTime.Parse(dr["BeginTime"].ToString()).Subtract(drugMinTime); TimeSpan EndTimets = DateTime.Parse(dr["EndTime"].ToString()).Subtract(drugMinTime); 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(drugMinTime); TimeSpan EndTimets = DateTime.Parse(dr["EndTime"].ToString()).Subtract(drugMinTime); 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='生命体征'"); List PhysioDataObjs = new List(); foreach (DataRow dr in PhysioParamdr) { int PhysioParamId = int.Parse(dr["ItemId"].ToString()); TimeSpan BeginTimets = DateTime.Parse(dr["BeginTime"].ToString()).Subtract(drugMinTime); PhysioData PhysioDataObj = new PhysioData(); PhysioDataObj.PatientId = _record.Id.Value; PhysioDataObj.RecordTime = InRoomTime.AddSeconds(BeginTimets.TotalSeconds); PhysioDataObj.PhysioDataConfigId = PhysioParamId; PhysioDataObj.ValueString = dr["Value"].ToString(); PhysioDataObjs.Add(PhysioDataObj); } PhysioDataService.AddPhysioDatas2(PhysioDataObjs); } } }