276 lines
14 KiB
C#
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;
|
|
// }
|
|
|
|
//}
|
|
}
|
|
}
|
|
}
|