From 29df3d658b06d4c5dc42d3f3695edd964f50cdfd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E6=B7=B3?= Date: Fri, 6 Jan 2023 11:12:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A8=A1=E6=9D=BF=E9=87=8D=E6=96=B0=E7=94=9F?= =?UTF-8?q?=E6=88=90=E5=8F=AF=E7=A9=BA=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Config/SwaggerDoc.xml | 35 -- .../Controllers/StudentController.cs | 96 ----- .../yi-sqlsugar-dev.db | Bin 335872 -> 286720 bytes .../Yi.Framework.Common/Helper/EmailHelper.cs | 8 +- .../Yi.Framework.Common/Models/ITreeModel.cs | 2 +- .../Yi.Framework.Common/Models/LogModel.cs | 6 +- .../Yi.Framework.Common/Models/PageModel.cs | 2 +- .../Models/VueRouterModel.cs | 16 +- .../Options/SqlConnOptions.cs | 4 +- .../QueueModel/OrderCreateQueueModel.cs | 2 +- .../QueueModel/SMSQueueModel.cs | 4 +- .../Yi.Framework.Common.csproj | 8 + .../Base/Dto/GiveRoleSetMenuDto.cs | 4 +- .../Base/Dto/RoleInfoDto.cs | 6 +- .../Base/Dto/UpdatePasswordDto.cs | 4 +- .../ERP/Material/MaterialCreateUpdateInput.cs | 6 +- .../ERP/Material/MaterialGetListInput.cs | 17 + .../ERP/Material/MaterialGetListOutput.cs | 8 +- .../ERP/Purchase/PurchaseGetListOutput.cs | 4 +- .../PurchaseDetailsCreateUpdateInput.cs | 11 +- .../PurchaseDetailsGetListInput.cs | 19 + .../PurchaseDetailsGetListOutput.cs | 10 +- .../ERP/Supplier/SupplierGetListInput.cs | 19 + .../ERP/Unit/UnitCreateUpdateInput.cs | 4 +- .../ERP/Unit/UnitGetListInput.cs | 16 + .../ERP/Unit/UnitGetListOutput.cs | 6 +- .../Warehouse/WarehouseCreateUpdateInput.cs | 6 +- .../ERP/Warehouse/WarehouseGetListInput.cs | 18 + .../ERP/Warehouse/WarehouseGetListOutput.cs | 8 +- .../Student/MapperConfig/StudentProfile.cs | 22 - .../RABC/Student/StudentCreateInput.cs | 13 - .../RABC/Student/StudentCreateUpdateInput.cs | 13 - .../RABC/Student/StudentGetOutput.cs | 14 - .../RABC/Student/StudentListOutput.cs | 14 - .../RABC/Student/StudentUpdateInput.cs | 13 - .../Yi.Framework.DTOModel.csproj | 1 + .../ERP/Purchase/PurchaseUpdateInput.cs | 4 +- .../ERP/Supplier/SupplierCreateUpdateInput.cs | 27 +- .../ERP/Supplier/SupplierGetListOutput.cs | 35 +- .../RABC/Student/ConstConfig/StudentConst.cs | 14 - .../RABC/IStudentService.cs | 13 - .../RABC/Entitys/StudentEntity.cs | 20 - .../RABC/SeedData/MenuSeed.cs | 379 +++++++++++++++++- .../RABC/StudentService.cs | 47 --- .../Abstract/ModelTemplateProvider.cs | 2 +- .../AutoMapperExtension.cs | 1 - Yi.Vue3.X.RuoYi/src/api/system/dept.js | 10 +- .../src/views/system/dept/index.vue | 56 +-- .../src/views/system/role/index.vue | 2 +- .../src/views/system/user/index.vue | 2 +- .../src/api/{business => bbs}/articleApi.js | 0 .../views/{business => bbs}/article/index.vue | 0 52 files changed, 573 insertions(+), 478 deletions(-) delete mode 100644 Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/StudentController.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialGetListInput.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsGetListInput.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Supplier/SupplierGetListInput.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitGetListInput.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseGetListInput.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/MapperConfig/StudentProfile.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentCreateInput.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentCreateUpdateInput.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentGetOutput.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentListOutput.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentUpdateInput.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.DtoModel/RABC/Student/ConstConfig/StudentConst.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Interface/RABC/IStudentService.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Model/RABC/Entitys/StudentEntity.cs delete mode 100644 Yi.Framework.Net6/Yi.Framework.Service/RABC/StudentService.cs rename Yi.Vue3.x.RuoYi/src/api/{business => bbs}/articleApi.js (100%) rename Yi.Vue3.x.RuoYi/src/views/{business => bbs}/article/index.vue (100%) diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Config/SwaggerDoc.xml b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Config/SwaggerDoc.xml index 6c6c0a3b..7024d905 100644 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Config/SwaggerDoc.xml +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Config/SwaggerDoc.xml @@ -391,41 +391,6 @@ - - - 增 - - - - - - - 查 - - - - - - - 查 - - - - - - 删 - - - - - - - 更 - - - - - 账户管理 diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/StudentController.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/StudentController.cs deleted file mode 100644 index b436afe9..00000000 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/StudentController.cs +++ /dev/null @@ -1,96 +0,0 @@ -using Microsoft.AspNetCore.Mvc; -using Yi.Framework.Common.Models; -using Yi.Framework.DtoModel.RABC.Student; -using Yi.Framework.Interface.RABC; - -namespace Yi.Framework.ApiMicroservice.Controllers.ERP -{ - [ApiController] - [Route("[controller]")] - public class StudentController : ControllerBase - { - - private readonly ILogger _logger; - private readonly IStudentService _studentService; - public StudentController(ILogger logger, IStudentService studentService) - { - _logger = logger; - _studentService = studentService; - } - - [HttpDelete] - [Route("ErrorTest")] - public Result ErrorTest() - { - _studentService.GetError(); - return Result.Success(); - } - - /// - /// - /// - /// - /// - [HttpPost] - public async Task> Create(StudentCreateInput studentCreateInput) - { - var result = await _studentService.CreateAsync(studentCreateInput); - - return Result.Success().SetData(result); - - } - - /// - /// - /// - /// - /// - [HttpGet] - [Route("{id}")] - public async Task> GetById(Guid id) - { - var result = await _studentService.GetByIdAsync(id); - return Result.Success().SetData(result); - } - - /// - /// - /// - /// - [HttpGet] - public async Task>> GetLsit() - { - var result = await _studentService.GetListAsync(); - - return Result>.Success().SetData(result); - } - - /// - /// ɾ - /// - /// - /// - [HttpDelete] - public async Task> Del(List ids) - { - await _studentService.DeleteAsync(ids); - return Result.Success(); - } - - /// - /// - /// - /// - /// - /// - [HttpPut] - [Route("{id}")] - public async Task> Update(Guid id, StudentUpdateInput studentUpdateInput) - { - var result = await _studentService.UpdateAsync(id, studentUpdateInput); - return Result.Success().SetData(result); - } - - - } -} \ No newline at end of file diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/yi-sqlsugar-dev.db b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/yi-sqlsugar-dev.db index 22b2f8504648c0e07f7a76e1bd03d4b4b2a9c0bf..a24a9d3746e8d27700846bb682778d0c8eec8d95 100644 GIT binary patch literal 286720 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 literal 335872 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 diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Helper/EmailHelper.cs b/Yi.Framework.Net6/Yi.Framework.Common/Helper/EmailHelper.cs index 5629592d..b750054f 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/Helper/EmailHelper.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/Helper/EmailHelper.cs @@ -9,10 +9,10 @@ namespace Yi.Framework.Common.Helper { public class EmailHelper { - public static string fromMail { get; set; } - public static string pwdMail { get; set; } - public static string senderMail { get; set; } - public static string subjectMail { get; set; } + public static string fromMail { get; set; } = string.Empty; + public static string pwdMail { get; set; } = string.Empty; + public static string senderMail { get; set; } = string.Empty; + public static string subjectMail { get; set; } = string.Empty; public static void Init(string fromMail,string pwdMail,string senderMail, string subjectMail) { EmailHelper.fromMail = fromMail; diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Models/ITreeModel.cs b/Yi.Framework.Net6/Yi.Framework.Common/Models/ITreeModel.cs index ed6bb3af..fe3e72f3 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/Models/ITreeModel.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/Models/ITreeModel.cs @@ -12,6 +12,6 @@ namespace Yi.Framework.Common.Models public long ParentId { get; set; } public int OrderNum { get; set; } - public List Children { get; set; } + public List? Children { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Models/LogModel.cs b/Yi.Framework.Net6/Yi.Framework.Common/Models/LogModel.cs index 1c7b779f..40698657 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/Models/LogModel.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/Models/LogModel.cs @@ -11,8 +11,8 @@ namespace Yi.Framework.Common.Models /// public class LogModel { - public string OriginalClassName { get; set; } - public string OriginalMethodName { get; set; } - public string Remark { get; set; } + public string OriginalClassName { get; set; } = string.Empty; + public string OriginalMethodName { get; set; } = string.Empty; + public string? Remark { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Models/PageModel.cs b/Yi.Framework.Net6/Yi.Framework.Common/Models/PageModel.cs index b1a6004c..7f090ade 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/Models/PageModel.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/Models/PageModel.cs @@ -16,7 +16,7 @@ namespace Yi.Framework.Common.Models Total = total; } public int Total { get; set; } - public T Data { get; set; } + public T Data { get; set; } = default(T)!; } public class PageModel : PageModel diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Models/VueRouterModel.cs b/Yi.Framework.Net6/Yi.Framework.Common/Models/VueRouterModel.cs index 30af6f11..3384a985 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/Models/VueRouterModel.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/Models/VueRouterModel.cs @@ -12,22 +12,22 @@ namespace Yi.Framework.Common.Models public long ParentId { get; set; } public int OrderNum { get; set; } - public string Name { get; set; } - public string Path { get; set; } + public string Name { get; set; } = string.Empty; + public string Path { get; set; } = string.Empty; public bool Hidden { get; set; } - public string Redirect { get; set; } - public string Component { get; set; } + public string Redirect { get; set; } = string.Empty; + public string Component { get; set; } = string.Empty; public bool AlwaysShow { get; set; } public Meta Meta { get; set; } = new Meta(); - public List Children { get; set; } + public List? Children { get; set; } } public class Meta { - public string Title { get; set; } - public string Icon { get; set; } + public string Title { get; set; } = string.Empty; + public string Icon { get; set; } = string.Empty; public bool NoCache { get; set; } - public string link { get; set; } + public string link { get; set; } = string.Empty; } } diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Options/SqlConnOptions.cs b/Yi.Framework.Net6/Yi.Framework.Common/Options/SqlConnOptions.cs index 5e177b00..c4646a05 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/Options/SqlConnOptions.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/Options/SqlConnOptions.cs @@ -5,7 +5,7 @@ namespace Yi.Framework.Common.IOCOptions { public class SqlConnOptions { - public string WriteUrl { get; set; } - public List ReadUrl { get; set; } + public string WriteUrl { get; set; } = string.Empty; + public List? ReadUrl { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.Common/QueueModel/OrderCreateQueueModel.cs b/Yi.Framework.Net6/Yi.Framework.Common/QueueModel/OrderCreateQueueModel.cs index 0f715418..b71a1af2 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/QueueModel/OrderCreateQueueModel.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/QueueModel/OrderCreateQueueModel.cs @@ -22,7 +22,7 @@ namespace Yi.Framework.Common.QueueModel /// /// sku ID 集合 /// - public List SkuIdList { get; set; } + public List? SkuIdList { get; set; } /// /// 尝试次数 diff --git a/Yi.Framework.Net6/Yi.Framework.Common/QueueModel/SMSQueueModel.cs b/Yi.Framework.Net6/Yi.Framework.Common/QueueModel/SMSQueueModel.cs index 242a75c9..1bcdab4f 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/QueueModel/SMSQueueModel.cs +++ b/Yi.Framework.Net6/Yi.Framework.Common/QueueModel/SMSQueueModel.cs @@ -8,7 +8,7 @@ namespace Yi.Framework.Common.QueueModel { public class SMSQueueModel { - public string code { get; set; } - public string phone { get; set; } + public string? code { get; set; } + public string? phone { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.Common/Yi.Framework.Common.csproj b/Yi.Framework.Net6/Yi.Framework.Common/Yi.Framework.Common.csproj index 784b6b95..22079ff5 100644 --- a/Yi.Framework.Net6/Yi.Framework.Common/Yi.Framework.Common.csproj +++ b/Yi.Framework.Net6/Yi.Framework.Common/Yi.Framework.Common.csproj @@ -5,6 +5,14 @@ enable + + 1701;1702;CS8618 + + + + 1701;1702;CS8618 + + diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/GiveRoleSetMenuDto.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/GiveRoleSetMenuDto.cs index 055469a7..cebd105b 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/GiveRoleSetMenuDto.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/GiveRoleSetMenuDto.cs @@ -8,7 +8,7 @@ namespace Yi.Framework.DtoModel.Base.Dto { public class GiveRoleSetMenuDto { - public List RoleIds { get; set; } - public List MenuIds { get; set; } + public List? RoleIds { get; set; } + public List? MenuIds { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/RoleInfoDto.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/RoleInfoDto.cs index 50b3404a..f5538682 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/RoleInfoDto.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/RoleInfoDto.cs @@ -9,8 +9,8 @@ namespace Yi.Framework.DtoModel.Base.Dto { public class RoleInfoDto { - public RoleEntity Role { get; set; } - public List DeptIds { get; set; } - public List MenuIds { get; set; } + public RoleEntity Role { get; set; }=new (); + public List DeptIds { get; set; } = new (); + public List MenuIds { get; set; } = new (); } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/UpdatePasswordDto.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/UpdatePasswordDto.cs index c91c487c..267e4e80 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/UpdatePasswordDto.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/Base/Dto/UpdatePasswordDto.cs @@ -8,7 +8,7 @@ namespace Yi.Framework.DtoModel.Base.Dto { public class UpdatePasswordDto { - public string NewPassword { get; set; } - public string OldPassword { get; set; } + public string NewPassword { get; set; }=string.Empty; + public string OldPassword { get; set; } = string.Empty; } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialCreateUpdateInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialCreateUpdateInput.cs index 3ac90f21..24ad8348 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialCreateUpdateInput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialCreateUpdateInput.cs @@ -10,9 +10,9 @@ namespace Yi.Framework.DtoModel.ERP.Material { public class MaterialCreateUpdateInput : EntityDto { - public string? Code { get; set; } - public string? Name { get; set; } - public string? UnitName { get; set; } + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty; + public string UnitName { get; set; }=string.Empty; public string? Remarks { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialGetListInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialGetListInput.cs new file mode 100644 index 00000000..deba3ca4 --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialGetListInput.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.ERP.Material +{ + public class MaterialGetListInput + { + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty; + public string UnitName { get; set; }=string.Empty; + public string? Remarks { get; set; } + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialGetListOutput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialGetListOutput.cs index 71f5c573..b5baa527 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialGetListOutput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Material/MaterialGetListOutput.cs @@ -9,9 +9,9 @@ namespace Yi.Framework.DtoModel.ERP.Material { public class MaterialGetListOutput: EntityDto { - public string Code { get; set; } - public string Name { get; set; } - public string UnitName { get; set; } - public string Remarks { get; set; } + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty; + public string UnitName { get; set; }=string.Empty; + public string? Remarks { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Purchase/PurchaseGetListOutput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Purchase/PurchaseGetListOutput.cs index 1a746dfd..f7ecdfdf 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Purchase/PurchaseGetListOutput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Purchase/PurchaseGetListOutput.cs @@ -10,9 +10,9 @@ namespace Yi.Framework.DtoModel.ERP.Purchase { public class PurchaseGetListOutput: EntityDto { - public string Code { get; set; } + public string Code { get; set; } = string.Empty; public DateTime NeedTime { get; set; } - public string Buyer { get; set; } + public string Buyer { get; set; } = string.Empty; public long TotalMoney { get; set; } public long PaidMoney { get; set; } public PurchaseStateEnum PurchaseState { get; set; } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsCreateUpdateInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsCreateUpdateInput.cs index c371f87f..c81d02dc 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsCreateUpdateInput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsCreateUpdateInput.cs @@ -10,12 +10,11 @@ namespace Yi.Framework.DtoModel.ERP.PurchaseDetails { public class PurchaseDetailsCreateUpdateInput : EntityDto { - public string? MaterialUnit { get; set; } - - public string? MaterialName { get; set; } - public float UnitPrice { get; set; } - public long TotalNumber { get; set; } - public long? CompleteNumber { get; set; } + public string MaterialName { get; set; }=string.Empty; + public string MaterialUnit { get; set; }=string.Empty ; + public float UnitPrice { get; set; } + public long TotalNumber { get; set; } + public long CompleteNumber { get; set; } public string? Remarks { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsGetListInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsGetListInput.cs new file mode 100644 index 00000000..0b2a7b6d --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsGetListInput.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.ERP.PurchaseDetails +{ + public class PurchaseDetailsGetListInput + { + public string MaterialName { get; set; }=string.Empty; + public string MaterialUnit { get; set; }=string.Empty ; + public float UnitPrice { get; set; } + public long TotalNumber { get; set; } + public long CompleteNumber { get; set; } + public string? Remarks { get; set; } + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsGetListOutput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsGetListOutput.cs index 962cbe69..8fc101ba 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsGetListOutput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/PurchaseDetails/PurchaseDetailsGetListOutput.cs @@ -9,11 +9,11 @@ namespace Yi.Framework.DtoModel.ERP.PurchaseDetails { public class PurchaseDetailsGetListOutput: EntityDto { - public string MaterialName { get; set; } - public string MaterialUnit { get; set; } - public float UnitPrice { get; set; } - public long TotalNumber { get; set; } + public string MaterialName { get; set; }=string.Empty; + public string MaterialUnit { get; set; }=string.Empty ; + public float UnitPrice { get; set; } + public long TotalNumber { get; set; } public long CompleteNumber { get; set; } - public string Remarks { get; set; } + public string? Remarks { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Supplier/SupplierGetListInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Supplier/SupplierGetListInput.cs new file mode 100644 index 00000000..a7d7bbaa --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Supplier/SupplierGetListInput.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.ERP.Supplier +{ + public class SupplierGetListInput + { + public string Code { get; set; } = string.Empty; + public string Name { get; set; }= string.Empty; + public string? Address { get; set; } + public long? Phone { get; set; } + public string? Fax { get; set; } + public string? Email { get; set; } + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitCreateUpdateInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitCreateUpdateInput.cs index 693925b3..ac91855c 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitCreateUpdateInput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitCreateUpdateInput.cs @@ -10,8 +10,8 @@ namespace Yi.Framework.DtoModel.ERP.Unit { public class UnitCreateUpdateInput : EntityDto { - public string? Code { get; set; } - public string? Name { get; set; } + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty; public string? Remarks { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitGetListInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitGetListInput.cs new file mode 100644 index 00000000..577f47c8 --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitGetListInput.cs @@ -0,0 +1,16 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.ERP.Unit +{ + public class UnitGetListInput + { + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty; + public string? Remarks { get; set; } + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitGetListOutput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitGetListOutput.cs index ceef9916..ee9a58d6 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitGetListOutput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Unit/UnitGetListOutput.cs @@ -9,8 +9,8 @@ namespace Yi.Framework.DtoModel.ERP.Unit { public class UnitGetListOutput: EntityDto { - public string Code { get; set; } - public string Name { get; set; } - public string Remarks { get; set; } + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty; + public string? Remarks { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseCreateUpdateInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseCreateUpdateInput.cs index 07f3f49b..5d38fee9 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseCreateUpdateInput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseCreateUpdateInput.cs @@ -11,9 +11,9 @@ namespace Yi.Framework.DtoModel.ERP.Warehouse { public class WarehouseCreateUpdateInput : EntityDto { - public string? Code { get; set; } - public string? Name { get; set; } + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty ; public string? Remarks { get; set; } - public StateEnum? State { get; set; } + public StateEnum State { get; set; } = StateEnum.Normal; } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseGetListInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseGetListInput.cs new file mode 100644 index 00000000..982e4b3c --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseGetListInput.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Yi.Framework.Common.Enum; +using Yi.Framework.Model.Base; + +namespace Yi.Framework.DtoModel.ERP.Warehouse +{ + public class WarehouseGetListInput + { + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty ; + public string? Remarks { get; set; } + public StateEnum State { get; set; } = StateEnum.Normal; + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseGetListOutput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseGetListOutput.cs index 57c2d626..0aac115e 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseGetListOutput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/ERP/Warehouse/WarehouseGetListOutput.cs @@ -10,9 +10,9 @@ namespace Yi.Framework.DtoModel.ERP.Warehouse { public class WarehouseGetListOutput: EntityDto { - public string Code { get; set; } - public string Name { get; set; } - public string Remarks { get; set; } - public StateEnum State { get; set; } + public string Code { get; set; }=string.Empty; + public string Name { get; set; }=string.Empty ; + public string? Remarks { get; set; } + public StateEnum State { get; set; } = StateEnum.Normal; } } diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/MapperConfig/StudentProfile.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/MapperConfig/StudentProfile.cs deleted file mode 100644 index 75574923..00000000 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/MapperConfig/StudentProfile.cs +++ /dev/null @@ -1,22 +0,0 @@ -using AutoMapper; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Yi.Framework.Model.RABC.Entitys; - -namespace Yi.Framework.DtoModel.RABC.Student.MapperConfig -{ - public class StudentProfile : Profile - { - public StudentProfile() - { - CreateMap(); - CreateMap(); - CreateMap(); - CreateMap(); - CreateMap(); - } - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentCreateInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentCreateInput.cs deleted file mode 100644 index 8c40f254..00000000 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentCreateInput.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; - -namespace Yi.Framework.DtoModel.RABC.Student -{ - public class StudentCreateInput - { - public string Name { get; set; } - public string Remark { get; set; } - - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentCreateUpdateInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentCreateUpdateInput.cs deleted file mode 100644 index 040a6aa1..00000000 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentCreateUpdateInput.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; - -namespace Yi.Framework.DtoModel.RABC.Student -{ - public class StudentCreateUpdateInput - { - public string Name { get; set; } - public string Remark { get; set; } - - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentGetOutput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentGetOutput.cs deleted file mode 100644 index 37fb34c1..00000000 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentGetOutput.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Yi.Framework.Model.Base; - -namespace Yi.Framework.DtoModel.RABC.Student -{ - public class StudentGetOutput : EntityDto - { - public string Name { get; set; } - public string Remark { get; set; } - - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentListOutput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentListOutput.cs deleted file mode 100644 index 4fa11f1f..00000000 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentListOutput.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; -using Yi.Framework.Model.Base; - -namespace Yi.Framework.DtoModel.RABC.Student -{ - public class StudentListOutput : EntityDto - { - public string Name { get; set; } - public string Remark { get; set; } - - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentUpdateInput.cs b/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentUpdateInput.cs deleted file mode 100644 index 96978316..00000000 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/RABC/Student/StudentUpdateInput.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel.DataAnnotations; - -namespace Yi.Framework.DtoModel.RABC.Student -{ - public class StudentUpdateInput - { - public string Name { get; set; } - public string Remark { get; set; } - - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.DTOModel/Yi.Framework.DTOModel.csproj b/Yi.Framework.Net6/Yi.Framework.DTOModel/Yi.Framework.DTOModel.csproj index 5f0148bf..52794c21 100644 --- a/Yi.Framework.Net6/Yi.Framework.DTOModel/Yi.Framework.DTOModel.csproj +++ b/Yi.Framework.Net6/Yi.Framework.DTOModel/Yi.Framework.DTOModel.csproj @@ -7,6 +7,7 @@ + diff --git a/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Purchase/PurchaseUpdateInput.cs b/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Purchase/PurchaseUpdateInput.cs index 691d2b73..88f05610 100644 --- a/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Purchase/PurchaseUpdateInput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Purchase/PurchaseUpdateInput.cs @@ -11,9 +11,9 @@ namespace Yi.Framework.DtoModel.ERP.Purchase { public class PurchaseUpdateInput : EntityDto { - public string Code { get; set; } + public string? Code { get; set; } public DateTime NeedTime { get; set; } - public string Buyer { get; set; } + public string? Buyer { get; set; } public long TotalMoney { get; set; } public long PaidMoney { get; set; } public PurchaseStateEnum PurchaseState { get; set; } diff --git a/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Supplier/SupplierCreateUpdateInput.cs b/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Supplier/SupplierCreateUpdateInput.cs index 482804ad..440bfa7f 100644 --- a/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Supplier/SupplierCreateUpdateInput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Supplier/SupplierCreateUpdateInput.cs @@ -1,4 +1,4 @@ -using SqlSugar; +using SqlSugar; using System; using System.Collections.Generic; using System.Linq; @@ -10,32 +10,11 @@ namespace Yi.Framework.DtoModel.ERP.Supplier { public class SupplierCreateUpdateInput : EntityDto { - /// - /// 供应商编码 - /// - public string? Code { get; set; } - - /// - /// 供应商名称 - /// - public string? Name { get; set; } - - /// - /// 供应商地址 - /// + public string Code { get; set; } = string.Empty; + public string Name { get; set; }= string.Empty; public string? Address { get; set; } - - /// - /// 电话 - /// public long? Phone { get; set; } - /// - /// 传真 - /// public string? Fax { get; set; } - /// - /// 邮箱 - /// public string? Email { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Supplier/SupplierGetListOutput.cs b/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Supplier/SupplierGetListOutput.cs index 7513c005..188373e7 100644 --- a/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Supplier/SupplierGetListOutput.cs +++ b/Yi.Framework.Net6/Yi.Framework.DtoModel/ERP/Supplier/SupplierGetListOutput.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Linq; using System.Text; @@ -9,32 +9,11 @@ namespace Yi.Framework.DtoModel.ERP.Supplier { public class SupplierGetListOutput: EntityDto { - /// - /// 供应商编码 - /// - public string Code { get; set; } - - /// - /// 供应商名称 - /// - public string Name { get; set; } - - /// - /// 供应商地址 - /// - public string Address { get; set; } - - /// - /// 电话 - /// - public long Phone { get; set; } - /// - /// 传真 - /// - public string Fax { get; set; } - /// - /// 邮箱 - /// - public string Email { get; set; } + public string Code { get; set; } = string.Empty; + public string Name { get; set; }= string.Empty; + public string? Address { get; set; } + public long? Phone { get; set; } + public string? Fax { get; set; } + public string? Email { get; set; } } } diff --git a/Yi.Framework.Net6/Yi.Framework.DtoModel/RABC/Student/ConstConfig/StudentConst.cs b/Yi.Framework.Net6/Yi.Framework.DtoModel/RABC/Student/ConstConfig/StudentConst.cs deleted file mode 100644 index 0344a48f..00000000 --- a/Yi.Framework.Net6/Yi.Framework.DtoModel/RABC/Student/ConstConfig/StudentConst.cs +++ /dev/null @@ -1,14 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace Yi.Framework.DtoModel.RABC.Student.ConstConfig -{ - public class StudentConst - { - public const string 学生异常错误 = nameof(学生异常错误); - public const string 学生友好错误 = nameof(学生友好错误)+",状态码将返回200"; - } -} diff --git a/Yi.Framework.Net6/Yi.Framework.Interface/RABC/IStudentService.cs b/Yi.Framework.Net6/Yi.Framework.Interface/RABC/IStudentService.cs deleted file mode 100644 index a51c3275..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Interface/RABC/IStudentService.cs +++ /dev/null @@ -1,13 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Yi.Framework.DtoModel.RABC.Student; -using Yi.Framework.Interface.Base.Crud; - -namespace Yi.Framework.Interface.RABC -{ - public interface IStudentService : ICrudAppService - { - void GetError(); - } -} \ No newline at end of file diff --git a/Yi.Framework.Net6/Yi.Framework.Model/RABC/Entitys/StudentEntity.cs b/Yi.Framework.Net6/Yi.Framework.Model/RABC/Entitys/StudentEntity.cs deleted file mode 100644 index a56a52f2..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Model/RABC/Entitys/StudentEntity.cs +++ /dev/null @@ -1,20 +0,0 @@ -using SqlSugar; -using System; -using Yi.Framework.Model.Base; - -namespace Yi.Framework.Model.RABC.Entitys -{ - [SugarTable("Student")] - public class StudentEntity : IEntity, IMultiTenant - { - public string? Name { get; set; } - public string? Remark { get; set; } - - [SugarColumn(ColumnName = "Id", IsPrimaryKey = true)] - public Guid Id { get; set; } - - [SugarColumn(ColumnName = "TenantId")] - public Guid? TenantId { get; set; } - - } -} \ No newline at end of file diff --git a/Yi.Framework.Net6/Yi.Framework.Model/RABC/SeedData/MenuSeed.cs b/Yi.Framework.Net6/Yi.Framework.Model/RABC/SeedData/MenuSeed.cs index dbc3f6a7..92d7ce97 100644 --- a/Yi.Framework.Net6/Yi.Framework.Model/RABC/SeedData/MenuSeed.cs +++ b/Yi.Framework.Net6/Yi.Framework.Model/RABC/SeedData/MenuSeed.cs @@ -100,13 +100,13 @@ namespace Yi.Framework.Model.RABC.SeedData Entitys.Add(swagger); - //业务功能 - MenuEntity business = new MenuEntity() + //BBS + MenuEntity bbs = new MenuEntity() { Id = SnowFlakeSingle.Instance.NextId(), - MenuName = "业务功能", + MenuName = "BBS", MenuType = MenuTypeEnum.Catalogue.GetHashCode(), - Router = "/business", + Router = "/bbs", IsShow = true, IsLink = false, MenuIcon = "international", @@ -114,22 +114,22 @@ namespace Yi.Framework.Model.RABC.SeedData ParentId = 0, IsDeleted = false }; - Entitys.Add(business); + Entitys.Add(bbs); //文章管理 MenuEntity article = new MenuEntity() { Id = SnowFlakeSingle.Instance.NextId(), MenuName = "文章管理", - PermissionCode = "business:article:list", + PermissionCode = "bbs:article:list", MenuType = MenuTypeEnum.Menu.GetHashCode(), Router = "article", IsShow = true, IsLink = false, IsCache = true, - Component = "business/article/index", + Component = "bbs/article/index", MenuIcon = "education", OrderNum = 100, - ParentId = business.Id, + ParentId = bbs.Id, IsDeleted = false }; Entitys.Add(article); @@ -138,7 +138,7 @@ namespace Yi.Framework.Model.RABC.SeedData { Id = SnowFlakeSingle.Instance.NextId(), MenuName = "文章查询", - PermissionCode = "business:article:query", + PermissionCode = "bbs:article:query", MenuType = MenuTypeEnum.Component.GetHashCode(), OrderNum = 100, ParentId = article.Id, @@ -150,7 +150,7 @@ namespace Yi.Framework.Model.RABC.SeedData { Id = SnowFlakeSingle.Instance.NextId(), MenuName = "文章新增", - PermissionCode = "business:article:add", + PermissionCode = "bbs:article:add", MenuType = MenuTypeEnum.Component.GetHashCode(), OrderNum = 100, ParentId = article.Id, @@ -162,7 +162,7 @@ namespace Yi.Framework.Model.RABC.SeedData { Id = SnowFlakeSingle.Instance.NextId(), MenuName = "文章修改", - PermissionCode = "business:article:edit", + PermissionCode = "bbs:article:edit", MenuType = MenuTypeEnum.Component.GetHashCode(), OrderNum = 100, ParentId = article.Id, @@ -174,7 +174,7 @@ namespace Yi.Framework.Model.RABC.SeedData { Id = SnowFlakeSingle.Instance.NextId(), MenuName = "文章删除", - PermissionCode = "business:article:remove", + PermissionCode = "bbs:article:remove", MenuType = MenuTypeEnum.Component.GetHashCode(), OrderNum = 100, ParentId = article.Id, @@ -182,9 +182,364 @@ namespace Yi.Framework.Model.RABC.SeedData }; Entitys.Add(articleRemove); + //ERP + MenuEntity erp = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "ERP", + MenuType = MenuTypeEnum.Catalogue.GetHashCode(), + Router = "/erp", + IsShow = true, + IsLink = false, + MenuIcon = "international", + OrderNum = 96, + ParentId = 0, + IsDeleted = false + }; + Entitys.Add(erp); + //供应商定义 + MenuEntity supplier = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "供应商定义", + PermissionCode = "erp:supplier:list", + MenuType = MenuTypeEnum.Menu.GetHashCode(), + Router = "supplier", + IsShow = true, + IsLink = false, + IsCache = true, + Component = "erp/supplier/index", + MenuIcon = "education", + OrderNum = 100, + ParentId = erp.Id, + IsDeleted = false + }; + Entitys.Add(supplier); + + MenuEntity supplierQuery = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "供应商查询", + PermissionCode = "erp:supplier:query", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = supplier.Id, + IsDeleted = false + }; + Entitys.Add(supplierQuery); + + MenuEntity supplierAdd = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "供应商新增", + PermissionCode = "erp:supplier:add", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = supplier.Id, + IsDeleted = false + }; + Entitys.Add(supplierAdd); + + MenuEntity supplierEdit = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "供应商修改", + PermissionCode = "erp:supplier:edit", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = supplier.Id, + IsDeleted = false + }; + Entitys.Add(supplierEdit); + + MenuEntity supplierRemove = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "供应商删除", + PermissionCode = "erp:supplier:remove", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = supplier.Id, + IsDeleted = false + }; + Entitys.Add(supplierRemove); + + + //仓库定义 + MenuEntity warehouse = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "仓库定义", + PermissionCode = "erp:warehouse:list", + MenuType = MenuTypeEnum.Menu.GetHashCode(), + Router = "warehouse", + IsShow = true, + IsLink = false, + IsCache = true, + Component = "erp/warehouse/index", + MenuIcon = "education", + OrderNum = 100, + ParentId = erp.Id, + IsDeleted = false + }; + Entitys.Add(warehouse); + + MenuEntity warehouseQuery = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "仓库查询", + PermissionCode = "erp:warehouse:query", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = warehouse.Id, + IsDeleted = false + }; + Entitys.Add(warehouseQuery); + + MenuEntity warehouseAdd = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "仓库新增", + PermissionCode = "erp:warehouse:add", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = warehouse.Id, + IsDeleted = false + }; + Entitys.Add(warehouseAdd); + + MenuEntity warehouseEdit = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "仓库修改", + PermissionCode = "erp:warehouse:edit", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = warehouse.Id, + IsDeleted = false + }; + Entitys.Add(warehouseEdit); + + MenuEntity warehouseRemove = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "仓库删除", + PermissionCode = "erp:warehouse:remove", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = warehouse.Id, + IsDeleted = false + }; + Entitys.Add(warehouseRemove); + + + //单位定义 + MenuEntity unit = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "单位定义", + PermissionCode = "erp:unit:list", + MenuType = MenuTypeEnum.Menu.GetHashCode(), + Router = "unit", + IsShow = true, + IsLink = false, + IsCache = true, + Component = "erp/unit/index", + MenuIcon = "education", + OrderNum = 100, + ParentId = erp.Id, + IsDeleted = false + }; + Entitys.Add(unit); + + MenuEntity unitQuery = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "单位查询", + PermissionCode = "erp:unit:query", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = unit.Id, + IsDeleted = false + }; + Entitys.Add(unitQuery); + + MenuEntity unitAdd = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "单位新增", + PermissionCode = "erp:unit:add", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = unit.Id, + IsDeleted = false + }; + Entitys.Add(unitAdd); + + MenuEntity unitEdit = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "单位修改", + PermissionCode = "erp:unit:edit", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = unit.Id, + IsDeleted = false + }; + Entitys.Add(unitEdit); + + MenuEntity unitRemove = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "单位删除", + PermissionCode = "erp:unit:remove", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = unit.Id, + IsDeleted = false + }; + Entitys.Add(unitRemove); + + + //物料定义 + MenuEntity material = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "物料定义", + PermissionCode = "erp:material:list", + MenuType = MenuTypeEnum.Menu.GetHashCode(), + Router = "material", + IsShow = true, + IsLink = false, + IsCache = true, + Component = "erp/material/index", + MenuIcon = "education", + OrderNum = 100, + ParentId = erp.Id, + IsDeleted = false + }; + Entitys.Add(material); + + MenuEntity materialQuery = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "物料查询", + PermissionCode = "erp:material:query", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = material.Id, + IsDeleted = false + }; + Entitys.Add(materialQuery); + + MenuEntity materialAdd = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "物料新增", + PermissionCode = "erp:material:add", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = material.Id, + IsDeleted = false + }; + Entitys.Add(materialAdd); + + MenuEntity materialEdit = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "物料修改", + PermissionCode = "erp:material:edit", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = material.Id, + IsDeleted = false + }; + Entitys.Add(materialEdit); + + MenuEntity materialRemove = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "物料删除", + PermissionCode = "erp:material:remove", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = material.Id, + IsDeleted = false + }; + Entitys.Add(materialRemove); + + + //采购订单 + MenuEntity purchase = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "采购订单", + PermissionCode = "erp:purchase:list", + MenuType = MenuTypeEnum.Menu.GetHashCode(), + Router = "purchase", + IsShow = true, + IsLink = false, + IsCache = true, + Component = "erp/purchase/index", + MenuIcon = "education", + OrderNum = 100, + ParentId = erp.Id, + IsDeleted = false + }; + Entitys.Add(purchase); + + MenuEntity purchaseQuery = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "采购订单查询", + PermissionCode = "erp:purchase:query", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = purchase.Id, + IsDeleted = false + }; + Entitys.Add(purchaseQuery); + + MenuEntity purchaseAdd = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "采购订单新增", + PermissionCode = "erp:purchase:add", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = purchase.Id, + IsDeleted = false + }; + Entitys.Add(purchaseAdd); + + MenuEntity purchaseEdit = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "采购订单修改", + PermissionCode = "erp:purchase:edit", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = purchase.Id, + IsDeleted = false + }; + Entitys.Add(purchaseEdit); + + MenuEntity purchaseRemove = new MenuEntity() + { + Id = SnowFlakeSingle.Instance.NextId(), + MenuName = "采购订单删除", + PermissionCode = "erp:purchase:remove", + MenuType = MenuTypeEnum.Component.GetHashCode(), + OrderNum = 100, + ParentId = purchase.Id, + IsDeleted = false + }; + Entitys.Add(purchaseRemove); + + //Yi框架 MenuEntity guide = new MenuEntity() diff --git a/Yi.Framework.Net6/Yi.Framework.Service/RABC/StudentService.cs b/Yi.Framework.Net6/Yi.Framework.Service/RABC/StudentService.cs deleted file mode 100644 index a0fddf0a..00000000 --- a/Yi.Framework.Net6/Yi.Framework.Service/RABC/StudentService.cs +++ /dev/null @@ -1,47 +0,0 @@ -using AutoMapper; -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using Yi.Framework.Common.Exceptions; -using Yi.Framework.DtoModel.RABC.Student; -using Yi.Framework.DtoModel.RABC.Student.ConstConfig; -using Yi.Framework.Interface.RABC; -using Yi.Framework.Model.RABC.Entitys; -using Yi.Framework.Repository; -using Yi.Framework.Service.Base.Crud; - -namespace Yi.Framework.Service.RABC -{ - public class StudentService : CrudAppService, IStudentService - { - public void GetError() - { - throw new ApplicationException(StudentConst.学生异常错误); - } - public void GetError2() - { - throw new UserFriendlyException(StudentConst.学生友好错误); - } - - /// - /// 校验配置项是否已存在 - /// - /// - /// - /// - /// - //private async Task ValidateKeyAsync(string key, Guid? id = null) - //{ - // Expression> expression = e => e.Name == key; - // if (id.HasValue) - // { - // expression = expression.And(e => e.Id != id.Value); - // } - // var existsData = await Repository.GetListAsync(expression); - // if (existsData != null) - // { - // throw new UserFriendlyException(); - // } - //} - } -} \ No newline at end of file diff --git a/Yi.Framework.Net6/Yi.Framework.Template/Abstract/ModelTemplateProvider.cs b/Yi.Framework.Net6/Yi.Framework.Template/Abstract/ModelTemplateProvider.cs index 758cde8a..541867f4 100644 --- a/Yi.Framework.Net6/Yi.Framework.Template/Abstract/ModelTemplateProvider.cs +++ b/Yi.Framework.Net6/Yi.Framework.Template/Abstract/ModelTemplateProvider.cs @@ -15,7 +15,7 @@ namespace Yi.Framework.Template.Abstract AddIgnoreEntityField("Id", "TenantId"); } - private string entityPath; + private string entityPath=string.Empty; /// /// 实体路径,该类生成需要实体与模板两个同时构建成 diff --git a/Yi.Framework.Net6/Yi.Framework.WebCore/AspNetCoreExtensions/AutoMapperExtension.cs b/Yi.Framework.Net6/Yi.Framework.WebCore/AspNetCoreExtensions/AutoMapperExtension.cs index 11bc1c84..303667f0 100644 --- a/Yi.Framework.Net6/Yi.Framework.WebCore/AspNetCoreExtensions/AutoMapperExtension.cs +++ b/Yi.Framework.Net6/Yi.Framework.WebCore/AspNetCoreExtensions/AutoMapperExtension.cs @@ -3,7 +3,6 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using System; using System.IO; -using Yi.Framework.DtoModel.RABC.Student.MapperConfig; using Yi.Framework.WebCore.Mapper; namespace Yi.Framework.WebCore.AspNetCoreExtensions diff --git a/Yi.Vue3.X.RuoYi/src/api/system/dept.js b/Yi.Vue3.X.RuoYi/src/api/system/dept.js index cf28c932..a504f725 100644 --- a/Yi.Vue3.X.RuoYi/src/api/system/dept.js +++ b/Yi.Vue3.X.RuoYi/src/api/system/dept.js @@ -1,7 +1,7 @@ import request from '@/utils/request' // 查询部门列表 -export function listDept(query) { +export function listData(query) { return request({ url: '/dept/SelctGetList', method: 'get', @@ -18,7 +18,7 @@ export function listDept(query) { // } // 查询部门详细 -export function getDept(deptId) { +export function getData(deptId) { return request({ url: '/dept/getById/' + deptId, method: 'get' @@ -26,7 +26,7 @@ export function getDept(deptId) { } // 新增部门 -export function addDept(data) { +export function addData(data) { return request({ url: '/dept/add', method: 'post', @@ -35,7 +35,7 @@ export function addDept(data) { } // 修改部门 -export function updateDept(data) { +export function updateData(data) { return request({ url: '/dept/update', method: 'put', @@ -44,7 +44,7 @@ export function updateDept(data) { } // 删除部门 -export function delDept(deptId) { +export function delData(deptId) { if("string"==typeof(deptId)) { deptId=[deptId]; diff --git a/Yi.Vue3.X.RuoYi/src/views/system/dept/index.vue b/Yi.Vue3.X.RuoYi/src/views/system/dept/index.vue index b96bb81c..75dbdf55 100644 --- a/Yi.Vue3.X.RuoYi/src/views/system/dept/index.vue +++ b/Yi.Vue3.X.RuoYi/src/views/system/dept/index.vue @@ -8,10 +8,10 @@ v-show="showSearch" label-width="68px" > - + 新增 @@ -69,7 +69,7 @@ icon="Edit" :disabled="single" @click="handleUpdate" - v-hasPermi="['business:article:edit']" + v-hasPermi="['business:dept:edit']" >修改 @@ -80,7 +80,7 @@ icon="Delete" :disabled="multiple" @click="handleDelete" - v-hasPermi="['business:article:remove']" + v-hasPermi="['business:dept:remove']" >删除 @@ -90,7 +90,7 @@ plain icon="Download" @click="handleExport" - v-hasPermi="['business:article:export']" + v-hasPermi="['business:dept:export']" >导出 @@ -102,21 +102,21 @@ 文章详情部门详情 修改 删除 @@ -196,8 +196,8 @@ - - + + @@ -236,14 +236,14 @@ delData, addData, updateData, - } from "@/api/business/articleApi"; + } from "@/api/system/dept"; import { ref } from "@vue/reactivity"; import { computed } from "@vue/runtime-core"; const { proxy } = getCurrentInstance(); const { sys_normal_disable } = proxy.useDict("sys_normal_disable"); - const articleList = ref([]); + const deptList = ref([]); const open = ref(false); const loading = ref(true); const showSearch = ref(true); @@ -253,18 +253,18 @@ const total = ref(0); const title = ref(""); const dateRange = ref([]); - const articleDialogVisible=ref(false); - const articleId=ref(""); + const deptDialogVisible=ref(false); + const deptId=ref(""); const data = reactive({ form: {}, queryParams: { pageNum: 1, pageSize: 10, - title: undefined, + deptName: undefined, isDeleted: undefined, }, rules: { - title: [{ required: true, message: "文章标题不能为空", trigger: "blur" }], + deptName: [{ required: true, message: "部门标题不能为空", trigger: "blur" }], }, }); @@ -276,7 +276,7 @@ loading.value = true; listData(proxy.addDateRange(queryParams.value, dateRange.value)).then( (response) => { - articleList.value = response.data.data; + deptList.value = response.data.data; total.value = response.data.total; loading.value = false; } @@ -312,7 +312,7 @@ function handleAdd() { reset(); open.value = true; - title.value = "添加文章"; + title.value = "添加部门"; } /** 多选框选中数据 */ function handleSelectionChange(selection) { @@ -327,7 +327,7 @@ getData(id).then((response) => { form.value = response.data; open.value = true; - title.value = "修改文章类型"; + title.value = "修改部门类型"; }); } /** 提交按钮 */ @@ -354,7 +354,7 @@ function handleDelete(row) { const delIds = row.id || ids.value; proxy.$modal - .confirm('是否确认删除字典编号为"' + delIds + '"的数据项?') + .confirm('是否确认删除编号为"' + delIds + '"的数据项?') .then(function () { return delData(delIds); }) @@ -367,10 +367,10 @@ /** 导出按钮操作 */ function handleExport() {} - /** 打开文章详情 */ + /** 打开部门详情 */ function handleOpen(row){ - articleId.value=row.id; - articleDialogVisible.value=true; + deptId.value=row.id; + deptDialogVisible.value=true; } getList(); \ No newline at end of file diff --git a/Yi.Vue3.X.RuoYi/src/views/system/role/index.vue b/Yi.Vue3.X.RuoYi/src/views/system/role/index.vue index 3650904e..ecdff1c5 100644 --- a/Yi.Vue3.X.RuoYi/src/views/system/role/index.vue +++ b/Yi.Vue3.X.RuoYi/src/views/system/role/index.vue @@ -379,7 +379,7 @@ import { treeselect as menuTreeselect, listMenu, } from "@/api/system/menu"; -import { listDept, roleDeptTreeselect } from "@/api/system/dept"; +import { listData as listDept, roleDeptTreeselect } from "@/api/system/dept"; const router = useRouter(); const { proxy } = getCurrentInstance(); const { sys_normal_disable } = proxy.useDict("sys_normal_disable"); diff --git a/Yi.Vue3.X.RuoYi/src/views/system/user/index.vue b/Yi.Vue3.X.RuoYi/src/views/system/user/index.vue index 5946e12a..427006df 100644 --- a/Yi.Vue3.X.RuoYi/src/views/system/user/index.vue +++ b/Yi.Vue3.X.RuoYi/src/views/system/user/index.vue @@ -239,7 +239,7 @@ import { getToken } from "@/utils/auth"; import { changeUserStatus, listUser, resetUserPwd, delUser, getUser, updateUser, addUser } from "@/api/system/user"; import { roleOptionselect } from "@/api/system/role"; import { postOptionselect } from "@/api/system/post"; -import { listDept } from "@/api/system/dept"; +import { listData as listDept } from "@/api/system/dept"; const router = useRouter(); diff --git a/Yi.Vue3.x.RuoYi/src/api/business/articleApi.js b/Yi.Vue3.x.RuoYi/src/api/bbs/articleApi.js similarity index 100% rename from Yi.Vue3.x.RuoYi/src/api/business/articleApi.js rename to Yi.Vue3.x.RuoYi/src/api/bbs/articleApi.js diff --git a/Yi.Vue3.x.RuoYi/src/views/business/article/index.vue b/Yi.Vue3.x.RuoYi/src/views/bbs/article/index.vue similarity index 100% rename from Yi.Vue3.x.RuoYi/src/views/business/article/index.vue rename to Yi.Vue3.x.RuoYi/src/views/bbs/article/index.vue