StableVersion4.3/HL_FristAidPlatform_DataBase/Service/T_Service_120FirstAidDB.cs

194 lines
8.1 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 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;
}
}
}