Esempio n. 1
0
        //GET: transfer/statistic
        /// <summary>
        /// 获取数据转储统计信息,这里时间为年月日,直接在表中取当天9时-第二天8时之间的所有数据。只能查询一天的数据。
        /// @param date:YYYY-MM-DD
        /// </summary>
        /// <returns></returns>
        public ActionResult statistic()
        {
            DateTime from;
            int      id = 0;

            try
            {
                from = DateTime.Parse(Request.Params.Get("date"));
                id   = int.Parse(Request.Params.Get("isubcenter"));
            }
            catch (Exception e)
            {
                return(Json(helper.DBHelper.SerializeDBReturnCode(helper.DBReturnCode.BAD_REQUEST), JsonRequestBehavior.AllowGet));
            }
            Models.QueryResult     result   = new Models.QueryResult();
            Models.Maintain        db       = new Models.Maintain();
            List <Models.Station>  stations = DAL.StationService.ListStationBySubcenterId(id);
            List <Models.M_status> datas    = DAL.TransferDataService.ListMonitorData(db, from, 1); //仅查一天的数据

            foreach (Models.Station station in stations)
            {
                Models.M_status data = datas.FirstOrDefault(i => i.STCD == station.stationId);
                Models.TransferStatisticRecord record = new Models.TransferStatisticRecord(station, data);
                result.records.Add(record);
            }
            JavaScriptSerializer jsSerializer = new JavaScriptSerializer();

            jsSerializer.MaxJsonLength = Int32.MaxValue;
            string json = jsSerializer.Serialize(result);

            return(Json(json, JsonRequestBehavior.AllowGet));
        }
 //public bool[][] array;
 //public Dictionary<DateTime, bool> datas;
 /// <summary>
 /// 根据给定的数据库记录,仅仅返回给定日9时到第二天8时的数据(即数据库中一条记录)
 /// </summary>
 /// 多条记录比较麻烦而且暂时没有需要。
 /// <param name="station">站点信息</param>
 /// <param name="record">数据库中一条记录</param>
 public TransferStatisticRecord(Models.Station station, Models.M_status record)
 {
     //this.station = station;
     this.id   = station.stationId;
     this.type = station.stationType;
     this.name = station.stationName;
     //datas = new Dictionary<DateTime, bool>();
     datas = new List <HourData>();
     //array = new bool[24][];
     if (record != null)
     {
         //array[0] = new bool[2];
         //array[0][0] = record.H0R == "1";
         //array[0][1] = record.H0W == "1";
         //array[1] = new bool[2];
         //array[1][0] = record.H1R == "1";
         //array[1][1] = record.H1W == "1";
         //array[2] = new bool[2];
         //array[2][0] = record.H2R == "1";
         //array[2][1] = record.H2W == "1";
         //array[3] = new bool[2];
         //array[3][0] = record.H3R == "1";
         //array[3][1] = record.H3W == "1";
         //array[4] = new bool[2];
         //array[4][0] = record.H4R == "1";
         //array[4][1] = record.H4W == "1";
         //array[5] = new bool[2];
         //array[5][0] = record.H5R == "1";
         //array[5][1] = record.H5W == "1";
         //array[6] = new bool[2];
         //array[6][0] = record.H6R == "1";
         //array[6][1] = record.H6W == "1";
         //array[7] = new bool[2];
         //array[7][0] = record.H7R == "1";
         //array[7][1] = record.H7W == "1";
         //array[8] = new bool[2];
         //array[8][0] = record.H8R == "1";
         //array[8][1] = record.H8W == "1";
         //array[9] = new bool[2];
         //array[9][0] = record.H9R == "1";
         //array[9][0] = record.H9W == "1";
         //array[10] = new bool[2];
         //array[10][0] = record.H10R == "1";
         //array[10][1] = record.H10W == "1";
         //array[11] = new bool[2];
         //array[11][0] = record.H1R == "1";
         //array[11][1] = record.H11W == "1";
         //array[12] = new bool[2];
         //array[12][0] = record.H12R == "1";
         //array[12][1] = record.H12W == "1";
         //array[13] = new bool[2];
         //array[13][0] = record.H13R == "1";
         //array[13][1] = record.H13W == "1";
         //array[14] = new bool[2];
         //array[14][0] = record.H14R == "1";
         //array[14][1] = record.H14W == "1";
         //array[15] = new bool[2];
         //array[15][0] = record.H15R == "1";
         //array[15][1] = record.H15W == "1";
         //array[16] = new bool[2];
         //array[16][0] = record.H16R == "1";
         //array[16][1] = record.H16W == "1";
         //array[17] = new bool[2];
         //array[17][0] = record.H17R == "1";
         //array[17][1] = record.H17W == "1";
         //array[18] = new bool[2];
         //array[18][0] = record.H18R == "1";
         //array[18][1] = record.H18W == "1";
         //array[19] = new bool[2];
         //array[19][0] = record.H19R == "1";
         //array[19][1] = record.H19W == "1";
         //array[20] = new bool[2];
         //array[20][0] = record.H20R == "1";
         //array[20][1] = record.H20W == "1";
         //array[21] = new bool[2];
         //array[21][0] = record.H21R == "1";
         //array[21][1] = record.H21W == "1";
         //array[22] = new bool[2];
         //array[22][0] = record.H22R == "1";
         //array[22][1] = record.H22W == "1";
         //array[23] = new bool[2];
         //array[23][0] = record.H23R == "1";
         //array[23][1] = record.H23W == "1";
         datas.Add(new HourData(rain: record.H0R == "1", water: record.H0W == "1"));
         datas.Add(new HourData(rain: record.H1R == "1", water: record.H1W == "1"));
         datas.Add(new HourData(rain: record.H2R == "1", water: record.H2W == "1"));
         datas.Add(new HourData(rain: record.H3R == "1", water: record.H3W == "1"));
         datas.Add(new HourData(rain: record.H4R == "1", water: record.H4W == "1"));
         datas.Add(new HourData(rain: record.H5R == "1", water: record.H5W == "1"));
         datas.Add(new HourData(rain: record.H6R == "1", water: record.H6W == "1"));
         datas.Add(new HourData(rain: record.H7R == "1", water: record.H7W == "1"));
         datas.Add(new HourData(rain: record.H8R == "1", water: record.H8W == "1"));
         datas.Add(new HourData(rain: record.H9R == "1", water: record.H9W == "1"));
         datas.Add(new HourData(rain: record.H10R == "1", water: record.H10W == "1"));
         datas.Add(new HourData(rain: record.H11R == "1", water: record.H11W == "1"));
         datas.Add(new HourData(rain: record.H12R == "1", water: record.H12W == "1"));
         datas.Add(new HourData(rain: record.H13R == "1", water: record.H13W == "1"));
         datas.Add(new HourData(rain: record.H14R == "1", water: record.H14W == "1"));
         datas.Add(new HourData(rain: record.H15R == "1", water: record.H15W == "1"));
         datas.Add(new HourData(rain: record.H16R == "1", water: record.H16W == "1"));
         datas.Add(new HourData(rain: record.H17R == "1", water: record.H17W == "1"));
         datas.Add(new HourData(rain: record.H18R == "1", water: record.H18W == "1"));
         datas.Add(new HourData(rain: record.H19R == "1", water: record.H19W == "1"));
         datas.Add(new HourData(rain: record.H20R == "1", water: record.H20W == "1"));
         datas.Add(new HourData(rain: record.H21R == "1", water: record.H21W == "1"));
         datas.Add(new HourData(rain: record.H22R == "1", water: record.H22W == "1"));
         datas.Add(new HourData(rain: record.H23R == "1", water: record.H23W == "1"));
     }
     else
     {
         //数据库不存在该站点的数据,全部设为转储失败。
         for (int i = 0; i < 24; i++)
         {
             datas.Add(new HourData(false, false));
             //array[i] = new bool[2];
             //array[i][0] = false;
             //array[i][1] = false;
         }
     }
 }