168 lines
8.2 KiB
C#
168 lines
8.2 KiB
C#
|
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();
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 任务历史
|
|||
|
/// </summary>
|
|||
|
/// <param name="guid"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public TableModel<AlarmTaskModel> GetAlarmHistoryList(string guid, int eventId, string time1, string time2, int transport, string platNumber, int pageIndex, int pageSize)
|
|||
|
{
|
|||
|
int total = 0;
|
|||
|
var data = db.Queryable<T_Service_FirstAid_AlarmInfo, T_Service_FirstAid_AlarmTaskInfo, T_Base_Hospital, T_Base_Hospital, T_Base_Ambulance, T_SYS_User, T_Base_AccidentInfo, T_Base_AccidentLevel>
|
|||
|
((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<AlarmTaskModel> t = new TableModel<AlarmTaskModel>();
|
|||
|
t.Code = 0;
|
|||
|
t.PageCount = data.Count;
|
|||
|
t.TotalNumber = total;
|
|||
|
t.Data = data;
|
|||
|
t.Msg = "成功";
|
|||
|
return t;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 派单任务详情(PDF)
|
|||
|
/// </summary>
|
|||
|
/// <param name="id"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public TableModel<TaskDetailModel> GetTaskDetail(int id)
|
|||
|
{
|
|||
|
|
|||
|
TableModel<TaskDetailModel> t = new TableModel<TaskDetailModel>();
|
|||
|
var info = db.Queryable<T_Service_FirstAid_AlarmTaskInfo, T_Service_FirstAid_AlarmInfo, T_Base_Hospital, T_Base_Ambulance, T_SYS_User, T_SYS_User, T_SYS_User>((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;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 获取出警任务详情
|
|||
|
/// </summary>
|
|||
|
/// <param name="hospitalGuid"></param>
|
|||
|
/// <param name="startTime"></param>
|
|||
|
/// <param name="endTime"></param>
|
|||
|
/// <param name="pageIndex"></param>
|
|||
|
/// <param name="pageSize"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public TableModel<AlarmTaskListModel> GetAlarmTaskList(string hospitalGuid, string startTime, string endTime, int pageIndex, int pageSize)
|
|||
|
{
|
|||
|
int total = 0;
|
|||
|
var data = db.Queryable<T_Service_FirstAid_AlarmInfo, T_Service_FirstAid_AlarmTaskInfo, T_Base_Hospital, T_Base_Ambulance, T_SYS_User, T_SYS_User, T_SYS_User>
|
|||
|
((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<AlarmTaskListModel> t = new TableModel<AlarmTaskListModel>();
|
|||
|
t.Code = 0;
|
|||
|
t.PageCount = data.Count;
|
|||
|
t.TotalNumber = total;
|
|||
|
t.Data = data;
|
|||
|
t.Msg = "成功";
|
|||
|
return t;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|