yl
2022-07-16 4545b915123fb7b7535b697f6e82b12f525f8b71
VueWebApi/Controllers/BasicSettingController.cs
@@ -2,9 +2,11 @@
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;
@@ -45,6 +47,21 @@
        }
        #endregion
        #region[组织架构查找上级单位]
        /// <summary>
        /// 组织架构查找上级单位
        /// </summary>
        /// <param name="orgcode">组织编码</param>
        /// <returns></returns>
        [Route(template: "PrentOrganization")]
        [HttpGet]
        public HttpResponseMessage PrentOrganization(string orgcode)
        {
            mes = BasicSettingBLL.PrentOrganization(orgcode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[组织架构新增编辑]
        /// <summary>
        /// 组织架构新增编辑
@@ -60,8 +77,10 @@
            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, OperType);
            mes = BasicSettingBLL.AddUpdateOrganization(OrganType, OrganCode, OrganName, Operator, SupUnit, RightCode, numvalue, OperType);
            return TJson.toJson(mes);
        }
        #endregion
@@ -82,6 +101,7 @@
        #endregion
        #region[用户清单查询]
        /// <summary>
        /// 用户清单查询
@@ -89,6 +109,7 @@
        /// <param name="UserCode">用户编码</param>
        /// <param name="UserName">用户名称</param>
        /// <param name="StuOrg">所属组织</param>
        /// <param name="wagetype">工资类型</param>
        /// <param name="Enable">在职状态</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
@@ -97,11 +118,39 @@
        /// <returns></returns>
        [Route(template: "UserSearch")]
        [HttpGet]
        public HttpResponseMessage UserSearch(string UserCode = null, string UserName = null, string StuOrg = null, string Enable = null, int page = 0, int rows = 0, string prop = null, string order = null)
        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, Enable, startNum, endNum, prop, order);
            mes = BasicSettingBLL.UserSearch(UserCode, UserName, StuOrg, wagetype, Enable, startNum, endNum, prop, order);
            return TJson.toJson(mes);
        }
        #endregion
        #region[用户所属组织]
        /// <summary>
        /// 用户所属组织查询
        /// </summary>
        /// <returns></returns>
        [Route(template: "UserOrganization")]
        [HttpGet]
        public HttpResponseMessage UserOrganization()
        {
            mes = BasicSettingBLL.UserOrganization();
            return TJson.toJson(mes);
        }
        #endregion
        #region[用户所属班组]
        /// <summary>
        /// 用户所属班组
        /// </summary>
        /// <returns></returns>
        [Route(template: "UserGroup")]
        [HttpGet]
        public HttpResponseMessage UserGroup()
        {
            mes = BasicSettingBLL.UserGroup();
            return TJson.toJson(mes);
        }
        #endregion
@@ -116,16 +165,19 @@
        [HttpPost]
        public HttpResponseMessage AddUpdateUser([FromBody] JObject obj)
        {
            string UserId = obj["UserId"].ToString();    //用户id(主键)
            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, Enable, StuOrg, Mobile, Email, Operator, OperType);
            mes = BasicSettingBLL.AddUpdateUser(UserId, UserCode, UserName, Password, Enable, StuOrg, groupcode, wagetype, Mobile, Email, Operator, OperType);
            return TJson.toJson(mes);
        }
        #endregion
