/// <summary> /// 根据查询条件获取数据 /// </summary> /// <param name="para">查询条件类,站类型也需要</param> /// <returns></returns> public IReportViewModel GetListByPra(QueryParameters para) { //查询返回实体 QueryHourAADTViewModel pReturn = new QueryHourAADTViewModel(); try { using (DataSubmittedEntities db = new DataSubmittedEntities()) { //补充空数据 InsertNull(para.StartTime.Value); List <int> pStationNames = StationConfiguration.GetBJStaion(); List <RP_HourAADT> pHourAADTList = db.RP_HourAADT.Where(s => s.CalcuTime == para.StartTime).ToList(); RP_HourAADT pHourAADTInfo = new RP_HourAADT(); //创建或更新合计 CreateOrUpdateSum(para); //报表数据 pReturn.ReportData = GetViewModelInfo(para); //判断当前统计站类型,数据是否完整 if (GetNoDataList(para).Count() > 0) { pReturn.IsFull = 0;//不完整 } else { pReturn.IsFull = 1;//完整 } } } catch (Exception ex) { SystemLog.GetInstance().Info(ex.Message); } return(pReturn); }
/// <summary> /// 根据查询条件获取数据 /// </summary> /// <param name="para">查询条件类,站类型也需要</param> /// <returns></returns> public IReportViewModel GetListByPra(QueryParameters para) { //查询返回实体 QueryHourAADTViewModel pReturn = new QueryHourAADTViewModel(); try { using (DataSubmittedEntities db = new DataSubmittedEntities()) { //补充空数据 InsertNull(para.StartTime.Value); List<int> pStationNames = StationConfiguration.GetBJStaion(); List<RP_HourAADT> pHourAADTList = db.RP_HourAADT.Where(s => s.CalcuTime == para.StartTime).ToList(); RP_HourAADT pHourAADTInfo = new RP_HourAADT(); //创建或更新合计 CreateOrUpdateSum(para); //报表数据 pReturn.ReportData = GetViewModelInfo(para); //判断当前统计站类型,数据是否完整 if (GetNoDataList(para).Count() > 0) pReturn.IsFull = 0;//不完整 else pReturn.IsFull = 1;//完整 } } catch (Exception ex) { SystemLog.GetInstance().Info(ex.Message); } return pReturn; }
/// <summary> /// 更新实体信息 /// </summary> /// <param name="sourcelist"></param> /// <param name="info"></param> /// <param name="statype"></param> /// <param name="dt"></param> /// <param name="ishas"></param> private void UpdateInfo(List <DS_DataSource> sourcelist, RP_HourAADT info, int hourper, DateTime dt, bool ishas) { if (ishas)//已存在,则更新 { info.UpdDate = DateTime.Now; info.State = "1"; } else//不存在,添加 { info.Id = Guid.NewGuid(); info.CrtDate = DateTime.Now; info.State = "0"; } //大羊坊 info.Dyf_ExIn = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.DYF).Sum(s => s.InNum); info.Dyf_EnOut = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.DYF).Sum(s => s.OutNum); //马驹桥东 info.Mjqd_EnIn = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.MJQD).Sum(s => s.InNum); info.Mjqd_EnOut = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.MJQD).Sum(s => s.OutNum); //马驹桥西 info.Mjqx_ExIn = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.MJQ).Sum(s => s.InNum); info.Mjqx_EnOut = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.MJQ).Sum(s => s.OutNum); //采育 info.Cy_ExIn = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.CY).Sum(s => s.InNum); info.Cy_EnOut = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.CY).Sum(s => s.OutNum); info.HourPer = (byte)hourper; info.CalcuTime = DateTime.Parse(dt.ToShortDateString()); }
public void Update(DateTime dt, int HourPer) { try { string startTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); SystemLog.GetInstance().Log.Info(string.Format("{0}:开始获取13,14报表数据", startTime)); using (DataSubmittedEntities db = new DataSubmittedEntities()) { DateTime pDt = DateTime.Parse(dt.ToShortDateString()); //报表13,14收费站 List <int> BJStation = StationConfiguration.GetBJStaion(); //获取今年当日数据//p.VehType == 0 表示合计数据, List <DS_DataSource> pCollection = db.DS_DataSource.Where(p => p.CalcuTime == dt && p.VehType == 0 && p.HourPer == HourPer && BJStation.Contains(p.StaID.Value)).ToList(); bool pIsHas = false; //北京段数据 RP_HourAADT pHoursTraffic = null; List <RP_HourAADT> pBJList = db.RP_HourAADT.Where(p => p.CalcuTime == pDt && p.HourPer == (byte)HourPer).ToList(); if (pBJList.Count > 0) { pHoursTraffic = pBJList.FirstOrDefault(); //每种状态需要重新赋值,防止公用同一个变量,值不明确 pIsHas = true; } else { pHoursTraffic = new RP_HourAADT(); pIsHas = false; } //更新实体 UpdateInfo(pCollection, pHoursTraffic, HourPer, pDt, pIsHas); using (TransactionScope transaction = new TransactionScope()) { //更新或添加 if (!pIsHas) { db.RP_HourAADT.Add(pHoursTraffic); } db.SaveChanges(); //提交事务 transaction.Complete(); } } string endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); SystemLog.GetInstance().Log.Info(string.Format("{0}:结束获取,13,14报表数据", endTime)); SystemLog.GetInstance().Log.Info(string.Format("统计13,14报表数据耗时{0}秒", (DateTime.Parse(endTime) - DateTime.Parse(startTime)).TotalSeconds)); //显示执行该方法的线程ID //SystemLog.GetInstance().Log.Info(string.Format("调用13,14Update的线程ID为:{0}", Thread.CurrentThread.ManagedThreadId)); Thread.Sleep(1000); } catch (Exception ex) { throw ex; } }
public void Update(DateTime dt, int HourPer) { try { string startTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); SystemLog.GetInstance().Log.Info(string.Format("{0}:开始获取13,14报表数据", startTime)); using (DataSubmittedEntities db = new DataSubmittedEntities()) { DateTime pDt = DateTime.Parse(dt.ToShortDateString()); //报表13,14收费站 List<int> BJStation = StationConfiguration.GetBJStaion(); //获取今年当日数据//p.VehType == 0 表示合计数据, List<DS_DataSource> pCollection = db.DS_DataSource.Where(p => p.CalcuTime == dt && p.VehType == 0 && p.HourPer == HourPer && BJStation.Contains(p.StaID.Value)).ToList(); bool pIsHas = false; //北京段数据 RP_HourAADT pHoursTraffic = null; List<RP_HourAADT> pBJList = db.RP_HourAADT.Where(p => p.CalcuTime == pDt && p.HourPer == (byte)HourPer).ToList(); if (pBJList.Count > 0) { pHoursTraffic = pBJList.FirstOrDefault(); //每种状态需要重新赋值,防止公用同一个变量,值不明确 pIsHas = true; } else { pHoursTraffic = new RP_HourAADT(); pIsHas = false; } //更新实体 UpdateInfo(pCollection, pHoursTraffic, HourPer, pDt, pIsHas); using (TransactionScope transaction = new TransactionScope()) { //更新或添加 if (!pIsHas) db.RP_HourAADT.Add(pHoursTraffic); db.SaveChanges(); //提交事务 transaction.Complete(); } } string endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); SystemLog.GetInstance().Log.Info(string.Format("{0}:结束获取,13,14报表数据", endTime)); SystemLog.GetInstance().Log.Info(string.Format("统计13,14报表数据耗时{0}秒", (DateTime.Parse(endTime) - DateTime.Parse(startTime)).TotalSeconds)); //显示执行该方法的线程ID //SystemLog.GetInstance().Log.Info(string.Format("调用13,14Update的线程ID为:{0}", Thread.CurrentThread.ManagedThreadId)); Thread.Sleep(1000); } catch (Exception ex) { throw ex; } }
/// <summary> /// 创建或修改13,14合计 /// </summary> /// <param name="para"></param> /// <param name="stationtype">收费站类型</param> private void CreateOrUpdateSum(QueryParameters para) { using (DataSubmittedEntities db = new DataSubmittedEntities()) { //查询日期当天除合计外的全部数据 IEnumerable <RP_HourAADT> all = db.RP_HourAADT.Where(s => s.CalcuTime == para.StartTime && s.HourPer != 24); IEnumerable <RP_HourAADT> listsum = db.RP_HourAADT.Where(s => s.CalcuTime == para.StartTime && s.HourPer == 24); RP_HourAADT pHourAADT = new RP_HourAADT(); //如果有数据则进行合计 if (all.Count() > 0) { if (listsum.Count() > 0) { pHourAADT = listsum.First(); } pHourAADT.Dyf_ExIn = all.Sum(s => s.Dyf_ExIn); pHourAADT.Dyf_EnOut = all.Sum(s => s.Dyf_EnOut); pHourAADT.Mjqd_EnIn = all.Sum(s => s.Mjqd_EnIn); pHourAADT.Mjqd_EnOut = all.Sum(s => s.Mjqd_EnOut); pHourAADT.Mjqx_EnOut = all.Sum(s => s.Mjqx_EnOut); pHourAADT.Mjqx_ExIn = all.Sum(s => s.Mjqx_ExIn); pHourAADT.Cy_EnOut = all.Sum(s => s.Cy_EnOut); pHourAADT.Cy_ExIn = all.Sum(s => s.Cy_ExIn); pHourAADT.State = "1"; using (TransactionScope transaction = new TransactionScope()) { if (listsum.Count() <= 0) { pHourAADT.HourPer = 24;//24代表合计 pHourAADT.Id = Guid.NewGuid(); pHourAADT.CalcuTime = (DateTime)para.StartTime; pHourAADT.CrtDate = DateTime.Now; pHourAADT.State = "0"; db.RP_HourAADT.Add(pHourAADT); } else { pHourAADT.UpdDate = DateTime.Now; } db.SaveChanges(); //提交事务 transaction.Complete(); } } } }
/// <summary> /// 补充数据 /// </summary> /// <param name="dt">统计日期</param> private void InsertNull(DateTime dt) { using (DataSubmittedEntities db = new DataSubmittedEntities()) { int ptemp = 24; if (DateTime.Now.Date == dt) { ptemp = DateTime.Now.Hour; } List <RP_HourAADT> pList = new List <RP_HourAADT>(); for (int i = 0; i < ptemp; i++) { List <RP_HourAADT> pTemp = db.RP_HourAADT.Where(s => s.CalcuTime == dt && s.HourPer == (byte)i).ToList(); //如果数据不存在,才补充 if (pTemp.Count <= 0) { RP_HourAADT pHour = new RP_HourAADT(); pHour.Id = Guid.NewGuid(); pHour.Mjqd_EnIn = 0; pHour.Mjqd_EnOut = 0; pHour.Dyf_EnOut = 0; pHour.Dyf_ExIn = 0; pHour.Mjqx_EnOut = 0; pHour.Mjqx_ExIn = 0; pHour.Cy_EnOut = 0; pHour.Cy_ExIn = 0; pHour.State = "0"; pHour.CalcuTime = dt; pHour.CrtDate = DateTime.Now; pHour.HourPer = (byte)i; pList.Add(pHour); } } using (TransactionScope transac = new TransactionScope()) { db.RP_HourAADT.AddRange(pList); if (pList.Count > 0) { db.SaveChanges(); transac.Complete(); } } } }
/// <summary> /// 创建或修改13,14合计 /// </summary> /// <param name="para"></param> /// <param name="stationtype">收费站类型</param> private void CreateOrUpdateSum(QueryParameters para) { using (DataSubmittedEntities db = new DataSubmittedEntities()) { //查询日期当天除合计外的全部数据 IEnumerable<RP_HourAADT> all = db.RP_HourAADT.Where(s => s.CalcuTime == para.StartTime && s.HourPer != 24); IEnumerable<RP_HourAADT> listsum = db.RP_HourAADT.Where(s => s.CalcuTime == para.StartTime && s.HourPer == 24); RP_HourAADT pHourAADT = new RP_HourAADT(); //如果有数据则进行合计 if (all.Count() > 0) { if (listsum.Count() > 0) { pHourAADT = listsum.First(); } pHourAADT.Dyf_ExIn = all.Sum(s => s.Dyf_ExIn); pHourAADT.Dyf_EnOut = all.Sum(s => s.Dyf_EnOut); pHourAADT.Mjqd_EnIn = all.Sum(s => s.Mjqd_EnIn); pHourAADT.Mjqd_EnOut = all.Sum(s => s.Mjqd_EnOut); pHourAADT.Mjqx_EnOut = all.Sum(s => s.Mjqx_EnOut); pHourAADT.Mjqx_ExIn = all.Sum(s => s.Mjqx_ExIn); pHourAADT.Cy_EnOut = all.Sum(s => s.Cy_EnOut); pHourAADT.Cy_ExIn = all.Sum(s => s.Cy_ExIn); pHourAADT.State = "1"; using (TransactionScope transaction = new TransactionScope()) { if (listsum.Count() <= 0) { pHourAADT.HourPer = 24;//24代表合计 pHourAADT.Id = Guid.NewGuid(); pHourAADT.CalcuTime = (DateTime)para.StartTime; pHourAADT.CrtDate = DateTime.Now; pHourAADT.State = "0"; db.RP_HourAADT.Add(pHourAADT); } else { pHourAADT.UpdDate = DateTime.Now; } db.SaveChanges(); //提交事务 transaction.Complete(); } } } }
/// <summary> /// 补充数据 /// </summary> /// <param name="dt">统计日期</param> private void InsertNull(DateTime dt) { using (DataSubmittedEntities db = new DataSubmittedEntities()) { int ptemp = 24; if (DateTime.Now.Date == dt) { ptemp = DateTime.Now.Hour; } List<RP_HourAADT> pList = new List<RP_HourAADT>(); for (int i = 0; i < ptemp; i++) { List<RP_HourAADT> pTemp = db.RP_HourAADT.Where(s => s.CalcuTime == dt && s.HourPer == (byte)i).ToList(); //如果数据不存在,才补充 if (pTemp.Count <= 0) { RP_HourAADT pHour = new RP_HourAADT(); pHour.Id = Guid.NewGuid(); pHour.Mjqd_EnIn = 0; pHour.Mjqd_EnOut = 0; pHour.Dyf_EnOut = 0; pHour.Dyf_ExIn = 0; pHour.Mjqx_EnOut = 0; pHour.Mjqx_ExIn = 0; pHour.Cy_EnOut = 0; pHour.Cy_ExIn = 0; pHour.State = "0"; pHour.CalcuTime = dt; pHour.CrtDate = DateTime.Now; pHour.HourPer = (byte)i; pList.Add(pHour); } } using (TransactionScope transac = new TransactionScope()) { db.RP_HourAADT.AddRange(pList); if (pList.Count > 0) { db.SaveChanges(); transac.Complete(); } } } }
/// <summary> /// 校正数据 /// </summary> /// <param name="args"></param> /// <returns></returns> public CustomResult CalibrationData(QueryParameters para) { CustomResult pReturnValue = new CustomResult(); //判断选择校正时间段的有效性 string[] calibrationDataHour = new string[24]; if (para.StartHour <= para.EndHour) { for (int i = para.StartHour; i <= para.EndHour; i++) { calibrationDataHour[i] = i.ToString(); } } else { pReturnValue.ResultKey = (byte)EResult.Fail; pReturnValue.ResultValue = TipInfo.CalibrationFaileHour; return(pReturnValue); } double pFloating = 1 + para.FloatingRange * 0.01; List <RP_NatSta> pNaturalTraList = new List <RP_NatSta>(); try { using (DataSubmittedEntities db = new DataSubmittedEntities()) { //判断报表浮动百分比配置是否正确 OT_HDayConfig pds = HolidayConfig.GetInstance().GetById(para.ReportType); if (pds == null) { pReturnValue.ResultKey = (byte)EResult.Fail; pReturnValue.ResultValue = TipInfo.CalibrationFaileNoConfig; return(pReturnValue); } if (Math.Abs(para.FloatingRange) > (double)pds.CheckFloat.Value) { pReturnValue.ResultKey = (byte)EResult.Fail; pReturnValue.ResultValue = TipInfo.ErrorInfo + "范围应在负" + pds.CheckFloat.Value + "%-正" + pds.CheckFloat.Value + "%之间"; return(pReturnValue); } //获取参考日期符合校正时间段的数据,因为只校正一天的数据,所以只查询开始数据的日期就可以 List <RP_HourAADT> pRefHourAADTList = db.RP_HourAADT.Where(s => s.CalcuTime == para.LastYearStart && calibrationDataHour.Contains(s.HourPer.ToString())).ToList(); //如果参考日期数据为0 则返回失败 if (pRefHourAADTList.Count <= 0) { pReturnValue.ResultKey = (byte)EResult.Fail; pReturnValue.ResultValue = TipInfo.CalibrationFaileRefNoData; return(pReturnValue); } //判断时间范围是否相同 if ((para.LastYearEnd - para.LastYearStart) == (para.EndTime - para.StartTime)) { //需要校正的数据 var pCheckHourAADTList = db.RP_HourAADT.Where(s => s.CalcuTime == para.StartTime && calibrationDataHour.Contains(s.HourPer.ToString())).ToList(); if (pCheckHourAADTList.Count <= 0) { pReturnValue.ResultKey = (byte)EResult.Fail; pReturnValue.ResultValue = TipInfo.CalibrationFaileNoData; return(pReturnValue); } using (TransactionScope tran = new TransactionScope()) { foreach (var item in pCheckHourAADTList) { List <RP_HourAADT> plist = pRefHourAADTList.Where(i => i.HourPer == item.HourPer).ToList(); if (plist.Count() > 0) { RP_HourAADT pTemp = plist.First(); item.Dyf_EnOut = Math.Round(pTemp.Dyf_EnOut.Value * pFloating); item.Dyf_ExIn = Math.Round(pTemp.Dyf_ExIn.Value * pFloating); item.Mjqd_EnIn = Math.Round(pTemp.Mjqd_EnIn.Value * pFloating); item.Mjqd_EnOut = Math.Round(pTemp.Mjqd_EnOut.Value * pFloating); item.Mjqx_ExIn = Math.Round(pTemp.Mjqx_ExIn.Value * pFloating); item.Mjqx_EnOut = Math.Round(pTemp.Mjqx_EnOut.Value * pFloating); item.Cy_EnOut = Math.Round(pTemp.Cy_EnOut.Value * pFloating); item.Cy_ExIn = Math.Round(pTemp.Cy_ExIn.Value * pFloating); item.CalcuTime = para.StartTime.Value; if (SessionManage.GetLoginUser() != null) { item.UpdBy = SessionManage.GetLoginUser().UserName; } item.UpdDate = DateTime.Now; item.State = "1"; } } db.SaveChanges(); tran.Complete(); pReturnValue.ResultKey = (byte)EResult.Succeed; pReturnValue.ResultValue = TipInfo.CalibrationSuccess; } } else { pReturnValue.ResultKey = (byte)EResult.Fail; pReturnValue.ResultValue = TipInfo.CalibrationRangeFaile; } } } catch (Exception e) { pReturnValue.ResultKey = (byte)EResult.Fail; pReturnValue.ResultValue = TipInfo.CalibrationFaile + e.Message.ToString(); SystemLog.GetInstance().Error(TipInfo.CalibrationFaile, e); return(pReturnValue); } return(pReturnValue); }
/// <summary> /// 获取查询集合 /// </summary> /// <param name="para"></param> /// <returns></returns> private List <HourAADTViewModel> GetViewModelInfo(QueryParameters para) { using (DataSubmittedEntities db = new DataSubmittedEntities()) { //获取当天全部时间段的数据 List <RP_HourAADT> pHourAADTList = db.RP_HourAADT.Where(s => s.CalcuTime == para.StartTime).ToList(); //获取空数据 List <HourAADTViewModel> pModelList = GetNullInfo(para.ReportType); //遍历修改空数据的值 foreach (HourAADTViewModel model in pModelList) { //遍历25条数据(包括合计) for (int i = 0; i < 25; i++) { RP_HourAADT pHourAADTInfo = null; List <RP_HourAADT> HourList = pHourAADTList.Where(s => s.HourPer == (byte)i).ToList(); if (HourList.Count > 0) { pHourAADTInfo = HourList.SingleOrDefault(); } if (pHourAADTInfo != null) { Type myType = model.GetType(); PropertyInfo pinfo = myType.GetProperty("Count_" + i); if (para.ReportType == 13) { if (model.StaName == "大羊坊站" && model.TraName == "出京入") { pinfo.SetValue(model, pHourAADTInfo.Dyf_ExIn.Value); } if (model.StaName == "马驹桥东站" && model.TraName == "进京入") { pinfo.SetValue(model, pHourAADTInfo.Mjqd_EnIn.Value); } if (model.StaName == "马驹桥西站" && model.TraName == "出京入") { pinfo.SetValue(model, pHourAADTInfo.Mjqx_ExIn.Value); } if (model.StaName == "采育站" && model.TraName == "出京入") { pinfo.SetValue(model, pHourAADTInfo.Cy_ExIn.Value); } if (model.StaName == "大羊坊站" && model.TraName == "进京出") { pinfo.SetValue(model, pHourAADTInfo.Dyf_EnOut.Value); } if (model.StaName == "马驹桥东站" && model.TraName == "进京出") { pinfo.SetValue(model, pHourAADTInfo.Mjqd_EnOut.Value); } if (model.StaName == "马驹桥西站" && model.TraName == "进京出") { pinfo.SetValue(model, pHourAADTInfo.Mjqx_EnOut.Value); } if (model.StaName == "采育站" && model.TraName == "进京出") { pinfo.SetValue(model, pHourAADTInfo.Cy_EnOut.Value); } } else if (para.ReportType == 14) { if (model.StaName == "大羊坊站" && (model.TraName == "进出京合计" || model.TraName == "进京")) { pinfo.SetValue(model, pHourAADTInfo.Dyf_EnOut.Value); } if (model.StaName == "马驹桥东站" && (model.TraName == "进出京合计" || model.TraName == "进京")) { pinfo.SetValue(model, pHourAADTInfo.Mjqd_EnOut.Value); } if (model.StaName == "马驹桥西站" && (model.TraName == "进出京合计" || model.TraName == "进京")) { pinfo.SetValue(model, pHourAADTInfo.Mjqx_EnOut.Value); } if (model.StaName == "采育站" && (model.TraName == "进出京合计" || model.TraName == "进京")) { pinfo.SetValue(model, pHourAADTInfo.Cy_EnOut.Value); } } } } } return(pModelList); } }
/// <summary> /// 批量修改 /// </summary> /// <param name="args"></param> /// <returns></returns> public CustomResult Update(UpdateHourAADTViewModel args) { CustomResult pReturnValue = new CustomResult(); pReturnValue.ResultKey = (byte)EResult.Fail; pReturnValue.ResultValue = TipInfo.UpdateFaile; if (args.UpdateData == null) { pReturnValue.ResultKey = (byte)EResult.Succeed; pReturnValue.ResultValue = TipInfo.DataNull; return(pReturnValue); } using (DataSubmittedEntities db = new DataSubmittedEntities()) { var pReportData = db.RP_HourAADT.Where(s => s.CalcuTime == args.DataDate && s.HourPer != 24).ToList(); using (TransactionScope transaction = new TransactionScope()) { try { //获取对应的数据 foreach (UpdateHourAADTInfo item in args.UpdateData) { for (int i = 0; i < 24; i++) { RP_HourAADT pHourAADT = null; List <RP_HourAADT> pHourList = pReportData.Where(s => s.HourPer == i).ToList(); if (pHourList.Count > 0) { pHourAADT = pHourList.SingleOrDefault(); } else { //如果该时段的数据没有找到,则进行下次循环 continue; } Type myType = item.GetType(); PropertyInfo pinfo = myType.GetProperty("Count_" + i); if (item.StaName == "大羊坊站" && item.TraName == "出京入") { pHourAADT.Dyf_ExIn = (double)pinfo.GetValue(item); } if (item.StaName == "马驹桥东站" && item.TraName == "进京入") { pHourAADT.Mjqd_EnIn = (double)pinfo.GetValue(item); } if (item.StaName == "马驹桥西站" && item.TraName == "出京入") { pHourAADT.Mjqx_ExIn = (double)pinfo.GetValue(item); } if (item.StaName == "采育站" && item.TraName == "出京入") { pHourAADT.Cy_ExIn = (double)pinfo.GetValue(item); } if (item.StaName == "大羊坊站" && item.TraName == "进京出") { pHourAADT.Dyf_EnOut = (double)pinfo.GetValue(item); } if (item.StaName == "马驹桥东站" && item.TraName == "进京出") { pHourAADT.Mjqd_EnOut = (double)pinfo.GetValue(item); } if (item.StaName == "马驹桥西站" && item.TraName == "进京出") { pHourAADT.Mjqx_EnOut = (double)pinfo.GetValue(item); } if (item.StaName == "采育站" && item.TraName == "进京出") { pHourAADT.Cy_EnOut = (double)pinfo.GetValue(item); } pHourAADT.UpdDate = DateTime.Now; pHourAADT.State = "1"; if (SessionManage.GetLoginUser() != null) { pHourAADT.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="sourcelist"></param> /// <param name="info"></param> /// <param name="statype"></param> /// <param name="dt"></param> /// <param name="ishas"></param> private void UpdateInfo(List<DS_DataSource> sourcelist, RP_HourAADT info, int hourper, DateTime dt, bool ishas) { if (ishas)//已存在,则更新 { info.UpdDate = DateTime.Now; info.State = "1"; } else//不存在,添加 { info.Id = Guid.NewGuid(); info.CrtDate = DateTime.Now; info.State = "0"; } //大羊坊 info.Dyf_ExIn = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.DYF).Sum(s => s.InNum); info.Dyf_EnOut = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.DYF).Sum(s => s.OutNum); //马驹桥东 info.Mjqd_EnIn = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.MJQD).Sum(s => s.InNum); info.Mjqd_EnOut = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.MJQD).Sum(s => s.OutNum); //马驹桥西 info.Mjqx_ExIn = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.MJQ).Sum(s => s.InNum); info.Mjqx_EnOut = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.MJQ).Sum(s => s.OutNum); //采育 info.Cy_ExIn = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.CY).Sum(s => s.InNum); info.Cy_EnOut = sourcelist.Where(s => s.StaID == (int)StationConfiguration.StationID.CY).Sum(s => s.OutNum); info.HourPer = (byte)hourper; info.CalcuTime = DateTime.Parse(dt.ToShortDateString()); }