Beispiel #1
0
        public object TrendAreaAjax(DateTime currtime, DateTime begtime, List <string> aid)
        {
            var query = dal.QueryWhere(d => d.DateTime >= begtime && d.DateTime <= currtime);

            if (aid.Count < 2)
            {
                var areaid = aid[0];
                var res    = query.Where(x => x.AreaID.Equals(areaid)).ToList().Select(s => new
                {
                    time  = (DateTime.Parse("" + s.DateTime).AddHours(8).Ticks - startTime) / 10000,
                    flow  = s.Inlet_SQ,
                    press = s.Inlet_AP,
                }).FirstOrDefault();
                return(res);
            }
            else
            {
                var where = ExtendWhereClass.False <Model.PG_Area_History>();
                foreach (var item in aid)
                {
                    where = where.Or(x => x.AreaID.Equals(item));
                }
                var res = query.Where(where.Compile()).ToList().Select(s => new
                {
                    time   = (DateTime.Parse("" + s.DateTime).AddHours(8).Ticks - startTime) / 10000,
                    flow   = s.Inlet_SQ,
                    press  = s.Inlet_AP,
                    areaid = s.AreaID
                }).OrderBy(o => o.areaid).GroupBy(g => g.areaid).Select(s => s.FirstOrDefault()).ToList();
                return(res);
            }
        }
        public object TrendDryer(DateTime currtime, DateTime begtime, List <string> Drystrlist)
        {
            var query = dal.QueryWhere(d => d.DateTime >= begtime && d.DateTime <= currtime);

            if (Drystrlist.Count < 2)
            {
                string str    = Drystrlist[0];
                string stastr = str.Substring(0, 4);
                string drystr = str.Substring(4, 4);
                var    res    = query.Where(x => x.StationID.Equals(stastr) && x.EquipID.Equals(drystr)).Select(ss => new {
                    ss.CDryer_InletPre,
                    ss.CDryer_OutPre,
                    ss.CDyer_InOutValue,
                    ss.CDyer_DewPoint,
                    ss.DateTime
                }).ToList().Select(s => new
                {
                    time   = (DateTime.Parse("" + s.DateTime).AddHours(8).Ticks - startTime) / 10000,
                    inpre  = Math.Round((double)s.CDryer_InletPre / 100, 1),
                    outpre = Math.Round((double)s.CDryer_OutPre / 100, 1),
                    inout  = Math.Round((double)s.CDyer_InOutValue / 100, 1),//转换单位
                    dewp   = s.CDyer_DewPoint,
                }).OrderBy(o => o.time).ToList();
                return(res);
            }
            else
            {
                //扩展类where 此句是调用此类的必要语句
                var where = ExtendWhereClass.False <Model.AP_AdsorptionDryer_Real>();
                //循环加载or语句
                foreach (var item in Drystrlist)
                {
                    string stastr = item.Substring(0, 4);
                    string censtr = item.Substring(4, 4);
                    //var re12s= ExtendWhereClass.Or<AP_Centrifuge_History>(x => x.StationID.Equals(stastr),x=>x.EquipID.Equals(censtr));
                    //拼接的lambda表达式(or)
                    where = where.Or(x => x.StationID.Equals(stastr) && x.EquipID.Equals(censtr));
                }
                //将lambda放入查询where语句中查询结果
                var res = query.Where(where.Compile()).ToList().Select(ss => new {
                    ss.CDryer_InletPre,
                    ss.CDryer_OutPre,
                    ss.CDyer_InOutValue,
                    ss.CDyer_DewPoint,
                    ss.DateTime,
                    ss.StationID,
                    ss.EquipID
                }).ToList().Select(s => new
                {
                    time   = (DateTime.Parse("" + s.DateTime).AddHours(8).Ticks - startTime) / 10000,
                    inpre  = Math.Round((double)s.CDryer_InletPre / 100, 1),
                    outpre = Math.Round((double)s.CDryer_OutPre / 100, 1),
                    inout  = Math.Round((double)s.CDyer_InOutValue / 100, 1),
                    dewp   = s.CDyer_DewPoint,
                    sta    = s.StationID,
                    dry    = s.EquipID
                }).OrderBy(o => o.time).GroupBy(g => new { g.sta, g.dry }).ToList();
                return(res);
            }
        }
Beispiel #3
0
        /// <summary>
        /// 趋势分析界面空压机所有数据
        /// </summary>
        /// <param name="currtime"></param>
        /// <param name="begtime"></param>
        /// <param name="censtrlist">空压机标识id集合</param>
        /// <returns></returns>
        public object TrendCentri(DateTime currtime, DateTime begtime, List <string> censtrlist)
        {
            var query = dal.QueryWhere(d => d.DateTime >= begtime && d.DateTime <= currtime);

            if (censtrlist.Count < 2)
            {
                string str    = censtrlist[0];
                string stastr = str.Substring(0, 4);
                string censtr = str.Substring(4, 4);
                var    res    = query.Where(x => x.StationID.Equals(stastr) && x.EquipID.Equals(censtr)).ToList().Select(s => new
                {
                    time   = (DateTime.Parse("" + s.DateTime).AddHours(8).Ticks - startTime) / 10000,
                    flow   = s.Q,
                    epower = s.ePower,
                    press  = s.Outlet_P,
                    A      = s.C,
                    upi    = s.UPI,
                    dre    = s.DRE,
                    bor    = s.LossRatio,
                    igv    = s.InletIOpen,
                    bov    = s.DiscgargeOpen
                }).OrderBy(o => o.time).ToList();
                return(res);
            }
            else
            {
                //扩展类where 此句是调用此类的必要语句
                var where = ExtendWhereClass.False <Model.AP_Centrifuge_Real>();
                //循环加载or语句
                foreach (var item in censtrlist)
                {
                    string stastr = item.Substring(0, 4);
                    string censtr = item.Substring(4, 4);
                    //var re12s= ExtendWhereClass.Or<AP_Centrifuge_History>(x => x.StationID.Equals(stastr),x=>x.EquipID.Equals(censtr));
                    //拼接的lambda表达式(or)
                    where = where.Or(x => x.StationID.Equals(stastr) && x.EquipID.Equals(censtr));
                }
                //将lambda放入查询where语句中查询结果
                var res = query.Where(where.Compile()).ToList().Select(s => new
                {
                    time   = (DateTime.Parse("" + s.DateTime).AddHours(8).Ticks - startTime) / 10000,
                    flow   = s.Q,
                    epower = s.ePower,
                    press  = s.Outlet_P,
                    A      = s.C,
                    upi    = s.UPI,
                    dre    = s.DRE,
                    bor    = s.LossRatio,
                    igv    = s.InletIOpen,
                    bov    = s.DiscgargeOpen,
                    sta    = s.StationID,
                    cen    = s.EquipID
                }).OrderBy(o => o.time).GroupBy(g => new { g.sta, g.cen }).ToList();
                return(res);
            }
        }