diff --git a/src/WMS.Web.Core/Dto/OpsBoxResponse.cs b/src/WMS.Web.Core/Dto/OpsBoxResponse.cs index 6e861dba..2ee37dfc 100644 --- a/src/WMS.Web.Core/Dto/OpsBoxResponse.cs +++ b/src/WMS.Web.Core/Dto/OpsBoxResponse.cs @@ -36,25 +36,20 @@ namespace WMS.Web.Core.Dto [JsonProperty("CompleteCartonTime")] public string CompleteCartonTime { get; set; } /// - /// 箱子的创建时间 - /// - [JsonProperty("cartonCreateTime")] - public string cartonCreateTime { get; set; } - /// /// 箱子创建用户 /// [JsonProperty("BoxUser")] - public string BoxUser { get; set; } + public string CreateUser { get; set; } /// /// 创建时间(对应老OPS的创建时间) /// - [JsonProperty("CreateTime")] + [JsonProperty("cartonCreateTime")] public DateTime CreateTime { get; set; } = DateTime.Now; /// /// 明细 /// [JsonProperty("BoxReturnDetails")] - public List Details = new List(); + public List Details { get; set; } = new List(); } public class SerialNumbersResponse { @@ -64,15 +59,15 @@ namespace WMS.Web.Core.Dto [JsonProperty("sn")] public string SerialNumber { get; set; } /// - /// 条码生成时间 + /// 序列号生成时间 /// [JsonProperty("barCreateTime")] - public string barCreateTime { get; set; } + public string BarCreateTime { get; set; } /// - /// 条码生成用户 + /// 序列号生成用户 /// [JsonProperty("barCereateUser")] - public string barCereateUser { get; set; } + public string BarCereateUser { get; set; } } public class OpsBoxDetailsResponse { diff --git a/src/WMS.Web.Domain/Entitys/Box.cs b/src/WMS.Web.Domain/Entitys/Box.cs index 2083e5ff..c6492641 100644 --- a/src/WMS.Web.Domain/Entitys/Box.cs +++ b/src/WMS.Web.Domain/Entitys/Box.cs @@ -26,7 +26,6 @@ namespace WMS.Web.Domain.Entitys /// 对应老OPS的箱ID /// public int OpsBoxId { get; set; } - /// /// 箱编号(老OPS生成的箱号) /// @@ -40,6 +39,14 @@ namespace WMS.Web.Domain.Entitys /// public int? OrgId { get; set; } /// + /// 完成装箱时间 + /// + public string CompleteCartonTime { get; set; } + /// + /// 箱子创建用户 + /// + public string CreateUser { get; set; } + /// /// 创建时间(对应老OPS的创建时间) /// public DateTime CreateTime { get; set; } = DateTime.Now; diff --git a/src/WMS.Web.Domain/Entitys/SerialNumberOperate.cs b/src/WMS.Web.Domain/Entitys/SerialNumberOperate.cs new file mode 100644 index 00000000..7093f551 --- /dev/null +++ b/src/WMS.Web.Domain/Entitys/SerialNumberOperate.cs @@ -0,0 +1,68 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations.Schema; +using System.Text; +using WMS.Web.Core; +using WMS.Web.Domain.Values; + +namespace WMS.Web.Domain.Entitys +{ + /// + /// 序列号操作记录表 + /// + [Serializable] + [Table("t_wms_serialnumberoperate")] + public class SerialNumberOperate : EntityBase + { + public SerialNumberOperate() { } + public SerialNumberOperate(string serialNumber, SerialNumberOperateType operateType, string operateUser, string remark, + int? supplierId = null, int? orgId = null, int? stockId = null, + DateTime? operateTime = null) + { + this.SerialNumber = serialNumber; + this.OperateType = operateType; + this.OperateUser = operateUser; + this.Remark = remark; + this.SupplierId = supplierId == null ? 0 : (int)supplierId; + this.OrgId = orgId == null ? 0 : (int)orgId; + this.StockId = stockId == null ? 0 : (int)stockId; + this.OperateTime = operateTime == null ? DateTime.Now : (DateTime)operateTime; + } + /// + /// ID + /// + public override int Id { get; set; } + /// + /// 序列号 + /// + public string SerialNumber { get; set; } + /// + /// 序列号操作类型 + /// + public SerialNumberOperateType OperateType { get; set; } = SerialNumberOperateType.Generate; + /// + /// 供应商Id + /// + public int SupplierId { get; set; } = 0; + /// + /// 组织Id + /// + public int OrgId { get; set; } = 0; + /// + /// 仓库Id + /// + public int StockId { get; set; } = 0; + /// + /// 操作时间 + /// + public DateTime OperateTime { get; set; } = DateTime.Now; + /// + /// 操作人 + /// + public string OperateUser { get; set; } + /// + /// 备注 + /// + public string Remark { get; set; } + } +} diff --git a/src/WMS.Web.Domain/Infrastructure/ISerialNumberOperateRepositories.cs b/src/WMS.Web.Domain/Infrastructure/ISerialNumberOperateRepositories.cs new file mode 100644 index 00000000..8ce25562 --- /dev/null +++ b/src/WMS.Web.Domain/Infrastructure/ISerialNumberOperateRepositories.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Domain.Entitys; + +namespace WMS.Web.Domain.Infrastructure +{ + public interface ISerialNumberOperateRepositories + { + /// + /// 批量添加 + /// + /// + /// + /// + Task AddRange(List entitys, bool isTransaction = true); + } +} diff --git a/src/WMS.Web.Domain/Mappers/BoxMapper.cs b/src/WMS.Web.Domain/Mappers/BoxMapper.cs index 991368d2..5c1114c7 100644 --- a/src/WMS.Web.Domain/Mappers/BoxMapper.cs +++ b/src/WMS.Web.Domain/Mappers/BoxMapper.cs @@ -1,6 +1,7 @@ using AutoMapper; using System; using System.Collections.Generic; +using System.Linq; using System.Text; using WMS.Web.Core.Dto; using WMS.Web.Domain.Entitys; @@ -18,7 +19,8 @@ namespace WMS.Web.Domain.Mappers CreateMap(); CreateMap(); - CreateMap(); + CreateMap() + .ForPath(x => x.SerialNumbers, ops => ops.MapFrom(x => x.SerialNumbers.Select(s=>s.SerialNumber).ToList())); } } } diff --git a/src/WMS.Web.Domain/Services/Public/OpsService.cs b/src/WMS.Web.Domain/Services/Public/OpsService.cs index 5f12c9d5..fdf3e204 100644 --- a/src/WMS.Web.Domain/Services/Public/OpsService.cs +++ b/src/WMS.Web.Domain/Services/Public/OpsService.cs @@ -39,14 +39,14 @@ namespace WMS.Web.Domain.Services.Public List ss = new List(); ss.Add(new SerialNumbersResponse() { SerialNumber="sss", - barCereateUser="sdf", - barCreateTime="20-20-20" + BarCereateUser="sdf", + BarCreateTime="20-20-20" }); ss.Add(new SerialNumbersResponse() { SerialNumber = "sss2", - barCereateUser = "sdf2", - barCreateTime = "20-20-20" + BarCereateUser = "sdf2", + BarCreateTime = "20-20-20" }); details.Add(new OpsBoxDetailsResponse() { diff --git a/src/WMS.Web.Domain/Values/SerialNumberOperateType.cs b/src/WMS.Web.Domain/Values/SerialNumberOperateType.cs new file mode 100644 index 00000000..69519cba --- /dev/null +++ b/src/WMS.Web.Domain/Values/SerialNumberOperateType.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace WMS.Web.Domain.Values +{ + /// + /// 序列号操作类型 + /// + public enum SerialNumberOperateType + { + Generate = 0 + } +} diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs index d91f6e53..23d946af 100644 --- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs +++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs @@ -30,7 +30,7 @@ namespace WMS.Web.Repositories.Configuration } protected override void OnModelCreating(ModelBuilder builder) - { + { //改箱 builder.Entity(ent => @@ -48,7 +48,14 @@ namespace WMS.Web.Repositories.Configuration ent.ToTable("t_wms_movebox_record"); ent.HasKey(x => x.Id); }); - + + //序列号操作记录 + builder.Entity(ent => + { + ent.ToTable("t_wms_serialnumberoperate"); + ent.HasKey(x => x.Id); + }); + #region 出库单 builder.Entity(ent => { @@ -66,7 +73,7 @@ namespace WMS.Web.Repositories.Configuration ent.HasKey(x => x.Id); }); #endregion - + #region 出库任务单 builder.Entity(ent => { @@ -84,7 +91,7 @@ namespace WMS.Web.Repositories.Configuration ent.HasKey(x => x.Id); }); #endregion - + #region 盘点单 builder.Entity(ent => { @@ -223,6 +230,7 @@ namespace WMS.Web.Repositories.Configuration base.OnModelCreating(builder); } + public DbSet SerialNumberOperate { get; set; } public DbSet ChangeBoxRecord { get; set; } public DbSet MoveBoxRecord { get; set; } public DbSet OutStock { get; set; } diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs index 30fe3703..4109dc07 100644 --- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs +++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs @@ -42,10 +42,10 @@ namespace Microsoft.Extensions.DependencyInjection services.AddTransient(); services.AddTransient(); services.AddTransient(); - + services.AddTransient(); services.AddTransient(); services.AddTransient(); services.AddTransient(); diff --git a/src/WMS.Web.Repositories/SerialNumberOperateRepositories.cs b/src/WMS.Web.Repositories/SerialNumberOperateRepositories.cs new file mode 100644 index 00000000..a458bc4b --- /dev/null +++ b/src/WMS.Web.Repositories/SerialNumberOperateRepositories.cs @@ -0,0 +1,50 @@ +using AutoMapper; +using Microsoft.EntityFrameworkCore.Storage; +using System; +using System.Collections.Generic; +using System.Text; +using System.Threading.Tasks; +using WMS.Web.Domain.Entitys; +using WMS.Web.Domain.Infrastructure; +using WMS.Web.Repositories.Configuration; + +namespace WMS.Web.Repositories +{ + public class SerialNumberOperateRepositories: ISerialNumberOperateRepositories + { + private readonly IMapper _mapper; + private readonly IServiceProvider _serviceProvider; + private readonly RepositoryDbContext _context; + + public SerialNumberOperateRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider) + { + _context = context; + _mapper = mapper; + _serviceProvider = serviceProvider; + } + + public async Task AddRange(List entitys, bool isTransaction = true) + { + IDbContextTransaction _transaction = null; + if (isTransaction) + _transaction = _context.Database.BeginTransaction(); + try + { + if (entitys != null && entitys.Count != 0) + { + await _context.SerialNumberOperate.AddRangeAsync(entitys); + await _context.SaveChangesAsync(); + } + if (_transaction != null) + _transaction.Commit(); + return true; + } + catch + { + if (_transaction != null) + _transaction.Rollback(); + return false; + } + } + } +}