using HL_FristAidPlatform_Help; using HL_FristAidPlatform_IDataBase; using HL_FristAidPlatform_Models; using Newtonsoft.Json; using SqlSugar; using System.Data; namespace HL_FristAidPlatform_DataBase { /// /// 120急救信息 /// public class T_Service_120FirstAidDB : BaseDB, IT_Service_120FirstAid { public SqlSugarClient db = GetClient(); /// /// 增加一条数据 /// public T_Service_120FirstAid Add(T_Service_120FirstAid model) { return db.Insertable(model).IgnoreColumns(it => new { it.ID }).ExecuteReturnEntity(); } /// /// 更新一条数据 /// public bool Update(T_Service_120FirstAid model) { return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand() == 0 ? false : true; } /// /// 删除一条数据 /// public bool Delete(long ID) { return db.Deleteable(ID).ExecuteCommand() == 0 ? false : true; } /// /// 获得数据列表 /// /// 起始页 /// 每页大小 /// 所属院区GUID /// 开始时间(创建) /// 结束时间(创建) /// 任务状态1:派发任务;2:已出发;3:到达现场;4:离开现场;5:任务完成 -1:查询全部 /// 关键词 /// 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; } /// /// 获得前几行数据 /// public T_Service_120FirstAid Get(long id) { return db.Queryable().First(it => it.ID == id); } /// /// 根据患者编号(GUID)+所属报表类型 获取数据信息 /// /// 病人编号(GUID) /// public TableModel GetByPatientGuid(string patientGuid) { TableModel t = new TableModel(); var listMode = db.Queryable().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; } /// /// 获取急救调度任务单信息 /// /// 患者编号(GUID) /// 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; } } }