using System; using System.Collections.Generic; using System.Web.Mvc; using WX.CRM.Common; using WX.CRM.IBLL.Res; using WX.CRM.Model.Entity; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Res { public class AllocateStrategyController : BaseController { IRES_ALLOCATESTRATEGY _Ibll; IRES_ALLOCATESTRATEGY_Q _Ibll_Q; IRES_SALESGROUP_Q _groupQ; public AllocateStrategyController(IRES_ALLOCATESTRATEGY Ibll, IRES_ALLOCATESTRATEGY_Q Ibll_Q, IRES_SALESGROUP_Q groupQ) { this._Ibll = Ibll; this._Ibll_Q = Ibll_Q; this._groupQ = groupQ; } ValidationErrors errors = new ValidationErrors(); #region 首页 [AuthorizeRedirect(Roles = InitRights.CONST_资源分配策略)] public ActionResult Index() { ToolBar tb = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.资源分配策略, userRightId); tb.AllowButton(toolbtn); ViewBag.ToolBar = tb; Pager gp = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("STRATEGYID", "策略ID"); tab.AddHeadCol("STRATEGYNAME", "", "策略名称", true); tab.AddHeadCol("SSALESGROUPID", "", "客服资源分组", true); //tab.AddHeadCol("CHECKPROCEDURE", "", "检测过程", true); tab.AddHeadCol("ALLCOTEPROCEDURE", "", "分配过程", true); //tab.AddHeadCol("VIEWPROCEDURE", "", "查看过程", true); //tab.AddHeadCol("RECYCLEPROCEDURE", "", "回收过程", true); tab.AddHeadCol("MEMO", "", "备注", true); tab.AddHeadCol("CTIME", "", "创建时间", true); tab.AddHeadCol("CREATEUSER", "", "创建人"); tab.AddHeadRow(); ViewBag.GroupList = tab.GetTable() + Pagination.GetPage(gp, tableId, "10,15,20"); List list = getSalesGroupList(); ViewBag.saleGroupList = list; return View(); } #endregion #region 查询数据 [HttpPost] [AuthorizeRedirect(Roles = InitRights.CONST_资源分配策略)] public JsonResult GetHtmlList(Pager pg, string columns) { string name = Request.Form["Name"]; string stime = Request.Form["STime"]; string etime = Request.Form["ETime"]; string checkProc = Request.Form["checkProc"]; string allocateProc = Request.Form["allocateProc"]; string viewProc = Request.Form["viewProc"]; string recyleProc = Request.Form["recyleProc"]; decimal salesGroupId = Request.Form["salesGroupId"].GetDecimal(0); List list = _Ibll_Q.GetList_AllocateStrategy(ref pg, name, salesGroupId, checkProc, allocateProc, viewProc, recyleProc, stime, etime); Table tb = new Table(columns, true); tb.gridPager = pg; foreach (RES_ALLOCATESTRATEGY model in list) { tb.AddHiddenCol(model.STRATEGYID); tb.AddCol(model.STRATEGYNAME); tb.AddCol(_groupQ.GetModel_ResSalesGroup(model.SALESGROUPID).NAME); //tb.AddCol(model.CHECKPROCEDURE); tb.AddCol(model.ALLCOTEPROCEDURE); //tb.AddCol(model.VIEWPROCEDURE); //tb.AddCol(model.RECYCLEPROCEDURE); tb.AddCol(model.MEMO); tb.AddCol(model.CTIME.ToUnityString(1)); tb.AddCol(InnerUserHelper.Instance.EidAndName(model.CREATEUSER)); tb.AddRow(); } var json = new { totalPages = pg.totalPages, totalRows = pg.totalRows, rowsList = tb.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 显示修改页面 [HttpGet] [AuthorizeToolBar(InitRights.CONST_资源分配策略, InitToolBar.CONST_Edit)] public ActionResult Edit(string id) { RES_ALLOCATESTRATEGY model = new RES_ALLOCATESTRATEGY(); if (!string.IsNullOrEmpty(id)) { model = _Ibll_Q.GetModel_AllocateStrategy(Convert.ToDecimal(id)); } else { model.CHECKPROCEDURE = "PACK_RES_CHECK.DefaultCheckAndInsert"; model.ALLCOTEPROCEDURE = "PACK_RES_ALLOCATE.DefaultAllocate"; model.VIEWPROCEDURE = "PACK_RES_VIEW.DefaultView"; model.RECYCLEPROCEDURE = "PACK_RES_RECYCLE.DefaultRecycle"; } List list = getSalesGroupList(); ViewBag.saleGroupList = list; ViewBag.Eid = Eid; return View(model); } #endregion #region 提交 新增/修改 [HttpPost] [AuthorizeToolBar(InitRights.CONST_资源分配策略, InitToolBar.CONST_Edit)] public JsonResult Edit(RES_ALLOCATESTRATEGY model) { if (ModelState.IsValid) { if (model.STRATEGYID <= 0) { model.CREATEUSER = UserId; model.CTIME = DateTime.Now; return JsonHandler.InsertMessage(errors, _Ibll.Create_AllocateStrategy(ref errors, model)); } else { return JsonHandler.UpdateMessage(errors, _Ibll.Update_AllocateStrategy(ref errors, model)); } } else { return JsonHandler.ValidateFailMessage(); } } #endregion #region 删除 [AuthorizeToolBar(InitRights.CONST_资源分配策略, InitToolBar.CONST_Delete)] public JsonResult Delete(string id) { if (!string.IsNullOrEmpty(id)) { return JsonHandler.DeleteMessage(errors, _Ibll.Delete_AllocateStrategy(ref errors, Convert.ToDecimal(id))); } else { return JsonHandler.ManageMessage("删除失败!", false); } } #endregion #region public List getSalesGroupList() { List salesGrouplist = _groupQ.GetList(); List list = new List(); list.Add(new SelectListItem() { Text = "--请选择--", Value = "0" }); foreach (RES_SALESGROUP m in salesGrouplist) { list.Add(new SelectListItem() { Text = m.NAME, Value = m.GROUPID.ToString() }); } return list; } #endregion } }