From 560304c7167070f1610e6ca55be0906c642c6edb 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, 19 Jan 2026 11:15:12 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/BIController/BIKanBanController.cs | 2 +- APT.MicroApi/APT.SC.WebApi/appsettings.Development.json | 3 ++- APT.MicroApi/APT.SC.WebApi/appsettings.Pdev.json | 3 ++- APT.MicroApi/APT.SC.WebApi/appsettings.Production.json | 3 ++- APT.MicroApi/APT.SC.WebApi/appsettings.json | 3 ++- 5 files changed, 9 insertions(+), 5 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 0ee032d..c19c47f 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -240,7 +240,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI // sql += " and crdate>='" + dt + "'"; //} //sql += " order by crdate desc"; - using (SqlCommand Com = new SqlCommand(sql, connection)) + using (SqlCommand Com = new SqlCommand(sql2, connection)) { SqlDataAdapter Data = new SqlDataAdapter(Com); Data.Fill(Table2); diff --git a/APT.MicroApi/APT.SC.WebApi/appsettings.Development.json b/APT.MicroApi/APT.SC.WebApi/appsettings.Development.json index 5d4847c..328af38 100644 --- a/APT.MicroApi/APT.SC.WebApi/appsettings.Development.json +++ b/APT.MicroApi/APT.SC.WebApi/appsettings.Development.json @@ -1,7 +1,8 @@ { "ConnectionStrings": { //"default": "User ID=postgres;Password=dfdn!energy;Host=36.134.166.114;Port=5432;Database=mh_op;CommandTimeout=1024;" - "default": "Server=121.41.2.71;Database=mh_jy_ops;uid=sa;pwd=mhsafe!2021;" + "default": "Server=121.41.2.71;Database=mh_jy_ops;uid=sa;pwd=mhsafe!2021;", + "head": "Server=124.117.209.78;Database=mh_jy_head;uid=sa;pwd=JySafe@2025*;" }, "AppSettings": { "DataBaseType": "sqlserver", diff --git a/APT.MicroApi/APT.SC.WebApi/appsettings.Pdev.json b/APT.MicroApi/APT.SC.WebApi/appsettings.Pdev.json index 66af4b8..2062be9 100644 --- a/APT.MicroApi/APT.SC.WebApi/appsettings.Pdev.json +++ b/APT.MicroApi/APT.SC.WebApi/appsettings.Pdev.json @@ -8,7 +8,8 @@ //"default": "User ID=postgres;Password=dfdn!energy;Host=36.134.166.114;Port=5432;Database=mh_op;CommandTimeout=1024;" //"default": "User ID=postgres;Password=dfdn!energy;Host=36.133.75.96;Port=5432;Database=postgres;CommandTimeout=1024;" //"default": "Server=120.25.146.51;Database=mh_jy_ops;uid=sa;pwd=mhsafe!2021;" - "default": "Server=124.117.209.78;Database=mh_jy_ops;uid=sa;pwd=JySafe@2025*;" + "default": "Server=124.117.209.78;Database=mh_jy_ops;uid=sa;pwd=JySafe@2025*;", + "head": "Server=124.117.209.78;Database=mh_jy_head;uid=sa;pwd=JySafe@2025*;" }, "AppSettings": { "DataBaseType": "sqlserver", diff --git a/APT.MicroApi/APT.SC.WebApi/appsettings.Production.json b/APT.MicroApi/APT.SC.WebApi/appsettings.Production.json index 29b45ec..f568de8 100644 --- a/APT.MicroApi/APT.SC.WebApi/appsettings.Production.json +++ b/APT.MicroApi/APT.SC.WebApi/appsettings.Production.json @@ -8,7 +8,8 @@ //"default": "User ID=postgres;Password=dfdn!energy;Host=36.134.166.114;Port=5432;Database=mh_op;CommandTimeout=1024;" //"default": "User ID=postgres;Password=dfdn!energy;Host=36.133.75.96;Port=5432;Database=postgres;CommandTimeout=1024;" //"default": "Server=172.26.13.0;Database=mh_jy_ops;uid=sa;pwd=mhsafe!2021;" - "default": "Server=127.0.0.1;Database=mh_jy_ops;uid=sa;pwd=JySafe@2025*;" + "default": "Server=127.0.0.1;Database=mh_jy_ops;uid=sa;pwd=JySafe@2025*;", + "head": "Server=124.117.209.78;Database=mh_jy_head;uid=sa;pwd=JySafe@2025*;" }, "AppSettings": { "DataBaseType": "sqlserver", diff --git a/APT.MicroApi/APT.SC.WebApi/appsettings.json b/APT.MicroApi/APT.SC.WebApi/appsettings.json index 3491fcf..d5a20f0 100644 --- a/APT.MicroApi/APT.SC.WebApi/appsettings.json +++ b/APT.MicroApi/APT.SC.WebApi/appsettings.json @@ -4,7 +4,8 @@ //"default": "Data Source=172.20.8.76:1521/DB2;User Id=\"dbo\";Password=mssqas;Pooling=false;PERSIST SECURITY INFO=True;" //"default": "Data Source=172.20.8.83:1521/DB2;User Id=\"dbo\";Password=mssuat;Pooling=false;PERSIST SECURITY INFO=True;" //"default": "User ID=postgres;Password=ldxmesadm;Host=172.20.8.91;Port=5432;Database=mes;CommandTimeout=1024;" - "default": "Server=127.0.0.1;Database=mh_jy_ops;uid=sa;pwd=123456;" + "default": "Server=127.0.0.1;Database=mh_jy_ops;uid=sa;pwd=123456;", + "head": "Server=124.117.209.78;Database=mh_jy_head;uid=sa;pwd=JySafe@2025*;" //"default": "User ID=postgres;Password=opt!energy;Host=36.133.75.96;Port=5432;Database=postgres;CommandTimeout=1024;" }, "AppSettings": { From 0ed4841adc34ad7ec4ed855fe5a033db54b5202a 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, 19 Jan 2026 14:43:22 +0800 Subject: [PATCH 2/6] 1 --- .../Api/BIController/BIKanBanController.cs | 441 +++++++----------- 1 file changed, 158 insertions(+), 283 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 c19c47f..f6013bf 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -143,58 +143,59 @@ namespace APT.SC.WebApi.Controllers.Api.BI { string connhead = ConfigurationManager.ConnectionStrings["head"]; ReturnAll result = new ReturnAll(); - //风险等级占比 - result.riskTypeRate = RiskTypeRateData(connhead); - //当日工作票排名前三 - result.jobTodayTop3 = JobTodayTopData(connhead,filter.OrgId.Value); - //隐患整改率 - result.hiddenRectify = HiddenRectifyData(connhead); - //各事项排名前三 - result.taskTop3 = TaskTopData(connhead); - //作业现场完成情况统计 - result.jobFinishRate = jobFinishRateData(connhead); - //各公司安全检查统计 - result.safeCheckSum = safeCheckSumData(connhead); - - return result; - } - /// - /// 风险等级占比 - /// - /// 分页过滤实体 - public List RiskTypeRateData(string connhead) - { - List result = new List(); - DataTable Table = new DataTable(); + DataTable tableRisk = new DataTable(); + DataTable tableJob = new DataTable(); + DataTable tableJobGroup = new DataTable(); + DataTable tableHidden = new DataTable(); + DataTable tableTask = new DataTable(); + DataTable tableJobRate = new DataTable(); + DataTable tableSafeCheck = new DataTable(); using (SqlConnection connection = new SqlConnection(connhead)) { try { connection.Open(); - string sql = "select * from vhome_risk_type_data "; - //if (dt != DateTime.Now.Date) - //{ - // sql += " and crdate>='" + dt + "'"; - //} - //sql += " order by crdate desc"; - using (SqlCommand Com = new SqlCommand(sql, connection)) - { - SqlDataAdapter Data = new SqlDataAdapter(Com); - Data.Fill(Table); - } + //风险等级占比 + string sqlRisk = "select * from vhome_risk_type_data "; + SqlCommand comRisk = new SqlCommand(sqlRisk, connection); + SqlDataAdapter riskData = new SqlDataAdapter(comRisk); + riskData.Fill(tableRisk); + result.riskTypeRate = RiskTypeRateData(connhead, tableRisk); + //当日工作票排名前三 + string sqlJob = "select * from vhome_jobtop3_today "; + SqlCommand comJob = new SqlCommand(sqlJob, connection); + SqlDataAdapter jobData = new SqlDataAdapter(comJob); + jobData.Fill(tableJob); + string sqlJobGroup = "select* from vhome_jobdata_today_group"; + SqlCommand comJobGroup = new SqlCommand(sqlJobGroup, connection); + SqlDataAdapter jobGroupData = new SqlDataAdapter(comJobGroup); + jobGroupData.Fill(tableJobGroup); + result.jobTodayTop3 = JobTodayTopData(connhead, 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.hiddenRectify = HiddenRectifyData(connhead, tableHidden); + //各事项排名前三 + string sqlTask = "select * from vhome_task_data_result "; + SqlCommand comTask = new SqlCommand(sqlTask, connection); + SqlDataAdapter taskData = new SqlDataAdapter(comTask); + taskData.Fill(tableTask); + result.taskTop3 = TaskTopData(connhead, tableTask); + //作业现场完成情况统计 + string sqlJobRate = "select * from vhome_jobrecord_data "; + SqlCommand comJobRate = new SqlCommand(sqlJobRate, connection); + SqlDataAdapter jobRateData = new SqlDataAdapter(comJobRate); + jobRateData.Fill(tableJobRate); + result.jobFinishRate = jobFinishRateData(connhead, tableJobRate); + //各公司安全检查统计 + string sqlSafecCheck= "select * from vhome_check_total "; + SqlCommand comSafecCheck = new SqlCommand(sqlSafecCheck, connection); + SqlDataAdapter safecCheckData = new SqlDataAdapter(comSafecCheck); + safecCheckData.Fill(tableSafeCheck); + result.safeCheckSum = safeCheckSumData(connhead, tableSafeCheck); connection.Close(); - if (Table != null && Table.Rows.Count > 0) - { - foreach (DataRow item in Table.Rows) - { - result.Add(new RiskTypeRate() - { - riskType = item["风险类别"] != null ? item["风险类别"].ToString() : null, - count = int.Parse(item["数量"].ToString()) != 0 ? int.Parse(item["数量"].ToString()) : 0, - rate = item["占比"] != null ? item["占比"].ToString() : "0" - }); - } - } } catch (Exception ex) { @@ -206,96 +207,78 @@ namespace APT.SC.WebApi.Controllers.Api.BI } return result; } + /// + /// 风险等级占比 + /// + /// 分页过滤实体 + public List RiskTypeRateData(string connhead, DataTable Table) + { + List result = new List(); + if (Table != null && Table.Rows.Count > 0) + { + foreach (DataRow item in Table.Rows) + { + result.Add(new RiskTypeRate() + { + riskType = item["风险类别"] != null ? item["风险类别"].ToString() : null, + count = int.Parse(item["数量"].ToString()) != 0 ? int.Parse(item["数量"].ToString()) : 0, + rate = item["占比"] != null ? item["占比"].ToString() : "0" + }); + } + } + return result; + } /// /// 当日工作票排名前三 /// /// 参数 /// - public List JobTodayTopData(string connhead,Guid orgId) + public List JobTodayTopData(string connhead,Guid orgId, DataTable Table, DataTable Table2) { List result = new List(); var details = new List(); - DataTable Table = new DataTable(); - DataTable Table2 = new DataTable(); - using (SqlConnection connection = new SqlConnection(connhead)) + if (Table != null && Table.Rows.Count > 0) { - try + foreach (DataRow item in Table.Rows) { - connection.Open(); - string sql = "select * from vhome_jobtop3_today "; - //if (dt != DateTime.Now.Date) - //{ - // sql += " and crdate>='" + dt + "'"; - //} - //sql += " order by crdate desc"; - using (SqlCommand Com = new SqlCommand(sql, connection)) + var JobTodayTop3 = new JobTodayTop3(); + JobTodayTop3.totalQty = int.Parse(item["今日总数"].ToString()) != 0 ? int.Parse(item["今日总数"].ToString()) : 0; + JobTodayTop3.num = int.Parse(item["排名"].ToString()) != 0 ? int.Parse(item["排名"].ToString()) : 0; + JobTodayTop3.company = item["公司名称"] != null ? item["公司名称"].ToString() : ""; + result.Add(JobTodayTop3); + } + } + if (Table2 != null && Table2.Rows.Count > 0) + { + foreach (DataRow item2 in Table2.Rows) + { + var JobTodayDetail = new JobTodayDetail(); + JobTodayDetail.qty = int.Parse(item2["cnt"].ToString()) != 0 ? int.Parse(item2["cnt"].ToString()) : 0; + JobTodayDetail.jobName = item2["stepid"] != null ? item2["stepid"].ToString() : null; + JobTodayDetail.company = item2["db_name"] != null ? item2["db_name"].ToString() : null; + details.Add(JobTodayDetail); + } + } + if (result != null && result.Any()) + { + var steps = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)); + foreach (var da in result) + { + var temps = details.Where(t => t.company == da.company).ToList(); + if (temps.Any()) { - SqlDataAdapter Data = new SqlDataAdapter(Com); - Data.Fill(Table); - } - string sql2 = "select * from vhome_jobdata_today_group "; - //if (dt != DateTime.Now.Date) - //{ - // sql += " and crdate>='" + dt + "'"; - //} - //sql += " order by crdate desc"; - using (SqlCommand Com = new SqlCommand(sql2, connection)) - { - SqlDataAdapter Data = new SqlDataAdapter(Com); - Data.Fill(Table2); - } - connection.Close(); - if (Table != null && Table.Rows.Count > 0) - { - foreach (DataRow item in Table.Rows) - { - var JobTodayTop3 = new JobTodayTop3(); - JobTodayTop3.totalQty = int.Parse(item["今日总数"].ToString()) != 0 ? int.Parse(item["今日总数"].ToString()) : 0; - JobTodayTop3.num = int.Parse(item["排名"].ToString()) != 0 ? int.Parse(item["排名"].ToString()) : 0; - JobTodayTop3.company = item["公司名称"] != null ? item["公司名称"].ToString() : ""; - result.Add(JobTodayTop3); - } - } - if (Table2 != null && Table2.Rows.Count > 0) - { - foreach (DataRow item2 in Table2.Rows) + var detailTemps = new List(); + foreach (var de in temps) { var JobTodayDetail = new JobTodayDetail(); - JobTodayDetail.qty = int.Parse(item2["cnt"].ToString()) != 0 ? int.Parse(item2["cnt"].ToString()) : 0; - JobTodayDetail.jobName = item2["stepid"] != null ? item2["stepid"].ToString() : null; - JobTodayDetail.company = item2["db_name"] != null ? item2["db_name"].ToString() : null; - details.Add(JobTodayDetail); + JobTodayDetail.qty = de.qty; + JobTodayDetail.jobName = steps.FirstOrDefault(t => t.ID == Guid.Parse(de.jobName))?.NAME; + JobTodayDetail.company = de.company; + detailTemps.Add(JobTodayDetail); } + da.details = detailTemps; } - if (result != null && result.Any()) - { - var steps = this.GetEntities(t => !t.IS_DELETED, new BaseFilter(orgId)); - foreach (var da in result) - { - var temps = details.Where(t => t.company == da.company).ToList(); - if (temps.Any()) - { - var detailTemps = new List(); - foreach (var de in temps) - { - var JobTodayDetail = new JobTodayDetail(); - JobTodayDetail.qty = de.qty; - JobTodayDetail.jobName = steps.FirstOrDefault(t=>t.ID == Guid.Parse(de.jobName))?.NAME; - JobTodayDetail.company = de.company; - detailTemps.Add(JobTodayDetail); - } - da.details = detailTemps; - } - } - } - } - catch (Exception ex) - { - if (!string.IsNullOrEmpty(ex.StackTrace)) - throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); - else - throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); } } return result; @@ -306,42 +289,15 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - public HiddenRectify HiddenRectifyData(string connhead) + public HiddenRectify HiddenRectifyData(string connhead, DataTable Table) { HiddenRectify result = new HiddenRectify(); - DataTable Table = new DataTable(); - using (SqlConnection connection = new SqlConnection(connhead)) + if (Table != null && Table.Rows.Count > 0) { - try - { - connection.Open(); - string sql = "select * from vhome_hidden_data_result "; - //if (dt != DateTime.Now.Date) - //{ - // sql += " and crdate>='" + dt + "'"; - //} - //sql += " order by crdate desc"; - using (SqlCommand Com = new SqlCommand(sql, connection)) - { - SqlDataAdapter Data = new SqlDataAdapter(Com); - Data.Fill(Table); - } - connection.Close(); - if (Table != null && Table.Rows.Count > 0) - { - result.qty = int.Parse(Table.Rows[0]["隐患数"].ToString()) != 0 ? int.Parse(Table.Rows[0]["隐患数"].ToString()) : 0; - result.ontimeQty = int.Parse(Table.Rows[0]["按期整改数"].ToString()) != 0 ? int.Parse(Table.Rows[0]["按期整改数"].ToString()) : 0; - result.delayQty = int.Parse(Table.Rows[0]["延期整改数"].ToString()) != 0 ? int.Parse(Table.Rows[0]["延期整改数"].ToString()) : 0; - result.rate = Table.Rows[0]["整改率"] != null ? Table.Rows[0]["整改率"].ToString() : null; - } - } - catch (Exception ex) - { - if (!string.IsNullOrEmpty(ex.StackTrace)) - throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); - else - throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); - } + result.qty = int.Parse(Table.Rows[0]["隐患数"].ToString()) != 0 ? int.Parse(Table.Rows[0]["隐患数"].ToString()) : 0; + result.ontimeQty = int.Parse(Table.Rows[0]["按期整改数"].ToString()) != 0 ? int.Parse(Table.Rows[0]["按期整改数"].ToString()) : 0; + result.delayQty = int.Parse(Table.Rows[0]["延期整改数"].ToString()) != 0 ? int.Parse(Table.Rows[0]["延期整改数"].ToString()) : 0; + result.rate = Table.Rows[0]["整改率"] != null ? Table.Rows[0]["整改率"].ToString() : null; } return result; } @@ -351,71 +307,44 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - public List TaskTopData(string connhead) + public List TaskTopData(string connhead, DataTable Table) { List result = new List(); var dataTemps = new List(); - DataTable Table = new DataTable(); - using (SqlConnection connection = new SqlConnection(connhead)) + if (Table != null && Table.Rows.Count > 0) { - try + foreach (DataRow item in Table.Rows) { - connection.Open(); - string sql = "select * from vhome_task_data_result "; - //if (dt != DateTime.Now.Date) - //{ - // sql += " and crdate>='" + dt + "'"; - //} - //sql += " order by crdate desc"; - using (SqlCommand Com = new SqlCommand(sql, connection)) - { - SqlDataAdapter Data = new SqlDataAdapter(Com); - Data.Fill(Table); - } - connection.Close(); - if (Table != null && Table.Rows.Count > 0) - { - foreach (DataRow item in Table.Rows) - { - var JobTodayTop3 = new TaskTopTemp(); - JobTodayTop3.totalQty = int.Parse(item["待办总数"].ToString()) != 0 ? int.Parse(item["待办总数"].ToString()) : 0; - JobTodayTop3.qty = int.Parse(item["数量"].ToString()) != 0 ? int.Parse(item["数量"].ToString()) : 0; - JobTodayTop3.company = item["公司名称"] != null ? item["公司名称"].ToString() : ""; - JobTodayTop3.type = item["类型"] != null ? item["类型"].ToString() : ""; - dataTemps.Add(JobTodayTop3); - } - } - if (dataTemps != null && dataTemps.Any()) - { - var dataGroup = dataTemps.GroupBy(t => new { t.company,t.totalQty }).ToList(); - foreach (var da in dataGroup) - { - var TaskTop3 = new TaskTop3(); - TaskTop3.company = da.Key.company; - TaskTop3.totalQty = da.Key.totalQty; - var temps = dataTemps.Where(t => t.company == da.Key.company).ToList(); - if (temps.Any()) - { - var detailTemps = new List(); - foreach (var de in temps) - { - var JobTodayDetail = new TaskTopDetail(); - JobTodayDetail.qty = de.qty; - JobTodayDetail.name = de.type; - detailTemps.Add(JobTodayDetail); - } - TaskTop3.details = detailTemps; - } - result.Add(TaskTop3); - } - } + var JobTodayTop3 = new TaskTopTemp(); + JobTodayTop3.totalQty = int.Parse(item["待办总数"].ToString()) != 0 ? int.Parse(item["待办总数"].ToString()) : 0; + JobTodayTop3.qty = int.Parse(item["数量"].ToString()) != 0 ? int.Parse(item["数量"].ToString()) : 0; + JobTodayTop3.company = item["公司名称"] != null ? item["公司名称"].ToString() : ""; + JobTodayTop3.type = item["类型"] != null ? item["类型"].ToString() : ""; + dataTemps.Add(JobTodayTop3); } - catch (Exception ex) - { - if (!string.IsNullOrEmpty(ex.StackTrace)) - throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); - else - throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + } + if (dataTemps != null && dataTemps.Any()) + { + var dataGroup = dataTemps.GroupBy(t => new { t.company, t.totalQty }).ToList(); + foreach (var da in dataGroup) + { + var TaskTop3 = new TaskTop3(); + TaskTop3.company = da.Key.company; + TaskTop3.totalQty = da.Key.totalQty; + var temps = dataTemps.Where(t => t.company == da.Key.company).ToList(); + if (temps.Any()) + { + var detailTemps = new List(); + foreach (var de in temps) + { + var JobTodayDetail = new TaskTopDetail(); + JobTodayDetail.qty = de.qty; + JobTodayDetail.name = de.type; + detailTemps.Add(JobTodayDetail); + } + TaskTop3.details = detailTemps; + } + result.Add(TaskTop3); } } return result; @@ -427,47 +356,20 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - public List jobFinishRateData(string connhead) + public List jobFinishRateData(string connhead, DataTable Table) { List result = new List(); - DataTable Table = new DataTable(); - using (SqlConnection connection = new SqlConnection(connhead)) + if (Table != null && Table.Rows.Count > 0) { - try + foreach (DataRow item in Table.Rows) { - connection.Open(); - string sql = "select * from vhome_jobrecord_data "; - //if (dt != DateTime.Now.Date) - //{ - // sql += " and crdate>='" + dt + "'"; - //} - //sql += " order by crdate desc"; - using (SqlCommand Com = new SqlCommand(sql, connection)) + result.Add(new JobFinishRate() { - SqlDataAdapter Data = new SqlDataAdapter(Com); - Data.Fill(Table); - } - connection.Close(); - if (Table != null && Table.Rows.Count > 0) - { - foreach (DataRow item in Table.Rows) - { - result.Add(new JobFinishRate() - { - name = item["表单名称"] != null ? item["表单名称"].ToString() : null, - qty = int.Parse(item["总数"].ToString()) != 0 ? int.Parse(item["总数"].ToString()) : 0, - finishQty = int.Parse(item["完成数"].ToString()) != 0 ? int.Parse(item["完成数"].ToString()) : 0, - rate = item["完成率"] != null ? item["完成率"].ToString() : null, - }); - } - } - } - catch (Exception ex) - { - if (!string.IsNullOrEmpty(ex.StackTrace)) - throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); - else - throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + name = item["表单名称"] != null ? item["表单名称"].ToString() : null, + qty = int.Parse(item["总数"].ToString()) != 0 ? int.Parse(item["总数"].ToString()) : 0, + finishQty = int.Parse(item["完成数"].ToString()) != 0 ? int.Parse(item["完成数"].ToString()) : 0, + rate = item["完成率"] != null ? item["完成率"].ToString() : null, + }); } } return result; @@ -479,46 +381,19 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// /// 参数 /// - public List safeCheckSumData(string connhead) + public List safeCheckSumData(string connhead, DataTable Table) { List result = new List(); - DataTable Table = new DataTable(); - using (SqlConnection connection = new SqlConnection(connhead)) + if (Table != null && Table.Rows.Count > 0) { - try + foreach (DataRow item in Table.Rows) { - connection.Open(); - string sql = "select * from vhome_check_total "; - //if (dt != DateTime.Now.Date) - //{ - // sql += " and crdate>='" + dt + "'"; - //} - //sql += " order by crdate desc"; - using (SqlCommand Com = new SqlCommand(sql, connection)) + result.Add(new SafeCheckSum() { - SqlDataAdapter Data = new SqlDataAdapter(Com); - Data.Fill(Table); - } - connection.Close(); - if (Table != null && Table.Rows.Count > 0) - { - foreach (DataRow item in Table.Rows) - { - result.Add(new SafeCheckSum() - { - company = item["公司名称"] != null ? item["公司名称"].ToString() : null, - qty = int.Parse(item["数量"].ToString()) != 0 ? int.Parse(item["数量"].ToString()) : 0, - num = int.Parse(item["排名"].ToString()) != 0 ? int.Parse(item["排名"].ToString()) : 0, - }); - } - } - } - catch (Exception ex) - { - if (!string.IsNullOrEmpty(ex.StackTrace)) - throw new Exception("错误日志:[StackTrace]" + ex.StackTrace); - else - throw new Exception("【" + HttpContext.Request.Path + "】错误日志:[Message]" + ex.Message); + company = item["公司名称"] != null ? item["公司名称"].ToString() : null, + qty = int.Parse(item["数量"].ToString()) != 0 ? int.Parse(item["数量"].ToString()) : 0, + num = int.Parse(item["排名"].ToString()) != 0 ? int.Parse(item["排名"].ToString()) : 0, + }); } } return result; From f9c566418b04bd58fd0274db344bd8aa13e7a8a5 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, 19 Jan 2026 16:36:04 +0800 Subject: [PATCH 3/6] 1 --- .../Api/BIController/BIKanBanController.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 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 f6013bf..2894be5 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -139,10 +139,11 @@ namespace APT.SC.WebApi.Controllers.Api.BI /// 分页过滤实体 /// [HttpPost, Route("ReturnAllData")] - public ReturnAll ReturnAllData([FromBody] KeywordFilter filter) + public JsonActionResult ReturnAllData([FromBody] KeywordFilter filter) { string connhead = ConfigurationManager.ConnectionStrings["head"]; - ReturnAll result = new ReturnAll(); + JsonActionResult result = new JsonActionResult(); + result.Data = new ReturnAll(); DataTable tableRisk = new DataTable(); DataTable tableJob = new DataTable(); DataTable tableJobGroup = new DataTable(); @@ -160,7 +161,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI SqlCommand comRisk = new SqlCommand(sqlRisk, connection); SqlDataAdapter riskData = new SqlDataAdapter(comRisk); riskData.Fill(tableRisk); - result.riskTypeRate = RiskTypeRateData(connhead, tableRisk); + result.Data.riskTypeRate = RiskTypeRateData(connhead, tableRisk); //当日工作票排名前三 string sqlJob = "select * from vhome_jobtop3_today "; SqlCommand comJob = new SqlCommand(sqlJob, connection); @@ -170,31 +171,31 @@ namespace APT.SC.WebApi.Controllers.Api.BI SqlCommand comJobGroup = new SqlCommand(sqlJobGroup, connection); SqlDataAdapter jobGroupData = new SqlDataAdapter(comJobGroup); jobGroupData.Fill(tableJobGroup); - result.jobTodayTop3 = JobTodayTopData(connhead, filter.OrgId.Value, tableJob,tableJobGroup); + result.Data.jobTodayTop3 = JobTodayTopData(connhead, 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.hiddenRectify = HiddenRectifyData(connhead, tableHidden); + result.Data.hiddenRectify = HiddenRectifyData(connhead, tableHidden); //各事项排名前三 string sqlTask = "select * from vhome_task_data_result "; SqlCommand comTask = new SqlCommand(sqlTask, connection); SqlDataAdapter taskData = new SqlDataAdapter(comTask); taskData.Fill(tableTask); - result.taskTop3 = TaskTopData(connhead, tableTask); + result.Data.taskTop3 = TaskTopData(connhead, tableTask); //作业现场完成情况统计 string sqlJobRate = "select * from vhome_jobrecord_data "; SqlCommand comJobRate = new SqlCommand(sqlJobRate, connection); SqlDataAdapter jobRateData = new SqlDataAdapter(comJobRate); jobRateData.Fill(tableJobRate); - result.jobFinishRate = jobFinishRateData(connhead, tableJobRate); + result.Data.jobFinishRate = jobFinishRateData(connhead, tableJobRate); //各公司安全检查统计 string sqlSafecCheck= "select * from vhome_check_total "; SqlCommand comSafecCheck = new SqlCommand(sqlSafecCheck, connection); SqlDataAdapter safecCheckData = new SqlDataAdapter(comSafecCheck); safecCheckData.Fill(tableSafeCheck); - result.safeCheckSum = safeCheckSumData(connhead, tableSafeCheck); + result.Data.safeCheckSum = safeCheckSumData(connhead, tableSafeCheck); connection.Close(); } catch (Exception ex) From b77f1331d3015064d19ee8aa3827f4d7f41ca339 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, 19 Jan 2026 17:41:48 +0800 Subject: [PATCH 4/6] =?UTF-8?q?=E7=9C=8B=E6=9D=BF=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Api/BIController/BIKanBanController.cs | 41 ++++++++++++++++++- 1 file changed, 40 insertions(+), 1 deletion(-) 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 2894be5..8ac2e09 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -25,6 +25,7 @@ using System.Collections.Generic; using System.Collections.ObjectModel; using System.Data; using System.Linq; +using static APT.SC.WebApi.Controllers.Api.BI.BIKanBanController; using static Google.Protobuf.WireFormat; using static Microsoft.EntityFrameworkCore.DbLoggerCategory.Database; using static NPOI.HSSF.Util.HSSFColor; @@ -53,7 +54,9 @@ namespace APT.SC.WebApi.Controllers.Api.BI //作业现场完成情况统计 public List jobFinishRate { get; set; } //各公司安全检查统计 - public List safeCheckSum { get; set; } + public List safeCheckSum { get; set; } + //各公司危险作业统计 + public List linkSum { get; set; } } /// @@ -133,6 +136,14 @@ namespace APT.SC.WebApi.Controllers.Api.BI public int qty { get; set; } public int num { get; set; } } + /// + /// 各公司危险作业统计 + /// + public class LinkSum + { + public string name { get; set; } + public int qty { get; set; } + } /// /// 返回看板所有接口 /// @@ -151,6 +162,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI DataTable tableTask = new DataTable(); DataTable tableJobRate = new DataTable(); DataTable tableSafeCheck = new DataTable(); + DataTable tableLink = new DataTable(); using (SqlConnection connection = new SqlConnection(connhead)) { try @@ -196,6 +208,12 @@ namespace APT.SC.WebApi.Controllers.Api.BI SqlDataAdapter safecCheckData = new SqlDataAdapter(comSafecCheck); safecCheckData.Fill(tableSafeCheck); result.Data.safeCheckSum = safeCheckSumData(connhead, 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); connection.Close(); } catch (Exception ex) @@ -398,6 +416,27 @@ namespace APT.SC.WebApi.Controllers.Api.BI } } return result; + } + /// + /// 各公司危险作业统计 + /// + /// 参数 + /// + public List linkSumData(string connhead, DataTable Table) + { + List result = new List(); + if (Table != null && Table.Rows.Count > 0) + { + foreach (DataRow item in Table.Rows) + { + result.Add(new LinkSum() + { + name = item["NAME"] != null ? item["NAME"].ToString() : null, + qty = int.Parse(item["cnt"].ToString()) != 0 ? int.Parse(item["cnt"].ToString()) : 0 + }); + } + } + return result; } } } From 34b6e79a36f6c764ce75c4d28b5834bb7ebd4033 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, 19 Jan 2026 18:05:28 +0800 Subject: [PATCH 5/6] bug --- .../Controllers/Api/BIController/BIKanBanController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 8ac2e09..2b3609c 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -432,7 +432,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI result.Add(new LinkSum() { name = item["NAME"] != null ? item["NAME"].ToString() : null, - qty = int.Parse(item["cnt"].ToString()) != 0 ? int.Parse(item["cnt"].ToString()) : 0 + qty = item["cnt"].ToString()!=null && int.Parse(item["cnt"].ToString()) != 0 ? int.Parse(item["cnt"].ToString()) : 0 }); } } From 8703dff7d552b47ccae933f5b540239282840a9a 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, 19 Jan 2026 18:17:56 +0800 Subject: [PATCH 6/6] 2 --- .../Controllers/Api/BIController/BIKanBanController.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 2b3609c..b8fcdfa 100644 --- a/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs +++ b/APT.MicroApi/APT.SC.WebApi/Controllers/Api/BIController/BIKanBanController.cs @@ -432,7 +432,7 @@ namespace APT.SC.WebApi.Controllers.Api.BI result.Add(new LinkSum() { name = item["NAME"] != null ? item["NAME"].ToString() : null, - qty = item["cnt"].ToString()!=null && int.Parse(item["cnt"].ToString()) != 0 ? int.Parse(item["cnt"].ToString()) : 0 + qty = !string.IsNullOrEmpty(item["cnt"].ToString()) && int.Parse(item["cnt"].ToString()) != 0 ? int.Parse(item["cnt"].ToString()) : 0 }); } }