Files
tnb.server/BasicData/Tnb.BasicData/RouteService.cs
2023-04-26 16:25:40 +08:00

77 lines
2.5 KiB
C#

using JNPF.Common.Core.Manager;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.BasicData.Entities;
namespace Tnb.BasicData
{
/// <summary>
/// 物料清单
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConst.Tag, Area = ModuleConst.Area, Order = 701)]
[Route("api/[area]/[controller]/[action]")]
public class RouteService : IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<BasRouteH> _repository;
private readonly UserManager _userManager;
public RouteService(
UserManager userManager,
ISqlSugarRepository<BasRouteH> repository)
{
_repository = repository;
_userManager = userManager;
}
/// <summary>
/// 发布工艺路线
/// </summary>
/// <param name="parameters">工艺路线id id</param>
[HttpPost]
public async Task Publish(Dictionary<string, string> parameters)
{
string id = parameters["id"];
await _repository.UpdateAsync(x => new BasRouteH()
{
status = "1",
}, x => x.id == id);
}
/// <summary>
/// 复制工艺路线
/// </summary>
/// <param name="parameters">工艺路线id id</param>
[HttpPost]
public async Task<string> Copy(Dictionary<string, string> parameters)
{
string id = parameters["id"];
BasRouteH basRouteH = await _repository.GetByIdAsync(id);
List<BasRouteD> basRouteDs = await _repository.AsSugarClient().Queryable<BasRouteD>().Where(x => x.route_id == id).ToListAsync();
string newId = SnowflakeIdHelper.NextId();
basRouteH.id = newId;
basRouteH.code += "_复制的请修改";
basRouteH.name += "_复制的请修改";
DbResult<bool> result = await _repository.AsSugarClient().Ado.UseTranAsync(async () =>
{
await _repository.InsertAsync(basRouteH);
foreach (BasRouteD basRouteD in basRouteDs)
{
basRouteD.id = SnowflakeIdHelper.NextId();
basRouteD.route_id = newId;
}
await _repository.AsSugarClient().Insertable<BasRouteD>(basRouteDs).ExecuteCommandAsync();
});
return result.IsSuccess ? "复制成功" : result.ErrorMessage;
}
}
}