/// <summary>
        /// 批量修改
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public CustomResult Update(UpdateDataDailyViewModel args)
        {
            CustomResult pReturnValue = new CustomResult();
            pReturnValue.ResultKey = (byte)EResult.Fail;
            pReturnValue.ResultValue = TipInfo.UpdateFaile;
            if (args.DataInfo == null)
            {
                pReturnValue.ResultKey = (byte)EResult.Succeed;
                pReturnValue.ResultValue = TipInfo.DataNull;
                return pReturnValue;
            }
            List<UpdateDataDailyInfo> pNewUpdateData = new List<UpdateDataDailyInfo>();

            using (DataSubmittedEntities db = new DataSubmittedEntities())
            {
                var pReportData = db.RP_Daily.Where(s => s.CalcuTime == args.DataDate && s.StaType == args.StationType).ToList();
                using (TransactionScope transaction = new TransactionScope())
                {
                    try
                    {
                        foreach (var item in args.DataInfo)
                        {
                            //获取查询日期当天的数据
                            if (item.VehType == SystemConst.SmallCar)
                                item.VehType = "0";
                            if (item.VehType == SystemConst.OtherCar)
                                item.VehType = "1";
                            if (item.VehType == SystemConst.Truk)
                                item.VehType = "2";
                            if (item.VehType == SystemConst.Green)
                                item.VehType = "3";
                            int ptemp = int.Parse(item.VehType);
                            RP_Daily pDataTemp = new RP_Daily();
                            if (pReportData.Where(i => i.VehType == ptemp).Count() == 1)
                            {
                                pDataTemp = pReportData.Where(i => i.VehType == ptemp).SingleOrDefault();

                                if (item.ExEn == SystemConst.In)//入口
                                {
                                    pDataTemp.InNum = item.VehNum;//出口
                                }
                                else
                                {
                                    pDataTemp.OutNum = item.VehNum;
                                    pDataTemp.ChagFee = item.CarChag * 10000;//转为元,存到数据库
                                }
                                pDataTemp.UpdDate = DateTime.Now;
                                pDataTemp.State = 1;
                                if (SessionManage.GetLoginUser() != null)
                                {
                                    pDataTemp.UpdBy = SessionManage.GetLoginUser().UserName;
                                }
                            }
                        }
                        db.SaveChanges();
                        transaction.Complete();
                        pReturnValue.ResultKey = (byte)EResult.Succeed;
                        pReturnValue.ResultValue = TipInfo.UpdateSuccess;
                    }
                    catch (Exception ex)
                    {
                        Common.SystemLog.GetInstance().Log.Info(TipInfo.UpdateDataRepeat, ex);
                        pReturnValue.ResultKey = (byte)EResult.Fail;
                        pReturnValue.ResultValue = TipInfo.UpdateDataRepeat;
                    }
                    return pReturnValue;
                }
            }
        }
        /// <summary>
        /// 补充数据
        /// </summary>
        /// <param name="dt">统计日期</param>
        /// <param name="stationtype">统计类型</param>
        private void InsertNull(DateTime dt, int stationtype)
        {
            using (DataSubmittedEntities db = new DataSubmittedEntities())
            {
                List<RP_Daily> pDailyList = new List<RP_Daily>();
                for (int i = 0; i < 4; i++)
                {
                    //0小型客车,1其他客车,2货车(不包含绿通),3绿通
                    //每个站只有四条合计数据,每天数据表里一共只有16条
                    List<RP_Daily> pTemp = db.RP_Daily.Where(s => s.CalcuTime == dt && s.VehType == i && s.StaType == stationtype).ToList();
                    //如果数据不存在,才补充
                    if (pTemp.Count <= 0)
                    {
                        RP_Daily pDaily = new RP_Daily();

                        pDaily.Id = Guid.NewGuid();
                        pDaily.CrtDate = DateTime.Now;
                        pDaily.VehType = i;//车辆类型
                        pDaily.StaType = stationtype;
                        pDaily.State = 0;
                        pDaily.OutNum = 0;
                        pDaily.InNum = 0;
                        pDaily.ChagFee = 0;
                        pDaily.CalcuTime = DateTime.Parse(dt.ToShortDateString());
                        pDailyList.Add(pDaily);
                    }
                }
                using (TransactionScope transac = new TransactionScope())
                {
                    db.RP_Daily.AddRange(pDailyList);
                    if (pDailyList.Count > 0)
                    {
                        db.SaveChanges();
                        transac.Complete();
                    }
                }
            }
        }
        /// <summary>
        /// 统计类型
        /// </summary>
        /// <param name="stationtype">统计段类型</param>
        /// <param name="datasource">统计段数据源</param>
        /// <param name="dt">时间</param>
        /// <returns></returns>
        private List<RP_Daily> CalcuRP(int stationtype, IEnumerable<DS_DataSource> datasource, DateTime dt, List<int> stationlist)
        {
            List<RP_Daily> plist = new List<RP_Daily>();
            using (DataSubmittedEntities db = new DataSubmittedEntities())
            {
                for (int i = 0; i < 4; i++)
                {
                    //0小型客车,1其他客车,2货车(不包含绿通),3绿通
                    //每个站只有四条合计数据,每天数据表里一共只有16条
                    //判断各站各车型数据是有已存在,存在进行更新,不存在进行添加
                    List<RP_Daily> pDailyList = db.RP_Daily.Where(s => s.CalcuTime == dt && s.VehType == i && s.StaType == stationtype).ToList();
                    RP_Daily pDaily = new RP_Daily();
                    if (pDailyList.Count > 0)
                    {
                        pDaily = pDailyList.First();
                        pDaily.State = 1;
                        pDaily.UpdDate = DateTime.Now;
                    }
                    else
                    {
                        pDaily.Id = Guid.NewGuid();
                        pDaily.CrtDate = DateTime.Now;
                        pDaily.VehType = i;//车辆类型
                        pDaily.StaType = stationtype;
                        pDaily.State = 0;
                    }
                    byte ptemp = (byte)i;
                    pDaily.OutNum = datasource.Where(p => p.CalcuType == ptemp).Sum(p => p.OutNum);
                    pDaily.InNum = datasource.Where(p => p.CalcuType == ptemp).Sum(p => p.InNum);
                    if (i == 0)
                    {
                        pDaily.ChagFee = this.GetCharge(stationlist, datasource);
                    }
                    if (i == 1)
                    {
                        pDaily.ChagFee = datasource.Where(s => s.CalcuType == 1).Sum(s => s.RecMoney);
                    }
                    if (i == 2)
                    {
                        pDaily.ChagFee = datasource.Where(s => s.CalcuType == 2).Sum(s => s.RecMoney);
                    }
                    if (i == 3)
                    {
                        pDaily.InNum = 0;//入口绿通为0
                        pDaily.ChagFee = datasource.Where(s => s.CalcuType == 3).Sum(s => s.RecMoney);
                    }
                    pDaily.CalcuTime = DateTime.Parse(dt.ToShortDateString());

                    if (pDailyList.Count > 0)//进行更新
                    {
                        using (TransactionScope transac = new TransactionScope())
                        {
                            db.SaveChanges();
                            transac.Complete();
                        }
                    }
                    else
                    {
                        //将实体加入集合
                        plist.Add(pDaily);
                    }
                }
            }
            return plist;
        }