StableVersion4.3/HL_FristAidPlatform_Bussiness/Service/T_Service_FirstAid_AlarmTas...

296 lines
10 KiB
C#
Raw Permalink Normal View History

2024-03-11 09:47:34 +08:00
using HL_FristAidPlatform_DataBase;
using HL_FristAidPlatform_Help;
using HL_FristAidPlatform_IDataBase;
using HL_FristAidPlatform_Models;
namespace HL_FristAidPlatform_Bussiness
{
public class T_Service_FirstAid_AlarmTaskInfoBLL
{
private IT_Service_FirstAid_AlarmTaskInfo IService = new T_Service_FirstAid_AlarmTaskInfoDB();
/// <summary>
/// 获取当天出车调度信息
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public string GetTaskInfo(string guid)
{
return IService.GetTaskInfo(guid);
}
/// <summary>
/// 当天正在进行的出车任务列表
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public TableModel<AlarmTaskInfoModel> GetTaskInfoTop8(string guid)
{
return IService.GetTaskInfoTop8(guid);
}
/// <summary>
/// 当天正在进行的出车任务列表
/// </summary>
/// <param name="guid"></param>
/// <param name="hospitalGuid">派车医院</param>
/// <param name="plateNumber"></param>
/// <param name="taskState"> -1 全部 0等待任务开始 1 任务开始 2 途中待命 3 站内待命 4 中止任务 5 暂停调用 6 恢复调用 7 已交接</param>
/// <param name="transport">-1 全部 0 否 1 是</param>
/// <returns></returns>
public TableModel<AlarmTaskInfoModel> GetTaskInfoList(string guid, string hospitalGuid, string plateNumber, int taskState, int transport)
{
return IService.GetTaskInfoList(guid, hospitalGuid, plateNumber, taskState, transport);
}
/// <summary>
/// 获取任务详情
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public TableModel<TaskDetailModel> GetTaskDetail(string guid)
{
return IService.GetTaskDetail(guid);
}
/// <summary>
/// 确认接收指令
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public bool ConfirmTakeOrderse(string guid)
{
return IService.ConfirmTakeOrderse(guid);
}
/// <summary>
/// 当前任务分类统计
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public TableModel<TaskStatisticsModel> GetTaskStatistics(string guid)
{
return IService.GetTaskStatistics(guid);
}
/// <summary>
/// 更新派车任务时间
/// </summary>
/// <param name="guid"></param>
/// <param name="type"></param>
/// <returns></returns>
public string UpdateTime(string guid, int type, string toAddress, string time)
{
var taskinfo = IService.GetTask(guid);
if (taskinfo == null)
{
return "该任务不存在";
}
if (string.IsNullOrEmpty(taskinfo.DoctorGUID))
{
return "请选择一个出车司机";
}
if (string.IsNullOrEmpty(taskinfo.DoctorGUID))
{
return "请选择一名出车医生";
}
if (string.IsNullOrEmpty(taskinfo.NurseGUID))
{
return "请选择一名出车护士";
}
return IService.UpdateTime(guid, type, toAddress, time);
}
/// <summary>
/// 更新让任务状态
/// </summary>
/// <param name="guid"></param>
/// <param name="taskState"></param>
/// <returns></returns>
public MessageModel<bool> UpdateTaskState(string guid, int taskState, string reason, long userId)
{
var info = IService.GetTask(guid);
if (info == null)
{
return new MessageModel<bool> { Success = false, Msg = "找不到该任务信息" };
}
if (info.TaskState == 5 && taskState != 6)
{
return new MessageModel<bool> { Success = false, Msg = "目前状态为暂停调用,请先恢复调用后再进行操作" };
}
if (taskState == 3 && info.ArrivalTime != null)
{
return new MessageModel<bool> { Success = false, Msg = "车辆已到达现场,无法变更为站内待命" };
}
if (taskState == 6 && info.TaskState != 5)
{
return new MessageModel<bool> { Success = false, Msg = "当前状态非暂停调用,不需要该操作" };
}
if (IService.UpdateTaskState(guid, taskState, reason, userId))
{
return new MessageModel<bool> { Success = true, Msg = "操作成功" };
}
else
{
return new MessageModel<bool> { Success = false, Msg = "操作失败" };
}
}
/// <summary>
/// 保存任务中止原因
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public MessageModel<bool> SaveVehicleCall(T_Service_FirstAid_VehicleCallRunning model)
{
var task = IService.GetTask(model.TaskGUID);
if (task == null)
{
return new MessageModel<bool> { Success = false, Msg = "找不到该任务信息" };
}
model.GUID = task.GUID;
model.VehicleGUID = task.VehicleGUID;
if (IService.SaveVehicleCall(model))
{
return new MessageModel<bool> { Success = true, Msg = "保存成功" };
}
else
{
return new MessageModel<bool> { Success = false, Msg = "保存失败" };
}
}
/// <summary>
/// 更新异常原因
/// </summary>
/// <param name="guid"></param>
/// <param name="reason"></param>
/// <returns></returns>
public MessageModel<bool> UpdateAbnormalReason(string guid, string reason)
{
if (IService.UpdateAbnormalReason(guid, reason))
{
return new MessageModel<bool> { Success = true, Msg = "操作成功" };
}
else
{
return new MessageModel<bool> { Success = true, Msg = "操作失败" };
}
}
/// <summary>
/// 更新转送地址
/// </summary>
/// <param name="guid"></param>
/// <param name="address"></param>
/// <returns></returns>
public MessageModel<bool> UpdateTransportAddress(string guid, string address)
{
if (IService.UpdateTransportAddress(guid, address))
{
return new MessageModel<bool> { Success = true, Msg = "操作成功" };
}
else
{
return new MessageModel<bool> { Success = true, Msg = "失败" };
}
}
/// <summary>
/// 获取待交接任务列表
/// </summary>
/// <returns></returns>
public TableModel<ToBeHandoverTaskModel> GetToBeHandoverTaskList(string hospitalGUID)
{
return IService.GetToBeHandoverTaskList(hospitalGUID);
}
/// <summary>
/// 根据当前登陆用户获取该用户对于任务详情
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public TableModel<TaskDetailModel> GetTaskByUserID(long userId)
{
return IService.GetTaskByUserID(userId);
}
/// <summary>
/// 已交接的任务(急诊分诊)
/// </summary>
/// <param name="hospitalGuid"></param>
/// <param name="time1"></param>
/// <param name="time2"></param>
/// <param name="name"></param>
/// <param name="gender"></param>
/// <param name="sness"></param>
/// <param name="accidentType"></param>
/// <param name="abnormal"></param>
/// <param name="transport"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
public TableModel<AlarmTaskInfoFinishModel> GetAlarmTaskInfoFinishList(string hospitalGuid, string time1, string time2, int accidentType, int transport, string ambulanceGuid, int pageIndex, int pageSize)
{
return IService.GetAlarmTaskInfoFinishList(hospitalGuid, time1, time2, accidentType, transport, ambulanceGuid, pageIndex, pageSize);
}
/// <summary>
/// 根据任务GUID获取患者信息分诊
/// </summary>
/// <param name="guid"></param>
/// <returns></returns>
public TableModel<PreTriageModel> GetInfoByTaskGuid(string guid)
{
return IService.GetInfoByTaskGuid(guid);
}
/// <summary>
/// 根据当前登陆用户获取该用户对于任务历史
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public TableModel<AlarmTaskModel> GetTaskHistoryListByUserId(long userId, int pageIndex, int pageSize)
{
return IService.GetTaskHistoryListByUserId(userId, pageIndex, pageSize);
}
/// <summary>
/// 清除更新的时间
/// </summary>
/// <param name="guid">任务guid</param>
/// <param name="type">0</param>
/// <returns></returns>
public MessageModel<bool> WithdrawAlarmTaskTime(string guid, int type)
{
var info = IService.GetTask(guid);
if (info == null)
{
return new MessageModel<bool> { Success = false, Msg = "该任务不存在" };
}
if (info.TaskState == 8)
{
return new MessageModel<bool> { Success = false, Msg = "任务已经交接,不能修改" };
}
if (IService.WithdrawAlarmTaskTime(guid, type))
{
return new MessageModel<bool> { Success = true, Msg = "操作成功" };
}
else
{
return new MessageModel<bool> { Success = false, Msg = "操作失败" };
}
}
}
}