178 lines
6.7 KiB
C#
178 lines
6.7 KiB
C#
using HL_FristAidPlatform_DataBase;
|
|
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_Bussiness
|
|
{
|
|
public class AlarmInfoBLL
|
|
{
|
|
IAlarmInfoService IService = new AlarmInfoService();
|
|
private IT_SYS_User IPerService = new T_SYS_UserDB();
|
|
private IT_Service_FirstAid_AlarmTaskInfo ITask = new T_Service_FirstAid_AlarmTaskInfoDB();
|
|
|
|
/// <summary>
|
|
/// 保存接警信息
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public int SaveAlarmInfoTran(AlarmInfoModel model)
|
|
{
|
|
//1.接警信息
|
|
T_Service_FirstAid_AlarmInfo info = new T_Service_FirstAid_AlarmInfo();
|
|
info.GUID = Guid.NewGuid().ToString();
|
|
info.CallHospitalGuid = model.CallHospitalGuid;
|
|
//info.ToAddress = model.ToAddress;
|
|
info.HospitalGuid = model.HospitalGuid;
|
|
info.WaitingAddress = model.WaitingAddress;
|
|
info.CallAddress = model.CallAddress;
|
|
info.CallType = model.CallType;
|
|
info.CallTime = model.CallTime;
|
|
info.PoliceReceiver = model.PoliceReceiver;
|
|
info.PatientsNumber = model.PatientsNumber;
|
|
info.IsConsciousness = model.IsConsciousness;
|
|
info.PoliceCall = model.PoliceCall;
|
|
info.ChiefComplaint = model.ChiefComplaint;
|
|
info.Pathogeny = model.Pathogeny;
|
|
info.AccidentGUID = model.AccidentGUID;
|
|
info.AccidentLeveGUID = model.AccidentLeveGUID;
|
|
info.IsAccident = model.AccidentLeveGUID != null ? 1 : 0;
|
|
info.Name = model.Name;
|
|
info.Age = model.Age;
|
|
info.Gender = model.Gender;
|
|
info.Phone = model.Phone;
|
|
info.Address = model.Address;
|
|
info.CreationID = model.PoliceReceiver;
|
|
info.DispatchNo = model.DispatchNo;
|
|
|
|
//出动车辆===> 多个车辆多个任务 ;出车人员
|
|
List<T_Base_Ambulance> ambulanceList = new List<T_Base_Ambulance>();
|
|
List<T_Service_FirstAid_AlarmTaskInfo> taskList = new List<T_Service_FirstAid_AlarmTaskInfo>();
|
|
List<T_SYS_User> perList = new List<T_SYS_User>();
|
|
if (!SqlFunc.IsNullOrEmpty(model.AmbulanceGUID))
|
|
{
|
|
string[] arry = model.AmbulanceGUID.Split(new char[] { ',' });
|
|
|
|
for (int i = 0; i < arry.Length; i++)
|
|
{
|
|
T_Base_Ambulance ambulance = new T_Base_Ambulance();
|
|
ambulance.GUID = arry[i];
|
|
ambulanceList.Add(ambulance);
|
|
T_Service_FirstAid_AlarmTaskInfo task = new T_Service_FirstAid_AlarmTaskInfo();
|
|
task.AlarmGuid = info.GUID;
|
|
task.CallTime = info.CallTime;
|
|
task.VehicleGUID = arry[i];
|
|
if (model.Falg == 1)
|
|
{
|
|
task.TaskState = 1;
|
|
task.TaskProgress = 0;
|
|
task.ConfirmDatetime = DateTime.Now;
|
|
}
|
|
else
|
|
{
|
|
task.TaskState = 0;
|
|
task.TaskProgress = -1;
|
|
}
|
|
|
|
task.GUID = Guid.NewGuid().ToString();
|
|
var res = IPerService.GetPerofAmbulance(arry[i]).ToList();
|
|
res.ForEach(i =>
|
|
{
|
|
T_SYS_User per = new T_SYS_User();
|
|
per.State = 2;
|
|
per.GUID = i.GUID;
|
|
per.VehicleGUID = ambulance.GUID;
|
|
perList.Add(per);
|
|
if (i.Position == 3) task.DriverGUID = i.GUID;
|
|
if (i.Position == 2) task.DoctorGUID = i.GUID;
|
|
if (i.Position == 1) task.NurseGUID = i.GUID;
|
|
|
|
});
|
|
taskList.Add(task);
|
|
}
|
|
}
|
|
|
|
return IService.SaveAlarmInfoTran(info, ambulanceList, taskList, perList);
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 更改出警任务出车人员
|
|
/// </summary>
|
|
/// <param name="info"></param>
|
|
/// <param name="user"></param>
|
|
/// <returns></returns>
|
|
public MessageModel<bool> UpdateDrvingpPersonnel(UpdateDrvingpPersonnelModel model)
|
|
{
|
|
var taks = ITask.GetTaskInfoByGuid(model.GUID);
|
|
if (taks == null)
|
|
{
|
|
return new MessageModel<bool> { Success = false, Msg = "没有找该任务GUID的数据" };
|
|
}
|
|
if (taks.DrivingTime != null)
|
|
{
|
|
return new MessageModel<bool> { Success = false, Msg = "该任务已经开始无法更改人员" };
|
|
}
|
|
T_SYS_User user1 = new T_SYS_User();
|
|
switch (model.Type)
|
|
{
|
|
case 0:
|
|
user1 = IPerService.GetUserByGuid(taks.DriverGUID);
|
|
break;
|
|
case 1:
|
|
user1 = IPerService.GetUserByGuid(taks.DoctorGUID);
|
|
break;
|
|
case 2:
|
|
user1 = IPerService.GetUserByGuid(taks.NurseGUID);
|
|
break;
|
|
}
|
|
var userinfo = IPerService.GetUserByGuid(model.DrvingUserGUID);
|
|
if (userinfo == null)
|
|
{
|
|
return new MessageModel<bool> { Success = false, Msg = "没有找该用户GUID的数据" };
|
|
}
|
|
|
|
T_Service_FirstAid_AlarmTaskInfo info = new T_Service_FirstAid_AlarmTaskInfo();
|
|
info.GUID = taks.GUID;
|
|
switch (model.Type)
|
|
{
|
|
case 0:
|
|
info.DriverGUID = model.DrvingUserGUID;
|
|
break;
|
|
case 1:
|
|
info.DoctorGUID = model.DrvingUserGUID;
|
|
break;
|
|
case 2:
|
|
info.NurseGUID = model.DrvingUserGUID;
|
|
break;
|
|
}
|
|
|
|
T_SYS_User user = new T_SYS_User();
|
|
user.ID = userinfo.ID;
|
|
user.VehicleGUID = taks.VehicleGUID;
|
|
user.State = 2;
|
|
|
|
if (user1 != null)
|
|
{
|
|
user1.State = 1;
|
|
user1.VehicleGUID = "";
|
|
}
|
|
|
|
if (IService.UpdateDrvingpPersonnel(info, user, user1))
|
|
{
|
|
return new MessageModel<bool> { Success = true, Msg = "操作成功" };
|
|
}
|
|
else
|
|
{
|
|
return new MessageModel<bool> { Success = false, Msg = "操作失败" };
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|