using System; using System.Collections.Generic; using System.Linq; using System.Web.Mvc; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.IBLL.Ord; using WX.CRM.IBLL.Util; using WX.CRM.Model.Entity; using WX.CRM.WebHelper; namespace WX.CRM.WEB.Controllers.Base { public class ParameterController : BaseController { IBAS_PARAMETER _parameter; IBAS_PARAMETER_Q _parameter_Q; IORD_MEMOTYPE_Q _Iord_memotype_Q; IBAS_PARAMETERGROUP_Q _parameterGroup_Q; ICACHE_Q _cache_Q; public ParameterController( IBAS_PARAMETER Ibll, IBAS_PARAMETER_Q Ibll_Q, IORD_MEMOTYPE_Q Iord_bll_Q, IBAS_PARAMETERGROUP_Q IparaGroup_Q, ICACHE_Q cache_Q ) { this._parameter = Ibll; this._parameter_Q = Ibll_Q; this._Iord_memotype_Q = Iord_bll_Q; this._parameterGroup_Q = IparaGroup_Q; this._cache_Q = cache_Q; } 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); // tb.AllowButton("Create", "Edit", "Details", "Delete"); ViewBag.ToolBar = tb; Pager gp = new Pager() { page = 1, rows = 10 }; Table tab = new Table("tablist"); tab.AddHiddenHeadCol("map_PKID", "ID"); tab.AddHeadCol("paraKey", "", "参数键", true); tab.AddHeadCol("paraName", "", "参数名", true); tab.AddHeadCol("groupName", "", "参数分组", true); tab.AddHeadCol("paraValue", "150px", "参数值", true); tab.AddHeadCol("paraType", "", "参数类型", true); tab.AddHeadCol("map_DEPTCDOE", "", "营业部"); tab.AddHeadCol("remark", "150px", "备注", true); tab.AddHeadCol("url", "120px", "编辑页面", true); tab.AddHeadCol("ctime", "75px", "创建时间", true); tab.AddHeadCol("creatUser", "", "创建人"); tab.AddHeadCol("utime", "75px", "修改时间", true); tab.AddHeadCol("updateUser", "", "修改人"); tab.AddHeadRow(); ViewBag.GroupList = tab.GetTable() + Pagination.GetPage(gp, "tablist", "5,8,10,15"); return View(); } #endregion #region 查询 [AuthorizeRedirect(Roles = InitRights.CONST_参数配置)] public JsonResult GetHtmlList(Pager gp, string columns) { string groupId = Request.Form["groupId"]; string parakey = Request.Form["ParaKey"]; string paraName = Request.Form["ParaName"]; string paraValue = Request.Form["ParaValue"]; string paraType = Request.Form["ParaType"]; string stime = Request.Form["STime"]; string etime = Request.Form["ETime"]; List list = _parameter_Q.GetList_Patameter(ref gp, parakey, paraName, paraValue, paraType, groupId, stime, etime); Table tb = new Table(columns, true); tb.gridPager = gp; foreach (BAS_PARAMETER_Extend model in list) { tb.AddHiddenCol(model.parameter.map_PKID); tb.AddCol(model.parameter.PARAKEY); tb.AddCol(model.parameter.PARANAME); tb.AddCol(model.GroupName); tb.AddCol(model.parameter.PARAVALUE); tb.AddCol(model.parameter.PARATYPE); tb.AddCol(model.parameter.DEPTCDOE); tb.AddCol(model.parameter.REMARK); tb.AddCol(model.parameter.EDITFORM); tb.AddCol(model.parameter.CTIME); tb.AddCol(InnerUserHelper.Instance.EidAndName(model.parameter.CREATEUSER)); tb.AddCol(model.parameter.UTIME); tb.AddCol(InnerUserHelper.Instance.EidAndName(model.parameter.UPDATEUSER)); tb.AddRow(); } var json = new { totalPages = gp.totalPages, totalRows = gp.totalRows, rowsList = tb.GetRows() }; return Json(json, JsonRequestBehavior.AllowGet); } #endregion #region 详细 [AuthorizeToolBar(InitRights.CONST_参数配置, InitToolBar.CONST_Details)] public ActionResult Details(string pkid) { BAS_PARAMETER model = new BAS_PARAMETER(); model = _parameter_Q.GetModelByPkid(pkid.GetDecimal(-1)); return View(model); } #endregion #region 默认修改页面 #region 显示默认修改页面 [HttpGet] [AuthorizeToolBar(InitRights.CONST_参数配置, InitToolBar.CONST_Edit)] public ActionResult Edit(string pkid) { BAS_PARAMETER model = new BAS_PARAMETER(); model = _parameter_Q.GetModelByPkid(pkid.GetDecimal(-1)); List department = _cache_Q.GetList_SalesDepartMent(); List list = _parameterGroup_Q.GetList(); List selectlistItem = list.Select(m => new SelectListItem() { Text = m.GROUPNAME, Value = m.GROUPID.ToString() }).ToList(); List departmentItem = new List(); departmentItem.Add(new SelectListItem() { Text = "默认", Value = "" }); departmentItem.AddRange(department.Select(m => new SelectListItem() { Text = m.map_DEPTNAME, Value = m.map_SALEDEPTCODE }).ToList()); // = new List(); //foreach (WX.CRM.Model.Entity.BAS_PARAMETERGROUP m in list) //{ // selectlistItem.Add(new SelectListItem() { Text = m.GROUPNAME, Value = m.GROUPID.ToString() }); //} ViewBag.ParameterGroupList = selectlistItem; ViewBag.DepartmentItem = departmentItem; return View(model); } #endregion #region 提交 默认新增/修改 [HttpPost] [AuthorizeToolBar(InitRights.CONST_参数配置, InitToolBar.CONST_Edit)] public JsonResult Edit(BAS_PARAMETER model) { if (ModelState.IsValid) { string op = Request.Form["hid_option"]; if (op == "add") { model.map_CTIME = DateTime.Now; model.map_UTIME = DateTime.Now; model.map_CREATEUSER = UserId; model.map_UPDATEUSER = UserId; var ret = _parameter.Create_Parameter(ref errors, model); if (ret) CacheHelper.Remove("cache_Parameter_getList"); return JsonHandler.InsertMessage(errors, ret); } else { model.map_UPDATEUSER = UserId; var ret = _parameter.Update_Parameter(ref errors, model); if (ret) CacheHelper.Remove("cache_Parameter_getList"); return JsonHandler.UpdateMessage(errors, ret); } } else { return JsonHandler.ValidateFailMessage(); } } #endregion #endregion #region 删除 [AuthorizeToolBar(InitRights.CONST_参数配置, InitToolBar.CONST_Delete)] public JsonResult Delete(string pkid) { var ret = _parameter.Delete_Parameter(ref errors, pkid.GetDecimal(-1)); if (ret) CacheHelper.Remove("cache_Parameter_getList"); return JsonHandler.DeleteMessage(errors, ret); } #endregion #region 工单参数配置修改页面 #region 显示工单参数配置修改页面 [HttpGet] public ActionResult MemoParameterEdit(string pkid) { BAS_PARAMETER model = new BAS_PARAMETER(); model = _parameter_Q.GetModelByPkid(pkid.GetDecimal(-1)); List items = new List(); string[] str = model.map_PARAVALUE.Split('#'); List lists = _Iord_memotype_Q.GetList(); foreach (var item in lists) { SelectListItem sli = new SelectListItem(); sli.Text = item.map_TYPENAME; sli.Value = item.map_TYPEID.ToString(); for (int i = 0; i < str.Length; i++) { if (item.map_TYPEID.ToString() == str[i]) { sli.Selected = true; } } items.Add(sli); } List department = _cache_Q.GetList_SalesDepartMent(); List list = _parameterGroup_Q.GetList(); List selectlistItem = list.Select(m => new SelectListItem() { Text = m.GROUPNAME, Value = m.GROUPID.ToString() }).ToList(); List departmentItem = new List(); departmentItem.Add(new SelectListItem() { Text = "默认", Value = "" }); departmentItem.AddRange(department.Select(m => new SelectListItem() { Text = m.map_DEPTNAME, Value = m.map_SALEDEPTCODE }).ToList()); ViewBag.MemoList = items; ViewBag.ParameterGroupList = selectlistItem; ViewBag.DepartmentItem = departmentItem; return View(model); } #endregion #region 提交 工单参数配置默认新增/修改 [HttpPost] public JsonResult MemoParemeterEdit(BAS_PARAMETER model) { if (ModelState.IsValid) { model.map_UPDATEUSER = UserId; return JsonHandler.UpdateMessage(errors, _parameter.Update_Parameter(ref errors, model)); } else { return JsonHandler.ValidateFailMessage(); } } #endregion #endregion [HttpGet] public ActionResult SessionParameterEdit(string pkid) { BAS_PARAMETER model = _parameter_Q.GetModelByPkid(pkid.GetDecimal(-1)); List department = _cache_Q.GetList_SalesDepartMent(); List list = _parameterGroup_Q.GetList(); List selectlistItem = list.Select(m => new SelectListItem() { Text = m.GROUPNAME, Value = m.GROUPID.ToString() }).ToList(); List departmentItem = new List(); departmentItem.Add(new SelectListItem() { Text = "默认", Value = "" }); departmentItem.AddRange(department.Select(m => new SelectListItem() { Text = m.map_DEPTNAME, Value = m.map_SALEDEPTCODE }).ToList()); ViewBag.ParameterGroupList = selectlistItem; ViewBag.DepartmentItem = departmentItem; return View(model); } [HttpPost] public JsonResult SessionParameterEdit(BAS_PARAMETER model) { if (ModelState.IsValid) { model.map_UPDATEUSER = UserId; return JsonHandler.UpdateMessage(errors, _parameter.Update_Parameter(ref errors, model)); } else { return JsonHandler.ValidateFailMessage(); } } [HttpPost] public JsonResult GenSessionPwd(string pwd) { try { if (string.IsNullOrEmpty(pwd)) { return JsonHandler.ManageMessage("参数错误", false); } string clientid = Utility.GetSettingByKey("CRMClientKey"); WX.CRM.IBLL.Util.ISecurityHelper sHelper = new SecurityHelper(); var data = sHelper.encyptData(clientid, pwd); return Json(new { data = data }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { LogHelper.Error(ex.ToString()); return JsonHandler.ManageMessage("系统错误", false); } } } }