Bläddra i källkod

1:Login 员工权限查询 bug调试及修复

amigotrip 7 månader sedan
förälder
incheckning
bb15ea3794

+ 7 - 7
OASystem/OASystem.Api/Controllers/ResourceController.cs

@@ -1687,17 +1687,17 @@ Inner Join Sys_Department as d With(Nolock) On u.DepId=d.Id Where m.Id={0} ", _m
             List<Grp_DeleFile> _DeleFile = _sqlSugar.Queryable<Grp_DeleFile>().Where(a => a.Diid == dto.DiId && a.IsDel == 0 && a.Category == 970).ToList();
             return Ok(JsonView(true, "查询成功!", new { Delegation = groupInfos, SetData = data, DeleFile = _DeleFile }));
         }
+
+        /// <summary>
+        /// 公务List
+        /// </summary>
+        /// <param name="dto"></param>
+        /// <returns></returns>
         [HttpPost]
         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
         public async Task<IActionResult> QueryOfficialActivitiesByDiId(OfficialActivitiesByDiIdDto dto)
         {
-            Result groupData = await _officialActivitiesRep.QueryOfficialActivitiesByDiId(dto);
-            if (groupData.Code != 0)
-            {
-                return Ok(JsonView(false, groupData.Msg));
-            }
-            return Ok(JsonView(true, groupData.Msg, groupData.Data));
-            
+            return Ok(await _officialActivitiesRep.QueryOfficialActivitiesByDiId(dto));
         }
         /// <summary>
         /// 根据公务出访数据Id查询数据

+ 13 - 2
OASystem/OASystem.Domain/Entities/Resource/Res_OfficialActivities.cs

@@ -78,7 +78,6 @@ namespace OASystem.Domain.Entities.Resource
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int OfficialForm { get; set; }
 
-
         /// <summary>
         /// 公务方所属领域
         /// </summary>
@@ -120,7 +119,7 @@ namespace OASystem.Domain.Entities.Resource
         /// 翻译语种
         /// </summary>
         [SugarColumn(IsNullable = true, ColumnDataType = "nvarchar(120)")]
-        public string language { get; set; }
+        public string Language { get; set; }
         /// <summary>
         /// 暂定行程
         /// </summary>
@@ -138,5 +137,17 @@ namespace OASystem.Domain.Entities.Resource
         [SugarColumn(IsNullable = true, ColumnDataType = "int")]
         public int IsPay { get; set; }
 
+        /// <summary>
+        /// 确认邀请
+        /// 0 未确认邀请 1 已确认邀请
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "int")]
+        public int ConfirmTheInvitation { get; set; } = 0;
+
+        /// <summary>
+        /// 邮件截图
+        /// </summary>
+        [SugarColumn(IsNullable = true, ColumnDataType = "varchar(120)")]
+        public string? ScreenshotOfMailUrl { get; set; }
     }
 }

+ 111 - 91
OASystem/OASystem.Infrastructure/Repositories/Resource/OfficialActivitiesRepository.cs

@@ -27,114 +27,98 @@ namespace OASystem.Infrastructure.Repositories.Resource
         /// </summary>
         /// <param name="dto"></param>
         /// <returns></returns>
