/// <summary> /// 获取最新发布的交通专报报文信息 /// </summary> /// <param name="dt">预报时间</param> /// <returns></returns> private TrafficForecastModel GetWelfareForecastInfoNow(DateTime dt) { try { TrafficForecastModel infoList = null; // 原始方法 string strSQL = "select * from LFS_TRAFFICFORECAST where ddatetime = to_date('" + dt.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') "; OracleHelper oh = new OracleHelper("HAIKOUConnect"); DataTable dTable = oh.ExecuteDataTable(strSQL); if (dTable != null && dTable.Rows.Count > 0) { infoList = new TrafficForecastModel(); infoList.Ddatetime = dt; infoList.Numid = Convert.ToInt32(dTable.Rows[0]["NUMID"].ToString()); //报文期号 infoList.TrafficTrendForecast = dTable.Rows[0]["TRAFFICTRENDFORECAST"].ToString(); //趋势预测内容 infoList.ForecastName = dTable.Rows[0]["FORECASTER"].ToString(); //预报员姓名 infoList.ForecastDate = dTable.Rows[0]["FORECASTDATE"].ToString(); //报文发布时间 } return(infoList); } catch (Exception ex) { return(null); } }
/// <summary> /// 获取交通专报报文信息,如果没有则返回默认报文信息 /// </summary> /// <param name="DDateTime">预报时间</param> /// <returns></returns> public TrafficForecastModel GetTrafficForecastInfo(DateTime DDateTime) { TrafficForecastModel info = GetWelfareForecastInfoNow(DDateTime); if (info == null) { return(GetTrafficForecastFromGrid(DDateTime)); } return(info); }
/// <summary> /// 制作最新交通专报报文信息 /// </summary> /// <param name="dt"></param> /// <returns></returns> private TrafficForecastModel GetTrafficForecastFromGrid(DateTime dt) { TrafficForecastModel infoList = null; try { infoList = new TrafficForecastModel(); string sql = "select max(NUMID) as NOID from LFS_TRAFFICFORECAST t"; OracleHelper oh = new OracleHelper("HAIKOUConnect"); string newNum = oh.ExecuteScalar(sql).ToString();//欧洲中心最新数据时间 string timesql = "select max(ddatetime) as latesttime from LFS_TRAFFICFORECAST t"; string latestTime = oh.ExecuteScalar(timesql).ToString();//欧洲中心最新数据时间 if (latestTime != "") { DateTime ecdt = DateTime.Parse(latestTime); if (dt.Ticks > ecdt.Ticks) { infoList.Numid = Convert.ToInt32(newNum) + 1; //报文期号 } else { infoList.Numid = Convert.ToInt32(newNum);//报文期号 } } else { infoList.Numid = 1; } infoList.Ddatetime = dt; infoList.TrafficTrendForecast = "预计,本周前期XXX,后期XXX。"; return(infoList); } catch (Exception ex) { return(null); } }
public bool InsertTrafficForcast(DateTime dt, List <TrafficForecastModel> infoList, TrafficForecastModel info, string forecaster) { return(tfDAL.InsertTrafficForecast(dt, info, infoList, forecaster)); }
public bool InsertTrafficForecast(DateTime dt, TrafficForecastModel info, List <TrafficForecastModel> daysList, string forecaster) { try { string strSQL = ""; string strID = ""; int result1 = 0; foreach (TrafficForecastModel info1 in daysList) { strSQL = "select recid from LFS_TRAFFICFORECASTDAYS where ddatetime=to_date('" + dt.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') and FORECASTDATE= to_date('" + info1.Ddatetime.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') "; OracleHelper oh = new OracleHelper("HAIKOUConnect"); strID = oh.db_GreateQuery(strSQL); if (strID.Length > 0) { strSQL = "update LFS_TRAFFICFORECASTDAYS set WEATHER1 ='" + info1.Weather1 + "'" + ",WEATHERPIC1='" + info1.WeatherIcon + "'" + ",MINTEMP='" + info1.MinTemp + "'" + ",MAXTEMP='" + info1.MaxTemp + "'" + ",MINWIND='" + info1.MinWind + "'" + ",MAXWIND='" + info1.MaxWind + "'" + ",WINDDIRECT='" + info1.WindDirect + "'" + " ,WRITETIME=to_date('" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "', 'yyyy-mm-dd HH24:mi:ss')" + " where RECID=" + strID;; } else { strSQL = "insert into LFS_TRAFFICFORECASTDAYS(ddatetime,WEATHER1,WEATHERPIC1,MINTEMP,MAXTEMP,MINWIND,MAXWIND,WINDDIRECT,FORECASTTIME,recid) values(" + " to_date('" + dt.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') " + ",'" + info1.Weather1 + "'" + ",'" + info1.WeatherIcon + "'" + ",'" + info1.MinTemp + "'" + ",'" + info1.MaxTemp + "'" + ",'" + info1.MinWind + "'" + ",'" + info1.MaxWind + "'" + ",'" + info1.WindDirect + "'" + ",to_date('" + info1.ForcastTime.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') " + ",seq_LFS_TRAFFICFORECASTDAYS.Nextval)"; } result1 = oh.db_ExecuteNonQuery(strSQL); if (result1 <= 0) { return(false); } } if (result1 > 0) { strSQL = "select recid from LFS_TRAFFICFORECAST where ddatetime=to_date('" + dt.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') "; OracleHelper oh = new OracleHelper("HAIKOUConnect"); strID = oh.db_GreateQuery(strSQL); if (strID.Length > 0) { strSQL = "update LFS_TRAFFICFORECAST set " + ",WRITETIME=to_date('" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') " + ",NUMID='" + info.Numid + "'" + ",FORECASTER='" + forecaster + "'" + ",TRAFFICTRENDFORECAST='" + info.TrafficTrendForecast + "'" + ",FILEFLAG=0" + ",FORECASTDATE='" + info.ForecastDate + "'" + " where RECID=" + strID; } else { strSQL = "insert into LFS_TRAFFICFORECAST(RECID" + ",DDATETIME" + ",WRITETIME" + ",NUMID" + ",TRAFFICTRENDFORECAST" + ",CREATEWORD" + ",FORECASTER" + ",FILEFLAG" + ",FORECASTDATE" + ") values(seq_LFS_TRAFFICFORECAST.Nextval" + " ,to_date('" + dt.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') " + ",to_date('" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi')" + ",'" + info.Numid + "'" + ",'" + info.TrafficTrendForecast + "'" + ",'" + 0 + "'" + ",'" + forecaster + "'" + ",'" + 0 + "'" + ",'" + info.ForecastDate + "'" + ")"; } result1 = oh.db_ExecuteNonQuery(strSQL); if (result1 <= 0) { return(false); } } } catch (Exception ex) { return(false); } return(true); }