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