chenhaozhe
2026-04-16 b56d9c96bc858556f51cf3ca94501ebc7ebc1f52
WebAPI/Controllers/Éú²ú¹ÜÀí/É豸״̬·Ö²½/Sc_HEquipStateDistributionController.cs
@@ -248,7 +248,7 @@
        }
        #endregion
        #region è®¾å¤‡è¿è¡Œåˆ‡ç‰‡ è¿”回设备状态 å›¾è¡¨æ•°æ®
        #region è®¾å¤‡è¿è¡Œåˆ‡ç‰‡ è¿”回设备状态 å›¾è¡¨æ•°æ® (饼图)
        [Route("DAQ_EquipRunningSlice/GetHEquipStatusReportList_DAQ")]
        [HttpGet]
        public object GetHEquipStatusReportList_DAQ(string HEquipID, string HDeptID, string HBeginDate, string HEndDate, string user)
@@ -284,7 +284,7 @@
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds.Tables[0];
                objJsonResult.data = ds.Tables[0];
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
@@ -298,5 +298,109 @@
            }
        }
        #endregion
        #region è®¾å¤‡è¿è¡Œåˆ‡ç‰‡ è¿”回设备状态 å›¾è¡¨æ•°æ® (时序图)
        [Route("DAQ_EquipRunningSlice/GetHEquipStatusReportList2_DAQ")]
        [HttpGet]
        public object GetHEquipStatusReportList2_DAQ(string HEquipID, string HDeptID, string HBeginDate, string HEndDate, string user)
        {
            try
            {
                List<object> columnNameList = new List<object>();
                ds = oCN.RunProcReturn($@"exec h_p_DAQ_EquipTimeLineReport {HEquipID}, {HDeptID}, N'{HBeginDate}', N'{HEndDate}'", "h_p_DAQ_EquipTimeLineReport");
                // åˆå§‹åŒ–结果 JObject
                JObject result = new JObject();
                // æŒ‰æ—¶é—´å¯¹è¡¨æŸ¥è¯¢å‡ºæ¥çš„æ•°æ®è¿›è¡Œåˆ†ç»„
                DataTable table = ds.Tables[0];
                var groupedData = table.Rows.Cast<DataRow>()
                .GroupBy(row =>
                {
                    // å–出时间字段并转为日期(自动忽略时分秒)
                    DateTime time = Convert.ToDateTime(row["时间"]);
                    return time.ToString("yyyy-MM-dd"); // åˆ†ç»„ Key
                });
                foreach (var group in groupedData)
                {
                    string dateKey = group.Key;
                    JArray dataArray = new JArray();
                    foreach (DataRow row in group)
                    {
                        JObject rowObj = new JObject();
                        // æŠŠè¿™ä¸€è¡Œçš„æ‰€æœ‰åˆ—都转成 ECharts可以读取的data对象
                        foreach (DataColumn col in table.Columns)
                        {
                            rowObj[col.ColumnName] = row[col] != DBNull.Value
                                ? JToken.FromObject(row[col])
                                : null;
                        }
                        dataArray.Add(rowObj);
                    }
                    // åŠ å…¥æœ€ç»ˆç»“æžœ
                    result[dateKey] = dataArray;
                }
                //添加列名
                foreach (DataColumn col in ds.Tables[0].Columns)
                {
                    Type dataType = col.DataType;
                    string ColmString = "{\"ColmCols\":\"" + col.ColumnName + "\",\"ColmType\":\"" + dataType.Name + "\"}";
                    columnNameList.Add(JsonConvert.DeserializeObject(ColmString));//获取到DataColumn列对象的列名
                }
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = result;
                objJsonResult.list = columnNameList;
                return objJsonResult;
            }
            catch (Exception ex)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "查询数据异常,请与管理员联系!" + ex.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
        #region è®¾å¤‡é©¾é©¶èˆ± æ ¹æ®éƒ¨é—¨æŸ¥è¯¢å¯¹åº”的设备
        [Route("Sc_HEquipStateDistribution/Get_HEquipStateList")]
        [HttpGet]
        public object Get_HEquipStateList(string HDeptID, string user, int OrganizationID)
        {
            try
            {
                string sql1 = string.Format("exec h_p_sc_HDeptEquipList {0},{1}", HDeptID, OrganizationID);
                ds = oCN.RunProcReturn(sql1, "h_p_sc_HDeptEquipList");
                objJsonResult.code = "1";
                objJsonResult.count = 1;
                objJsonResult.Message = "Sucess!";
                objJsonResult.data = ds;
                return objJsonResult;
            }
            catch (Exception e)
            {
                objJsonResult.code = "0";
                objJsonResult.count = 0;
                objJsonResult.Message = "Exception!" + e.ToString();
                objJsonResult.data = null;
                return objJsonResult;
            }
        }
        #endregion
    }
}