xinjiang/SGGL/WebAPI/Controllers/HSSE/ChartAnalysisController.cs

119 lines
4.3 KiB
C#
Raw Normal View History

2024-11-19 09:45:27 +08:00
using BLL;
using System;
using System.Linq;
using System.Web.Http;
namespace WebAPI.Controllers
{
/// <summary>
/// 图型分信息
/// </summary>
public class ChartAnalysisController : ApiController
{
#region
/// <summary>
/// 根据类型获取图型数据
/// </summary>
/// <param name="projectId">项目ID</param>
/// <param name="type">1按单位2按类型</param>
/// <param name="startDate">开始时间</param>
/// <param name="endDate">结束时间</param>
/// <returns></returns>
public Model.ResponeData getChartAnalysisByType(string projectId, string type,string startDate,string endDate)
{
var responeData = new Model.ResponeData();
try
{
responeData.data = BLL.APIChartAnalysisService.getChartAnalysisByType(projectId, type, startDate, endDate);
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
2024-11-20 09:08:00 +08:00
#region ID
/// <summary>
/// 根据项目ID 获取整改单数据
/// </summary>
/// <param name="projectId">项目ID</param>
/// <returns></returns>
public Model.ResponeData getHSSERectifyNoticesChartAnalysis(string projectId)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
int allCount = 0, uCount = 0, cCount = 0;
double rate = 1;
var getRectifyNotices = from x in db.Check_RectifyNotices
where x.States != Const.State_0 && x.States != null && x.ProjectId == projectId
select x;
if (!string.IsNullOrEmpty(projectId) && projectId != "")
{
getRectifyNotices = getRectifyNotices.Where(x => x.ProjectId == projectId);
}
//// 整改总数
allCount = getRectifyNotices.Count();
if (allCount > 0)
{
//// 已闭环
cCount = getRectifyNotices.Where(x => x.States == "5").Count();
uCount = allCount - cCount;
rate = Math.Round(uCount * 1.0 / allCount * 100, 1);
}
responeData.data = new { allCount, uCount, rate };
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
#region ID
/// <summary>
/// 根据项目ID 获取整改单数据
/// </summary>
/// <param name="projectId">项目ID</param>
/// <returns></returns>
public Model.ResponeData getHSSEPersonQualityChartAnalysis(string projectId)
{
var responeData = new Model.ResponeData();
try
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
int allCount = 0;
var getPersonQualitys = from x in db.QualityAudit_PersonQuality
join y in db.SitePerson_Person on x.PersonId equals y.PersonId
where (projectId == null || projectId == "" || y.ProjectId == projectId)
&& x.LimitDate.HasValue && x.LimitDate < DateTime.Now
select x;
//// 预警人数
allCount = getPersonQualitys.Count();
responeData.data = new { allCount };
}
}
catch (Exception ex)
{
responeData.code = 0;
responeData.message = ex.Message;
}
return responeData;
}
#endregion
2024-11-19 09:45:27 +08:00
}
}