518 lines
24 KiB
C#
518 lines
24 KiB
C#
using HL_FristAidPlatform_Help;
|
||
using HL_FristAidPlatform_IDataBase;
|
||
using HL_FristAidPlatform_Models;
|
||
using Newtonsoft.Json;
|
||
using SqlSugar;
|
||
using System.Collections.Generic;
|
||
using System.Data;
|
||
|
||
namespace HL_FristAidPlatform_DataBase
|
||
{
|
||
/// <summary>
|
||
/// 急救车信息
|
||
/// </summary>
|
||
public class T_Base_AmbulanceDB : BaseDB, IT_Base_Ambulance
|
||
{
|
||
public SqlSugarClient db = GetClient();
|
||
|
||
/// <summary>
|
||
/// 增加一条数据
|
||
/// </summary>
|
||
public bool Add(T_Base_Ambulance model)
|
||
{
|
||
return db.Insertable(model).IgnoreColumns(ignoreNullColumn: true).ExecuteCommand() == 1;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新一条数据
|
||
/// </summary>
|
||
public int Update(T_Base_Ambulance model)
|
||
{
|
||
//更新时指定列不更新
|
||
return db.Updateable(model).IgnoreColumns(it => new { it.CreationDate, it.Creator, it.CreatorID }).ExecuteCommand();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 更新一条数据
|
||
/// </summary>
|
||
public int UpdateState(T_Base_Ambulance model)
|
||
{
|
||
//更新时指定列不更新
|
||
return db.Updateable(model).UpdateColumns(it => new { it.State }).ExecuteCommand();
|
||
}
|
||
|
||
/// <summary>
|
||
/// 删除一条数据
|
||
/// </summary>
|
||
public bool Delete(long ID)
|
||
{
|
||
return db.Deleteable<T_Base_Ambulance>().In(ID).ExecuteCommand() == 1 ? true : false;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据分页获得数据列表
|
||
/// </summary>
|
||
/// <param name="pageIndex">起始页</param>
|
||
/// <param name="pageSize">每页大小</param>
|
||
/// <param name="hospitalGuid">所属医院编号(GUID)</param>
|
||
/// <param name="state">状态 -1查询所有</param>
|
||
/// <param name="keyWord">查询关键词</param>
|
||
/// <returns></returns>
|
||
public TableModel<T_Base_AmbulanceModel> GetPageList(int pageIndex, int pageSize, string hospitalGuid, int state, string keyWord)
|
||
{
|
||
int TotalNumber = 0;
|
||
TableModel<T_Base_AmbulanceModel> t = new TableModel<T_Base_AmbulanceModel>();
|
||
|
||
var listMode = db.Queryable<T_Base_Ambulance, T_Base_Hospital, T_Base_VideoEquipment>((Ambulance, Hospital, VideoEquipment) => new object[] {
|
||
JoinType.Left,Ambulance.HospitalGuid==Hospital.GUID,
|
||
JoinType.Left,Ambulance.VideoEquipmentGuid==VideoEquipment.GUID,
|
||
})
|
||
.Where((Ambulance, Hospital, VideoEquipment) => Ambulance.DeleteFlag == 0 && VideoEquipment.DeleteFlag == 0)
|
||
.WhereIF(!string.IsNullOrEmpty(hospitalGuid), (Ambulance, Hospital, VideoEquipment) => Ambulance.HospitalGuid == hospitalGuid)
|
||
.WhereIF(state >= 0, (Ambulance, Hospital, VideoEquipment) => Ambulance.State == state)
|
||
.WhereIF(!string.IsNullOrEmpty(keyWord), (Ambulance, Hospital, VideoEquipment) => Ambulance.ECGCode.Contains(keyWord) || Ambulance.PlateNumber.Contains(keyWord))
|
||
.Select((Ambulance, Hospital, VideoEquipment) => new T_Base_AmbulanceModel
|
||
{
|
||
ID = Ambulance.ID,
|
||
GUID = Ambulance.GUID.ToString(),
|
||
HospitalGuid = Ambulance.HospitalGuid,
|
||
VideoEquipmentGuid = Ambulance.VideoEquipmentGuid,
|
||
ECGCode = Ambulance.ECGCode,
|
||
PlateNumber = Ambulance.PlateNumber,
|
||
State = Ambulance.State,
|
||
DeleteFlag = Ambulance.DeleteFlag,
|
||
CreationDate = Ambulance.CreationDate,
|
||
CreatorID = Ambulance.CreatorID,
|
||
Creator = Ambulance.Creator,
|
||
HospitalName = Hospital.Name,
|
||
EquipmentName = VideoEquipment.EquipmentName,
|
||
StateCase = Ambulance.State.ToString(),
|
||
DeleteFlagCase = Ambulance.DeleteFlag.ToString(),
|
||
}).OrderBy((Ambulance) => Ambulance.ID).ToPageList(pageIndex, pageSize, ref TotalNumber);
|
||
|
||
t.Code = 0;
|
||
t.PageCount = listMode.Count;
|
||
t.TotalNumber = TotalNumber;
|
||
t.Data = listMode;
|
||
t.Msg = "成功";
|
||
return t;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获得数据列表
|
||
/// </summary>
|
||
/// <param name="hospitalGuid">所属医院编号(GUID)</param>
|
||
/// <param name="state">状态 -1查询所有</param>
|
||
/// <param name="keyWord">查询关键词</param>
|
||
/// <returns></returns>
|
||
public TableModel<T_Base_AmbulanceModel> GetList(string hospitalGuid, int state, string keyWord)
|
||
{
|
||
TableModel<T_Base_AmbulanceModel> t = new TableModel<T_Base_AmbulanceModel>();
|
||
|
||
var listMode = db.Queryable<T_Base_Ambulance, T_Base_Hospital, T_Base_VideoEquipment>((Ambulance, Hospital, VideoEquipment) => new object[] {
|
||
JoinType.Left,Ambulance.HospitalGuid==Hospital.GUID,
|
||
JoinType.Left,Ambulance.VideoEquipmentGuid==VideoEquipment.GUID,
|
||
})
|
||
.Where((Ambulance, Hospital, VideoEquipment) => Ambulance.DeleteFlag == 0 && VideoEquipment.DeleteFlag == 0)
|
||
.WhereIF(!string.IsNullOrEmpty(hospitalGuid), (Ambulance, Hospital, VideoEquipment) => Ambulance.HospitalGuid == hospitalGuid)
|
||
.WhereIF(state >= 0, (Ambulance, Hospital, VideoEquipment) => Ambulance.State == state)
|
||
.WhereIF(!string.IsNullOrEmpty(keyWord), (Ambulance, Hospital, VideoEquipment) => Ambulance.ECGCode.Contains(keyWord) || Ambulance.PlateNumber.Contains(keyWord))
|
||
.Select((Ambulance, Hospital, VideoEquipment) => new T_Base_AmbulanceModel
|
||
{
|
||
ID = Ambulance.ID,
|
||
GUID = Ambulance.GUID.ToString(),
|
||
HospitalGuid = Ambulance.HospitalGuid,
|
||
VideoEquipmentGuid = Ambulance.VideoEquipmentGuid,
|
||
ECGCode = Ambulance.ECGCode,
|
||
PlateNumber = Ambulance.PlateNumber,
|
||
State = Ambulance.State,
|
||
DeleteFlag = Ambulance.DeleteFlag,
|
||
CreationDate = Ambulance.CreationDate,
|
||
CreatorID = Ambulance.CreatorID,
|
||
Creator = Ambulance.Creator,
|
||
HospitalName = Hospital.Name,
|
||
EquipmentName = VideoEquipment.EquipmentName,
|
||
StateCase = Ambulance.State.ToString(),
|
||
DeleteFlagCase = Ambulance.DeleteFlag.ToString(),
|
||
ChannelsNumber = VideoEquipment.ChannelsNumber,
|
||
}).OrderBy((Ambulance) => Ambulance.ID).ToList();
|
||
|
||
t.Code = 0;
|
||
t.PageCount = listMode.Count;
|
||
t.TotalNumber = listMode.Count;
|
||
t.Data = listMode;
|
||
t.Msg = "成功";
|
||
return t;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获得前几行数据
|
||
/// </summary>
|
||
public T_Base_Ambulance Get(string guid)
|
||
{
|
||
return db.Queryable<T_Base_Ambulance>().First(it => it.GUID == guid);//查询单条
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据车牌号获取车辆
|
||
/// </summary>
|
||
/// <param name="plateNumber"></param>
|
||
/// <returns></returns>
|
||
public TableModel<T_Base_Ambulance> GetPlateNumber(string plateNumber)
|
||
{
|
||
List<T_Base_Ambulance> data = db.Queryable<T_Base_Ambulance>().Where(iterator => iterator.PlateNumber == plateNumber).ToList();
|
||
TableModel<T_Base_Ambulance> menu = new TableModel<T_Base_Ambulance>();
|
||
menu.Code = 0;
|
||
menu.TotalNumber = data.Count;
|
||
menu.Data = data;
|
||
menu.Msg = "成功";
|
||
return menu;
|
||
//return db.Queryable<T_Base_Ambulance>().Where(Ambulance => Ambulance.PlateNumber == plateNumber);
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据急救车编号获得视频设备信息
|
||
/// 实时视频界面专用
|
||
/// </summary>
|
||
/// <param name="guid">急救车编号</param>
|
||
/// <param name="serverType">服务器类型1注册服务器,2流媒体服务器,3报警服务器,4解码服务器 同时获取多个,分割.如:1,2,3,4</param>
|
||
/// <returns></returns>
|
||
public string GetServerInfoByGuid(string guid, string serverType)
|
||
{
|
||
string ReturnStr = string.Empty;
|
||
|
||
#region SQL
|
||
//注册服务器
|
||
string RegistrationServerStr = @"SELECT a.GUID,a.PlateNumber,a.ECGCode,c.UserName,c.Password,c.ServerName,c.ServerType,c.ServerIP,c.CommunicationPort,c.QueryPort,b.EquipmentName,b.EquipmentType,b.EquipmentCode,b.ChannelsNumber FROM T_Base_Ambulance a
|
||
LEFT JOIN T_Base_VideoEquipment b ON a.VideoEquipmentGuid=b.GUID
|
||
LEFT JOIN T_Base_VideoDeviceServer c ON b.RegistrationServerGuid=c.GUID
|
||
WHERE a.GUID='{0}' AND a.DeleteFlag=0 AND b.DeleteFlag=0 AND c.DeleteFlag=0";
|
||
|
||
//流媒体服务器
|
||
string StreamingMediaServerStr = @"SELECT a.GUID,a.PlateNumber,a.ECGCode,c.UserName,c.Password,c.ServerName,c.ServerType,c.ServerIP,c.CommunicationPort,c.QueryPort,b.EquipmentName,b.EquipmentType,b.EquipmentCode,b.ChannelsNumber FROM T_Base_Ambulance a
|
||
LEFT JOIN T_Base_VideoEquipment b ON a.VideoEquipmentGuid=b.GUID
|
||
LEFT JOIN T_Base_VideoDeviceServer c ON b.StreamingMediaServerGuid=c.GUID
|
||
WHERE a.GUID='{0}' AND a.DeleteFlag=0 AND b.DeleteFlag=0 AND c.DeleteFlag=0";
|
||
|
||
//报警服务器
|
||
string AlarmServerStr = @"SELECT a.GUID,a.PlateNumber,a.ECGCode,c.UserName,c.Password,c.ServerName,c.ServerType,c.ServerIP,c.CommunicationPort,c.QueryPort,b.EquipmentName,b.EquipmentType,b.EquipmentCode,b.ChannelsNumber FROM T_Base_Ambulance a
|
||
LEFT JOIN T_Base_VideoEquipment b ON a.VideoEquipmentGuid=b.GUID
|
||
LEFT JOIN T_Base_VideoDeviceServer c ON b.AlarmServerGuid=c.GUID
|
||
WHERE a.GUID='{0}' AND a.DeleteFlag=0 AND b.DeleteFlag=0 AND c.DeleteFlag=0";
|
||
|
||
//解码服务器
|
||
string DecodingServerStr = @"SELECT a.GUID,a.PlateNumber,a.ECGCode,c.UserName,c.Password,c.ServerName,c.ServerType,c.ServerIP,c.CommunicationPort,c.QueryPort,b.EquipmentName,b.EquipmentType,b.EquipmentCode,b.ChannelsNumber FROM T_Base_Ambulance a
|
||
LEFT JOIN T_Base_VideoEquipment b ON a.VideoEquipmentGuid=b.GUID
|
||
LEFT JOIN T_Base_VideoDeviceServer c ON b.DecodingServerGuid=c.GUID
|
||
WHERE a.GUID='{0}' AND a.DeleteFlag=0 AND b.DeleteFlag=0 AND c.DeleteFlag=0";
|
||
#endregion
|
||
|
||
string SqlStr = string.Empty;
|
||
string[] ServerTypeArray = serverType.Split(',');
|
||
foreach (string str in ServerTypeArray)
|
||
{
|
||
if (str == "1")
|
||
{
|
||
SqlStr += SqlStr == string.Empty ? RegistrationServerStr : " UNION ALL " + RegistrationServerStr;
|
||
}
|
||
else if (str == "2")
|
||
{
|
||
SqlStr += SqlStr == string.Empty ? StreamingMediaServerStr : " UNION ALL " + StreamingMediaServerStr;
|
||
}
|
||
else if (str == "3")
|
||
{
|
||
SqlStr += SqlStr == string.Empty ? AlarmServerStr : " UNION ALL " + AlarmServerStr;
|
||
}
|
||
else if (str == "4")
|
||
{
|
||
SqlStr += SqlStr == string.Empty ? DecodingServerStr : " UNION ALL " + DecodingServerStr;
|
||
}
|
||
}
|
||
|
||
SqlStr = string.Format(SqlStr, guid);
|
||
DataTable dt = db.Ado.GetDataTable(SqlStr);
|
||
if (dt.Rows.Count > 0)
|
||
{
|
||
foreach (DataRow item in dt.Rows)
|
||
{
|
||
string row = "";
|
||
for (int i = 0; i < dt.Columns.Count; i++)
|
||
{
|
||
row += JsonConvert.SerializeObject(dt.Columns[i].ColumnName) + ":";
|
||
row += JsonConvert.SerializeObject(item[i]) + ",";
|
||
}
|
||
row = row.Remove(row.Length - 1);
|
||
ReturnStr += "{" + row + "}" + ",";
|
||
|
||
}
|
||
ReturnStr = ReturnStr.Remove(ReturnStr.Length - 1);
|
||
}
|
||
ReturnStr = "[" + ReturnStr + "]";
|
||
return ReturnStr;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据状态获取急救车列表
|
||
/// </summary>
|
||
/// <param name="state">急救车状态1、空闲,2、出车中,3、维修中,4、已报废</param>
|
||
/// <param name="hospitalGuid">所属医院编号(GUID)</param>
|
||
/// <returns></returns>
|
||
public TableModel<T_Base_AmbulanceModel> GetListForState(int state, string hospitalGuid)
|
||
{
|
||
TableModel<T_Base_AmbulanceModel> t = new TableModel<T_Base_AmbulanceModel>();
|
||
|
||
var listMode = db.Queryable<T_Base_Ambulance, T_Base_Hospital>((Ambulance, Hospital) => new object[] {
|
||
JoinType.Left,Ambulance.HospitalGuid==Hospital.GUID,
|
||
}).Where((Ambulance, Hospital) => Ambulance.DeleteFlag == 0).WhereIF(state > 0, (Ambulance, Hospital) => Ambulance.State == state).WhereIF(!string.IsNullOrEmpty(hospitalGuid), (Ambulance, Hospital) => Ambulance.HospitalGuid == hospitalGuid)
|
||
.Select((Ambulance, Hospital) => new T_Base_AmbulanceModel
|
||
{
|
||
ID = Ambulance.ID,
|
||
GUID = Ambulance.GUID.ToString(),
|
||
HospitalGuid = Ambulance.HospitalGuid,
|
||
VideoEquipmentGuid = Ambulance.VideoEquipmentGuid,
|
||
ECGCode = Ambulance.ECGCode,
|
||
PlateNumber = Ambulance.PlateNumber,
|
||
State = Ambulance.State,
|
||
DeleteFlag = Ambulance.DeleteFlag,
|
||
CreationDate = Ambulance.CreationDate,
|
||
CreatorID = Ambulance.CreatorID,
|
||
Creator = Ambulance.Creator,
|
||
HospitalName = Hospital.Name,
|
||
StateCase = Ambulance.State.ToString(),
|
||
DeleteFlagCase = Ambulance.DeleteFlag.ToString(),
|
||
}).OrderBy((Ambulance) => Ambulance.ID).ToList();
|
||
|
||
t.Code = 0;
|
||
t.PageCount = listMode.Count;
|
||
t.TotalNumber = listMode.Count;
|
||
t.Data = listMode;
|
||
t.Msg = "成功";
|
||
return t;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据急救车编号(GUID)获取GPS信息
|
||
/// </summary>
|
||
/// <param name="guid">急救车编号(GUID)</param>
|
||
/// <returns></returns>
|
||
public string GetGPSInfoByGuid(string guid)
|
||
{
|
||
string ReturnStr = string.Empty;
|
||
string SqlStr = @"SELECT PlateNumber,EquipmentCode
|
||
FROM T_Base_Ambulance a
|
||
LEFT JOIN T_Base_VideoEquipment b ON a.VideoEquipmentGuid=b.GUID
|
||
WHERE a.[GUID]='{0}' AND a.DeleteFlag=0 AND b.DeleteFlag=0";
|
||
|
||
SqlStr = string.Format(SqlStr, guid);
|
||
DataTable dt = db.Ado.GetDataTable(SqlStr);
|
||
if (dt.Rows.Count > 0)
|
||
{
|
||
foreach (DataRow item in dt.Rows)
|
||
{
|
||
string row = "";
|
||
for (int i = 0; i < dt.Columns.Count; i++)
|
||
{
|
||
row += JsonConvert.SerializeObject(dt.Columns[i].ColumnName) + ":";
|
||
row += JsonConvert.SerializeObject(item[i]) + ",";
|
||
}
|
||
row = row.Remove(row.Length - 1);
|
||
ReturnStr += "{" + row + "}" + ",";
|
||
|
||
}
|
||
ReturnStr = ReturnStr.Remove(ReturnStr.Length - 1);
|
||
}
|
||
ReturnStr = "[" + ReturnStr + "]";
|
||
return ReturnStr;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 根据心电设备号获取车牌号信息
|
||
/// </summary>
|
||
/// <param name="ECGCode">心电设备号</param>
|
||
/// <returns></returns>
|
||
public string GetPlageNumberInfoByECGCode(string ECGCode)
|
||
{
|
||
string ReturnStr = string.Empty;
|
||
string SqlStr = @"SELECT [GUID] FROM T_Base_Ambulance WHERE ECGCode='{0}' AND DeleteFlag=0";
|
||
SqlStr = string.Format(SqlStr, ECGCode);
|
||
DataTable dt = db.Ado.GetDataTable(SqlStr);
|
||
if (dt.Rows.Count > 0)
|
||
{
|
||
foreach (DataRow item in dt.Rows)
|
||
{
|
||
string row = "";
|
||
for (int i = 0; i < dt.Columns.Count; i++)
|
||
{
|
||
row += JsonConvert.SerializeObject(dt.Columns[i].ColumnName) + ":";
|
||
row += JsonConvert.SerializeObject(item[i]) + ",";
|
||
}
|
||
row = row.Remove(row.Length - 1);
|
||
ReturnStr += "{" + row + "}" + ",";
|
||
|
||
}
|
||
ReturnStr = ReturnStr.Remove(ReturnStr.Length - 1);
|
||
}
|
||
ReturnStr = "[" + ReturnStr + "]";
|
||
return ReturnStr;
|
||
}
|
||
/// <summary>
|
||
/// 院前急救调度获取医院全部车辆信息
|
||
/// </summary>
|
||
/// <returns></returns>
|
||
public string GetAmbulance()
|
||
{
|
||
string ReturnStr = string.Empty;
|
||
string SqlStr = @"select ECGCode,PlateNumber,Name,State,RegistrationServerGuid,StreamingMediaServerGuid,AlarmServerGuid,DecodingServerGuid,EquipmentName,EquipmentCode from T_Base_Ambulance Ambulance Left JOIN T_Base_Hospital Hospital on Ambulance.HospitalGuid=Hospital.GUID left join T_Base_VideoEquipment VideoEquipment on Ambulance.VideoEquipmentGuid=VideoEquipment.GUID where Ambulance.DeleteFlag=0 and Hospital.DeleteFlag=0 and VideoEquipment.DeleteFlag=0";
|
||
SqlStr = string.Format(SqlStr);
|
||
DataTable dt = db.Ado.GetDataTable(SqlStr);
|
||
if (dt.Rows.Count > 0)
|
||
{
|
||
foreach (DataRow item in dt.Rows)
|
||
{
|
||
string row = "";
|
||
for (int i = 0; i < dt.Columns.Count; i++)
|
||
{
|
||
row += JsonConvert.SerializeObject(dt.Columns[i].ColumnName) + ":";
|
||
row += JsonConvert.SerializeObject(item[i]) + ",";
|
||
}
|
||
row = row.Remove(row.Length - 1);
|
||
ReturnStr += "{" + row + "}" + ",";
|
||
|
||
}
|
||
ReturnStr = ReturnStr.Remove(ReturnStr.Length - 1);
|
||
}
|
||
ReturnStr = "[" + ReturnStr + "]";
|
||
return ReturnStr;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取车辆绑定的值班人员
|
||
/// </summary>
|
||
/// <param name="hospitalGuid"></param>
|
||
/// <param name="plateNumber"></param>
|
||
/// <param name="state"></param>
|
||
/// <returns></returns>
|
||
public TableModel<AmbulanceModel> GetAmbulanceList(string hospitalGuid, string plateNumber, int state)
|
||
{
|
||
TableModel<AmbulanceModel> t = new TableModel<AmbulanceModel>();
|
||
List<AmbulanceModel> list = new List<AmbulanceModel>();
|
||
|
||
var oneClasee = db.Queryable<T_Base_Ambulance>()
|
||
.Where(a => a.HospitalGuid == hospitalGuid)
|
||
.WhereIF(!SqlFunc.IsNullOrEmpty(plateNumber), a => a.PlateNumber.Contains(plateNumber))
|
||
.WhereIF(state > -1, a => a.State == state).ToList();
|
||
|
||
List<T_SYS_User> user = new List<T_SYS_User>();
|
||
oneClasee.ForEach(x =>
|
||
{
|
||
AmbulanceModel model = new AmbulanceModel();
|
||
model.GUID = x.GUID;
|
||
model.PlateNumber = x.PlateNumber;
|
||
model.State = x.State;
|
||
model.ECGCode = x.ECGCode;
|
||
user = db.Queryable<T_SYS_User>().Where(s => s.VehicleGUID == x.GUID).ToList();
|
||
if (user.Count > 0)
|
||
{
|
||
for (int i = 0; i < user.Count; i++)
|
||
{
|
||
if (!string.IsNullOrEmpty(model.Personnel))
|
||
{
|
||
model.Personnel += ",";
|
||
}
|
||
model.Personnel += user[i].FullName;
|
||
}
|
||
}
|
||
list.Add(model);
|
||
});
|
||
|
||
t.Code = 0;
|
||
t.PageCount = list.Count;
|
||
t.TotalNumber = list.Count;
|
||
t.Data = list;
|
||
t.Msg = "成功";
|
||
return t;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 主站及分站目前车辆状态信息列表
|
||
/// </summary>
|
||
/// <param name="hospitalGuid"></param>
|
||
/// <returns></returns>
|
||
public string GetCurrentAmbulanceInfo(string hospitalGuid)
|
||
{
|
||
#region
|
||
//var oneClass = db.Queryable<T_Base_Hospital, T_Service_FirstAid_AlarmInfo>((a, b) =>
|
||
//new JoinQueryInfos(JoinType.Left, a.GUID == b.CallHospitalGuid))
|
||
// .Where((a, b) => a.DeleteFlag == 0 && a.ParentGUID == hospitalGuid && b.DeleteFlag == 0 )
|
||
// .Select((a, b) => new
|
||
// {
|
||
// a.Name,
|
||
// a.GUID,
|
||
// a.ParentGUID,
|
||
// b.DispatchDatetime
|
||
// }).ToList();
|
||
//List<T_Base_Ambulance> list = new List<T_Base_Ambulance>();
|
||
//oneClass.ForEach(i => db.Queryable<T_Base_Ambulance>().Where(j => j.HospitalGuid == i.GUID).ToList().ForEach(k => list.Add(k)));
|
||
|
||
//List<CurrentAmbulanceModel> MoldeList = new List<CurrentAmbulanceModel>();
|
||
//oneClass.ForEach(i =>
|
||
//{
|
||
// List<T_Base_Ambulance> list = db.Queryable<T_Base_Ambulance>().Where(j => j.HospitalGuid == i.GUID).ToList();
|
||
// CurrentAmbulanceModel model = new CurrentAmbulanceModel();
|
||
// list.ForEach(j =>
|
||
// {
|
||
// model.Name = i.Name;
|
||
// model.Total = model.Total + 1;
|
||
// if (j.State == 1)
|
||
// {
|
||
// model.StandByTotal = model.StandByTotal + 1;
|
||
// if (!SqlFunc.IsNullOrEmpty(model.StandByAmbulance))
|
||
// {
|
||
// model.StandByAmbulance += "|";
|
||
// }
|
||
// model.StandByAmbulance += model.StandByAmbulance;
|
||
// }
|
||
// if (j.State == 2)
|
||
// {
|
||
// model.DrvingTotal = model.DrvingTotal + 1;
|
||
// if (!SqlFunc.IsNullOrEmpty(model.DrvingAmbulance))
|
||
// {
|
||
// model.DrvingAmbulance += "|";
|
||
// }
|
||
// model.DrvingAmbulance += model.DrvingAmbulance;
|
||
// }
|
||
// if (j.State == 3)
|
||
// {
|
||
// model.MaintainTotal = model.MaintainTotal + 1;
|
||
// if (!SqlFunc.IsNullOrEmpty(model.MaintainAmbulance))
|
||
// {
|
||
// model.MaintainAmbulance += "|";
|
||
// }
|
||
// model.MaintainAmbulance += model.MaintainAmbulance;
|
||
// }
|
||
|
||
// });
|
||
|
||
// MoldeList.Add(model);
|
||
//});
|
||
#endregion
|
||
#region
|
||
string sql = string.Format(@"SELECT T1.GUID,T1.Name,
|
||
(SELECT COUNT(*) FROM dbo.T_Base_Ambulance T2 WHERE T2.HospitalGuid=T1.GUID) Total,
|
||
(SELECT COUNT(*) FROM dbo.T_Base_Ambulance T2 WHERE T2.HospitalGuid=T1.GUID AND T2.State=1) StandByTotal,
|
||
(SELECT COUNT(*) FROM dbo.T_Base_Ambulance T2 WHERE T2.HospitalGuid=T1.GUID AND T2.State=2) DrvingTotal,
|
||
(SELECT COUNT(*) FROM dbo.T_Base_Ambulance T2 WHERE T2.HospitalGuid=T1.GUID AND T2.State=3) MaintainTotal,
|
||
(SELECT PlateNumber + ',' FROM dbo.T_Base_Ambulance T2 WHERE T2.HospitalGuid = T1.GUID AND T2.State = 1 FOR XML PATH('') ) StandByAmbulance,
|
||
(SELECT PlateNumber + ',' FROM dbo.T_Base_Ambulance T2 WHERE T2.HospitalGuid = T1.GUID AND T2.State = 2 FOR XML PATH('') ) DrvingAmbulance,
|
||
(SELECT PlateNumber + ',' FROM dbo.T_Base_Ambulance T2 WHERE T2.HospitalGuid = T1.GUID AND T2.State = 3 FOR XML PATH('') ) MaintainAmbulance
|
||
FROM dbo.T_Base_Hospital T1
|
||
WHERE T1.GUID = '{0}'
|
||
OR T1.ParentGUID = '{1}'", hospitalGuid, hospitalGuid);
|
||
#endregion
|
||
DataTable dt = db.Ado.GetDataTable(sql);
|
||
string JsonStr = Help.DataTableToJsonStr(dt);
|
||
return JsonStr;
|
||
}
|
||
|
||
}
|
||
} |