263 lines
12 KiB
C#
263 lines
12 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 Adds(List<OperationTemplate> 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<PhysioData> PhysioDataObjs = new List<PhysioData>();
|
|
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);
|
|
}
|
|
}
|
|
}
|