using JNPF.Common.Enums; 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 EquSpotInsTemEquipService : IEquSpotInsTemEquipService, IDynamicApiController, ITransient { private readonly ISqlSugarRepository _repository; public EquSpotInsTemEquipService(ISqlSugarRepository repository) { _repository = repository; } [HttpPost] public async Task Stop(Dictionary parameters) { string id = parameters["id"]; DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => { _ = await _repository.UpdateAsync(x => new EqpSpotInsTemEquipH() { is_start = "0" }, x => x.id == id); List ids = await _repository.AsSugarClient().Queryable() .Where(x => x.spot_ins_tem_equip_id == id && x.status == SpotInsRecordExecutionStatus.TOBEEXECUTED) .Select(x => x.id).ToListAsync(); _ = await _repository.AsSugarClient().Deleteable() .Where(x => x.spot_ins_tem_equip_id == id && x.status == SpotInsRecordExecutionStatus.TOBEEXECUTED).ExecuteCommandAsync(); _ = await _repository.AsSugarClient().Deleteable() .Where(x => ids.Contains(x.spot_ins_record_id)).ExecuteCommandAsync(); }); if (!result.IsSuccess) { throw Oops.Oh(ErrorCode.COM1008); } } } }