yl
2022-08-22 facb807b19e232c44852a91b6b442285eddfb0f5
VueWebApi/Controllers/BasicSettingController.cs
@@ -2,6 +2,7 @@
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
@@ -16,6 +17,7 @@
{
    [RoutePrefix(prefix: "api/BasicSetting")]
    [ControllerGroup("基础设置","在线接口")]
    [ChannelActionFilter]
    public class BasicSettingController : ApiController
    {
        //定义全局信息返回变量
@@ -76,8 +78,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
@@ -98,6 +102,7 @@
        #endregion
        #region[用户清单查询]
        /// <summary>
        /// 用户清单查询
@@ -105,6 +110,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>
@@ -113,11 +119,11 @@
        /// <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
@@ -136,6 +142,20 @@
        }
        #endregion
        #region[用户所属班组]
        /// <summary>
        /// 用户所属班组
        /// </summary>
        /// <returns></returns>
        [Route(template: "UserGroup")]
        [HttpGet]
        public HttpResponseMessage UserGroup()
        {
            mes = BasicSettingBLL.UserGroup();
            return TJson.toJson(mes);
        }
        #endregion
        #region[用户清单新增编辑]
        /// <summary>
        /// 用户清单新增编辑
@@ -146,16 +166,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
@@ -209,11 +232,127 @@
        }
        #endregion
        #region[角色类型查询]
        #region[用户清单导入]
        /// <summary>
        /// 角色类型查询
        /// 用户清单导入
        /// </summary>
        /// <param name="files">上传用户清单导入文件</param>
        /// <returns></returns>
        [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[用户组列表查询]
        /// <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>
@@ -257,6 +396,28 @@
        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
@@ -347,6 +508,22 @@
        }
        #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>
        /// 角色清单关联用户保存
@@ -354,17 +531,116 @@
        /// <param name="rolecode">角色编码</param>
        /// <param name="json">提交数据对象</param>
        /// <returns></returns>
        [Route(template: "SaveUserAssoctRole")]
        [Route(template: "SaveRoleAssoctUser")]
        [HttpPost]
        public HttpResponseMessage SaveRoleAssociationUser(string rolecode, List<ObjectData> json)
        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.SaveRoleAssociationUser(rolecode, 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 = 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
    }
}