Browse Source

Merge branch 'develop' of http://132.232.92.186:3000/XinXiBu/OA2023 into develop

leiy 2 years ago
parent
commit
206654087f

+ 4 - 0
OASystem/.editorconfig

@@ -0,0 +1,4 @@
+[*.cs]
+
+# IDE0005: Using 指令是不需要的。
+dotnet_diagnostic.IDE0005.severity = suggestion

+ 14 - 15
OASystem/OASystem.Api/Controllers/AuthController.cs

@@ -7,6 +7,7 @@ using OASystem.API.OAMethodLib;
 using Serilog.Parsing;
 using OASystem.Domain.Dtos.System;
 using System.Drawing.Drawing2D;
+using System.Collections;
 
 namespace OASystem.API.Controllers
 {
@@ -19,14 +20,16 @@ namespace OASystem.API.Controllers
         private readonly IMapper _mapper;
         private readonly IConfiguration _config;
         private readonly LoginRepository _loginRep;
-        private readonly MessageRepository _message; 
-
-        public AuthController(IConfiguration config, LoginRepository loginRep, IMapper mapper,MessageRepository message)
+        private readonly MessageRepository _message;
+        private readonly SystemMenuPermissionRepository _SystemMenuPermissionRepository;
+        public AuthController(IConfiguration config, LoginRepository loginRep, IMapper mapper,MessageRepository message,
+            SystemMenuPermissionRepository systemMenuPermissionRepository)
         {
             _config = config;
             _loginRep = loginRep;
             _mapper = mapper;
             _message = message;
+            _SystemMenuPermissionRepository = systemMenuPermissionRepository;
         }
 
         /// <summary>
@@ -44,22 +47,23 @@ namespace OASystem.API.Controllers
             if (userData.Code != 0)
             {
                 if (userData.Code != 0) { return Ok(JsonView(false, userData.Msg)); }
-
                 return Ok(JsonView(false, "暂无该员工信息!"));
             }
 
             #endregion
-
-
-            dynamic authData = null;
+            Result authData = null;
+            if (userData.Data != null)
+            {
+                var uid = (userData.Data as UserLoginInfoView).UserId;
+                authData = _SystemMenuPermissionRepository.QueryMenuLoad(uid, dto.PortType);
+            }
 
             var view = new LoginView
             {
-                UserInfo = userData.Data,
-                AuthData = authData,
+                UserInfo = userData == null ? null : userData.Data,
+                AuthData = authData == null ? null : authData,
             };
 
-
             DateTime createZebraTime = DateTime.Now;
             string authorId = dto.Number + "Token";
             string authorToken = await RedisRepository.RedisFactory.CreateRedisRepository().StringGetAsync<string>(authorId);//string 取
@@ -180,10 +184,5 @@ namespace OASystem.API.Controllers
 
             return Ok(JsonView(view));
         }
-
-       
-
-
-
     }
 }

+ 4 - 9
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -1,5 +1,6 @@
 using Microsoft.AspNetCore.Mvc;
 using Newtonsoft.Json.Serialization;
+using OASystem.API.OAMethodLib;
 using OASystem.API.OAMethodLibs;
 using OASystem.Domain.Dtos.Groups;
 using OASystem.Domain.Entities.Groups;
@@ -212,7 +213,6 @@ namespace OASystem.API.Controllers
         {
             try
             {
-                Logs("请求:" + JsonConvert.SerializeObject(dto));
                 var groupData = await _groupRepository.GroupOperation(dto);
                 if (groupData.Code != 0)
                 {
@@ -295,14 +295,9 @@ namespace OASystem.API.Controllers
                 return Ok(JsonView(false, groupData.Msg));
             }
 
-            TeamCodeView teamCodeView = new TeamCodeView
-            {
-                TourCode = groupData.Data
-            }; 
-
             GroupStepForDelegation.CreateWorkStep(dto.GroupId); //创建管控流程
 
-            return Ok(JsonView(teamCodeView));
+            return Ok(JsonView(groupData.Data));
         }
 
         /// <summary>
@@ -319,7 +314,7 @@ namespace OASystem.API.Controllers
             {
                 return Ok(JsonView(false, groupData.Msg));
             }
-
+            
             return Ok(JsonView(groupData.Data, groupData.Data.Count));
         }
 
@@ -364,7 +359,7 @@ namespace OASystem.API.Controllers
             return Ok(JsonView(groupData.Data));
         }
 
-
+       
 
         #endregion
     }

