using JNPF.Common.Core.Manager; using JNPF.Common.Dtos.VisualDev; using JNPF.Common.Enums; using JNPF.Common.Security; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.FriendlyException; using JNPF.VisualDev; using JNPF.VisualDev.Entitys; using JNPF.VisualDev.Interfaces; using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json; using SqlSugar; using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities.Dto; 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) { var 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(); }); if(!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); return result.IsSuccess ? "报废成功" : result.ErrorMessage; } } }