329 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			329 lines
		
	
	
		
			18 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 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();
 | |
|                     OperationTemplateDrugObj.Spare6 = Drugdt.Rows[i]["DrugName"].ToString();
 | |
|                     OperationTemplateDrugObj.Spare7 = Drugdt.Rows[i]["Access"].ToString();
 | |
|                     OperationTemplateDrugObj.Spare8 = Drugdt.Rows[i]["Id"].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='药品' and Spare5='0' ");
 | |
|             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 = 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)
 | |
|             {
 | |
|                 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;
 | |
|             //    }
 | |
| 
 | |
|             //}
 | |
|         }
 | |
|     }
 | |
| }
 |