Пример #1
0
        /// <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);
            }
        }
Пример #2
0
        /// <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);
        }
Пример #3
0
        /// <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);
            }
        }
Пример #4
0
 public bool InsertTrafficForcast(DateTime dt, List <TrafficForecastModel> infoList, TrafficForecastModel info, string forecaster)
 {
     return(tfDAL.InsertTrafficForecast(dt, info, infoList, forecaster));
 }
Пример #5
0
 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);
 }