新增基础数据接口库,MOM工艺路线模版左侧树形结构返回

This commit is contained in:
DEVICE8\12494
2023-04-04 14:43:57 +08:00
parent 96fa7faf39
commit 92291d66c2
11 changed files with 333 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
namespace Tnb.BasicData.Entitys
{
public class Class1
{
}
}

View File

@@ -0,0 +1,88 @@
using System;
using System.Collections.Generic;
using System.Linq;
using JNPF.Common.Contracts;
using SqlSugar;
using Tnb.Common.Contracts;
namespace Tnb.BasicData.Entitys.Entity
{
/// <summary>
/// 工艺路线资料
///</summary>
[SugarTable("bas_route")]
public class BasRoute : BaseEntity<string>
{
/// <summary>
/// 工艺路线代码
///</summary>
[SugarColumn(ColumnName = "route_code")]
public string RouteCode { get; set; }
/// <summary>
/// 工艺路线名称
///</summary>
[SugarColumn(ColumnName = "route_name")]
public string RouteName { get; set; }
/// <summary>
/// 工艺路线版本
///</summary>
[SugarColumn(ColumnName = "version")]
public string Version { get; set; }
/// <summary>
/// 工艺路线类型: 标准途程Standard 返工途程Rework 试制途程Trial 返修途程RMA
///</summary>
[SugarColumn(ColumnName = "route_type")]
public string RouteType { get; set; }
/// <summary>
/// 创建时间
///</summary>
[SugarColumn(ColumnName = "create_time")]
public DateTime CreateTime { get; set; }
/// <summary>
/// 修改时间
///</summary>
[SugarColumn(ColumnName = "modify_time")]
public DateTime? ModifyTime { get; set; }
/// <summary>
/// 扩展字段
///</summary>
[SugarColumn(ColumnName = "extras")]
public string? Extras { get; set; }
/// <summary>
/// 租户ID
/// 默认值: NULL::character varying
///</summary>
[SugarColumn(ColumnName = "tenant_id")]
public string? TenantId { get; set; }
/// <summary>
/// 所属组织ID
/// 默认值: NULL::character varying
///</summary>
[SugarColumn(ColumnName = "org_id")]
public string? OrgId { get; set; }
/// <summary>
/// 备注
/// 默认值: NULL::character varying
///</summary>
[SugarColumn(ColumnName = "remark")]
public string? Remark { get; set; }
/// <summary>
/// 时间戳(用于并发控制)
/// 默认值: NULL::character varying
///</summary>
[SugarColumn(ColumnName = "timestamp")]
public string? Timestamp { get; set; }
/// <summary>
/// 创建用户
/// 默认值: NULL::character varying
///</summary>
[SugarColumn(ColumnName = "create_id")]
public string? CreateId { get; set; }
/// <summary>
/// 修改用户
/// 默认值: NULL::character varying
///</summary>
[SugarColumn(ColumnName = "modify_id")]
public string? ModifyId { get; set; }
}
}

View File

@@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.BasicData.Entitys.Model
{
public class RouteTree
{
/// <summary>
/// 工艺路线类型
/// </summary>
public string RouteType { get; set; }
/// <summary>
/// 工艺路线名称
/// </summary>
public List<RouteName> RouteName { get; set; }
}
public class RouteName
{
public string Tag { get; set; }
/// <summary>
/// 工艺路线版本
/// </summary>
public List<string> RouteVersion { get; set; }
}
}

View File

