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