diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/ProducttListOutput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/ProducttListOutput.cs new file mode 100644 index 00000000..f4561ecb --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/ProducttListOutput.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tnb.EquipMgr.Entities.Dto +{ + /// + /// 产品列表输出类 + /// + public class ProductListOutput + { + public string id { get; set; } + public string product_code { get; set; } + public string product_name { get; set; } + public string product_standard { get; set; } + public string product_group { get; set; } + public int real_cavity_qty { get; set; } + } + /// + /// 模具列表输出类 + /// + public class MoldListOutput + { + public string id { get; set; } + public string mold_code { get; set; } + public string mold_name { get; set; } + public int cavity_qty { get; set; } + public int real_cavity_qty { get; set; } + } +} diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Dto/ToolMoldInput.cs b/EquipMgr/Tnb.EquipMgr.Entities/Dto/ToolMoldInput.cs new file mode 100644 index 00000000..5b7ea819 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Entities/Dto/ToolMoldInput.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tnb.EquipMgr.Entities.Dto +{ + public class ToolMoldInput + { + public string mold { get; set; } + public string[] equipid { get; set; } + public string productid { get; set; } + public int real_cavity_qty { get; set; } + public string[] productids { get; set; } + + public string[] molds { get; set; } + } + +} diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/BasProduct.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/BasProduct.cs new file mode 100644 index 00000000..d6ff9f62 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/BasProduct.cs @@ -0,0 +1,128 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SqlSugar; +using Tnb.Common.Contracts; + +namespace Tnb.EquipMgr.Entities.Entity +{ /// + ///产品信息 + /// + [SugarTable("bas_product")] + public partial class BasProduct : BaseEntity + { + public BasProduct() + { + + + } + + /// + /// Desc:产品分类ID + /// Default: + /// Nullable:False + /// + public string categoryid { get; set; } + + /// + /// Desc:关联比例 + /// Default: + /// Nullable:True + /// + public decimal? relation_ratio { get; set; } + + /// + /// Desc:创建时间 + /// Default: + /// Nullable:True + /// + public DateTime? create_time { get; set; } + + /// + /// Desc:修改时间 + /// Default: + /// Nullable:True + /// + public DateTime? modify_time { get; set; } + + /// + /// Desc:扩展字段 + /// Default: + /// Nullable:True + /// + public string extras { get; set; } + + /// + /// Desc:所属组织 + /// Default:NULL::character varying + /// Nullable:True + /// + public string org_id { get; set; } + + /// + /// Desc:产品规格型号 + /// Default:NULL::character varying + /// Nullable:True + /// + public string product_standard { get; set; } + + /// + /// Desc:产品类型: 半成品:SemiManufacture 成品:FinishedProduct + /// Default:NULL::character varying + /// Nullable:True + /// + public string product_type { get; set; } + + /// + /// Desc:物料ID,BAS_MATERIAL.ID + /// Default:NULL::character varying + /// Nullable:True + /// + public string material_id { get; set; } + + /// + /// Desc:备注 + /// Default:NULL::character varying + /// Nullable:True + /// + public string remark { get; set; } + + /// + /// Desc:时间戳(用于并发控制) + /// Default:NULL::character varying + /// Nullable:True + /// + public string timestamp { get; set; } + + /// + /// Desc:创建用户 + /// Default:NULL::character varying + /// Nullable:True + /// + public string create_id { get; set; } + + /// + /// Desc:修改用户 + /// Default:NULL::character varying + /// Nullable:True + /// + public string modify_id { get; set; } + + /// + /// Desc:产品名称 + /// Default:NULL::character varying + /// Nullable:True + /// + public string product_name { get; set; } + + /// + /// Desc:产品代码 + /// Default: + /// Nullable:False + /// + public string product_code { get; set; } + + } +} diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs new file mode 100644 index 00000000..c3ea7e12 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMolds.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SqlSugar; +using Tnb.Common.Contracts; + +namespace Tnb.EquipMgr.Entities.Entity +{ + /// + ///模具信息表 + /// + [SugarTable("tool_molds")] + public partial class ToolMolds : BaseEntity + { + public ToolMolds() + { + + + } + /// + /// Desc:模穴数 + /// Default: + /// Nullable:True + /// + public int? mold_cavity { get; set; } + + + /// + /// Desc:生产模数 + /// Default: + /// Nullable:True + /// + public int? production_modulus { get; set; } + + /// + /// Desc:日定额 + /// Default: + /// Nullable:True + /// + public decimal? daily_rate { get; set; } + + /// + /// Desc:工时定额(H/PCS) + /// Default: + /// Nullable:True + /// + public decimal? hour_norm { get; set; } + + /// + /// Desc:成长周期 + /// Default: + /// Nullable:True + /// + public int? growth_cycle { get; set; } + + /// + /// Desc:模具寿命 + /// Default: + /// Nullable:True + /// + public int? mold_life { get; set; } + + /// + /// Desc:备注 + /// Default: + /// Nullable:True + /// + public string remark { get; set; } + + /// + /// Desc:模具编号 + /// Default:NULL::character varying + /// Nullable:True + /// + public string mold_code { get; set; } + + /// + /// Desc:模具名称 + /// Default:NULL::character varying + /// Nullable:True + /// + public string mold_name { get; set; } + + /// + /// Desc:设备Id + /// Default:NULL::character varying + /// Nullable:True + /// + public string eqp_id { get; set; } + + /// + /// Desc:设备代码 + /// Default:NULL::character varying + /// Nullable:True + /// + public string eqp_code { get; set; } + + /// + /// Desc:磨具使用状态 + /// Default:NULL::character varying + /// Nullable:True + /// + public string mold_status { get; set; } + + /// + /// Desc:保养模次 + /// Default: + /// Nullable:True + /// + public int? maintain_qty { get; set; } + + /// + /// Desc:型腔数 + /// Default: + /// Nullable:True + /// + public int? cavity_qty { get; set; } + + /// + /// Desc:创建时间 + /// Default: + /// Nullable:True + /// + public DateTime? create_time { get; set; } + + /// + /// Desc:修改时间 + /// Default: + /// Nullable:True + /// + public DateTime? modify_time { get; set; } + + /// + /// Desc:扩展字段 + /// Default: + /// Nullable:True + /// + public string extras { get; set; } + + /// + /// Desc:模具剩余寿命 + /// Default:NULL::character varying + /// Nullable:True + /// + public string mold_remaining_life { get; set; } + + /// + /// Desc:库房编号 + /// Default:NULL::character varying + /// Nullable:True + /// + public string warehosue_id { get; set; } + + /// + /// Desc:库位编号 + /// Default:NULL::character varying + /// Nullable:True + /// + public string location_id { get; set; } + + /// + /// Desc:创建用户 + /// Default:NULL::character varying + /// Nullable:True + /// + public string create_id { get; set; } + + /// + /// Desc:修改用户 + /// Default:NULL::character varying + /// Nullable:True + /// + public string modify_id { get; set; } + + /// + /// Desc:模具型号 + /// Default: + /// Nullable:True + /// + public string mold_type_code { get; set; } + + /// + /// Desc:物料Id + /// Default:NULL::character varying + /// Nullable:True + /// + public string material_id { get; set; } + + } +} diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldsEquipment.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldsEquipment.cs new file mode 100644 index 00000000..d3739642 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldsEquipment.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SqlSugar; +using Tnb.Common.Contracts; + +namespace Tnb.EquipMgr.Entities.Entity +{ + // + ///模具设备关联表 + /// + [SugarTable("tool_molds_equipment")] + public partial class ToolMoldsEquipment : BaseEntity + { + public ToolMoldsEquipment() { } + + /// + /// Desc:模具编号 + /// Default: + /// Nullable:False + /// + public string mold_id { get; set; } + + /// + /// Desc:设备编号 + /// Default: + /// Nullable:False + /// + public string equipment_id { get; set; } + + /// + /// Desc:创建用户 + /// Default:NULL::character varying + /// Nullable:True + /// + public string create_id { get; set; } + + /// + /// Desc:创建时间 + /// Default: + /// Nullable:False + /// + public DateTime create_time { get; set; } + + /// + /// Desc:修改用户 + /// Default:NULL::character varying + /// Nullable:True + /// + public string modify_id { get; set; } + + /// + /// Desc:修改时间 + /// Default: + /// Nullable:True + /// + public DateTime? modify_time { get; set; } + + + } +} diff --git a/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldsProduct.cs b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldsProduct.cs new file mode 100644 index 00000000..452adec2 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Entities/Entity/ToolMoldsProduct.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SqlSugar; +using Tnb.Common.Contracts; + +namespace Tnb.EquipMgr.Entities.Entity +{ + /// + ///模具产品关联表 + /// + [SugarTable("tool_molds_product")] + public partial class ToolMoldsProduct : BaseEntity + { + public ToolMoldsProduct() + { + + + } + + /// + /// Desc:模具编号 + /// Default: + /// Nullable:False + /// + public string mold_id { get; set; } + + /// + /// Desc:产品编号 + /// Default: + /// Nullable:False + /// + public string product_id { get; set; } + + /// + /// Desc:创建时间 + /// Default: + /// Nullable:False + /// + public DateTime create_time { get; set; } + + /// + /// Desc:创建用户 + /// Default:NULL::character varying + /// Nullable:True + /// + public string create_id { get; set; } + + /// + /// Desc:修改用户 + /// Default:NULL::character varying + /// Nullable:True + /// + public string modify_id { get; set; } + + /// + /// Desc:修改时间 + /// Default: + /// Nullable:True + /// + public DateTime? modify_time { get; set; } + + /// + /// Desc:实际使用型腔数 + /// Default: + /// Nullable:True + /// + public int? real_cavity_qty { get; set; } + /// + /// Desc:产品同组标识 + /// Default:NULL::character varying + /// Nullable:True + /// + public string product_group { get; set; } + } +} diff --git a/EquipMgr/Tnb.EquipMgr.Interfaces/IToolMoldProductService.cs b/EquipMgr/Tnb.EquipMgr.Interfaces/IToolMoldProductService.cs new file mode 100644 index 00000000..b7768fe7 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Interfaces/IToolMoldProductService.cs @@ -0,0 +1,64 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Tnb.EquipMgr.Entities.Dto; + +namespace Tnb.EquipMgr.Interfaces +{ + public interface IToolMoldProductService + { + /// + /// 根据模具id获取设备集合 + /// + /// + /// + public Task> GetProductLists(ToolMoldInput ToolMoldInput); + /// + /// 增加模具产品绑定 + /// + /// + /// + /// + /// + public Task SaveData(ToolMoldInput ToolMoldInput); + /// + /// 批量删除模具产品绑定 + /// + /// + /// + /// + public Task DetachMoldData(ToolMoldInput ToolMoldInput); + /// + /// 产品同组 + /// + /// + /// + /// + public Task SaveProductGroup(ToolMoldInput ToolMoldInput); + /// + /// 取消产品同组 + /// + /// + /// + /// + public Task CancelProductGroup(ToolMoldInput ToolMoldInput); + + /// + /// 根据产品id获取模具集合 + /// + /// + /// + public Task> GetMoldLists(ToolMoldInput ToolMoldInput); + /// + /// 批量删除产品模具绑定 + /// + /// + /// + /// + + public Task DetachProductData(ToolMoldInput ToolMoldInput); + } +} diff --git a/EquipMgr/Tnb.EquipMgr.Interfaces/IToolMoldsService.cs b/EquipMgr/Tnb.EquipMgr.Interfaces/IToolMoldsService.cs new file mode 100644 index 00000000..18539dc2 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr.Interfaces/IToolMoldsService.cs @@ -0,0 +1,33 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tnb.EquipMgr.Entities.Dto; + +namespace Tnb.EquipMgr.Interfaces +{ + public interface IToolMoldsService + { + /// + /// 根据模具id获取设备集合 + /// + /// + /// + public Task> GetEquipmentLists(ToolMoldInput ToolMoldInput); + /// + /// 增加模具设备绑定 + /// + /// + /// + /// + public Task SaveData(ToolMoldInput ToolMoldInput); + /// + /// 批量删除模具设备绑定 + /// + /// + /// + /// + public Task DetachData(ToolMoldInput ToolMoldInput); + } +} diff --git a/EquipMgr/Tnb.EquipMgr/ToolMoldProductService.cs b/EquipMgr/Tnb.EquipMgr/ToolMoldProductService.cs new file mode 100644 index 00000000..aa357dcd --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr/ToolMoldProductService.cs @@ -0,0 +1,192 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Aspose.Cells.Drawing; +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.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 ToolMoldProductService : IToolMoldProductService, IDynamicApiController, ITransient + { + private readonly IUserManager _userManager; + private readonly ISqlSugarRepository _repository; + public ToolMoldProductService(IUserManager userManager, ISqlSugarRepository repository) + { + _userManager = userManager; + _repository = repository; + } + /// + /// 根据模具id获取产品集合 + /// + /// + /// + [HttpPost] + public async Task> GetProductLists(ToolMoldInput ToolMoldInput) + { + var db = _repository.AsSugarClient(); + var list = await db.Queryable((a, b) => new object[] + { + JoinType.Inner, a.id == b.product_id, + }) + .Where((a, b) => b.mold_id == ToolMoldInput.mold) + .Select((a, b) => new ProductListOutput + { + id = a.id, + product_code = a.product_code, + product_name = a.product_name, + product_standard = a.product_standard, + product_group=b.product_group, + real_cavity_qty = b.real_cavity_qty.HasValue ? b.real_cavity_qty.Value : 0 + }).ToListAsync(); + return list; + } + /// + /// 增加模具产品绑定 + /// + /// + /// + /// + /// + [HttpPost] + public async Task SaveData(ToolMoldInput ToolMoldInput) + { + DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => + { + var ToolMoldsProduct= await _repository.AsSugarClient().Queryable().Where(p=>p.mold_id== ToolMoldInput.mold&&p.product_id== ToolMoldInput.productid).FirstAsync(); + if (ToolMoldsProduct == null) + { + var entity = new ToolMoldsProduct(); + entity.id = SnowflakeIdHelper.NextId(); + entity.mold_id = ToolMoldInput.mold; + entity.product_id = ToolMoldInput.productid; + entity.real_cavity_qty = ToolMoldInput.real_cavity_qty; + entity.create_time = DateTime.Now; + entity.create_id = _userManager.UserId; + await _repository.AsSugarClient().Insertable(entity).ExecuteCommandAsync(); + } + else { + ToolMoldsProduct.real_cavity_qty= ToolMoldInput.real_cavity_qty; + await _repository.AsSugarClient().Updateable(ToolMoldsProduct).ExecuteCommandAsync(); + } + + + }); + if (!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); + return result.IsSuccess ? "保存成功" : result.ErrorMessage; + + + } + /// + /// 批量删除模具产品绑定 + /// + /// + /// + /// + [HttpPost] + public async Task DetachMoldData(ToolMoldInput ToolMoldInput) + { + DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => + { + var arr = _repository.AsSugarClient().Queryable().Where(x => x.mold_id == ToolMoldInput.mold && ToolMoldInput.productids.Contains(x.product_id)).ToList(); + await _repository.AsSugarClient().Deleteable(arr).ExecuteCommandAsync(); + + }); + if (!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); + return result.IsSuccess ? "操作成功" : result.ErrorMessage; + } + /// + /// 产品同组 + /// + /// + /// + /// + [HttpPost] + public async Task SaveProductGroup(ToolMoldInput ToolMoldInput) + { + DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => + { + var arr = _repository.AsSugarClient().Queryable().Where(x => x.mold_id == ToolMoldInput.mold && ToolMoldInput.productids.Contains(x.product_id)).ToList(); + var sign = SnowflakeIdHelper.NextId(); + arr.ForEach(p => { p.product_group = sign; }); + await _repository.AsSugarClient().Updateable(arr).ExecuteCommandAsync(); + + }); + if (!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); + return result.IsSuccess ? "操作成功" : result.ErrorMessage; + } + /// + /// 取消产品同组 + /// + /// + /// + /// + public async Task CancelProductGroup(ToolMoldInput ToolMoldInput) + { + DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => + { + var arr = _repository.AsSugarClient().Queryable().Where(x => x.mold_id == ToolMoldInput.mold && ToolMoldInput.productids.Contains(x.product_id)).ToList(); + arr.ForEach(p => { p.product_group = string.Empty; }); + await _repository.AsSugarClient().Updateable(arr).ExecuteCommandAsync(); + + }); + if (!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); + return result.IsSuccess ? "操作成功" : result.ErrorMessage; + } + /// + /// 根据产品id获取模具集合 + /// + /// + /// + [HttpPost] + public async Task> GetMoldLists(ToolMoldInput ToolMoldInput) + { + var db = _repository.AsSugarClient(); + var list = await db.Queryable((a, b) => new object[] + { + JoinType.Inner, a.id == b.mold_id, + }) + .Where((a, b) => b.product_id == ToolMoldInput.productid) + .Select((a, b) => new MoldListOutput + { + id = a.id, + mold_code = a.mold_code, + mold_name = a.mold_name, + cavity_qty = a.cavity_qty.HasValue ? a.cavity_qty.Value : 0, + real_cavity_qty = b.real_cavity_qty.HasValue ? b.real_cavity_qty.Value : 0 + }).ToListAsync(); + return list; + } + /// + /// 批量删除产品模具绑定 + /// + /// + /// + /// + [HttpPost] + public async Task DetachProductData(ToolMoldInput ToolMoldInput) + { + DbResult result = await _repository.AsSugarClient().Ado.UseTranAsync(async () => + { + var arr = _repository.AsSugarClient().Queryable().Where(x => ToolMoldInput.molds.Contains(x.mold_id) && x.product_id == ToolMoldInput.productid).ToList(); + await _repository.AsSugarClient().Deleteable(arr).ExecuteCommandAsync(); + }); + if (!result.IsSuccess) throw Oops.Oh(ErrorCode.COM1008); + return result.IsSuccess ? "操作成功" : result.ErrorMessage; + } + } +} diff --git a/EquipMgr/Tnb.EquipMgr/ToolMoldsService.cs b/EquipMgr/Tnb.EquipMgr/ToolMoldsService.cs new file mode 100644 index 00000000..0c5c02e5 --- /dev/null +++ b/EquipMgr/Tnb.EquipMgr/ToolMoldsService.cs @@ -0,0 +1,108 @@ +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; + } + } +}