@@ -0,0 +1,18 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\common\Tnb.Common\Tnb.Common.csproj" />
<ProjectReference Include="..\common\Tnb.SqlSugar\Tnb.SqlSugar.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Dto\" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,14 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Tnb.BasicData.Entitys\Tnb.BasicData.Entitys.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,76 @@
using System.CodeDom;
using Aspose.Cells;
using JNPF.Common.Core.Manager;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.Systems.Entitys.System;
using JNPF.Systems.Interfaces.System;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Spire.Presentation;
using SqlSugar;
using Tnb.BasicData.Entitys.Entity;
using Tnb.BasicData.Entitys.Model;
namespace Tnb.BasicData
{
/// <summary>
/// MOM基础数据服务
/// </summary>
[ApiDescriptionSettings(Tag = "BasicData", Name = "RouteLineTemplate", Order = 700)]
[Route("api/Route/[controller]")]
public class RouteTreeService : IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<BasRoute> _repository;
private readonly DataBaseManager _dbManager;
private readonly IDictionaryDataService _dictionaryDataService;
public RouteTreeService(
IDictionaryDataService dictionaryDataService,
ISqlSugarRepository<BasRoute> repository,
DataBaseManager dbManager)
{
_dictionaryDataService = dictionaryDataService;
_repository = repository;
_dbManager = dbManager;
}
/// <summary>
/// 返回工艺路线树形结构
/// </summary>
/// <returns>工艺路线模版树形结构</returns>
[AllowAnonymous]
[HttpGet("route-tree")]
public async Task<List<RouteTree>> GetRouteTreeList()
{
var dictaryDataList = await _dictionaryDataService.GetList("24950639717653");
var dictaryData = dictaryDataList.ToDictionary(x => x.EnCode, x => x.FullName);
SqlSugarScope sugarClient = null!;
var result = new List<RouteTree>();
var momDbLink = await _repository.AsSugarClient().Queryable<DbLinkEntity>().FirstAsync(x => x.FullName == "tnb_mom");
if (momDbLink != null)
{
sugarClient = _dbManager.ChangeDataBase(momDbLink);
}
var list = await sugarClient.Queryable<BasRoute>().ToListAsync();
if (list?.Count > 0)
{
var routeGroups = list.GroupBy(g => g.RouteType);
foreach (var routeGroup in routeGroups)
{
var routeTree = new RouteTree();
routeTree.RouteType = dictaryData.ContainsKey(routeGroup.Key) ? dictaryData[routeGroup.Key] : "";
var routeNameGroup = routeGroup.GroupBy(g => new { g.RouteName, g.RouteCode });
routeTree.RouteName = routeNameGroup.Select(x => new RouteName
{
Tag = $"{x.Key.RouteName}|{x.Key.RouteCode}",
RouteVersion = x.Select(t => t.Version).ToList(),
}).ToList();
result.Add(routeTree);
}
}
return result;
}
}
}

View File

@@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\common\Tnb.Common.Core\Tnb.Common.Core.csproj" />
<ProjectReference Include="..\system\Tnb.Systems.Interfaces\Tnb.Systems.Interfaces.csproj" />
<ProjectReference Include="..\Tnb.BasicData.Entitys\Tnb.BasicData.Entitys.csproj" />
<ProjectReference Include="..\Tnb.BasicData.Interfaces\Tnb.BasicData.Interfaces.csproj" />
</ItemGroup>
</Project>

View File

