| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 | using MathNet.Numerics.Distributions;using NPOI.POIFS.Crypt.Dsig;using NPOI.SS.Formula.Functions;using OASystem.Domain;using OASystem.Domain.Entities.Groups;using OASystem.Domain.Entities.System;using OASystem.Domain.ViewModels.QiYeWeChat;namespace OASystem.Infrastructure.Repositories.System{    public class CompanyRepository : BaseRepository<Sys_Company, CompanyView>    {        public CompanyRepository(SqlSugarClient sqlSugar) : base(sqlSugar)        {        }        public async  Task<Result> AddCompany(Sys_Company company)        {            Result result = new Result() { Code = -2, Msg = "未知错误" };            try            {                BeginTran();                Sys_Company Company = _sqlSugar.Queryable<Sys_Company>().First(a => a.CompanyName == company.CompanyName && a.IsDel == 0);                if (Company != null)                {                    return result = new Result() { Code = -1, Msg = "该公司已存在,请勿重复添加!"};                }                else                {                    int CompanyId = 0;                    int DepartmentId = 0;                    int JobPostId = 0;                    int UsersId = 0;                    CompanyId = await AddAsyncReturnId(company);                    if (CompanyId > 0)                    {                        #region 添加默认部门                        Sys_Department _Department = new Sys_Department();                        _Department.CompanyId = CompanyId;                        _Department.DepName = "默认部门";                        _Department.DepCode = "00";                        _Department.ParentDepId = 0;                        _Department.CreateUserId = company.CreateUserId;                        _Department.Remark = "添加公司时默认生成部门,可修改!";                        _Department.IsDel = 0;                        DepartmentId = await _sqlSugar.Insertable(_Department).ExecuteReturnIdentityAsync();                        #endregion                        if (DepartmentId>0)                        {                            #region 添加默认岗位                            Sys_JobPost _JobPost = new Sys_JobPost();                            _JobPost.CompanyId = CompanyId;                            _JobPost.DepId = DepartmentId;                            _JobPost.JobName = "默认岗位";                            _JobPost.CreateUserId = company.CreateUserId;                            _JobPost.Remark = "添加公司时默认生成岗位,可修改!";                            _JobPost.IsDel = 0;                            JobPostId = await _sqlSugar.Insertable(_JobPost).ExecuteReturnIdentityAsync();                            #endregion                            if (JobPostId>0)                            {                                #region 添加默认管理员                                Sys_Users _Users = new Sys_Users();                                _Users.CnName = "管理员";                                _Users.EnName = "Guan LiYuan";                                _Users.Number = CompanyId.ToString() + DepartmentId.ToString() + JobPostId.ToString()+"01";                                _Users.CompanyId = CompanyId;                                _Users.DepId = DepartmentId;                                _Users.JobPostId = JobPostId;                                _Users.Password = "123456";                                _Users.Sex = 0;                                _Users.HrAudit = 1;                                _Users.CreateUserId = company.CreateUserId;                                _Users.Remark = "添加公司时默认生成管理员,Number可修改!";                                _Users.IsDel = 0;                                UsersId = await _sqlSugar.Insertable(_Users).ExecuteReturnIdentityAsync();                                if (UsersId>0)                                {                                    List<int> fid = new List<int>();//功能权限                                    List<int> SmId=new List<int>();//页面权限                                    List<Sys_UserAuthority> adds = new List<Sys_UserAuthority>();                                    List<Sys_PageFunctionPermission> sys_PageFunctionPermissions = _sqlSugar.Queryable<Sys_PageFunctionPermission>().Where(a=>a.IsDel==0).ToList();                                                                        foreach (var item in sys_PageFunctionPermissions)                                    {                                        fid.Add(item.Id);                                    }                                    List<Sys_SystemMenuPermission> _SystemMenuPermissions = _sqlSugar.Queryable<Sys_SystemMenuPermission>().Where(a => a.IsDel == 0 && (a.Mid==12 || a.Mid==13 || a.Mid==17) &&                                    a.WebUrl!="Null" && a.WebUrl!="/" && a.IsEnable==1).ToList();                                    foreach(var item in _SystemMenuPermissions)                                    {                                        SmId.Add(item.Id);                                    }                                    for (int i = 0;i< SmId.Count; i++)                                    {                                        for (int j = 0; j < fid.Count; j++)                                        {                                            adds.Add(new Sys_UserAuthority                                            {                                                CreateTime = DateTime.Now,                                                CreateUserId = company.CreateUserId,                                                FId = fid[j],                                                UId = UsersId,                                                SmId = SmId[i],                                                IsTemp = 0                                            });                                        }                                    }                                    _sqlSugar.Insertable<Sys_UserAuthority>(adds).ExecuteCommand();                                }                                else                                {                                    RollbackTran();                                    result = new Result() { Code = 0, Msg = "默认管理员添加失败!" };                                }                                #endregion                            }                            else                            {                                RollbackTran();                                result = new Result() { Code = 0, Msg = "默认岗位添加失败!" };                            }                        }                        else                        {                            RollbackTran();                            result = new Result() { Code = 0, Msg = "默认部门添加失败!" };                        }                        CommitTran();                        var data = new                        {                            Number = CompanyId.ToString() + DepartmentId.ToString() + JobPostId.ToString() + "01",                            Password = "123456",                        };                        result = new Result() { Code = 0, Msg = "添加成功!可通过Number和密码登录进去管理!初始密码为:123456", };                    }                    else                    {                        result = new Result() { Code = -1, Msg = "添加失败!请稍后重试!" };                    }                }            }            catch (Exception ex)            {                return result = new Result() { Code = -2, Msg = "未知错误" };            }            return result;        }                /// <summary>        /// 获取所有公司数据        /// </summary>        /// <param name="_CompanyRepository"></param>        /// <returns></returns>        public Result GetCompanyData()        {            Result result = new Result();            string sql = "select * from Sys_Company where isdel = 0";            var DBdata =  GetListBySqlWithNolock(sql);            if (DBdata == null || DBdata.Count == 0)            {                result.Code = -1;                result.Msg = "暂无数据!";                return result;            }            result.Code = 0;            result.Msg = "成功!";            result.Data = DBdata;            return result;        }        /// <summary>        /// 获取公司名称数据        /// </summary>        /// <param name="_CompanyRepository"></param>        /// <returns></returns>        public async Task<Result> GetCompanyNameData()        {            Result result = new Result();            string sql = "Select Id,CompanyName From Sys_Company Where IsDel = 0";            var companyNameData = await _sqlSugar.SqlQueryable<CompanyNameView>(sql).ToListAsync();            if (companyNameData == null || companyNameData.Count == 0)            {                result.Code = -1;                result.Msg = "暂无数据!";                return result;            }            result.Code = 0;            result.Msg = "成功!";            result.Data = companyNameData;            return result;        }    }}
 |