@@ -164,25 +216,211 @@
        /// <summary>
        /// 用户清单关联角色保存
        /// </summary>
        /// <param name="data">提交数据对象</param>
        /// <param name="usercode">用户编码</param>
        /// <param name="json">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "SaveUserAssoctRole")]
        [HttpPost]
        public HttpResponseMessage SaveUserAssoctRole([FromBody] dynamic json)
        public HttpResponseMessage SaveUserAssoctRole(string usercode, List<RoleUserSubmit> json)
        {
            dynamic result = json;
            //RoleUserSubmit printObj = JsonConvert.DeserializeObject<RoleUserSubmit>(result);
            JavaScriptSerializer Serializer = new JavaScriptSerializer();
            List<RoleUserSubmit> objs = new List<RoleUserSubmit>();
            objs = Serializer.Deserialize<List<RoleUserSubmit>>(result);
            //JavaScriptSerializer Serializer = new JavaScriptSerializer();
            //List<RoleUserSubmit> objs = new List<RoleUserSubmit>();
            //objs = Serializer.Deserialize<List<RoleUserSubmit>>(json);
            mes= BasicSettingBLL.SaveUserAssoctRole(usercode, json);
            return TJson.toJson(mes);
        }
        #endregion
            JObject jo = (JObject)JsonConvert.DeserializeObject(result);
            return TJson.toJson(jo);
        #region[用户清单导入]
        /// <summary>
        /// 用户清单导入
        /// </summary>
        /// <param name="files">上传用户清单导入文件</param>
        /// <returns></returns>
        [Route(template: "ImportUserExcel")]
        [HttpPost]
        public HttpResponseMessage ImportUserExcel(HttpPostedFileBase files)
        {
            string savePath;
            if (files == null || files.ContentLength <= 0)
            {
                mes.code = "300";
                mes.Message = "上传文件内容不能为空!";
            }
            else
            {
                var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString(); //登录用户名
                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[用户组列表查询]
        /// <summary>
        /// 用户组列表查询
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [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[用户组新增]
        /// <summary>
        /// 用户组新增
        /// </summary>
        /// <param name="json">用户组新增提交数据</param>
        /// <returns></returns>
        [Route(template: "UserGroupAdd")]
        [HttpPost]
        public HttpResponseMessage UserGroupAdd(List<StepDefect> json)
        {
            var username = HttpContext.Current.Request.Cookies["admin"].Value.ToString();
            mes = BasicSettingBLL.UserGroupAdd(json, username);
            return TJson.toJson(mes);
        }
        #endregion
        #region[用户组删除]
        /// <summary>
        /// 用户组删除
        /// </summary>
        /// <param name="UserGrupCode">用户组编码</param>
        /// <returns></returns>
        [Route(template: "UserGroupDelete")]
        [HttpPost]
        public HttpResponseMessage UserGroupDelete(string UserGrupCode)
        {
            mes = BasicSettingBLL.UserGroupDelete(UserGrupCode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[角色类型列表查询]
        /// <summary>
        /// 角色类型列表查询
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [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[角色类型新增]
        /// <summary>
        /// 角色类型新增
        /// </summary>
        /// <param name="json">角色类型提交数据</param>
        /// <returns></returns>
        [Route(template: "RoleTypeAdd")]
        [HttpPost]
        public HttpResponseMessage RoleTypeAdd(List<ObjectData> json)
        {
            mes = BasicSettingBLL.RoleTypeAdd(json);
            return TJson.toJson(mes);
        }
        #endregion
        #region[角色类型删除]
        /// <summary>
        /// 角色类型删除
        /// </summary>
        /// <param name="RoleTypeCode">角色类型编码</param>
        /// <returns></returns>
        [Route(template: "RoleTypeDelete")]
        [HttpPost]
        public HttpResponseMessage RoleTypeDelete(string RoleTypeCode)
        {
            mes = BasicSettingBLL.RoleTypeDelete(RoleTypeCode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[角色类型下拉接口]
        /// <summary>
        /// 角色类型下拉接口
        /// </summary>
        /// <returns></returns>
        [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[角色清单查询]
        /// <summary>
@@ -207,5 +445,202 @@
            return TJson.toJson(mes);
        }
        #endregion
        #region[角色清单新增编辑]
        /// <summary>
        /// 角色清单新增编辑
        /// </summary>
        /// <param name="obj">提交数据对象</param>
        /// <returns></returns>
        [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[角色清单删除]
        /// <summary>
        /// 角色清单删除
        /// </summary>
        /// <param name="RoleCode">角色编码</param>
        /// <returns></returns>
        [Route(template: "DeleteRole")]
        [HttpPost]
        public HttpResponseMessage DeleteRole(string RoleCode)
        {
            mes = BasicSettingBLL.DeleteRole(RoleCode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[角色清单关联用户查询]
        /// <summary>
        /// 角色清单关联用户查询
        /// </summary>
        /// <param name="rolecode">角色编码</param>
        /// <param name="usercode">用户编码</param>
        /// <param name="username">用户名称</param>
        /// <param name="orgcode">所属组织编码</param>
        /// <param name="isrole">关联角色</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [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]
        /// <summary>
        /// 角色清单关联用户查询1
        /// </summary>
        /// <param name="rolecode">角色编码</param>
        /// <returns></returns>
        [Route(template: "RoleAssociationUserTwo")]
        [HttpGet]
        [HiddenApi]
        public HttpResponseMessage RoleAssociationUserTwo(string rolecode = null)
        {
            mes = BasicSettingBLL.RoleAssociationUserTwo(rolecode);
            return TJson.toJson(mes);
        }
        #endregion
        #region[角色清单关联用户保存]
        /// <summary>
        /// 角色清单关联用户保存
        /// </summary>
        /// <param name="rolecode">角色编码</param>
        /// <param name="json">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "SaveRoleAssoctUser")]
        [HttpPost]
        public HttpResponseMessage SaveRoleAssoctUser(string rolecode, List<ObjectData> json)
        {
            //JavaScriptSerializer Serializer = new JavaScriptSerializer();
            //List<RoleUserSubmit> objs = new List<RoleUserSubmit>();
            //objs = Serializer.Deserialize<List<RoleUserSubmit>>(json);
            mes = BasicSettingBLL.SaveRoleAssoctUser(rolecode, json);
            return TJson.toJson(mes);
        }
        #endregion
        #region[角色清单关联功能查询]
        /// <summary>
        /// 角色清单关联功能查询
        /// </summary>
        /// <param name="rolecode">角色编码</param>
        /// <param name="type">操作端分类编码</param>
        /// <returns></returns>
        [Route(template: "RoleAssociationRight")]
        [HttpGet]
        public HttpResponseMessage RoleAssociationRight(string rolecode,string type=null)
        {
            mes = BasicSettingBLL.RoleAssociationRight(rolecode,type);
            return TJson.toJson(mes);
        }
        #endregion
        #region[角色清单关联功能保存]
        /// <summary>
        /// 角色清单关联功能保存
        /// </summary>
        /// <param name="rolecode">角色编码</param>
        /// <param name="usercode">登录用户编码</param>
        /// <param name="json">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "SaveUserAssoctRight")]
        [HttpPost]
        public HttpResponseMessage SaveUserAssoctRight(string rolecode,string usercode, List<TreeDM> json)
        {
            mes = BasicSettingBLL.SaveUserAssoctRight(rolecode, usercode, json);
            return TJson.toJson(mes);
        }
        #endregion
        #region[往来单位查询]
        /// <summary>
        /// 往来单位查询
        /// </summary>
        /// <param name="CuntUnitCode">往来单位编码</param>
        /// <param name="CuntUnitName">往来单位名称</param>
        /// <param name="UnitAttr">单位属性</param>
        /// <param name="CreateUser">创建人员</param>
        /// <param name="page">页码</param>
        /// <param name="rows">每页显示条数</param>
        /// <param name="prop">排序字段</param>
        /// <param name="order">排序规则</param>
        /// <returns></returns>
        [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[往来单位新增编辑]
        /// <summary>
        /// 往来单位新增编辑
        /// </summary>
        /// <param name="obj">提交数据对象</param>
        /// <returns></returns>
        [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 = "Admin";//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[往来单位删除]
        /// <summary>
        /// 往来单位删除
        /// </summary>
        /// <param name="unitcode">往来单位编码</param>
        /// <returns></returns>
        [Route(template: "DeleteCurrentUnit")]
        [HttpPost]
        public HttpResponseMessage DeleteCurrentUnit(string unitcode)
        {
            mes = BasicSettingBLL.DeleteCurrentUnit(unitcode);
            return TJson.toJson(mes);
        }
        #endregion
    }
}