From bd55c61e1540d588bf98a805c19f2e58d03c9903 Mon Sep 17 00:00:00 2001 From: "qianhao.xu" Date: Mon, 12 Aug 2024 10:26:33 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=8D=E5=88=B6=E7=8F=AD=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../MES/group/GroupScheduleController.cs | 45 ++++++++++++------- .../MES/group/GroupScheduleService.cs | 7 ++- .../group/IService/IGroupScheduleService.cs | 2 + 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/DOAN.Admin.WebApi/Controllers/MES/group/GroupScheduleController.cs b/DOAN.Admin.WebApi/Controllers/MES/group/GroupScheduleController.cs index 88c4aeb..449545c 100644 --- a/DOAN.Admin.WebApi/Controllers/MES/group/GroupScheduleController.cs +++ b/DOAN.Admin.WebApi/Controllers/MES/group/GroupScheduleController.cs @@ -33,7 +33,7 @@ namespace DOAN.Admin.WebApi.Controllers /// /// [HttpGet("list")] - // [ActionPermissionFilter(Permission = "business:groupschedule:list")] + // [ActionPermissionFilter(Permission = "business:groupschedule:list")] public IActionResult QueryGroupSchedule([FromQuery] GroupScheduleQueryDto parm) { var response = _GroupScheduleService.GetList(parm); @@ -47,11 +47,11 @@ namespace DOAN.Admin.WebApi.Controllers /// /// [HttpGet("{Id}")] - // [ActionPermissionFilter(Permission = "business:groupschedule:query")] + // [ActionPermissionFilter(Permission = "business:groupschedule:query")] public IActionResult GetGroupSchedule(string Id) { var response = _GroupScheduleService.GetInfo(Id); - + var info = response.Adapt(); return SUCCESS(info); } @@ -61,7 +61,7 @@ namespace DOAN.Admin.WebApi.Controllers /// /// [HttpPost] - // [ActionPermissionFilter(Permission = "business:groupschedule:add")] + // [ActionPermissionFilter(Permission = "business:groupschedule:add")] [Log(Title = "排班", BusinessType = BusinessType.INSERT)] public IActionResult AddGroupSchedule([FromBody] GroupScheduleDto parm) { @@ -77,7 +77,7 @@ namespace DOAN.Admin.WebApi.Controllers /// /// [HttpPut] - // [ActionPermissionFilter(Permission = "business:groupschedule:edit")] + // [ActionPermissionFilter(Permission = "business:groupschedule:edit")] [Log(Title = "排班", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateGroupSchedule([FromBody] GroupScheduleDto parm) { @@ -94,9 +94,9 @@ namespace DOAN.Admin.WebApi.Controllers /// /// [HttpGet("list_by_date")] - public IActionResult ListGroupByDate(GroupScheduleQueryDto2 query) - { - if(query.ScheduleDate == DateTime.MinValue) + public IActionResult ListGroupByDate(GroupScheduleQueryDto2 query) + { + if (query.ScheduleDate == DateTime.MinValue) { return SUCCESS(null); } @@ -116,7 +116,7 @@ namespace DOAN.Admin.WebApi.Controllers [Log(Title = "排班", BusinessType = BusinessType.INSERT)] public IActionResult AddGroupSchedule2([FromBody] GroupScheduleDto parm) { - if(parm.ScheduleDate == DateTime.MinValue) + if (parm.ScheduleDate == DateTime.MinValue) { return SUCCESS(null); }; @@ -185,10 +185,10 @@ namespace DOAN.Admin.WebApi.Controllers //TODO 班组添加人员 [HttpGet("add_person")] - public IActionResult GroupAddPerson(string group_schedule_id,string person_id) + public IActionResult GroupAddPerson(string group_schedule_id, string person_id) { - if(string.IsNullOrEmpty(group_schedule_id)) { return SUCCESS(null); } - if(string.IsNullOrEmpty(person_id)) { return SUCCESS(null); } + if (string.IsNullOrEmpty(group_schedule_id)) { return SUCCESS(null); } + if (string.IsNullOrEmpty(person_id)) { return SUCCESS(null); } var response = _GroupScheduleService @@ -225,9 +225,9 @@ namespace DOAN.Admin.WebApi.Controllers [HttpGet("month_schedule_result")] public IActionResult GetMonthScheduleResult(string yearmonth) { - if(string.IsNullOrEmpty(yearmonth)) { return SUCCESS(null); } + if (string.IsNullOrEmpty(yearmonth)) { return SUCCESS(null); } - (int Year, int Month) ExtractYearAndMonth(string dateString) + (int Year, int Month) ExtractYearAndMonth(string dateString) { if (DateTime.TryParseExact(dateString, "yyyy-MM", null, 0, out DateTime date)) // 使用 0 代替 None { @@ -239,13 +239,26 @@ namespace DOAN.Admin.WebApi.Controllers } } - (int Year, int Month) result= ExtractYearAndMonth(yearmonth); + (int Year, int Month) result = ExtractYearAndMonth(yearmonth); - var response= _GroupScheduleService.GetMonthScheduleResult(result.Year, result.Month); + var response = _GroupScheduleService.GetMonthScheduleResult(result.Year, result.Month); return SUCCESS(response); } + //TODO 复制班组 + /// + /// 复制班组 + /// + /// 要排的日期 + /// -1 无法复制 >1 复制的数量 + public IActionResult CopyGroup(DateTime date) + { + + var response= _GroupScheduleService.CopyPreDaySchedule(date.Date,HttpContext.GetName()); + return SUCCESS(response); + + } } diff --git a/DOAN.Service/MES/group/GroupScheduleService.cs b/DOAN.Service/MES/group/GroupScheduleService.cs index 90d96cc..2e5815a 100644 --- a/DOAN.Service/MES/group/GroupScheduleService.cs +++ b/DOAN.Service/MES/group/GroupScheduleService.cs @@ -223,8 +223,9 @@ namespace DOAN.Service.Business int result = 0; DateTime PreDate = date.AddDays(-1); - List date_schedules = Queryable().Where(it => it.ScheduleDate == date).ToList(); + List date_schedules = Queryable().Where(it => it.ScheduleDate == PreDate).ToList(); + if(date_schedules==null|| date_schedules.Count==0) { return -1; } //TODO copy 班组人员 string[] collects = date_schedules.Select(it => it.Id).ToArray(); List Copy_groups = Context.Queryable().Where(it => collects.Contains(it.FkGroupId)).ToList(); @@ -234,7 +235,7 @@ namespace DOAN.Service.Business foreach (var group in date_schedules) { group.Id = XueHua; - group.ScheduleDate = PreDate; + group.ScheduleDate = date; group.CreatedBy = CreatedBy; group.CreatedTime = DateTime.Now; group.UpdatedBy = CreatedBy; @@ -249,6 +250,8 @@ namespace DOAN.Service.Business } inserts_GroupRelPersonGroup.AddRange(Copy_group_presons); } + + UseTran2(() => { result = Context.Insertable(date_schedules).ExecuteCommand(); diff --git a/DOAN.Service/MES/group/IService/IGroupScheduleService.cs b/DOAN.Service/MES/group/IService/IGroupScheduleService.cs index 9785432..f7013dd 100644 --- a/DOAN.Service/MES/group/IService/IGroupScheduleService.cs +++ b/DOAN.Service/MES/group/IService/IGroupScheduleService.cs @@ -27,5 +27,7 @@ namespace DOAN.Service.group.IService int GroupRemovePerson(string group_schedule_id, string person_id); List GetMonthScheduleResult(int year,int HandleMonth); + + int CopyPreDaySchedule(DateTime date, string CreatedBy) } }