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 { /// /// 设备保养计划执行管理 /// [ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)] [Route("api/[area]/[controller]/[action]")] public class EqpEquipScrapService : IEqpEquipScrapService, IDynamicApiController, ITransient { private readonly ISqlSugarRepository _repository; private readonly IUserManager _userManager; public EqpEquipScrapService(ISqlSugarRepository repository, IUserManager userManager) { _repository = repository; _userManager = userManager; // OverideFuncs.UpdateAsync = ExecuteSpotIns; } [HttpPost] public async Task Scrap(EqpEquipScrap eqpEquipScrap) { ISqlSugarClient db = _repository.AsSugarClient(); DbResult 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().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; } } }