报表接口修改

This commit is contained in:
何美荣 2026-03-02 11:34:10 +08:00
parent 005630c792
commit fe9550cadc
4 changed files with 61 additions and 25 deletions

View File

@ -237,7 +237,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
[HttpPost, Route("ReturnAllData")]
public JsonActionResult<ReturnAll> ReturnAllData([FromBody] KeywordFilter filter)
{
string connhead = ConfigurationManager.ConnectionStrings["head"];
//string connhead = ConfigurationManager.ConnectionStrings["head"];
JsonActionResult<ReturnAll> result = new JsonActionResult<ReturnAll>();
result.Data = new ReturnAll();
DataTable tableRisk = new DataTable();
@ -256,8 +256,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
DataSet ds = new DataSet();
GETDBDATA(strConn, listVNAME, ref ds);//获取视图 数据 listVNAME 与 ds.Tables 一一对应
result.Data.listSETrainSum = GetTrainInfo(ds.Tables[0], ListAllORG);
using (SqlConnection connection = new SqlConnection(connhead))
using (SqlConnection connection = new SqlConnection(strConn))
{
try
{
@ -267,7 +266,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
SqlCommand comRisk = new SqlCommand(sqlRisk, connection);
SqlDataAdapter riskData = new SqlDataAdapter(comRisk);
riskData.Fill(tableRisk);
result.Data.riskTypeRate = RiskTypeRateData(connhead, tableRisk);
result.Data.riskTypeRate = RiskTypeRateData(tableRisk);
//当日工作票排名前三
string sqlJob = "select * from vhome_jobtop3_today ";
SqlCommand comJob = new SqlCommand(sqlJob, connection);
@ -277,37 +276,37 @@ namespace APT.SC.WebApi.Controllers.Api.BI
SqlCommand comJobGroup = new SqlCommand(sqlJobGroup, connection);
SqlDataAdapter jobGroupData = new SqlDataAdapter(comJobGroup);
jobGroupData.Fill(tableJobGroup);
result.Data.jobTodayTop3 = JobTodayTopData(connhead, filter.OrgId.Value, tableJob, tableJobGroup);
result.Data.jobTodayTop3 = JobTodayTopData(filter.OrgId.Value, tableJob, tableJobGroup);
//隐患整改率
string sqlHidden = "select * from vhome_hidden_data_result ";
SqlCommand comHidden = new SqlCommand(sqlHidden, connection);
SqlDataAdapter hiddenData = new SqlDataAdapter(comHidden);
hiddenData.Fill(tableHidden);
result.Data.hiddenRectify = HiddenRectifyData(connhead, tableHidden);
result.Data.hiddenRectify = HiddenRectifyData(tableHidden);
//各事项排名前三
string sqlTask = "select * from vhome_task_data_result ";
SqlCommand comTask = new SqlCommand(sqlTask, connection);
SqlDataAdapter taskData = new SqlDataAdapter(comTask);
taskData.Fill(tableTask);
result.Data.taskTop3 = TaskTopData(connhead, tableTask);
result.Data.taskTop3 = TaskTopData(tableTask);
//作业现场完成情况统计
string sqlJobRate = "select * from vhome_jobrecord_data ";
SqlCommand comJobRate = new SqlCommand(sqlJobRate, connection);
SqlDataAdapter jobRateData = new SqlDataAdapter(comJobRate);
jobRateData.Fill(tableJobRate);
result.Data.jobFinishRate = jobFinishRateData(connhead, tableJobRate);
result.Data.jobFinishRate = jobFinishRateData(tableJobRate);
//各公司安全检查统计
string sqlSafecCheck = "select * from vhome_check_total ";
SqlCommand comSafecCheck = new SqlCommand(sqlSafecCheck, connection);
SqlDataAdapter safecCheckData = new SqlDataAdapter(comSafecCheck);
safecCheckData.Fill(tableSafeCheck);
result.Data.safeCheckSum = safeCheckSumData(connhead, tableSafeCheck);
result.Data.safeCheckSum = safeCheckSumData(tableSafeCheck);
//各公司危险分类统计
string sqlLink = "select * from vhome_operationLink_data ";
SqlCommand comLink = new SqlCommand(sqlLink, connection);
SqlDataAdapter linkData = new SqlDataAdapter(comLink);
linkData.Fill(tableLink);
result.Data.linkSum = linkSumData(connhead, tableLink);
result.Data.linkSum = linkSumData(tableLink);
connection.Close();
}
@ -364,7 +363,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// 风险等级占比
/// </summary>
/// <param name="filter">分页过滤实体</param>
public List<RiskTypeRate> RiskTypeRateData(string connhead, DataTable Table)
public List<RiskTypeRate> RiskTypeRateData(DataTable Table)
{
List<RiskTypeRate> result = new List<RiskTypeRate>();
if (Table != null && Table.Rows.Count > 0)
@ -387,7 +386,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary>
/// <param name="filter">参数</param>
/// <returns></returns>
public List<JobTodayTop3> JobTodayTopData(string connhead, Guid orgId, DataTable Table, DataTable Table2)
public List<JobTodayTop3> JobTodayTopData(Guid orgId, DataTable Table, DataTable Table2)
{
List<JobTodayTop3> result = new List<JobTodayTop3>();
var details = new List<JobTodayDetail>();
@ -441,7 +440,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary>
/// <param name="filter">参数</param>
/// <returns></returns>
public HiddenRectify HiddenRectifyData(string connhead, DataTable Table)
public HiddenRectify HiddenRectifyData(DataTable Table)
{
HiddenRectify result = new HiddenRectify();
if (Table != null && Table.Rows.Count > 0)
@ -459,7 +458,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary>
/// <param name="filter">参数</param>
/// <returns></returns>
public List<TaskTop3> TaskTopData(string connhead, DataTable Table)
public List<TaskTop3> TaskTopData(DataTable Table)
{
List<TaskTop3> result = new List<TaskTop3>();
var dataTemps = new List<TaskTopTemp>();
@ -508,7 +507,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary>
/// <param name="filter">参数</param>
/// <returns></returns>
public List<JobFinishRate> jobFinishRateData(string connhead, DataTable Table)
public List<JobFinishRate> jobFinishRateData(DataTable Table)
{
List<JobFinishRate> result = new List<JobFinishRate>();
if (Table != null && Table.Rows.Count > 0)
@ -533,7 +532,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary>
/// <param name="filter">参数</param>
/// <returns></returns>
public List<SafeCheckSum> safeCheckSumData(string connhead, DataTable Table)
public List<SafeCheckSum> safeCheckSumData(DataTable Table)
{
List<SafeCheckSum> result = new List<SafeCheckSum>();
if (Table != null && Table.Rows.Count > 0)
@ -555,7 +554,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary>
/// <param name="filter">参数</param>
/// <returns></returns>
public List<LinkSum> linkSumData(string connhead, DataTable Table)
public List<LinkSum> linkSumData(DataTable Table)
{
List<LinkSum> result = new List<LinkSum>();
if (Table != null && Table.Rows.Count > 0)

View File

@ -6,8 +6,10 @@ using APT.BaseData.Domain.Enums;
using APT.BaseData.Domain.Enums.PF;
using APT.BaseData.Domain.IServices;
using APT.BaseData.Domain.IServices.FM;
using APT.BaseData.Domain.IServices.OP;
using APT.BaseData.Services.DomainServices;
using APT.BaseData.Services.Services.FM;
using APT.BaseData.Services.Services.OP;
using APT.Infrastructure.Api;
using APT.Infrastructure.Api.Redis;
using APT.Infrastructure.Core;
@ -179,11 +181,13 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
/// </summary>
[Route("api/BI/BIStatiscialAnalysisController")]
public class BIStatiscialAnalysisController : AuthorizeApiController<T_FM_NOTIFICATION_TASK>
{
{
IOPTenantDBConnService OPTenantDBConnService { get; set; }
IPFApproveCallBackService ApproveCallBackService { get; set; }
public BIStatiscialAnalysisController(IPFApproveCallBackService approveCallBackService)
public BIStatiscialAnalysisController(IPFApproveCallBackService approveCallBackService,IOPTenantDBConnService opTenantDBConnService)
{
ApproveCallBackService = approveCallBackService;
ApproveCallBackService = approveCallBackService;
OPTenantDBConnService = opTenantDBConnService;
}
#region
/// <summary>
@ -11183,11 +11187,12 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
[HttpPost, Route("GetTaskViewInfo")]
public JsonActionResult<List<TaskViewInfo>> GetTaskViewInfo([FromBody] KeywordFilter filter)
{
string connhead = ConfigurationManager.ConnectionStrings["head"];
//string connhead = ConfigurationManager.ConnectionStrings["head"];
string strConn = OPTenantDBConnService.GetConnByORGID(filter.OrgId.Value);//获取数据库链接
JsonActionResult<List<TaskViewInfo>> result = new JsonActionResult<List<TaskViewInfo>>();
result.Data = new List<TaskViewInfo>();
DataTable Table = new DataTable();
using (SqlConnection connection = new SqlConnection(connhead))
using (SqlConnection connection = new SqlConnection(strConn))
{
try
{

View File

@ -506,6 +506,10 @@ namespace APT.SK.WebApi.Controllers.Api
deleteDetailIds.Add(t.ID);
});
}
if (details != null)
{
details = details.Where(t => !t.IS_DELETED).ToList();
}
foreach (var item in details)
{
if (item.CHECK_RESULT == null)

View File

@ -107,8 +107,11 @@ namespace APT.SK.WebApi.Controllers.Api
}
deleteDetailIds.Add(t.ID);
});
}
if (details != null)
{
details = details.Where(t => !t.IS_DELETED).ToList();
}
foreach (var item in details)
{
if (item.CHECK_RESULT == null)
@ -118,6 +121,26 @@ namespace APT.SK.WebApi.Controllers.Api
if (item.CHECK_RESULT == SKCheckResultEnum.None)
{
item.HIDDEN_LEVEL = null;
}
var isExsists = details.FirstOrDefault(t => t.CHECK_RESULT == SKCheckResultEnum.Yes && (t.CHECK_QUESTION_ID == null || t.HIDDEN_LEVEL == null || t.HIDDEN_PLACE == null));
if (isExsists != null)
{
throw new Exception("有隐患必须选择隐患描述和隐患等级隐患地点");
}
var isExsistFirsts = details.FirstOrDefault(t => t.CHECK_RESULT == SKCheckResultEnum.Yes && (t.Nav_CheckRecordDetailFiles == null || !t.Nav_CheckRecordDetailFiles.Any()));
if (isExsistFirsts != null)
{
throw new Exception("有隐患必须上传隐患照片");
}
var noExsists = details.FirstOrDefault(t => t.CHECK_RESULT != SKCheckResultEnum.Yes && (t.CHECK_QUESTION_ID != null || t.HIDDEN_LEVEL != null || t.HIDDEN_PLACE != null));
if (noExsists != null)
{
throw new Exception("无隐患、不涉及无需填写隐患描述和隐患等级隐患地点,请确认检查情况");
}
var noExsistTwos = details.FirstOrDefault(t => t.CHECK_RESULT != SKCheckResultEnum.Yes && t.Nav_CheckRecordDetailFiles != null && t.Nav_CheckRecordDetailFiles.Where(m => !m.IS_DELETED).Any());
if (noExsistTwos != null)
{
throw new Exception("无隐患、不涉及无需上传隐患照片");
}
if (item.Nav_CheckRecordDetailUsers != null && item.Nav_CheckRecordDetailUsers.Any())
{
@ -771,8 +794,13 @@ namespace APT.SK.WebApi.Controllers.Api
}
item.Nav_CheckRecordDetailUsers = userTemps;
}
result.Nav_CheckRecordDetails = details.OrderByDescending(t=>t.CHECK_RESULT).ToList();
}
//有隐患的排前面
var tempsYes = result.Nav_CheckRecordDetails.Where(t => t.CHECK_RESULT == SKCheckResultEnum.Yes).OrderBy(m => m.RISK_AREA_ID).ToList();
var tempsNo = result.Nav_CheckRecordDetails.Where(t => t.CHECK_RESULT != SKCheckResultEnum.Yes).OrderBy(m => m.RISK_AREA_ID).ToList();
tempsYes.AddRange(tempsNo);
result.Nav_CheckRecordDetails = tempsYes.OrderByDescending(n => (int)n.MARK).ToList();
//result.Nav_CheckRecordDetails = details.OrderByDescending(t=>t.CHECK_RESULT).ToList();
}
}
return result;