コード例 #1
0
        /// <summary>
        /// 获取最新发布的春运报文信息
        /// </summary>
        /// <param name="dt">预报时间</param>
        /// <returns></returns>
        private SpringForecastModel GetWelfareForecastInfoNow(DateTime dt)
        {
            try
            {
                SpringForecastModel infoList = null;
                // 原始方法
                string       strSQL = "select * from LFS_SPRINGFORECAST 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 SpringForecastModel();
                    infoList.Ddatetime               = dt;
                    infoList.Numid                   = Convert.ToInt32(dTable.Rows[0]["NUMID"].ToString());  //报文期号
                    infoList.TotalTrendTitle         = dTable.Rows[0]["TOTALTRENDTITLE"].ToString();         //春运天气总趋势预测标题
                    infoList.TotalTrendForecast      = dTable.Rows[0]["TOTALTRENDFORECAST"].ToString();      //春运天气总趋势预测内容
                    infoList.ThreeDayForecastTitle   = dTable.Rows[0]["THREEDAYFORECASTTITLE"].ToString();   //未来3天天气预报 一级标题
                    infoList.ThreeDayForecast        = dTable.Rows[0]["THREEDAYFORECAST"].ToString();        //未来3天天气预报  标题
                    infoList.ThreeDayContent         = dTable.Rows[0]["THREEDAYCONTENT"].ToString();         //未来3天天气预报  内容
                    infoList.ThreeDayTrafficForecast = dTable.Rows[0]["THREEDAYTRAFFICFORECAST"].ToString(); //未来三天交通气象预报  标题
                    infoList.MainTrafficRoad         = dTable.Rows[0]["MAINTRAFFICROAD"].ToString();         //未来三天交通气象预报 1、主要交通路段 内容
                    infoList.QiozhouStrait           = dTable.Rows[0]["QIOZHOUSTRAIT"].ToString();           //未来三天交通气象预报 2、琼州海峡 内容
                    infoList.ProvinceForcastTitle    = dTable.Rows[0]["PROVINCEFORECASTTITLE"].ToString();   //三、未来4~7天全省天气趋势预报标题
                    infoList.FutureProvinceForcast   = dTable.Rows[0]["FUTUREPROVINCEFORECAST"].ToString();  //三、未来4~7天全省天气趋势预报 内容
                    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 SpringForecastModel GetSpringForecastInfo(DateTime DDateTime)
        {
            SpringForecastModel info = GetWelfareForecastInfoNow(DDateTime);

            if (info == null)
            {
                return(GetSpringForecastFromGrid(DDateTime));
            }
            return(info);
        }
コード例 #3
0
        /// <summary>
        /// 制作最新春运报文信息
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        private SpringForecastModel GetSpringForecastFromGrid(DateTime dt)
        {
            SpringForecastModel infoList = null;

            try
            {
                infoList = new SpringForecastModel();
                string       sql    = "select max(NUMID) as NOID from LFS_SPRINGFORECAST t";
                OracleHelper oh     = new OracleHelper("HAIKOUConnect");
                string       newNum = oh.ExecuteScalar(sql).ToString();//欧洲中心最新数据时间

                string timesql    = "select max(ddatetime) as latesttime from LFS_SPRINGFORECAST 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;
                }
                string    proSql      = string.Format(@"select * from wechat_prodocut_hn t where PRO_ID =5");//取入库的三天预报报文数据
                DataTable protable    = oh.ExecuteDataTable(proSql);
                string    pro_content = protable.Rows[0]["PRO_CONTEXT"].ToString();
                string    pastpro     = ""; //天气回顾
                string    futurepro   = ""; //天气展望
                if (pro_content.Split(';').Length >= 3)
                {
                    pastpro   = pro_content.Split(';')[0].Split(':')[1];
                    futurepro = pro_content.Split(';')[1] + ";" + pro_content.Split(';')[2];
                }
                else if (pro_content.Split(';').Length == 2)
                {
                    pastpro   = pro_content.Split(';')[0].Split(':')[1];
                    futurepro = pro_content.Split(';')[1];
                }
                else if (pro_content.Split('。').Length >= 3)
                {
                    pastpro   = pro_content.Split('。')[0].Split(':')[1] + "。";
                    futurepro = pro_content.Split('。')[1] + "。" + pro_content.Split('。')[2] + "。";
                }
                else if (pro_content.Split(';').Length == 2)
                {
                    pastpro   = pro_content.Split('。')[0].Split(':')[1];
                    futurepro = pro_content.Split('。')[1];
                }
                infoList.Ddatetime               = dt;
                infoList.TotalTrendTitle         = DateTime.Now.ToString("yyyy") + "年春运天气总趋势预测";
                infoList.TotalTrendForecast      = "预计" + DateTime.Now.ToString("yyyy") + "年春运期间(2月1日~3月12日),我市XXX";
                infoList.ThreeDayForecastTitle   = "未来三天春运天气预报";                                                    //未来3天天气预报 一级标题
                infoList.ThreeDayForecast        = "未来3天天气预报";                                                      //未来3天天气预报 第一段 标题
                infoList.ThreeDayContent         = pastpro;                                                         //未来3天天气预报 第一段 内容
                infoList.ThreeDayTrafficForecast = "未来三天交通气象预报";                                                    //未来三天交通气象预报 第二段 标题
                infoList.MainTrafficRoad         = "X日~X日,本岛东线高速公路海口至三亚路段、中线高速公路海口至琼中路段,阴天有小雨,能见度较差,对公路交通运输有一定影响。"; //未来三天交通气象预报 1、主要交通路段 内容
                infoList.QiozhouStrait           = "X日~X日白天,琼州海峡XXX,风力X~X级、阵风X级,通航气象条件一般。";                         // 二、未来三天交通气象预报 2、琼州海峡 内容
                infoList.ProvinceForcastTitle    = "未来4~7天全省天气趋势预报";                                                //三、未来4~7天全省天气趋势预报
                infoList.FutureProvinceForcast   = "X~X日XXX,大部分时段X,气温X,近海海面风力X~X级,阵风X级。";                           //三、未来4~7天全省天气趋势预报 内容
                return(infoList);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
コード例 #4
0
 public bool InsertSpringForecast(DateTime dt, SpringForecastModel info, List <SpringForecastModel> daysList, string forecaster)
 {
     try
     {
         string strSQL  = "";
         string strID   = "";
         int    result1 = 0;
         foreach (SpringForecastModel info1 in daysList)
         {
             strSQL = "select recid from LFS_SPRINGFORECASTDAYS 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_SPRINGFORECASTDAYS set WEATHER1 ='" + info1.Weather + "'"
                          + ",WEATHERPIC1='" + info1.WeatherIcon + "'"
                          + ",MINTEMP='" + info1.MinTemp + "'"
                          + ",MAXTEMP='" + info1.MaxTemp + "'"
                          + ",LANDMINWIND='" + info1.LandMinWind + "'"
                          + ",LANDMAXWIND='" + info1.LandMaxWind + "'"
                          + ",LANDWINDDIRECT='" + info1.LandWindDirect + "'"
                          + ",SEAMINWIND='" + info1.SeaMinWind + "'"
                          + ",SEAMAXWIND='" + info1.SeaMaxWind + "'"
                          + ",SEAWINDDIRECT='" + info1.SeaWindDirect + "'"
                          + ",GUSTWIND='" + info1.GustWind + "'"
                          + " ,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_SPRINGFORECASTDAYS(ddatetime,WEATHER1,WEATHERPIC1,MINTEMP,MAXTEMP,LANDMINWIND,LANDMAXWIND,LANDWINDDIRECT,SEAMINWIND,SEAMAXWIND,SEAWINDDIRECT,GUSTWIND,FORECASTTIME,recid) values("
                          + " to_date('" + dt.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') "
                          + ",'" + info1.Weather + "'"
                          + ",'" + info1.WeatherIcon + "'"
                          + ",'" + info1.MinTemp + "'"
                          + ",'" + info1.MaxTemp + "'"
                          + ",'" + info1.LandMinWind + "'"
                          + ",'" + info1.LandMaxWind + "'"
                          + ",'" + info1.LandWindDirect + "'"
                          + ",'" + info1.SeaMinWind + "'"
                          + ",'" + info1.SeaMaxWind + "'"
                          + ",'" + info1.SeaWindDirect + "'"
                          + ",'" + info1.GustWind + "'"
                          + ",to_date('" + info1.ForcastTime.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi') "
                          + ",seq_LFS_SPRINGFORECASTDAYS.Nextval)";
             }
             result1 = oh.db_ExecuteNonQuery(strSQL);
             if (result1 <= 0)
             {
                 return(false);
             }
         }
         if (result1 > 0)
         {
             strSQL = "select recid from  LFS_SPRINGFORECAST 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_SPRINGFORECAST set WEATHERTODAY='" + info.Weather + "'"
                          + ",WRITETIME=to_date('" + DateTime.Now.ToString("yyyy-MM-dd HH:mm") + "','yyyy-mm-dd hh24:mi')  "
                          + ",NUMID='" + info.Numid + "'"
                          + ",FORECASTER='" + forecaster + "'"
                          + ",TOTALTRENDTITLE='" + info.TotalTrendTitle + "'"
                          + ",TOTALTRENDFORECAST='" + info.TotalTrendForecast + "'"
                          + ",THREEDAYFORECASTTITLE='" + info.ThreeDayForecastTitle + "'"
                          + ",THREEDAYFORECAST='" + info.ThreeDayForecast + "'"
                          + ",THREEDAYCONTENT='" + info.ThreeDayContent + "'"
                          + ",THREEDAYTRAFFICFORECAST='" + info.ThreeDayTrafficForecast + "'"
                          + ",MAINTRAFFICROAD='" + info.MainTrafficRoad + "'"
                          + ",QIOZHOUSTRAIT='" + info.QiozhouStrait + "'"
                          + ",PROVINCEFORECASTTITLE='" + info.ProvinceForcastTitle + "'"
                          + ",FUTUREPROVINCEFORECAST='" + info.FutureProvinceForcast + "'"
                          + ",FILEFLAG=0"
                          + ",FORECASTDATE='" + info.ForecastDate + "'"
                          + "  where RECID=" + strID;
             }
             else
             {
                 strSQL = "insert into LFS_SPRINGFORECAST(RECID"
                          + ",DDATETIME"
                          + ",WRITETIME"
                          + ",NUMID"
                          + ",TOTALTRENDTITLE"
                          + ",TOTALTRENDFORECAST"
                          + ",THREEDAYFORECASTTITLE"
                          + ",THREEDAYFORECAST"
                          + ",THREEDAYCONTENT"
                          + ",THREEDAYTRAFFICFORECAST"
                          + ",MAINTRAFFICROAD"
                          + ",QIOZHOUSTRAIT"
                          + ",PROVINCEFORECASTTITLE"
                          + ",FUTUREPROVINCEFORECAST"
                          + ",CREATEWORD"
                          + ",FORECASTER"
                          + ",FILEFLAG"
                          + ",FORECASTDATE"
                          + ") values(seq_LFS_SPRINGFORECAST.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.TotalTrendTitle + "'"
                          + ",'" + info.TotalTrendForecast + "'"
                          + ",'" + info.ThreeDayForecastTitle + "'"
                          + ",'" + info.ThreeDayForecast + "'"
                          + ",'" + info.ThreeDayContent + "'"
                          + ",'" + info.ThreeDayTrafficForecast + "'"
                          + ",'" + info.MainTrafficRoad + "'"
                          + ",'" + info.QiozhouStrait + "'"
                          + ",'" + info.ProvinceForcastTitle + "'"
                          + ",'" + info.FutureProvinceForcast + "'"
                          + ",'" + 0 + "'"
                          + ",'" + forecaster + "'"
                          + ",'" + 0 + "'"
                          + ",'" + info.ForecastDate + "'"
                          + ")";
             }
             result1 = oh.db_ExecuteNonQuery(strSQL);
             if (result1 <= 0)
             {
                 return(false);
             }
         }
     }
     catch (Exception ex)
     {
         return(false);
     }
     return(true);
 }
コード例 #5
0
 public bool InsertSpringForcast(DateTime dt, List <SpringForecastModel> infoList, SpringForecastModel info, string forecaster)
 {
     return(dfDAL.InsertSpringForecast(dt, info, infoList, forecaster));
 }