This commit is contained in:
qianjiawei
2023-06-28 16:01:26 +08:00
parent d1053d09bd
commit 380804ee47
4 changed files with 57 additions and 6 deletions

View File

@@ -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<BasCalendar>(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
/// 获取工作日历
/// </summary>
/// <returns></returns>
[HttpGet]
public async Task<dynamic> GetWorkData()
[HttpPost]
public async Task<dynamic> GetWorkData(CalendarInput CalendarInput)
{
var db = _repository.AsSugarClient();
var lists = await db.Queryable<BasCalendar>().ToListAsync();
var lists = await db.Queryable<BasCalendar>().Where(p=>p.worktype== CalendarInput.worktype).ToListAsync();
List<CalendarOut> CalendarOuts = new List<CalendarOut>();
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>>(list.workhour);
CalendarOut.worktype = list.worktype;
CalendarOuts.Add(CalendarOut);
}
return CalendarOuts;
}
/// <summary>
/// 批量保存工作日历
/// </summary>
/// <param name="CalendarBatchInput"></param>
/// <returns></returns>
public async Task SaveBatchData(CalendarBatchInput CalendarBatchInput)
{
var db = _repository.AsSugarClient();
DateTime start = DateTime.Parse(CalendarBatchInput.startday!);
DateTime end = DateTime.Parse(CalendarBatchInput.endday!);
List<BasCalendar> BasCalendars = new List<BasCalendar>();
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<BasCalendar>(p => BasCalendars.Select(p => p.datetext).ToList().Contains(p.datetext)).ExecuteCommandAsync();
await db.Insertable(BasCalendars).ExecuteCommandAsync();
}
}
}