using System; using System.Collections.Generic; using System.Web.Mvc; using System.Web.Script.Serialization; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.IBLL.Util; using WX.CRM.Model.Entity; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Base { public class InnerGroupController : BaseController { private IBAS_INNERGROUP _innerGroup; private IBAS_INNERGROUP_Q _innerGroupQ; //private IBAS_INNERDEPARTMENT_Q _innerDepartMentQ; private IBAS_SALESDEPARTMENT_Q _innerSaleDepartMentQ; private IBAS_INNERDEPARTMENT_Q _innerDepartMentQ; private ICACHE_Q _cacheQ; ValidationErrors errors = new ValidationErrors(); public InnerGroupController( IBAS_INNERGROUP innerUserGroup , IBAS_INNERGROUP_Q innerUserGroupQ , IBAS_SALESDEPARTMENT_Q innerSaleDepartMentQ , IBAS_INNERDEPARTMENT_Q innerDepartMentQ , ICACHE_Q cacheQ ) { this._innerGroup = innerUserGroup; this._innerGroupQ = innerUserGroupQ; this._innerSaleDepartMentQ = innerSaleDepartMentQ; this._innerDepartMentQ = innerDepartMentQ; this._cacheQ = cacheQ; } [AuthorizeRedirect(Roles = InitRights.CONST_销售组管理)] public ActionResult Index() { var tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.销售组管理, userRightId); tool.AllowButton(toolbtn); //tool.AllowButton("Create", "Edit", "Details", "Delete"); ViewBag.ToolBar = tool; var pager = new Pager() { page = 1, rows = 10 }; var tableId = "tablist"; var tab = new Table(tableId); tab.AddHeadCol("GID", "10%", "组ID", true); tab.AddHeadCol("GNAME", "10%", "组名", true); //tab.AddHeadCol("DEPTID", "10%", "部门", true); tab.AddHeadCol("DEPTNAME", "10%", "销售部", true); tab.AddHeadCol("ISHIDE", "8%", "是否隐藏", true); tab.AddHeadCol("CTIME", "10%", "创建时间", true); tab.AddHeadCol("CREATEUSER", "", "创建人"); tab.AddHeadRow(); ViewBag.List = tab.GetTable() + Pagination.GetPage(pager, tableId, "10,20,30"); return View(); } [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_销售组管理)] public JsonResult GetHtmlList(Pager pager, string columns) { var saleDeptId = Request.Form["saleDeptId"]; var gName = Request.Form["gName"]; var ctime1 = Request.Form["ctime1"]; var ctime2 = Request.Form["ctime2"]; var isHide = Request.Form["isHide"].GetDecimal(-1); var list = _innerGroupQ.GetList_InnerGroup(ref pager, saleDeptId, gName, ctime1, ctime2, isHide); var table = new Table(columns, true); var dept = DataCacheHelper.GetCache().GetDictionary_InnerDepartMent(); table.gridPager = pager; foreach (var model in list) { table.AddCol(model.GID); table.AddCol(model.GNAME); //if (model.DEPTID != null && dept.ContainsKey(model.DEPTID.Value)) // table.AddCol(dept[model.DEPTID.Value]); //else // table.AddCol(""); table.AddCol(model.BAS_SALESDEPARTMENT.DEPTNAME); table.AddCol(model.ISHIDE == 0 ? "否" : "是"); table.AddCol(model.CTIME.ToUnityString(1)); table.AddCol(model.CREATEUSER); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } [HttpGet] [AuthorizeToolBar(InitRights.CONST_销售组管理, InitToolBar.CONST_Edit)] public ActionResult Edit(string id) { BAS_INNERGROUP model = null; if (string.IsNullOrEmpty(id)) { model = new BAS_INNERGROUP(); } else { decimal gid; decimal.TryParse(id, out gid); model = _innerGroupQ.GetModel_InnerGroup(gid); } // ViewBag.TreeList = new JavaScriptSerializer().Serialize(DataCacheHelper.GetCache().GetTreeList_InnerGroup()); ViewBag.TreeList = new JavaScriptSerializer().Serialize(DataCacheHelper.GetCache().GetTreeList_saleDepartMent()); return View(model); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_销售组管理, InitToolBar.CONST_Edit)] public ActionResult Edit(WX.CRM.Model.Entity.BAS_INNERGROUP model) { if (!ModelState.IsValid) { return JsonHandler.ValidateFailMessage(); } if (model.GID == 0) { model.CREATEUSER = UserId; bool result = _innerGroup.Create_InnerGroup(ref errors, model); InnerUserHelper.Instance.ClearCache(); CacheHelper.Remove("cache_group_list"); return JsonHandler.InsertMessage(errors, result); } else { model.CREATEUSER = UserId; bool result = _innerGroup.Update_InnerGroup(ref errors, model); InnerUserHelper.Instance.ClearCache(); CacheHelper.Remove("cache_group_list"); return JsonHandler.UpdateMessage(errors, result); } } [AuthorizeToolBar(InitRights.CONST_销售组管理, InitToolBar.CONST_Details)] public ActionResult Details(string id) { BAS_INNERGROUP model = id != null ? _innerGroupQ.GetModel_InnerGroup(Convert.ToDecimal(id)) : new BAS_INNERGROUP(); return View(model); } public JsonResult Delete(string id) { if (string.IsNullOrWhiteSpace(id)) { return JsonHandler.ManageMessage("删除失败", false); } bool result = _innerGroup.Delete_InnerGroup(ref errors, Convert.ToDecimal(id)); InnerUserHelper.Instance.ClearCache(); return JsonHandler.DeleteMessage(errors, result); } #region 销售组tree public JsonResult GetTreeList(int type = 1, bool hasUser = false, string filterStr = "") { List obj = DataCacheHelper.GetCache().GetTreeList_InnerGroup(hasUser, filterStr) as List; List objjson = new List(); if (type == 1) { objjson.Add(new { id = "0", text = "全部", iconCls = "icon-group" }); } objjson.AddRange(obj); if (type == 3) { objjson.Insert(0, new { id = "0", text = "全部", iconCls = "icon-group" }); } return Json(objjson, JsonRequestBehavior.AllowGet); } public JsonResult GetTreeIsSaleList() { object obj = DataCacheHelper.GetCache().GetTreeListIsSale_InnerGroup(); return Json(obj, JsonRequestBehavior.AllowGet); } #endregion } }