/// <summary>
        /// 放入缓存
        /// </summary>
        /// <param name="deviceYearData"></param>
        public void Cache(CollectorMonthDayData collectorMonthDayData)
        {
            string cacheKey = CacheKeyUtil.buildCollectorEnergyMonthCountKey(collectorMonthDayData.collectorID, collectorMonthDayData.year, collectorMonthDayData.month);

            if (!persistentListKey.Contains(cacheKey)) persistentListKey.Add(cacheKey);
            //一个月3天后过期
            MemcachedClientSatat.getInstance().Set(cacheKey, collectorMonthDayData, DateTime.Now.AddMonths(1).AddDays(3));
        }
        /// <summary>
        /// 取得采集器的某个年度和月度的对象
        /// </summary>
        /// <param name="year"></param>
        /// <param name="collectorID"></param>
        /// <param name="month"></param>
        /// <returns></returns>
        public CollectorMonthDayData GetCollectorMonthDayData(int year, int collectorID, int month)
        {
            string cacheKey = CacheKeyUtil.buildCollectorEnergyMonthCountKey(collectorID, year, month);
            object obj = MemcachedClientSatat.getInstance().Get(cacheKey);

            CollectorMonthDayData deviceMonthDayData;
            if (obj != null && !string.IsNullOrEmpty(obj.ToString()))//存在即修改
            {
                deviceMonthDayData = (CollectorMonthDayData)obj;
            }
            else {
                //从数据库中取得
                deviceMonthDayData = _unitMonthDataDao.GetCollectorMonthDayData(year, collectorID, month);
                if (deviceMonthDayData == null)//构造一个新实例
                    deviceMonthDayData = new CollectorMonthDayData() { collectorID = collectorID, year = year, month = month };
                deviceMonthDayData.localAcceptTime = DateTime.Now;
                deviceMonthDayData.year = year;
                MemcachedClientSatat.getInstance().Set(cacheKey, deviceMonthDayData);
            }

            return deviceMonthDayData;
        }
        /// <summary>
        /// 将各个月度数据付给map
        /// </summary>
        /// <param name="monthDataMap"></param>
        /// <param name="unitYearData"></param>
        private void putMonthDayMap(Hashtable monthDataMap, CollectorMonthDayData unitMonthData)
        {
            int month = unitMonthData.month;
            int year = unitMonthData.year;

            //使用反射获得对象的号到最后一天的属性值
            int days = CalenderUtil.getMonthDays(year, month);
            for (int i = 1; i <= days; i++)
            {
                string key = year + TableUtil.convertIntToMnthStr(month)+TableUtil.convertIntToMnthStr(i);
                System.Object obj = monthDataMap[key];
                if (obj == null) { obj = 0; }
                object curValue = unitMonthData.GetType().GetProperty("d_" + i).GetValue(unitMonthData, null);
                if(curValue == null)continue;
                float value = StringUtil.stringtoFloat(curValue.ToString());
                monthDataMap[key] = StringUtil.stringtoFloat(obj.ToString()) + value;
            }
        }
 /// <summary>
 /// 获取电站月数据
 /// 需要传递一个Year 年份
 /// plantId 电站编号
 /// month  月份
 /// </summary>
 /// <param name="data"></param>
 /// <returns></returns>
 public CollectorMonthDayData Get(CollectorMonthDayData data)
 {
     return _unitMonthDataDao.Get(data);
 }