194 lines
8.1 KiB
C#
194 lines
8.1 KiB
C#
using HL_FristAidPlatform_Help;
|
||
using HL_FristAidPlatform_IDataBase;
|
||
using HL_FristAidPlatform_Models;
|
||
using Newtonsoft.Json;
|
||
using SqlSugar;
|
||
using System.Data;
|
||
|
||
namespace HL_FristAidPlatform_DataBase
|
||
{
|
||
/// <summary>
|
||
/// 120急救信息
|
||
/// </summary>
|
||
public class T_Service_120FirstAidDB : BaseDB, IT_Service_120FirstAid
|
||
{
|
||
public SqlSugarClient db = GetClient();
|
||
|
||
/// <summary>
|
||
/// 增加一条数据
|
||
/// </summary>
|
||
public T_Service_120FirstAid Add(T_Service_120FirstAid model)
|
||
{
|
||
return db.Insertable(model).IgnoreColumns(it => new { it.ID }).ExecuteReturnEntity();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新一条数据
|
||
/// </summary>
|
||
public bool Update(T_Service_120FirstAid model)
|
||
{
|
||
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() == 0 ? false : true;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除一条数据
|
||
/// </summary>
|
||
public bool Delete(long ID)
|
||
{
|
||
return db.Deleteable<T_Service_120FirstAid>(ID).ExecuteCommand() == 0 ? false : true;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获得数据列表
|
||
/// </summary>
|
||
/// <param name="pageIndex">起始页</param>
|
||
/// <param name="pageSize">每页大小</param>
|
||
/// <param name="hospitalGuid">所属院区GUID</param>
|
||
/// <param name="startTime">开始时间(创建)</param>
|
||
/// <param name="endTime">结束时间(创建)</param>
|
||
/// <param name="status">任务状态1:派发任务;2:已出发;3:到达现场;4:离开现场;5:任务完成 -1:查询全部</param>
|
||
/// <param name="keyWord">关键词</param>
|
||
/// <returns></returns>
|
||
public string GetPageList(int pageIndex, int pageSize, string hospitalGuid, string startTime, string endTime, int status, string keyWord)
|
||
{
|
||
string StrWhere = string.Empty;
|
||
|
||
#region 所属院区
|
||
if (!string.IsNullOrEmpty(hospitalGuid.Trim()))
|
||
{
|
||
StrWhere += " AND b.HospitalGuid = '" + hospitalGuid + "'";
|
||
}
|
||
#endregion
|
||
|
||
#region 任务状态1:派发任务;2:已出发;3:到达现场;4:离开现场;5:任务完成
|
||
if (status > -1)
|
||
{
|
||
StrWhere += "And b.EmergencyState =" + status;
|
||
}
|
||
#endregion
|
||
|
||
#region 关键词
|
||
if (!string.IsNullOrEmpty(keyWord.Trim()))
|
||
{
|
||
StrWhere += " AND(b.Name LIKE '%" + keyWord + "%' OR b.MobilePhone LIKE '%" + keyWord + "%' OR b.IdentityCard LIKE '%" + keyWord + "%' OR b.Attack_Address LIKE '%" + keyWord + "%' OR d.PlateNumber LIKE '%" + keyWord + "%' OR e.Code LIKE '%" + keyWord + "%' OR b.EqmtNo LIKE '%" + keyWord + "%')";
|
||
}
|
||
#endregion
|
||
|
||
string SqlStr = string.Format(@"SELECT b.ID,a.PatientGuid,a.[GUID],b.Name,b.Age,c.GenderName,b.MobilePhone,b.Attack_Address,a.CallHelpTime,a.DiseaseTime,b.IdentityCard,d.PlateNumber,e.Code,b.EqmtNo AS EquipmentNumber,b.Note,a.SendAmbulanceTime,a.AmbulanceDepartureTime,a.ArrivalTime,a.LeaveTime,a.ArrivesHospitalTime,a.CreationDate,b.Creator,b.Creator,b.RegisterTime,f.Name AS HospitalName,a.Property,a.[Status]
|
||
FROM T_Service_120FirstAid a
|
||
LEFT JOIN T_Service_Patient b ON a.PatientGuid=b.[GUID]
|
||
LEFT JOIN T_Base_Gender c ON c.GenderCode=b.Gender
|
||
LEFT JOIN T_Base_Ambulance d ON b.AmbulanceGuid=d.[GUID]
|
||
LEFT JOIN T_Base_WristStrap e ON b.WristStrapID=e.ID
|
||
LEFT JOIN T_Base_Hospital f ON b.HospitalGuid=f.[GUID]
|
||
WHERE b.RegisterTime BETWEEN '{0}' AND '{1}' AND a.DeleteFlag=0 {2} order by a.ID DESC", startTime, endTime, StrWhere);
|
||
|
||
DataTable dt = db.Ado.GetDataTable(SqlStr);
|
||
string items = "";
|
||
|
||
if (dt.Rows.Count > 0)
|
||
{
|
||
foreach (DataRow item in dt.Rows)
|
||
{
|
||
string row = "";
|
||
for (int i = 0; i < dt.Columns.Count; i++)
|
||
{
|
||
row += JsonConvert.SerializeObject(dt.Columns[i].ColumnName) + ":";
|
||
row += JsonConvert.SerializeObject(item[i]) + ",";
|
||
}
|
||
row = row.Remove(row.Length - 1);
|
||
items += "{" + row + "}" + ",";
|
||
|
||
}
|
||
items = items.Remove(items.Length - 1);
|
||
}
|
||
items = "[" + items + "]";
|
||
return items;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获得前几行数据
|
||
/// </summary>
|
||
public T_Service_120FirstAid Get(long id)
|
||
{
|
||
return db.Queryable<T_Service_120FirstAid>().First(it => it.ID == id);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据患者编号(GUID)+所属报表类型 获取数据信息
|
||
/// </summary>
|
||
/// <param name="patientGuid">病人编号(GUID)</param>
|
||
/// <returns></returns>
|
||
public TableModel<T_Service_120FirstAid> GetByPatientGuid(string patientGuid)
|
||
{
|
||
TableModel<T_Service_120FirstAid> t = new TableModel<T_Service_120FirstAid>();
|
||
|
||
var listMode = db.Queryable<T_Service_120FirstAid>().Where(it => it.PatientGuid == patientGuid && it.DeleteFlag == 0)
|
||
.Select(it => new T_Service_120FirstAid
|
||
{
|
||
ID = it.ID,
|
||
GUID = it.GUID,
|
||
PatientGuid = it.PatientGuid,
|
||
DiseaseTime = it.DiseaseTime,
|
||
TimeOfOnset = it.TimeOfOnset,
|
||
OnsetTimeInterval = it.OnsetTimeInterval,
|
||
CallHelpTime = it.CallHelpTime,
|
||
Property = it.Property,
|
||
Status = it.Status,
|
||
Summary = it.Summary,
|
||
DeleteFlag = it.DeleteFlag,
|
||
CreationDate = it.CreationDate,
|
||
CreatorID = it.CreatorID,
|
||
Creator = it.Creator,
|
||
EditTime = it.EditTime,
|
||
EditorID = it.EditorID,
|
||
Editor = it.Editor,
|
||
}).OrderBy(it => it.ID, OrderByType.Desc).ToList();
|
||
|
||
t.Code = 0;
|
||
t.TotalNumber = listMode.Count;
|
||
t.Data = listMode;
|
||
t.Msg = "成功";
|
||
return t;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取急救调度任务单信息
|
||
/// </summary>
|
||
/// <param name="patientGuid">患者编号(GUID)</param>
|
||
/// <returns></returns>
|
||
public string GetDispatchOrderInfo(string patientGuid)
|
||
{
|
||
string SqlStr = string.Format(@"SELECT a.PatientGuid,a.[GUID],b.Name,b.Age,c.GenderName,b.MobilePhone,b.Attack_Address,a.CallHelpTime,a.DiseaseTime,b.IdentityCard,d.PlateNumber as AmbulanceNumber,e.Code as WristStrapNumber,b.EqmtNo AS EquipmentNumber,b.Note,a.SendAmbulanceTime,a.CreationDate,b.Creator,f.Name AS HospitalName
|
||
FROM T_Service_120FirstAid a
|
||
LEFT JOIN T_Service_Patient b ON a.PatientGuid=b.[GUID]
|
||
LEFT JOIN T_Base_Gender c ON c.GenderCode=b.Gender
|
||
LEFT JOIN T_Base_Ambulance d ON b.AmbulanceGuid=d.[GUID]
|
||
LEFT JOIN T_Base_WristStrap e ON b.WristStrapID=e.ID
|
||
LEFT JOIN T_Base_Hospital f ON b.HospitalGuid=f.[GUID]
|
||
WHERE a.PatientGuid='{0}' AND a.DeleteFlag=0 AND b.DeleteFlag=0", patientGuid);
|
||
|
||
DataTable dt = db.Ado.GetDataTable(SqlStr);
|
||
string items = "";
|
||
|
||
if (dt.Rows.Count > 0)
|
||
{
|
||
foreach (DataRow item in dt.Rows)
|
||
{
|
||
string row = "";
|
||
for (int i = 0; i < dt.Columns.Count; i++)
|
||
{
|
||
row += JsonConvert.SerializeObject(dt.Columns[i].ColumnName) + ":";
|
||
row += JsonConvert.SerializeObject(item[i]) + ",";
|
||
}
|
||
row = row.Remove(row.Length - 1);
|
||
items += "{" + row + "}" + ",";
|
||
|
||
}
|
||
items = items.Remove(items.Length - 1);
|
||
}
|
||
items = "[" + items + "]";
|
||
return items;
|
||
}
|
||
}
|
||
} |