using Ninject; using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web.Mvc; using WX.CRM.BLL.Base; using WX.CRM.Common; using WX.CRM.IBLL.QH; using WX.CRM.IBLL.Res; using WX.CRM.Model.Entity; using WX.CRM.Model.QueryMap; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Csvr { public class CustomerQHController : BaseController { // // GET: /CustomerQH/ private IQH_CUSTOMER_RESID _iqh_Customer_Resid; private IQH_CUSTOMER _iqh_Customer; private IQH_TRANSACTIONDETAIL _iqh_TransacyionDetail; private IQH_CUSTOMERPOSITIONS _iqh_CustomerPositions; ValidationErrors errors = new ValidationErrors(); [Inject] public IRES_CUSTOMER_Q customer_Q { get; set; } [Inject] public IQH_DISCREPANCYGOLD QH_DiscrepancyGold_BL { get; set; } [Inject] public IQH_TRANSACTIONDETAIL_CACHE QH_Transactiondetail_Cache_BL { get; set; } [Inject] public IQH_CAPITALDETAIL QH_CapitalDetail_BL { get; set; } public CustomerQHController(IQH_CUSTOMER_RESID qH_CUSTOMER_RESID, IQH_CUSTOMER iQH_CUSTOMER, IQH_TRANSACTIONDETAIL iQH_TRANSACTIONDETAIL, IQH_CUSTOMERPOSITIONS iQH_CUSTOMERPOSITIONS) { this._iqh_Customer_Resid = qH_CUSTOMER_RESID; this._iqh_Customer = iQH_CUSTOMER; this._iqh_TransacyionDetail = iQH_TRANSACTIONDETAIL; this._iqh_CustomerPositions = iQH_CUSTOMERPOSITIONS; } public ActionResult CustomerQH(CustomerInfo info) { string[] resids = customer_Q.GetAllResidByCustomerId(info.CustomerId); List qH_CUSTOMER_RESID = _iqh_Customer_Resid.GetList(resids).ToList(); QH_CUSTOMER qH_CUSTOMER = new QH_CUSTOMER(); List qh_TRANSACTIONDETAIL = new List(); List qh_CUSTOMERPOSITIONS = new List(); ViewBag.USERACCOUNT = ""; if (qH_CUSTOMER_RESID.Count != 0) { string userAccount = qH_CUSTOMER_RESID[0].USERACCOUNT; ViewBag.USERACCOUNT = userAccount; qH_CUSTOMER = _iqh_Customer.Get(p => p.USERACCOUNT == userAccount); qh_TRANSACTIONDETAIL = _iqh_TransacyionDetail.GetList(p => p.USERACCOUNT == userAccount).OrderByDescending(p => p.CTIME).Take(5).ToList(); qh_CUSTOMERPOSITIONS = _iqh_CustomerPositions.GetList(p => p.USERACCOUNT == userAccount).OrderByDescending(p => p.CTIME).Take(5).ToList(); } ViewBag.QHC = qH_CUSTOMER; ViewBag.QHTD = qh_TRANSACTIONDETAIL; ViewBag.QHCP = qh_CUSTOMERPOSITIONS; return View(); } #region 更多-成交明细(已不用) public ActionResult TransactionDetail() { Pager pager = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; WebHelper.Table tab = new WebHelper.Table(tableId); tab.AddHeadCol("USERACCOUNT", "", "资产账号"); tab.AddHeadCol("CONTRACTTYPE", "", "合约类别"); tab.AddHeadCol("CONTRACTCODE", "", "合约代码"); tab.AddHeadCol("DEPT", "", "营业部"); tab.AddHeadCol("EXCHANGE", "", "交易所"); tab.AddHeadCol("JYK", "", "净盈亏"); tab.AddHeadCol("CJJE", "", "成交金额"); tab.AddHeadCol("CJSS", "", "成交手数"); tab.AddHeadCol("CJJG", "", "成交价格"); tab.AddHeadCol("CTIME", "", "日期"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,8,10,15"); return View(); } public JsonResult GetTransactionDetailHtml(Pager pager, string UserAccount, string year, string quarter) { Table table = new Table("", true); List list = _iqh_TransacyionDetail.GetList(ref pager, UserAccount, year, quarter); table.gridPager = pager; //foreach (var data in list) //{ // table.AddCol(data.USERACCOUNT); // table.AddCol(data.CONTRACTTYPE); // table.AddCol(data.CONTRACTCODE); // table.AddCol(data.DEPT); // table.AddCol(data.EXCHANGE); // table.AddCol(data.JYK); // table.AddCol(data.CJJE); // table.AddCol(data.CJSS); // table.AddCol(data.CJJG); // table.AddCol(data.CTIME); // table.AddRow(); //} var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 更多-持仓信息(已不用) public ActionResult CustomerPositions() { Pager pager = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; WebHelper.Table tab = new WebHelper.Table(tableId); tab.AddHeadCol("USERACCOUNT", "", "资产账号"); tab.AddHeadCol("CONTRACTTYPE", "", "合约类别"); tab.AddHeadCol("CONTRACTCODE", "", "合约代码"); tab.AddHeadCol("DEPT", "", "营业部"); tab.AddHeadCol("EXCHANGE", "", "交易所"); tab.AddHeadCol("MRCC", "", "买入持仓"); tab.AddHeadCol("MCCC", "", "买出持仓"); tab.AddHeadCol("CCYK", "", "持仓盈亏"); tab.AddHeadCol("ZYK", "", "总盈亏"); tab.AddHeadCol("CTIME", "", "日期"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,8,10,15"); return View(); } public JsonResult GetCustomerPositionsHtml(Pager pager, string UserAccount, string year, string quarter) { Table table = new Table("", true); List list = _iqh_CustomerPositions.GetList(ref pager, UserAccount, year, quarter); table.gridPager = pager; foreach (var data in list) { table.AddCol(data.USERACCOUNT); table.AddCol(data.CONTRACTTYPE); table.AddCol(data.CONTRACTCODE); table.AddCol(data.DEPT); table.AddCol(data.EXCHANGE); table.AddCol(data.MRCC); table.AddCol(data.MCCC); table.AddCol(data.CCYK); table.AddCol(data.ZYK); table.AddCol(data.CTIME); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 绑定(已不用) public ViewResult CustomerResid(CustomerInfo info) { ViewBag.ResId = info.CustomerId; return View(); } public JsonResult BindCustomerResid(string resid, string userAccount, string telephone) { bool result = false; string[] resids = customer_Q.GetAllResidByCustomerId(resid); string inputResId = WX.CRM.Common.ResUtil.CreateResId(telephone); if (!resids.Contains(inputResId)) { errors.Add("输入的手机号和客户ID不匹配,请确认后重新输入!"); return JsonHandler.InsertMessage(errors, result); } if (_iqh_Customer_Resid.Get(p => p.USERACCOUNT == userAccount) != null) { errors.Add("该资金账号已绑定客户ID,请重新输入!"); return JsonHandler.InsertMessage(errors, result); } QH_CUSTOMER_RESID qH_CUSTOMER_RESID = new QH_CUSTOMER_RESID(); qH_CUSTOMER_RESID.PKID = new SEQUENCES_BL().Seq_base_get(); qH_CUSTOMER_RESID.USERACCOUNT = userAccount; qH_CUSTOMER_RESID.RESID = resid; qH_CUSTOMER_RESID.CREATEUSERID = UserId; qH_CUSTOMER_RESID.CTIME = DateTime.Now; result = _iqh_Customer_Resid.Add(qH_CUSTOMER_RESID, ref errors); return JsonHandler.InsertMessage(errors, result); } #endregion public ViewResult CustomerFutureUC(CustomerInfo info) { string[] resids = customer_Q.GetAllResidByCustomerId(info.CustomerId); int type = 2;//类型( 1:有开户申请资料 2:没有申请资料) List modelList = _iqh_Customer_Resid.GetList(resids); //获取fxh_customerlist数据 if (modelList != null && modelList.Count > 0) { type = 1; } else { type = 2; } ViewBag.type = type; ViewBag.resid = info.CustomerId; ViewBag.modelList = modelList; var QHRecordHost = System.Configuration.ConfigurationManager.AppSettings["QHRecordHost"]; ViewBag.QHRecordHost = QHRecordHost == null ? "" : QHRecordHost; return View(); } public ActionResult CustomerCapitalDetailUC(string useraccount) { //tradecode = "45001242"; List list = new List(); try { if (!string.IsNullOrEmpty(useraccount)) { list = _iqh_Customer.GetList(m => m.USERACCOUNT == useraccount).OrderByDescending(m => m.RQ).Skip(0).Take(8).ToList(); } } catch (Exception ex) { LogHelper.Error(ex.Message); } ViewBag.UserAccount = useraccount; return View(list); } public ActionResult CustomerDiscGoldDetailUC(string useraccount) { //tradecode = "45001242"; List list = new List(); try { if (!string.IsNullOrEmpty(useraccount)) { list = QH_DiscrepancyGold_BL.GetList(m => m.USERACCOUNT == useraccount).OrderByDescending(m => m.RQ).Skip(0).Take(8).ToList(); } } catch (Exception ex) { LogHelper.Error(ex.Message); } ViewBag.UserAccount = useraccount; return View(list); } public ActionResult CustomerTransactionDetailUC(string useraccount) { //tradecode = "45001242"; List list = new List(); try { if (!string.IsNullOrEmpty(useraccount)) { list = QH_Transactiondetail_Cache_BL.GetList(m => m.USERACCOUNT == useraccount).OrderByDescending(m => m.CJRQ).Skip(0).Take(8).ToList(); } } catch (Exception ex) { LogHelper.Error(ex.Message); } ViewBag.UserAccount = useraccount; return View(list); } public ActionResult CustomerFutureLoadUC() { return View(); } #region 更多资金明细 public ActionResult CustomerCapitalList() { Pager pager = new Pager() { page = 1, rows = 20 }; string tableId = "tablist"; WebHelper.Table tab = new WebHelper.Table(tableId); tab.AddHeadCol("USERACCOUNT", "", "资产账号"); tab.AddHeadCol("TEAM", "", "所属组"); tab.AddHeadCol("RQ", "", "日期"); tab.AddHeadCol("BZ", "", "币种"); tab.AddHeadCol("SCJSZBJ", "", "上次结算准备金"); tab.AddHeadCol("RJ", "", "入金"); tab.AddHeadCol("CJ", "", "出金"); tab.AddHeadCol("JTQY", "", "静态权益"); tab.AddHeadCol("PCYK", "", "平仓盈亏"); tab.AddHeadCol("CCYK", "", "持仓盈亏"); tab.AddHeadCol("SXF", "", "手续费"); tab.AddHeadCol("DTQY", "", "动态权益"); tab.AddHeadCol("ZYBZJ", "", "占用保证金"); tab.AddHeadCol("DJSXF", "", "冻结手续费"); tab.AddHeadCol("DJBZJ", "", "冻结保证金"); tab.AddHeadCol("KYZJ", "", "可用资金"); tab.AddHeadCol("KQZJ", "", "可取资金"); tab.AddHeadCol("JYSBZJ", "", "交易所保证金"); tab.AddHeadCol("SQFY", "", "申请费用"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,15,20,30"); return View(); } public JsonResult GetCustomerCapitalListHtml(Pager pager, string useraccount) { Table table = new Table("", true); List list = QH_CapitalDetail_BL.GetList(ref pager, useraccount); table.gridPager = pager; foreach (var data in list) { table.AddCol(data.USERACCOUNT); table.AddCol(data.TEAM); table.AddCol(data.RQ.Value.ToString("yyyy-MM-dd")); table.AddCol(data.BZ); table.AddCol(data.SCJSZBJ); table.AddCol(data.RJ); table.AddCol(data.CJ); table.AddCol(data.JTQY); table.AddCol(data.PCYK); table.AddCol(data.CCYK); table.AddCol(data.SXF); table.AddCol(data.DTQY); table.AddCol(data.ZYBZJ); table.AddCol(data.DJSXF); table.AddCol(data.DJBZJ); table.AddCol(data.KYZJ); table.AddCol(data.KQZJ); table.AddCol(data.JYSBZJ); table.AddCol(data.SQFY); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 更多出入金 public ActionResult CustomerDiscGoldList() { Pager pager = new Pager() { page = 1, rows = 20 }; string tableId = "tablist"; WebHelper.Table tab = new WebHelper.Table(tableId); tab.AddHeadCol("TEAM", "", "所属组"); tab.AddHeadCol("USERACCOUNT", "", "账户"); tab.AddHeadCol("ACCOUNTNAME", "", "账户名称"); tab.AddHeadCol("BZ", "", "币种"); tab.AddHeadCol("CRJLX", "", "出入金类型"); tab.AddHeadCol("JE", "", "金额"); tab.AddHeadCol("ZYZJ", "", "自有资金"); tab.AddHeadCol("BJ", "", "本金"); tab.AddHeadCol("RQ", "", "日期"); tab.AddHeadCol("CZ", "", "操作"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,15,20,30"); return View(); } public JsonResult GetCustomerDiscGoldListHtml(Pager pager, string useraccount) { Table table = new Table("", true); List list = QH_DiscrepancyGold_BL.GetList(ref pager, useraccount); table.gridPager = pager; foreach (var data in list) { table.AddCol(data.TEAM); table.AddCol(data.USERACCOUNT); table.AddCol(data.ACCOUNTNAME); table.AddCol(data.BZ); table.AddCol(data.CRJLX); table.AddCol(data.JE); table.AddCol(data.ZYZJ); table.AddCol(data.BJ); table.AddCol(data.RQ.Value.ToString("yyyy-MM-dd HH:mm")); table.AddCol(data.CZ); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 更多交易明细 public ActionResult CustomerTransactionList() { Pager pager = new Pager() { page = 1, rows = 20 }; string tableId = "tablist"; WebHelper.Table tab = new WebHelper.Table(tableId); tab.AddHeadCol("TEAM", "", "所属组"); tab.AddHeadCol("EXCHANGE", "", "交易所"); tab.AddHeadCol("USERACCOUNT", "", "账户"); tab.AddHeadCol("ACCOUNTNAME", "", "账户名"); tab.AddHeadCol("PRODUCTNAME", "", "品种"); tab.AddHeadCol("CONTRACTCODE", "", "合约代码"); tab.AddHeadCol("MM", "", "买卖"); tab.AddHeadCol("KP", "", "开平"); tab.AddHeadCol("CJBH", "", "成交编号"); tab.AddHeadCol("CJJG", "", "成交价格"); tab.AddHeadCol("CJRQ", "", "成交日期"); tab.AddHeadCol("CJSL", "", "成交数量"); tab.AddHeadCol("BDBH", "", "报单编号"); tab.AddHeadCol("TB", "", "投保"); tab.AddHeadCol("ZHSXF", "", "账户手续费"); tab.AddHeadCol("JYSSXF", "", "交易所手续费"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,15,20,30"); return View(); } public JsonResult GetCustomerTransactionHtml(Pager pager, string useraccount) { Table table = new Table("", true); List list = _iqh_TransacyionDetail.GetList(ref pager, useraccount); table.gridPager = pager; foreach (var data in list) { table.AddCol(data.TEAM); table.AddCol(data.EXCHANGE); table.AddCol(data.USERACCOUNT); table.AddCol(data.ACCOUNTNAME); table.AddCol(data.PRODUCTNAME); table.AddCol(data.CONTRACTCODE); table.AddCol(data.MM); table.AddCol(data.KP); table.AddCol(data.CJBH); table.AddCol(data.CJJG); table.AddCol(data.CJRQ.Value.ToString("yyyy-MM-dd HH:mm")); table.AddCol(data.CJSL); table.AddCol(data.BDBH); table.AddCol(data.TB); table.AddCol(data.ZHSXF); table.AddCol(data.JYSSXF); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion } }