This commit is contained in:
alex
2023-06-28 16:29:10 +08:00
5 changed files with 58 additions and 6 deletions

View File

@@ -13,4 +13,13 @@ namespace Tnb.BasicData.Entities.Dto
public string? workhour { get; set; } public string? workhour { get; set; }
public string? worktype { 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; }
}
} }

View File

@@ -10,7 +10,12 @@ namespace Tnb.BasicData.Entities.Dto.BasCalendar
{ {
public string? datetext { get; set; } public string? datetext { get; set; }
public string? datetype { get; set; } public string? datetype { get; set; }
public string? workhour { get; set; } public List<WorkHour>? workhour { get; set; }
public string? worktype { get; set; } public string? worktype { get; set; }
} }
public class WorkHour
{
public string? start { get; set; }
public string? end { get; set; }
}
} }

View File

@@ -18,7 +18,14 @@ namespace Tnb.BasicData.Interfaces
/// <summary> /// <summary>
/// 获取工作日历 /// 获取工作日历
/// </summary> /// </summary>
/// <param name="CalendarInput"></param>
/// <returns></returns> /// <returns></returns>
public Task<dynamic> GetWorkData(); public Task<dynamic> GetWorkData(CalendarInput CalendarInput);
/// <summary>
/// 批量保存工作日历
/// </summary>
/// <param name="CalendarBatchInput"></param>
/// <returns></returns>
public Task SaveBatchData(CalendarBatchInput CalendarBatchInput);
} }
} }

View File

@@ -8,6 +8,7 @@ using JNPF.Common.Core.Manager;
using JNPF.Common.Models.VisualDev; using JNPF.Common.Models.VisualDev;
using JNPF.DependencyInjection; using JNPF.DependencyInjection;
using JNPF.DynamicApiController; using JNPF.DynamicApiController;
using JNPF.JsonSerialization;
using JNPF.Systems.Interfaces.System; using JNPF.Systems.Interfaces.System;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@@ -43,6 +44,7 @@ namespace Tnb.BasicData
public async Task SaveData(CalendarInput CalendarInput) public async Task SaveData(CalendarInput CalendarInput)
{ {
var db = _repository.AsSugarClient(); var db = _repository.AsSugarClient();
await db.Deleteable<BasCalendar>(p=>p.datetext== CalendarInput.datetext).ExecuteCommandAsync();
BasCalendar BasCalendar = new BasCalendar(); BasCalendar BasCalendar = new BasCalendar();
BasCalendar.datetext = CalendarInput.datetext; BasCalendar.datetext = CalendarInput.datetext;
BasCalendar.datetype = CalendarInput.datetype; BasCalendar.datetype = CalendarInput.datetype;
@@ -56,22 +58,50 @@ namespace Tnb.BasicData
/// 获取工作日历 /// 获取工作日历
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpPost]
public async Task<dynamic> GetWorkData() public async Task<dynamic> GetWorkData(CalendarInput CalendarInput)
{ {
var db = _repository.AsSugarClient(); 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>(); List<CalendarOut> CalendarOuts = new List<CalendarOut>();
foreach (var list in lists) foreach (var list in lists)
{ {
CalendarOut CalendarOut = new CalendarOut(); CalendarOut CalendarOut = new CalendarOut();
CalendarOut.datetext = list.datetext; CalendarOut.datetext = list.datetext;
CalendarOut.datetype = list.datetype; CalendarOut.datetype = list.datetype;
CalendarOut.workhour = list.workhour; CalendarOut.workhour = JSON.Deserialize<List<WorkHour>>(list.workhour);
CalendarOut.worktype = list.worktype; CalendarOut.worktype = list.worktype;
CalendarOuts.Add(CalendarOut); CalendarOuts.Add(CalendarOut);
} }
return CalendarOuts; 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();
}
} }
} }

View File

@@ -280,6 +280,7 @@ namespace Tnb.ProductionMgr
// reported_qty = a.reported_qty, // reported_qty = a.reported_qty,
// prd_qty = a.prd_qty, // prd_qty = a.prd_qty,
eqp_code = d.code, eqp_code = d.code,
mbom_process_id = a.mbom_process_id,
workline_name = f.FullName, workline_name = f.FullName,
process_name = g.process_name, process_name = g.process_name,
process_id = a.process_id process_id = a.process_id