报表接口修改

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")] [HttpPost, Route("ReturnAllData")]
public JsonActionResult<ReturnAll> ReturnAllData([FromBody] KeywordFilter filter) public JsonActionResult<ReturnAll> ReturnAllData([FromBody] KeywordFilter filter)
{ {
string connhead = ConfigurationManager.ConnectionStrings["head"]; //string connhead = ConfigurationManager.ConnectionStrings["head"];
JsonActionResult<ReturnAll> result = new JsonActionResult<ReturnAll>(); JsonActionResult<ReturnAll> result = new JsonActionResult<ReturnAll>();
result.Data = new ReturnAll(); result.Data = new ReturnAll();
DataTable tableRisk = new DataTable(); DataTable tableRisk = new DataTable();
@ -256,8 +256,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
DataSet ds = new DataSet(); DataSet ds = new DataSet();
GETDBDATA(strConn, listVNAME, ref ds);//获取视图 数据 listVNAME 与 ds.Tables 一一对应 GETDBDATA(strConn, listVNAME, ref ds);//获取视图 数据 listVNAME 与 ds.Tables 一一对应
result.Data.listSETrainSum = GetTrainInfo(ds.Tables[0], ListAllORG); result.Data.listSETrainSum = GetTrainInfo(ds.Tables[0], ListAllORG);
using (SqlConnection connection = new SqlConnection(strConn))
using (SqlConnection connection = new SqlConnection(connhead))
{ {
try try
{ {
@ -267,7 +266,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
SqlCommand comRisk = new SqlCommand(sqlRisk, connection); SqlCommand comRisk = new SqlCommand(sqlRisk, connection);
SqlDataAdapter riskData = new SqlDataAdapter(comRisk); SqlDataAdapter riskData = new SqlDataAdapter(comRisk);
riskData.Fill(tableRisk); riskData.Fill(tableRisk);
result.Data.riskTypeRate = RiskTypeRateData(connhead, tableRisk); result.Data.riskTypeRate = RiskTypeRateData(tableRisk);
//当日工作票排名前三 //当日工作票排名前三
string sqlJob = "select * from vhome_jobtop3_today "; string sqlJob = "select * from vhome_jobtop3_today ";
SqlCommand comJob = new SqlCommand(sqlJob, connection); SqlCommand comJob = new SqlCommand(sqlJob, connection);
@ -277,37 +276,37 @@ namespace APT.SC.WebApi.Controllers.Api.BI
SqlCommand comJobGroup = new SqlCommand(sqlJobGroup, connection); SqlCommand comJobGroup = new SqlCommand(sqlJobGroup, connection);
SqlDataAdapter jobGroupData = new SqlDataAdapter(comJobGroup); SqlDataAdapter jobGroupData = new SqlDataAdapter(comJobGroup);
jobGroupData.Fill(tableJobGroup); 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 "; string sqlHidden = "select * from vhome_hidden_data_result ";
SqlCommand comHidden = new SqlCommand(sqlHidden, connection); SqlCommand comHidden = new SqlCommand(sqlHidden, connection);
SqlDataAdapter hiddenData = new SqlDataAdapter(comHidden); SqlDataAdapter hiddenData = new SqlDataAdapter(comHidden);
hiddenData.Fill(tableHidden); hiddenData.Fill(tableHidden);
result.Data.hiddenRectify = HiddenRectifyData(connhead, tableHidden); result.Data.hiddenRectify = HiddenRectifyData(tableHidden);
//各事项排名前三 //各事项排名前三
string sqlTask = "select * from vhome_task_data_result "; string sqlTask = "select * from vhome_task_data_result ";
SqlCommand comTask = new SqlCommand(sqlTask, connection); SqlCommand comTask = new SqlCommand(sqlTask, connection);
SqlDataAdapter taskData = new SqlDataAdapter(comTask); SqlDataAdapter taskData = new SqlDataAdapter(comTask);
taskData.Fill(tableTask); taskData.Fill(tableTask);
result.Data.taskTop3 = TaskTopData(connhead, tableTask); result.Data.taskTop3 = TaskTopData(tableTask);
//作业现场完成情况统计 //作业现场完成情况统计
string sqlJobRate = "select * from vhome_jobrecord_data "; string sqlJobRate = "select * from vhome_jobrecord_data ";
SqlCommand comJobRate = new SqlCommand(sqlJobRate, connection); SqlCommand comJobRate = new SqlCommand(sqlJobRate, connection);
SqlDataAdapter jobRateData = new SqlDataAdapter(comJobRate); SqlDataAdapter jobRateData = new SqlDataAdapter(comJobRate);
jobRateData.Fill(tableJobRate); jobRateData.Fill(tableJobRate);
result.Data.jobFinishRate = jobFinishRateData(connhead, tableJobRate); result.Data.jobFinishRate = jobFinishRateData(tableJobRate);
//各公司安全检查统计 //各公司安全检查统计
string sqlSafecCheck = "select * from vhome_check_total "; string sqlSafecCheck = "select * from vhome_check_total ";
SqlCommand comSafecCheck = new SqlCommand(sqlSafecCheck, connection); SqlCommand comSafecCheck = new SqlCommand(sqlSafecCheck, connection);
SqlDataAdapter safecCheckData = new SqlDataAdapter(comSafecCheck); SqlDataAdapter safecCheckData = new SqlDataAdapter(comSafecCheck);
safecCheckData.Fill(tableSafeCheck); safecCheckData.Fill(tableSafeCheck);
result.Data.safeCheckSum = safeCheckSumData(connhead, tableSafeCheck); result.Data.safeCheckSum = safeCheckSumData(tableSafeCheck);
//各公司危险分类统计 //各公司危险分类统计
string sqlLink = "select * from vhome_operationLink_data "; string sqlLink = "select * from vhome_operationLink_data ";
SqlCommand comLink = new SqlCommand(sqlLink, connection); SqlCommand comLink = new SqlCommand(sqlLink, connection);
SqlDataAdapter linkData = new SqlDataAdapter(comLink); SqlDataAdapter linkData = new SqlDataAdapter(comLink);
linkData.Fill(tableLink); linkData.Fill(tableLink);
result.Data.linkSum = linkSumData(connhead, tableLink); result.Data.linkSum = linkSumData(tableLink);
connection.Close(); connection.Close();
} }
@ -364,7 +363,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// 风险等级占比 /// 风险等级占比
/// </summary> /// </summary>
/// <param name="filter">分页过滤实体</param> /// <param name="filter">分页过滤实体</param>
public List<RiskTypeRate> RiskTypeRateData(string connhead, DataTable Table) public List<RiskTypeRate> RiskTypeRateData(DataTable Table)
{ {
List<RiskTypeRate> result = new List<RiskTypeRate>(); List<RiskTypeRate> result = new List<RiskTypeRate>();
if (Table != null && Table.Rows.Count > 0) if (Table != null && Table.Rows.Count > 0)
@ -387,7 +386,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary> /// </summary>
/// <param name="filter">参数</param> /// <param name="filter">参数</param>
/// <returns></returns> /// <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>(); List<JobTodayTop3> result = new List<JobTodayTop3>();
var details = new List<JobTodayDetail>(); var details = new List<JobTodayDetail>();
@ -441,7 +440,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary> /// </summary>
/// <param name="filter">参数</param> /// <param name="filter">参数</param>
/// <returns></returns> /// <returns></returns>
public HiddenRectify HiddenRectifyData(string connhead, DataTable Table) public HiddenRectify HiddenRectifyData(DataTable Table)
{ {
HiddenRectify result = new HiddenRectify(); HiddenRectify result = new HiddenRectify();
if (Table != null && Table.Rows.Count > 0) if (Table != null && Table.Rows.Count > 0)
@ -459,7 +458,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary> /// </summary>
/// <param name="filter">参数</param> /// <param name="filter">参数</param>
/// <returns></returns> /// <returns></returns>
public List<TaskTop3> TaskTopData(string connhead, DataTable Table) public List<TaskTop3> TaskTopData(DataTable Table)
{ {
List<TaskTop3> result = new List<TaskTop3>(); List<TaskTop3> result = new List<TaskTop3>();
var dataTemps = new List<TaskTopTemp>(); var dataTemps = new List<TaskTopTemp>();
@ -508,7 +507,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary> /// </summary>
/// <param name="filter">参数</param> /// <param name="filter">参数</param>
/// <returns></returns> /// <returns></returns>
public List<JobFinishRate> jobFinishRateData(string connhead, DataTable Table) public List<JobFinishRate> jobFinishRateData(DataTable Table)
{ {
List<JobFinishRate> result = new List<JobFinishRate>(); List<JobFinishRate> result = new List<JobFinishRate>();
if (Table != null && Table.Rows.Count > 0) if (Table != null && Table.Rows.Count > 0)
@ -533,7 +532,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary> /// </summary>
/// <param name="filter">参数</param> /// <param name="filter">参数</param>
/// <returns></returns> /// <returns></returns>
public List<SafeCheckSum> safeCheckSumData(string connhead, DataTable Table) public List<SafeCheckSum> safeCheckSumData(DataTable Table)
{ {
List<SafeCheckSum> result = new List<SafeCheckSum>(); List<SafeCheckSum> result = new List<SafeCheckSum>();
if (Table != null && Table.Rows.Count > 0) if (Table != null && Table.Rows.Count > 0)
@ -555,7 +554,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI
/// </summary> /// </summary>
/// <param name="filter">参数</param> /// <param name="filter">参数</param>
/// <returns></returns> /// <returns></returns>
public List<LinkSum> linkSumData(string connhead, DataTable Table) public List<LinkSum> linkSumData(DataTable Table)
{ {
List<LinkSum> result = new List<LinkSum>(); List<LinkSum> result = new List<LinkSum>();
if (Table != null && Table.Rows.Count > 0) 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.Enums.PF;
using APT.BaseData.Domain.IServices; using APT.BaseData.Domain.IServices;
using APT.BaseData.Domain.IServices.FM; using APT.BaseData.Domain.IServices.FM;
using APT.BaseData.Domain.IServices.OP;
using APT.BaseData.Services.DomainServices; using APT.BaseData.Services.DomainServices;
using APT.BaseData.Services.Services.FM; using APT.BaseData.Services.Services.FM;
using APT.BaseData.Services.Services.OP;
using APT.Infrastructure.Api; using APT.Infrastructure.Api;
using APT.Infrastructure.Api.Redis; using APT.Infrastructure.Api.Redis;
using APT.Infrastructure.Core; using APT.Infrastructure.Core;
@ -180,10 +182,12 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
[Route("api/BI/BIStatiscialAnalysisController")] [Route("api/BI/BIStatiscialAnalysisController")]
public class BIStatiscialAnalysisController : AuthorizeApiController<T_FM_NOTIFICATION_TASK> public class BIStatiscialAnalysisController : AuthorizeApiController<T_FM_NOTIFICATION_TASK>
{ {
IOPTenantDBConnService OPTenantDBConnService { get; set; }
IPFApproveCallBackService ApproveCallBackService { get; set; } IPFApproveCallBackService ApproveCallBackService { get; set; }
public BIStatiscialAnalysisController(IPFApproveCallBackService approveCallBackService) public BIStatiscialAnalysisController(IPFApproveCallBackService approveCallBackService,IOPTenantDBConnService opTenantDBConnService)
{ {
ApproveCallBackService = approveCallBackService; ApproveCallBackService = approveCallBackService;
OPTenantDBConnService = opTenantDBConnService;
} }
#region #region
/// <summary> /// <summary>
@ -11183,11 +11187,12 @@ namespace APT.SC.WebApi.Controllers.Api.BIController
[HttpPost, Route("GetTaskViewInfo")] [HttpPost, Route("GetTaskViewInfo")]
public JsonActionResult<List<TaskViewInfo>> GetTaskViewInfo([FromBody] KeywordFilter filter) 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>>(); JsonActionResult<List<TaskViewInfo>> result = new JsonActionResult<List<TaskViewInfo>>();
result.Data = new List<TaskViewInfo>(); result.Data = new List<TaskViewInfo>();
DataTable Table = new DataTable(); DataTable Table = new DataTable();
using (SqlConnection connection = new SqlConnection(connhead)) using (SqlConnection connection = new SqlConnection(strConn))
{ {
try try
{ {

View File

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

View File

@ -108,7 +108,10 @@ namespace APT.SK.WebApi.Controllers.Api
deleteDetailIds.Add(t.ID); deleteDetailIds.Add(t.ID);
}); });
} }
if (details != null)
{
details = details.Where(t => !t.IS_DELETED).ToList();
}
foreach (var item in details) foreach (var item in details)
{ {
if (item.CHECK_RESULT == null) if (item.CHECK_RESULT == null)
@ -119,6 +122,26 @@ namespace APT.SK.WebApi.Controllers.Api
{ {
item.HIDDEN_LEVEL = null; 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()) if (item.Nav_CheckRecordDetailUsers != null && item.Nav_CheckRecordDetailUsers.Any())
{ {
item.Nav_CheckRecordDetailUsers = item.Nav_CheckRecordDetailUsers.OrderByDescending(t => t.Nav_User?.Nav_ApproveRole?.CODE).ToList(); item.Nav_CheckRecordDetailUsers = item.Nav_CheckRecordDetailUsers.OrderByDescending(t => t.Nav_User?.Nav_ApproveRole?.CODE).ToList();
@ -772,7 +795,12 @@ namespace APT.SK.WebApi.Controllers.Api
item.Nav_CheckRecordDetailUsers = userTemps; 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; return result;