From 18e37aa55a7d4a1bf8abf87e6750dd1f22ddbd14 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Thu, 11 Jul 2024 14:25:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=9C=AA=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E7=9A=84=E5=B7=A5=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MES/base/BaseWorkProcessesController.cs | 2 +- .../MES/base/BaseWorkRouteController.cs | 7 +++ .../MES/base/Dto/BaseWorkProcessesDto.cs | 10 ++++ .../MES/base/BaseWorkProcessesService.cs | 47 ++++++++++++++----- .../IService/IBaseWorkProcessesService.cs | 2 +- 5 files changed, 54 insertions(+), 14 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/base/BaseWorkProcessesController.cs b/DOAN.Admin.WebApi/Controllers/MES/base/BaseWorkProcessesController.cs index cdb788f..d6244fa 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/base/BaseWorkProcessesController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/base/BaseWorkProcessesController.cs @@ -44,7 +44,7 @@ namespace DOAN.Admin.WebApi.Controllers /// /// [HttpPost("list_no_bind")] - public IActionResult QueryBaseWorkRoute_No_bind([FromBody] BaseWorkProcessesQueryDto parm) + public IActionResult QueryBaseWorkRoute_No_bind([FromBody] BaseWorkProcessesQueryDto2 parm) { var response = _BaseWorkProcessesService.GetList_No_bind(parm); return SUCCESS(response); diff --git a/DOAN.Admin.WebApi/Controllers/MES/base/BaseWorkRouteController.cs b/DOAN.Admin.WebApi/Controllers/MES/base/BaseWorkRouteController.cs index dbeb4b7..d949978 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/base/BaseWorkRouteController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/base/BaseWorkRouteController.cs @@ -102,5 +102,12 @@ namespace DOAN.Admin.WebApi.Controllers return ToResponse(response); } + + + //[HttpPost(route_bind_proccess)] + //public IActionResult ParseRouteBindProccess() + //{ + + //} } } diff --git a/DOAN.Model/MES/base/Dto/BaseWorkProcessesDto.cs b/DOAN.Model/MES/base/Dto/BaseWorkProcessesDto.cs index f3390e4..7bd319b 100644 --- a/DOAN.Model/MES/base/Dto/BaseWorkProcessesDto.cs +++ b/DOAN.Model/MES/base/Dto/BaseWorkProcessesDto.cs @@ -12,6 +12,16 @@ namespace DOAN.Model.MES.base_.Dto public int? Status { get; set; } public string DictWorkType { get; set; } } + public class BaseWorkProcessesQueryDto2 + { + public string Name { get; set; } + + public int? Status { get; set; } + public string DictWorkType { get; set; } + + + public int RouteID { get; set; } + } /// /// 生产工序输入输出对象 diff --git a/DOAN.Service/MES/base/BaseWorkProcessesService.cs b/DOAN.Service/MES/base/BaseWorkProcessesService.cs index b93e133..79621b9 100644 --- a/DOAN.Service/MES/base/BaseWorkProcessesService.cs +++ b/DOAN.Service/MES/base/BaseWorkProcessesService.cs @@ -9,6 +9,8 @@ using DOAN.Repository; using DOAN.Service.MES.base_.IService; using System.Linq; using Mapster; +using Microsoft.AspNetCore.Routing; +using Org.BouncyCastle.Ocsp; namespace DOAN.Service.Business { @@ -43,19 +45,40 @@ namespace DOAN.Service.Business /// /// /// - public List GetList_No_bind(BaseWorkProcessesQueryDto parm) + public List GetList_No_bind(BaseWorkProcessesQueryDto2 parm) { - var predicate = Expressionable.Create() - .AndIF(!string.IsNullOrEmpty(parm.Name), (w, r) => w.Name.Contains(parm.Name)) - .AndIF(!string.IsNullOrEmpty(parm.DictWorkType), (w, r) => w.DictWorkType.Contains(parm.DictWorkType)) - .And((w, r) => r.FkWorkProcesses == null&&w.Status==1) - ; - - return Context.Queryable() - .InnerJoin((w,r)=>w.Id==r.FkWorkProcesses) - .Where(predicate.ToExpression()) - .Distinct() - .Select((w,r)=>w).ToList().Adapt>(); + //获取工艺流程绑定的工序 + //1 获取 + var q11 = Context.Queryable().Where(it => it.Id == parm.RouteID); + + int[] workProcessesArray= Context.Queryable(q11).LeftJoin((route,rel)=> route.Id== rel.FkWorkProcesses) + // .LeftJoin((route, rel,pro)=>rel.FkWorkProcesses==pro.Id) + .Select((route, rel)=>rel.FkWorkProcesses) + .ToArray(); + + + // 在工序中排除 + + return Context + .Queryable() + .Where(it=>!workProcessesArray.Contains(it.Id.Value)) + .WhereIF(!string.IsNullOrEmpty(parm.Name),it => it.Name.Contains(parm.Name)) + .WhereIF(!string.IsNullOrEmpty(parm.DictWorkType), it =>it.DictWorkType.Contains(parm.DictWorkType)) + .Adapt>() + .ToList(); + //var predicate = Expressionable.Create() + // .AndIF(!string.IsNullOrEmpty(parm.Name), (w, r) => w.Name.Contains(parm.Name)) + // .AndIF(!string.IsNullOrEmpty(parm.DictWorkType), (w, r) => w.DictWorkType.Contains(parm.DictWorkType)) + // .And((w, r) => r.FkWorkProcesses == null&&w.Status==1) + // ; + + // return Context.Queryable() + // .InnerJoin((w,r)=>w.Id==r.FkWorkProcesses) + // .Where(predicate.ToExpression()) + // .Distinct() + // .Select((w,r)=>w) + // .ToList() + // .Adapt>(); } diff --git a/DOAN.Service/MES/base/IService/IBaseWorkProcessesService.cs b/DOAN.Service/MES/base/IService/IBaseWorkProcessesService.cs index 2564dc2..ef40205 100644 --- a/DOAN.Service/MES/base/IService/IBaseWorkProcessesService.cs +++ b/DOAN.Service/MES/base/IService/IBaseWorkProcessesService.cs @@ -14,7 +14,7 @@ namespace DOAN.Service.MES.base_.IService PagedInfo GetList(BaseWorkProcessesQueryDto parm); - List GetList_No_bind(BaseWorkProcessesQueryDto parm); + List GetList_No_bind(BaseWorkProcessesQueryDto2 parm); BaseWorkProcesses GetInfo(int Id);