Explorar el Código

😁1、机构实体类型调整并增加负责人相关字段 2、用户实体增加主管相关字段

zuohuaijun hace 2 años
padre
commit
a520359157

+ 20 - 8
Admin.NET/Admin.NET.Core/Entity/SysOrg.cs

@@ -43,11 +43,23 @@ public class SysOrg : EntityTenant
     public int? Level { get; set; }
 
     /// <summary>
-    /// 机构类型
+    /// 机构类型-数据字典
     /// </summary>
     [SugarColumn(ColumnDescription = "机构类型", Length = 64)]
     [MaxLength(64)]
-    public string? OrgType { get; set; }
+    public string? Type { get; set; }
+
+    /// <summary>
+    /// 负责人Id
+    /// </summary>
+    [SugarColumn(ColumnDescription = "负责人Id")]
+    public long DirectorId { get; set; }
+
+    /// <summary>
+    /// 负责人
+    /// </summary>
+    [Navigate(NavigateType.OneToOne, nameof(DirectorId))]
+    public SysUser Director { get; set; }
 
     /// <summary>
     /// 排序
@@ -55,6 +67,12 @@ public class SysOrg : EntityTenant
     [SugarColumn(ColumnDescription = "排序")]
     public int OrderNo { get; set; } = 100;
 
+    /// <summary>
+    /// 状态
+    /// </summary>
+    [SugarColumn(ColumnDescription = "状态")]
+    public StatusEnum Status { get; set; } = StatusEnum.Enable;
+
     /// <summary>
     /// 备注
     /// </summary>
@@ -62,12 +80,6 @@ public class SysOrg : EntityTenant
     [MaxLength(128)]
     public string? Remark { get; set; }
 
-    /// <summary>
-    /// 状态
-    /// </summary>
-    [SugarColumn(ColumnDescription = "状态")]
-    public StatusEnum Status { get; set; } = StatusEnum.Enable;
-
     /// <summary>
     /// 机构子项
     /// </summary>

+ 10 - 10
Admin.NET/Admin.NET.Core/Entity/SysUser.cs

@@ -204,16 +204,16 @@ public class SysUser : EntityTenant
     [Navigate(NavigateType.OneToOne, nameof(OrgId))]
     public SysOrg SysOrg { get; set; }
 
-    ///// <summary>
-    ///// 直属主管Id
-    ///// </summary>
-    //public long ManagerUserId { get; set; }
-
-    ///// <summary>
-    ///// 直属主管
-    ///// </summary>
-    //[Navigate(NavigateType.OneToOne, nameof(ManagerUserId))]
-    //public SysUser ManagerUser { get; set; }
+    /// <summary>
+    /// 直属主管Id
+    /// </summary>
+    public long ManagerUserId { get; set; }
+
+    /// <summary>
+    /// 直属主管
+    /// </summary>
+    [Navigate(NavigateType.OneToOne, nameof(ManagerUserId))]
+    public SysUser ManagerUser { get; set; }
 
     /// <summary>
     /// 职位Id

+ 5 - 5
Admin.NET/Admin.NET.Core/SeedData/SysDictDataSeedData.cs

