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;
|
||
}
|
||
|
||
|
||
}
|
||
}
|