From a61d239125f258d802fb6cacc74ec004fb7e4b9d Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Mon, 12 Aug 2024 15:37:34 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BA=BA=E5=91=98=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E6=8A=80=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/GroupPersonSkillMatrixController.cs | 20 ++++++++++++++++++- .../group/GroupPersonSkillMatrixService.cs | 10 ++++++++++ .../IGroupPersonSkillMatrixService.cs | 4 ++++ 3 files changed, 33 insertions(+), 1 deletion(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillMatrixController.cs b/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillMatrixController.cs index 2ff8d92..5816757 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillMatrixController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillMatrixController.cs @@ -48,7 +48,7 @@ namespace DOAN.Admin.WebApi.Controllers public IActionResult GetGroupPersonSkillMatrix(string Id) { var response = _GroupPersonSkillMatrixService.GetInfo(Id); - + var info = response.Adapt(); return SUCCESS(info); } @@ -101,6 +101,24 @@ namespace DOAN.Admin.WebApi.Controllers return ToResponse(response); } + //TODO 人员绑定技能 + /// + /// 人员绑定技能 + /// + /// + /// + [HttpPost("person_bind_skill")] + public IActionResult PersonBindSkill([FromBody] GroupRelPersonSkill relPersonSkill) + { + if (relPersonSkill == null) + { + return SUCCESS(null); + } + relPersonSkill.ToCreate(HttpContext); + var response = _GroupPersonSkillMatrixService.PersonBindSkill(relPersonSkill); + return ToResponse(response); + + } diff --git a/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs b/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs index e1d53d4..afb239b 100644 --- a/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs +++ b/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs @@ -90,5 +90,15 @@ namespace DOAN.Service.group return Update(model, true); } + /// + /// 人员绑定技能 + /// + /// + /// + public int PersonBindSkill(GroupRelPersonSkill relPersonSkill) + { + return Context.Insertable(relPersonSkill).ExecuteCommand(); + } + } } \ No newline at end of file diff --git a/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs b/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs index e4bdc8b..42fa6b4 100644 --- a/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs +++ b/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs @@ -4,6 +4,8 @@ using DOAN.Model.Dto; using DOAN.Model.MES.group; using DOAN.Model.MES.group.Dto; using System.Collections.Generic; +using Microsoft.AspNetCore.Mvc; +using MimeKit.Tnef; namespace DOAN.Service.group.IService { @@ -20,5 +22,7 @@ namespace DOAN.Service.group.IService int UpdateGroupPersonSkillMatrix(GroupPersonSkill parm); + int PersonBindSkill(GroupRelPersonSkill relPersonSkill); + } } From 855233fff011df7f5628ee44cc36eaa5259ef4b1 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Mon, 12 Aug 2024 16:13:24 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BA=BA=E5=91=98=E8=AF=84=E4=BC=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../group/GroupPersonSkillMatrixController.cs | 54 ++++++++++++------- ...illMatrixDto.cs => GroupPersonSkillDto.cs} | 35 ++++++++++-- .../group/GroupPersonSkillMatrixService.cs | 44 +++++++++++---- .../IGroupPersonSkillMatrixService.cs | 13 +++-- 4 files changed, 110 insertions(+), 36 deletions(-) rename DOAN.Model/MES/group/Dto/{GroupPersonSkillMatrixDto.cs => GroupPersonSkillDto.cs} (52%) diff --git a/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillMatrixController.cs b/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillMatrixController.cs index 5816757..5889321 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillMatrixController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillMatrixController.cs @@ -12,16 +12,16 @@ namespace DOAN.Admin.WebApi.Controllers /// [Verify] [Route("mes/groupManagement/GroupPersonSkill")] - public class GroupPersonSkillMatrixController : BaseController + public class GroupPersonSkillController : BaseController { /// /// 人员技能矩阵图接口 /// - private readonly IGroupPersonSkillMatrixService _GroupPersonSkillMatrixService; + private readonly IGroupPersonSkillService _GroupPersonSkillService; - public GroupPersonSkillMatrixController(IGroupPersonSkillMatrixService GroupPersonSkillMatrixService) + public GroupPersonSkillController(IGroupPersonSkillService GroupPersonSkillService) { - _GroupPersonSkillMatrixService = GroupPersonSkillMatrixService; + _GroupPersonSkillService = GroupPersonSkillService; } /// @@ -31,9 +31,9 @@ namespace DOAN.Admin.WebApi.Controllers /// [HttpGet("list")] [ActionPermissionFilter(Permission = "groupManagement:GroupPersonSkill:list")] - public IActionResult QueryGroupPersonSkillMatrix([FromQuery] GroupPersonSkillMatrixQueryDto parm) + public IActionResult QueryGroupPersonSkill([FromQuery] GroupPersonSkillQueryDto parm) { - var response = _GroupPersonSkillMatrixService.GetList(parm); + var response = _GroupPersonSkillService.GetList(parm); return SUCCESS(response); } @@ -45,9 +45,9 @@ namespace DOAN.Admin.WebApi.Controllers /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "groupManagement:GroupPersonSkill:query")] - public IActionResult GetGroupPersonSkillMatrix(string Id) + public IActionResult GetGroupPersonSkill(string Id) { - var response = _GroupPersonSkillMatrixService.GetInfo(Id); + var response = _GroupPersonSkillService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); @@ -60,11 +60,11 @@ namespace DOAN.Admin.WebApi.Controllers [HttpPost] [ActionPermissionFilter(Permission = "groupManagement:GroupPersonSkill:add")] [Log(Title = "人员技能矩阵图", BusinessType = BusinessType.INSERT)] - public IActionResult AddGroupPersonSkillMatrix([FromBody] GroupPersonSkillMatrixDto parm) + public IActionResult AddGroupPersonSkill([FromBody] GroupPersonSkillDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); - var response = _GroupPersonSkillMatrixService.AddGroupPersonSkillMatrix(modal); + var response = _GroupPersonSkillService.AddGroupPersonSkill(modal); return SUCCESS(response); } @@ -76,10 +76,10 @@ namespace DOAN.Admin.WebApi.Controllers [HttpPut] [ActionPermissionFilter(Permission = "groupManagement:GroupPersonSkill:edit")] [Log(Title = "人员技能矩阵图", BusinessType = BusinessType.UPDATE)] - public IActionResult UpdateGroupPersonSkillMatrix([FromBody] GroupPersonSkillMatrixDto parm) + public IActionResult UpdateGroupPersonSkill([FromBody] GroupPersonSkillDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); - var response = _GroupPersonSkillMatrixService.UpdateGroupPersonSkillMatrix(modal); + var response = _GroupPersonSkillService.UpdateGroupPersonSkill(modal); return ToResponse(response); } @@ -91,31 +91,47 @@ namespace DOAN.Admin.WebApi.Controllers [HttpDelete("{ids}")] [ActionPermissionFilter(Permission = "groupManagement:GroupPersonSkill:delete")] [Log(Title = "人员技能矩阵图", BusinessType = BusinessType.DELETE)] - public IActionResult DeleteGroupPersonSkillMatrix(string ids) + public IActionResult DeleteGroupPersonSkill(string ids) { string[] idsArr = Tools.SpitStrArrary(ids); if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } - var response = _GroupPersonSkillMatrixService.Delete(idsArr); + var response = _GroupPersonSkillService.Delete(idsArr); return ToResponse(response); } + //TODO 获取人员已经拥有的技能 + [HttpGet("get_person_own_skills")] + public IActionResult GetPersonSkills(string person_id) + { + if (string.IsNullOrEmpty(person_id)) { return SUCCESS(null); } + var response = _GroupPersonSkillService.GetPersonSkills(person_id); + return SUCCESS(response); + } - //TODO 人员绑定技能 + //TODO 获取人员未拥有的技能 + [HttpGet("get_person_unown_skills")] + public IActionResult GetPersonUnownSkills(string person_id) + { + if (string.IsNullOrEmpty(person_id)) { return SUCCESS(null); } + var response = _GroupPersonSkillService.GetPersonUnownSkills(person_id); + return SUCCESS(response); + } + //TODO 人员技能评估 /// - /// 人员绑定技能 + /// 人员技能评估 /// /// /// - [HttpPost("person_bind_skill")] - public IActionResult PersonBindSkill([FromBody] GroupRelPersonSkill relPersonSkill) + [HttpPost("person_skill_assessment")] + public IActionResult PersonskillAssessment([FromBody] GroupRelPersonSkill relPersonSkill) { if (relPersonSkill == null) { return SUCCESS(null); } relPersonSkill.ToCreate(HttpContext); - var response = _GroupPersonSkillMatrixService.PersonBindSkill(relPersonSkill); + var response = _GroupPersonSkillService.PersonskillAssessment(relPersonSkill); return ToResponse(response); } diff --git a/DOAN.Model/MES/group/Dto/GroupPersonSkillMatrixDto.cs b/DOAN.Model/MES/group/Dto/GroupPersonSkillDto.cs similarity index 52% rename from DOAN.Model/MES/group/Dto/GroupPersonSkillMatrixDto.cs rename to DOAN.Model/MES/group/Dto/GroupPersonSkillDto.cs index f48c550..3e13e48 100644 --- a/DOAN.Model/MES/group/Dto/GroupPersonSkillMatrixDto.cs +++ b/DOAN.Model/MES/group/Dto/GroupPersonSkillDto.cs @@ -5,16 +5,16 @@ namespace DOAN.Model.MES.group.Dto /// /// 人员技能矩阵图查询对象 /// - public class GroupPersonSkillMatrixQueryDto : PagerInfo + public class GroupPersonSkillQueryDto : PagerInfo { public string SkillName { get; set; } public int? Status { get; set; } } /// - /// 人员技能矩阵图输入输出对象 + /// 人员技能输入输出对象 /// - public class GroupPersonSkillMatrixDto + public class GroupPersonSkillDto { [Required(ErrorMessage = "雪花不能为空")] public string Id { get; set; } @@ -39,5 +39,34 @@ namespace DOAN.Model.MES.group.Dto + } + + public class GroupPersonSkillDto2 + { + [Required(ErrorMessage = "雪花不能为空")] + public string Id { get; set; } + + public string SkillName { get; set; } + + public int score { get; set; } + + public string Image { get; set; } + + public string Vedio { get; set; } + + public string Remark { get; set; } + + public int? Status { get; set; } + + public string CreatedBy { get; set; } + + public DateTime? CreatedTime { get; set; } + + public string UpdatedBy { get; set; } + + public DateTime? UpdatedTime { get; set; } + + + } } \ No newline at end of file diff --git a/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs b/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs index afb239b..fcb5eaf 100644 --- a/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs +++ b/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs @@ -9,21 +9,23 @@ using DOAN.Model.MES.group.Dto; using DOAN.Repository; using DOAN.Service.group.IService; using System.Linq; +using NPOI.SS.Formula.Functions; +using NPOI.XSSF.UserModel; namespace DOAN.Service.group { /// /// 人员技能矩阵图Service业务层处理 /// - [AppService(ServiceType = typeof(IGroupPersonSkillMatrixService), ServiceLifetime = LifeTime.Transient)] - public class GroupPersonSkillMatrixService : BaseService, IGroupPersonSkillMatrixService + [AppService(ServiceType = typeof(IGroupPersonSkillService), ServiceLifetime = LifeTime.Transient)] + public class GroupPersonSkillService : BaseService, IGroupPersonSkillService { /// /// 查询人员技能矩阵图列表 /// /// /// - public PagedInfo GetList(GroupPersonSkillMatrixQueryDto parm) + public PagedInfo GetList(GroupPersonSkillQueryDto parm) { var predicate = Expressionable.Create() .AndIF(!string.IsNullOrEmpty(parm.SkillName),it=>it.SkillName.Contains(parm.SkillName)) @@ -33,7 +35,7 @@ namespace DOAN.Service.group var response = Queryable() .Where(predicate.ToExpression()) - .ToPage(parm); + .ToPage(parm); return response; } @@ -58,7 +60,7 @@ namespace DOAN.Service.group /// /// /// - public GroupPersonSkill AddGroupPersonSkillMatrix(GroupPersonSkill model) + public GroupPersonSkill AddGroupPersonSkill(GroupPersonSkill model) { if(string.IsNullOrEmpty(model.Id)) { @@ -72,7 +74,7 @@ namespace DOAN.Service.group /// /// /// - public int UpdateGroupPersonSkillMatrix(GroupPersonSkill model) + public int UpdateGroupPersonSkill(GroupPersonSkill model) { //var response = Update(w => w.Id == model.Id, it => new GroupPersonSkill() //{ @@ -91,13 +93,37 @@ namespace DOAN.Service.group } /// - /// 人员绑定技能 + /// 人员技能评估 /// /// /// - public int PersonBindSkill(GroupRelPersonSkill relPersonSkill) + public int PersonskillAssessment(GroupRelPersonSkill relPersonSkill) { - return Context.Insertable(relPersonSkill).ExecuteCommand(); + return Context.Storageable(relPersonSkill).ExecuteCommand(); + + } + + //获取人员已经拥有的技能 + public List GetPersonSkills(string person_id) + { + var query = Context.Queryable().Where(it => it.FkPersonId == person_id); + return Context.Queryable(query).LeftJoin((rel,s)=>rel.FkSkillId==s.Id) + .Select((rel,s)=>new GroupPersonSkillDto2() { score=rel.Score.Value},true) + .ToList(); + + + + } + //获取人员没有拥有的技能 + public List GetPersonUnownSkills(string person_id) + { + var query = Context.Queryable().Where(it => it.FkPersonId == person_id); + return Context.Queryable(query).LeftJoin((rel, s) => rel.FkSkillId != s.Id) + .Select((rel, s) => s) + .Distinct() + .ToList(); + + } } diff --git a/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs b/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs index 42fa6b4..97a8a08 100644 --- a/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs +++ b/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs @@ -12,17 +12,20 @@ namespace DOAN.Service.group.IService /// /// 人员技能矩阵图service接口 /// - public interface IGroupPersonSkillMatrixService : IBaseService + public interface IGroupPersonSkillService : IBaseService { - PagedInfo GetList(GroupPersonSkillMatrixQueryDto parm); + PagedInfo GetList(GroupPersonSkillQueryDto parm); GroupPersonSkill GetInfo(string Id); - GroupPersonSkill AddGroupPersonSkillMatrix(GroupPersonSkill parm); + GroupPersonSkill AddGroupPersonSkill(GroupPersonSkill parm); - int UpdateGroupPersonSkillMatrix(GroupPersonSkill parm); + int UpdateGroupPersonSkill(GroupPersonSkill parm); - int PersonBindSkill(GroupRelPersonSkill relPersonSkill); + int PersonskillAssessment(GroupRelPersonSkill relPersonSkill); + + List GetPersonSkills(string person_id); + List GetPersonUnownSkills(string person_id); } }