+ 2 - 59
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -1,7 +1,4 @@
-
-using OASystem.Infrastructure.Repositories.System;
-
-namespace OASystem.API.Controllers
+namespace OASystem.API.Controllers
 {
     /// <summary>
     /// 资料相关
@@ -37,61 +34,7 @@ namespace OASystem.API.Controllers
             _countryFeeRep = countryFeeRep;
             _setDataTypeRep = setDataTypeRep;
         }
-        #region 数据类型资料
-        /// <summary>
-        /// 根据类型查询数据
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [HttpPost]
-        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> QuerySetData(SetDataDto dto)
-        {
-            try
-            {
-                if (dto.DataType == 0)
-                {
-                    return Ok(JsonView(false, "请传类型Id!"));
-                }
-                var setData = _setDataRepository.QueryDto<Sys_SetData, SetDataView>(s => s.STid == dto.DataType).ToList();
-                if (setData.Count == 0)
-                {
-                    return Ok(JsonView(false, "暂无数据!"));
-                }
-                return Ok(JsonView(true, "查询成功!", setData));
-            }
-            catch (Exception ex)
-            {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
-            }
-        }
-        /// <summary>
-        /// 数据类型大全
-        /// </summary>
-        /// <param name="dto"></param>
-        /// <returns></returns>
-        [HttpPost]
-        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> QuerySetDataType(DtoBase dto)
-        {
-            try
-            {
-                var setDataType = _setDataTypeRep.QueryDto<Sys_SetDataType, SetDataTypeView>().ToList();
-                if (setDataType.Count==0)
-                {
-                    return Ok(JsonView(false, "暂无数据!"));
-                }
-                setDataType = setDataType.OrderByDescending(s => s.CreateTime).ToList();
-                return Ok(JsonView(true, "查询成功!", setDataType));
-            }
-            catch (Exception)
-            {
-                return Ok(JsonView(false, "程序错误!"));
-                throw;
-            }
-        }
-        #endregion
+      
 
         #region 车公司资料板块
 

+ 66 - 54
OASystem/OASystem.Api/Controllers/SystemController.cs

@@ -5,7 +5,7 @@ using Microsoft.AspNetCore.Mvc.Formatters;
 using Microsoft.AspNetCore.Mvc.ModelBinding;
 using Newtonsoft.Json.Linq;
 using OASystem.Domain.Dtos.System;
-using Org.BouncyCastle.Asn1.Cms;
+using Org.BouncyCastle.Asn1.Cms;
 using System.Collections;
 using System.Xml.Linq;
 using static OpenAI.GPT3.ObjectModels.SharedModels.IOpenAiModels;
@@ -31,14 +31,14 @@ namespace OASystem.API.Controllers
         private readonly SystemMenuAndFunctionRepository _SystemMenuAndFunctionRepository;
         private readonly JobPostAuthorityRepository _JobPostAuthorityRepository;
         private readonly JobPostRepository _jobRep;
-
+        private readonly SetDataTypeRepository _setDataTypeRep;
         private readonly UserAuthorityRepository _UserAuthorityRepository;
 
         public SystemController( CompanyRepository syscom, DepartmentRepository sysDepRep, UsersRepository userRep,
             IMapper mapper, SetDataRepository setDataRepository, CompanyRepository companyRepository,
             SystemMenuPermissionRepository systemMenuPermissionRepository, PageFunctionPermissionRepository pageFunctionPermissionRepository,
             SystemMenuAndFunctionRepository systemMenuAndFunctionRepository, JobPostAuthorityRepository jobPostAuthorityRepository, 
-            JobPostRepository jobRep,UserAuthorityRepository userAuthorityRepository, MessageRepository messageRep)
+            JobPostRepository jobRep,UserAuthorityRepository userAuthorityRepository, MessageRepository messageRep,SetDataTypeRepository setDataTypeRep)
             
         {
             _syscomRep = syscom;
@@ -54,6 +54,7 @@ namespace OASystem.API.Controllers
             _JobPostAuthorityRepository = jobPostAuthorityRepository;
             _UserAuthorityRepository = userAuthorityRepository;
             _jobRep = jobRep;
+            _setDataTypeRep = setDataTypeRep;
         }
         #region 消息
 
@@ -134,7 +135,64 @@ namespace OASystem.API.Controllers
         }
         #endregion
 
