Files
tnb.server/EquipMgr/Tnb.EquipMgr/EqpEquipScrapService.cs

51 lines
1.8 KiB
C#

using JNPF.Common.Core.Manager;
using JNPF.Common.Enums;
using JNPF.Common.Security;
using JNPF.DependencyInjection;
using JNPF.DynamicApiController;
using JNPF.FriendlyException;
using Microsoft.AspNetCore.Mvc;
using SqlSugar;
using Tnb.EquipMgr.Entities;
using Tnb.EquipMgr.Interfaces;
namespace Tnb.EquipMgr
{
/// <summary>
/// 设备保养计划执行管理
/// </summary>
[ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)]
[Route("api/[area]/[controller]/[action]")]
public class EqpEquipScrapService : IEqpEquipScrapService, IDynamicApiController, ITransient
{
private readonly ISqlSugarRepository<EqpEquipScrap> _repository;
private readonly IUserManager _userManager;
public EqpEquipScrapService(ISqlSugarRepository<EqpEquipScrap> repository,
IUserManager userManager)
{
_repository = repository;
_userManager = userManager;
// OverideFuncs.UpdateAsync = ExecuteSpotIns;
}
[HttpPost]
public async Task<string> Scrap(EqpEquipScrap eqpEquipScrap)
{
ISqlSugarClient db = _repository.AsSugarClient();
DbResult<bool> result = await db.Ado.UseTranAsync(async () =>
{
eqpEquipScrap.id = SnowflakeIdHelper.NextId();
eqpEquipScrap.create_id = _userManager.UserId;
eqpEquipScrap.create_time = DateTime.Now;
_ = await _repository.InsertAsync(eqpEquipScrap);
_ = await db.Updateable<EqpEquipment>().SetColumns(x => x.life == EquipmentLife.SCRAP)
.Where(x => x.id == eqpEquipScrap.equip_id).ExecuteCommandAsync();
});
return !result.IsSuccess ? throw Oops.Oh(ErrorCode.COM1008) : result.IsSuccess ? "报废成功" : result.ErrorMessage;
}
}
}