火情处理与等级
parent
dae0f1283b
commit
7dcfc25d1e
|
|
@ -211,6 +211,103 @@ namespace OpenAuth.App.ServiceApp.FireManagement
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<Response<List<FireInfoStateForChart>>> GetFireClueStatisticsByState(int type)
|
||||
{
|
||||
using (var db = base.UnitWork.CreateContext())
|
||||
{
|
||||
if (type == 1)
|
||||
{
|
||||
DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
|
||||
var list = await db.FmFireclueInfo.AsQueryable()
|
||||
.Where(r => r.ReportTime >= firstDayOfMonth)
|
||||
.GroupBy(r => new { r.ReportTime.Day })
|
||||
.Select(r => new FireInfoStateForChart
|
||||
{
|
||||
DateTime = r.ReportTime.Day.ToString() + "日",
|
||||
TreatedCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.State >= 3, 1, 0)),
|
||||
UntreatedCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.State < 3, 1, 0))
|
||||
}).ToListAsync();
|
||||
return new Response<List<FireInfoStateForChart>> { Result = list };
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
DateTime firstDayOfYear = new DateTime(DateTime.Now.Year, 1, 1);
|
||||
var list = await db.FmFireclueInfo.AsQueryable()
|
||||
.Where(r => r.ReportTime >= firstDayOfYear)
|
||||
.GroupBy(r => new { r.ReportTime.Month })
|
||||
.Select(r => new FireInfoStateForChart
|
||||
{
|
||||
DateTime = r.ReportTime.Month.ToString() + "月",
|
||||
TreatedCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.State >= 3, 1, 0)),
|
||||
UntreatedCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.State < 3, 1, 0))
|
||||
}).ToListAsync();
|
||||
return new Response<List<FireInfoStateForChart>> { Result = list };
|
||||
}
|
||||
else
|
||||
{
|
||||
DateTime firstDayOfYear = DateTime.Now.AddYears(-3);
|
||||
var list = await db.FmFireclueInfo.AsQueryable()
|
||||
.Where(r => r.ReportTime >= firstDayOfYear)
|
||||
.GroupBy(r => new { r.ReportTime.Year })
|
||||
.Select(r => new FireInfoStateForChart
|
||||
{
|
||||
DateTime = r.ReportTime.Year.ToString() + "年",
|
||||
TreatedCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.State >= 3, 1, 0)),
|
||||
UntreatedCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.State < 3, 1, 0))
|
||||
}).ToListAsync();
|
||||
return new Response<List<FireInfoStateForChart>> { Result = list };
|
||||
}
|
||||
}
|
||||
}
|
||||
public async Task<Response<List<FireInfoDegreeForChart>>> GetFireClueStatisticsByDegreeType(int type)
|
||||
{
|
||||
using (var db = base.UnitWork.CreateContext())
|
||||
{
|
||||
if (type == 1)
|
||||
{
|
||||
DateTime firstDayOfMonth = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
|
||||
var list = await db.FmFireclueInfo.AsQueryable()
|
||||
.Where(r => r.ReportTime >= firstDayOfMonth)
|
||||
.GroupBy(r => new { r.ReportTime.Day })
|
||||
.Select(r => new FireInfoDegreeForChart
|
||||
{
|
||||
DateTime = r.ReportTime.Day.ToString() + "日",
|
||||
ExtraLargeCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.DegreeType == 1, 1, 0)),
|
||||
LargeCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.DegreeType == 2, 1, 0))
|
||||
}).ToListAsync();
|
||||
return new Response<List<FireInfoDegreeForChart>> { Result = list };
|
||||
}
|
||||
else if (type == 2)
|
||||
{
|
||||
DateTime firstDayOfYear = new DateTime(DateTime.Now.Year, 1, 1);
|
||||
var list = await db.FmFireclueInfo.AsQueryable()
|
||||
.Where(r => r.ReportTime >= firstDayOfYear)
|
||||
.GroupBy(r => new { r.ReportTime.Month })
|
||||
.Select(r => new FireInfoDegreeForChart
|
||||
{
|
||||
DateTime = r.ReportTime.Month.ToString() + "月",
|
||||
ExtraLargeCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.DegreeType == 1, 1, 0)),
|
||||
LargeCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.DegreeType == 2, 1, 0))
|
||||
}).ToListAsync();
|
||||
return new Response<List<FireInfoDegreeForChart>> { Result = list };
|
||||
}
|
||||
else
|
||||
{
|
||||
DateTime firstDayOfYear = DateTime.Now.AddYears(-3);
|
||||
var list = await db.FmFireclueInfo.AsQueryable()
|
||||
.Where(r => r.ReportTime >= firstDayOfYear)
|
||||
.GroupBy(r => new { r.ReportTime.Year })
|
||||
.Select(r => new FireInfoDegreeForChart
|
||||
{
|
||||
DateTime = r.ReportTime.Year.ToString() + "年",
|
||||
ExtraLargeCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.DegreeType == 1, 1, 0)),
|
||||
LargeCount = SqlFunc.AggregateSum(SqlFunc.IIF(r.DegreeType == 2, 1, 0))
|
||||
}).ToListAsync();
|
||||
return new Response<List<FireInfoDegreeForChart>> { Result = list };
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.App.ServiceApp.FireManagement.Response
|
||||
{
|
||||
public class FireInfoDegreeForChart
|
||||
{
|
||||
public string DateTime { get; set; }
|
||||
public int ExtraLargeCount { get; set; }
|
||||
public int LargeCount { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenAuth.App.ServiceApp.FireManagement.Response
|
||||
{
|
||||
public class FireInfoStateForChart
|
||||
{
|
||||
public string DateTime { get; set; }
|
||||
public int TreatedCount { get; set; }
|
||||
public int UntreatedCount { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -99,5 +99,9 @@ namespace OpenAuth.Repository.Domain.FireManagement
|
|||
/// 音频
|
||||
/// </summary>
|
||||
public string Audio { get; set; }
|
||||
/// <summary>
|
||||
/// 程度类型1-特大,2-重大,3-其他
|
||||
/// </summary>
|
||||
public int DegreeType { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -168,7 +168,6 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
|
|||
/// <param name="type">1-月,2-年</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public async Task<Response<List<FireInfoForChart>>> GetFireClueStatistics(int type)
|
||||
{
|
||||
Response<List<FireInfoForChart>> response = new Response<List<FireInfoForChart>>();
|
||||
|
|
@ -183,6 +182,48 @@ namespace OpenAuth.WebApi.Controllers.ServiceControllers.FireManagement
|
|||
}
|
||||
return response;
|
||||
}
|
||||
/// <summary>
|
||||
/// 按状态统计火情线索
|
||||
/// </summary>
|
||||
/// <param name="type"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
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"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
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
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue