用户数据权限开发

master
xiaochanghai 10 months ago
parent 801d44d2f0
commit 7b9879e5d1
  1. 14
      Tiobon.Core.Api/Controllers/Ghrs/Ghrs_MenuController.cs
  2. 785
      Tiobon.Core.Api/Tiobon.Core.Model.xml
  3. 5
      Tiobon.Core.Api/Tiobon.Core.xml
  4. 12
      Tiobon.Core.IServices/Ghrs/IGhrs_MenuServices.cs
  5. 445
      Tiobon.Core.Model/Base/Ghrs/Ghrs_Menu.Dto.Base.cs
  6. 27
      Tiobon.Core.Model/Edit/Ghrs/Ghrs_Menu.Dto.EditInput.cs
  7. 27
      Tiobon.Core.Model/Insert/Ghrs/Ghrs_Menu.Dto.InsertInput.cs
  8. 448
      Tiobon.Core.Model/Models/Ghrs/Ghrs_Menu.cs
  9. 34
      Tiobon.Core.Model/View/Ghrs/Ghrs_Menu.Dto.View.cs
  10. 242
      Tiobon.Core.Services/BASE/BaseServices.cs
  11. 7
      Tiobon.Core.Services/Ghre/Ghre_CertificateServices.cs
  12. 8
      Tiobon.Core.Services/Ghre/Ghre_CreditPointServices.cs
  13. 6
      Tiobon.Core.Services/Ghre/Ghre_RequiredCourseServices.cs
  14. 10
      Tiobon.Core.Services/Ghre/Ghre_StudyRecordServices.cs
  15. 23
      Tiobon.Core.Services/Ghrs/Ghrs_MenuServices.cs
  16. 5638
      Tiobon.Core/Tiobon.Core.Model.xml
  17. 10
      Tiobon.Core/Tiobon.Core.xml

@ -0,0 +1,14 @@
namespace Tiobon.Core.Api.Controllers;
/// <summary>
/// Ghrs_Menu(Controller)
/// </summary>
[Route("api/[controller]")]
[ApiController, GlobalActionFilter]
[Authorize(Permissions.Name), ApiExplorerSettings(GroupName = Grouping.GroupName_Ghrs)]
public class Ghrs_MenuController : BaseController<IGhrs_MenuServices, Ghrs_Menu, Ghrs_MenuDto, InsertGhrs_MenuInput, EditGhrs_MenuInput>
{
public Ghrs_MenuController(IGhrs_MenuServices service) : base(service)
{
}
}

