using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web;
using System.Web.Http;
using System.Web.Script.Serialization;
using VueWebApi.DLL.BLL;
using VueWebApi.Models;
using VueWebApi.Tools;
namespace VueWebApi.Controllers
{
[RoutePrefix(prefix: "api/BasicSetting")]
[ControllerGroup("基础设置","在线接口")]
public class BasicSettingController : ApiController
{
//定义全局信息返回变量
ToMessage mes = new ToMessage();
RedisHelper redis = new RedisHelper();
#region [组织架构查询]
///
/// 组织架构查询
///
/// 组织架构代码
/// 组织架构名称
/// 组织类型
/// 创建人员
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "OrganizationSearch")]
[HttpGet]
public HttpResponseMessage OrganizationSearch(string OrgCode=null, string OrgName=null, string OrgType=null, string UserName=null,int page=0,int rows=0,string prop=null,string order=null)
{
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = BasicSettingBLL.OrganizationSearch(OrgCode, OrgName, OrgType, UserName,startNum,endNum,prop,order);
return TJson.toJson(mes);
}
#endregion
#region[组织架构查找上级单位]
///
/// 组织架构查找上级单位
///
/// 组织编码
///
[Route(template: "PrentOrganization")]
[HttpGet]
public HttpResponseMessage PrentOrganization(string orgcode)
{
mes = BasicSettingBLL.PrentOrganization(orgcode);
return TJson.toJson(mes);
}
#endregion
#region[组织架构新增编辑]
///
/// 组织架构新增编辑
///
/// 提交数据对象
///
[Route(template: "AddUpdateOrganization")]
[HttpPost]
public HttpResponseMessage AddUpdateOrganization([FromBody] JObject obj)
{
string OrganType = obj["OrganType"].ToString(); //组织类型
string OrganCode = obj["OrganCode"].ToString(); //组织编码
string OrganName = obj["OrganName"].ToString(); //组织名称
string Operator = obj["Operator"].ToString(); //操作人员
int SupUnit = Convert.ToInt32(obj["SupUnit"].ToString());//上级单位
string RightCode = obj["RightCode"].ToString(); //菜单功能编码
string numvalue = obj["numvalue"].ToString(); //流水号
string OperType = obj["OperType"].ToString(); //操作类型
mes = BasicSettingBLL.AddUpdateOrganization(OrganType, OrganCode, OrganName, Operator, SupUnit, RightCode, numvalue, OperType);
return TJson.toJson(mes);
}
#endregion
#region[组织架构删除]
///
/// 组织架构删除
///
/// 组织id
///
[Route(template: "DeleteOrganization")]
[HttpPost]
public HttpResponseMessage DeleteOrganization(int orgid)
{
mes = BasicSettingBLL.DeleteOrganization(orgid);
return TJson.toJson(mes);
}
#endregion
#region[用户清单查询]
///
/// 用户清单查询
///
/// 用户编码
/// 用户名称
/// 所属组织
/// 工资类型
/// 在职状态
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "UserSearch")]
[HttpGet]
public HttpResponseMessage UserSearch(string UserCode = null, string UserName = null, string StuOrg = null,string wagetype=null, string Enable = null, int page = 0, int rows = 0, string prop = null, string order = null)
{
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = BasicSettingBLL.UserSearch(UserCode, UserName, StuOrg, wagetype, Enable, startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[用户所属组织]
///
/// 用户所属组织查询
///
///
[Route(template: "UserOrganization")]
[HttpGet]
public HttpResponseMessage UserOrganization()
{
mes = BasicSettingBLL.UserOrganization();
return TJson.toJson(mes);
}
#endregion
#region[用户所属班组]
///
/// 用户所属班组
///
///
[Route(template: "UserGroup")]
[HttpGet]
public HttpResponseMessage UserGroup()
{
mes = BasicSettingBLL.UserGroup();
return TJson.toJson(mes);
}
#endregion
#region[用户清单新增编辑]
///
/// 用户清单新增编辑
///
/// 提交数据对象
///
[Route(template: "AddUpdateUser")]
[HttpPost]
public HttpResponseMessage AddUpdateUser([FromBody] JObject obj)
{
string UserId = obj["id"].ToString(); //用户id(主键)
string UserCode = obj["UserCode"].ToString(); //用户编码
string UserName = obj["UserName"].ToString(); //用户名称
string Password = obj["Password"].ToString(); //密码
string Enable = obj["Enable"].ToString(); //在职状态
string StuOrg = obj["StuOrg"].ToString(); //选择组织编码
string groupcode= obj["groupcode"].ToString(); //所属班组编码
string wagetype = obj["wagetype"].ToString(); //工资类型
string Mobile = obj["Mobile"].ToString(); //联系方式
string Email = obj["Email"].ToString(); //电子邮箱
string Operator = obj["Operator"].ToString(); //操作人员
string OperType = obj["OperType"].ToString(); //操作类型
mes = BasicSettingBLL.AddUpdateUser(UserId, UserCode, UserName, Password, Enable, StuOrg, groupcode, wagetype, Mobile, Email, Operator, OperType);
return TJson.toJson(mes);
}
#endregion
#region[用户删除]
///
/// 用户删除
///
/// 用户id
///
[Route(template: "DeleteUser")]
[HttpPost]
public HttpResponseMessage DeleteUser(int Userid)
{
mes = BasicSettingBLL.DeleteUser(Userid);
return TJson.toJson(mes);
}
#endregion
#region[用户清单关联角色查询]
///
/// 用户清单关联角色查询
///
/// 用户编码
///
[Route(template: "UserAssociationRole")]
[HttpGet]
public HttpResponseMessage UserAssociationRole(string usercode)
{
mes = BasicSettingBLL.UserAssociationRole(usercode);
return TJson.toJson(mes);
}
#endregion
#region[用户清单关联角色保存]
///
/// 用户清单关联角色保存
///
/// 用户编码
/// 提交数据对象
///
[Route(template: "SaveUserAssoctRole")]
[HttpPost]
public HttpResponseMessage SaveUserAssoctRole(string usercode, List json)
{
//JavaScriptSerializer Serializer = new JavaScriptSerializer();
//List objs = new List();
//objs = Serializer.Deserialize>(json);
mes= BasicSettingBLL.SaveUserAssoctRole(usercode, json);
return TJson.toJson(mes);
}
#endregion
#region[用户清单导入]
///
/// 用户清单导入
///
/// 上传用户清单导入文件
///
[Route(template: "ImportUserExcel")]
[HttpPost]
public HttpResponseMessage ImportUserExcel(HttpPostedFileBase files,string username)
{
string savePath;
if (files == null || files.ContentLength <= 0)
{
mes.code = "300";
mes.Message = "上传文件内容不能为空!";
}
else
{
string filename = Path.GetFileName(files.FileName);
int filesize = files.ContentLength;//获取上传文件的大小单位为字节byte
string fileEx = System.IO.Path.GetExtension(filename);//获取上传文件的扩展名
int Maxsize = 4000 * 1024;//定义上传文件的最大空间大小为4M
string FileType = ".xls,.xlsx";//定义上传文件的类型字符串
if (!FileType.Contains(fileEx))
{
mes.code = "300";
mes.Message = "文件类型不对,只能导入xls和xlsx格式的文件!";
}
else
{
if (filesize >= Maxsize)
{
mes.code = "300";
mes.Message = "上传文件超过4M,不能上传!";
}
else
{
string path = System.Web.HttpContext.Current.Server.MapPath("/File/excel/");
if (Directory.Exists(path) == false)//如果不存在就创建file文件夹
{
Directory.CreateDirectory(path); //添加文件夹
}
savePath = Path.Combine(path, filename);
if (Directory.Exists(savePath) == true) //如果存在重名文件就提示
{
mes.code = "300";
mes.Message = "已存在同名文件";
}
else
{
files.SaveAs(savePath); //将选择的文件保存到指定文件夹下
string FilesName = System.Web.HttpContext.Current.Server.MapPath("/File/excel/" + filename);
mes = BasicSettingBLL.ImportUserExcel(username,FilesName);
}
}
}
}
return TJson.toJson(mes);
}
#endregion
#region[用户组列表查询]
///
/// 用户组列表查询
///
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "UserGroupSearch")]
[HttpGet]
public HttpResponseMessage UserGroupSearch(int page = 0, int rows = 0, string prop = null, string order = null)
{
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = BasicSettingBLL.UserGroupSearch(startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[用户组新增]
///
/// 用户组新增
///
/// 用户组新增提交数据
///
[Route(template: "UserGroupAdd")]
[HttpPost]
public HttpResponseMessage UserGroupAdd(List json)
{
var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString();
mes = BasicSettingBLL.UserGroupAdd(json, username);
return TJson.toJson(mes);
}
#endregion
#region[用户组删除]
///
/// 用户组删除
///
/// 用户组编码
///
[Route(template: "UserGroupDelete")]
[HttpPost]
public HttpResponseMessage UserGroupDelete(string UserGrupCode)
{
mes = BasicSettingBLL.UserGroupDelete(UserGrupCode);
return TJson.toJson(mes);
}
#endregion
#region[角色类型列表查询]
///
/// 角色类型列表查询
///
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "RoleTypeSearch")]
[HttpGet]
public HttpResponseMessage RoleTypeSearch(int page = 0, int rows = 0, string prop = null, string order = null)
{
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = BasicSettingBLL.RoleTypeSearch(startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[角色类型新增]
///
/// 角色类型新增
///
/// 角色类型提交数据
///
[Route(template: "RoleTypeAdd")]
[HttpPost]
public HttpResponseMessage RoleTypeAdd(List json)
{
mes = BasicSettingBLL.RoleTypeAdd(json);
return TJson.toJson(mes);
}
#endregion
#region[角色类型删除]
///
/// 角色类型删除
///
/// 角色类型编码
///
[Route(template: "RoleTypeDelete")]
[HttpPost]
public HttpResponseMessage RoleTypeDelete(string RoleTypeCode)
{
mes = BasicSettingBLL.RoleTypeDelete(RoleTypeCode);
return TJson.toJson(mes);
}
#endregion
#region[角色类型下拉接口]
///
/// 角色类型下拉接口
///
///
[Route(template: "RoleTypeSelect")]
[HttpGet]
public HttpResponseMessage RoleTypeSelect()
{
try
{
mes = BasicSettingBLL.RoleTypeSelect();
}
catch (Exception e)
{
mes.code = "300";
mes.Message = e.Message;
}
return TJson.toJson(mes);
}
#endregion
#region[角色清单查询]
///
/// 角色清单查询
///
/// 角色编码
/// 角色名称
/// 角色类型编码
/// 创建人员
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "RoleSearch")]
[HttpGet]
public HttpResponseMessage RoleSearch(string RoleCode = null, string RoleName = null, string RoleTypeCode = null, string CreateUser = null, int page = 0, int rows = 0, string prop = null, string order = null)
{
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = BasicSettingBLL.RoleSearch(RoleCode, RoleName, RoleTypeCode, CreateUser, startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[角色清单新增编辑]
///
/// 角色清单新增编辑
///
/// 提交数据对象
///
[Route(template: "AddUpdateRole")]
[HttpPost]
public HttpResponseMessage AddUpdateRole([FromBody] JObject obj)
{
string RoleId = obj["RoleId"].ToString(); //角色id(主键)
string RoleCode = obj["RoleCode"].ToString(); //角色编码
string RoleName = obj["RoleName"].ToString(); //角色名称
string RoleTypeCode = obj["RoleTypeCode"].ToString(); //角色类型编码
string description = obj["description"].ToString(); //角色描述
var usercode = HttpContext.Current.Request.Cookies["navTabId"].Value.ToString();
string OperType = obj["OperType"].ToString(); //操作类型
mes = BasicSettingBLL.AddUpdateRole(RoleId, RoleCode, RoleName, RoleTypeCode, description, usercode, OperType);
return TJson.toJson(mes);
}
#endregion
#region[角色清单删除]
///
/// 角色清单删除
///
/// 角色编码
///
[Route(template: "DeleteRole")]
[HttpPost]
public HttpResponseMessage DeleteRole(string RoleCode)
{
mes = BasicSettingBLL.DeleteRole(RoleCode);
return TJson.toJson(mes);
}
#endregion
#region[角色清单关联用户查询]
///
/// 角色清单关联用户查询
///
/// 角色编码
/// 用户编码
/// 用户名称
/// 所属组织编码
/// 关联角色
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "RoleAssociationUser")]
[HttpGet]
public HttpResponseMessage RoleAssociationUser(string rolecode = null, string usercode = null, string username = null, string orgcode = null,string isrole=null, int page = 0, int rows = 0, string prop = null, string order = null)
{
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = BasicSettingBLL.RoleAssociationUser(rolecode, usercode, username,orgcode,isrole, startNum, endNum, prop,order);
return TJson.toJson(mes);
}
#endregion
#region[角色清单关联用户查询1]
///
/// 角色清单关联用户查询1
///
/// 角色编码
///
[Route(template: "RoleAssociationUserTwo")]
[HttpGet]
[HiddenApi]
public HttpResponseMessage RoleAssociationUserTwo(string rolecode = null)
{
mes = BasicSettingBLL.RoleAssociationUserTwo(rolecode);
return TJson.toJson(mes);
}
#endregion
#region[角色清单关联用户保存]
///
/// 角色清单关联用户保存
///
/// 角色编码
/// 提交数据对象
///
[Route(template: "SaveRoleAssoctUser")]
[HttpPost]
public HttpResponseMessage SaveRoleAssoctUser(string rolecode, List json)
{
//JavaScriptSerializer Serializer = new JavaScriptSerializer();
//List objs = new List();
//objs = Serializer.Deserialize>(json);
mes = BasicSettingBLL.SaveRoleAssoctUser(rolecode, json);
return TJson.toJson(mes);
}
#endregion
#region[角色清单关联功能查询]
///
/// 角色清单关联功能查询
///
/// 角色编码
/// 操作端分类编码
///
[Route(template: "RoleAssociationRight")]
[HttpGet]
public HttpResponseMessage RoleAssociationRight(string rolecode,string type=null)
{
mes = BasicSettingBLL.RoleAssociationRight(rolecode,type);
return TJson.toJson(mes);
}
#endregion
#region[角色清单关联功能保存]
///
/// 角色清单关联功能保存
///
/// 角色编码
/// 登录用户编码
/// 提交数据对象
///
[Route(template: "SaveUserAssoctRight")]
[HttpPost]
public HttpResponseMessage SaveUserAssoctRight(string rolecode,string usercode, List json)
{
mes = BasicSettingBLL.SaveUserAssoctRight(rolecode, usercode, json);
return TJson.toJson(mes);
}
#endregion
#region[往来单位查询]
///
/// 往来单位查询
///
/// 往来单位编码
/// 往来单位名称
/// 单位属性
/// 创建人员
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[Route(template: "CurrentUnitSearch")]
[HttpGet]
public HttpResponseMessage CurrentUnitSearch(string CuntUnitCode = null, string CuntUnitName = null, string UnitAttr = null, string CreateUser = null, int page = 0, int rows = 0, string prop = null, string order = null)
{
int startNum = rows * (page - 1) + 1; //起始记录rowNum
int endNum = rows * page; //结束记录 rowNum
mes = BasicSettingBLL.CurrentUnitSearch(CuntUnitCode, CuntUnitName, UnitAttr, CreateUser, startNum, endNum, prop, order);
return TJson.toJson(mes);
}
#endregion
#region[往来单位新增编辑]
///
/// 往来单位新增编辑
///
/// 提交数据对象
///
[Route(template: "AddUpdateCurrentUnit")]
[HttpPost]
public HttpResponseMessage AddUpdateCurrentUnit([FromBody] JObject obj)
{
string unitid = obj["id"].ToString(); //往来单位id(主键)
string unitcode = obj["unitcode"].ToString(); //往来单位编码编码
string unitname = obj["unitname"].ToString(); //往来单位名称
string mtypecode = obj["mtypecode"].ToString(); //外购供方编码
string btypecode = obj["btypecode"].ToString(); //外协供方编码
string htypecode = obj["htypecode"].ToString(); //客户编码
string person = obj["person"].ToString(); //联系人
string contact = obj["contact"].ToString(); //联系方式
string description = obj["description"].ToString(); //补充描述
var usercode = HttpContext.Current.Request.Cookies["admin"].Value.ToString();
string OperType = obj["OperType"].ToString(); //操作类型
mes = BasicSettingBLL.AddUpdateCurrentUnit(unitid, unitcode, unitname, mtypecode, btypecode,htypecode, person, contact, description, usercode, OperType);
return TJson.toJson(mes);
}
#endregion
#region[往来单位删除]
///
/// 往来单位删除
///
/// 往来单位编码
///
[Route(template: "DeleteCurrentUnit")]
[HttpPost]
public HttpResponseMessage DeleteCurrentUnit(string unitcode)
{
mes = BasicSettingBLL.DeleteCurrentUnit(unitcode);
return TJson.toJson(mes);
}
#endregion
}
}