TG.WXCRM.V4/WEB/Controllers/Soft/SoftStockPoolController.cs

108 lines
3.4 KiB
C#

using CRM.Core.DTO;
using Ninject;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
using System.Web.Mvc;
using WX.CRM.BLL.Util;
using WX.CRM.Common;
using WX.CRM.WebHelper;
namespace WX.CRM.WEB.Controllers.Soft
{
public class SoftStockPoolController : BaseController
{
[Inject]
public CACHE_BL cache_BL { get; set; }
[HttpGet]
[AuthorizeRedirect(Roles = InitRights.CONST_股票池查询)]
public ActionResult Index()
{
//table
Pager pager = new Pager() { page = 1, rows = 20 };
string tableId = "tablist";
Table tab = new Table(tableId);
tab.AddHeadCol("gpcode", "", "股票代码");
tab.AddHeadCol("ymd", "", "入选时间");
tab.AddHeadRow();
ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "20,50,100");
//ViewBag.roleCodes = DataCacheHelper.GetCache().Get_RoleCodes(userRoleId);
return View();
}
[HttpPost]
[AuthorizeRedirect(Roles = InitRights.CONST_股票池查询)]
public JsonResult Index(Pager pager, string gpcode, string columns)
{
var para = "page=" + pager.page + "&limit=" + pager.rows;
if (!string.IsNullOrEmpty(gpcode))
{
para += "&gpcode=" + gpcode;
}
var url = cache_BL.GetValue_Parameter("Core_ZxdService_StockList");
var retmsg = Utility.PostData(url + "?" + para, Encoding.UTF8);
var retmessage = WebHelper.JsonHelper.JsonDivertToObj<retMsg<List<StockPoolDto>>>(retmsg);
//LogHelper.Info("retmessage:" + retmessage.ToJson());
if (!retmessage.result)
{
LogHelper.Error("更新中心点订单合规错误");
}
Table table = new Table(columns, true);
pager.totalRows = retmessage.retcode;
table.gridPager = pager;
var stocks = retmessage.retmsg;
//LogHelper.Info(stocks.ToJson());
foreach (var item in stocks)
{
LogHelper.Info(item.ToJson());
table.AddCol(item.GpCode);
var ymd = DateTime.Now;
if (DateTime.TryParseExact(item.YMD.ToString(), "yyyyMMdd", CultureInfo.CurrentCulture, DateTimeStyles.None, out ymd))
{
table.AddCol(ymd.ToString("yyyy-MM-dd"));
}
else
{
table.AddCol("未知");
}
table.AddRow();
}
var json = new
{
totalPages = pager.totalPages,
totalRows = pager.totalRows,
rowsList = table.GetRows()
};
return Json(json, JsonRequestBehavior.AllowGet);
}
public class StockPoolDto
{
public int Id { get; set; }
public int Formula_Id { get; set; }
public int Period_Type { get; set; }
public string GpMarket { get; set; }
public string GpCode { get; set; }
public int YMD { get; set; }
public decimal? F1 { get; set; }
public decimal? F2 { get; set; }
public decimal? F3 { get; set; }
public decimal? F4 { get; set; }
}
}
}