ComplianceServer/oldcode/WEB/Controllers/Base/InnerGroupController.cs

196 lines
7.4 KiB
C#

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<object> obj = DataCacheHelper.GetCache().GetTreeList_InnerGroup(hasUser, filterStr) as List<object>;
List<object> objjson = new List<object>();
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
}
}