using HL_FristAidPlatform_Help; using HL_FristAidPlatform_IDataBase; using HL_FristAidPlatform_Models; using SqlSugar; using System; namespace HL_FristAidPlatform_DataBase { public class T_Service_FirstAid_AlarmInfoDB : BaseDB, IT_Service_FirstAid_AlarmInfo { public SqlSugarClient db = GetClient(); /// /// 任务历史 /// /// /// public TableModel GetAlarmHistoryList(string guid, int eventId, string time1, string time2, int transport, string platNumber, int pageIndex, int pageSize) { int total = 0; var data = db.Queryable ((a, b, c, d, e, f, j, h) => new JoinQueryInfos( JoinType.Inner, a.GUID == b.AlarmGuid, JoinType.Left, a.CallHospitalGuid == c.GUID, JoinType.Left, a.HospitalGuid == d.GUID, JoinType.Left, b.VehicleGUID == e.GUID, JoinType.Left, a.PoliceReceiver == f.ID, JoinType.Left, a.AccidentGUID == j.GUID, JoinType.Left, a.AccidentLeveGUID == h.GUID)) .Where((a, b, c, d, e, f, j, h) => a.HospitalGuid == guid || a.CallHospitalGuid == guid && a.DispatchDatetime < DateTime.Now) .WhereIF(eventId>0, (a, b, c, d, e, f, j, h) => j.ID == eventId) .WhereIF(!SqlFunc.IsNullOrEmpty(time1), (a, b, c, d, e, f, j, h) => a.DispatchDatetime >= Convert.ToDateTime(time1)) .WhereIF(!SqlFunc.IsNullOrEmpty(time2), (a, b, c, d, e, f, j, h) => a.DispatchDatetime <= Convert.ToDateTime(time2).AddDays(1)) .WhereIF(transport != -1, (a, b, c, d, e, f, j, h) => b.IsTransport == transport) .WhereIF(!SqlFunc.IsNullOrEmpty(platNumber), (a, b, c, d, e, f, j, h) => e.PlateNumber.Contains(platNumber)) .OrderBy((a, b, c, d, e, f, j, h) => a.DispatchDatetime, OrderByType.Desc) .Select((a, b, c, d, e, f, j, h) => new AlarmTaskModel() { GUID = b.GUID, CallHospitalName = c.Name, HospitalName = d.Name, DispatchDatetime = a.DispatchDatetime.ToString("yyyy-MM-dd HH:ss:mm"), WaitingAddress = a.WaitingAddress, PoliceReceiverName = f.FullName, PoliceCall = a.PoliceCall, ChiefComplaint = a.ChiefComplaint, AccidentName = j.ParentName, AccidentLeveName = h.LevelName, Pathogeny = a.Pathogeny, PlateNumber = e.PlateNumber, IsTransport = b.IsTransport == 1 ? "转送" : "未转送", IsAbnormal = b.IsAbnormal == 1 ? "是" : "否" }) .ToPageList(pageIndex, pageSize, ref total); TableModel t = new TableModel(); t.Code = 0; t.PageCount = data.Count; t.TotalNumber = total; t.Data = data; t.Msg = "成功"; return t; } /// /// 派单任务详情(PDF) /// /// /// public TableModel GetTaskDetail(int id) { TableModel t = new TableModel(); var info = db.Queryable((a, b, c, d, e, f, g) => new JoinQueryInfos( JoinType.Inner, a.AlarmGuid == b.GUID, JoinType.Left, b.HospitalGuid == c.GUID, JoinType.Left, a.VehicleGUID == d.GUID, JoinType.Left, a.DoctorGUID == e.GUID, JoinType.Left, a.DriverGUID == f.GUID, JoinType.Left, a.NurseGUID == g.GUID)) .Where((a, b, c, d, e, f, g) => b.ID == id) .Select((a, b, c, d, e, f, g) => new TaskDetailModel() { GUID = a.GUID, HospitalGUID = b.HospitalGuid, HospitalName = c.Name, PlateNumber = d.PlateNumber, DispatchNo = b.DispatchNo, PatientsNumber = b.PatientsNumber, WaitingAddress = b.WaitingAddress, CallAddress = b.CallAddress, Consciousness = b.IsConsciousness == true ? "有" : "无", PoliceCall = b.PoliceCall, ChiefComplaint = b.ChiefComplaint, DispatchDatetime = Convert.ToDateTime(b.DispatchDatetime).ToString("yyyy-MM-dd HH:mm:ss"), Pathogeny = b.Pathogeny, Name = b.Name, Age = b.Age, Gender = b.Gender.ToString(), Address = b.Address, Phone = b.Phone, DriverName = f.FullName, DriverID=f.ID, DoctorName = e.FullName, DoctorID=e.ID, NurseName = g.FullName, NurseID=g.ID, ToAddress = a.ToAddress, AbnormalReason = a.AbnormalReason }).ToList(); t.Code = 0; t.PageCount = 1; t.TotalNumber = 1; t.Data = info; t.Msg = "成功"; return t; } /// /// 获取出警任务详情 /// /// /// /// /// /// /// public TableModel GetAlarmTaskList(string hospitalGuid, string startTime, string endTime, int pageIndex, int pageSize) { int total = 0; var data = db.Queryable ((a, b, c, d, e, f, j) => new JoinQueryInfos( JoinType.Inner, a.GUID == b.AlarmGuid, JoinType.Inner, a.HospitalGuid == c.GUID, JoinType.Left, b.VehicleGUID == d.GUID, JoinType.Left, b.DriverGUID == e.GUID, JoinType.Left, b.DoctorGUID == f.GUID, JoinType.Left, b.NurseGUID == j.GUID ) ) .Where((a, b, c, d, e, f, j) => a.HospitalGuid == hospitalGuid || a.CallHospitalGuid == hospitalGuid) .WhereIF(!SqlFunc.IsNullOrEmpty(startTime), (a, b, c, d, e, f, j) => b.DrivingTime >= Convert.ToDateTime(startTime)) .WhereIF(!SqlFunc.IsNullOrEmpty(endTime), (a, b, c, d, e, f, j) => b.DrivingTime <= Convert.ToDateTime(endTime).AddDays(1)) .OrderBy((a, b, c, d, e, f, j) => b.DrivingTime, OrderByType.Desc) .Select((a, b, c, d, e, f, j) => new AlarmTaskListModel() { DrvingTime=Convert.ToDateTime(b.DrivingTime).ToString("yyyy-MM-dd HH:mm:ss"), DrvingName=e.FullName, DoctorName=f.FullName, NurseName=j.FullName, PlateNumber=d.PlateNumber, HospitalName=c.Name }).ToPageList(pageIndex, pageSize, ref total); TableModel t = new TableModel(); t.Code = 0; t.PageCount = data.Count; t.TotalNumber = total; t.Data = data; t.Msg = "成功"; return t; } } }