AIMS/AIMSEntity/BLL/Extension/BOperationTemplate.cs

276 lines
14 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();
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;
// }
//}
}
}
}