StableVersion4.3/HL_FristAidPlatform_DataBase/Service/T_Service_FirstAid_DrivingC...

114 lines
5.4 KiB
C#
Raw Permalink 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;
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;
}
}
}