/// <summary> /// 获取报告期的报告日 /// </summary> /// <param name="p"></param> /// <returns></returns> private static int GetDay(String p) { int result = 30; switch (CommDao.SafeToInt(p)) { case 1: result = 31; break; case 2: result = 30; break; case 3: result = 30; break; case 4: result = 31; break; case 5: result = 30; break; case 6: result = 31; break; } return(result); }
/// <summary> /// 获取报告期的报告月 /// </summary> /// <param name="p"></param> /// <returns></returns> private static int GetMonth(String p) { int result = 3; switch (CommDao.SafeToInt(p)) { case 1: result = 3; break; case 2: result = 6; break; case 3: result = 9; break; case 4: result = 12; break; case 5: result = 6; break; case 6: result = 12; break; } return(result); }
/// <summary> /// 获取新股日历近五日数据 /// num=0取今天向后五日数据,过滤双休日 /// num=-1取今天前五日数据,过滤双休日 /// num=1取已今天向后五日(过滤双休日)为起点的后五日数据,过滤双休日 /// </summary> /// <param name="num"></param> /// <returns></returns> public static DataSet GetNewStockCalendar(int num) { try { String date = DateTime.Now.AddDays(num * 7).ToShortDateString(); List <Expression> filter = new List <Expression>(); DateTime begin = CommDao.DateToUTC(Convert.ToDateTime(date)); DateTime end = CommDao.DateToUTC(Convert.ToDateTime(date).AddDays(5)); Expression exp1 = new Expression(); int week = CommDao.CaculateWeekDayInt(begin); if (week == 6 || week == 7 || week == 1) { if (week != 1) { begin = begin.AddDays(7 - week + 1); } end = begin.AddDays(4); exp1 = Expression.And(Expression.Ge("STARTDATE", begin), Expression.Le("STARTDATE", end)); } else { end = begin.AddDays(5 - week); DateTime begin2 = end.AddDays(3); DateTime end2 = begin2.AddDays(week - 2); exp1 = Expression.Or(Expression.And(Expression.Ge("STARTDATE", begin), Expression.Le("STARTDATE", end)), Expression.And(Expression.Ge("STARTDATE", begin2), Expression.Le("STARTDATE", end2))); } DateTime sunday = new DateTime(); if (week == 6 || week == 7 || week == 0) { sunday = DateTime.Now.AddYears(999); } else { sunday = Convert.ToDateTime(date).AddDays(7 - week); } Expression exp2 = Expression.And(Expression.IsNotNull("STARTDATE"), Expression.IsNotEmpty("STARTDATE")); Expression exp3 = Expression.And(Expression.IsNotEmpty("SECURITYCODE"), Expression.IsNotNull("SECURITYCODE")); filter.Add(Expression.And(Expression.And(exp1, exp2), exp3)); List <Order> Order = new List <Order>(); Order.Add(new Order("STARTDATE", true)); String[] _fileds = new String[] { "SECURITYCODE", "MSECUCODE", "SECURITYSHORTNAME", "DATETYPE", "STARTDATE" }; DataSet pData = DataAccess.Query(WebDataSource.SPE_NS_CALENDAR, _fileds, filter, Order, new List <Expression>(), 1, int.MaxValue); return(pData); } catch (Exception ex) { LogHelper.WriteLog("新股中心-新股日历:", ex); return(null); } }
/// <summary> /// 新通道-根据id获取今日公告列表 /// </summary> public static object GetDailyNotice(String id, String pageIndex, String limit, String order, String sort) { try { String date = CommDao.SafeToDateString(DateTime.Now.ToShortDateString(), "yyyy-MM-dd"); String terms = "datetime: " + date + "T00:00:00Z TO " + date + "T99:99:99Z"; return(GetNoticeByParam(id, "", terms, pageIndex, limit, order, sort)); } catch (Exception ex) { LogHelper.WriteLog("获取今日公告列表数据获取出错:", ex); return(null); } }
/// <summary> /// 返回资讯高级搜索的Terms /// </summary> /// <param name="date"></param> /// <param name="title"></param> /// <param name="text"></param> /// <param name="authornames"></param> /// <param name="authorgroup"></param> /// <returns></returns> private static String GetTerms(String date, String title, String text, String authornames, String authorgroup) { String terms = String.Empty; String authornamesstr = String.Empty; String authorgroupsstr = String.Empty; String authquery = String.Empty; if (!String.IsNullOrEmpty(date)) { //add by lym try { date = date.Replace("99:99:99", "23:59:59"); String startdate = String.Empty; String enddate = String.Empty; startdate = Convert.ToDateTime(date.Substring(0, date.IndexOf(" TO ")).Split(new char[] { 'T' })[0]).ToString("yyyy-MM-dd") + "T00:00:00Z"; enddate = Convert.ToDateTime(date.Substring(date.IndexOf(" TO ") + 4).Split(new char[] { 'T' })[0]).ToString("yyyy-MM-dd") + "T23:59:59Z"; date = startdate + " TO " + enddate; } catch (Exception ex) { } terms += "datetime:[" + date + "]"; } if (!String.IsNullOrEmpty(title)) { if (!String.IsNullOrEmpty(terms)) { terms += " AND (title:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(title)) + ")"; } else { terms += "(title:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(title)) + ")"; } } if (!String.IsNullOrEmpty(text)) { if (!String.IsNullOrEmpty(terms)) { terms += " AND (text:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(text)) + " OR title:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(text)) + ")"; } else { terms += "(text:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(text)) + " OR title:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(text)) + ")"; } } foreach (String item in GetParams(authornames)) { authornamesstr += " OR author:" + item; } foreach (String item in GetParams(authorgroup)) { authorgroupsstr += " OR (" + item + ")"; } if (!String.IsNullOrEmpty(authornamesstr)) { authornamesstr = authornamesstr.Remove(0, 4); } if (!String.IsNullOrEmpty(authorgroupsstr)) { if (!String.IsNullOrEmpty(authornamesstr)) { authquery = "(" + authornamesstr + ")" + authorgroupsstr; } else { authquery = authorgroupsstr.Remove(0, 4);; } } else { if (!String.IsNullOrEmpty(authornamesstr)) { authquery = authornamesstr; } else { authquery = String.Empty; } } if (!String.IsNullOrEmpty(authquery)) { if (!String.IsNullOrEmpty(terms)) { terms += " AND (" + authquery + ")"; } else { terms += authquery; } } return(terms); }
/// <summary> /// 新通道的高级搜索 /// </summary> /// <param name="types">栏目id集合</param> /// <param name="securitycodes">证券代码集合</param> /// <param name="date">日期</param> /// <param name="title">标题</param> /// <param name="text">正文</param> /// <param name="columnType">栏目类型</param> /// <param name="pageIndex">页码</param> /// <param name="limit">记录数</param> /// <returns></returns> public object GetNoticeBySearch(String types, String securitycodes, String date, String title, String text, String columnType, String pageIndex, String limit) { String terms = String.Empty; if (!String.IsNullOrEmpty(date)) { //add by lym try { date = date.Replace("99:99:99", "23:59:59"); String startdate = String.Empty; String enddate = String.Empty; startdate = Convert.ToDateTime(date.Substring(0, date.IndexOf(" TO ")).Split(new char[] { 'T' })[0]).ToString("yyyy-MM-dd") + "T00:00:00Z"; enddate = Convert.ToDateTime(date.Substring(date.IndexOf(" TO ") + 4).Split(new char[] { 'T' })[0]).ToString("yyyy-MM-dd") + "T23:59:59Z"; date = startdate + " TO " + enddate; } catch (Exception ex) { } terms += "datetime:[" + date + "]"; } if (!String.IsNullOrEmpty(title)) { if (!String.IsNullOrEmpty(terms)) { terms += "AND (title:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(title)) + ")"; } else { terms += "(title:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(title)) + ")"; } } if (!String.IsNullOrEmpty(text)) { if (!String.IsNullOrEmpty(terms)) { terms += "AND (text:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(text)) + " OR title:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(text)) + ")"; } else { terms += "(text:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(text)) + " OR title:" + CommDao.SafeToIndexString(HttpUtility.UrlDecode(text)) + ")"; } } SktSrhModel <NoticeSktSrhQryModel> queryModel = new SktSrhModel <NoticeSktSrhQryModel>("H2", pageIndex, limit, new NoticeSktSrhQryModel(GetParams(types), GetParams(securitycodes), terms, columnType)); String result = String.Empty; try { result = (String)DataAccess.QueryIndex(JsonConvert.SerializeObject(queryModel)); } catch (Exception ex) { LogHelper.WriteLog("GetNoticeBySearch.do发生异常", ex); throw ex; } return(result); }