Infrastructure/OpenAuth.WebApi/Controllers/ServiceControllers/FireManagement/FireManagementController.cs

770 lines
24 KiB
C#
Raw 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 Infrastructure;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenAuth.App.BaseApp.Base;
using OpenAuth.App.Response;
using OpenAuth.App.ServiceApp.FireManagement;
using OpenAuth.App.ServiceApp.FireManagement.Request;
using OpenAuth.App.ServiceApp.FireManagement.Response;
using OpenAuth.Repository.Domain.FireManagement;
namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
{
/// <summary>
/// 防火管理模块
/// </summary>
[Route("api/[controller]/[action]")]
[ApiController]
public class FireManagementController : ControllerBase
{
private readonly FireManagementApp _app;
public FireManagementController(FireManagementApp app)
{
_app = app;
}
/// <summary>
/// 下发防火线索任务
/// </summary>
/// <param name="info">防火任信息</param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> IssuedFireClueTask(FmFireclueTask info)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.IssuedFireClueTask(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询接收人员
/// </summary>
/// <param name="username"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<SysUserResp>>> LoadFireClueUser(string username, string unitname)
{
Response<List<SysUserResp>> response = new Response<List<SysUserResp>>();
try
{
return await _app.LoadFireClueUser(username, unitname);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询任务列表
/// </summary>
/// <param name="username"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<FmFireclueTask>>> GetTaskList()
{
Response<List<FmFireclueTask>> response = new Response<List<FmFireclueTask>>();
try
{
return await _app.GetTaskList();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 任务详情
/// </summary>
/// <param name="id"></param>
/// <param name="userid"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<FireClueTaskResp>> LoadFireTaskInfoById(long id, string userid)
{
Response<FireClueTaskResp> response = new Response<FireClueTaskResp>();
try
{
return await _app.LoadFireTaskInfoById(id, userid);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 删除任务
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteTask(long id)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.DeleteTask(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 更新任务状态
/// </summary>
/// <param name="taskid">任务id</param>
/// <param name="state">状态1-待接收2-已接收3-已完成</param>
/// <param name="recipient">接收人Id</param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> ReceiveFireClueTask(long taskid, int state, string recipient)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.ReceiveFireClueTask(taskid, state, recipient);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询人员单位信息
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<FmUserUnit>>> GetUserUnit()
{
Response<List<FmUserUnit>> response = new Response<List<FmUserUnit>>();
try
{
return await _app.GetUserUnit();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#region 人员单位管理
/// <summary>
/// 添加人员单位
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> AddUserUnit(FmUserUnit info)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.AddUserUnit(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 编辑人员单位
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> EditUserUnit(FmUserUnit info)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.EditUserUnit(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 删除人员单位
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> DeleteUserUnit(long id)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.DeleteUserUnit(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 获取单条人员单位
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<FmUserUnit>> LoadUserUnitById(long id)
{
Response<FmUserUnit> response = new Response<FmUserUnit>();
try
{
return await _app.LoadUserUnitById(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 人员单位信息导入
/// </summary>
/// <param name="formFiles"></param>
/// <returns></returns>
[HttpPost]
public Response<bool> FireUserUnitUpload(IFormFileCollection formFiles)
{
Response<bool> response = new();
try
{
return _app.FireUserUnitUpload(formFiles);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 火情线索
/// <summary>
/// 添加火情线索
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> AddFireClueInfo(FmFireclueInfo info)
{
Response<bool> response = new();
try
{
return await _app.AddFireClueInfo(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 添加火情线索日志
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> AddFireClueLogInfo(FmFireclueinfoLog info)
{
Response<bool> response = new();
try
{
return await _app.AddFireClueLogInfo(info);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询火情线索
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<FmFireclueInfo>> LoadClueInfoById(long id)
{
Response<FmFireclueInfo> response = new Response<FmFireclueInfo>();
try
{
return await _app.LoadClueInfoById(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询火情日志
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<List<FmFireclueinfoLog>>> GetFireClueLog(long id)
{
Response<List<FmFireclueinfoLog>> response = new Response<List<FmFireclueinfoLog>>();
try
{
return await _app.GetFireClueLog(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 获取火情信息和摄像机信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpGet]
public async Task<Response<dynamic>> LoadClueWithInfoById(long id)
{
Response<dynamic> response = new Response<dynamic>();
try
{
return await _app.LoadClueWithInfoById(id);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询火情线索列表
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<FmFireclueInfo>>> GetFireClueList()
{
Response<List<FmFireclueInfo>> response = new Response<List<FmFireclueInfo>>();
try
{
return await _app.GetFireClueList();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 修改火情线索状态
/// </summary>
/// <param name="id"></param>
/// <param name="state"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> UpdatFireStateById(long id, int state)
{
Response<bool> response = new Response<bool>();
try
{
return await _app.UpdatFireState(id, state);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 按日期统计火情线索
/// </summary>
/// <param name="type">1-月2-年</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<FireInfoForChart>>> GetFireClueStatistics(int type)
{
Response<List<FireInfoForChart>> response = new Response<List<FireInfoForChart>>();
try
{
return await _app.GetFireClueStatistics(type);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 按状态统计火情线索
/// </summary>
/// <param name="type">1-日2-月3-年</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<FireInfoStateForChart>>> GetFireClueStatisticsByState(int type)
{
Response<List<FireInfoStateForChart>> response = new Response<List<FireInfoStateForChart>>();
try
{
return await _app.GetFireClueStatisticsByState(type);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 按等级统计火情线索
/// </summary>
/// <param name="type">1-日2-月3-年</param>
/// <returns></returns>
[HttpGet]
public async Task<Response<List<FireInfoDegreeForChart>>> GetFireClueStatisticsByDegreeType(int type)
{
Response<List<FireInfoDegreeForChart>> response = new Response<List<FireInfoDegreeForChart>>();
try
{
return await _app.GetFireClueStatisticsByDegreeType(type);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
/// <summary>
/// 在线情况
/// </summary>
/// <param name="pageReq"></param>
/// <returns></returns>
[HttpPost]
public async Task<Response<PageInfo<dynamic>>> GetPointUserOnLine(UserOnLineReq pageReq)
{
Response<PageInfo<dynamic>> response = new Response<PageInfo<dynamic>>();
try
{
return await _app.GetPointUserOnLine(pageReq);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 添加人员坐标点
/// </summary>
/// <param name="info">坐标点</param>
/// <returns></returns>
[HttpPost]
public async Task<Response<bool>> AddPoint(FmUserPoint info)
{
return await _app.AddPointAsync(info);
}
/// <summary>
/// 地图标绘保存
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<Response<bool>> SaveMapPlotting(MapPlottingReq req)
{
if (string.IsNullOrEmpty(req.Title))
{
return new Response<bool>() { Code = 500, Message = "标题不能为空" };
}
if (string.IsNullOrEmpty(req.Description))
{
return new Response<bool>() { Code = 500, Message = "描述不能为空" };
}
return await _app.SaveMapPlotting(req);
}
/// <summary>
/// 地图村绘列表
/// </summary>
/// <param name="req"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<PageInfo<dynamic>>> GetMapPlotting([FromQuery] PageReq req)
{
return await _app.GetMapPlotting(req);
}
/// <summary>
/// 查询人员上报的线索
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="state"></param>
/// <param name="pageSize"></param>
/// <param name="userid"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<PageInfo<List<FireClueInfoResp>>>> LoadFireClueInfoByUserId(int pageIndex, int state, int pageSize, string userid)
{
return await _app.LoadFireClueInfoByUserId(pageIndex, state, pageSize, userid);
}
/// <summary>
/// 获取视频流
/// </summary>
/// <param name="deviceCode"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public string GetPreviewURLs(string deviceCode, string protocol)
{
try
{
return _app.GetPreviewURLs(deviceCode, protocol);
}
catch (Exception ex)
{
return ex.Message.ToString();
}
}
/// <summary>
/// 获取视频流---海康平台2
/// </summary>
/// <param name="deviceCode"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public string GetPreviewURLs2(string deviceCode, string protocol)
{
try
{
return _app.GetPreviewURLs2(deviceCode, protocol);
}
catch (Exception ex)
{
return ex.Message.ToString();
}
}
#region 人员类型统计查询
[HttpGet]
[AllowAnonymous]
public async Task<Response<UserTypeStatisticsRes>> GetUserTypeStatistics()
{
Response<UserTypeStatisticsRes> response = new Response<UserTypeStatisticsRes>();
try
{
return await _app.GetUserTypeStatistics();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 获取物资相关接口
/// <summary>
/// 查询全部营房信息
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public Response<List<dynamic>> GetAllYingFang()
{
Response<List<dynamic>> response = new Response<List<dynamic>>();
try
{
response.Result = _app.GetAllYingFang();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 物资储备点
/// </summary>
/// <param name="wuzi">物资名称</param>
/// <param name="areaname"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public TableData Loadwuzichubei(string wuzi, string areaname)
{
return _app.Loadwuzichubei(wuzi, areaname);
}
#endregion
#region app任务
/// <summary>
/// 查询火情任务列表
/// </summary>
/// <param name="userid"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<PageInfo<List<FireClueTaskResp>>>> LoadFireClueTaskByUserId(string userid, int pageIndex = 1, int pageSize = 10)
{
Response<PageInfo<List<FireClueTaskResp>>> response = new Response<PageInfo<List<FireClueTaskResp>>>();
try
{
return await _app.LoadFireClueTaskByUserId(userid, pageIndex, pageSize);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询所有任务
/// </summary>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<PageInfo<List<FireClueTaskResp>>>> LoadAllTask(int pageIndex = 1, int pageSize = 10)
{
Response<PageInfo<List<FireClueTaskResp>>> response = new Response<PageInfo<List<FireClueTaskResp>>>();
try
{
return await _app.LoadAllTask(pageIndex, pageSize);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询线索
/// </summary>
/// <param name="areaname"></param>
/// <param name="pageIndex"></param>
/// <param name="pageSize"></param>
/// <returns></returns>
[HttpPost]
[AllowAnonymous]
public async Task<Response<PageInfo<List<FireClueInfoResp>>>> LoadFireClueInfoByAreaName(string areaname, int pageIndex = 1, int pageSize = 10)
{
Response<PageInfo<List<FireClueInfoResp>>> response = new Response<PageInfo<List<FireClueInfoResp>>>();
try
{
return await _app.LoadFireClueInfoByAreaName(areaname, pageIndex = 1, pageSize = 10);
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
/// <summary>
/// 查询在线人员
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<Response<List<RYResApp>>> GetPointByAPP()
{
Response<List<RYResApp>> response = new Response<List<RYResApp>>();
try
{
return await _app.GetPointByAPPAsync();
}
catch (Exception ex)
{
response.Code = 500;
response.Message = ex.InnerException?.Message ?? ex.Message;
}
return response;
}
#endregion
#region 感知中心--摄像头类型
[HttpGet]
public async Task<Response<dynamic>> GetCameraCountByType()
{
try
{
return await _app.GetCameraCountByType();
}
catch (Exception ex)
{
return new Response<dynamic>
{
Result = null,
Message = ex.Message.ToString()
};
}
}
#endregion
}
}