-       
+        #region 数据类型资料
+        /// <summary>
+        /// 根据类型查询数据
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QuerySetData(SetDataDto dto)
+        {
+            try
+            {
+                if (dto.DataType == 0)
+                {
+                    return Ok(JsonView(false, "请传类型Id!"));
+                }
+                var setData = _setDataRepository.QueryDto<Sys_SetData, SetDataView>(s => s.STid == dto.DataType).ToList();
+                if (setData.Count == 0)
+                {
+                    return Ok(JsonView(false, "暂无数据!"));
+                }
+                return Ok(JsonView(true, "查询成功!", setData));
+            }
+            catch (Exception ex)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        /// <summary>
+        /// 数据类型表查询
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
+        [HttpPost]
+        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
+        public async Task<IActionResult> QuerySetDataType(setDataTypeDto dto)
+        {
+            try
+            {
+                Result setDataType = await _setDataTypeRep.QuerySetDataType(dto);
+                if (setDataType.Code == 0)
+                {
+                    return Ok(JsonView(true, "查询成功", setDataType.Data));
+                }
+                else
+                {
+                    return Ok(JsonView(false, setDataType.Msg));
+                }
+            }
+            catch (Exception)
+            {
+                return Ok(JsonView(false, "程序错误!"));
+                throw;
+            }
+        }
+        #endregion
+
         #region 企业操作
         /// <summary>
         /// 查询企业数据
@@ -842,14 +900,14 @@ namespace OASystem.API.Controllers
             }
 
             //操作方式
-            var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>().ToList();
+            var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x=>x.IsEnable == 1).ToList();
 
             //获取所有关联页面
             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
 
 
             //页面数据
-            var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x=>x.Mid == dto.moduleId).ToList();
+            var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x=>x.Mid == dto.moduleId && x.IsEnable == 1).ToList();
             if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
             {
                 return Ok(JsonView("暂无数据"));
@@ -1065,7 +1123,7 @@ namespace OASystem.API.Controllers
             }
 
             //所有操作
-            var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>().ToList();
+            var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x=>x.IsEnable == 1).ToList();
 
             //获取所有关联页面
             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
@@ -1365,7 +1423,7 @@ namespace OASystem.API.Controllers
             //页面与操作关联表
             var pageAndFunList =  _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
             //页面功能表
-            var pageFunList = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>().ToList();
+            var pageFunList = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x => x.IsEnable == 1).ToList();
 
             ArrayList arr = new ArrayList();  
             foreach (var item in pageFunList)
@@ -1391,52 +1449,6 @@ namespace OASystem.API.Controllers
             }
             return Ok(JsonView(arr));
         }
-
-
-        /// <summary>
-        /// 菜单加载
-        /// </summary>
-        /// <returns></returns>
-        [HttpPost]
-        [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
-        public async Task<IActionResult> MenuLoad(MenuLoadDto dto)
-        {
-            var QueryResult = _SystemMenuPermissionRepository.QueryMenuLoad(dto.Userid);
-            JsonView ViewData = new JsonView();
-            ArrayList arr = new ArrayList();
-
-            if (QueryResult.Code == 0)
-            {
-                var menuGroup = (QueryResult.Data as List<MenuLoadView>).GroupBy(x=>x.modulid);
-                foreach (var item in menuGroup)
-                {
-                    var modul = item.FirstOrDefault();
-                    if (modul != null)
-                    {
-                        arr.Add(new
-                        {
-                            modulName = modul.modulName,
-                            modulid = modul.modulid,
-                            pageList = item
-                        }) ;
-                    }
-                }
-
-                ViewData.Code = 200;
-                ViewData.Msg = QueryResult.Msg;
-                ViewData.Data = arr;
-            }
-            else
-            {
-                ViewData.Code = 400;
-                ViewData.Msg = QueryResult.Msg;
-                ViewData.Data = null;
-            }
-
-            return Ok(ViewData);
-        }
-
-
         #endregion
 
         #region 页面操作

+ 8 - 8
OASystem/OASystem.Api/Program.cs

@@ -50,14 +50,14 @@ builder.Services.AddCors(policy =>
 #endregion
 
 #region ÉÏ´«Îļþ 
-//builder.Services.AddCors(policy =>
-//{
-//    policy.AddPolicy("Cors", opt => opt
-//    .AllowAnyOrigin()
-//    .AllowAnyHeader()
-//    .AllowAnyMethod()
-//    .WithExposedHeaders("X-Pagination"));
-//});
+builder.Services.AddCors(policy =>
+{
+    policy.AddPolicy("Cors", opt => opt
+    .AllowAnyOrigin()
+    .AllowAnyHeader()
+    .AllowAnyMethod()
+    .WithExposedHeaders("X-Pagination"));
+});
 
 builder.Services.Configure<FormOptions>(options =>
 {

+ 6 - 1
OASystem/OASystem.Domain/Dtos/System/MenuLoadDto.cs

@@ -8,6 +8,11 @@ namespace OASystem.Domain.Dtos.System
 {
     public class MenuLoadDto
     {
-        public int Userid { get; set; }
+        public int UserId { get; set; }
+        /// <summary>
+        /// 请求端口分类
+        /// 1 Web 2 Android 3 IOS
+        /// </summary>
+        public int PortType { get; set; } = 1;
     }
 }

+ 20 - 0
OASystem/OASystem.Domain/Dtos/System/setDataTypeDto.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.Dtos.System
+{
+    public class setDataTypeDto:DtoBase
+    {
+        /// <summary>
+        /// 类型名称
+        /// </summary>
+        public string Name { get; set; }
+        /// <summary>
+        /// 创建人名称
+        /// </summary>
+        public string CnName { get; set; }
+    }
+}

+ 1 - 1
OASystem/OASystem.Domain/Entities/Business/Bus_ConfItemListInfo.cs

@@ -19,6 +19,6 @@ namespace OASystem.Domain.Entities.Business
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "decimal(10,2)")]
         public decimal TotalCost { get; set; }
-
+        
     }
 }

