获取产线和注塑挤出设备树
This commit is contained in:
@@ -12,6 +12,18 @@ public static class DictConst
|
||||
/// </summary>
|
||||
public const string RegionCategoryStationCode = "workstation";
|
||||
/// <summary>
|
||||
/// 区域类型-公司Code
|
||||
/// </summary>
|
||||
public const string RegionCategoryCompanyCode = "company";
|
||||
/// <summary>
|
||||
/// 区域类型-车间Code
|
||||
/// </summary>
|
||||
public const string RegionCategoryWorkshopCode = "workshop";
|
||||
/// <summary>
|
||||
/// 区域类型-产线Code
|
||||
/// </summary>
|
||||
public const string RegionCategoryWorklineCode = "workline";
|
||||
/// <summary>
|
||||
/// 备品备件类型
|
||||
/// </summary>
|
||||
public const string SparePartsType = "SparePartsType";
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
namespace Tnb.EquipMgr.Entities.Dto
|
||||
{
|
||||
public class WorklineAndEquipTreeOutput
|
||||
{
|
||||
/// <summary>
|
||||
/// 获取节点id.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string id { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标题
|
||||
/// </summary>
|
||||
public string title { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 获取节点父id.
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public string parentId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否有子级.
|
||||
/// </summary>
|
||||
public bool hasChildren { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 设置Children.
|
||||
/// </summary>
|
||||
public List<WorklineAndEquipTreeOutput>? children { get; set; } = new List<WorklineAndEquipTreeOutput>();
|
||||
|
||||
/// <summary>
|
||||
/// 子节点数量.
|
||||
/// </summary>
|
||||
public int num { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否为子节点.
|
||||
/// </summary>
|
||||
public bool isLeaf { get; set; } = false;
|
||||
}
|
||||
}
|
||||
@@ -17,5 +17,11 @@ namespace Tnb.EquipMgr.Interfaces
|
||||
/// <param name="dic"></param>
|
||||
/// <returns></returns>
|
||||
public Task<dynamic> GetListByTypeId(Dictionary<string, string> dic);
|
||||
|
||||
/// <summary>
|
||||
/// 获取产线和注塑挤出设备树
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public Task<dynamic> GetWorklineAndEquipTree(Dictionary<string,string> dic);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,18 @@
|
||||
using Aop.Api.Domain;
|
||||
using Aspose.Cells.Drawing;
|
||||
using JNPF.Common.Filter;
|
||||
using JNPF.Common.Security;
|
||||
using JNPF.DependencyInjection;
|
||||
using JNPF.DynamicApiController;
|
||||
using JNPF.Extras.CollectiveOAuth.Models;
|
||||
using JNPF.Systems.Entitys.Permission;
|
||||
using JNPF.VisualDev;
|
||||
using JNPF.VisualDev.Entitys.Dto.VisualDevModelData;
|
||||
using Mapster;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Senparc.NeuChar.ApiHandlers;
|
||||
using SqlSugar;
|
||||
using Tnb.BasicData;
|
||||
using Tnb.EquipMgr.Entities;
|
||||
using Tnb.EquipMgr.Entities.Dto;
|
||||
using Tnb.EquipMgr.Interfaces;
|
||||
@@ -78,5 +83,67 @@ namespace Tnb.EquipMgr
|
||||
return await _repository.AsSugarClient().Queryable<EqpEquipment>().Where(x => typeIdArr.Contains(x.equip_type_id))
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<dynamic> GetWorklineAndEquipTree(Dictionary<string,string> dic)
|
||||
{
|
||||
string equipTypes = dic.ContainsKey("equipTypes") ? dic["equipTypes"] : "";
|
||||
var db = _repository.AsSugarClient();
|
||||
var queryable1 = db.Queryable<OrganizeEntity>()
|
||||
.Where((a) => a.DeleteMark == null && a.Category==DictConst.RegionCategoryWorkshopCode)
|
||||
.Select((a) => new WorklineAndEquipTreeOutput()
|
||||
{
|
||||
id = a.Id,
|
||||
title = a.EnCode+"/"+a.FullName,
|
||||
parentId = "0",
|
||||
hasChildren = SqlFunc.Subqueryable<OrganizeEntity>().Where(b=>b.ParentId==a.Id && b.DeleteMark==null && b.Category==DictConst.RegionCategoryWorklineCode).Any(),
|
||||
num = SqlFunc.Subqueryable<OrganizeEntity>().Where(b=>b.ParentId==a.Id && b.DeleteMark==null && b.Category==DictConst.RegionCategoryWorklineCode).Count(),
|
||||
isLeaf = false,
|
||||
children = SqlFunc.Subqueryable<OrganizeEntity>().Where(b=>b.ParentId==a.Id && b.DeleteMark==null && b.Category==DictConst.RegionCategoryWorklineCode).ToList(b=>new WorklineAndEquipTreeOutput()
|
||||
{
|
||||
id = b.Id,
|
||||
title = b.EnCode+"/"+b.FullName,
|
||||
parentId = b.ParentId,
|
||||
hasChildren = false,
|
||||
num = 0,
|
||||
isLeaf = true,
|
||||
})
|
||||
});
|
||||
|
||||
List<WorklineAndEquipTreeOutput> list2 = new List<WorklineAndEquipTreeOutput>();
|
||||
if (!string.IsNullOrEmpty(equipTypes))
|
||||
{
|
||||
string[] equipTypeArr = equipTypes.Split(",");
|
||||
list2 = await db.Queryable<EqpEquipType>()
|
||||
.Where((a) => equipTypeArr.Contains(a.code))
|
||||
.Select((a) => new WorklineAndEquipTreeOutput()
|
||||
{
|
||||
id = a.id,
|
||||
title = a.name,
|
||||
parentId = "0",
|
||||
hasChildren = SqlFunc.Subqueryable<EqpEquipment>().Where(b=>b.equip_type_id==a.id).Any(),
|
||||
num = SqlFunc.Subqueryable<EqpEquipment>().Where(b=>b.equip_type_id==a.id).Count(),
|
||||
isLeaf = false,
|
||||
children = SqlFunc.Subqueryable<EqpEquipment>().Where(b=>b.equip_type_id==a.id).ToList(b=>new WorklineAndEquipTreeOutput()
|
||||
{
|
||||
id = b.id,
|
||||
title = b.code+"/"+b.name,
|
||||
parentId = b.equip_type_id,
|
||||
hasChildren = false,
|
||||
num = 0,
|
||||
isLeaf = true,
|
||||
})
|
||||
}).ToListAsync();
|
||||
|
||||
}
|
||||
|
||||
// var list = await db.UnionAll(queryable1, queryable2).ToListAsync();
|
||||
var list1 = await queryable1.ToListAsync();
|
||||
list1.AddRange(list2);
|
||||
return new AuthResponse(200, "", new Dictionary<string,object>()
|
||||
{
|
||||
["list"] = list1,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user