@@ -68,11 +68,11 @@ public class SysDictDataSeedData : ISqlSugarEntitySeedData<SysDictData>
             new SysDictData{ Id=1300000000504, DictTypeId=1300000000105, Value="EntityTenant【租户实体】", Code="EntityTenant", OrderNo=1, Remark="【租户实体】", Status=StatusEnum.Disable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
             new SysDictData{ Id=1300000000505, DictTypeId=1300000000105, Value="EntityBaseData【业务实体】", Code="EntityBaseData", OrderNo=1, Remark="【业务实体】", Status=StatusEnum.Disable, CreateTime=DateTime.Parse("2022-02-10 00:00:00") },
 
-            new SysDictData{ Id=1300000000601, DictTypeId=1300000000106, Value="总公司", Code="101", OrderNo=100, Remark="总公司", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
-            new SysDictData{ Id=1300000000602, DictTypeId=1300000000106, Value="区域分公司", Code="201", OrderNo=101, Remark="区域分公司", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
-            new SysDictData{ Id=1300000000603, DictTypeId=1300000000106, Value="直营门店", Code="301", OrderNo=102, Remark="直营门店", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
-            new SysDictData{ Id=1300000000604, DictTypeId=1300000000106, Value="加盟门店", Code="401", OrderNo=103, Remark="加盟门店", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
-            new SysDictData{ Id=1300000000605, DictTypeId=1300000000106, Value="代理商", Code="501", OrderNo=104, Remark="代理商", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000601, DictTypeId=1300000000106, Value="集团", Code="101", OrderNo=100, Remark="集团", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000602, DictTypeId=1300000000106, Value="公司", Code="201", OrderNo=101, Remark="公司", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000603, DictTypeId=1300000000106, Value="部门", Code="301", OrderNo=102, Remark="部门", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000604, DictTypeId=1300000000106, Value="区域", Code="401", OrderNo=103, Remark="区域", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
+            new SysDictData{ Id=1300000000605, DictTypeId=1300000000106, Value="组", Code="501", OrderNo=104, Remark="组", Status=StatusEnum.Enable, CreateTime=DateTime.Parse("2023-02-10 00:00:00") },
         };
     }
 }

+ 3 - 3
Admin.NET/Admin.NET.Core/SeedData/SysOrgSeedData.cs

@@ -22,19 +22,19 @@ public class SysOrgSeedData : ISqlSugarEntitySeedData<SysOrg>
     {
         return new[]
         {
-            new SysOrg{ Id=1300000000101, Pid=0, Name="大名科技", Code="1001", OrgType="101", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="大名科技", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000101, Pid=0, Name="大名科技", Code="1001", Type="101", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="大名科技", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000102, Pid=1300000000101, Name="市场部", Code="100101", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="市场部", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000103, Pid=1300000000101, Name="研发部", Code="100102", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="研发部", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000104, Pid=1300000000101, Name="财务部", Code="100103", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="财务部", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000105, Pid=1300000000104, Name="财务部1", Code="10010301", Level=3, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="财务部1", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000106, Pid=1300000000104, Name="财务部2", Code="10010302", Level=3, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="财务部2", TenantId=1300000000001 },
 
-            new SysOrg{ Id=1300000000201, Pid=0, Name="分公司1", Code="1002", OrgType="201", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="分公司1", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000201, Pid=0, Name="分公司1", Code="1002", Type="201", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="分公司1", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000202, Pid=1300000000201, Name="市场部", Code="100201", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="市场部", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000203, Pid=1300000000201, Name="研发部", Code="100202", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="研发部", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000204, Pid=1300000000201, Name="财务部", Code="100203", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="财务部", TenantId=1300000000001 },
 
-            new SysOrg{ Id=1300000000301, Pid=0, Name="分公司2", Code="1003", OrgType="201", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="分公司2", TenantId=1300000000001 },
+            new SysOrg{ Id=1300000000301, Pid=0, Name="分公司2", Code="1003", Type="201", Level=1, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="分公司2", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000302, Pid=1300000000301, Name="市场部", Code="100301", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="市场部", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000303, Pid=1300000000301, Name="研发部", Code="100302", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="市场部", TenantId=1300000000001 },
             new SysOrg{ Id=1300000000304, Pid=1300000000301, Name="财务部", Code="100303", Level=2, CreateTime=DateTime.Parse("2022-02-10 00:00:00"), Remark="市场部", TenantId=1300000000001 },

+ 2 - 2
Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs

@@ -139,7 +139,7 @@ public class SysAuthService : IDynamicApiController, ITransient
             { ClaimConst.AccountType, user.AccountType },
             { ClaimConst.OrgId, user.OrgId },
             { ClaimConst.OrgName, user.SysOrg?.Name },
-            { ClaimConst.OrgType, user.SysOrg?.OrgType },
+            { ClaimConst.OrgType, user.SysOrg?.Type },
         }, tokenExpire);
 
         // 生成刷新Token令牌
@@ -183,7 +183,7 @@ public class SysAuthService : IDynamicApiController, ITransient
             Signature = user.Signature,
             OrgId = user.OrgId,
             OrgName = org?.Name,
-            OrgType = org?.OrgType,
+            OrgType = org?.Type,
             PosName = pos?.Name,
             Buttons = buttons
         };

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/Org/Dto/OrgInput.cs

@@ -24,7 +24,7 @@ public class OrgInput : BaseIdInput
     /// <summary>
     /// 机构类型
     /// </summary>
-    public string OrgType { get; set; }
+    public string Type { get; set; }
 }
 
 public class AddOrgInput : SysOrg

+ 2 - 2
Admin.NET/Admin.NET.Core/Service/Org/SysOrgService.cs

@@ -52,12 +52,12 @@ public class SysOrgService : IDynamicApiController, ITransient
         var iSugarQueryable = _sysOrgRep.AsQueryable().OrderBy(u => u.OrderNo);
 
         // 带条件筛选时返回列表数据
-        if (!string.IsNullOrWhiteSpace(input.Name) || !string.IsNullOrWhiteSpace(input.Code) || !string.IsNullOrWhiteSpace(input.OrgType))
+        if (!string.IsNullOrWhiteSpace(input.Name) || !string.IsNullOrWhiteSpace(input.Code) || !string.IsNullOrWhiteSpace(input.Type))
         {
             return await iSugarQueryable.WhereIF(userOrgIdList.Count > 0, u => userOrgIdList.Contains(u.Id))
                 .WhereIF(!string.IsNullOrWhiteSpace(input.Name), u => u.Name.Contains(input.Name))
                 .WhereIF(!string.IsNullOrWhiteSpace(input.Code), u => u.Code == input.Code)
-                .WhereIF(!string.IsNullOrWhiteSpace(input.OrgType), u => u.OrgType == input.OrgType)
+                .WhereIF(!string.IsNullOrWhiteSpace(input.Type), u => u.Type == input.Type)
                 .ToListAsync();
         }