using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Aop.Api.Domain; using Aspose.Cells.Drawing; using JNPF.Common.Core.Manager; using JNPF.Common.Enums; using JNPF.Common.Filter; using JNPF.Common.Security; using JNPF.DependencyInjection; using JNPF.DynamicApiController; using JNPF.FriendlyException; using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc; using SqlSugar; using Tnb.EquipMgr.Entities; using Tnb.EquipMgr.Entities.Dto; using Tnb.EquipMgr.Entities.Entity; using Tnb.EquipMgr.Interfaces; namespace Tnb.EquipMgr { /// /// 模具管理 /// [ApiDescriptionSettings(Tag = ModuleConsts.Tag, Area = ModuleConsts.Area, Order = 700)] [Route("api/[area]/[controller]/[action]")] public class ToolMoldsService : IToolMoldsService, IDynamicApiController, ITransient { private readonly IUserManager _userManager; private readonly ISqlSugarRepository _repository; public ToolMoldsService(IUserManager userManager, ISqlSugarRepository repository) { _userManager = userManager; _repository = repository; } /// /// 根据模具id获取设备集合 /// /// /// [HttpPost] public async Task> GetEquipmentLists(ToolMoldInput ToolMoldInput) { var db = _repository.AsSugarClient(); var list = await db.Queryable((a, b) => new object[] { JoinType.Inner, a.id == b.equipment_id, }) .Where((a, b) => b.mold_id == ToolMoldInput.mold) .Select((a, b) => new EquipmentListOutput { id = a.id, eqp_code=a.code, eqp_name=a.name }).ToListAsync(); return list; } /// /// 增加模具设备绑定 /// /// /// /// [HttpPost] public async Task SaveData(ToolMoldInput ToolMoldInput) { DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => { var list = new List(); foreach (var equip in ToolMoldInput.equipid) { var entity = new ToolMoldsEquipment(); entity.id = SnowflakeIdHelper.NextId(); entity.mold_id = ToolMoldInput.mold; entity.equipment_id = equip; entity.create_time = DateTime.Now; entity.create_id = _userManager.UserId; list.Add(entity); } await _repository.AsSugarClient().Insertable(list).ExecuteCommandAsync(); }); if (!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); return result.IsSuccess ? "保存成功" : result.ErrorMessage; } /// /// 批量删除模具设备绑定 /// /// /// /// [HttpPost] public async Task DetachData(ToolMoldInput ToolMoldInput) { DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => { var arr = _repository.AsSugarClient().Queryable().Where(x => x.mold_id == ToolMoldInput.mold && ToolMoldInput.equipid.Contains(x.equipment_id)).ToList(); await _repository.AsSugarClient().Deleteable(arr).ExecuteCommandAsync(); }); if (!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); return result.IsSuccess ? "操作成功" : result.ErrorMessage; } } }