@ -5393,6 +5393,386 @@
Reverse5
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrs_MenuBase">
<summary>
Ghrs_Menu (Dto.Base)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuId">
<summary>
MenuId
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuNo">
<summary>
MenuNo
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuName">
<summary>
MenuName
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MKey">
<summary>
MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IconType">
<summary>
IconType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuUrl">
<summary>
MenuUrl
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuComponent">
<summary>
MenuComponent
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.ParentMenuId">
<summary>
ParentMenuId
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuType">
<summary>
MenuType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuType2">
<summary>
MenuType2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.FormType">
<summary>
FormType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.DataPrivType">
<summary>
DataPrivType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.FlowID">
<summary>
FlowID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuColDisplayType">
<summary>
MenuColDisplayType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.MenuGroupTitle">
<summary>
MenuGroupTitle
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.QueryProcedure">
<summary>
QueryProcedure
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.EditProcedure">
<summary>
EditProcedure
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IUDProcedure">
<summary>
IUDProcedure
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsSTDMenu">
<summary>
IsSTDMenu
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsWaterMark">
<summary>
IsWaterMark
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsPWDAgain">
<summary>
IsPWDAgain
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsFromExcel">
<summary>
IsFromExcel
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsToExcel">
<summary>
IsToExcel
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsNew">
<summary>
IsNew
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsDetail">
<summary>
IsDetail
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsUpdate">
<summary>
IsUpdate
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsDel">
<summary>
IsDel
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsQuery">
<summary>
IsQuery
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsPrint">
<summary>
IsPrint
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsLog">
<summary>
IsLog
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsManual">
<summary>
IsManual
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsCopy">
<summary>
IsCopy
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD1">
<summary>
IsTBD1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD1MKey">
<summary>
TBD1MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD2">
<summary>
IsTBD2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD2MKey">
<summary>
TBD2MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD3">
<summary>
IsTBD3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD3MKey">
<summary>
TBD3MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD4">
<summary>
IsTBD4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD4MKey">
<summary>
TBD4MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD5">
<summary>
IsTBD5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD5MKey">
<summary>
TBD5MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD6">
<summary>
IsTBD6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD6MKey">
<summary>
TBD6MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD7">
<summary>
IsTBD7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD7MKey">
<summary>
TBD7MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD8">
<summary>
IsTBD8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD8MKey">
<summary>
TBD8MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD9">
<summary>
IsTBD9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD9MKey">
<summary>
TBD9MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD10">
<summary>
IsTBD10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD10MKey">
<summary>
TBD10MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD11">
<summary>
IsTBD11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD11MKey">
<summary>
TBD11MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD12">
<summary>
IsTBD12
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD12MKey">
<summary>
TBD12MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD13">
<summary>
IsTBD13
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD13MKey">
<summary>
TBD13MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD14">
<summary>
IsTBD14
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD14MKey">
<summary>
TBD14MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsTBD15">
<summary>
IsTBD15
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.TBD15MKey">
<summary>
TBD15MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.RemarkSz">
<summary>
RemarkSz
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.SortNo">
<summary>
SortNo
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.IsDefault">
<summary>
IsDefault
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse1">
<summary>
Reverse1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse2">
<summary>
Reverse2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse3">
<summary>
Reverse3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse4">
<summary>
Reverse4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse5">
<summary>
Reverse5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse6">
<summary>
Reverse6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse7">
<summary>
Reverse7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse8">
<summary>
Reverse8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.Reverse9">
<summary>
Reverse9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuBase.AppUrl">
<summary>
AppUrl
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrs_ParaDetailBase">
<summary>
Ghrs_ParaDetail (Dto.Base)
@ -5907,6 +6287,11 @@
Ghrs_DataRoleDetail (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhrs_MenuInput">
<summary>
Ghrs_Menu (Dto.EditInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.EditGhrs_ParaDetailInput">
<summary>
Ghrs_ParaDetail (Dto.EditInput)
@ -6137,6 +6522,11 @@
Ghrs_DataRoleDetail (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhrs_MenuInput">
<summary>
Ghrs_Menu (Dto.InsertInput)
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.InsertGhrs_ParaDetailInput">
<summary>
Ghrs_ParaDetail (Dto.InsertInput)
@ -11854,6 +12244,386 @@
Reverse5
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrs_Menu">
<summary>
Ghrs_Menu (Model)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuId">
<summary>
MenuId
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuNo">
<summary>
MenuNo
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuName">
<summary>
MenuName
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MKey">
<summary>
MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IconType">
<summary>
IconType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuUrl">
<summary>
MenuUrl
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuComponent">
<summary>
MenuComponent
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.ParentMenuId">
<summary>
ParentMenuId
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuType">
<summary>
MenuType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuType2">
<summary>
MenuType2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.FormType">
<summary>
FormType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.DataPrivType">
<summary>
DataPrivType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.FlowID">
<summary>
FlowID
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuColDisplayType">
<summary>
MenuColDisplayType
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.MenuGroupTitle">
<summary>
MenuGroupTitle
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.QueryProcedure">
<summary>
QueryProcedure
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.EditProcedure">
<summary>
EditProcedure
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IUDProcedure">
<summary>
IUDProcedure
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsSTDMenu">
<summary>
IsSTDMenu
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsWaterMark">
<summary>
IsWaterMark
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsPWDAgain">
<summary>
IsPWDAgain
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsFromExcel">
<summary>
IsFromExcel
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsToExcel">
<summary>
IsToExcel
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsNew">
<summary>
IsNew
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsDetail">
<summary>
IsDetail
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsUpdate">
<summary>
IsUpdate
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsDel">
<summary>
IsDel
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsQuery">
<summary>
IsQuery
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsPrint">
<summary>
IsPrint
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsLog">
<summary>
IsLog
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsManual">
<summary>
IsManual
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsCopy">
<summary>
IsCopy
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD1">
<summary>
IsTBD1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD1MKey">
<summary>
TBD1MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD2">
<summary>
IsTBD2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD2MKey">
<summary>
TBD2MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD3">
<summary>
IsTBD3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD3MKey">
<summary>
TBD3MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD4">
<summary>
IsTBD4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD4MKey">
<summary>
TBD4MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD5">
<summary>
IsTBD5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD5MKey">
<summary>
TBD5MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD6">
<summary>
IsTBD6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD6MKey">
<summary>
TBD6MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD7">
<summary>
IsTBD7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD7MKey">
<summary>
TBD7MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD8">
<summary>
IsTBD8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD8MKey">
<summary>
TBD8MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD9">
<summary>
IsTBD9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD9MKey">
<summary>
TBD9MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD10">
<summary>
IsTBD10
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD10MKey">
<summary>
TBD10MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD11">
<summary>
IsTBD11
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD11MKey">
<summary>
TBD11MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD12">
<summary>
IsTBD12
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD12MKey">
<summary>
TBD12MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD13">
<summary>
IsTBD13
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD13MKey">
<summary>
TBD13MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD14">
<summary>
IsTBD14
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD14MKey">
<summary>
TBD14MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsTBD15">
<summary>
IsTBD15
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.TBD15MKey">
<summary>
TBD15MKey
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.RemarkSz">
<summary>
RemarkSz
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.SortNo">
<summary>
SortNo
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.IsDefault">
<summary>
IsDefault
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse1">
<summary>
Reverse1
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse2">
<summary>
Reverse2
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse3">
<summary>
Reverse3
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse4">
<summary>
Reverse4
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse5">
<summary>
Reverse5
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse6">
<summary>
Reverse6
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse7">
<summary>
Reverse7
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse8">
<summary>
Reverse8
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.Reverse9">
<summary>
Reverse9
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_Menu.AppUrl">
<summary>
AppUrl
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrs_ParaDetail">
<summary>
Ghrs_ParaDetail (Model)
@ -13672,6 +14442,21 @@
修改信息
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrs_MenuDto">
<summary>
Ghrs_Menu(Dto.View)
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuDto.CreateDataInfo">
<summary>
创建信息
</summary>
</member>
<member name="P:Tiobon.Core.Model.Models.Ghrs_MenuDto.UpdateDataInfo">
<summary>
修改信息
</summary>
</member>
<member name="T:Tiobon.Core.Model.Models.Ghrs_ParaDetailDto">
<summary>
Ghrs_ParaDetail(Dto.View)

@ -1075,6 +1075,11 @@
Ghrs_DataRoleDetail(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrs_MenuController">
<summary>
Ghrs_Menu(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrs_ParaDetailController">
<summary>
Ghrs_ParaDetail(Controller)

@ -0,0 +1,12 @@
using Tiobon.Core.IServices.BASE;
using Tiobon.Core.Model.Models;
namespace Tiobon.Core.IServices
{
/// <summary>
/// Ghrs_Menu(自定义服务接口)
/// </summary>
public interface IGhrs_MenuServices :IBaseServices<Ghrs_Menu, Ghrs_MenuDto, InsertGhrs_MenuInput, EditGhrs_MenuInput>
{
}
}

@ -0,0 +1,445 @@
/* ,
* Ghrs_Menu.cs
*
* N / A
* Ghrs_Menu
*
* Ver
*
*V0.01 2024/9/3 15:32:53 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace Tiobon.Core.Model.Models
{
/// <summary>
/// Ghrs_Menu (Dto.Base)
/// </summary>
public class Ghrs_MenuBase
{
/// <summary>
/// MenuId
/// </summary>
public int? MenuId { get; set; }
/// <summary>
/// MenuNo
/// </summary>
[Display(Name = "MenuNo"), Description("MenuNo"), MaxLength(100, ErrorMessage = "MenuNo 不能超过 100 个字符")]
public string MenuNo { get; set; }
/// <summary>
/// MenuName
/// </summary>
[Display(Name = "MenuName"), Description("MenuName"), MaxLength(1000, ErrorMessage = "MenuName 不能超过 1000 个字符")]
public string MenuName { get; set; }
/// <summary>
/// MKey
/// </summary>
[Display(Name = "MKey"), Description("MKey"), MaxLength(200, ErrorMessage = "MKey 不能超过 200 个字符")]
public string MKey { get; set; }
/// <summary>
/// IconType
/// </summary>
[Display(Name = "IconType"), Description("IconType"), MaxLength(200, ErrorMessage = "IconType 不能超过 200 个字符")]
public string IconType { get; set; }
/// <summary>
/// MenuUrl
/// </summary>
[Display(Name = "MenuUrl"), Description("MenuUrl"), MaxLength(500, ErrorMessage = "MenuUrl 不能超过 500 个字符")]
public string MenuUrl { get; set; }
/// <summary>
/// MenuComponent
/// </summary>
[Display(Name = "MenuComponent"), Description("MenuComponent"), MaxLength(100, ErrorMessage = "MenuComponent 不能超过 100 个字符")]
public string MenuComponent { get; set; }
/// <summary>
/// ParentMenuId
/// </summary>
public int? ParentMenuId { get; set; }
/// <summary>
/// MenuType
/// </summary>
[Display(Name = "MenuType"), Description("MenuType"), MaxLength(10, ErrorMessage = "MenuType 不能超过 10 个字符")]
public string MenuType { get; set; }
/// <summary>
/// MenuType2
/// </summary>
[Display(Name = "MenuType2"), Description("MenuType2"), MaxLength(100, ErrorMessage = "MenuType2 不能超过 100 个字符")]
public string MenuType2 { get; set; }
/// <summary>
/// FormType
/// </summary>
[Display(Name = "FormType"), Description("FormType"), MaxLength(100, ErrorMessage = "FormType 不能超过 100 个字符")]
public string FormType { get; set; }
/// <summary>
/// DataPrivType
/// </summary>
[Display(Name = "DataPrivType"), Description("DataPrivType"), MaxLength(100, ErrorMessage = "DataPrivType 不能超过 100 个字符")]
public string DataPrivType { get; set; }
/// <summary>
/// FlowID
/// </summary>
public int? FlowID { get; set; }
/// <summary>
/// MenuColDisplayType
/// </summary>
[Display(Name = "MenuColDisplayType"), Description("MenuColDisplayType"), MaxLength(100, ErrorMessage = "MenuColDisplayType 不能超过 100 个字符")]
public string MenuColDisplayType { get; set; }
/// <summary>
/// MenuGroupTitle
/// </summary>
[Display(Name = "MenuGroupTitle"), Description("MenuGroupTitle"), MaxLength(100, ErrorMessage = "MenuGroupTitle 不能超过 100 个字符")]
public string MenuGroupTitle { get; set; }
/// <summary>
/// QueryProcedure
/// </summary>
[Display(Name = "QueryProcedure"), Description("QueryProcedure"), MaxLength(200, ErrorMessage = "QueryProcedure 不能超过 200 个字符")]
public string QueryProcedure { get; set; }
/// <summary>
/// EditProcedure
/// </summary>
[Display(Name = "EditProcedure"), Description("EditProcedure"), MaxLength(200, ErrorMessage = "EditProcedure 不能超过 200 个字符")]
public string EditProcedure { get; set; }
/// <summary>
/// IUDProcedure
/// </summary>
[Display(Name = "IUDProcedure"), Description("IUDProcedure"), MaxLength(200, ErrorMessage = "IUDProcedure 不能超过 200 个字符")]
public string IUDProcedure { get; set; }
/// <summary>
/// IsSTDMenu
/// </summary>
public int? IsSTDMenu { get; set; }
/// <summary>
/// IsWaterMark
/// </summary>
public int? IsWaterMark { get; set; }
/// <summary>
/// IsPWDAgain
/// </summary>
public int? IsPWDAgain { get; set; }
/// <summary>
/// IsFromExcel
/// </summary>
public int? IsFromExcel { get; set; }
/// <summary>
/// IsToExcel
/// </summary>
public int? IsToExcel { get; set; }
/// <summary>
/// IsNew
/// </summary>
public int? IsNew { get; set; }
/// <summary>
/// IsDetail
/// </summary>
public int? IsDetail { get; set; }
/// <summary>
/// IsUpdate
/// </summary>
public int? IsUpdate { get; set; }
/// <summary>
/// IsDel
/// </summary>
public int? IsDel { get; set; }
/// <summary>
/// IsQuery
/// </summary>
public int? IsQuery { get; set; }
/// <summary>
/// IsPrint
/// </summary>
public int? IsPrint { get; set; }
/// <summary>
/// IsLog
/// </summary>
public int? IsLog { get; set; }
/// <summary>
/// IsManual
/// </summary>
public int? IsManual { get; set; }
/// <summary>
/// IsCopy
/// </summary>
public int? IsCopy { get; set; }
/// <summary>
/// IsTBD1
/// </summary>
public int? IsTBD1 { get; set; }
/// <summary>
/// TBD1MKey
/// </summary>
[Display(Name = "TBD1MKey"), Description("TBD1MKey"), MaxLength(200, ErrorMessage = "TBD1MKey 不能超过 200 个字符")]
public string TBD1MKey { get; set; }
/// <summary>
/// IsTBD2
/// </summary>
public int? IsTBD2 { get; set; }
/// <summary>
/// TBD2MKey
/// </summary>
[Display(Name = "TBD2MKey"), Description("TBD2MKey"), MaxLength(200, ErrorMessage = "TBD2MKey 不能超过 200 个字符")]
public string TBD2MKey { get; set; }
/// <summary>
/// IsTBD3
/// </summary>
public int? IsTBD3 { get; set; }
/// <summary>
/// TBD3MKey
/// </summary>
[Display(Name = "TBD3MKey"), Description("TBD3MKey"), MaxLength(200, ErrorMessage = "TBD3MKey 不能超过 200 个字符")]
public string TBD3MKey { get; set; }
/// <summary>
/// IsTBD4
/// </summary>
public int? IsTBD4 { get; set; }
/// <summary>
/// TBD4MKey
/// </summary>
[Display(Name = "TBD4MKey"), Description("TBD4MKey"), MaxLength(200, ErrorMessage = "TBD4MKey 不能超过 200 个字符")]
public string TBD4MKey { get; set; }
/// <summary>
/// IsTBD5
/// </summary>
public int? IsTBD5 { get; set; }
/// <summary>
/// TBD5MKey
/// </summary>
[Display(Name = "TBD5MKey"), Description("TBD5MKey"), MaxLength(200, ErrorMessage = "TBD5MKey 不能超过 200 个字符")]
public string TBD5MKey { get; set; }
/// <summary>
/// IsTBD6
/// </summary>
public int? IsTBD6 { get; set; }
/// <summary>
/// TBD6MKey
/// </summary>
[Display(Name = "TBD6MKey"), Description("TBD6MKey"), MaxLength(200, ErrorMessage = "TBD6MKey 不能超过 200 个字符")]
public string TBD6MKey { get; set; }
/// <summary>
/// IsTBD7
/// </summary>
public int? IsTBD7 { get; set; }
/// <summary>
/// TBD7MKey
/// </summary>
[Display(Name = "TBD7MKey"), Description("TBD7MKey"), MaxLength(200, ErrorMessage = "TBD7MKey 不能超过 200 个字符")]
public string TBD7MKey { get; set; }
/// <summary>
/// IsTBD8
/// </summary>
public int? IsTBD8 { get; set; }
/// <summary>
/// TBD8MKey
/// </summary>
[Display(Name = "TBD8MKey"), Description("TBD8MKey"), MaxLength(200, ErrorMessage = "TBD8MKey 不能超过 200 个字符")]
public string TBD8MKey { get; set; }
/// <summary>
/// IsTBD9
/// </summary>
public int? IsTBD9 { get; set; }
/// <summary>
/// TBD9MKey
/// </summary>
[Display(Name = "TBD9MKey"), Description("TBD9MKey"), MaxLength(200, ErrorMessage = "TBD9MKey 不能超过 200 个字符")]
public string TBD9MKey { get; set; }
/// <summary>
/// IsTBD10
/// </summary>
public int? IsTBD10 { get; set; }
/// <summary>
/// TBD10MKey
/// </summary>
[Display(Name = "TBD10MKey"), Description("TBD10MKey"), MaxLength(200, ErrorMessage = "TBD10MKey 不能超过 200 个字符")]
public string TBD10MKey { get; set; }
/// <summary>
/// IsTBD11
/// </summary>
public int? IsTBD11 { get; set; }
/// <summary>
/// TBD11MKey
/// </summary>
[Display(Name = "TBD11MKey"), Description("TBD11MKey"), MaxLength(200, ErrorMessage = "TBD11MKey 不能超过 200 个字符")]
public string TBD11MKey { get; set; }
/// <summary>
/// IsTBD12
/// </summary>
public int? IsTBD12 { get; set; }
/// <summary>
/// TBD12MKey
/// </summary>
[Display(Name = "TBD12MKey"), Description("TBD12MKey"), MaxLength(200, ErrorMessage = "TBD12MKey 不能超过 200 个字符")]
public string TBD12MKey { get; set; }
/// <summary>
/// IsTBD13
/// </summary>
public int? IsTBD13 { get; set; }
/// <summary>
/// TBD13MKey
/// </summary>
[Display(Name = "TBD13MKey"), Description("TBD13MKey"), MaxLength(200, ErrorMessage = "TBD13MKey 不能超过 200 个字符")]
public string TBD13MKey { get; set; }
/// <summary>
/// IsTBD14
/// </summary>
public int? IsTBD14 { get; set; }
/// <summary>
/// TBD14MKey
/// </summary>
[Display(Name = "TBD14MKey"), Description("TBD14MKey"), MaxLength(200, ErrorMessage = "TBD14MKey 不能超过 200 个字符")]
public string TBD14MKey { get; set; }
/// <summary>
/// IsTBD15
/// </summary>
public int? IsTBD15 { get; set; }
/// <summary>
/// TBD15MKey
/// </summary>
[Display(Name = "TBD15MKey"), Description("TBD15MKey"), MaxLength(200, ErrorMessage = "TBD15MKey 不能超过 200 个字符")]
public string TBD15MKey { get; set; }
/// <summary>
/// RemarkSz
/// </summary>
[Display(Name = "RemarkSz"), Description("RemarkSz"), MaxLength(2000, ErrorMessage = "RemarkSz 不能超过 2000 个字符")]
public string RemarkSz { get; set; }
/// <summary>
/// SortNo
/// </summary>
public int? SortNo { get; set; }
/// <summary>
/// IsDefault
/// </summary>
public int? IsDefault { get; set; }
/// <summary>
/// Reverse1
/// </summary>
[Display(Name = "Reverse1"), Description("Reverse1"), MaxLength(1000, ErrorMessage = "Reverse1 不能超过 1000 个字符")]
public string Reverse1 { get; set; }
/// <summary>
/// Reverse2
/// </summary>
[Display(Name = "Reverse2"), Description("Reverse2"), MaxLength(1000, ErrorMessage = "Reverse2 不能超过 1000 个字符")]
public string Reverse2 { get; set; }
/// <summary>
/// Reverse3
/// </summary>
[Display(Name = "Reverse3"), Description("Reverse3"), MaxLength(1000, ErrorMessage = "Reverse3 不能超过 1000 个字符")]
public string Reverse3 { get; set; }
/// <summary>
/// Reverse4
/// </summary>
[Display(Name = "Reverse4"), Description("Reverse4"), MaxLength(1000, ErrorMessage = "Reverse4 不能超过 1000 个字符")]
public string Reverse4 { get; set; }
/// <summary>
/// Reverse5
/// </summary>
[Display(Name = "Reverse5"), Description("Reverse5"), MaxLength(1000, ErrorMessage = "Reverse5 不能超过 1000 个字符")]
public string Reverse5 { get; set; }
/// <summary>
/// Reverse6
/// </summary>
[Display(Name = "Reverse6"), Description("Reverse6"), MaxLength(1000, ErrorMessage = "Reverse6 不能超过 1000 个字符")]
public string Reverse6 { get; set; }
/// <summary>
/// Reverse7
/// </summary>
[Display(Name = "Reverse7"), Description("Reverse7"), MaxLength(1000, ErrorMessage = "Reverse7 不能超过 1000 个字符")]
public string Reverse7 { get; set; }
/// <summary>
/// Reverse8
/// </summary>
[Display(Name = "Reverse8"), Description("Reverse8"), MaxLength(1000, ErrorMessage = "Reverse8 不能超过 1000 个字符")]
public string Reverse8 { get; set; }
/// <summary>
/// Reverse9
/// </summary>
[Display(Name = "Reverse9"), Description("Reverse9"), MaxLength(1000, ErrorMessage = "Reverse9 不能超过 1000 个字符")]
public string Reverse9 { get; set; }
/// <summary>
/// AppUrl
/// </summary>
[Display(Name = "AppUrl"), Description("AppUrl"), MaxLength(200, ErrorMessage = "AppUrl 不能超过 200 个字符")]
public string AppUrl { get; set; }
}
}

@ -0,0 +1,27 @@
/* ,
* Ghrs_Menu.cs
*
* N / A
* Ghrs_Menu
*
* Ver
*
*V0.01 2024/9/3 15:32:53 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models
{
/// <summary>
/// Ghrs_Menu (Dto.EditInput)
/// </summary>
public class EditGhrs_MenuInput : Ghrs_MenuBase
{
}
}

@ -0,0 +1,27 @@
/* ,
* Ghrs_Menu.cs
*
* N / A
* Ghrs_Menu
*
* Ver
*
*V0.01 2024/9/3 15:32:53 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models
{
/// <summary>
/// Ghrs_Menu (Dto.InsertInput)
/// </summary>
public class InsertGhrs_MenuInput : Ghrs_MenuBase
{
}
}

@ -0,0 +1,448 @@
/* ,
* Ghrs_Menu.cs
*
* N / A
* Ghrs_Menu
*
* Ver
*
*V0.01 2024/9/3 15:32:53 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using SqlSugar;
namespace Tiobon.Core.Model.Models
{
/// <summary>
/// Ghrs_Menu (Model)
/// </summary>
[SugarTable("Ghrs_Menu", "Ghrs_Menu"), Entity(TableCnName = "Ghrs_Menu", TableName = "Ghrs_Menu")]
public class Ghrs_Menu : BasePoco1
{
/// <summary>
/// MenuId
/// </summary>
[SugarColumn(IsNullable = false, IsPrimaryKey = true, IsIdentity = false), Display(Name = "表主键")]
public int? MenuId { get; set; }
/// <summary>
/// MenuNo
/// </summary>
[Display(Name = "MenuNo"), Description("MenuNo"), MaxLength(100, ErrorMessage = "MenuNo 不能超过 100 个字符")]
public string MenuNo { get; set; }
/// <summary>
/// MenuName
/// </summary>
[Display(Name = "MenuName"), Description("MenuName"), MaxLength(1000, ErrorMessage = "MenuName 不能超过 1000 个字符")]
public string MenuName { get; set; }
/// <summary>
/// MKey
/// </summary>
[Display(Name = "MKey"), Description("MKey"), MaxLength(200, ErrorMessage = "MKey 不能超过 200 个字符")]
public string MKey { get; set; }
/// <summary>
/// IconType
/// </summary>
[Display(Name = "IconType"), Description("IconType"), MaxLength(200, ErrorMessage = "IconType 不能超过 200 个字符")]
public string IconType { get; set; }
/// <summary>
/// MenuUrl
/// </summary>
[Display(Name = "MenuUrl"), Description("MenuUrl"), MaxLength(500, ErrorMessage = "MenuUrl 不能超过 500 个字符")]
public string MenuUrl { get; set; }
/// <summary>
/// MenuComponent
/// </summary>
[Display(Name = "MenuComponent"), Description("MenuComponent"), MaxLength(100, ErrorMessage = "MenuComponent 不能超过 100 个字符")]
public string MenuComponent { get; set; }
/// <summary>
/// ParentMenuId
/// </summary>
public int? ParentMenuId { get; set; }
/// <summary>
/// MenuType
/// </summary>
[Display(Name = "MenuType"), Description("MenuType"), MaxLength(10, ErrorMessage = "MenuType 不能超过 10 个字符")]
public string MenuType { get; set; }
/// <summary>
/// MenuType2
/// </summary>
[Display(Name = "MenuType2"), Description("MenuType2"), MaxLength(100, ErrorMessage = "MenuType2 不能超过 100 个字符")]
public string MenuType2 { get; set; }
/// <summary>
/// FormType
/// </summary>
[Display(Name = "FormType"), Description("FormType"), MaxLength(100, ErrorMessage = "FormType 不能超过 100 个字符")]
public string FormType { get; set; }
/// <summary>
/// DataPrivType
/// </summary>
[Display(Name = "DataPrivType"), Description("DataPrivType"), MaxLength(100, ErrorMessage = "DataPrivType 不能超过 100 个字符")]
public string DataPrivType { get; set; }
/// <summary>
/// FlowID
/// </summary>
public int? FlowID { get; set; }
/// <summary>
/// MenuColDisplayType
/// </summary>
[Display(Name = "MenuColDisplayType"), Description("MenuColDisplayType"), MaxLength(100, ErrorMessage = "MenuColDisplayType 不能超过 100 个字符")]
public string MenuColDisplayType { get; set; }
/// <summary>
/// MenuGroupTitle
/// </summary>
[Display(Name = "MenuGroupTitle"), Description("MenuGroupTitle"), MaxLength(100, ErrorMessage = "MenuGroupTitle 不能超过 100 个字符")]
public string MenuGroupTitle { get; set; }
/// <summary>
/// QueryProcedure
/// </summary>
[Display(Name = "QueryProcedure"), Description("QueryProcedure"), MaxLength(200, ErrorMessage = "QueryProcedure 不能超过 200 个字符")]
public string QueryProcedure { get; set; }
/// <summary>
/// EditProcedure
/// </summary>
[Display(Name = "EditProcedure"), Description("EditProcedure"), MaxLength(200, ErrorMessage = "EditProcedure 不能超过 200 个字符")]
public string EditProcedure { get; set; }
/// <summary>
/// IUDProcedure
/// </summary>
[Display(Name = "IUDProcedure"), Description("IUDProcedure"), MaxLength(200, ErrorMessage = "IUDProcedure 不能超过 200 个字符")]
public string IUDProcedure { get; set; }
/// <summary>
/// IsSTDMenu
/// </summary>
public int? IsSTDMenu { get; set; }
/// <summary>
/// IsWaterMark
/// </summary>
public int? IsWaterMark { get; set; }
/// <summary>
/// IsPWDAgain
/// </summary>
public int? IsPWDAgain { get; set; }
/// <summary>
/// IsFromExcel
/// </summary>
public int? IsFromExcel { get; set; }
/// <summary>
/// IsToExcel
/// </summary>
public int? IsToExcel { get; set; }
/// <summary>
/// IsNew
/// </summary>
public int? IsNew { get; set; }
/// <summary>
/// IsDetail
/// </summary>
public int? IsDetail { get; set; }
/// <summary>
/// IsUpdate
/// </summary>
public int? IsUpdate { get; set; }
/// <summary>
/// IsDel
/// </summary>
public int? IsDel { get; set; }
/// <summary>
/// IsQuery
/// </summary>
public int? IsQuery { get; set; }
/// <summary>
/// IsPrint
/// </summary>
public int? IsPrint { get; set; }
/// <summary>
/// IsLog
/// </summary>
public int? IsLog { get; set; }
/// <summary>
/// IsManual
/// </summary>
public int? IsManual { get; set; }
/// <summary>
/// IsCopy
/// </summary>
public int? IsCopy { get; set; }
/// <summary>
/// IsTBD1
/// </summary>
public int? IsTBD1 { get; set; }
/// <summary>
/// TBD1MKey
/// </summary>
[Display(Name = "TBD1MKey"), Description("TBD1MKey"), MaxLength(200, ErrorMessage = "TBD1MKey 不能超过 200 个字符")]
public string TBD1MKey { get; set; }
/// <summary>
/// IsTBD2
/// </summary>
public int? IsTBD2 { get; set; }
/// <summary>
/// TBD2MKey
/// </summary>
[Display(Name = "TBD2MKey"), Description("TBD2MKey"), MaxLength(200, ErrorMessage = "TBD2MKey 不能超过 200 个字符")]
public string TBD2MKey { get; set; }
/// <summary>
/// IsTBD3
/// </summary>
public int? IsTBD3 { get; set; }
/// <summary>
/// TBD3MKey
/// </summary>
[Display(Name = "TBD3MKey"), Description("TBD3MKey"), MaxLength(200, ErrorMessage = "TBD3MKey 不能超过 200 个字符")]
public string TBD3MKey { get; set; }
/// <summary>
/// IsTBD4
/// </summary>
public int? IsTBD4 { get; set; }
/// <summary>
/// TBD4MKey
/// </summary>
[Display(Name = "TBD4MKey"), Description("TBD4MKey"), MaxLength(200, ErrorMessage = "TBD4MKey 不能超过 200 个字符")]
public string TBD4MKey { get; set; }
/// <summary>
/// IsTBD5
/// </summary>
public int? IsTBD5 { get; set; }
/// <summary>
/// TBD5MKey
/// </summary>
[Display(Name = "TBD5MKey"), Description("TBD5MKey"), MaxLength(200, ErrorMessage = "TBD5MKey 不能超过 200 个字符")]
public string TBD5MKey { get; set; }
/// <summary>
/// IsTBD6
/// </summary>
public int? IsTBD6 { get; set; }
/// <summary>
/// TBD6MKey
/// </summary>
[Display(Name = "TBD6MKey"), Description("TBD6MKey"), MaxLength(200, ErrorMessage = "TBD6MKey 不能超过 200 个字符")]
public string TBD6MKey { get; set; }
/// <summary>
/// IsTBD7
/// </summary>
public int? IsTBD7 { get; set; }
/// <summary>
/// TBD7MKey
/// </summary>
[Display(Name = "TBD7MKey"), Description("TBD7MKey"), MaxLength(200, ErrorMessage = "TBD7MKey 不能超过 200 个字符")]
public string TBD7MKey { get; set; }
/// <summary>
/// IsTBD8
/// </summary>
public int? IsTBD8 { get; set; }
/// <summary>
/// TBD8MKey
/// </summary>
[Display(Name = "TBD8MKey"), Description("TBD8MKey"), MaxLength(200, ErrorMessage = "TBD8MKey 不能超过 200 个字符")]
public string TBD8MKey { get; set; }
/// <summary>
/// IsTBD9
/// </summary>
public int? IsTBD9 { get; set; }
/// <summary>
/// TBD9MKey
/// </summary>
[Display(Name = "TBD9MKey"), Description("TBD9MKey"), MaxLength(200, ErrorMessage = "TBD9MKey 不能超过 200 个字符")]
public string TBD9MKey { get; set; }
/// <summary>
/// IsTBD10
/// </summary>
public int? IsTBD10 { get; set; }
/// <summary>
/// TBD10MKey
/// </summary>
[Display(Name = "TBD10MKey"), Description("TBD10MKey"), MaxLength(200, ErrorMessage = "TBD10MKey 不能超过 200 个字符")]
public string TBD10MKey { get; set; }
/// <summary>
/// IsTBD11
/// </summary>
public int? IsTBD11 { get; set; }
/// <summary>
/// TBD11MKey
/// </summary>
[Display(Name = "TBD11MKey"), Description("TBD11MKey"), MaxLength(200, ErrorMessage = "TBD11MKey 不能超过 200 个字符")]
public string TBD11MKey { get; set; }
/// <summary>
/// IsTBD12
/// </summary>
public int? IsTBD12 { get; set; }
/// <summary>
/// TBD12MKey
/// </summary>
[Display(Name = "TBD12MKey"), Description("TBD12MKey"), MaxLength(200, ErrorMessage = "TBD12MKey 不能超过 200 个字符")]
public string TBD12MKey { get; set; }
/// <summary>
/// IsTBD13
/// </summary>
public int? IsTBD13 { get; set; }
/// <summary>
/// TBD13MKey
/// </summary>
[Display(Name = "TBD13MKey"), Description("TBD13MKey"), MaxLength(200, ErrorMessage = "TBD13MKey 不能超过 200 个字符")]
public string TBD13MKey { get; set; }
/// <summary>
/// IsTBD14
/// </summary>
public int? IsTBD14 { get; set; }
/// <summary>
/// TBD14MKey
/// </summary>
[Display(Name = "TBD14MKey"), Description("TBD14MKey"), MaxLength(200, ErrorMessage = "TBD14MKey 不能超过 200 个字符")]
public string TBD14MKey { get; set; }
/// <summary>
/// IsTBD15
/// </summary>
public int? IsTBD15 { get; set; }
/// <summary>
/// TBD15MKey
/// </summary>
[Display(Name = "TBD15MKey"), Description("TBD15MKey"), MaxLength(200, ErrorMessage = "TBD15MKey 不能超过 200 个字符")]
public string TBD15MKey { get; set; }
/// <summary>
/// RemarkSz
/// </summary>
[Display(Name = "RemarkSz"), Description("RemarkSz"), MaxLength(2000, ErrorMessage = "RemarkSz 不能超过 2000 个字符")]
public string RemarkSz { get; set; }
/// <summary>
/// SortNo
/// </summary>
public int? SortNo { get; set; }
/// <summary>
/// IsDefault
/// </summary>
public int? IsDefault { get; set; }
/// <summary>
/// Reverse1
/// </summary>
[Display(Name = "Reverse1"), Description("Reverse1"), MaxLength(1000, ErrorMessage = "Reverse1 不能超过 1000 个字符")]
public string Reverse1 { get; set; }
/// <summary>
/// Reverse2
/// </summary>
[Display(Name = "Reverse2"), Description("Reverse2"), MaxLength(1000, ErrorMessage = "Reverse2 不能超过 1000 个字符")]
public string Reverse2 { get; set; }
/// <summary>
/// Reverse3
/// </summary>
[Display(Name = "Reverse3"), Description("Reverse3"), MaxLength(1000, ErrorMessage = "Reverse3 不能超过 1000 个字符")]
public string Reverse3 { get; set; }
/// <summary>
/// Reverse4
/// </summary>
[Display(Name = "Reverse4"), Description("Reverse4"), MaxLength(1000, ErrorMessage = "Reverse4 不能超过 1000 个字符")]
public string Reverse4 { get; set; }
/// <summary>
/// Reverse5
/// </summary>
[Display(Name = "Reverse5"), Description("Reverse5"), MaxLength(1000, ErrorMessage = "Reverse5 不能超过 1000 个字符")]
public string Reverse5 { get; set; }
/// <summary>
/// Reverse6
/// </summary>
[Display(Name = "Reverse6"), Description("Reverse6"), MaxLength(1000, ErrorMessage = "Reverse6 不能超过 1000 个字符")]
public string Reverse6 { get; set; }
/// <summary>
/// Reverse7
/// </summary>
[Display(Name = "Reverse7"), Description("Reverse7"), MaxLength(1000, ErrorMessage = "Reverse7 不能超过 1000 个字符")]
public string Reverse7 { get; set; }
/// <summary>
/// Reverse8
/// </summary>
[Display(Name = "Reverse8"), Description("Reverse8"), MaxLength(1000, ErrorMessage = "Reverse8 不能超过 1000 个字符")]
public string Reverse8 { get; set; }
/// <summary>
/// Reverse9
/// </summary>
[Display(Name = "Reverse9"), Description("Reverse9"), MaxLength(1000, ErrorMessage = "Reverse9 不能超过 1000 个字符")]
public string Reverse9 { get; set; }
/// <summary>
/// AppUrl
/// </summary>
[Display(Name = "AppUrl"), Description("AppUrl"), MaxLength(200, ErrorMessage = "AppUrl 不能超过 200 个字符")]
public string AppUrl { get; set; }
}
}

@ -0,0 +1,34 @@
/* ,
* Ghrs_Menu.cs
*
* N / A
* Ghrs_Menu
*
* Ver
*
*V0.01 2024/9/3 15:32:53 SimonHsiao
*
* Copyright(c) 2024 Tiobon Corporation. All Rights Reserved.
*
*  
* SimonHsiao
*
*/
namespace Tiobon.Core.Model.Models;
/// <summary>
/// Ghrs_Menu(Dto.View)
/// </summary>
public class Ghrs_MenuDto : Ghrs_Menu
{
/// <summary>
/// 创建信息
/// </summary>
public string CreateDataInfo { get; set; }
/// <summary>
/// 修改信息
/// </summary>
public string UpdateDataInfo { get; set; }
}

@ -21,7 +21,6 @@ using Tiobon.Core.Model.Models;
using System.Reflection;
using System.Collections;
using Tiobon.Core.Model.ViewModels.Extend;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
namespace Tiobon.Core.Services.BASE;
@ -1398,23 +1397,45 @@ public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServ
return StaffId;
}
#region 获取部门列表
public static void LoopToAppendChildren(List<Ghro_Dept> depts, List<Ghro_Dept> depts1, Ghro_Dept dept)
{
var depts2 = depts.Where(x => x.ParentDeptID == dept.DeptID).ToList();
depts1.AddRange(depts2);
foreach (var item in depts2)
{
LoopToAppendChildren(depts, depts1, item);
}
}
public async Task<List<Ghro_Dept>> GetDeptList(List<Ghro_Dept> depts, int? deptId = null)
{
if (!depts.Any())
depts = await Db.Queryable<Ghro_Dept>().ToListAsync();
if (!deptId.IsNullOrEmpty())
{
var dept = depts.Where(x => x.DeptID == deptId).FirstOrDefault();
List<Ghro_Dept> depts1 = [dept];
LoopToAppendChildren(depts, depts1, dept);
return depts1;
}
else return depts;
}
#endregion
public async Task<List<int>> GetUserStaffPrivIds(int userId, int? staffId = null, DateTime? date = null)
{
if (date == null) date = DateTime.Now;
var @CDate = date;
var @UserID = userId;
var @StaffID = staffId.IsNullOrEmpty() ? 0 : staffId.Value;
var @StaffID = staffId.IsNullOrEmpty() ? -1 : staffId.Value;
int @UserStaffID = await Db.Ado.GetIntAsync($"SELECT UserStaffID FROM Ghrs_User WHERE UserId='{userId}'");
var @CompanySpecCode = string.Empty;
int @UserDeptID = 0;
int @DataRoleType = 0; //--1 员工自身 2 全部人员 3 按设定
int @DeptType = 0; //1 按挑选 2 主管(含下阶) 3 主管(不含下阶) 4 部门助理(含下阶) 5 部门助理(不含下阶) 6 所在部门(含下阶) 7 所在部门(不含下阶) 8: 全部部门
int? @AllDataBelong = 0,
@AllGrade = 0,
@AllTitle = 0,
@AllZone = 0,
@AllPeriodMaster = 0,
@ALLDL_IDL = 0,
//int @DataRoleType = 0; //--1 员工自身 2 全部人员 3 按设定
//int @DeptType = 0; //1 按挑选 2 主管(含下阶) 3 主管(不含下阶) 4 部门助理(含下阶) 5 部门助理(不含下阶) 6 所在部门(含下阶) 7 所在部门(不含下阶) 8: 全部部门
int?
@DeptID,
@TitleID,
@GradeID,
@ -1447,19 +1468,210 @@ public class BaseServices<TEntity, TEntityDto, TInsertDto, TEditDto> : IBaseServ
var dataRoles = await Db.Ado.SqlQueryAsync<Ghrs_UserDataRoleExtend>(sql);
if (@StaffID.IsNullOrEmpty())
var scr = Db.Queryable<Ghra_Staff>();
if (@StaffID == -1)
{
if (dataRoles.Where(x => x.DataRoleType == 2).Any())// 全部人员权限
return await Db.Queryable<Ghra_Staff>().Select(x => x.StaffID).ToListAsync();
return await scr.Select(x => x.StaffID).ToListAsync();
var staffIds = new List<int>();
var depts = new List<Ghro_Dept>();
depts = await GetDeptList(depts);
for (int i = 0; i < dataRoles.Count; i++)
{
var deptIds = new List<int>();
var dataRole = dataRoles[i];
//--2 集团数据归属编号
var dataBelongIds = new List<int>();
if (dataRole.@AllDataBelong == 0)
{
dataBelongIds = await Db.Queryable<Ghrs_DataRoleDetail>()
.Where(x =>
x.IsEnable == 1 &&
x.DataTypeID == 2 &&
x.DataID != null &&
x.DataRoleId != null &&
x.DataRoleId == dataRole.DataRoleID)
.Select(x => x.DataID.Value).ToListAsync();
}
//-- 3 职等编号
var gradeIds = new List<int>();
if (dataRole.@AllGrade == 0)
{
gradeIds = await Db.Queryable<Ghrs_DataRoleDetail>()
.Where(x =>
x.IsEnable == 1 &&
x.DataTypeID == 3 &&
x.DataID != null &&
x.DataRoleId != null &&
x.DataRoleId == dataRole.DataRoleID)
.Select(x => x.DataID.Value).ToListAsync();
}
//-- 4 职称编号
var titleIds = new List<int>();
if (dataRole.@AllTitle == 0)
{
titleIds = await Db.Queryable<Ghrs_DataRoleDetail>()
.Where(x =>
x.IsEnable == 1 &&
x.DataTypeID == 4 &&
x.DataID != null &&
x.DataRoleId != null &&
x.DataRoleId == dataRole.DataRoleID)
.Select(x => x.DataID.Value).ToListAsync();
}
//-- 5 厂区编号
var zoneIds = new List<int>();
if (dataRole.@AllZone == 0)
{
zoneIds = await Db.Queryable<Ghrs_DataRoleDetail>()
.Where(x =>
x.IsEnable == 1 &&
x.DataTypeID == 5 &&
x.DataID != null &&
x.DataRoleId != null &&
x.DataRoleId == dataRole.DataRoleID)
.Select(x => x.DataID.Value).ToListAsync();
}
//-- 6 计薪类别编号
var periodMasterIds = new List<int>();
if (dataRole.@AllPeriodMaster == 0)
{
periodMasterIds = await Db.Queryable<Ghrs_DataRoleDetail>()
.Where(x =>
x.IsEnable == 1 &&
x.DataTypeID == 6 &&
x.DataID != null &&
x.DataRoleId != null &&
x.DataRoleId == dataRole.DataRoleID)
.Select(x => x.DataID.Value).ToListAsync();
}
//-- 7 直间接编号
var DL_IDLIds = new List<int>();
if (dataRole.@ALLDL_IDL == 0)
DL_IDLIds = await Db.Queryable<Ghrs_DataRoleDetail>().Where(x =>
x.IsEnable == 1 &&
x.DataTypeID == 6 &&
x.DataID != null &&
x.DataRoleId != null &&
x.DataRoleId == dataRole.DataRoleID)
.Select(x => x.DataID.Value).ToListAsync();
//判断部门的权限 @DeptType
//7 所在部门(不含下阶)
if (dataRole.@DeptType == 7)
deptIds.Add(@UserStaffID);
//6 所在部门(含下阶)
if (dataRole.@DeptType == 6)
{
var dept = depts.Where(x => x.DeptID == @UserStaffID).FirstOrDefault();
var depts1 = await GetDeptList(depts, dept.DeptID);
}
//5 部门助理(不含下阶)
if (dataRole.@DeptType == 5)
{
var depts1 = depts.Where(x => x.DeptAssID == @UserStaffID).ToList();
deptIds.AddRange(depts1.Select(x => x.DeptID.Value).ToList());
}
//4 部门助理(含下阶)
if (dataRole.@DeptType == 4)
{
var depts1 = depts.Where(x => x.DeptAssID == @UserStaffID).ToList();
foreach (var dept in depts1)
{
var items = await GetDeptList(depts, dept.DeptID);
deptIds.AddRange(items.Select(x => x.DeptID.Value).ToList());
}
}
//3 主管(不含下阶)
if (dataRole.@DeptType == 3)
{
var depts1 = depts.Where(x => x.DeptManagerID == @UserStaffID).ToList();
deptIds.AddRange(depts1.Select(x => x.DeptID.Value).ToList());
}
//2 主管(含下阶)
if (dataRole.@DeptType == 2)
{
var depts1 = depts.Where(x => x.DeptManagerID == @UserStaffID).ToList();
foreach (var dept in depts1)
{
var items = await GetDeptList(depts, dept.DeptID);
deptIds.AddRange(items.Select(x => x.DeptID.Value).ToList());
}
}
//1 按挑选
if (dataRole.@DeptType == 1)
{
sql = @$"SELECT DataID
FROM Ghrs_DataRoleDetail
WHERE IsEnable = 1
AND DataRoleID = {dataRole.DataRoleID}
AND DataTypeID = 1
AND IncludeSub = 0";
var dataIDs = await Db.Ado.SqlQueryAsync<int>(sql);
if (!dataIDs.Any())
{
sql = @$"SELECT DataID
FROM Ghrs_DataRoleDetail
WHERE IsEnable = 1
AND DataRoleID = {dataRole.DataRoleID}
AND DataTypeID = 1
AND IncludeSub = 1";
dataIDs = await Db.Ado.SqlQueryAsync<int>(sql);
foreach (var dataID in dataIDs)
{
var items = await GetDeptList(depts, dataID);
deptIds.AddRange(items.Select(x => x.DeptID.Value).ToList());
}
}
else
deptIds.AddRange(dataIDs);
}
deptIds = deptIds.Distinct().ToList();
var ids = await scr
.WhereIF(dataRole.@AllDataBelong == 0, x => x.DataBelongID != null && dataBelongIds.Contains(x.DataBelongID.Value))
.WhereIF(dataRole.@AllGrade == 0, x => x.GradeID != null && gradeIds.Contains(x.GradeID.Value))
.WhereIF(dataRole.@AllTitle == 0, x => x.TitleID != null && titleIds.Contains(x.TitleID.Value))
.WhereIF(dataRole.@AllZone == 0, x => x.ZoneID != null && zoneIds.Contains(x.ZoneID.Value))
.WhereIF(dataRole.@AllPeriodMaster == 0, x => x.PeriodMasterID != null && periodMasterIds.Contains(x.PeriodMasterID.Value))
.WhereIF(dataRole.@ALLDL_IDL == 0, x => x.StaffType1 != null && DL_IDLIds.Contains(x.StaffType1.Value))
.Where(x => (x.DeptID != null && deptIds.Contains(x.DeptID.Value))
).Select(x => x.StaffID).ToListAsync();
staffIds.AddRange(ids);
}
var dataBelongIDs = new List<int>();
staffIds.Add(UserStaffID);
staffIds.Distinct().ToList();
return staffIds;
return [@StaffID];
}
else
{
#region 员工默认有自己的权限
int? @UserStaffID = await Db.Ado.GetIntAsync($"SELECT UserStaffID FROM Ghrs_User WHERE UserId='{userId}'");
if (staffId == @UserStaffID)
return [@StaffID];
#endregion

@ -38,7 +38,12 @@ public class Ghre_CertificateServices : BaseServices<Ghre_Certificate, Ghre_Cert
FROM Ghre_Certificate_V A";
string conditions = " WHERE 1=1 ";
if (await Db.Queryable<Ghrs_Menu>().Where(x => x.DataPrivType == "Priv" && x.MenuNo == filter.menuName).AnyAsync())
{
var staffIds = await GetUserStaffPrivIds((int)App.User.ID);
if (staffIds.Any())
conditions = $" WHERE StaffId IN ({string.Join(",", staffIds.Select(id => "'" + id + "'"))})";
}
if (IsEnable == true)
conditions += " AND IsEnable = 1";
else if (IsEnable == false)

@ -130,6 +130,14 @@ public class Ghre_CreditPointServices : BaseServices<Ghre_CreditPoint, Ghre_Cred
// conditions += $" AND Id IN({string.Join(",", ids)})";
if (!condition.IsNull())
conditions += " AND " + condition;
if (await Db.Queryable<Ghrs_Menu>().Where(x => x.DataPrivType == "Priv" && x.MenuNo == filter.menuName).AnyAsync())
{
var staffIds = await GetUserStaffPrivIds((int)App.User.ID);
if (staffIds.Any())
conditions += $" AND StaffId IN ({string.Join(",", staffIds.Select(id => "'" + id + "'"))})";
}
sql = string.Format(sql, conditions);
if (filter.pageSize == 0)
filter.pageSize = 10000;

@ -38,6 +38,12 @@ public class Ghre_RequiredCourseServices : BaseServices<Ghre_RequiredCourse, Ghr
FROM Ghre_RequiredCourse_V";
string conditions = " WHERE IsEnable = 1";
if (await Db.Queryable<Ghrs_Menu>().Where(x => x.DataPrivType == "Priv" && x.MenuNo == filter.menuName).AnyAsync())
{
var staffIds = await GetUserStaffPrivIds((int)App.User.ID);
if (staffIds.Any())
conditions += $" AND StaffId IN ({string.Join(",", staffIds.Select(id => "'" + id + "'"))})";
}
if (filter.jsonParam != null)
foreach (JProperty jProperty in filter.jsonParam.Properties())
{

@ -19,6 +19,7 @@ using NPOI.SS.Util;
using NPOI.XSSF.UserModel;
using Microsoft.AspNetCore.Http;
using System.Data;
using Org.BouncyCastle.Crypto;
namespace Tiobon.Core.Services;
@ -50,7 +51,13 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
var sql = @$" SELECT *
FROM Ghre_StudyRecord_V A";
string conditions = " WHERE [dbo].[FUserStaffPriv]({App.User.ID}, StaffId ,null)=1 ";
string conditions = " WHERE 1=1 ";
if (await Db.Queryable<Ghrs_Menu>().Where(x => x.DataPrivType == "Priv" && x.MenuNo == filter.menuName).AnyAsync())
{
var staffIds = await GetUserStaffPrivIds((int)App.User.ID);
if (staffIds.Any())
conditions = $" WHERE StaffId IN ({string.Join(",", staffIds.Select(id => "'" + id + "'"))})";
}
if (IsEnable == true)
conditions += " AND IsEnable = 1";
@ -60,7 +67,6 @@ public class Ghre_StudyRecordServices : BaseServices<Ghre_StudyRecord, Ghre_Stud
if (!string.IsNullOrWhiteSpace(condition))
conditions += " AND " + condition;
if (filter.jsonParam != null)
foreach (JProperty jProperty in filter.jsonParam.Properties())
{

@ -0,0 +1,23 @@

using Tiobon.Core.IServices;
using Tiobon.Core.Model.Models;
using Tiobon.Core.Services.BASE;
using Tiobon.Core.IRepository.Base;
using Tiobon.Core.Common.Caches;
namespace Tiobon.Core.Services
{
/// <summary>
/// Ghrs_Menu (服务)
/// </summary>
public class Ghrs_MenuServices : BaseServices<Ghrs_Menu, Ghrs_MenuDto, InsertGhrs_MenuInput, EditGhrs_MenuInput>, IGhrs_MenuServices
{
private readonly IBaseRepository<Ghrs_Menu> _dal;
public Ghrs_MenuServices(ICaching caching, IBaseRepository<Ghrs_Menu> dal)
{
this._dal = dal;
base.BaseDal = dal;
base._caching = caching;
}
}
}

File diff suppressed because it is too large Load Diff

@ -1070,6 +1070,16 @@
Ghrs_Attachment(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrs_DataRoleDetailController">
<summary>
Ghrs_DataRoleDetail(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrs_MenuController">
<summary>
Ghrs_Menu(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrs_ParaDetailController">
<summary>
Ghrs_ParaDetail(Controller)

Loading…
Cancel
Save