diff --git a/DOAN.Admin.WebApi/Controllers/MES/group/GroupScheduleController.cs b/DOAN.Admin.WebApi/Controllers/MES/group/GroupScheduleController.cs
index afb6cee..c6a4d27 100644
--- a/DOAN.Admin.WebApi/Controllers/MES/group/GroupScheduleController.cs
+++ b/DOAN.Admin.WebApi/Controllers/MES/group/GroupScheduleController.cs
@@ -252,7 +252,6 @@ namespace DOAN.Admin.WebApi.Controllers
///
/// 要排的日期
/// -2 已有数据不可复制 -1 前一天无数据无法复制 >=1 复制的数量
- ///
[HttpGet("CopyGroup")]
public IActionResult CopyGroup(DateTime date)
{
diff --git a/DOAN.Service/MES/group/GroupScheduleService.cs b/DOAN.Service/MES/group/GroupScheduleService.cs
index 8bdd781..40907f8 100644
--- a/DOAN.Service/MES/group/GroupScheduleService.cs
+++ b/DOAN.Service/MES/group/GroupScheduleService.cs
@@ -186,7 +186,7 @@ namespace DOAN.Service.Business
//获取月份所有日期
List GetDatesOfMonth(int year, int month)
{
-
+
List dates = new List();
DateTime firstDayOfMonth = new DateTime(year, month, 1);
@@ -199,7 +199,7 @@ namespace DOAN.Service.Business
return dates;
}
- List All_Dates = GetDatesOfMonth(year,HandleMonth);
+ List All_Dates = GetDatesOfMonth(year, HandleMonth);
foreach (DateTime date in All_Dates)
{
@@ -225,19 +225,19 @@ namespace DOAN.Service.Business
List date_schedules = Queryable().Where(it => it.ScheduleDate == PreDate).ToList();
- if(date_schedules==null|| date_schedules.Count==0) { return -1; }
- bool isExist= Queryable().Where(it => it.ScheduleDate == date).Any();
+ if (date_schedules == null || date_schedules.Count == 0) { return -1; }
+ bool isExist = Queryable().Where(it => it.ScheduleDate == date).Any();
if (isExist) { return -2; }
//TODO copy 班组人员
string[] collects = date_schedules.Select(it => it.Id).ToArray();
List Copy_groups = Context.Queryable().Where(it => collects.Contains(it.FkGroupId)).ToList();
-
+
List inserts_GroupRelPersonGroup = new List();
foreach (var group in date_schedules)
{
-
+
group.ScheduleDate = date;
group.CreatedBy = CreatedBy;
group.CreatedTime = DateTime.Now;
@@ -245,23 +245,39 @@ namespace DOAN.Service.Business
group.UpdatedTime = DateTime.Now;
//组绑定 的人员
List Copy_group_presons = Copy_groups.Where(it => it.FkGroupId == group.Id).ToList();
- group.Id = XueHua;
- foreach (var person in Copy_group_presons)
+ if (Copy_group_presons.Count > 0)
{
- person.FkGroupId = group.Id;
- person.CreatedBy = group.CreatedBy;
- person.CreatedTime = group.CreatedTime;
+ group.Id = XueHua;
+ foreach (var person in Copy_group_presons)
+ {
+ person.FkGroupId = group.Id;
+ person.CreatedBy = group.CreatedBy;
+ person.CreatedTime = group.CreatedTime;
+ }
+ string[] person_id_array = Copy_group_presons.Select(it => it.FkPersonId).ToArray();
+
+ string[] Resigneds = Context.Queryable().Where(it => person_id_array.Contains(it.Id))
+ .Where(it => it.Status == 0)
+ .Select(it => it.Id)
+ .ToArray();
+ if (Resigneds.Length > 0)
+ {
+ Copy_group_presons = Copy_group_presons.Where(it => !Resigneds.Contains(it.FkPersonId)).ToList();
+ }
+
+
+ inserts_GroupRelPersonGroup.AddRange(Copy_group_presons);
+
}
- inserts_GroupRelPersonGroup.AddRange(Copy_group_presons);
-
+
}
UseTran2(() =>
{
// 删除原有数据
- // Context.Deleteable(date_schedules).ExecuteCommand();
- // Context.Deleteable().Where(it => collects.Contains(it.FkGroupId)).ExecuteCommand();
+ // Context.Deleteable(date_schedules).ExecuteCommand();
+ // Context.Deleteable().Where(it => collects.Contains(it.FkGroupId)).ExecuteCommand();
result = Context.Insertable(date_schedules).ExecuteCommand();
Context.Insertable(inserts_GroupRelPersonGroup).ExecuteCommand();
diff --git a/DOAN.Service/MES/group/IService/IGroupScheduleService.cs b/DOAN.Service/MES/group/IService/IGroupScheduleService.cs
index f9a1478..0c04bc7 100644
--- a/DOAN.Service/MES/group/IService/IGroupScheduleService.cs
+++ b/DOAN.Service/MES/group/IService/IGroupScheduleService.cs
@@ -26,7 +26,7 @@ namespace DOAN.Service.group.IService
int GroupAddPerson(string group_schedule_id, string person_id, string CreatedBy);
int GroupRemovePerson(string group_schedule_id, string person_id);
- List GetMonthScheduleResult(int year,int HandleMonth);
+ List GetMonthScheduleResult(int year,int HandleMonth);
int CopyPreDaySchedule(DateTime date, string CreatedBy);
}