StableVersion4.3/HL_FristAidPlatform_DataBase/Service/T_Service_FirstAid_AlarmInf...

168 lines
8.2 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 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;
}
}
}