查询未绑定的工序

This commit is contained in:
qianhao.xu 2024-07-11 14:25:41 +08:00
parent 508b4e504a
commit 18e37aa55a
5 changed files with 54 additions and 14 deletions

View File

@ -44,7 +44,7 @@ namespace DOAN.Admin.WebApi.Controllers
/// <param name="parm"></param>
/// <returns></returns>
[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);

View File

@ -102,5 +102,12 @@ namespace DOAN.Admin.WebApi.Controllers
return ToResponse(response);
}
//[HttpPost(route_bind_proccess)]
//public IActionResult ParseRouteBindProccess()
//{
//}
}
}

View File

@ -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; }
}
/// <summary>
/// 生产工序输入输出对象

View File

@ -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
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public List<BaseWorkProcessesDto> GetList_No_bind(BaseWorkProcessesQueryDto parm)
public List<BaseWorkProcessesDto> GetList_No_bind(BaseWorkProcessesQueryDto2 parm)
{
var predicate = Expressionable.Create<BaseWorkProcesses, BaseRelWorkRouteProcesses>()
.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<BaseWorkProcesses>()
.InnerJoin<BaseRelWorkRouteProcesses>((w,r)=>w.Id==r.FkWorkProcesses)
.Where(predicate.ToExpression())
.Distinct()
.Select((w,r)=>w).ToList().Adapt<List<BaseWorkProcessesDto>>();
//获取工艺流程绑定的工序
//1 获取
var q11 = Context.Queryable<BaseWorkRoute>().Where(it => it.Id == parm.RouteID);
int[] workProcessesArray= Context.Queryable(q11).LeftJoin<BaseRelWorkRouteProcesses>((route,rel)=> route.Id== rel.FkWorkProcesses)
// .LeftJoin<BaseWorkProcesses>((route, rel,pro)=>rel.FkWorkProcesses==pro.Id)
.Select((route, rel)=>rel.FkWorkProcesses)
.ToArray();
// 在工序中排除
return Context
.Queryable<BaseWorkProcesses>()
.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<List<BaseWorkProcessesDto>>()
.ToList();
//var predicate = Expressionable.Create<BaseWorkProcesses, BaseRelWorkRouteProcesses>()
// .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<BaseWorkProcesses>()
// .InnerJoin<BaseRelWorkRouteProcesses>((w,r)=>w.Id==r.FkWorkProcesses)
// .Where(predicate.ToExpression())
// .Distinct()
// .Select((w,r)=>w)
// .ToList()
// .Adapt<List<BaseWorkProcessesDto>>();
}

View File

@ -14,7 +14,7 @@ namespace DOAN.Service.MES.base_.IService
PagedInfo<BaseWorkProcessesDto> GetList(BaseWorkProcessesQueryDto parm);
List<BaseWorkProcessesDto> GetList_No_bind(BaseWorkProcessesQueryDto parm);
List<BaseWorkProcessesDto> GetList_No_bind(BaseWorkProcessesQueryDto2 parm);
BaseWorkProcesses GetInfo(int Id);