+ 1 - 1
OASystem/OASystem.Domain/Entities/System/Sys_SetDataType.cs

@@ -16,7 +16,7 @@ namespace OASystem.Domain.Entities.System
         /// 是否启用
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
-        public bool IsEnable { get; set; } = true;
+        public int IsEnable { get; set; } = 1;
     }
     /// <summary>
     /// 数据表子类型

+ 4 - 0
OASystem/OASystem.Domain/OASystem.Domain.csproj

@@ -7,6 +7,10 @@
     <GenerateDocumentationFile>True</GenerateDocumentationFile>
   </PropertyGroup>
 
+  <ItemGroup>
+    <None Include="..\.editorconfig" Link=".editorconfig" />
+  </ItemGroup>
+
   <ItemGroup>
     <PackageReference Include="Autofac" Version="6.4.0" />
     <PackageReference Include="Autofac.Extensions.DependencyInjection" Version="8.0.0" />

+ 0 - 13
OASystem/OASystem.Domain/ViewModels/Resource/SetDataTypeView.cs

@@ -1,13 +0,0 @@
-using OASystem.Domain.Entities.System;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace OASystem.Domain.ViewModels.Resource
-{
-    public class SetDataTypeView: Sys_SetDataType
-    {
-    }
-}

+ 0 - 1
OASystem/OASystem.Domain/ViewModels/System/MenuLoadView.cs

