andon相关接口

This commit is contained in:
2023-10-07 17:28:47 +08:00
parent bd86072173
commit 861be92ec4
4 changed files with 70 additions and 0 deletions

View File

@@ -16,6 +16,7 @@ using JNPF.Systems.Interfaces.System;
using JNPF.TaskScheduler;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using SqlSugar;
using Tnb.BasicData.Entities;
using Tnb.EquipMgr.Interfaces;
@@ -83,5 +84,44 @@ namespace Tnb.ProductionMgr
andonRecord.create_id = _userManager.UserId;
await _db.Insertable(andonRecord).ExecuteCommandAsync();
}
[HttpPost]
public async Task<dynamic> GetAndonCascaderOptions()
{
Dictionary<string, object> result = new Dictionary<string, object>();
List<AndonType> andonTypes = await _db.Queryable<AndonType>().ToListAsync();
List<AndonInfo> andonInfos = await _db.Queryable<AndonInfo>().ToListAsync();
List<AndonBreakDown> andonBreakDowns = await _db.Queryable<AndonBreakDown>().ToListAsync();
List<AndonCascaderOptionsOuput> options = new List<AndonCascaderOptionsOuput>();
foreach (var andonType in andonTypes)
{
options.Add(new AndonCascaderOptionsOuput()
{
label = andonType.name,
value = andonType.id,
children = andonInfos.Where(x=>x.andon_type==andonType.id).Select(x=>new AndonCascaderOptionsOuput()
{
label = x.name,
value = x.id,
children = andonBreakDowns.Where(y=>x.breakdown_id.Contains(y.id)).Select(y=>new AndonCascaderOptionsOuput()
{
label = y.name,
value = y.id
}).ToList()
}).ToList()
});
}
string defaultValue = "";
if (!string.IsNullOrEmpty(andonInfos.FirstOrDefault()?.breakdown_id))
{
string[] breakdownIdArr = JsonConvert.DeserializeObject<string[]>(andonInfos.FirstOrDefault()?.breakdown_id);
defaultValue = breakdownIdArr[0];
}
result.Add("options",options);
result.Add("defaultValue",defaultValue);
return result;
}
}
}