StableVersion4.3/HL_FristAidPlatform_DataBase/Service/T_Service_ChestPain_ECGDB.cs

308 lines
12 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
using SqlSugar;
using System.Collections.Generic;
namespace HL_FristAidPlatform_DataBase
{
/// <summary>
/// 心电图 V2.1版
/// </summary>
public class T_Service_ChestPain_ECGDB : BaseDB, IT_Service_ChestPain_ECG
{
public SqlSugarClient db = GetClient();
#region 增
/// <summary>
/// 新增
/// </summary>
/// <param name="model">实体</param>
/// <returns></returns>
public bool Add(T_Service_ChestPain_ECG model)
{
return db.Insertable(model).ExecuteCommand() == 0 ? false : true;
}
/// <summary>
/// 新增 仅更新赋值的字段
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int AddNotNullColumns(T_Service_ChestPain_ECG model)
{
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand();
}
/// <summary>
/// 新增 仅更新赋值的字段
/// 用于移动端
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int AddForApp(T_Service_ChestPain_ECG model)
{
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand();
}
#endregion
#region 删
/// <summary>
/// 删除一条数据
/// </summary>
public bool Delete(long ID)
{
return db.Deleteable<T_Service_ChestPain_ECG>(it => it.ID == ID).ExecuteCommand() == 0 ? false : true;
}
/// <summary>
/// 逻辑删除
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int LogicalDelete(T_Service_ChestPain_ECG model)
{
return db.Updateable(model).UpdateColumns(it => new { it.DeleteFlag, it.EditorID, it.Editor, it.EditTime }).ExecuteCommand();
}
/// <summary>
/// 删除
/// 用于移动端
/// </summary>
/// <param name="model">实体类ID必填</param>
/// <returns></returns>
public int DeleteForApp(T_Service_ChestPain_ECG model)
{
return db.Updateable(model).UpdateColumns(it => new { it.DeleteFlag, it.EditorID, it.Editor, it.EditTime }).ExecuteCommand();
}
#endregion
#region 改
/// <summary>
/// 更新一条数据
/// </summary>
public bool Update(T_Service_ChestPain_ECG model)
{
return db.Updateable(model).ExecuteCommand() == 0 ? false : true;
}
/// <summary>
/// 仅更新赋值的字段
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int UpdateNotNullColumns(T_Service_ChestPain_ECG model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
/// <summary>
/// 修改--仅更新赋值的字段
/// 用于移动端
/// </summary>
/// <param name="model">实体类</param>
/// <returns></returns>
public int UpdateForApp(T_Service_ChestPain_ECG model)
{
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
}
#endregion
#region 查
/// <summary>
/// 得到一个对象实体
/// </summary>
public T_Service_ChestPain_ECG GetModel(long ID)
{
return db.Queryable<T_Service_ChestPain_ECG>().First(it => it.ID == ID);
}
/// <summary>
/// 得到一个对象实体
/// 用于移动端
/// </summary>
/// <param name="id">患者编号</param>
/// <param name="guid">GUID</param>
/// <returns></returns>
public TableModel<T_Service_ChestPain_ECG> GetModelForApp(long id, string guid)
{
TableModel<T_Service_ChestPain_ECG> t = new TableModel<T_Service_ChestPain_ECG>();
var listMode = db.Queryable<T_Service_ChestPain_ECG>()
.Where(it => it.DeleteFlag == 0)
.WhereIF(id > 0, it => it.ID == id && it.DeleteFlag == 0)
.WhereIF(!string.IsNullOrEmpty(guid), it => it.GUID == guid).ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
/// <summary>
/// 获得前几行数据
/// </summary>
/// <param name="pageIndex">起始页</param>
/// <param name="pageSize">每页条数</param>
/// <returns></returns>
public TableModel<T_Service_ChestPain_ECG> GetPageList(int pageIndex, int pageSize)
{
int total = 0;
List<T_Service_ChestPain_ECG> data = db.Queryable<T_Service_ChestPain_ECG>().Where(it => it.DeleteFlag == 0).ToPageList(pageIndex, pageSize, ref total);
TableModel<T_Service_ChestPain_ECG> t = new TableModel<T_Service_ChestPain_ECG>();
t.Code = 0;
t.PageCount = data.Count;
t.TotalNumber = total;
t.Data = data;
t.Msg = "成功";
return t;
}
/// <summary>
/// 根据患者编号(GUID) 获取数据信息
/// </summary>
/// <param name="patientGuid">病人编号(GUID)</param>
/// <param name="ecgType">1:120心电图;2:转院心电图;3:院内心电图 -1:全部</param>
/// <returns></returns>
public TableModel<T_Service_ChestPain_ECG> GetByPatientGuid(string patientGuid, int ecgType)
{
TableModel<T_Service_ChestPain_ECG> t = new TableModel<T_Service_ChestPain_ECG>();
var listMode = db.Queryable<T_Service_ChestPain_ECG>()
.Where(it => it.PatientGuid == patientGuid && it.DeleteFlag == 0)
.WhereIF(ecgType != -1, it => it.ECG_Type == ecgType.ToString())
.Select(it => new T_Service_ChestPain_ECG
{
ID = it.ID,
GUID = it.GUID,
PatientGuid = it.PatientGuid,
ECG_Time = it.ECG_Time,
ECG_Diagnose_Time = it.ECG_Diagnose_Time,
ECG_Type = it.ECG_Type,
ECGImageType = it.ECGImageType,
ECGImagePath = it.ECGImagePath,
DeleteFlag = it.DeleteFlag,
CreationDate = it.CreationDate,
CreatorID = it.CreatorID,
Creator = it.Creator,
EditTime = it.EditTime,
EditorID = it.EditorID,
Editor = it.Editor,
ECGImageFiles = it.ECGImageFiles,
FirstECG = it.FirstECG
})
.OrderBy((it) => it.ECG_Time).ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
/// <summary>
/// 查询不带心电图图片
/// </summary>
/// <param name="patientGuid"></param>
/// <param name="ecgType"></param>
/// <returns></returns>
public TableModel<T_Service_ChestPain_ECG> GetECGNoImageByPatientGuid(string patientGuid, int ecgType)
{
TableModel<T_Service_ChestPain_ECG> t = new TableModel<T_Service_ChestPain_ECG>();
List<T_Service_ChestPain_ECG> listECG = new List<T_Service_ChestPain_ECG>();
T_Service_ChestPain_ECG eCG;
var listMode = db.Queryable<T_Service_ChestPain_ECG>()
.Where(it => it.PatientGuid == patientGuid && it.DeleteFlag == 0)
.WhereIF(ecgType != -1, it => it.ECG_Type == ecgType.ToString())
.Select(it => new T_Service_ChestPain_ECG
{
ID = it.ID,
GUID = it.GUID,
PatientGuid = it.PatientGuid,
ECG_Time = it.ECG_Time,
ECG_Diagnose_Time = it.ECG_Diagnose_Time,
ECG_Type = it.ECG_Type,
ECGImageType = it.ECGImageType,
ECGImagePath = it.ECGImagePath,
DeleteFlag = it.DeleteFlag,
CreationDate = it.CreationDate,
CreatorID = it.CreatorID,
Creator = it.Creator,
EditTime = it.EditTime,
EditorID = it.EditorID,
Editor = it.Editor,
ECGImageFiles = it.ECGImageFiles,
FirstECG = it.FirstECG
})
.OrderBy((it) => it.ECG_Time).ToList();
foreach (var item in listMode)
{
if (item.ECGImageFiles != null)
{
if (item.ECGImageFiles.Length != 0)
{
eCG = new T_Service_ChestPain_ECG();
eCG.ID = item.ID;
eCG.GUID = item.GUID;
eCG.PatientGuid = item.PatientGuid;
eCG.ECG_Time = item.ECG_Time;
eCG.ECG_Diagnose_Time = item.ECG_Diagnose_Time;
eCG.FirstECG = item.FirstECG;
listECG.Add(eCG);
}
}
}
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listECG;
t.Msg = "成功";
return t;
}
/// <summary>
/// 根据患者编号(GUID) 获取数据信息
/// 用于移动端
/// </summary>
/// <param name="patientGuid">病人编号(GUID)</param>
/// <param name="ecgType">1:120心电图;2:转院心电图;3:院内心电图 -1:全部</param>
/// <returns></returns>
public TableModel<T_Service_ChestPain_ECG> GetByPatientGuidForApp(string patientGuid, int ecgType)
{
TableModel<T_Service_ChestPain_ECG> t = new TableModel<T_Service_ChestPain_ECG>();
var listMode = db.Queryable<T_Service_ChestPain_ECG>()
.Where(it => it.PatientGuid == patientGuid && it.DeleteFlag == 0)
.OrderBy((it) => it.FirstECG, OrderByType.Desc)
.WhereIF(ecgType != -1, it => it.ECG_Type == ecgType.ToString())
.Select(it => new T_Service_ChestPain_ECG
{
ID = it.ID,
GUID = it.GUID,
PatientGuid = it.PatientGuid,
FirstECG = it.FirstECG,
ECG_Time = it.ECG_Time,
ECG_Diagnose_Time = it.ECG_Diagnose_Time,
ECG_Type = it.ECG_Type,
ECGImageType = it.ECGImageType,
ECGImagePath = it.ECGImagePath,
DeleteFlag = it.DeleteFlag,
CreationDate = it.CreationDate,
CreatorID = it.CreatorID,
Creator = it.Creator,
EditTime = it.EditTime,
EditorID = it.EditorID,
Editor = it.Editor,
ECGImageFiles = it.ECGImageFiles
})
.ToList();
t.Code = 0;
t.PageCount = listMode.Count;
t.TotalNumber = listMode.Count;
t.Data = listMode;
t.Msg = "成功";
return t;
}
#endregion
}
}