Browse Source

添加页眉设置和用户简略信息获取功能

在 `GroupsController.cs` 文件中,添加了设置页眉的代码,通过 `JwtHelper.SerializeJwt` 获取当前用户信息,并从 `_usersRep.GetUserBriefInfo` 获取用户简略信息,注释掉了设置页脚的代码。
在 `GeneralMethod.cs` 文件中,添加了 `AsposeWordSetFooter` 方法,用于设置 Aspose Word 页脚。
在 `Sys_Users.cs` 文件中,添加了 `UserBriefInfo` 类,用于表示用户简略信息。
在 `OfficialActivitiesView.cs` 文件中,添加了 `CurrencyName` 属性,用于表示币种名称。
在 `OfficialActivitiesRepository.cs` 文件中,添加了获取 `CurrencyName` 的代码。
在 `UsersRepository.cs` 文件中,添加了 `GetUserBriefInfo` 方法。
LEIYI 2 months ago
parent
commit
649a179589

+ 21 - 0
OASystem/OASystem.Api/Controllers/GroupsController.cs

@@ -6098,6 +6098,27 @@ FROM
 
                         #endregion
 
+
+                        #region 设置页眉
+
+                        string userLabel = string.Empty;
+                        var currUserInfo = JwtHelper.SerializeJwt(HttpContext.Request.Headers.Authorization);
+                        if (currUserInfo != null)
+                        {
+                            var userInfo = await _usersRep.GetUserBriefInfo(currUserInfo.UserId);
+                            if (userInfo != null)
+                            {
+                                string ext = string.IsNullOrEmpty(userInfo.ExtensionNumber) ? "-" : userInfo.ExtensionNumber;
+                                //userLabel = $"联系人:{userInfo.Name} 职位:{userInfo.Job}\r\n座机/分机号:{ext} 手机号:{userInfo.Tel} 公司邮箱:{userInfo.Email}";
+                                userLabel = $"Contact:{userInfo.Name} Job:{userInfo.Job}\r\n Phone:{userInfo.Tel} Email:{userInfo.Email}";
+                            }
+                        }
+
+                        //设置页脚
+                        //GeneralMethod.AsposeWordSetFooter(builder, userLabel, "Arial", 10);
+
+                        #endregion
+
                         //文件名
                         string strFileName = $"{_DelegationInfo.TeamName}出入境费用{Guid.NewGuid().ToString()}.docx";
                         AsposeHelper.removewatermark_v2180();

+ 34 - 0
OASystem/OASystem.Api/OAMethodLib/GeneralMethod.cs

@@ -5097,6 +5097,40 @@ namespace OASystem.API.OAMethodLib
 
         #endregion
 
+
+        #region aspose
+
+        /// <summary>
+        /// aspose word 设置页脚
+        /// </summary>
+        /// <param name="builder"></param>
+        /// <param name="footerLabel">页脚内容</param>
+        /// <param name="font">字体名称</param>
+        /// <param name="fontSize"><字体大小/param>
+        public static void AsposeWordSetFooter(DocumentBuilder builder,string footerLabel,string font,int fontSize)
+        {
+            Section currentSection = builder.CurrentSection;
+            var pageSetup = currentSection.PageSetup;
+            pageSetup.DifferentFirstPageHeaderFooter = true;
+
+            //第一页页脚
+            builder.MoveToHeaderFooter(HeaderFooterType.FooterFirst);
+            builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
+            builder.Font.Name = font;
+            builder.Font.Bold = true;
+            builder.Font.Size = fontSize;
+            builder.Write(footerLabel);
+
+            //非第一页页脚
+            builder.MoveToHeaderFooter(HeaderFooterType.FooterPrimary);
+            builder.ParagraphFormat.Alignment = ParagraphAlignment.Center;
+            builder.Font.Name = font;
+            builder.Font.Bold = true;
+            builder.Font.Size = fontSize;
+            builder.Write(footerLabel);
+        }
+
+        #endregion
     }
 }
 

+ 20 - 0
OASystem/OASystem.Domain/Entities/System/Sys_Users.cs

@@ -192,4 +192,24 @@ namespace OASystem.Domain.Entities.System
 
     }
     #endregion
+
+    #region 简略信息
+
+    public class UserBriefInfo
+    {
+        public int Id { get; set; }
+
+        public string Name { get; set; }
+
+        public string Job { get; set; }
+
+        public string Telephone { get; set; }
+
+        public string ExtensionNumber { get; set; }
+
+        public string Tel { get; set; }
+        public string Email { get; set; }
+    }
+
+    #endregion
 }

+ 2 - 0
OASystem/OASystem.Domain/ViewModels/Resource/OfficialActivitiesView.cs

@@ -108,6 +108,8 @@ namespace OASystem.Domain.ViewModels.Resource
         /// 币种
         /// </summary>
         public int Currency { get; set; }
+
+        public string CurrencyName { get; set; }
     }
 
     /// <summary>

+ 2 - 0
OASystem/OASystem.Infrastructure/Repositories/Resource/OfficialActivitiesRepository.cs

@@ -179,6 +179,8 @@ FROM
                     EncryptionProcessor.DecryptProperties(translatorInfo);
 
                     oa.TranslatorInfo = _mapper.Map<TranslatorView>(translatorInfo);
+
+                    oa.TranslatorInfo.CurrencyName = _sqlSugar.Queryable<Sys_SetData>().Where(x => x.Id == oa.TranslatorInfo.Currency).First()?.Name ?? "";
                 }
 
                 result = new Result() { Code = 0, Msg = "查询成功!", Data = oa };

+ 28 - 0
OASystem/OASystem.Infrastructure/Repositories/System/UsersRepository.cs

@@ -99,5 +99,33 @@ namespace OASystem.Infrastructure.Repositories.System
             return await _sqlSugar.SqlQueryable<UserInfo>(sql).ToListAsync();
 
         }
+
+        /// <summary>
+        /// 员工简略信息
+        /// </summary>
+        /// <param name="id"></param>
+        /// <returns></returns>
+        public async Task<UserBriefInfo> GetUserBriefInfo(int id)
+        {
+            var info = await _sqlSugar
+                .Queryable<Sys_Users>()
+                .LeftJoin<Sys_JobPost>((u, jp) => u.JobPostId == jp.Id)
+                .Where((u, jp) => u.Id == id)
+                .Select((u, jp) => new UserBriefInfo()
+                {
+                    Id = u.Id,
+                    Name = u.CnName,
+                    Job = jp.JobName,
+                    Telephone = u.Ext,
+                    ExtensionNumber = u.Ext,
+                    Tel = u.Phone,
+                    Email = u.Email,
+                })
+                .FirstAsync();
+            info.Tel = AesEncryptionHelper.Decrypt(info.Tel);
+
+            return info;
+        }
+
     }
 }