@@ -8,7 +8,6 @@ namespace OASystem.Domain.ViewModels.System
 {
     public class MenuLoadView
     {
-       public int userpageid { get; set; }
         public int Uid { get; set; }
         public int SmId { get; set; }
         public int Funid { get; set; }

+ 17 - 0
OASystem/OASystem.Domain/ViewModels/System/SetDataTypeView.cs

@@ -0,0 +1,17 @@
+using OASystem.Domain.Entities.System;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Domain.ViewModels.System
+{
+    public class SetDataTypeView:Sys_SetDataType
+    {
+        /// <summary>
+        /// 创建人名称
+        /// </summary>
+        public string CnName { get; set; }
+    }
+}

+ 0 - 24
OASystem/OASystem.Infrastructure/Repositories/Resource/SetDataTypeRepository.cs

@@ -1,24 +0,0 @@
-using AutoMapper;
-using OASystem.Domain;
-using OASystem.Domain.Dtos.Resource;
-using OASystem.Domain.Entities.Resource;
-using OASystem.Domain.ViewModels.Resource;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-
-namespace OASystem.Infrastructure.Repositories.Resource
-{
-    public class SetDataTypeRepository: BaseRepository<Sys_SetDataType, SetDataTypeView>
-    {
-        private readonly IMapper _mapper;
-        public SetDataTypeRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
-        {
-            _mapper = mapper;
-        }
-     
-    }
-   
-}

+ 1 - 1
OASystem/OASystem.Infrastructure/Repositories/Resource/ThreeCodeRepository.cs

@@ -27,7 +27,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
             try
             {
                 string sqlWhere = string.Empty;
-                if (!string.IsNullOrWhiteSpace(dto.City))
+                if (!string.IsNullOrWhiteSpace(dto.City) && dto.City!="全部")
                 {
                     sqlWhere += string.Format(@" And City like '%{0}%'", dto.City);
                 }

+ 152 - 0
OASystem/OASystem.Infrastructure/Repositories/System/SetDataTypeRepository.cs

@@ -0,0 +1,152 @@
+using AutoMapper;
+using OASystem.Domain;
+using OASystem.Domain.Dtos.Resource;
+using OASystem.Domain.Dtos.System;
+using OASystem.Domain.Entities.Resource;
+using OASystem.Domain.Entities.System;
+using OASystem.Domain.ViewModels.Resource;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace OASystem.Infrastructure.Repositories.Resource
+{
+    public class SetDataTypeRepository: BaseRepository<Sys_SetDataType, SetDataTypeView>
+    {
+        private readonly IMapper _mapper;
+        public SetDataTypeRepository(SqlSugarClient sqlSugar, IMapper mapper) : base(sqlSugar)
+        {
+            _mapper = mapper;
+        }
+
+        public async Task<Result> QuerySetDataType(setDataTypeDto dto)
+        {
+            Result result = new Result() { Code = -2, Msg = "未知错误" };
+            try
+            {
+                string sqlWhere = string.Empty;
+                if (!string.IsNullOrWhiteSpace(dto.Name))
+                {
+                    sqlWhere += string.Format(@" And s.Name like '%{0}%'", dto.Name);
+                }
+                if (!string.IsNullOrWhiteSpace(dto.Name))
+                {
+                    sqlWhere += string.Format(@" And u.CnName like '%{0}%'", dto.Name);
+                }
+                sqlWhere += string.Format(@" And s.IsDel={0}", 0);
+                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+                {
+                    Regex r = new Regex("And");
+                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                }
+                if (dto.PortType == 1)
+                {
+                    string sql = string.Format(@"select s.*,u.CnName from Sys_setDataType s left join Sys_Users u on s.CreateUserId=u.Id  {0}", sqlWhere);
+                    List<SetDataTypeView> SetDataType = await _sqlSugar.SqlQueryable<SetDataTypeView>(sql).ToListAsync();
+                    if (SetDataType.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    SetDataType = SetDataType.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = SetDataType,
+                        };
+                    }
+                    else
+                    {
+                        int count = SetDataType.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<SetDataTypeView> _SetDataTypeView = new List<SetDataTypeView>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < SetDataType.Count)
+                            {
+                                _SetDataTypeView.Add(SetDataType[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _SetDataTypeView },
+                        };
+                    }
+
+                }
+                else if (dto.PortType == 2)
+                {
+                    string sql = string.Format(@"select s.*,u.CnName from Sys_setDataType s left join Sys_Users u on s.CreateUserId=u.Id  {0}", sqlWhere);
+                    List<SetDataTypeView> SetDataType = await _sqlSugar.SqlQueryable<SetDataTypeView>(sql).ToListAsync();
+                    if (SetDataType.Count == 0)
+                    {
+                        return result = new Result() { Code = -1, Msg = "暂无数据" };
+                    }
+                    SetDataType = SetDataType.OrderByDescending(x => x.CreateTime).ToList();
+
+                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    {
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = SetDataType,
+                        };
+                    }
+                    else
+                    {
+                        int count = SetDataType.Count;
+                        float totalPage = (float)count / dto.PageSize;//总页数
+                        if (totalPage == 0) totalPage = 1;
+                        else totalPage = (int)Math.Ceiling((double)totalPage);
+
+                        List<SetDataTypeView> _SetDataTypeView = new List<SetDataTypeView>();
+                        for (int i = 0; i < dto.PageSize; i++)
+                        {
+                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                            if (RowIndex < SetDataType.Count)
+                            {
+                                _SetDataTypeView.Add(SetDataType[RowIndex]);
+                            }
+                            else
+                            {
+                                break;
+                            }
+                        }
+                        return result = new Result()
+                        {
+                            Code = 0,
+                            Msg = "查询成功",
+                            Data = new { pageCount = count, totalPage = (int)totalPage, pageIndex = dto.PageIndex, pageSize = dto.PageSize, pageSource = _SetDataTypeView },
+                        };
+                    }
+                }
+                else
+                {
+                    return result = new Result() { Code = -2, Msg = "请传入PortType参数!1:Web,2:Android,3:IOS" };
+                }
+            }
+            catch (Exception)
+            {
+                return result;
+                throw;
+            }
+        }
+    }
+   
+}

+ 57 - 12
OASystem/OASystem.Infrastructure/Repositories/System/SystemMenuPermissionRepository.cs

@@ -1,6 +1,7 @@
 using OASystem.Domain;
 using OASystem.Domain.Entities.System;
 using OASystem.Domain.ViewModels.System;
+using System.Collections;
 
 namespace OASystem.Infrastructure.Repositories.System
 {
@@ -65,20 +66,38 @@ namespace OASystem.Infrastructure.Repositories.System
         }
 
 
-        public Result QueryMenuLoad(int uid)
+        public Result QueryMenuLoad(int uid,int PortType)
         {
             Result result = new Result();
+
             if (uid != 0)
             {
-                var DBData = _sqlSugar.SqlQueryable<MenuLoadView>($@"
-                 select a.id as userpageid ,a.UId,a.SmId,b.Id as Funid,b.FunctionName,b.FunctionCode,c.Id as modulid,
-                  c.Name as modulName,c.STid,d.Id as pageid ,d.Name as PageName,d.SystemMenuCode,d.webUrl,d.AndroidUrl,d.icon,
-                  d.IosUrl
-                  from Sys_UserAuthority a inner join Sys_PageFunctionPermission b on a.FId = b.Id 
-                  inner join Sys_SystemMenuPermission d on a.SmId = d.Id inner join Sys_SetData c on c.Id = d.Mid
-                  where uid = {uid} and b.Id = 1 and a.IsDel= 0  and b.IsDel = 0 
-                  and b.IsEnable = 1 and c.IsDel = 0 and d.IsDel = 0 and d.IsEnable = 1
-                ").ToList();
+                List<MenuLoadView> DBData = new List<MenuLoadView>();
+                string sql = $@"
+                     select a.UId,a.SmId,b.Id as Funid,b.FunctionName,b.FunctionCode,c.Id as modulid,
+                      c.Name as modulName,c.STid,d.Id as pageid ,d.Name as PageName,d.SystemMenuCode,d.webUrl,d.AndroidUrl,d.icon,
+                      d.IosUrl
+                      from Sys_UserAuthority a inner join Sys_PageFunctionPermission b on a.FId = b.Id 
+                      inner join Sys_SystemMenuPermission d on a.SmId = d.Id inner join Sys_SetData c on c.Id = d.Mid
+                      where uid = {uid} and b.Id = 1 and a.IsDel= 0  and b.IsDel = 0 
+                      and b.IsEnable = 1 and c.IsDel = 0 and d.IsDel = 0   ";
+
+                if (PortType == 1)
+                {
+                    sql += $@"   and d.IsEnable = 1  group by 
+                      a.UId,a.SmId,b.Id,b.FunctionName,b.FunctionCode,c.Id,
+                      c.Name,c.STid,d.Id,d.Name,d.SystemMenuCode,d.webUrl,d.AndroidUrl,d.icon,
+                      d.IosUrl";
+                    DBData = _sqlSugar.SqlQueryable<MenuLoadView>(sql).ToList();
+                }
+                else if (PortType == 2)
+                {
+                    sql += $@"  and d.phoneIsEnable = 1 group by 
+                      a.UId,a.SmId,b.Id,b.FunctionName,b.FunctionCode,c.Id,
+                      c.Name,c.STid,d.Id,d.Name,d.SystemMenuCode,d.webUrl,d.AndroidUrl,d.icon,
+                      d.IosUrl ";
+                    DBData = _sqlSugar.SqlQueryable<MenuLoadView>(sql).ToList();
+                }
 
                 result.Code = -1;
                 result.Msg = "暂无数据!";
@@ -87,10 +106,36 @@ namespace OASystem.Infrastructure.Repositories.System
                 {
                     result.Code = 0;
                     result.Msg = "成功!";
-                    result.Data = DBData;
+                    var arr = new ArrayList();
+
+                    if (PortType == 1)
+                    {
+                        var menuGroup = DBData.GroupBy(x => x.modulid);
+                        foreach (var item in menuGroup)
+                        {
+                            var modul = item.FirstOrDefault();
+                            if (modul != null)
+                            {
+                                arr.Add(new
+                                {
+                                    modulName = modul.modulName,
+                                    modulid = modul.modulid,
+                                    pageList = item
+                                });
+                            }
+                        }
+
+                    }
+                    else if (PortType == 2)
+                    {
+                        var pages = DBData.Select(x => x.pageid).ToArray();
+                        arr = ArrayList.Adapter(pages);
+                    }
+
+                    result.Data = arr;
                 }
+               
             }
-
             return result;
         }