114 lines
5.4 KiB
C#
114 lines
5.4 KiB
C#
using HL_FristAidPlatform_Help;
|
||
using HL_FristAidPlatform_IDataBase;
|
||
using HL_FristAidPlatform_Models;
|
||
using SqlSugar;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Linq;
|
||
|
||
namespace HL_FristAidPlatform_DataBase.Service
|
||
{
|
||
/// <summary>
|
||
/// 院前急救人员出车记录
|
||
/// </summary>
|
||
public class T_Service_FirstAid_DrivingCensusDB : BaseDB, IT_Service_FirstAid_DrivingCensus
|
||
{
|
||
public SqlSugarClient db = GetClient();
|
||
|
||
/// <summary>
|
||
/// 新增
|
||
/// </summary>
|
||
/// <param name="model"></param>
|
||
/// <returns></returns>
|
||
public int Add(T_Service_FirstAid_DrivingCensus model)
|
||
{
|
||
var data = db.Queryable<T_Service_FirstAid_DrivingCensus>().First(it => it.DrivingTime == DateTime.Now.ToString("yyyy-MM-dd"));
|
||
if (string.IsNullOrEmpty(data.ToString()))//当天没有数据
|
||
{
|
||
return db.Insertable(model).IgnoreColumns(it => new { it.ID }).ExecuteCommand();
|
||
}
|
||
else
|
||
{
|
||
model.PatientSum = model.PatientSum + data.PatientSum;
|
||
model.PatientSum = model.PatientSum + data.PatientSum;
|
||
model.DrivingSum = data.DrivingSum + 1;
|
||
return db.Updateable(model).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommand();
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// 分页列表
|
||
/// </summary>
|
||
/// <param name="startTime"></param>
|
||
/// <param name="endTime"></param>
|
||
/// <param name="censusType">0:日1:周2:月3:年</param>
|
||
/// <param name="pageIndex"></param>
|
||
/// <param name="pageSize"></param>
|
||
/// <returns></returns>
|
||
public TableModel<FirstAid_DrivingList> GetPageList(string hospitalGuid, string startTime, string endTime, int pageIndex, int pageSize)
|
||
{
|
||
int total = 0;
|
||
List<FirstAid_DrivingList> list = new List<FirstAid_DrivingList>();
|
||
var hospital = db.Queryable<T_Base_Hospital>().Where(i=>i.GUID==hospitalGuid).First();
|
||
if (string.IsNullOrEmpty(hospital.ParentGUID))//主站
|
||
{
|
||
list = db.Queryable<T_Service_FirstAid_AlarmInfo, T_Service_FirstAid_AlarmTaskInfo, T_Service_FirstAid_PatientInfo, T_SYS_User, T_SYS_User, T_SYS_User, T_Base_Hospital, T_Base_Ambulance>(
|
||
(a, b, c, d, e, f, j, h) => new JoinQueryInfos(
|
||
JoinType.Inner, a.GUID == b.AlarmGuid,
|
||
JoinType.Inner, b.GUID == c.TaskGUID,
|
||
JoinType.Left, b.DriverGUID == d.GUID,
|
||
JoinType.Left, b.DoctorGUID == e.GUID,
|
||
JoinType.Left, b.NurseGUID == f.GUID,
|
||
JoinType.Inner, a.HospitalGuid == j.GUID,
|
||
JoinType.Inner, b.VehicleGUID == h.GUID))
|
||
.Where((a, b, c, d, e, f, j, h) => a.CallHospitalGuid==hospital.GUID)
|
||
.Where((a, b, c, d, e, f, j, h) =>a.DispatchDatetime>=Convert.ToDateTime(startTime))
|
||
.Where((a, b, c, d, e, f, j, h) =>a.DispatchDatetime<=Convert.ToDateTime(endTime).AddDays(1))
|
||
.Select((a, b, c, d, e, f, j, h) =>new FirstAid_DrivingList()
|
||
{
|
||
HospitalName=j.Name,
|
||
DrivingTime=a.DispatchDatetime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||
PlateNumber=h.PlateNumber,
|
||
DrvingName=d.FullName,
|
||
DoctorName=e.FullName,
|
||
NurseName=f.FullName,
|
||
PatientSum=c.PatientGUID.Count()
|
||
}).ToPageList(pageIndex, pageSize, ref total);
|
||
}
|
||
else {
|
||
list = db.Queryable<T_Service_FirstAid_AlarmInfo, T_Service_FirstAid_AlarmTaskInfo, T_Service_FirstAid_PatientInfo, T_SYS_User, T_SYS_User, T_SYS_User, T_Base_Hospital, T_Base_Ambulance>(
|
||
(a, b, c, d, e, f, j, h) => new JoinQueryInfos(
|
||
JoinType.Inner, a.GUID == b.AlarmGuid,
|
||
JoinType.Inner, b.GUID == c.TaskGUID,
|
||
JoinType.Left, b.DriverGUID == d.GUID,
|
||
JoinType.Left, b.DoctorGUID == e.GUID,
|
||
JoinType.Left, b.NurseGUID == f.GUID,
|
||
JoinType.Inner, a.HospitalGuid == j.GUID,
|
||
JoinType.Inner, b.VehicleGUID == h.GUID))
|
||
.Where((a, b, c, d, e, f, j, h) => a.HospitalGuid == hospital.GUID)
|
||
.Where((a, b, c, d, e, f, j, h) => a.DispatchDatetime >= Convert.ToDateTime(startTime))
|
||
.Where((a, b, c, d, e, f, j, h) => a.DispatchDatetime <= Convert.ToDateTime(endTime).AddDays(1))
|
||
.Select((a, b, c, d, e, f, j, h) => new FirstAid_DrivingList()
|
||
{
|
||
HospitalName = j.Name,
|
||
DrivingTime = a.DispatchDatetime.ToString("yyyy-MM-dd HH:mm:ss"),
|
||
PlateNumber = h.PlateNumber,
|
||
DrvingName = d.FullName,
|
||
DoctorName = e.FullName,
|
||
NurseName = f.FullName,
|
||
PatientSum = c.PatientGUID.Count()
|
||
}).ToPageList(pageIndex, pageSize, ref total);
|
||
}
|
||
|
||
total = list.Count();
|
||
TableModel<FirstAid_DrivingList> t = new TableModel<FirstAid_DrivingList>();
|
||
t.Code = 0;
|
||
t.PageCount = list.Count();
|
||
t.TotalNumber = total;
|
||
t.Data = list.ToList();
|
||
t.Msg = "成功";
|
||
return t;
|
||
}
|
||
}
|
||
}
|