Ejemplo n.º 1
0
        /// <summary>
        /// 获取下一个启停记录
        /// </summary>
        /// <param name="prjNo">车载项目编号</param>
        /// <param name="startUpId">当前启停Id</param>
        /// <returns></returns>
        private static TbccCarStartUp GetCarNextFinishStartUp(string prjNo, int startUpId)
        {
            TbccCarStartUp tcsu = null;
            string         sql  = string.Format("select * from tbcchiststartup_{0}_1 where Id>{1} and finished=1 order by id limit 1", prjNo, startUpId);

            try
            {
                List <TbccCarStartUp> list = _DBHelper.ReadEntityList <TbccCarStartUp>(sql);
                if (list.Count > 0)
                {
                    tcsu = list[0];
                }
            }
            catch (Exception ex)
            {
                //QueryHelp.RegisterUploadFailEvent(new UploadClass.UploadFailEventArgs("GetCarNextFinishStartUp", ex.Message, sql));
            }
            return(tcsu);
        }
Ejemplo n.º 2
0
        ///// <summary>
        ///// 获取指定数量的未上报数据-仓库历史
        ///// </summary>
        ///// <param name="aiList">需要上报的AI集合</param>
        ///// <param name="queryCount">查询数量</param>
        ///// <param name="alarmSpace">报警间隔</param>
        ///// <param name="normalSpace">正常间隔</param>
        ///// <returns></returns>
        //public static List<TbccRefAiData> GetHistDataList_Ref(List<AiInfoModel> aiList, int queryCount, int alarmSpace, int normalSpace)
        //{
        //    List<TbccRefAiData> list = new List<TbccRefAiData>();
        //    //所有需要查询的设备Id
        //    var netIdList = (from l in aiList select new { l.LinkProjectNo, l.LinkNetId }).Distinct();
        //    string sql = string.Empty;
        //    foreach (var item in netIdList)
        //    {
        //        try
        //        {
        //            //当前设备关联的库区
        //            List<string> refCondition = (from l in aiList where l.LinkNetId == item.LinkNetId && l.LinkProjectNo == item.LinkProjectNo select string.Format("Ref{0}_RefAlarmState <>1", l.LinkRefId)).Distinct().ToList();
        //            string refConditionStr = string.Join(" or ", refCondition);
        //            string tableName = string.Format("tbcchddata_{0}_{1}", item.LinkProjectNo, item.LinkNetId);
        //            //添加上报状态的列
        //            AddUploadStateColumn(tableName);
        //            sql = string.Format("select DISTINCT(HDATE),{0},'{6}' as NetId,'{7}' as ProjectId from {1} where fdap4zgswUploadState=0 and ((({2}) and unix_timestamp(HDATE) %{3}=0 ) or unix_timestamp(HDATE)%{4}=0) ORDER BY hDate limit {5}", _AiColm + _AlarmColm, tableName, refConditionStr, alarmSpace, normalSpace, queryCount, item.LinkNetId, item.LinkProjectNo);
        //            List<TbccRefAiData> tempHdList = _DBHelper.ReadEntityList<TbccRefAiData>(sql);
        //            list.AddRange(tempHdList);
        //            Thread.Sleep(100);
        //        }
        //        catch (Exception ex)
        //        {
        //            //QueryHelp.RegisterUploadFailEvent(new UploadClass.UploadFailEventArgs("GetHistDataList_Ref", ex.Message, sql));
        //        }
        //    }
        //    return list;
        //}

        ///// <summary>
        ///// 获取指定数量的未上报数据-5100仓库历史
        ///// </summary>
        ///// <param name="aiList">需要上报的AI集合</param>
        ///// <param name="queryCount">查询数量</param>
        ///// <param name="alarmSpace">报警间隔</param>
        ///// <param name="normalSpace">正常间隔</param>
        //public static List<TbccRefAiData_5100> GetHistDataList_Ref_5100(List<AiInfoModel> aiList, int queryCount, int alarmSpace, int normalSpace, string productStr)
        //{
        //    List<TbccRefAiData_5100> list = new List<TbccRefAiData_5100>();
        //    string sql = string.Empty;
        //    try
        //    {
        //        _DBHelper.ExecuteNonQuery(productStr);
        //        if (aiList.Count > 0)
        //        {
        //            List<int> aiPortList = (from l in aiList select (int)l.LinkPortNo).Distinct().ToList();
        //            sql = string.Format("call GetFdap4zgswHistData_Ref({0},{1},{2},'{3}')", queryCount * aiPortList.Count(), alarmSpace, normalSpace, string.Join(",", aiPortList));
        //            list = _DBHelper.ReadEntityList<TbccRefAiData_5100>(sql);
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        //QueryHelp.RegisterUploadFailEvent(new UploadClass.UploadFailEventArgs("GetHistDataList_Ref_5100", ex.Message, sql));
        //    }
        //    finally
        //    {
        //        _DBHelper.ExecuteNonQuery("DROP PROCEDURE IF EXISTS GetFdap4zgswHistData_Ref;");
        //    }
        //    return list;
        //}

        ///// <summary>
        ///// 获取所有实时数据-仓库-5100仓库历史
        ///// </summary>
        ///// <returns></returns>
        //public static List<TbccRefAiData_5100> GetRealDataList_Ref_5100(List<AiInfoModel> aiList)
        //{
        //    List<TbccRefAiData_5100> list = new List<TbccRefAiData_5100>();
        //    string sql = string.Empty;
        //    try
        //    {
        //        if (aiList.Count > 0)
        //        {
        //            List<int> aiPortList = (from l in aiList select (int)l.LinkPortNo).Distinct().ToList();
        //            if (aiPortList.Count == 0)
        //                return list;
        //            sql = string.Format("select updateTime,SensorId,TValue,TUpDwLimit_Alarm,RhValue,RhUpDwLimit_Alarm from tbccrealdata_sensor where sensorId in ({0});", string.Join(",", aiPortList));
        //            list = _DBHelper.ReadEntityList<TbccRefAiData_5100>(sql);
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        //QueryHelp.RegisterUploadFailEvent(new UploadClass.UploadFailEventArgs("GetRealDataList_Ref_5100", ex.Message, sql));
        //    }
        //    return list;
        //}

        ///// <summary>
        ///// 获取所有实时数据-仓库
        ///// </summary>
        ///// <returns></returns>
        //public static List<TbccRefAiData> GetRealDataList_Ref(List<AiInfoModel> aiList)
        //{
        //    List<TbccRefAiData> list = new List<TbccRefAiData>();
        //    string sql = string.Empty;
        //    try
        //    {
        //        if (aiList.Count > 0)
        //        {
        //            sql = string.Format("select ProjectId,NetId,UpdateTime,{0} from tbccrealdata_ref", _AiColm);
        //            list = _DBHelper.ReadEntityList<TbccRefAiData>(sql);
        //        }
        //    }
        //    catch (Exception ex)
        //    {
        //        //QueryHelp.RegisterUploadFailEvent(new UploadClass.UploadFailEventArgs("GetRealDataList_Ref", ex.Message, sql));
        //    }
        //    return list;
        //}

        ///// <summary>
        ///// 更新上报后的仓库历史数据
        ///// </summary>
        ///// <param name="netHdId">历史数据Id集合字典</param>
        ///// <param name="projectNo">工程编号</param>
        ///// <returns></returns>
        //public static int UpdateFdapUploadState_Ref(ILookup<int, TbccRefAiData> netHdId, string projectNo)
        //{
        //    StringBuilder sql = new StringBuilder();
        //    try
        //    {
        //        foreach (var netDatas in netHdId)
        //        {
        //            List<int> hdIdList = (from l in netDatas select l.id).ToList();
        //            if (hdIdList.Count == 0)
        //                continue;
        //            sql.AppendFormat("update tbcchddata_{0}_{1} set fdap4zgswUploadState=1 where id in ({2});", projectNo, netDatas.Key, string.Join(",", hdIdList));
        //        }
        //        if (sql.Length == 0)
        //            return 0;
        //        return _DBHelper.ExecuteNonQuery(sql.ToString());
        //    }
        //    catch (Exception ex)
        //    {
        //        //QueryHelp.RegisterUploadFailEvent(new UploadClass.UploadFailEventArgs("UpdateFdapUploadState_Ref", ex.Message, sql.ToString()));
        //        return 0;
        //    }
        //}

        ///// <summary>
        ///// 更新上报后的仓库历史数据_5100
        ///// </summary>
        ///// <param name="hdIdList">历史数据Id集合字典</param>
        ///// <param name="projectNo">工程编号</param>
        ///// <param name="tableDate">历史数据表的日期</param>
        ///// <returns></returns>
        //public static int UpdateFdapUploadState_Ref_5100(Dictionary<int, List<int>> hdIdList, string projectNo, DateTime tableDate)
        //{
        //    StringBuilder sql = new StringBuilder();
        //    try
        //    {
        //        foreach (var item in hdIdList)
        //        {
        //            if (item.Value == null || item.Value.Count == 0)
        //                continue;
        //            sql.AppendFormat("update tbcchddata_sensor_{0}_{1} set fdap4zgswUploadState={2} where id in ({3});", projectNo, tableDate.ToString("yyyyMM"), item.Key, string.Join(",", item.Value));
        //        }
        //        if (sql.Length == 0)
        //            return 0;
        //        return _DBHelper.ExecuteNonQuery(sql.ToString());
        //    }
        //    catch (Exception ex)
        //    {
        //        //QueryHelp.RegisterUploadFailEvent(new UploadClass.UploadFailEventArgs("UpdateFdapUploadState_Ref_5100", ex.Message, sql.ToString()));
        //        return 0;
        //    }
        //}
        #endregion

        #region 查询车载历史/实时数据
        /// <summary>
        /// 获取所有车载的启停记录和指定数量历史数据
        /// </summary>
        /// <param name="dicStartUpId">所有车载最后一次上报的启停</param>
        /// <param name="dicLastTime">所有车载最后一次上报的记录时间</param>
        /// <param name="queryCount">查询数量</param>
        /// <returns></returns>
        public static List <TbccCarStartUpAndAiData> GetHistDataList_Car(Dictionary <string, int> dicStartUpId, Dictionary <string, DateTime> dicLastTime, int queryCount)
        {
            List <TbccCarStartUpAndAiData> list = new List <TbccCarStartUpAndAiData>();
            string currentInfo = string.Empty;

            try
            {
                foreach (string carPrjNo in dicStartUpId.Keys)
                {
                    currentInfo = carPrjNo;
                    TbccCarStartUpAndAiData prjData = new TbccCarStartUpAndAiData();
                    prjData.ProjectNo = carPrjNo;
                    int startUpId = dicStartUpId[carPrjNo];
                    prjData.LastTime = dicLastTime[carPrjNo];
                    TbccCarStartUp       prjStarUp = GetCarStartUp(carPrjNo, startUpId);
                    List <TbccCarAiData> prjHDList = GetCarHDList(carPrjNo, startUpId, prjData.LastTime, queryCount);
                    if (prjStarUp == null || prjHDList.Count == 0)
                    {
                        prjStarUp = GetCarNextFinishStartUp(carPrjNo, startUpId);
                        if (prjStarUp != null)
                        {
                            prjData.IsStartUpUpload = true;
                            prjData.LastTime        = prjStarUp.BeginTime.AddSeconds(-1);
                            prjHDList = GetCarHDList(carPrjNo, prjStarUp.Id, prjData.LastTime, queryCount);
                        }
                    }

                    prjData.StartUp  = prjStarUp;
                    prjData.CarDatas = prjHDList;
                    list.Add(prjData);
                    Thread.Sleep(100);
                }
            }
            catch (Exception ex)
            {
                //QueryHelp.RegisterUploadFailEvent(new UploadClass.UploadFailEventArgs("GetHistDataList_Car", ex.Message, currentInfo));
            }
            return(list);
        }