From 52ef3a4f6afcc0bbcf1ebd7355df331ee775e883 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Mon, 12 Aug 2024 19:46:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=B7=A5=E8=89=BA=E8=B7=AF?= =?UTF-8?q?=E7=BA=BF=E6=9F=A5=E5=B7=A5=E4=BD=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MES/group/GroupPersonSkillController.cs | 26 ++++++++++++-- .../group/GroupPersonSkillMatrixService.cs | 34 +++++++++++++++++++ .../IGroupPersonSkillMatrixService.cs | 6 ++++ 3 files changed, 64 insertions(+), 2 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillController.cs b/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillController.cs index 6400804..3217cb8 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/group/GroupPersonSkillController.cs @@ -154,7 +154,29 @@ namespace DOAN.Admin.WebApi.Controllers return ToResponse(response); } #region 工艺路线 ---》工序---》工位---》技能 - //TODO 获取工艺路线与工序父子表 + + + + //TODO 获取工艺路线 + [HttpPost("get_route")] + public IActionResult GetWorkRouteList([FromBody] BaseWorkRouteQueryDto query) + { + if (query == null) { return SUCCESS(null); } + var response = _GroupPersonSkillService.GetWorkRouteList(query); + return SUCCESS(response); + } + + //TODO 获取工艺路线绑定的工位 + [HttpGet("get_workstation_by_route")] + public IActionResult GetWorkstationbyRoute(int route_id) + { + var response = _GroupPersonSkillService.GetWorkstationbyRoute(route_id); + return SUCCESS(response); + + } + + + //TODO 获取工艺路线与工序父子表(废弃) [HttpPost("route_process_parent_son")] public IActionResult RouteProcessParentSon([FromBody] BaseWorkRouteQueryDto query) { @@ -163,7 +185,7 @@ namespace DOAN.Admin.WebApi.Controllers return SUCCESS(response); } - //TODO 根据工序查工位 + //TODO 根据工序查工位(废弃) [HttpGet("workstation_by_process")] public IActionResult GetWorkstationList_byProccess(int workProcess_id) { diff --git a/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs b/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs index 7e9805d..dde3d13 100644 --- a/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs +++ b/DOAN.Service/MES/group/GroupPersonSkillMatrixService.cs @@ -15,6 +15,7 @@ using Aliyun.OSS; using DOAN.Model.MES.base_.Dto; using DOAN.Model.MES.base_; using Microsoft.IdentityModel.Tokens; +using Microsoft.AspNetCore.Mvc; namespace DOAN.Service.group { @@ -142,6 +143,39 @@ namespace DOAN.Service.group .Where(it => it.FkPersonId == person_id && it.FkSkillId == skill_id) .ExecuteCommand(); } + + /// + /// 获取工艺路线 + /// + /// + /// + public List GetWorkRouteList([FromBody] BaseWorkRouteQueryDto query) + { + List workRouteList = Context.Queryable() + .WhereIF(!string.IsNullOrEmpty(query.Name), it => it.Name.Contains(query.Name)) + .WhereIF(!string.IsNullOrEmpty(query.Code), it => it.Code.Contains(query.Code)) + .WhereIF(query.Status > 0, it => it.Status == query.Status) + .ToList(); + + return workRouteList; + + } + /// + /// 根据工艺路线查工位 + /// + /// + /// + public List GetWorkstationbyRoute(int route_id) + { + var query1 = Context.Queryable() + .Where(it => it.FkWorkRoute == route_id); + List workProcesses = Context.Queryable(query1).LeftJoin((q, p) => q.FkWorkProcesses == p.Id) + .Select((q, p) => p) + .ToList(); + int?[] filters= workProcesses.Select(it=>it.Id).ToArray(); + + return Context.Queryable().Where(it => filters.Contains(it.FkWorkProcesses)).ToList(); + } /// /// 获取工艺路线与工序父子表 /// diff --git a/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs b/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs index c74aff8..a3e3454 100644 --- a/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs +++ b/DOAN.Service/MES/group/IService/IGroupPersonSkillMatrixService.cs @@ -33,6 +33,12 @@ namespace DOAN.Service.group.IService + + + List GetWorkRouteList([FromBody] BaseWorkRouteQueryDto query); + + List GetWorkstationbyRoute(int route_id); + List RouteProcessParentSon(BaseWorkRouteQueryDto query); List GetWorkstationList_byProccess(int workProcess_id);