using System;
using System.Collections.Generic;
using System.Data;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
using PMS.BusinessModels.SysManager;
using PMS.EntityModels.SysManager;
using PMS.Interface;
using PMS.Interface.SysManager;
using QWPlatform.SystemLibrary;
namespace PMS.WebUI.Controllers
{
///
/// 创 建 人:王海洋
/// 创建日期:2018-12-10
/// 功能描述:系统管理模块控制器
///
public class SysManagerController : BaseController
{
ISystemModule systemModule = InterfaceFactory.CreateBusinessInstance();
IButton button = InterfaceFactory.CreateBusinessInstance();
//配置服务
ISysConfig sys_config = InterfaceFactory.CreateBusinessInstance();
#region 模块管理
// GET: SysManager
public ActionResult ModuleList()
{
//toolbar
ViewBag.toolbar = this.GetToolbar("toolbar");
return View();
}
[HttpGet]
public ActionResult ModuleQueryList()
{
var json = systemModule.GetTreeGridView();
return Content(json, "application/json");
}
//获取module的树型json(所有菜单,包含未启用的菜单)
public ActionResult GetModuleTree()
{
var json = systemModule.GetEasyUIJson();
return Content(json, "application/json");
}
//获取所有菜单的目录(可用的)
public ActionResult GetModuleTreeActive()
{
var json = systemModule.GetActiveTreemenu();
return Content(json, "application/json");
}
//模块信息页面
public ActionResult ModuleInfo(string id)
{
ViewBag.id = id;
return View();
}
///
/// 获取模块信息(根据ID信息获取对应的json对象)
///
///
///
[HttpGet]
public ActionResult GetModuleInfo(string id)
{
var dt = systemModule.GetModuleInfo(int.Parse(id));
return this.ResponseJson(System.Net.HttpStatusCode.OK, "读取成功", dt);
}
//编辑数据并保存(可能是新增加)
[HttpPost]
public ActionResult PostSaveModule(form_menu_model model)
{
//调用业务接口进行保存
var r = systemModule.SaveInfo(model);
if (r)
{//保存成功
return this.ResponseJson(System.Net.HttpStatusCode.OK, "保存成功");
}
else
{//保存失败
return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "保存失败");
}
}
//根据ID删除模块记录
[HttpPost]
public ActionResult DeleteModule(int id)
{
var r = systemModule.DeleteModule(id);
if (r)
{
return this.ResponseJson(System.Net.HttpStatusCode.OK, "删除成功");
}
return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "删除失败");
}
//模块按钮
public ActionResult ModuleButtonList(int id)
{
ViewBag.id = id;
return View();
}
//获取所有按钮列表(已启用)
[HttpGet]
public ActionResult ButtonListActive(int id)
{
DataTable dt = null;
if (id <= 0)
{//加载所有的功能清单
dt = button.GetListJson(true);
}
else
{//加载已授权的功能列表(模块ID)
dt = systemModule.GetButtonListByID(id);
}
return Content(dt.ToEasyUIGridJson(0, null));
}
//对指定的模块进行授权(分配按钮到模块上)
[HttpPost]
public ActionResult PostAuthButtons(int id, string buttonids, string group)
{
bool r = systemModule.AuthButtons(id, buttonids, group);
if (r)
{
return ResponseJson(System.Net.HttpStatusCode.OK, "分配按钮成功");
}
else
{
return ResponseJson(System.Net.HttpStatusCode.Forbidden, "分配按钮失败,填写数据不完整");
}
}
//移除模块的指定按钮
[HttpPost]
public ActionResult PostRemoveAuthButtons(string ids)
{
bool r = systemModule.RemoveAuthButtons(ids);
if (r)
{
return ResponseJson(System.Net.HttpStatusCode.OK, "撤销分配成功");
}
else
{
return ResponseJson(System.Net.HttpStatusCode.Forbidden, "分配按钮成功");
}
}
//验证是否存在相同的模块名称
public ActionResult CheckModuleNameExists(string name, int id)
{
var r = systemModule.CheckNameExists(name, id);
if (r)
{//存在,验证失败
return Content("false");
}
//不存在,验证成功
return Content("true");
}
#endregion
#region 按钮管理
public ActionResult Buttons()
{//系统按钮
ViewBag.toolbar = this.GetToolbar("toolbar");
return View();
}
//编辑按钮页面
public ActionResult ButtonInfo(string id)
{
ViewBag.id = id;
return View();
}
//获取按钮信息
[HttpGet]
public ActionResult GetButtonInfo(int id)
{
string json = button.GetButtonInfoJson(id);
return this.ResponseJson(System.Net.HttpStatusCode.OK, "加载成功", json);
}
//获取所有按钮列表
[HttpGet]
public ActionResult ButtonList()
{
var dt = button.GetListJson(false);
return Content(dt.ToEasyUIGridJson(0, null));
}
//提交保存
[HttpPost]
public ActionResult PostButtonInfo(form_button_model model)
{
var r = button.PostSaveInfo(model);
if (r)
{//执行成功
return this.ResponseJson(System.Net.HttpStatusCode.OK, "保存成功");
}
else
{
return this.ResponseJson(System.Net.HttpStatusCode.InternalServerError, "保存失败");
}
}
//根据Button tag检查是否重复
[HttpGet]
public ActionResult GetButtonTag(string tag, string id)
{
return Content("");
}
#endregion
#region 系统日志
//返回系统日志信息
public ActionResult SysLogIndex()
{
//读取当前目录下的log-data文件夹
var logpath = Path.Combine(QWPlatform.SystemLibrary.Utils.Strings.AppDomainPath, "../log-data", DateTime.Now.ToString("yyyy-MM-dd") + ".log");
if (System.IO.File.Exists(logpath))
{//文件存在
var textlines = System.IO.File.ReadAllLines(logpath, Encoding.Default);
ViewBag.log = textlines;
}
return View();
}
#endregion
#region 系统参数
public ActionResult SystemSettigns()
{
var model = sys_config.GetEmailConfig();
if (model == null)
{
model = new emailConfig();
}
return View(model);
}
//保存邮件配置信息
public ActionResult SaveEmailConfig(emailConfig config)
{
var r = sys_config.SaveEmailConfig(config);
return Content(r ? "1" : "0");
}
//返回配置信息的json
public ActionResult GetEmailConfig1()
{
var model = sys_config.GetEmailConfig();
return Content(model.ToJson(),"text/json");
}
#endregion
#region 环节超时配置
//返回问题流环节程配置
[HttpPost]
public ActionResult RingInfo()
{
return Content(sys_config.RingInfo(), "application/json");
}
//配置超时时间
[HttpPost]
public ActionResult TimeOutConfig(string id, string minute, string dealtime, string state)
{
return Content(sys_config.TimeOutConfig(id,minute,dealtime,state), "application/json");
}
public ActionResult Time_Window(string id )
{
ViewBag.id = id;
return View();
}
public ActionResult LoadTime(string id)
{
return Content(sys_config.LoadTime(id), "application/json");
}
#endregion
}
}