using Ninject; using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Web.Mvc; using WX.CRM.BLL; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.IBLL.Res; using WX.CRM.IBLL.WeWork; using WX.CRM.IBLL.Ww; using WX.CRM.IBLL.Wx; using WX.CRM.Model.Entity; using WX.CRM.Model.Ww; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.WeiXin { public class SzzyOrderController : BaseController { private IWX_SZZYORDER wx_SzzyOrder_BL; private IWX_SZZYPRODUCT wx_SzzyProduct_BL; private IWX_SZZYSUBPRODUCT wx_SzzySubProduct_BL; private IRES_CUSTOMERDETAIL res_CustomerDetail_BL; private IRES_CUSTOMER_Q res_Customer_Q_BL; private IRES_CUSTOMER res_Customer_BL; [Inject] public IWw_huser _iww_hhuser_service { get; set; } [Inject] public CACHE_BL cache_BL { get; set; } [Inject] public IWX_RCONTACT wx_Rcontact_BL { get; set; } [Inject] public IWX_ARRIVALPAYLOG wx_ArrivalPayLog_BL { get; set; } [Inject] public IBAS_SALESDEPARTMENT_Q bas_SalesDept_Q_BL { get; set; } [Inject] public IWEWORK_RCONTACT _weworkRcontact { get; set; } [Inject] public IWW_EXTUSER _wwExtUser { get; set; } [Inject] public IWw_huser ww_huser_bl { get; set; } [Inject] public IWX_SZZYMIDPRODUCT _midProduct { get; set; } private ValidationErrors errors = new ValidationErrors(); public SzzyOrderController(IWX_SZZYORDER wx_SzzyOrder_BL, IWX_SZZYPRODUCT wx_SzzyProduct_BL, IWX_SZZYSUBPRODUCT wx_SzzySubProduct_BL, IRES_CUSTOMERDETAIL res_CustomerDetail_BL, IRES_CUSTOMER_Q res_Customer_Q_BL, IRES_CUSTOMER res_Customer_BL) { this.wx_SzzyOrder_BL = wx_SzzyOrder_BL; this.wx_SzzyProduct_BL = wx_SzzyProduct_BL; this.wx_SzzySubProduct_BL = wx_SzzySubProduct_BL; this.res_CustomerDetail_BL = res_CustomerDetail_BL; this.res_Customer_Q_BL = res_Customer_Q_BL; this.res_Customer_BL = res_Customer_BL; } [AuthorizeRedirect(Roles = InitRights.CONST_我的订单)] public ActionResult RContactIndex() { //ToolBar ToolBar tool = new ToolBar(); ViewBag.ToolBar = tool; //table Pager pager = new Pager() { page = 1, rows = 15 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("USERNAME", "", "微信用户名"); //tab.AddHeadCol("ALIAS", "", "微信号"); tab.AddHeadCol("NICKNAME", "", "昵称"); tab.AddHeadCol("CONREMARK", "", "备注"); tab.AddHeadCol("", "8%", ""); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,10,15,20"); ViewBag.eid = Request["eid"]; ViewBag.orderId = Request["orderid"]; var userNameRequired = cache_BL.GetValue_Parameter(Model.Enum.Parameter.WeiXin_OrderUserNameRequired); if (string.IsNullOrWhiteSpace(userNameRequired) || userNameRequired == "1") { ViewBag.userNameRequired = 1; } else { ViewBag.userNameRequired = 0; } if (userRoleCodes.IndexOf("[ZJZL]") > -1 || userRoleCodes.IndexOf("[GLY]") > -1 || userRoleCodes.IndexOf("[BDSY]") > -1) { ViewBag.showSearchEid = 1; } return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_我的订单)] public JsonResult GetRcontactHtmlList(Pager pager, string alias, string nickName, string conRemark, string eid, string orderId, string searchEid, string columns) { decimal? innerUserId = null; bool canSearchAll = false; if (userRoleCodes.IndexOf("[ZJZL]") > -1 || userRoleCodes.IndexOf("[GLY]") > -1 || userRoleCodes.IndexOf("[BDSY]") > -1) { canSearchAll = true; } if (!string.IsNullOrWhiteSpace(searchEid)) { decimal decEid = Convert.ToDecimal(searchEid); innerUserId = InnerUserHelper.Instance.GetUserIdByEid(decEid); } else { if (canSearchAll == false && !string.IsNullOrWhiteSpace(eid)) { decimal decEid = Convert.ToDecimal(eid); innerUserId = InnerUserHelper.Instance.GetUserIdByEid(decEid); } } decimal? oId = null; if (!string.IsNullOrEmpty(orderId)) { decimal tId = 0; decimal.TryParse(orderId, out tId); oId = tId; } string isShowMobileOfContent = cache_BL.GetValue_Parameter(Model.Enum.Parameter.Sys_IsShowMobileOfContent); List list = wx_Rcontact_BL.GetMyList(ref pager, null, null, alias, conRemark, nickName, null, null, null, innerUserId, canSearchAll, oId); Table table = new Table(columns, true); table.gridPager = pager; foreach (var model in list) { table.AddCol(model.USERNAME); //table.AddCol(model.ALIAS); if (!string.IsNullOrEmpty(isShowMobileOfContent) && isShowMobileOfContent == "1") { table.AddCol(model.NICKNAME); table.AddCol(model.CONREMARK); } else { table.AddCol(Utility.ReplaceMobile(model.NICKNAME)); table.AddCol(Utility.ReplaceMobile(model.CONREMARK)); } var payInfoUrl = string.Format("选择", model.USERNAME); table.AddCol(payInfoUrl); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult WeWorkRcontact() { Pager pager = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("NAME", "", "姓名"); tab.AddHeadCol("COMPANYREMARK", "", "备注企业信息"); tab.AddHeadCol("REMARKPHONE", "", "备注号码"); tab.AddHeadCol("REALREMARK", "", "备注名称"); tab.AddHeadCol("REMARKS", "", "备注描述"); tab.AddHeadCol("action", "8%", "选择"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,20,50"); //ViewBag.eid = Request["eid"]; //ViewBag.orderId = Request["orderid"]; return View(); } [HttpPost] public JsonResult WeWorkRcontact(Pager pager, string columns, string name, string companyremark, string remarkphone, string realremark, string remarks) { var where = PredicateExtensionses.True(); if (!string.IsNullOrEmpty(name)) { where = where.And(p => p.NAME == name); } if (!string.IsNullOrEmpty(companyremark)) { where = where.And(p => p.COMPANYREMARK.Contains(companyremark)); } if (!string.IsNullOrEmpty(remarkphone)) { where = where.And(p => p.REMARKPHONE.Contains(remarkphone)); } if (!string.IsNullOrEmpty(realremark)) { where = where.And(p => p.REALREMARK.Contains(realremark)); } if (!string.IsNullOrEmpty(remarks)) { where = where.And(p => p.REMARKS.Contains(remarks)); } var data = _weworkRcontact.GetList(where, p => p.CTIME, pager); Table table = new Table(columns, true); var remoteIds = data.Select(p => p.REMOTEID); var extuserList = _wwExtUser.GetList(p => remoteIds.Contains(p.REMOTEID)); foreach (var item in data) { var extuser = extuserList.FirstOrDefault(p => p.REMOTEID == item.REMOTEID); var userId = string.Empty; if (extuser != null) { userId = extuser.USERID; } table.AddCol(item.NAME); table.AddCol(Utility.ReplaceMobile(item.COMPANYREMARK)); table.AddCol(Utility.ReplaceMobile(item.REMARKPHONE)); table.AddCol(Utility.ReplaceMobile(item.REALREMARK)); table.AddCol(Utility.ReplaceMobile(item.REMARKS)); table.AddCol(string.Format("选择", item.REMOTEID, userId)); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [HttpGet] public ActionResult WwExtuser() { Pager pager = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("NAME", "", "姓名"); tab.AddHeadCol("AVATAR", "", "头像"); tab.AddHeadCol("action", "8%", "选择"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "10,20,50"); return View(); } [HttpPost] public JsonResult WwExtuser(Pager pager, string columns, string name) { //var where = PredicateExtensionses.True(); //if (!string.IsNullOrEmpty(name)) //{ // where = where.And(p => p.NAME.Contains(name) || p.EXINFO.Contains(name)); //} //var data = _wwExtUser.GetList(where, p => p.CTIME, pager); string companycode = companyCode; List list = _iww_hhuser_service.Corp_Get(); if (!string.IsNullOrEmpty(companycode)) { string companycodeFormat = string.Format("[{0}]", companycode); list = list.Where(m => m.companycode.Contains(companycodeFormat)).ToList(); } string ss = string.Join("','", list.Select(m => m.corpid)); if (!string.IsNullOrWhiteSpace(ss)) { ss = "'" + ss + "'"; } var data = ww_huser_bl.GeExtUsertList(ss, name, ref pager); Table table = new Table(columns, true); foreach (var item in data) { table.AddCol(item.name); table.AddCol(string.Format("", item.avatar)); table.AddCol(string.Format("选择", item.userid)); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #region 订单统计 [AuthorizeRedirect(Roles = InitRights.CONST_订单统计)] public ActionResult CountOrder() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单统计, userRightId); tool.AllowButton(toolbtn); ViewBag.ToolBar = tool; ViewBag.subProductList = getConfigSubProductList(); return View(); } public JsonResult GetCountOrderHtml(string stime, string etime) { //string temp = "" + //"{0}" + //"{1}" + //"{2}" + //"{3}" + //"" + // "" + // "" + // "" + // "" + // "" + // "" + // "" + // "" + // "" + // "
成单金额
{4}{5}
" + // "" + // "{6}{7}" + // ""; string temp = "" + "{0}" + "{1}" + "{2}" + ""; var deptCode = Utility.GetSettingOrNullByKey("DataClientCode"); var ds = wx_SzzyOrder_BL.CountSzzyOrder(stime, etime); //var totalNum = 0; var totalOpenNum = 0; decimal totalOpenMoney = 0; //decimal inMoney = 0, outMoney = 0; //if (ds != null && ds.Tables[0] != null && ds.Tables[0].Rows.Count > 0) //{ // totalNum = Convert.ToInt32(ds.Tables[0].Rows[0][0]); //} if (ds != null && ds.Tables[1] != null && ds.Tables[1].Rows.Count > 0) { totalOpenNum = Convert.ToInt32(ds.Tables[1].Rows[0][0]); totalOpenMoney = Convert.ToDecimal(ds.Tables[1].Rows[0][2]); } //ViewBag.totalNum = totalNum; //ViewBag.totalOpenNum = totalOpenNum; //ViewBag.totalOpenMoney = totalOpenMoney; //var otherCountNum = "0"; //var otherCountMoney = "0"; DataTable dt = new DataTable(); if (ds != null && ds.Tables[2] != null && ds.Tables[2].Rows.Count > 0) { dt = ds.Tables[2]; } DataTable dt3 = new DataTable(); if (ds != null && ds.Tables[3] != null && ds.Tables[3].Rows.Count > 0) { dt3 = ds.Tables[3]; } var dt4 = new DataTable(); if (ds != null && ds.Tables[4] != null && ds.Tables[4].Rows.Count > 0) { dt4 = ds.Tables[4]; } var dt5 = new DataTable(); if (ds != null && ds.Tables[5] != null && ds.Tables[5].Rows.Count > 0) { dt5 = ds.Tables[5]; } var configSubProcutOrderStr = getSubProdutOrderCount(dt, totalOpenNum, totalOpenMoney); var res = string.Format(temp, totalOpenNum, totalOpenMoney, configSubProcutOrderStr); //var res = string.Format(temp, totalOpenNum, totalOpenMoney, configSubProcutOrderStr, otherCountNum, otherCountMoney, inMoney, outMoney); var isShowPrice = cache_BL.GetValue_Parameter("OrderStatisticsShowPrice"); string tableId = "tablist2"; Table tab = new Table(tableId); var x = 1; tab.AddHeadCol("SubProductName", "", "产品", "sortTable('tablist2'," + x + ",'string');", true); x++; //tab.AddHeadCol("ProductCountNum", "", "下单数"); tab.AddHeadCol("CountNum", "", "成交单数", "sortTable('tablist2'," + x + ",'float');", true); x++; if (isShowPrice != null && isShowPrice == "true") { tab.AddHeadCol("NeedPay", "", "产品金额", "sortTable('tablist2'," + x + ",'float');", true); x++; } tab.AddHeadCol("NumRate", "", "成交单数占比(%)", "sortTable('tablist2'," + x + ",'float');", true); x++; tab.AddHeadCol("TotalFinalPay", "", "成交金额", "sortTable('tablist2'," + x + ",'float');", true, true); x++; tab.AddHeadCol("MoneyRate", "", "成交金额占比(%)", "sortTable('tablist2'," + x + ",'float');", true); if (deptCode == "SHZZ") { tab.AddHeadCol("InMoney", "", "分入金额"); tab.AddHeadCol("OutMoney", "", "分出金额"); } tab.AddHeadRow(); var list = dt3.ToList(); var inList = dt4.ToList(); var outList = dt5.ToList(); //var list1 = dt1.ToList(); var data = new List(); foreach (var item in list) { data.Add(new SubProdutCount() { SubProductId = item.SubProductId, SubProductName = item.SubProductName, CountNum = item.CountNum, NumRate = item.NumRate, TotalFinalPay = item.TotalFinalPay, MoneyRate = item.MoneyRate }); } var exceptArr = inList.Select(p => p.SubProductId).Except(list.Select(p => p.SubProductId)); if (exceptArr.Any()) { foreach (var item in exceptArr) { data.Add(new SubProdutCount() { SubProductId = item, SubProductName = inList.Single(p => p.SubProductId == item).SubProductName, CountNum = 0, NumRate = 0, TotalFinalPay = 0, MoneyRate = 0 }); } } var exceptArr2 = outList.Select(p => p.SubProductId).Except(list.Select(p => p.SubProductId)); if (exceptArr2.Any()) { foreach (var item in exceptArr2) { data.Add(new SubProdutCount() { SubProductId = item, SubProductName = outList.Single(p => p.SubProductId == item).SubProductName, CountNum = 0, NumRate = 0, TotalFinalPay = 0, MoneyRate = 0 }); } } foreach (var item in data) { //decimal CountNum = 0; tab.AddCol(item.SubProductName); //var l1 = list1.Where(p => p.SubProductId == item.SubProductId && p.SubProductName == item.SubProductName).FirstOrDefault(); //CountNum = l1 == null ? 0 : l1.CountNum; //tab.AddCol(CountNum); tab.AddCol(item.CountNum); if (isShowPrice != null && isShowPrice == "true") { tab.AddCol(item.NeedPay); } tab.AddCol(item.NumRate); tab.AddCol(item.TotalFinalPay); tab.AddCol(item.MoneyRate); if (deptCode == "SHZZ") { tab.AddCol(inList.Where(p => p.SubProductId == item.SubProductId).Sum(p => p.totalupgradevalue)); tab.AddCol(outList.Where(p => p.SubProductId == item.SubProductId).Sum(p => p.totalupgradevalue)); } tab.AddRow(); } //ViewBag.gridTable = tab.GetTable(); var json = new { data = res, rowList = tab.GetTable() }; return Json(json, JsonRequestBehavior.AllowGet); } public FileResult CountOrderExport(string stime, string etime) { var deptCode = Utility.GetSettingOrNullByKey("DataClientCode"); var ds = wx_SzzyOrder_BL.CountSzzyOrder(stime, etime); var list = ds.Tables[3].ToList(); var inList = ds.Tables[4].ToList(); var outList = ds.Tables[5].ToList(); var data = new List(); foreach (var item in list) { data.Add(new SubProdutCount() { SubProductId = item.SubProductId, SubProductName = item.SubProductName, CountNum = item.CountNum, NumRate = item.NumRate, TotalFinalPay = item.TotalFinalPay, MoneyRate = item.MoneyRate }); } var exceptArr = inList.Select(p => p.SubProductId).Except(list.Select(p => p.SubProductId)); if (exceptArr.Any()) { foreach (var item in exceptArr) { data.Add(new SubProdutCount() { SubProductId = item, SubProductName = inList.Single(p => p.SubProductId == item).SubProductName, CountNum = 0, NumRate = 0, TotalFinalPay = 0, MoneyRate = 0 }); } } var exceptArr2 = outList.Select(p => p.SubProductId).Except(list.Select(p => p.SubProductId)); if (exceptArr2.Any()) { foreach (var item in exceptArr2) { data.Add(new SubProdutCount() { SubProductId = item, SubProductName = outList.Single(p => p.SubProductId == item).SubProductName, CountNum = 0, NumRate = 0, TotalFinalPay = 0, MoneyRate = 0 }); } } DataTable dt = new DataTable(); dt.Columns.Add(new DataColumn("产品", typeof(string))); dt.Columns.Add(new DataColumn("成交单数", typeof(decimal))); dt.Columns.Add(new DataColumn("成交单数占比(%)", typeof(decimal))); dt.Columns.Add(new DataColumn("成交金额", typeof(decimal))); dt.Columns.Add(new DataColumn("成交金额占比(%)", typeof(decimal))); if (deptCode == "SHZZ") { dt.Columns.Add(new DataColumn("分入金额", typeof(decimal))); dt.Columns.Add(new DataColumn("分出金额", typeof(decimal))); } foreach (var item in data) { DataRow dr = dt.NewRow(); dr[0] = item.SubProductName; dr[1] = item.CountNum; dr[2] = item.NumRate; dr[3] = item.TotalFinalPay; dr[4] = item.MoneyRate; if (deptCode == "SHZZ") { dr[5] = inList.Where(p => p.SubProductId == item.SubProductId).Sum(p => p.totalupgradevalue); dr[6] = outList.Where(p => p.SubProductId == item.SubProductId).Sum(p => p.totalupgradevalue); } dt.Rows.Add(dr); } return File(ExcelHelper.ExportDataTableToExcel(dt, "订单统计"), "application/ms-excel", PageRequest.GetDlownLoadName("订单统计.xls")); } [AuthorizeRedirect(Roles = InitRights.CONST_订单来源统计)] public ActionResult CountOrderBySource() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.订单来源统计, userRightId); tool.AllowButton(toolbtn); ViewBag.ToolBar = tool; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHeadCol("SOURCE", "", "来源"); tab.AddHeadCol("COUNTNUM", "", "开通单数"); tab.AddHeadCol("COUNTNUM", "", "成交金额(元)"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead(); return View(); } [AuthorizeRedirect(Roles = InitRights.CONST_订单来源统计)] public JsonResult GetCountOrderBySourceHtml(string stime, string etime, string columns) { DataSet ds = wx_SzzyOrder_BL.CountSzzyClassifyOrder(stime, etime); DataTable dt = new DataTable(); if (ds != null && ds.Tables[0].Rows.Count > 0) { dt = ds.Tables[0]; } Table table = new Table("tablist"); for (int i = 0; i < dt.Rows.Count; i++) { var model = dt.Rows[i]; table.AddCol(Utility.getSourceText(model["source"].ToString())); table.AddCol(model["countnum"]); table.AddCol(model["countmoney"]); table.AddRow(); } string tableId2 = "tablist2"; Table tab2 = new Table(tableId2); tab2.AddHeadCol("ORDERTYPE", "", "订单类型"); tab2.AddHeadCol("COUNTNUM", "", "开通单数"); tab2.AddHeadCol("COUNTNUM", "", "成交金额(元)"); tab2.AddHeadRow(); if (ds != null && ds.Tables[1] != null && ds.Tables[1].Rows.Count > 0) { DataTable dt2 = ds.Tables[1]; for (int m = 0; m < dt2.Rows.Count; m++) { var model = dt2.Rows[m]; tab2.AddCol(getOrderTypeStr(Convert.ToDecimal(model["ordertype"]))); tab2.AddCol(model["countnum"]); tab2.AddCol(model["countmoney"]); tab2.AddRow(); } } var json = new { rowsList = table.GetRows(), rowsList2 = tab2.GetTable() }; return Json(json, JsonRequestBehavior.AllowGet); } private string getSubProdutOrderCount(DataTable dt, decimal totalOpenNum, decimal totalOpenMoney) { var subProductCountList = new List(); if (dt != null && dt.Rows.Count > 0) { subProductCountList = dt.ToList(); } var list = getConfigSubProductList(); string temp = "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "" + "
成单成单占比金额金额占比
{0}{1}{2}{3}
" + ""; var str = ""; foreach (var item in list) { var model = subProductCountList.FirstOrDefault(m => m.SubProductId == item.MIDPRODUCTID); if (model == null) { model = new SubProdutCount(); } str += string.Format(temp , model.CountNum , string.Format("{0:p}", totalOpenNum > 0 ? (model.CountNum / totalOpenNum) : 0) , model.TotalFinalPay , string.Format("{0:p}", totalOpenMoney > 0 ? (model.TotalFinalPay / totalOpenMoney) : 0)); } return str; } private class SubProdutCount { public decimal SubProductPrice { get; set; } public decimal NeedPay { get; set; } public decimal CountNum { get; set; } public decimal TotalNeedPay { get; set; } public decimal TotalFinalPay { get; set; } public decimal SubProductId { get; set; } public string SubProductName { get; set; } public decimal NumRate { get; set; } public decimal MoneyRate { get; set; } } private class InOutMoneyDto { public decimal SubProductId { get; set; } public string SubProductName { get; set; } public decimal totalupgradevalue { get; set; } } private IEnumerable getConfigSubProductList() { var midProductList = _midProduct.GetList(); return midProductList; } public ActionResult CountOrderList() { //ToolBar ToolBar tool = new ToolBar(); ViewBag.ToolBar = tool; //table string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("ORDERID", "编号"); //tab.AddHeadCol("RESID", "11%", "客户ID"); tab.AddHeadCol("SUBPRODUCTNAME", "", "产品"); tab.AddHeadCol("NEEDPAY", "", "应付金额"); tab.AddHeadCol("FINALPAY", "", "实付金额"); tab.AddHeadCol("ARRIVALPAY", "", "到账金额"); tab.AddHeadCol("SZZYORDERID", "", "订单ID"); tab.AddHeadCol("ORDERID", "", "CRM订单ID"); tab.AddHeadCol("ORDERTYPE", "", "订单类型"); tab.AddHeadCol("ORDERSTATUSNAME", "", "订单状态"); tab.AddHeadCol("CTIME", "", "下单时间"); tab.AddHeadCol("ARRIVALTIME", "", "到账时间"); tab.AddHeadCol("OTIME", "", "开通时间"); //tab.AddHeadCol("", "8%", ""); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead(); return View(); } [HttpPost] public JsonResult GetCountOrderHtmlList(string columns) { var subProductId = Request["subProductId"].GetDecimal(0); var type = Request["type"].GetDecimal(0); var stime = Request["stime"]; var etime = Request["etime"]; decimal[] subProductIds = new decimal[] { subProductId }; if (subProductId == 0) { var str = cache_BL.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.WeiXin_OrderCountShowColumn); if (!string.IsNullOrWhiteSpace(str)) { str = str.Trim().Trim(','); string[] strs = str.Split(','); decimal[] ids = strs.Select(m => m.GetDecimal(0)).ToArray(); List subList = wx_SzzySubProduct_BL.GetList(m => !ids.Contains(m.SUBPRODUCTID)).ToList(); subProductIds = subList.Select(m => m.SUBPRODUCTID).ToArray(); } } //三部销售部门id decimal threeDeptId = 0; var threeDeptIdStr = cache_BL.GetValue_Parameter(WX.CRM.Model.Enum.Parameter.Sys_SaleDeptId_Three); if (!string.IsNullOrWhiteSpace(threeDeptIdStr)) { decimal.TryParse(threeDeptIdStr, out threeDeptId); } List list = wx_SzzyOrder_BL.GetList(subProductIds, stime, etime, type, threeDeptId); Table table = new Table(columns, true); foreach (var model in list) { table.AddHiddenCol(model.ORDERID); //var linkUrl = string.Format("{2}" // , "客户详细" // , "/Csvr/CustomerInfo/CustomerDetail?resid=" + model.RESID // , model.RESID); //table.AddCol(linkUrl); table.AddCol(model.SUBPRODUCTNAME); table.AddCol(model.NEEDPAY); table.AddCol(model.FINALPAY); table.AddCol(model.ARRIVALPAY); table.AddCol(model.SZZYORDERID); table.AddCol(model.ORDERID); table.AddCol(getOrderTypeStr(model.ORDERTYPE.Value)); table.AddCol(getOrderStatusStr(model.ORDERSTATUS)); table.AddCol(model.CTIME); table.AddCol(model.ARRIVALTIME); table.AddCol(model.OTIME); //var payInfoUrl = string.Format("获取二维码", model.ORDERID); //table.AddCol(payInfoUrl); table.AddRow(); } var json = new { rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion public ActionResult GetQRCode(string url) { //QRCodeOperate qrCode = new QRCodeOperate(); QRCodeHelper.qrCodeScale = 8; QRCodeHelper.encode = System.Text.Encoding.UTF8; byte[] bytes = QRCodeHelper.Create(url); return File(bytes, @"image/jpeg"); } private List getProductList() { List selectList = new List(); var where = PredicateExtensionses.True(); where = where.And(m => m.ISVALID == 1); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; var list = wx_SzzyProduct_BL.GetList(where, m => m.PRODUCTID, pager, SortOrder.Ascending); foreach (var szzyProduct in list) { selectList.Add(new SelectListItem() { Text = szzyProduct.PRODUCTNAME, Value = szzyProduct.PRODUCTID.ToString() }); } return selectList; } private List getAllProductList() { List selectList = new List(); var where = PredicateExtensionses.True(); Pager pager = new Pager() { page = 1, rows = int.MaxValue }; var list = wx_SzzyProduct_BL.GetList(where, m => m.PRODUCTID, pager, SortOrder.Ascending); foreach (var szzyProduct in list) { selectList.Add(new SelectListItem() { Text = szzyProduct.PRODUCTNAME, Value = szzyProduct.PRODUCTID.ToString() }); } return selectList; } private List getSubProductListByProductId(int productId, int isValid) { List selectList = new List(); var where = PredicateExtensionses.True(); if (productId > 0) { where = where.And(m => m.PRODUCTID == productId); } if (isValid == 1) { where = where.And(m => m.ISVALID == 1); } Pager pager = new Pager() { page = 1, rows = int.MaxValue }; var list = wx_SzzySubProduct_BL.GetList(where, m => m.SUBPRODUCTID, pager, SortOrder.Ascending); foreach (var szzySubProduct in list) { selectList.Add(new SelectListItem() { Text = szzySubProduct.SUBPRODUCTNAME, Value = szzySubProduct.SUBPRODUCTID.ToString() }); } return selectList; } private string getOrderTypeStr(decimal orderType) { if (orderType == 1) { return "普通订单"; } else if (orderType == 2) { return "续费订单"; } else if (orderType == 3) { return "升级订单"; } else { return ""; } } private string getOrderStatusStr(string orderStatus) { if (orderStatus == "0") { return string.Format("下单失败"); } else if (orderStatus == "1") { return "未开通"; } else if (orderStatus == "2") { return "部分支付"; } else if (orderStatus == "3") { return "已支付"; } else if (orderStatus == "4") { return "已开通"; } else if (orderStatus == "5") { return "已到期"; } else if (orderStatus == "6") { return "已升级"; } else if (orderStatus == "7") { return "已退款"; } else if (orderStatus == "8") { return "已取消"; } else if (orderStatus == "9") { return "已关闭"; } else if (orderStatus == "10") { return "隐藏"; } else { return ""; } } public JsonResult GetSubProductList(int productId) { return Json(this.getSubProductListByProductId(productId, 1), JsonRequestBehavior.AllowGet); } public JsonResult GetAllSubProductList(int productId) { return Json(this.getSubProductListByProductId(productId, 0), JsonRequestBehavior.AllowGet); } public JsonResult GetSubProductPriceById(int subProductId) { var subProduct = wx_SzzySubProduct_BL.Get(m => m.SUBPRODUCTID == subProductId); if (subProduct != null) { return Json(new { result = true, price = subProduct.PRICE, days = subProduct.RIGHTPERIOD }, JsonRequestBehavior.AllowGet); } else { return Json(new { result = false, price = 0, days = 0 }, JsonRequestBehavior.AllowGet); } } } }