@@ -89,6 +89,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnb.Extend.Interfaces", "ex
EndProject EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnb.SqlSugar", "common\Tnb.SqlSugar\Tnb.SqlSugar.csproj", "{E600E59F-18EE-4DBC-8298-BEF4307F69D9}" Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tnb.SqlSugar", "common\Tnb.SqlSugar\Tnb.SqlSugar.csproj", "{E600E59F-18EE-4DBC-8298-BEF4307F69D9}"
EndProject EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "09-BasicData", "09-BasicData", "{52B19E13-6B04-444C-A38A-B9955B199A98}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tnb.BasicData.Entitys", "Tnb.BasicData.Entitys\Tnb.BasicData.Entitys.csproj", "{1E09E797-7DFF-49B1-ABB8-290660DB4451}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tnb.BasicData.Interfaces", "Tnb.BasicData.Interfaces\Tnb.BasicData.Interfaces.csproj", "{12A5A0D3-C608-46AB-AC4C-5D5EF729AF8E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tnb.BasicData", "Tnb.BasicData\Tnb.BasicData.csproj", "{C37798AB-AF09-4260-BEF5-92F7D373A4EA}"
EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU Debug|Any CPU = Debug|Any CPU
@@ -215,6 +223,18 @@ Global
{E600E59F-18EE-4DBC-8298-BEF4307F69D9}.Debug|Any CPU.Build.0 = Debug|Any CPU {E600E59F-18EE-4DBC-8298-BEF4307F69D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E600E59F-18EE-4DBC-8298-BEF4307F69D9}.Release|Any CPU.ActiveCfg = Release|Any CPU {E600E59F-18EE-4DBC-8298-BEF4307F69D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E600E59F-18EE-4DBC-8298-BEF4307F69D9}.Release|Any CPU.Build.0 = Release|Any CPU {E600E59F-18EE-4DBC-8298-BEF4307F69D9}.Release|Any CPU.Build.0 = Release|Any CPU
{1E09E797-7DFF-49B1-ABB8-290660DB4451}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1E09E797-7DFF-49B1-ABB8-290660DB4451}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1E09E797-7DFF-49B1-ABB8-290660DB4451}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1E09E797-7DFF-49B1-ABB8-290660DB4451}.Release|Any CPU.Build.0 = Release|Any CPU
{12A5A0D3-C608-46AB-AC4C-5D5EF729AF8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{12A5A0D3-C608-46AB-AC4C-5D5EF729AF8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{12A5A0D3-C608-46AB-AC4C-5D5EF729AF8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{12A5A0D3-C608-46AB-AC4C-5D5EF729AF8E}.Release|Any CPU.Build.0 = Release|Any CPU
{C37798AB-AF09-4260-BEF5-92F7D373A4EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C37798AB-AF09-4260-BEF5-92F7D373A4EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C37798AB-AF09-4260-BEF5-92F7D373A4EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C37798AB-AF09-4260-BEF5-92F7D373A4EA}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
@@ -249,6 +269,9 @@ Global
{08A36D02-DC53-4895-9E1C-E02BC1BBA890} = {A5AB62A9-B65A-4348-BC4A-60EF67FC1B9D} {08A36D02-DC53-4895-9E1C-E02BC1BBA890} = {A5AB62A9-B65A-4348-BC4A-60EF67FC1B9D}
{2E9F8B23-37B9-42BD-A62F-140A38C43A89} = {A5AB62A9-B65A-4348-BC4A-60EF67FC1B9D} {2E9F8B23-37B9-42BD-A62F-140A38C43A89} = {A5AB62A9-B65A-4348-BC4A-60EF67FC1B9D}
{E600E59F-18EE-4DBC-8298-BEF4307F69D9} = {E4872924-2348-4E06-881A-08625ED98E9F} {E600E59F-18EE-4DBC-8298-BEF4307F69D9} = {E4872924-2348-4E06-881A-08625ED98E9F}
{1E09E797-7DFF-49B1-ABB8-290660DB4451} = {52B19E13-6B04-444C-A38A-B9955B199A98}
{12A5A0D3-C608-46AB-AC4C-5D5EF729AF8E} = {52B19E13-6B04-444C-A38A-B9955B199A98}
{C37798AB-AF09-4260-BEF5-92F7D373A4EA} = {52B19E13-6B04-444C-A38A-B9955B199A98}
EndGlobalSection EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {646DDD1C-F143-42C2-894F-F5C7B3A0CE74} SolutionGuid = {646DDD1C-F143-42C2-894F-F5C7B3A0CE74}

View File

@@ -38,6 +38,7 @@
<ProjectReference Include="..\..\system\Tnb.OAuth\Tnb.OAuth.csproj" /> <ProjectReference Include="..\..\system\Tnb.OAuth\Tnb.OAuth.csproj" />
<ProjectReference Include="..\..\system\Tnb.Systems\Tnb.Systems.csproj" /> <ProjectReference Include="..\..\system\Tnb.Systems\Tnb.Systems.csproj" />
<ProjectReference Include="..\..\taskschedule\Tnb.TaskScheduler\Tnb.TaskScheduler.csproj" /> <ProjectReference Include="..\..\taskschedule\Tnb.TaskScheduler\Tnb.TaskScheduler.csproj" />
<ProjectReference Include="..\..\Tnb.BasicData\Tnb.BasicData.csproj" />
<ProjectReference Include="..\..\visualdev\Tnb.VisualDev\Tnb.VisualDev.csproj" /> <ProjectReference Include="..\..\visualdev\Tnb.VisualDev\Tnb.VisualDev.csproj" />
<ProjectReference Include="..\..\workflow\Tnb.WorkFlow\Tnb.WorkFlow.csproj" /> <ProjectReference Include="..\..\workflow\Tnb.WorkFlow\Tnb.WorkFlow.csproj" />
<ProjectReference Include="..\..\extend\Tnb.Extend\Tnb.Extend.csproj" /> <ProjectReference Include="..\..\extend\Tnb.Extend\Tnb.Extend.csproj" />

View File

@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using JNPF.Common.Contracts;
using SqlSugar;
namespace Tnb.Common.Contracts
{
public class BaseEntity<TKey> : IEntity<TKey> where TKey : IEquatable<TKey>
{
/// <summary>
/// 获取或设置 编号.
/// </summary>
[SugarColumn(ColumnName = "id", ColumnDescription = "主键", IsPrimaryKey = true)]
public TKey Id { get; set; }
}
}

View File

@@ -0,0 +1,36 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Tnb.Common.Enums
{
/// <summary>
/// 工艺路线类型
/// </summary>
public enum RouteType
{
/// <summary>
/// 标准途程
/// </summary>
[Description("标准途程")]
Standard=1,
/// <summary>
/// 返工途程
/// </summary>
[Description("返工途程")]
Rework=2,
/// <summary>
/// 试制途程
/// </summary>
[Description("试制途程")]
Trial=4,
/// <summary>
/// 返修途程
/// </summary>
[Description("返修途程")]
RMA =8,
}
}