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
|
|
|
|
}
|
|
|
|
|
}
|