From fe9550cadcb2d3edd3539547899c077bb7304cbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=95=E7=BE=8E=E8=8D=A3?= <10755671+mei-rong-he@user.noreply.gitee.com> Date: Mon, 2 Mar 2026 11:34:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E6=8E=A5=E5=8F=A3=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/BIController/BIKanBanController.cs | 33 +++++++++--------- .../BIStatiscialAnalysisController.cs | 15 +++++--- .../Api/SecurityInspectionRecordController.cs | 4 +++ ...curityInspectionRecordSummaryController.cs | 34 +++++++++++++++++-- 4 files changed, 61 insertions(+), 25 deletions(-) diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs index a245f09..9bf3bd6 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -237,7 +237,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI [HttpPost, Route("ReturnAllData")] public JsonActionResult ReturnAllData([FromBody] KeywordFilter filter) { - string connhead = ConfigurationManager.ConnectionStrings["head"]; + //string connhead = ConfigurationManager.ConnectionStrings["head"]; JsonActionResult result = new JsonActionResult(); 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 /// 风险等级占比 /// /// 分页过滤实体 - public List RiskTypeRateData(string connhead, DataTable Table) + public List RiskTypeRateData(DataTable Table) { List result = new List(); if (Table != null && Table.Rows.Count > 0) @@ -387,7 +386,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - public List JobTodayTopData(string connhead, Guid orgId, DataTable Table, DataTable Table2) + public List JobTodayTopData(Guid orgId, DataTable Table, DataTable Table2) { List result = new List(); var details = new List(); @@ -441,7 +440,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - 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 /// /// 参数 /// - public List TaskTopData(string connhead, DataTable Table) + public List TaskTopData(DataTable Table) { List result = new List(); var dataTemps = new List(); @@ -508,7 +507,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - public List jobFinishRateData(string connhead, DataTable Table) + public List jobFinishRateData(DataTable Table) { List result = new List(); if (Table != null && Table.Rows.Count > 0) @@ -533,7 +532,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - public List safeCheckSumData(string connhead, DataTable Table) + public List safeCheckSumData(DataTable Table) { List result = new List(); if (Table != null && Table.Rows.Count > 0) @@ -555,7 +554,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - public List linkSumData(string connhead, DataTable Table) + public List linkSumData(DataTable Table) { List result = new List(); if (Table != null && Table.Rows.Count > 0) diff --git a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs index fb1ca4a..3ad58cb 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIStatiscialAnalysisController.cs @@ -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 /// [Route("api/BI/BIStatiscialAnalysisController")] public class BIStatiscialAnalysisController : AuthorizeApiController - { + { + 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 安全事务执行情况汇总 /// @@ -11183,11 +11187,12 @@ namespace APT.SC.WebApi.Controllers.Api.BIController [HttpPost, Route("GetTaskViewInfo")] public JsonActionResult> GetTaskViewInfo([FromBody] KeywordFilter filter) { - string connhead = ConfigurationManager.ConnectionStrings["head"]; + //string connhead = ConfigurationManager.ConnectionStrings["head"]; + string strConn = OPTenantDBConnService.GetConnByORGID(filter.OrgId.Value);//获取数据库链接 JsonActionResult> result = new JsonActionResult>(); result.Data = new List(); DataTable Table = new DataTable(); - using (SqlConnection connection = new SqlConnection(connhead)) + using (SqlConnection connection = new SqlConnection(strConn)) { try { diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs index 421537b..dc6fb6d 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordController.cs @@ -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) diff --git a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs index 8a2b5e6..d4c3859 100644 --- a/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs +++ b/APT.MicroApi/APT.SK.WebApi/Controllers/Api/SecurityInspectionRecordSummaryController.cs @@ -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;