diff --git a/DOAN.Admin.WebApi/Controllers/MES/Group/GroupScheduleController.cs b/DOAN.Admin.WebApi/Controllers/MES/Group/GroupScheduleController.cs
index 363dde9..de4cd63 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/Group/GroupScheduleController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/Group/GroupScheduleController.cs
@@ -163,13 +163,13 @@ namespace DOAN.Admin.WebApi.Controllers
/// 班组id
///
[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);
}
diff --git a/DOAN.Model/MES/Group/Dto/GroupScheduleDto.cs b/DOAN.Model/MES/Group/Dto/GroupScheduleDto.cs
index 893b332..6085c80 100644
--- a/DOAN.Model/MES/Group/Dto/GroupScheduleDto.cs
+++ b/DOAN.Model/MES/Group/Dto/GroupScheduleDto.cs
@@ -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; }
diff --git a/DOAN.Service/MES/Group/GroupScheduleService.cs b/DOAN.Service/MES/Group/GroupScheduleService.cs
index 564e4ba..c773862 100644
--- a/DOAN.Service/MES/Group/GroupScheduleService.cs
+++ b/DOAN.Service/MES/Group/GroupScheduleService.cs
@@ -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
///
/// 查询班组绑定的人员
///
- ///
+ /// 排班日期
+ /// 排班线别
///
- public List SearchPerson_group_bind(string group_code)
+ public List SearchPerson_group_bind(DateTime schedule_date, string group_code)
{
- var query = Context.Queryable()
- .LeftJoin((rel, p) => rel.FkPersonId == p.Id)
- .Where((rel, p) => rel.GroupCode == group_code)
- .Where((rel, p) => p.Status == 1)
- .Select((rel, p) => p);
+ //var query = Context.Queryable()
+ // .LeftJoin((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((q, p) => q.FkPost == p.Id)
- .Select((q, p) => new GroupPersonDto { PostName = p.PostName }, true)
- .ToList();
+ //return Context.Queryable(query)
+ // .LeftJoin((q, p) => q.FkPost == p.Id)
+ // .Select((q, p) => new GroupPersonDto { PostName = p.PostName }, true)
+ // .ToList();
+
+ return Context.Queryable().LeftJoin((rel,p)=>rel.FkPersonId==p.Id)
+ .Where((rel, p) => rel.GroupCode == group_code)
+ .Where((rel, p) => rel.ScheduleDate == schedule_date)
+ .Select((rel, p) => p)
+ .ToList()
+ .Adapt>()
+ ;
}
@@ -141,24 +152,43 @@ namespace DOAN.Service.Business
//查询排班所有绑定的人员
// 查询排班内所有未绑定人员
- var query = Context.Queryable().Where(it => SqlFunc.Subqueryable()
- .LeftJoin((rel, p) => rel.FkPersonId == p.Id)
- .Where((rel, p) => p.Status == 1)
- .Where((rel, p) => SqlFunc.Subqueryable().Where(it => it.ScheduleDate == SqlFunc.Subqueryable()
- .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());
+ //var query = Context.Queryable().Where(it => SqlFunc.Subqueryable()
+ // .LeftJoin((rel, p) => rel.FkPersonId == p.Id)
+ // .Where((rel, p) => p.Status == 1)
+ // .Where((rel, p) => SqlFunc.Subqueryable()
+ // .Where(it => it.ScheduleDate == SqlFunc.Subqueryable()
+ // .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((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(parm);
+ //return Context.Queryable(query)
+ // .LeftJoin((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(parm);
+ parm.ScheduleDate= parm.ScheduleDate.Date;
+ // 1. 查询已绑定的人员ID列表
+ var PersonList = Context.Queryable()
+ .LeftJoin((rel, p) => rel.FkPersonId == p.Id)
+ .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()
+ .Where(x => !PersonList.Contains(x.Id))
+ .ToPage(parm);
+
+ return unboundPersons;
}
diff --git a/DOAN.Service/MES/Group/IService/IGroupScheduleService.cs b/DOAN.Service/MES/Group/IService/IGroupScheduleService.cs
index faae285..e0f5ae8 100644
--- a/DOAN.Service/MES/Group/IService/IGroupScheduleService.cs
+++ b/DOAN.Service/MES/Group/IService/IGroupScheduleService.cs
@@ -24,7 +24,7 @@ namespace DOAN.Service.group.IService
PagedInfo ListGroupByDate(GroupScheduleQueryDto2 query);
- List SearchPerson_group_bind(string group_code);
+ List SearchPerson_group_bind(DateTime schedule_date, string group_code);
PagedInfo SearchPerson_group_bind_No(GroupScheduleQueryDto3 parm);
List GetALLGroup(string group_code,string group_name);