-        public async Task<Result> QueryOfficialActivitiesByDiId(OfficialActivitiesByDiIdDto dto)
+        public async Task<JsonView> QueryOfficialActivitiesByDiId(OfficialActivitiesByDiIdDto dto)
         {
-            Result result = new Result() { Code = -2, Msg = "未知错误" };
-            try
+            JsonView result = new JsonView() { Code = StatusCodes.Status204NoContent, Msg = "未知错误" };
+
+            string sqlWhere = string.Empty;
+            sqlWhere += string.Format(@"AND o.Isdel={0} AND o.DiId={1} ", 0, dto.DiId);
+
+            if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+            {
+                Regex r = new Regex("AND");
+                sqlWhere = r.Replace(sqlWhere, "WHERE", 1);
+            }
+            string sql = string.Format(@"
+SELECT
+  *,
+  u.CnName AS CreateUserName,
+  sd.Name AS OfficialFormName
+FROM
+  Res_OfficialActivities o
+  LEFT JOIN Sys_SetData sd ON o.OfficialForm = sd.Id
+  LEFT JOIN Sys_Users u ON o.CreateUserId = u.Id
+{0}
+ORDER BY
+  o.CreateTime desc
+", sqlWhere);
+            var OfficialActivities = await _sqlSugar.SqlQueryable<OfficialActivitiesView>(sql).ToListAsync();
+
+            if (OfficialActivities.Count != 0)
             {
-                string sqlWhere = string.Empty;
-                sqlWhere += string.Format(@"And o.Isdel={0} And o.DiId={1} ", 0, dto.DiId);
 
-                if (!string.IsNullOrEmpty(sqlWhere.Trim()))
+                if (dto.PageSize == 0 && dto.PageIndex == 0)
                 {
-                    Regex r = new Regex("And");
-                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                    foreach (var temp in OfficialActivities)
+                    {
+                        //2024年4月1日 11:55:44  -蒋金辰 -日期处理
+
+                        DateTime dt;
+                        bool b_dt = DateTime.TryParse(temp.Date, out dt);
+                        if (b_dt)
+                        {
+                            if (!string.IsNullOrEmpty(temp.Time)) temp.Date = dt.ToString("yyyy-MM-dd") + " " + temp.Time;
+                            else temp.Date = dt.ToString("yyyy-MM-dd HH:mm:ss");
+
+                        }
+
+                    }
+
+                    result = new JsonView() { Code = 200, Msg = "查询成功!", Data = OfficialActivities };
                 }
-                string sql = string.Format(@"select *,(select CnName from Sys_Users where o.CreateUserId=Id) as CreateUserName,OfficialForm
-    from Res_OfficialActivities o {0} order by o.CreateTime desc", sqlWhere);
-                List<OfficialActivitiesView> OfficialActivities = await _sqlSugar.SqlQueryable<OfficialActivitiesView>(sql).ToListAsync();
-                List<Sys_SetData> data = await _sqlSugar.Queryable<Sys_SetData>().Where(a => a.IsDel == 0 && a.STid == 38).ToListAsync();
-                if (OfficialActivities.Count != 0)
+                else
                 {
-                    List<Sys_SetData> sdList = Query<Sys_SetData>(s => s.STid == 38).ToList();
+                    int count = OfficialActivities.Count;
+                    float totalPage = (float)count / dto.PageSize;//总页数
+                    if (totalPage == 0) totalPage = 1;
+                    else totalPage = (int)Math.Ceiling((double)totalPage);
 
-                    if (dto.PageSize == 0 && dto.PageIndex == 0)
+                    List<OfficialActivitiesView> _OfficialActivities = new List<OfficialActivitiesView>();
+                    for (int i = 0; i < dto.PageSize; i++)
                     {
-                        foreach (var temp in OfficialActivities)
+                        var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
+                        if (RowIndex < OfficialActivities.Count)
                         {
                             //2024年4月1日 11:55:44  -蒋金辰 -日期处理
-                           
                             DateTime dt;
-                            bool b_dt = DateTime.TryParse(temp.Date, out dt);
+                            bool b_dt = DateTime.TryParse(OfficialActivities[RowIndex].Date, out dt);
                             if (b_dt)
                             {
-                                if (!string.IsNullOrEmpty(temp.Time)) temp.Date = dt.ToString("yyyy-MM-dd") + " " + temp.Time;
-                                else temp.Date = dt.ToString("yyyy-MM-dd HH:mm:ss");
-
+                                OfficialActivities[RowIndex].Date = dt.ToString("yyyy-MM-dd HH:mm");
                             }
 
-                            //2024年4月26日 17:43  -蒋金辰 -出访形式
-                            Sys_SetData tempForm = sdList.FirstOrDefault(s => s.Id == temp.OfficialForm);
-                            if (tempForm != null)
-                            {
-                                temp.OfficialFormName = tempForm.Name;
-                            }
-                            else
-                            {
-                                temp.OfficialFormName = "未知";
-                            }
+                            _OfficialActivities.Add(OfficialActivities[RowIndex]);
                         }
-
-                        result = new Result() { Code = 0, Msg = "查询成功!", Data = OfficialActivities };
-                    }
-                    else
-                    {
-                        int count = OfficialActivities.Count;
-                        float totalPage = (float)count / dto.PageSize;//总页数
-                        if (totalPage == 0) totalPage = 1;
-                        else totalPage = (int)Math.Ceiling((double)totalPage);
-
-                        List<OfficialActivitiesView> _OfficialActivities = new List<OfficialActivitiesView>();
-                        for (int i = 0; i < dto.PageSize; i++)
+                        else
                         {
-                            var RowIndex = i + (dto.PageIndex - 1) * dto.PageSize;
-                            if (RowIndex < OfficialActivities.Count)
-                            {
-                                //2024年4月1日 11:55:44  -蒋金辰 -日期处理
-                                DateTime dt;
-                                bool b_dt = DateTime.TryParse(OfficialActivities[RowIndex].Date, out dt);
-                                if (b_dt)
-                                {
-                                    OfficialActivities[RowIndex].Date = dt.ToString("yyyy-MM-dd HH:mm");
-                                }
-
-                                //2024年4月26日 17:43  -蒋金辰 -出访形式
-                                Sys_SetData tempForm = sdList.FirstOrDefault(s => s.Id == OfficialActivities[RowIndex].OfficialForm);
-                                if (tempForm != null)
-                                {
-                                    OfficialActivities[RowIndex].OfficialFormName = tempForm.Name;
-                                }
-                                else
-                                {
-                                    OfficialActivities[RowIndex].OfficialFormName = "未知";
-                                }
-
-                                _OfficialActivities.Add(OfficialActivities[RowIndex]);
-                            }
-                            else
-                            {
-                                break;
-                            }
+                            break;
                         }
+                    }
 
 
-                        ListViewBase<OfficialActivitiesView> rst = new ListViewBase<OfficialActivitiesView>();
-                        rst.DataList = _OfficialActivities;
-                        rst.DataCount = count;
-                        rst.CurrPageIndex = dto.PageIndex;
-                        rst.CurrPageSize = dto.PageSize;
-                        result = new Result() { Code = 0, Msg = "查询成功!", Data = rst };
-                    }
-                }
-                else
-                {
-                    result = new Result() { Code = 0, Msg = "暂无数据!", Data = OfficialActivities };
+                    ListViewBase<OfficialActivitiesView> rst = new ListViewBase<OfficialActivitiesView>();
+                    rst.DataList = _OfficialActivities;
+                    rst.DataCount = count;
+                    rst.CurrPageIndex = dto.PageIndex;
+                    rst.CurrPageSize = dto.PageSize;
+                    result = new JsonView() { Code = 200, Msg = "查询成功!", Data = rst };
                 }
             }
-            catch (Exception ex)
+            else
             {
-                result = new Result() { Code = -2, Msg = "未知错误" };
+                result = new JsonView() { Code = StatusCodes.Status204NoContent, Msg = "暂无数据!", Data = OfficialActivities };
             }
+
             return result;
         }
 
@@ -150,16 +134,52 @@ namespace OASystem.Infrastructure.Repositories.Resource
             try
             {
                 string sqlWhere = string.Empty;
-                sqlWhere += string.Format(@"And o.Isdel={0} And o.DiId={1} And o.Id={2}", 0, dto.DiId, dto.Id);
+                sqlWhere += string.Format(@"AND oa.Isdel={0} AND oa.DiId={1} AND oa.Id={2}", 0, dto.DiId, dto.Id);
 
                 if (!string.IsNullOrEmpty(sqlWhere.Trim()))
                 {
-                    Regex r = new Regex("And");
-                    sqlWhere = r.Replace(sqlWhere, "Where", 1);
+                    Regex r = new Regex("AND");
+                    sqlWhere = r.Replace(sqlWhere, "WHERE", 1);
                 }
-                string sql = string.Format(@"select *,(select CnName from Sys_Users where o.CreateUserId=Id) as CreateUserName,(select Name from Sys_SetData
-                                            where Id=o.OfficialForm) as OfficialFormName from Res_OfficialActivities o {0}", sqlWhere);
-                OfficialActivitiesView OfficialActivities = await _sqlSugar.SqlQueryable<OfficialActivitiesView>(sql).FirstAsync();
+                string sql = string.Format(@"
+SELECT
+  oa.*,
+  u.CnName AS CreateUserName,
+  sd.Name AS OfficialFormName
+FROM
+  Res_OfficialActivities oa
+  LEFT JOIN Sys_Users u ON oa.CreateUserId = u.Id
+  LEFT JOIN Sys_SetData sd ON oa.OfficialForm = sd.Id
+{0}", sqlWhere);
+                var OfficialActivities = await _sqlSugar.SqlQueryable<OfficialActivitiesView>(sql)
+                    .Select(x => new {
+                        x.Id,
+                        x.Country,
+                        x.Area,
+                        x.Client,
+                        x.Date,
+                        x.Time,
+                        x.Address,
+                        x.Contact,
+                        x.Job,
+                        x.Tel,
+                        x.OfficialFormName,
+                        x.Field,
+                        x.ReqSample,
+                        x.Setting,
+                        x.Dresscode,
+                        x.Attendees,
+                        x.IsNeedTrans,
+                        x.Translators,
+                        x.Language,
+                        x.Trip,
+                        x.IsSubmitApproval,
+                        x.IsPay,
+                        x.ConfirmTheInvitation,
+                        x.ScreenshotOfMailUrl,
+                        x.CreateUserName
+                    })
+                    .FirstAsync();
                 result = new Result() { Code = 0, Msg = "查询成功!", Data = OfficialActivities };
 
             }
@@ -271,7 +291,7 @@ namespace OASystem.Infrastructure.Repositories.Resource
                     Attendees = dto.Attendees,
                     IsNeedTrans = dto.IsNeedTrans,
                     Translators = dto.Translators,
-                    language = dto.language,
+                    Language = dto.language,
                     Trip = dto.Trip,
                     CreateUserId = dto.CreateUserId,
                     Remark = dto.Remark,

+ 31 - 46
OASystem/OASystem.Infrastructure/Repositories/System/SystemMenuPermissionRepository.cs

@@ -123,53 +123,38 @@ namespace OASystem.Infrastructure.Repositories.System
                         var menuGroup = DBData.GroupBy(x => x.modulid);
                         foreach (var item in menuGroup)
                         {
-                            var modul = item.FirstOrDefault();
-                            if (modul != null)
+                            var pageData = item.Select(it => new
                             {
+                                it.Uid,
+                                it.SmId,
+                                it.Funid,
+                                it.FunctionName,
+                                it.FunctionCode,
+                                it.modulid,
+                                it.modulName,
+                                it.STid,
+                                it.pageid,
+                                it.PageName,
+                                PageAuth = item.Where(x => x.pageid == it.pageid).Select(x => new { x.Funid, x.FunctionCode, x.FunctionName }),
+                                it.SystemMenuCode,
+                                it.webUrl,
+                                it.AndroidUrl,
+                                it.IosUrl,
+                                it.icon,
+                            });
+
+                            pageData = pageData.GroupBy(x => x.SmId).Select(y => y.First());
 
-                                var pageInitData = item.GroupBy(it => it.modulid);
-                                var pageAuthInitData = item.GroupBy(it => it.pageid);
-
-                                var pageData = item.Where(it => it.modulid == modul.modulid).Select(it => new
-                                {
-                                    it.Uid,
-                                    it.SmId,
-                                    //it.Funid,
-                                    //it.FunctionName,
-                                    //it.FunctionCode,
-                                    it.modulid,
-                                    it.modulName,
-                                    it.STid,
-                                    it.pageid,
-                                    it.PageName,
-                                    PageAuth = item.Where(it => it.pageid == modul.pageid).Select(it => new { it.Funid,it.FunctionCode,it.FunctionName }),
-                                    it.SystemMenuCode,
-                                    it.webUrl,
-                                    it.AndroidUrl,
-                                    it.IosUrl,
-                                    it.icon,
-
-                                });
-                                pageData = pageData.GroupBy(x => x.SmId).Select(y => y.First());
-
-                                string Remark = setDataArr.Find(x => x.Id == modul.modulid)?.Remark;
-                                var modulData = new
-                                {
-                                    modulName = modul.modulName,
-                                    modulid = modul.modulid,
-                                    pageList = pageData,
-                                    Remark
-                                };
-
-                                if (modul.modulName.Contains("主页"))
-                                {
-                                    arr.Insert(0, modulData);
-                                }
-                                else
-                                {
-                                    arr.Add(modulData);
-                                }
-                            }
+                            string Remark = setDataArr.Find(x => x.Id == item.FirstOrDefault()?.modulid)?.Remark ?? "";
+                            
+                            arr.Add(new
+                            {
+                                modulName = item.FirstOrDefault()?.modulName,
+                                modulid = item.FirstOrDefault()?.modulid,
+                                pageList = pageData,
+                                Remark
+                            });
+                           
                         }
 
                     }
@@ -182,7 +167,7 @@ namespace OASystem.Infrastructure.Repositories.System
                             arr.Add(new
                             {
                                 pageId = item.Key,
-                                opList = item.Select(x=>x.Funid).ToList(),
+                                opList = item.Select(x => x.Funid).ToList(),
                             });
                         }           
                     }