查询班组未绑定的人员 ,修正
This commit is contained in:
@@ -163,13 +163,13 @@ namespace DOAN.Admin.WebApi.Controllers
|
||||
/// <param name="group_code">班组id</param>
|
||||
/// <returns></returns>
|
||||
[HttpGet("list_person_bind")]
|
||||
public IActionResult SearchPerson_group_bind(string group_code)
|
||||
public IActionResult SearchPerson_group_bind(DateTime schedule_date, string group_code)
|
||||
{
|
||||
if (string.IsNullOrEmpty(group_code))
|
||||
{
|
||||
return SUCCESS(null);
|
||||
}
|
||||
var response = _GroupScheduleService.SearchPerson_group_bind(group_code);
|
||||
var response = _GroupScheduleService.SearchPerson_group_bind(schedule_date.Date,group_code);
|
||||
|
||||
return SUCCESS(response);
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@ namespace DOAN.Model.MES.group.Dto
|
||||
}
|
||||
public class GroupScheduleQueryDto3 : PagerInfo
|
||||
{
|
||||
public DateTime ScheduleDate { get; set; }
|
||||
public string group_code { get; set; }
|
||||
public string WorkNum { get; set; }
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@ using Microsoft.AspNetCore.Http.HttpResults;
|
||||
using MimeKit.Tnef;
|
||||
using System.Collections.Generic;
|
||||
using DOAN.Model.MES.base_;
|
||||
using Mapster;
|
||||
|
||||
namespace DOAN.Service.Business
|
||||
{
|
||||
@@ -107,21 +108,31 @@ namespace DOAN.Service.Business
|
||||
/// <summary>
|
||||
/// 查询班组绑定的人员
|
||||
/// </summary>
|
||||
/// <param name="group_code"></param>
|
||||
/// <param name="schedule_date">排班日期</param>
|
||||
/// <param name="group_code">排班线别</param>
|
||||
/// <returns></returns>
|
||||
public List<GroupPersonDto> SearchPerson_group_bind(string group_code)
|
||||
public List<GroupPersonDto> SearchPerson_group_bind(DateTime schedule_date, string group_code)
|
||||
{
|
||||
var query = Context.Queryable<GroupRelPersonGroup>()
|
||||
.LeftJoin<GroupPerson>((rel, p) => rel.FkPersonId == p.Id)
|
||||
//var query = Context.Queryable<GroupRelPersonGroup>()
|
||||
// .LeftJoin<GroupPerson>((rel, p) => rel.FkPersonId == p.Id)
|
||||
// .Where((rel, p) => rel.GroupCode == group_code)
|
||||
// .Where((rel, p) => rel.ScheduleDate == schedule_date)
|
||||
// .Where((rel, p) => p.Status == 1)
|
||||
// .Select((rel, p) => p);
|
||||
|
||||
|
||||
//return Context.Queryable(query)
|
||||
// .LeftJoin<GroupPost>((q, p) => q.FkPost == p.Id)
|
||||
// .Select((q, p) => new GroupPersonDto { PostName = p.PostName }, true)
|
||||
// .ToList();
|
||||
|
||||
return Context.Queryable<GroupRelPersonGroup>().LeftJoin<GroupPerson>((rel,p)=>rel.FkPersonId==p.Id)
|
||||
.Where((rel, p) => rel.GroupCode == group_code)
|
||||
.Where((rel, p) => p.Status == 1)
|
||||
.Select((rel, p) => p);
|
||||
|
||||
|
||||
return Context.Queryable(query)
|
||||
.LeftJoin<GroupPost>((q, p) => q.FkPost == p.Id)
|
||||
.Select((q, p) => new GroupPersonDto { PostName = p.PostName }, true)
|
||||
.ToList();
|
||||
.Where((rel, p) => rel.ScheduleDate == schedule_date)
|
||||
.Select((rel, p) => p)
|
||||
.ToList()
|
||||
.Adapt<List<GroupPersonDto>>()
|
||||
;
|
||||
|
||||
|
||||
}
|
||||
@@ -141,24 +152,43 @@ namespace DOAN.Service.Business
|
||||
//查询排班所有绑定的人员
|
||||
|
||||
// 查询排班内所有未绑定人员
|
||||
var query = Context.Queryable<GroupPerson>().Where(it => SqlFunc.Subqueryable<GroupRelPersonGroup>()
|
||||
//var query = Context.Queryable<GroupPerson>().Where(it => SqlFunc.Subqueryable<GroupRelPersonGroup>()
|
||||
// .LeftJoin<GroupPerson>((rel, p) => rel.FkPersonId == p.Id)
|
||||
// .Where((rel, p) => p.Status == 1)
|
||||
// .Where((rel, p) => SqlFunc.Subqueryable<GroupSchedule>()
|
||||
// .Where(it => it.ScheduleDate == SqlFunc.Subqueryable<GroupSchedule>()
|
||||
// .Where(it => it.Id == parm.group_code)
|
||||
// .Select(it => it.ScheduleDate))
|
||||
// .Where(it => it.Id == rel.GroupCode)
|
||||
// .Any())
|
||||
// .Where((rel, p) => p.Id == it.Id)
|
||||
// .NotAny());
|
||||
|
||||
|
||||
//return Context.Queryable(query)
|
||||
// .LeftJoin<GroupPost>((q, p) => q.FkPost == p.Id)
|
||||
// .Where((q, p) => q.Status == 1)
|
||||
// .WhereIF(!string.IsNullOrEmpty(parm.WorkNum), (q, p) => q.WorkNum.Contains(parm.WorkNum))
|
||||
// .WhereIF(!string.IsNullOrEmpty(parm.Name), (q, p) => q.Name.Contains(parm.Name))
|
||||
// .WhereIF(!string.IsNullOrEmpty(parm.FkPost), (q, p) => q.FkPost == parm.FkPost)
|
||||
// .Select((q, p) => new GroupPersonDto { PostName = p.PostName }, true)
|
||||
// .ToPage<GroupPersonDto, GroupPersonDto>(parm);
|
||||
|
||||
parm.ScheduleDate= parm.ScheduleDate.Date;
|
||||
// 1. 查询已绑定的人员ID列表
|
||||
var PersonList = Context.Queryable<GroupRelPersonGroup>()
|
||||
.LeftJoin<GroupPerson>((rel, p) => rel.FkPersonId == p.Id)
|
||||
.Where((rel, p) => p.Status == 1)
|
||||
.Where((rel, p) => SqlFunc.Subqueryable<GroupSchedule>().Where(it => it.ScheduleDate == SqlFunc.Subqueryable<GroupSchedule>()
|
||||
.Where(it => it.Id == parm.group_code)
|
||||
.Select(it => it.ScheduleDate)).Where(it => it.Id == rel.GroupCode).Any()).Where((rel, p) => p.Id == it.Id).NotAny());
|
||||
|
||||
|
||||
return Context.Queryable(query)
|
||||
.LeftJoin<GroupPost>((q, p) => q.FkPost == p.Id)
|
||||
.Where((q, p) => q.Status == 1)
|
||||
.WhereIF(!string.IsNullOrEmpty(parm.WorkNum), (q, p) => q.WorkNum.Contains(parm.WorkNum))
|
||||
.WhereIF(!string.IsNullOrEmpty(parm.Name), (q, p) => q.Name.Contains(parm.Name))
|
||||
.WhereIF(!string.IsNullOrEmpty(parm.FkPost), (q, p) => q.FkPost == parm.FkPost)
|
||||
.Select((q, p) => new GroupPersonDto { PostName = p.PostName }, true)
|
||||
.ToPage<GroupPersonDto, GroupPersonDto>(parm);
|
||||
.Where((rel, p) => rel.GroupCode == parm.group_code)
|
||||
.Where((rel, p) => rel.ScheduleDate == parm.ScheduleDate)
|
||||
.Select((rel, p) => p.Id)
|
||||
.ToList();
|
||||
|
||||
// 2. 查询未绑定的人员列表
|
||||
var unboundPersons = Context.Queryable<GroupPerson>()
|
||||
.Where(x => !PersonList.Contains(x.Id))
|
||||
.ToPage<GroupPerson, GroupPersonDto>(parm);
|
||||
|
||||
return unboundPersons;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace DOAN.Service.group.IService
|
||||
|
||||
PagedInfo<GroupScheduleDto> ListGroupByDate(GroupScheduleQueryDto2 query);
|
||||
|
||||
List<GroupPersonDto> SearchPerson_group_bind(string group_code);
|
||||
List<GroupPersonDto> SearchPerson_group_bind(DateTime schedule_date, string group_code);
|
||||
PagedInfo<GroupPersonDto> SearchPerson_group_bind_No(GroupScheduleQueryDto3 parm);
|
||||
|
||||
List<BaseGroup> GetALLGroup(string group_code,string group_name);
|
||||
|
||||
Reference in New Issue
Block a user