using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
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 YTSoft.BaseCallCenter.Model;
using YTSoft.BaseCallCenter.MVCWeb.Commons;
using YTSoft.BaseCallCenter.MVCWeb.Models;
using YTSoft.Common;
using YTSoft.DBUtility;
namespace YTSoft.BaseCallCenter.MVCWeb.Controllers
{
public class SystemManageController : BaseController
{
#region 部门管理
BLL.T_Sys_Department deptBLL = new BLL.T_Sys_Department();
BLL.T_SYS_Time timeBLL = new BLL.T_SYS_Time();
BLL.T_Sys_UserAccount userbll = new BLL.T_Sys_UserAccount();
///
/// 部门列表
///
///
public ActionResult DepartmentList()
{
WorkOrderMyModel model = new WorkOrderMyModel();
return View(model);
}
///通过部门父级节点获取数据
///
///
///
public string GetDepartmentJsonModel(int parentId)
{
AddAction("t_sys_department", parentId.ToMyString(), "获取父级树结构", "");
return Newtonsoft.Json.JsonConvert.SerializeObject(deptBLL.GetDepartmentJsonModel(parentId));
}
///
/// 部门编辑
///
/// 类型1、新增 2、修改
/// ///
public ActionResult DepartmentEdit(int deptId, int editType)
{
AddAction("t_sys_department", deptId.ToMyString(), "打开部门编辑页面", "");
Model.T_Sys_Department viewModel = new Model.T_Sys_Department();
//当前对象实体
if (editType == 1)
{
viewModel.F_ParentId = deptId;
viewModel.F_Sort = 1;
}
else
{
Model.T_Sys_Department deptModel = deptBLL.GetModel(deptId);
viewModel = deptModel;
}
return View(viewModel);
}
///
/// 保存编辑
///
///
///
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveDeptData(T_Sys_Department deptModel)
{
if (deptModel.F_DeptId > 0)
{
AddAction("t_sys_department", deptModel.F_DeptId.ToMyString(), "更新部门", deptModel.F_DeptName);
return deptBLL.Update(deptModel);
}
else
{
int id = deptBLL.Add(deptModel);
AddAction("t_sys_department", id.ToMyString(), "添加部门", deptModel.F_DeptName);
return id> 0;
}
}
///
/// 删除部门
///
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool DeleteDeptData(int deptId)
{
AddAction("t_sys_department", deptId.ToMyString(), "删除部门");
return deptBLL.Delete(deptId);
}
///
/// 获取部门数据
///
/// 当前页码
/// 每页数据量
///
[ActionName("DeptDate")]
[HttpGet]
public string DeptDate(DateTime? NowDateTime, int page, int limit, int? parentId)
{
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = "";
if (parentId != null)
{
sql += " and F_ParentId=" + parentId;
}
DataTable dt = new DataTable();
int recordCount = 0;
Model.PageData pageModel = new Model.PageData();
dt = BLL.PagerBLL.GetListPager(
"T_Sys_Department",
"F_DeptId",
"*",
sql,
"ORDER BY F_Sort asc ",
limit,
page,
true,
out recordCount);
dataModel.code = 0;
dataModel.count = recordCount;
dataModel.data = dt;
AddAction("t_sys_department", parentId.ToMyString(), "获取部门列表", "");
return JsonConvert.SerializeObject(dataModel);
}
#endregion
#region 角色管理
BLL.T_Sys_RoleInfo roleBLL = new BLL.T_Sys_RoleInfo();
public ActionResult RoleList()
{
WorkOrderMyModel model = new WorkOrderMyModel();
return View(model);
}
///
/// 获取角色列表
///
/// 当前页码
/// 每页数据量
///
[ActionName("RoleDate")]
[HttpGet]
public string RoleDate(DateTime? NowDateTime, int page, int limit)
{
AddAction("t_sys_roleinfo", "page", "查询角色列表",page.ToMyString()+"-"+ limit.ToMyString());
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = "";
DataTable dt = new DataTable();
int recordCount = 0;
Model.PageData pageModel = new Model.PageData();
dt = BLL.PagerBLL.GetListPager(
"T_Sys_RoleInfo",
"F_RoleId",
"*",
sql,
"ORDER BY F_RoleId",
limit,
page,
true,
out recordCount);
dataModel.code = 0;
dataModel.count = recordCount;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
///
/// 编辑角色
///
///
public ActionResult RoleEdit(int? roleId)
{
Model.T_Sys_RoleInfo viewModel = new Model.T_Sys_RoleInfo();
if (roleId != null && roleId > 0)
{
viewModel = roleBLL.GetModel(int.Parse(roleId.ToString()));
AddAction("t_sys_roleinfo", roleId.ToMyString(), "打开角色编辑页", "角色名称:"+ viewModel.F_RoleName, "敏感信息");
}
return View(viewModel);
}
///
/// 保存编辑
///
///
///
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveRoleEdit(T_Sys_RoleInfo roleInfoModel)
{
roleInfoModel.F_RoleCode = roleInfoModel.F_RoleCode.ToMyString();
if (roleInfoModel.F_RoleId > 0)
{
AddAction("t_sys_roleinfo", roleInfoModel.F_RoleId.ToMyString(), "更新角色", roleInfoModel.F_RoleName);
AddAction("t_sys_roleinfo", roleInfoModel.F_RoleId.ToMyString(), "更新角色", "数据:" + JsonConvert.SerializeObject(roleInfoModel), "敏感信息");
return roleBLL.Update(roleInfoModel);
}
else
{
int id = roleBLL.Add(roleInfoModel);
AddAction("t_sys_roleinfo", id.ToMyString(), "添加角色", roleInfoModel.F_RoleName);
AddAction("t_sys_roleinfo", id.ToMyString(), "添加角色", "数据:" +JsonConvert.SerializeObject(roleInfoModel), "敏感信息");
return id > 0;
}
}
///
/// 删除数据
///
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool DeleteRoleData(string roleId)
{
AddAction("t_sys_roleinfo", roleId.ToMyString(), "删除角色");
AddAction("t_sys_roleinfo", roleId.ToMyString(), "删除角色", "数据:" + roleId.ToMyString(), "敏感信息");
return roleBLL.DeleteList(roleId);
}
#endregion
#region 获取菜单树
public class DicSeaarchModel
{
public string RootCode
{
get;
set;
}
}
///
/// 初始化字典结构
///
///
///
public ActionResult MenuTree(string rootCode)
{
DicSeaarchModel model = new DicSeaarchModel();
model.RootCode = rootCode;
return View(model);
}
///
/// 获取字典数据
///
///
///
public string GetMenuTreeData(int roleId)
{
try
{
AddAction("T_Sys_ModuleFunctions".ToLower(), roleId.ToMyString(), "获取角色字典", "角色id"+ roleId.ToMyString());
return "[" + Newtonsoft.Json.JsonConvert.SerializeObject(roleBLL.GetMenuTree(roleId)).Replace("Checked", "checked") + "]";
}
catch (Exception ex)
{
return "";
}
}
///
///授权
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool AcceptList(int roleId, string MenuIdStr)
{
bool accRersult = false;
AddAction("T_Sys_ModuleFunctions", roleId.ToMyString(), "授权", "角色id" + roleId.ToMyString()+"功能菜单"+ MenuIdStr);
if (roleBLL.AddRolesMenuList(roleId, MenuIdStr))
{
AddAction("T_Sys_ModuleFunctions", roleId.ToMyString(), "授权角色功能", string.Format("给角色{0}授权菜单功能{1}", roleId, MenuIdStr), "敏感信息");
accRersult = true;
}
return accRersult;
}
#endregion
#region 业务类型管理
BLL.T_Wo_WorkOrderType dicTittleBLL = new BLL.T_Wo_WorkOrderType();
public ActionResult BusinessTypeList()
{
WorkOrderMyModel model = new WorkOrderMyModel();
return View(model);
}
///通过dic编码获取dic值
///
///
///
public string GetDicTittleJson(int parentId)
{
AddAction("t_wo_workordertype".ToLower(), parentId.ToMyString(), "获取业务类型");
return Newtonsoft.Json.JsonConvert.SerializeObject(dicTittleBLL.GetDicTittleJsonModel(parentId));
}
///
/// 获取业务类型数据
///
/// 当前页码
/// 每页数据量
///
[ActionName("OrderTypeDate")]
[HttpGet]
public string OrderTypeDate(DateTime? NowDateTime, int page, int limit, int? parentId)
{
AddAction("t_wo_workordertype".ToLower(),"page", "获取业务类型列表", page.ToMyString() + "-" + limit.ToMyString());
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = "";
if (parentId != null && parentId > 0)
{
sql += " and F_ParentId=" + parentId;
}
DataTable dt = new DataTable();
int recordCount = 0;
Model.PageData pageModel = new Model.PageData();
dt = BLL.PagerBLL.GetListPager(
"T_Wo_WorkOrderType",
"F_WorkOrderTypeId",
"*",
sql,
"ORDER BY F_Sort asc ",
limit,
page,
true,
out recordCount);
dataModel.code = 0;
dataModel.count = recordCount;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
///
/// 编辑业务类型
///
/// 当前选中id
/// 类型1、新增 2、修改
///
public ActionResult BussinessTypeEdit(int F_WorkOrderTypeId, int editType)
{
AddAction("t_wo_workordertype".ToLower(), F_WorkOrderTypeId.ToMyString(), "打开业务类型编辑页");
Model.T_Wo_WorkOrderType viewModel = new Model.T_Wo_WorkOrderType();
//当前对象实体
Model.T_Wo_WorkOrderType orderTypeModel = dicTittleBLL.GetModel(F_WorkOrderTypeId);
if (editType == 1)
{
viewModel.F_ParentId = orderTypeModel.F_WorkOrderTypeId;
viewModel.F_ParentName = orderTypeModel.F_ParentName;
viewModel.F_Sort = 1;
}
else
{
viewModel = orderTypeModel;
}
return View(viewModel);
}
///
/// 保存编辑
///
///
///
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveBussiTypeData(T_Wo_WorkOrderType WorkOrderTypeModel)
{
////当前用户信息
//workOrderBaseModel.F_USERID = F_UserID;//id
//workOrderBaseModel.F_LINKMAN = F_UserCode;//工号
//workOrderBaseModel.F_REPAIRMANNAME = "12";//姓名
if (WorkOrderTypeModel.F_WorkOrderTypeId > 0)
{
AddAction("t_wo_workordertype", WorkOrderTypeModel.F_WorkOrderTypeId.ToMyString(), "更新工单分类",WorkOrderTypeModel.F_Name);
return dicTittleBLL.Update(WorkOrderTypeModel) > 0;
}
else
{
int id = dicTittleBLL.Add(WorkOrderTypeModel);
AddAction("t_wo_workordertype", id.ToMyString(), "添加工单分类", WorkOrderTypeModel.F_Name);
return id > 0;
}
}
///
/// 删除数据
///
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool DeleteBussiTypeData(int WorkOrderTypeId)
{
AddAction("T_Sys_ModuleFunctions", WorkOrderTypeId.ToMyString(), "删除工单分类","", "敏感信息");
AddAction("t_wo_workordertype", WorkOrderTypeId.ToMyString(), "删除工单分类");
return dicTittleBLL.Delete(WorkOrderTypeId);
}
#endregion
#region 字典管理
BLL.T_Sys_DictionaryValue dicValueBLL = new BLL.T_Sys_DictionaryValue();
BLL.T_Sys_DictionaryBase dicBaseBLL = new BLL.T_Sys_DictionaryBase();
///
/// 字典列表
///
///
public ActionResult DictionaryList()
{
WorkOrderMyModel model = new WorkOrderMyModel();
return View(model);
}
///通过字典获取数据
///
///
///
public string GetDictionaryJsonModel(int parentId)
{
return Newtonsoft.Json.JsonConvert.SerializeObject(dicBaseBLL.GetDictionaryJsonModel());
}
///
/// 获取字典值数据
///
/// 当前页码
/// 每页数据量
///
[ActionName("DictionaryDate")]
[HttpGet]
public string DictionaryDate(DateTime? NowDateTime, int page, int limit, string dictionaryFlag)
{
AddAction("t_sys_dictionarybase".ToLower(),"page", "获取字典列表", page+"-"+ limit);
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = "";
if (!string.IsNullOrEmpty(dictionaryFlag) && dictionaryFlag != "0")
{
sql += " and F_DictionaryFlag='" + dictionaryFlag + "'";
}
DataTable dt = new DataTable();
int recordCount = 0;
Model.PageData pageModel = new Model.PageData();
if (string.IsNullOrEmpty(dictionaryFlag) || dictionaryFlag != "0")
{
dt = BLL.PagerBLL.GetListPager(
"T_Sys_DictionaryValue",
"F_DictionaryValueId",
"*",
sql,
"ORDER BY F_Sort asc ",
limit,
page,
true,
out recordCount);
}
else
{
dt = BLL.PagerBLL.GetListPager(
"T_Sys_DictionaryBase",
"F_DictionaryName",
"*,F_DictionaryName as F_Name",
sql,
"ORDER BY F_Sort asc ",
limit,
page,
true,
out recordCount);
}
dataModel.code = 0;
dataModel.count = recordCount;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
///
/// 获取字典值数据
///
/// 当前页码
/// 每页数据量
///
[ActionName("DictionaryDateOut")]
[HttpGet]
public string DictionaryDateOut(DateTime? NowDateTime, int page, int limit, string dictionaryFlag)
{
AddAction("t_sys_dictionarybase".ToLower(), "page", "获取字典列表", page + "-" + limit);
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = "and (F_DictionaryFlag='ZDXX' OR F_DictionaryFlag='ZDXX2')";
DataTable dt = new DataTable();
int recordCount = 0;
Model.PageData pageModel = new Model.PageData();
dt = BLL.PagerBLL.GetListPager(
"T_Sys_DictionaryValue",
"F_DictionaryValueId",
"*",
sql,
"ORDER BY F_Sort asc ",
limit,
page,
true,
out recordCount);
dataModel.code = 0;
dataModel.count = recordCount;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
///
/// 字典项编辑
///
/// 类型1、新增 2、修改
/// ///
public ActionResult DictionaryBaseEdit(string dicCode, int editType)
{
AddAction("t_sys_dictionarybase".ToLower(), dicCode, "打开字典编辑页");
Model.T_Sys_DictionaryBase viewModel = new Model.T_Sys_DictionaryBase();
//当前对象实体
if (editType == 1)
{
viewModel.F_Sort = 1;
}
else
{
Model.T_Sys_DictionaryBase dicBaseModel = dicBaseBLL.GetModel(dicCode);
viewModel = dicBaseModel;
}
return View(viewModel);
}
///
/// 保存字典项编辑
///
///
///
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveDictionaryBaseData(T_Sys_DictionaryBase dicBaseModel)
{
try
{
if (!string.IsNullOrEmpty(dicBaseModel.F_DictionaryFlagType))
{
AddAction("t_sys_dictionarybase", dicBaseModel.F_DictionaryFlagType, "更新字典项");
return dicBaseBLL.Update(dicBaseModel);
}
else
{
AddAction("t_sys_dictionarybase", dicBaseModel.F_DictionaryFlagType, "添加字典项");
return dicBaseBLL.Add(dicBaseModel);
}
}
catch (Exception ex)
{
LogHelper.Default.WriteError("字典操作失败",ex);
return false;
}
}
///
/// 删除字典项
///
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool DeleteBaseData(string baseCode)
{
AddAction("t_sys_dictionarybase", baseCode,"删除字典项");
return dicBaseBLL.Delete(baseCode);
}
///
/// 字典值编辑
///
/// 类型1、新增 2、修改
/// ///
public ActionResult DictionaryValueEdit(int? valueId, string parentCode, int editType)
{
AddAction("t_sys_dictionarybase".ToLower(), valueId.ToMyString(), "打开字典值编辑页");
Model.T_Sys_DictionaryValue viewModel = new Model.T_Sys_DictionaryValue();
//当前对象实体
if (editType == 1)
{
viewModel.F_Sort = 1;
viewModel.F_DictionaryFlag = parentCode;
}
else
{
Model.T_Sys_DictionaryValue dicValueModel = dicValueBLL.GetModel(int.Parse(valueId.ToString()));
viewModel = dicValueModel;
}
return View(viewModel);
}
///
/// 保存字典值
///
///
///
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveDictionaryValueData(T_Sys_DictionaryValue dicBaseModel)
{
if (dicBaseModel.F_DictionaryValueId > 0)
{
AddAction("t_sys_dictionaryvalue", dicBaseModel.F_DictionaryValueId.ToMyString(), "更新字典值");
return dicValueBLL.Update(dicBaseModel);
}
else
{
int id = dicValueBLL.Add(dicBaseModel);
AddAction("t_sys_dictionaryvalue", id.ToMyString(), "添加字典值");
return id > 0;
}
}
///
/// 删除字典值
///
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool DeleteValueData(int id)
{
AddAction("t_sys_dictionaryvalue", id.ToMyString(), "删除字典值");
return dicValueBLL.Delete(id);
}
#endregion
#region 菜单管理
BLL.T_Sys_ModuleFunctions menuBLL = new BLL.T_Sys_ModuleFunctions();
///
/// 部门列表
///
///
public ActionResult MenuList()
{
WorkOrderMyModel model = new WorkOrderMyModel();
return View(model);
}
///通过部门父级节点获取数据
///
///
///
public string GetMenuJsonModel(int parentId)
{
AddAction("t_sys_modulefunctions", parentId.ToMyString(), "获取父级下菜单","父级id:"+ parentId);
return Newtonsoft.Json.JsonConvert.SerializeObject(menuBLL.GetMenuJsonModel(parentId));
}
///
/// 获取部门数据
///
/// 当前页码
/// 每页数据量
///
[ActionName("MenuDate")]
[HttpGet]
public string MenuDate(DateTime? NowDateTime, int page, int limit, int? parentId)
{
AddAction("t_sys_modulefunctions", "page", "获取菜单列表",page+"-"+limit);
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = "";
if (parentId != null)
{
sql += " and F_ParentId=" + parentId;
}
DataTable dt = new DataTable();
int recordCount = 0;
Model.PageData pageModel = new Model.PageData();
dt = BLL.PagerBLL.GetListPager(
"T_Sys_ModuleFunctions",
"F_FunctionId",
"* ,(CASE F_StateFlag WHEN 1 THEN '启用' WHEN 0 THEN '禁用' ELSE NULL END ) as F_StateFlagName",
sql,
"ORDER BY F_Sort asc ",
limit,
page,
true,
out recordCount);
dataModel.code = 0;
dataModel.count = recordCount;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
///
/// 功能编辑
///
/// 类型1、新增 2、修改
/// ///
public ActionResult MenuEdit(int menuId, int editType)
{
Model.T_Sys_ModuleFunctions viewModel = new Model.T_Sys_ModuleFunctions();
AddAction("t_sys_modulefunctions", menuId.ToMyString(), "打开功能编辑页", "菜单编号"+ menuId);
//当前对象实体
if (editType == 1)
{
viewModel.F_ParentId = menuId;
viewModel.F_Sort = 1;
}
else
{
Model.T_Sys_ModuleFunctions deptModel = menuBLL.GetModel(menuId);
viewModel = deptModel;
}
return View(viewModel);
}
///
/// 保存编辑
///
///
///
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveMenuData(T_Sys_ModuleFunctions menuModel)
{
if (menuModel.F_FunctionId > 0)
{
AddAction("t_sys_modulefunctions", menuModel.F_FunctionId.ToMyString(), "更新菜单", menuModel.F_Name);
AddAction("t_sys_modulefunctions", menuModel.F_FunctionId.ToMyString(), "更新菜单", "数据:"+JsonConvert.SerializeObject(menuModel), "主要设置");
return menuBLL.Update(menuModel);
}
else
{
int id = menuBLL.Add(menuModel);
AddAction("t_sys_modulefunctions", id.ToMyString(), "添加菜单", menuModel.F_Name);
AddAction("t_sys_modulefunctions", menuModel.F_FunctionId.ToMyString(), "添加菜单", "数据:" + JsonConvert.SerializeObject(menuModel), "主要设置");
return id > 0;
}
}
///
/// 删除功能
///
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool DeleteMenuData(int menuId)
{
Model.T_Sys_ModuleFunctions deptModel = menuBLL.GetModel(menuId);
AddAction("t_sys_modulefunctions", deptModel.F_FunctionId.ToMyString(), "删除菜单", "数据:" + JsonConvert.SerializeObject(deptModel), "主要设置");
AddAction("t_sys_modulefunctions", menuId.ToMyString(), "删除菜单");
return menuBLL.Delete(menuId);
}
#endregion
#region 用户管理
BLL.T_Sys_UserAccount userBLL = new BLL.T_Sys_UserAccount();
///
/// 部门列表
///
///
public ActionResult UserList()
{
WorkOrderMyModel model = new WorkOrderMyModel();
return View(model);
}
///
/// 用户编辑
///
/// 类型1、新增 2、修改
/// ///
public ActionResult UserEdit(int? userId, int? deptId, int editType)
{
AddAction("t_sys_useraccount", userId.ToMyString(), "打开用户编辑页", "用户编号/部门" + userId+"-"+ deptId);
Model.T_Sys_UserAccount viewModel = new Model.T_Sys_UserAccount();
//当前对象实体
if (editType == 1)
{
viewModel.F_DeptId = int.Parse(deptId.ToString());
AddAction("t_sys_useraccount", deptId.ToMyString(), "打开用户添加页", "", "敏感信息");
}
else
{
Model.T_Sys_UserAccount userModel = userBLL.GetModel(int.Parse(userId.ToString()));
viewModel = userModel;
AddAction("t_sys_useraccount", userId.ToMyString(), "打开用户编辑页", "数据:" + JsonConvert.SerializeObject(userModel), "敏感信息");
}
//获取部门列表
viewModel.DepartmentList = deptBLL.GetModelList("F_ParentId=0");
//获取角色列表
viewModel.RoleInfoList = roleBLL.GetModelList("");
return View(viewModel);
}
///
/// 保存编辑
///
///
///
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveUserData(T_Sys_UserAccount userModel)
{
BLL.T_Sys_RoleInfo bll = new BLL.T_Sys_RoleInfo();
BLL.T_Sys_UserAccount blluser = new BLL.T_Sys_UserAccount();
if (userModel.F_UserId > 0)
{
Model.T_Sys_UserAccount oldusermodel = blluser.GetModel(userModel.F_UserId);
Model.T_Sys_RoleInfo role2 = bll.GetModel(F_RoleID); //当前登录人的角色
Model.T_Sys_RoleInfo role = bll.GetModel(oldusermodel.F_RoleId);//要修改账户的角色
//要修改de账号 角色代码,登录人不是系统管理员,返回false
if (role.F_RoleCode == "XTGLY" || role.F_RoleCode == "YWGLY")
{
if (role2.F_RoleCode != "XTGLY")
{
return false;
}
}
Model.T_Sys_RoleInfo rolenew = bll.GetModel(userModel.F_RoleId);//要修改账户的改了之后的角色
if (rolenew.F_RoleCode == "XTGLY" || rolenew.F_RoleCode == "YWGLY")
{
if (role2.F_RoleCode != "XTGLY")
{
return false;
}
}
}
userModel.F_WorkNumber = userModel.F_UserCode;
if (userModel.F_UserId > 0)
{
T_Sys_UserAccount oldUserModel = userBLL.GetModel(userModel.F_UserId);
oldUserModel.F_WorkNumber = userModel.F_WorkNumber;
oldUserModel.F_UserName = userModel.F_UserName;
oldUserModel.F_UserCode = userModel.F_UserCode;
oldUserModel.F_DeptId = userModel.F_DeptId;
oldUserModel.F_RoleId = userModel.F_RoleId;
oldUserModel.F_SexFlag = userModel.F_SexFlag;
oldUserModel.F_Telephone = userModel.F_Telephone;
oldUserModel.F_SeatFlag = userModel.F_SeatFlag;
oldUserModel.F_SeatRight = userModel.F_SeatRight;
oldUserModel.F_Password = userModel.F_Password;
oldUserModel.F_Remark = userModel.F_Remark;
oldUserModel.F_ExtensionNumber = userModel.F_ExtensionNumber.ToMyString();
AddAction("t_sys_useraccount", userModel.F_UserId.ToMyString(), "更新用户", userModel.F_UserName);
AddAction("t_sys_useraccount", userModel.F_UserId.ToMyString(), "更新用户", "数据:" + JsonConvert.SerializeObject(oldUserModel), "敏感信息");
return userBLL.Update(oldUserModel);
}
else
{
Model.T_Sys_RoleInfo role2 = bll.GetModel(F_RoleID); //当前登录人的角色
Model.T_Sys_RoleInfo rolenew = bll.GetModel(userModel.F_RoleId);//要添加账户的的角色
if (rolenew.F_RoleCode == "XTGLY" || rolenew.F_RoleCode == "YWGLY")
{
if (role2.F_RoleCode != "XTGLY")
{
return false;
}
}
userModel.F_HJType = 0;
userModel.F_GroupId = 1;
if (userModel.F_SeatFlag)//&&false)
{
#region 调用接口插入用户信息
try
{
AddAction("t_sys_useraccount", userModel.F_UserId.ToMyString(), "跨站插入用户数据", "rexian.zzmetro.com用户编号" + userModel.F_UserCode);
AddAction("t_sys_useraccount", userModel.F_UserId.ToMyString(), "跨站插入用户数据", "数据:" + JsonConvert.SerializeObject(userModel), "敏感信息");
StringBuilder returnStr = new StringBuilder();
string wxAddUrl = "http://rexian.zzmetro.com/api/customer/insert";
UserInfo model = new UserInfo();
model.name = userModel.F_UserCode;
object userInfo = JObject.Parse(JsonConvert.SerializeObject(model));
string addWxResult = HttpHelper.HttpPost(wxAddUrl, userInfo);
ResponseResult ResultModel = JsonConvert.DeserializeObject(addWxResult);
userModel.F_PId = ResultModel.data;
}
catch (Exception ex)
{
}
#endregion
}
int userid = userBLL.Add(userModel);
AddAction("t_sys_useraccount", userid.ToMyString(), "新增用户", userModel.F_UserName);
AddAction("t_sys_useraccount", userModel.F_UserId.ToMyString(), "新增用户", "数据:" + JsonConvert.SerializeObject(userModel), "敏感信息");
return userid > 0;
}
}
///
/// 删除用户
///
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool DeleteUserData(int userId)
{
T_Sys_UserAccount oldUserModel = userBLL.GetModel(userId);
if (F_RoleID != 17 &&(oldUserModel.F_RoleId==17 || oldUserModel.F_RoleId == 57))
{
return false;
}
AddAction("t_sys_useraccount", userId.ToMyString(), "删除用户");
AddAction("t_sys_useraccount", userId.ToMyString(), "删除用户", "数据:" + JsonConvert.SerializeObject(oldUserModel), "敏感信息");
return userBLL.Delete(userId);
}
///
/// 获取用户数据
///
/// 当前页码
/// 每页数据量
///
[ActionName("UserDate")]
[HttpGet]
public string UserDate(DateTime? NowDateTime, int page, int limit, int? deptId)
{
AddAction("t_sys_useraccount", "page", "获取用户列表", "部门编号" + deptId.ToMyString());
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = "";
if (deptId != null && deptId > 0)
{
sql += " and F_DeptId=" + deptId;
}
DataTable dt = new DataTable();
int recordCount = 0;
Model.PageData pageModel = new Model.PageData();
dt = BLL.PagerBLL.GetListPager(
"T_Sys_UserAccount",
"F_UserId",
"*"
+ ",(select top 1 t.F_DeptName from T_Sys_Department t where t.F_DeptId=T_Sys_UserAccount.F_DeptId) as F_DeptName "
+ ",(select top 1 t.F_RoleName from T_Sys_RoleInfo t where t.F_RoleId=T_Sys_UserAccount.F_RoleId) as F_RoleName "
+ ",(CASE F_SeatFlag WHEN 1 THEN '使用' WHEN 0 THEN '不使用' ELSE NULL END ) as F_SeatFlagName"
+ ",(CASE F_SeatRight WHEN 1 THEN '班长坐席' WHEN 0 THEN '普通坐席' ELSE NULL END ) as F_SeatRightName"
,
sql,
"ORDER BY F_UserCode asc ",
limit,
page,
true,
out recordCount);
dataModel.code = 0;
dataModel.count = recordCount;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
#endregion
#region 修改密码
///
///用户修改个人密码
///
///
///
public ActionResult UserPwdEdit()
{
AddAction("t_sys_useraccount", F_UserID.ToMyString(), "打开修改密码页");
Model.T_Sys_UserAccount model = new Model.T_Sys_UserAccount();
if (F_UserID > 0)
{
model = userBLL.GetModel(F_UserID);
}
return View(model);
}
///
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult CheckPwd(string pwd)
{
checkpwd.Chkrslt chkrslt = checkpwd.PasswordStrength(pwd);
return Json(new
{
code = chkrslt.RSL ? 0 : 1,
msg = chkrslt.MSG
});
}
///
///保存修改密码
///
[AcceptVerbs(HttpVerbs.Post)]
public string UpdateUserPwd(Model.T_Sys_UserAccount model)
{
//checkpwd.Chkrslt chkrslt = checkpwd.PasswordStrength(model.password);
//if(!chkrslt.RSL)
//{
// return chkrslt.MSG;
//}
string AddRersult = "false";
if (model.F_UserId > 0)
{
Model.T_Sys_UserAccount newModel = userBLL.GetModel(model.F_UserId);
if (newModel != null && newModel.F_Password == model.oldPwd)
{
newModel.F_Password = model.password;
if (userBLL.Update(newModel))
{
AddAction("t_sys_useraccount", model.F_UserId.ToMyString(), "修改密码");
AddAction("t_sys_useraccount", model.F_UserId.ToMyString(), "修改密码", "数据:" + JsonConvert.SerializeObject(newModel), "敏感信息");
AddRersult = "True";
}
}
else
{
AddRersult = "旧密码不正确!";
}
}
return AddRersult;
}
#endregion
#region 基本信息
///
/// 用户编辑
///
/// 类型1、新增 2、修改
/// ///
public ActionResult UserView()
{
Model.T_Sys_UserAccount userModel = userBLL.GetModel(F_UserID);
AddAction("t_sys_useraccount", F_UserID.ToMyString(), "打开用户编辑页", "用户:"+userModel.F_UserName);
if (string.IsNullOrEmpty(userModel.F_HomePhone))
{
userModel.F_HomePhone = "/Content/images/face.jpg";
}
else
{
if (!System.IO.File.Exists(Server.MapPath(userModel.F_HomePhone)))
{
userModel.F_HomePhone = "/Content/images/face.jpg";
}
}
return View(userModel);
}
#endregion
#region 图片上传
///
/// 图片上传
///
///
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult UploadFile()
{
try
{
if (Request.Files.Count > 0)
{
string uppath = string.Empty;
string savepath = string.Empty;
HttpPostedFileBase imgFile = Request.Files[0];
if (imgFile != null)
{
//创建图片新的名称
string nameImg = DateTime.Now.ToString("yyyyMMddHHmmssfff");
//获得上传图片的路径
string strPath = imgFile.FileName;
//获得上传图片的类型(后缀名)
string type = strPath.Substring(strPath.LastIndexOf(".") + 1).ToLower();
//拼写数据库保存的相对路径字符串
savepath = "/Content/HeadImg/images/";
//拼写上传图片的路径
uppath = Server.MapPath("~/Content/HeadImg/images/");
if (!Directory.Exists(Path.GetDirectoryName(uppath)))
{
Directory.CreateDirectory(Path.GetDirectoryName(uppath));
}
uppath += nameImg + "." + type;
savepath += nameImg + "." + type;
//上传图片
imgFile.SaveAs(uppath); //原图片路径
}
Model.T_Sys_UserAccount userModel = userBLL.GetModel(F_UserID);
userModel.F_HomePhone = savepath;
if (userBLL.Update(userModel))
{
return Json(new
{
code = 0,
src = savepath,
msg = "上传成功"
});
}
else
{
return Json(new
{
code = 1,
src = "",
msg = "上传出错 请检查图片名称或图片内容"
});
}
}
else
{
return Json(new
{
code = 1,
src = "",
msg = "上传出错 请检查图片名称或图片内容"
});
}
}
catch (Exception ex)
{
return Json(new
{
code = 1,
src = "",
msg = "上传出错: " + ex.Message
});
}
}
#endregion
#region 公告管理
///
/// 公告管理
///
///
public ActionResult noticeManage()
{
Model.T_Msg_NoticeInfo noticeModel = new Model.T_Msg_NoticeInfo();
return View(noticeModel);
}
public ActionResult test()
{
Model.T_Msg_NoticeInfo noticeModel = new Model.T_Msg_NoticeInfo();
return View(noticeModel);
}
///
/// 获取公告数据
///
/// 当前页码
/// 每页数据量
///
[ActionName("NoticeListDate")]
[HttpGet]
public string NoticeListDate(DateTime? NowDateTime, int page, int limit, int? parentId)
{
AddAction("t_msg_noticeinfo", parentId.ToMyString(), "获取公告列表", page+"-"+ limit);
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = "";
if (parentId != null)
{
sql += " and F_ParentId=" + parentId;
}
DataTable dt = new DataTable();
int recordCount = 0;
Model.PageData pageModel = new Model.PageData();
dt = BLL.PagerBLL.GetListPager(
"T_Msg_NoticeInfo",
"F_NoticeId",
"*,CONVERT(varchar,F_CreateOn, 120 ) as F_CreateOnNew,isnull( CONVERT(varchar,F_ModifyDate, 120 ) ,CONVERT(varchar,F_CreateOn, 120 ) )as F_ModifyDateNew ",
sql,
"ORDER BY isnull( CONVERT(varchar,F_ModifyDate, 120 ) ,CONVERT(varchar,F_CreateOn, 120 ) ) desc ",
limit,
page,
true,
out recordCount);
dataModel.code = 0;
dataModel.count = recordCount;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
BLL.T_Msg_NoticeInfo noticeBLL = new BLL.T_Msg_NoticeInfo();
BLL.T_Msg_NoticeUsers noticeuserBLL = new BLL.T_Msg_NoticeUsers();
BLL.T_Sys_UserAccount usersBLL = new BLL.T_Sys_UserAccount();
///
/// 编辑公告
///
/// 类型1、新增 2、修改
/// ///
public ActionResult NoticeEdit(int? noticeId, int editType)
{
AddAction("t_msg_noticeinfo", noticeId.ToMyString(), "打开公告编辑页");
Model.T_Msg_NoticeInfo viewModel = new Model.T_Msg_NoticeInfo();
//当前对象实体
if (editType == 1)
{
viewModel.F_NoticeId = int.Parse(noticeId.ToString());
//viewModel.UseList = userBLL.GetModelList("");
}
else
{
Model.T_Msg_NoticeInfo userModel = noticeBLL.GetModel(int.Parse(noticeId.ToString()));
viewModel = userModel;
if (!string.IsNullOrEmpty(userModel.F_ReceiveInfo))
{
int deviceid = userModel.F_DeviceId == null ? 0 : (int)userModel.F_DeviceId;
viewModel.UseList = userBLL.GetModelList("F_UserId=" + deviceid);
viewModel.DepartmentList = deptBLL.GetModelList("F_DeptId=" + userModel.F_ReceiveInfo);
}
}
//获取部门列表
return View(viewModel);
}
///
/// 查看公告
///
/// 类型1、新增 2、修改
/// ///
public ActionResult NoticeView(int? noticeId)
{
AddAction("t_msg_noticeinfo", noticeId.ToMyString(), "查看公告详情");
Model.T_Msg_NoticeInfo viewModel = new Model.T_Msg_NoticeInfo();
viewModel.F_NoticeId = int.Parse(noticeId.ToString());
viewModel.UseList = userBLL.GetModelList("");
Model.T_Msg_NoticeInfo userModel = noticeBLL.GetModel(int.Parse(noticeId.ToString()));
viewModel = userModel;
viewModel.UseList = userBLL.GetModelList("F_DeptId=" + userModel.F_ReceiveInfo);
//获取部门列表
viewModel.DepartmentList = deptBLL.GetModelList("F_ParentId=0");
return View(viewModel);
}
///
/// 保存编辑公告
///
///
///
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveNoticeData(T_Msg_NoticeInfo noticeinfoModel)
{
bool result = false;
DataTable dt = new DataTable();
DataTable dtuser = new DataTable();
int noticeid = 0;
Model.T_Msg_NoticeUsers noticeuserModel = new Model.T_Msg_NoticeUsers();
DateTime? readdate =null;
try
{
//获取当前用户
noticeinfoModel.F_CreateBy = F_UserID;
noticeinfoModel.F_CreateName = HttpUtility.UrlDecode(F_UserName);
if (noticeinfoModel.F_NoticeId > 0)
{
noticeid = noticeinfoModel.F_NoticeId;
Model.T_Msg_NoticeInfo oldnoticeinfoModel = noticeBLL.GetModel(int.Parse(noticeid.ToString())); ;
dt = new YTSoft.BaseCallCenter.BLL.T_Msg_NoticeInfo().GetList("1=1 and F_NoticeId= " + noticeid).Tables[0];
if (dt.Rows.Count > 0)
{
dtuser = new YTSoft.BaseCallCenter.BLL.T_Sys_UserAccount().GetList("1=1 and F_DeptId= " + Convert.ToInt32(dt.Rows[0]["F_ReceiveInfo"].ToString())).Tables[0];
foreach (DataRow dr in dtuser.Rows)
{
noticeuserModel.F_UserId = Convert.ToInt32(dr["F_UserId"].ToString());
result = noticeuserBLL.Delete(noticeid, noticeuserModel.F_UserId);
}
}
readdate =Convert.ToDateTime( oldnoticeinfoModel.F_CreateOn);
oldnoticeinfoModel.F_Code = noticeinfoModel.F_Code;
oldnoticeinfoModel.F_Title = noticeinfoModel.F_Title;
oldnoticeinfoModel.F_Resume = noticeinfoModel.F_Resume;
oldnoticeinfoModel.F_Content = noticeinfoModel.F_Content;
oldnoticeinfoModel.F_ReceiveInfo = noticeinfoModel.F_ReceiveInfo;
oldnoticeinfoModel.F_DeviceId = noticeinfoModel.F_DeviceId;
oldnoticeinfoModel.F_State = 1;
oldnoticeinfoModel.F_ModifyDate = DateTime.Now;
oldnoticeinfoModel.F_ModifyBy = F_UserID;
result = noticeBLL.Update(oldnoticeinfoModel);
AddAction("t_msg_noticeinfo", oldnoticeinfoModel.F_NoticeId.ToMyString(), "修改公告");
}
else
{
noticeid = 0;
noticeinfoModel.F_DeviceId = noticeinfoModel.F_UserId;
noticeinfoModel.F_State = 1;
noticeinfoModel.F_CreateOn = DateTime.Now;
noticeinfoModel.F_ModifyDate = DateTime.Now;
readdate = noticeinfoModel.F_CreateOn;
noticeid = noticeBLL.Add(noticeinfoModel);
if (noticeid > 0)
{
result = true;
}
////添加公告的时候把公告user表添加数据
//List userlist= userbll.GetModelList("");
//foreach (T_Sys_UserAccount item in userlist)
//{
// Model.usernotice usernoticemodel = new usernotice();
// usernoticemodel.F_noticeid = noticeid;
// usernoticemodel.F_userid = item.F_UserId;
// usernoticemodel.F_state = 0;
// usernoticebll.Add(usernoticemodel);
//}
AddAction("t_msg_noticeinfo", noticeid.ToMyString(), "添加公告");
}
//指定方式发送公告
if (noticeinfoModel.F_DeviceId > 0)
{//指定人员发公告
noticeuserModel.F_NoticeId = noticeid;
noticeuserModel.F_UserId = Convert.ToInt32(noticeinfoModel.F_UserId);
noticeuserModel.F_UserName = noticeinfoModel.F_UserName;
//if (readdate.ToString() != "")
//{ noticeuserModel.F_ReadDate = readdate; }
//else
//{
// noticeuserModel.F_ReadDate = noticeinfoModel.F_CreateOn;
//}
noticeuserModel.F_State = 0;
noticeuserModel.F_Type = 0;
result = noticeuserBLL.Add(noticeuserModel);
}
else
{//指定部门发公告
dt = new YTSoft.BaseCallCenter.BLL.T_Sys_UserAccount().GetList("1=1 and F_DeptId= " + noticeinfoModel.F_ReceiveInfo).Tables[0];
if (dt.Rows.Count > 0)
{
noticeuserModel.F_NoticeId = noticeid;
//if (readdate.ToString()!="")
//{ noticeuserModel.F_ReadDate = readdate; }
//else {
//noticeuserModel.F_ReadDate = noticeinfoModel.F_CreateOn;
//}
foreach (DataRow dr in dt.Rows)
{
noticeuserModel.F_UserId = Convert.ToInt32(dr["F_UserId"].ToString());
noticeuserModel.F_UserName = dr["F_UserName"].ToString();
noticeuserModel.F_State = 0;
noticeuserModel.F_Type = 0;
result = noticeuserBLL.Add(noticeuserModel);
}
}
}
}
catch (Exception) { }
finally
{
dt.Clear();
dt.Dispose();
}
return result;
}
///
/// 删除公告
///
///
///
[AcceptVerbs(HttpVerbs.Get)]
public bool DeleteNoticeData(int noticeId)
{
bool res = false;
DataTable dt = new DataTable();
DataTable dtuser = new DataTable();
Model.T_Msg_NoticeUsers noticeuserModel = new Model.T_Msg_NoticeUsers();
try
{
dt = noticeBLL.GetList("1=1 and F_NoticeId= " + noticeId).Tables[0];
if (dt.Rows.Count > 0)
{
res = noticeBLL.Delete(noticeId);
AddAction("t_msg_noticeinfo", noticeId.ToMyString(), "删除公告");
//指定部门发公告
dtuser = new YTSoft.BaseCallCenter.BLL.T_Sys_UserAccount().GetList("1=1 and F_DeptId= " + Convert.ToInt32( dt.Rows[0]["F_ReceiveInfo"].ToString()) ).Tables[0];
foreach (DataRow dr in dtuser.Rows)
{
noticeuserModel.F_UserId = Convert.ToInt32(dr["F_UserId"].ToString());
noticeuserBLL.Delete(noticeId, noticeuserModel.F_UserId);
}
}
}
catch (Exception) { }
finally {
dt.Clear();
dt.Dispose();
dtuser.Clear();
dtuser.Dispose();
}
return res;
}
///
/// 未接根据recordid更新回访信息
///
///
///
[ActionName("SetNoticeState")]
[HttpGet]
public string SetNoticeState(string id, string timeno)
{
string res = "";
try
{
Model.T_Msg_NoticeInfo model = new Model.T_Msg_NoticeInfo();
model.F_State =1;
model.F_NoticeId = Convert.ToInt32(id);
bool bl = new BLL.T_Msg_NoticeInfo().UpdateNoticeState(model);
if (bl)
{
res = "success";
}
}
catch
{ }
return res;
}
[ActionName("CookieData")]
[HttpGet]
public string CookieData() {
return F_UserID.ToString();
}
#endregion
///
/// 工作时间管理
///
///
public ActionResult workTimeManage()
{
Model.T_SYS_Time timeModel = new Model.T_SYS_Time();
return View(timeModel);
}
///
/// 获取工作时间数据
///
/// 当前页码
/// 每页数据量
///
[ActionName("workTimeListData")]
[HttpGet]
public string workTimeListData()
{
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = " select top 1 * from T_SYS_Time";
DataTable dt= DbHelperSQL.Query(sql).Tables[0];
dataModel.code = 0;
dataModel.count = 1;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
public ActionResult workTimeEdit(int workTimeId )
{
Model.T_SYS_Time viewModel = new Model.T_SYS_Time();
// Model.T_SYS_Time userModel = timeBLL.GetModel(workTimeId);
//获取部门列表
return View(viewModel);
}
[AcceptVerbs(HttpVerbs.Post)]
public bool SaveWorkTimeData(T_SYS_Time systimeModel)
{
bool result = false;
DataTable dt = new DataTable();
DataTable dtuser = new DataTable();
Model.T_Msg_NoticeUsers noticeuserModel = new Model.T_Msg_NoticeUsers();
try
{
Model.T_SYS_Time oldsystimeModel = timeBLL.GetModel();
oldsystimeModel.F_WorkEndTimes = systimeModel.F_WorkEndTimes;
oldsystimeModel.F_WorkStartTimes = systimeModel.F_WorkStartTimes;
result = timeBLL.Update(oldsystimeModel);
AddAction("t_sys_time", "1", "修改工作时间", "", F_UserCode + "在" + DateTime.Now.ToString() + "修改工作时间");
}
catch (Exception) { }
finally
{
dt.Clear();
dt.Dispose();
}
return result;
}
[ActionName("noticeData")]
[HttpGet]
public string noticeListData()
{
int id = F_UserID;
//数据结果集
ResponseData dataModel = new ResponseData();
string sql = " select top 1 * from T_SYS_Time";
DataTable dt = DbHelperSQL.Query(sql).Tables[0];
dataModel.code = 0;
dataModel.count = 1;
dataModel.data = dt;
return JsonConvert.SerializeObject(dataModel);
}
}
#region 接口基本信息
///
/// 用户信息
///
public class UserInfo
{
public int id
{
get;
set;
}
public string name
{
get;
set;
}
}
///
/// 返回结果信息
///
public class ResponseResult
{
public int code
{
get;
set;
}
public int data
{
get;
set;
}
}
///
/// 返回结果信息
///
public class WXResponseResult
{
public int customer
{
get;
set;
}
public int service
{
get;
set;
}
public int total
{
get;
set;
}
}
#endregion
}