diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index df8852dc..2e3e084f 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -995,6 +995,26 @@ 明细备注 + + + 箱信息和任务单绑定 + + + + + ID + + + + + 入库任务单ID + + + + + 箱信息ID + + 修改-入库任务单-明细对象 @@ -1030,6 +1050,11 @@ 单据ID + + + 箱集合 + + 明细 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index 7bf76156..d1146290 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -410,6 +410,11 @@ 入库时间(上架时间) + + + 箱信息集合 + + 明细 @@ -439,6 +444,27 @@ + + + erp入库任务单的对应box箱信息表 + 比例是:1:N ,一个任务单对应多个box箱号 + + + + + Id + + + + + 入库任务单ID + + + + + 箱号ID + + erp入库任务明细表 diff --git a/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskBoxRequest.cs b/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskBoxRequest.cs new file mode 100644 index 00000000..32d94931 --- /dev/null +++ b/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskBoxRequest.cs @@ -0,0 +1,26 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Core.Dto.InStockTask +{ + /// + /// 箱信息和任务单绑定 + /// + public class UpdateInStockTaskBoxRequest : EntityBase + { + /// + /// ID + /// + public override int Id { get; set; } = 0; + /// + /// 入库任务单ID + /// + public int TaskId { get; set; } + + /// + /// 箱信息ID + /// + public int BoxId { get; set; } + } +} diff --git a/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskRequest.cs b/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskRequest.cs index e471549d..3439d3b5 100644 --- a/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskRequest.cs +++ b/src/WMS.Web.Core/Dto/InStockTask/UpdateInStockTaskRequest.cs @@ -16,6 +16,12 @@ namespace WMS.Web.Core.Dto.InStockTask [Required(ErrorMessage = "唯一编号不能未空")] public int Id { get; set; } + /// + /// 箱集合 + /// + public List Boxs { get; set; } = new List(); + + /// /// 明细 /// diff --git a/src/WMS.Web.Domain/Entitys/InStockTaskBox.cs b/src/WMS.Web.Domain/Entitys/InStockTaskBox.cs new file mode 100644 index 00000000..07654af7 --- /dev/null +++ b/src/WMS.Web.Domain/Entitys/InStockTaskBox.cs @@ -0,0 +1,32 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Text; +using WMS.Web.Core; + +namespace WMS.Web.Domain.Entitys +{ + /// + /// erp入库任务单的对应box箱信息表 + /// 比例是:1:N ,一个任务单对应多个box箱号 + /// + [Serializable] + [Table("t_erp_instock_task_box")] + public class InStockTaskBox:EntityBase + { + /// + /// Id + /// + public override int Id { get; set; } + + /// + /// 入库任务单ID + /// + public int TaskId { get; set; } + + /// + /// 箱号ID + /// + public int BoxId { get; set; } + } +} diff --git a/src/WMS.Web.Domain/Entitys/InstockTask.cs b/src/WMS.Web.Domain/Entitys/InstockTask.cs index 706eb927..db864b24 100644 --- a/src/WMS.Web.Domain/Entitys/InstockTask.cs +++ b/src/WMS.Web.Domain/Entitys/InstockTask.cs @@ -50,6 +50,11 @@ namespace WMS.Web.Domain.Entitys /// public DateTime? ShelfTime { get; set; } + /// + /// 箱信息集合 + /// + public List Boxs = new List(); + /// /// 明细 /// diff --git a/src/WMS.Web.Domain/Mappers/InStockMapper.cs b/src/WMS.Web.Domain/Mappers/InStockMapper.cs index 97c7e6d6..f7d1f585 100644 --- a/src/WMS.Web.Domain/Mappers/InStockMapper.cs +++ b/src/WMS.Web.Domain/Mappers/InStockMapper.cs @@ -20,6 +20,7 @@ namespace WMS.Web.Domain.Mappers .ForMember(x => x.Details, opt => opt.Ignore()) .ReverseMap(); CreateMap().ReverseMap(); + CreateMap().ReverseMap(); CreateMap().ReverseMap(); diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs index b3c31b6b..5f767a07 100644 --- a/src/WMS.Web.Domain/Services/InStockService.cs +++ b/src/WMS.Web.Domain/Services/InStockService.cs @@ -150,6 +150,8 @@ namespace WMS.Web.Domain.Services entity = _mapper.Map(dto, entity); //子集单独映射 + entity.Boxs = _mapper.ToMapList(dto.Boxs, entity.Boxs); + //子集单独映射 entity.Details = _mapper.ToMapList(dto.Details, entity.Details); if (isReceive) entity.Receive(staffId); diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs index 26d0c222..d91f6e53 100644 --- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs +++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs @@ -126,11 +126,19 @@ namespace WMS.Web.Repositories.Configuration { ent.ToTable("t_erp_instock_task"); ent.HasKey(x => x.Id); - ent.HasMany(p => p.Details) .WithOne() .HasForeignKey(p => p.Fid) .OnDelete(DeleteBehavior.Cascade); + ent.HasMany(p => p.Boxs) + .WithOne() + .HasForeignKey(p => p.TaskId) + .OnDelete(DeleteBehavior.Cascade); + }); + builder.Entity(ent => + { + ent.ToTable("t_erp_instock_task_box"); + ent.HasKey(x => x.Id); }); builder.Entity(ent => { @@ -226,6 +234,7 @@ namespace WMS.Web.Repositories.Configuration public DbSet Instock { get; set; } public DbSet InStockDetails { get; set; } public DbSet InStockTask { get; set; } + public DbSet InstockTaskBox { get; set; } public DbSet InStockTaskDetails { get; set; } public DbSet BackRecord { get; set; } public DbSet BackRecordDetails { get; set; }