diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs index 915cb3c6..9b6e9271 100644 --- a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs +++ b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarInput.cs @@ -13,4 +13,13 @@ namespace Tnb.BasicData.Entities.Dto public string? workhour { get; set; } public string? worktype { get; set; } } + public class CalendarBatchInput + { + public string? startday { get; set; } + public string? endday { get; set; } + public int[]? weekday { get; set; } + public string? datetype { get; set; } + public string? workhour { get; set; } + public string? worktype { get; set; } + } } diff --git a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarOut.cs b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarOut.cs index a400d134..403d753a 100644 --- a/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarOut.cs +++ b/BasicData/Tnb.BasicData.Entities/Dto/BasCalendar/CalendarOut.cs @@ -10,7 +10,12 @@ namespace Tnb.BasicData.Entities.Dto.BasCalendar { public string? datetext { get; set; } public string? datetype { get; set; } - public string? workhour { get; set; } + public List? workhour { get; set; } public string? worktype { get; set; } } + public class WorkHour + { + public string? start { get; set; } + public string? end { get; set; } + } } diff --git a/BasicData/Tnb.BasicData.Interfaces/IBasCalendarService.cs b/BasicData/Tnb.BasicData.Interfaces/IBasCalendarService.cs index 3dab5f33..4eaf8a89 100644 --- a/BasicData/Tnb.BasicData.Interfaces/IBasCalendarService.cs +++ b/BasicData/Tnb.BasicData.Interfaces/IBasCalendarService.cs @@ -18,7 +18,14 @@ namespace Tnb.BasicData.Interfaces /// /// 获取工作日历 /// + /// /// - public Task GetWorkData(); + public Task GetWorkData(CalendarInput CalendarInput); + /// + /// 批量保存工作日历 + /// + /// + /// + public Task SaveBatchData(CalendarBatchInput CalendarBatchInput); } } diff --git a/BasicData/Tnb.BasicData/BasCalendarService.cs b/BasicData/Tnb.BasicData/BasCalendarService.cs index 6834c494..c05bec9c 100644 --- a/BasicData/Tnb.BasicData/BasCalendarService.cs +++ b/BasicData/Tnb.BasicData/BasCalendarService.cs @@ -8,6 +8,7 @@ using JNPF.Common.Core.Manager; using JNPF.Common.Models.VisualDev; using JNPF.DependencyInjection; using JNPF.DynamicApiController; +using JNPF.JsonSerialization; using JNPF.Systems.Interfaces.System; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; @@ -43,6 +44,7 @@ namespace Tnb.BasicData public async Task SaveData(CalendarInput CalendarInput) { var db = _repository.AsSugarClient(); + await db.Deleteable(p=>p.datetext== CalendarInput.datetext).ExecuteCommandAsync(); BasCalendar BasCalendar = new BasCalendar(); BasCalendar.datetext = CalendarInput.datetext; BasCalendar.datetype = CalendarInput.datetype; @@ -56,22 +58,50 @@ namespace Tnb.BasicData /// 获取工作日历 /// /// - [HttpGet] - public async Task GetWorkData() + [HttpPost] + public async Task GetWorkData(CalendarInput CalendarInput) { var db = _repository.AsSugarClient(); - var lists = await db.Queryable().ToListAsync(); + var lists = await db.Queryable().Where(p=>p.worktype== CalendarInput.worktype).ToListAsync(); List CalendarOuts = new List(); foreach (var list in lists) { CalendarOut CalendarOut = new CalendarOut(); CalendarOut.datetext = list.datetext; CalendarOut.datetype = list.datetype; - CalendarOut.workhour = list.workhour; + CalendarOut.workhour = JSON.Deserialize>(list.workhour); CalendarOut.worktype = list.worktype; CalendarOuts.Add(CalendarOut); } return CalendarOuts; } + /// + /// 批量保存工作日历 + /// + /// + /// + public async Task SaveBatchData(CalendarBatchInput CalendarBatchInput) + { + var db = _repository.AsSugarClient(); + DateTime start = DateTime.Parse(CalendarBatchInput.startday!); + DateTime end = DateTime.Parse(CalendarBatchInput.endday!); + List BasCalendars = new List(); + for (DateTime date = start; date <= end; date.AddDays(1)) + { + if (CalendarBatchInput.weekday!.Contains((int)date.DayOfWeek)) + { + BasCalendar BasCalendar = new BasCalendar(); + BasCalendar.datetext = date.ToString("yyyy-MM-dd"); + BasCalendar.datetype = CalendarBatchInput.datetype; + BasCalendar.workhour = CalendarBatchInput.workhour; + BasCalendar.worktype = CalendarBatchInput.worktype; + BasCalendar.create_id = _userManager.UserId; + BasCalendar.create_time = DateTime.Now; + BasCalendars.Add(BasCalendar); + } + } + await db.Deleteable(p => BasCalendars.Select(p => p.datetext).ToList().Contains(p.datetext)).ExecuteCommandAsync(); + await db.Insertable(BasCalendars).ExecuteCommandAsync(); + } } } diff --git a/ProductionMgr/Tnb.ProductionMgr/PrdTaskManageService.cs b/ProductionMgr/Tnb.ProductionMgr/PrdTaskManageService.cs index 6e2d5482..16b542ac 100644 --- a/ProductionMgr/Tnb.ProductionMgr/PrdTaskManageService.cs +++ b/ProductionMgr/Tnb.ProductionMgr/PrdTaskManageService.cs @@ -280,6 +280,7 @@ namespace Tnb.ProductionMgr // reported_qty = a.reported_qty, // prd_qty = a.prd_qty, eqp_code = d.code, + mbom_process_id = a.mbom_process_id, workline_name = f.FullName, process_name = g.process_name, process_id = a.process_id