TG.WXCRM.V4/WEB/Controllers/Res/AllocateStrategyController.cs

182 lines
6.8 KiB
C#

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<SelectListItem> 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<RES_ALLOCATESTRATEGY> 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<SelectListItem> 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<SelectListItem> getSalesGroupList()
{
List<RES_SALESGROUP> salesGrouplist = _groupQ.GetList();
List<SelectListItem> list = new List<SelectListItem>();
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
}
}