StableVersion4.3/HL_FristAidPlatform_DataBase/Service/T_Service_Apoplexy_PatientO...

207 lines
11 KiB
C#
Raw Normal View History

2024-03-11 09:47:34 +08:00
using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
using SqlSugar;
using System.Collections.Generic;
namespace HL_FristAidPlatform_DataBase
{
//T_Service_EMR_PatientOutcome
public class T_Service_Apoplexy_PatientOutcomeDB : BaseDB, IT_Service_Apoplexy_PatientOutcome
{
public SqlSugarClient db = GetClient();
/// <summary>
/// 增加一条数据
/// </summary>
public T_Service_Apoplexy_PatientOutcome Add(T_Service_Apoplexy_PatientOutcome model)
{
return db.Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 更新一条数据
/// </summary>
public int Update(T_Service_Apoplexy_PatientOutcome model)
{
//脑出血手术数据直报表
if (model.ReportType == 1)
{
return db.Updateable(model).UpdateColumns(it => new { it.GUID, it.PatientGuid, it.CYTime, it.CYLyFs, it.OffHospitalModeText, it.DeathCause2, it.DeathCauseText2, it.CYSwYyOther, it.CYSwSj, it.CYMRSYesNo, it.CYNIHSSYesNo, it.CYDY, it.DischargeWithMedicineText, it.ReportType, it.DeleteFlag, it.EditTime, it.EditorID, it.Editor }).ExecuteCommand();
}
//颅内动脉瘤手术数据直报表
else if (model.ReportType == 2)
{
return db.Updateable(model).UpdateColumns(it => new { it.GUID, it.PatientGuid, it.CYTime, it.CYLyFs, it.OffHospitalModeText, it.DeathCause2, it.DeathCauseText2, it.CYSwYyOther, it.CYSwSj, it.CYMRSYesNo, it.CYNIHSSYesNo, it.ZWMPGCYGCSYN, it.CYDY, it.DischargeWithMedicineText, it.ReportType, it.DeleteFlag, it.EditTime, it.EditorID, it.Editor }).ExecuteCommand();
}
//CEACAS数据直报表
else if (model.ReportType == 3)
{
return db.Updateable(model).UpdateColumns(it => new { it.GUID, it.PatientGuid, it.CYTime, it.CYLyFs, it.OffHospitalModeText, it.DeathCause2, it.DeathCauseText2, it.CYSwYyOther, it.CYSwSj, it.CYMRSYesNo, it.CYNIHSSYesNo, it.CYDY, it.DischargeWithMedicineText, it.ReportType, it.DeleteFlag, it.EditTime, it.EditorID, it.Editor }).ExecuteCommand();
}
//静脉溶栓/血管内介入治疗数据直报表
else if (model.ReportType == 4)
{
return db.Updateable(model).UpdateColumns(it => new { it.GUID, it.PatientGuid, it.CYTime, it.CYLyFs, it.OffHospitalModeText, it.DeathCause2, it.DeathCauseText2, it.CYSwYyOther, it.CYSwSj, it.ReportType, it.DeleteFlag, it.EditTime, it.EditorID, it.Editor }).ExecuteCommand();
}
else
{
//更新时指定列不更新
return db.Updateable(model).IgnoreColumns(it => new { it.CreationDate, it.Creator, it.CreatorID }).ExecuteCommand();
}
}
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete(long ID)
{
return db.Deleteable<T_Service_Apoplexy_PatientOutcome>(it => it.ID == ID).ExecuteCommand() == 0 ? false : true; ;
}
/// <summary>
/// 获得数据列表
/// </summary>
public TableModel<T_Service_Apoplexy_PatientOutcome> GetPageList(int pageIndex, int pageSize)
{
int total = 0;
List<T_Service_Apoplexy_PatientOutcome> data = db.Queryable<T_Service_Apoplexy_PatientOutcome>().Where(it => it.DeleteFlag == 0).ToPageList(pageIndex, pageSize, ref total);
TableModel<T_Service_Apoplexy_PatientOutcome> t = new TableModel<T_Service_Apoplexy_PatientOutcome>();
t.Code = 0;
t.PageCount = data.Count;
t.TotalNumber = total;
t.Data = data;
t.Msg = "成功";
return t;
}
/// <summary>
/// 获得前几行数据
/// </summary>
public T_Service_Apoplexy_PatientOutcome Get(long ID)
{
return db.Queryable<T_Service_Apoplexy_PatientOutcome>().First(it => it.ID == ID);
}
/// <summary>
/// 根据患者编号(GUID)+所属报表类型 获取数据信息
/// </summary>
/// <param name="patientGuid">病人编号(GUID)</param>
/// <param name="reportType">所属报表类型0公用1脑出血手术数据直报表2颅内动脉瘤手术数据直报表3CEACAS数据直报表4静脉溶栓血管内介入治疗数据直报表9卒中联盟数据报表</param>
/// <returns></returns>
public TableModel<T_Service_Apoplexy_PatientOutcome> GetByPatientGuidAndReportType(string patientGuid, int reportType)
{
List<T_Service_Apoplexy_PatientOutcome> data = db.Queryable<T_Service_Apoplexy_PatientOutcome>().Where(it => it.PatientGuid == patientGuid && it.ReportType == reportType && it.DeleteFlag == 0).ToList();
TableModel<T_Service_Apoplexy_PatientOutcome> t = new TableModel<T_Service_Apoplexy_PatientOutcome>();
t.Code = 0;
t.PageCount = data.Count;
t.TotalNumber = data.Count;
t.TotalNumber = data.Count;
t.Data = data;
t.Msg = "成功";
return t;
}
public TableModel<T_Service_Apoplexy_PatientOutcome> GetModelByReport(string table, string where)
{
string sql = "select * from T_Service_EMR_PatientOutcome a " + table + " where a.DeleteFlag= 0 and DeadOrNot = 0 and DeathCause!=1 " + where + "";
List<T_Service_Apoplexy_PatientOutcome> data = db.Ado.SqlQuery<T_Service_Apoplexy_PatientOutcome>(sql);
TableModel<T_Service_Apoplexy_PatientOutcome> t = new TableModel<T_Service_Apoplexy_PatientOutcome>();
t.Code = 0;
t.PageCount = data.Count;
t.TotalNumber = data.Count;
t.Data = data;
t.Msg = "成功";
return t;
}
/// <summary>
/// 患者转归信息
/// 1.健康教育 2.TOAST 3.康复治疗 4.出院情况 5.出院评估
/// </summary>
/// <param name="patientGuid"></param>
/// <returns></returns>
public PatientTurnOverModel GetPatientTurnOverInfo(string patientGuid)
{
PatientTurnOverModel model = new PatientTurnOverModel();
model = db.Queryable<T_Service_Patient, T_Service_Apoplexy_JKJY, T_Service_Apoplexy_KFZL, T_Service_Apoplexy_PatientOutcome>((a, b, c, d) => new JoinQueryInfos(JoinType.Left, a.GUID == b.PatientGuid,
JoinType.Left, a.GUID == c.PatientGuid,
JoinType.Left, a.GUID == d.PatientGuid))
.Where((a, b, c, d) => d.PatientGuid == patientGuid && a.DeleteFlag == 0)
.Select((a, b, c, d) => new PatientTurnOverModel()
{
PatientGuid = a.GUID,
acZLType = a.acZLType,
AuditStatus = a.AuditStatus,
JYEduYN = b.JYEduYN,
JYEduWays = b.JYEduWays,
KFZLYN = c.KFZLYN,
KFWays = c.KFWays,
KFPlace = c.KFPlace,
CYTime = d.CYTime,
CYLyFs = d.CYLyFs,
CYSwSj = d.CYSwSj,
CYDY = d.CYDY,
CYSwYyOther = d.CYSwYyOther,
CYSwYy = d.CYSwYy,
CYMRSYesNo = d.CYMRSYesNo,
CYMRS = d.CYMRS,
CYNIHSSYesNo = d.CYNIHSSYesNo,
CYNIHSS = d.CYNIHSS,
ZWMPGCYGCSYN = d.ZWMPGCYGCSYN,
ZWMPGCYGCS = d.ZWMPGCYGCS,
Diagnosis = d.Diagnosis,
RelatedDiagnosis = d.RelatedDiagnosis,
Remark = d.Remark,
HospitalDay = d.HospitalDay,
AllInCost = d.AllInCost,
MainDiagnosticName = d.MainDiagnosticName,
MainDiagnosticCode = d.MainDiagnosticCode,
OtherDiagnosticName1 = d.OtherDiagnosticName1,
OtherDiagnosticCode1 = d.OtherDiagnosticCode1,
OtherDiagnosticName2 = d.OtherDiagnosticName2,
OtherDiagnosticCode2 = d.OtherDiagnosticCode2,
OtherDiagnosticName3 = d.OtherDiagnosticName3,
OtherDiagnosticCode3 = d.OtherDiagnosticCode3,
OtherDiagnosticName4 = d.OtherDiagnosticName4,
OtherDiagnosticCode4 = d.OtherDiagnosticCode4,
OtherDiagnosticName5 = d.OtherDiagnosticName5,
OtherDiagnosticCode5 = d.OtherDiagnosticCode5,
OtherDiagnosticName6 = d.OtherDiagnosticName6,
OtherDiagnosticCode6 = d.OtherDiagnosticCode6,
OtherDiagnosticName7 = d.OtherDiagnosticName7,
OtherDiagnosticCode7 = d.OtherDiagnosticCode7,
OtherDiagnosticName8 = d.OtherDiagnosticName8,
OtherDiagnosticCode8 = d.OtherDiagnosticCode8,
OtherDiagnosticName9 = d.OtherDiagnosticName9,
OtherDiagnosticCode9 = d.OtherDiagnosticCode9,
OtherDiagnosticName10 = d.OtherDiagnosticName10,
OtherDiagnosticCode10 = d.OtherDiagnosticCode10,
OtherDiagnosticName11 = d.OtherDiagnosticName11,
OtherDiagnosticCode11 = d.OtherDiagnosticCode11,
OtherDiagnosticName12 = d.OtherDiagnosticName12,
OtherDiagnosticCode12 = d.OtherDiagnosticCode12,
OtherDiagnosticName13 = d.OtherDiagnosticName13,
OtherDiagnosticCode13 = d.OtherDiagnosticCode13,
OtherDiagnosticName14 = d.OtherDiagnosticName14,
OtherDiagnosticCode14 = d.OtherDiagnosticCode14,
OtherDiagnosticName15 = d.OtherDiagnosticName15,
OtherDiagnosticCode15 = d.OtherDiagnosticCode15,
DiagnosisTime=d.DiagnosisTime,
TreatmentEffect=d.TreatmentEffect,
Comorbidities=d.Comorbidities,
DVT=d.DVT,
DischargeDepartment=d.DischargeDepartment,
DischargeDoctor=d.DischargeDoctor,
HospitalizationTime=a.HospitalizationTime
}).First();
return model;
}
public T_Service_Apoplexy_PatientOutcome GetByPatientGuid(string patientGuid)
{
return db.Queryable<T_Service_Apoplexy_PatientOutcome>().First(it => it.PatientGuid == patientGuid && it.DeleteFlag == 0);
}
}
}