diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index e5b83843..e50d7003 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -85,6 +85,101 @@
+
+
+ 出入库回退-查询请求对象
+
+
+
+
+ 箱号
+
+
+
+
+ 仓位ID
+
+
+
+
+ 操作人
+
+
+
+
+ 操作时间
+
+
+
+
+ 操作时间
+
+
+
+
+ 出入库回退-查询响应对象
+
+
+
+
+ ID
+
+
+
+
+ 明细ID
+
+
+
+
+ 所属箱号ID
+
+
+
+
+ 类型:1为入库回退下架,2为出库回退上架
+
+
+
+
+ 操作人
+
+
+
+
+ 操作时间
+
+
+
+
+ 物料名称
+
+
+
+
+ 物料编码
+
+
+
+
+ 物料规格型号
+
+
+
+
+ 数量
+
+
+
+
+ 仓位
+
+
+
+
+ 序列号集
+
+
改箱列表请求
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index 3e28250d..0bb5024b 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -915,6 +915,11 @@
+
+
+ 生成单据号
+
+
wms盘点单明细
@@ -980,6 +985,18 @@
备注
+
+
+ 出入库回退记录-仓储接口
+
+
+
+
+ 列表-分页
+
+
+
+
基础数据
diff --git a/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryRequest.cs b/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryRequest.cs
new file mode 100644
index 00000000..90f3c022
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryRequest.cs
@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto
+{
+ ///
+ /// 出入库回退-查询请求对象
+ ///
+ public class BackRecordQueryRequest: PaginationBaseRequestDto
+ {
+ ///
+ /// 箱号
+ ///
+ public string BoxBillNo { get; set; }
+
+ ///
+ /// 仓位ID
+ ///
+ public int? SubStockId { get; set; }
+
+ ///
+ /// 操作人
+ ///
+ public string Creator { get; set; }
+ ///
+ /// 操作时间
+ ///
+ public DateTime? CreateBeginDate { get; set; } = null;
+ ///
+ /// 操作时间
+ ///
+ public DateTime? CreateEndDate { get; set; } = null;
+ }
+}
diff --git a/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryResponse.cs b/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryResponse.cs
new file mode 100644
index 00000000..6b96c860
--- /dev/null
+++ b/src/WMS.Web.Core/Dto/BackRecord/BackRecordQueryResponse.cs
@@ -0,0 +1,65 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace WMS.Web.Core.Dto
+{
+ ///
+ /// 出入库回退-查询响应对象
+ ///
+ public class BackRecordQueryResponse
+ {
+ ///
+ /// ID
+ ///
+ public int Id { get; set; }
+
+ ///
+ /// 明细ID
+ ///
+ public int DetailsId { get; set; }
+
+ ///
+ /// 所属箱号ID
+ ///
+ public string BoxBillNo { get; set; }
+ ///
+ /// 类型:1为入库回退下架,2为出库回退上架
+ ///
+ public string Type { get; set; }
+ ///
+ /// 操作人
+ ///
+ public string Creator { get; set; }
+ ///
+ /// 操作时间
+ ///
+ public DateTime CreateTime { get; set; }
+
+ ///
+ /// 物料名称
+ ///
+ public string MaterialName { get; set; }
+ ///
+ /// 物料编码
+ ///
+ public string MaterialNumber { get; set; }
+ ///
+ /// 物料规格型号
+ ///
+ public string Specifications { get; set; }
+ ///
+ /// 数量
+ ///
+ public decimal Qty { get; set; }
+ ///
+ /// 仓位
+ ///
+ public string SubStock { get; set; }
+
+ ///
+ /// 序列号集
+ ///
+ public string SerialNumbers { get; set; }
+ }
+}
diff --git a/src/WMS.Web.Domain/Infrastructure/IBackRecordRepositories.cs b/src/WMS.Web.Domain/Infrastructure/IBackRecordRepositories.cs
new file mode 100644
index 00000000..67067323
--- /dev/null
+++ b/src/WMS.Web.Domain/Infrastructure/IBackRecordRepositories.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Threading.Tasks;
+using WMS.Web.Core.Dto;
+using WMS.Web.Core.Internal.Results;
+
+namespace WMS.Web.Domain.Infrastructure
+{
+ ///
+ /// 出入库回退记录-仓储接口
+ ///
+ public interface IBackRecordRepositories
+ {
+ ///
+ /// 列表-分页
+ ///
+ ///
+ ///
+ Task> GetPagedList(BackRecordQueryRequest dto);
+ }
+}
diff --git a/src/WMS.Web.Repositories/BackRecordRepositories.cs b/src/WMS.Web.Repositories/BackRecordRepositories.cs
new file mode 100644
index 00000000..4fd40e0a
--- /dev/null
+++ b/src/WMS.Web.Repositories/BackRecordRepositories.cs
@@ -0,0 +1,92 @@
+using AutoMapper;
+using Microsoft.EntityFrameworkCore;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using WMS.Web.Core;
+using WMS.Web.Core.Dto;
+using WMS.Web.Core.Internal.Results;
+using WMS.Web.Domain.Infrastructure;
+using WMS.Web.Domain.IService.Public;
+using WMS.Web.Repositories.Configuration;
+
+namespace WMS.Web.Repositories
+{
+ ///
+ /// 出入库回退记录-仓储
+ ///
+ public class BackRecordRepositories: IBackRecordRepositories
+ {
+ private readonly IMapper _mapper;
+ private readonly IServiceProvider _serviceProvider;
+ private readonly ILoginRepositories _loginRepositories;
+ private readonly RepositoryDbContext _context;
+ private readonly ISingleDataService _singleDataService;
+
+
+ public BackRecordRepositories(RepositoryDbContext context,
+ IMapper mapper,
+ ILoginRepositories loginRepositories,
+ IServiceProvider serviceProvider,
+ ISingleDataService singleDataService)
+ {
+ _context = context;
+ _mapper = mapper;
+ _serviceProvider = serviceProvider;
+ _loginRepositories = loginRepositories;
+ _singleDataService = singleDataService;
+ }
+
+ ///
+ /// 列表-分页
+ ///
+ ///
+ ///
+ public async Task> GetPagedList(BackRecordQueryRequest dto)
+ {
+ var query = _context.BackRecordDetails
+ .GroupJoin(_context.BackRecord, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders })
+ .SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order })
+ .Where(adv => 1 == 1);
+
+ //if (!string.IsNullOrEmpty(dto.BoxBillNo))
+ // query = query.Where(w => EF.Functions.Like(w.order.BoxBillNo, "%" + dto.BoxBillNo + "%"));
+
+ //if (!string.IsNullOrEmpty(dto.MaterialNumber))
+ // query = query.Where(w => EF.Functions.Like(w.detail.BillNo, "%" + dto.BillNo + "%"));
+
+ if (dto.SubStockId.HasValue)
+ query = query.Where(w => w.detail.SubStockId == dto.SubStockId.Value);
+
+ if (dto.CreateBeginDate != null)
+ query = query.Where(w => w.order.CreateTime >= dto.CreateBeginDate.Value);
+ if (dto.CreateEndDate != null)
+ query = query.Where(w => w.order.CreateTime <= dto.CreateEndDate.Value);
+
+ var response = new ResultPagedList();
+ int total = await query.CountAsync();
+ response.TotalCount = total;
+
+ var list = await query.Select(s => new BackRecordQueryResponse()
+ {
+ Id = s.order.Id,
+ DetailsId = s.detail.Id,
+ BoxBillNo = "",
+ Type = s.order.Type.GetRemark(),
+ Creator = "",
+ CreateTime =s.order.CreateTime,
+ MaterialName = "",
+ MaterialNumber = "",
+ Specifications = "",
+ Qty = s.detail.Qty,
+ SubStock = "",
+ SerialNumbers = s.detail.SerialNumbers
+ }).OrderByDescending(x => x.Id).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
+
+ response.Data = list;
+ return response;
+ }
+ }
+}
diff --git a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs
index 4c75ff7d..3fc1d8ad 100644
--- a/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs
+++ b/src/WMS.Web.Repositories/DependencyInjection/AppBuilderExtensions.cs
@@ -38,6 +38,8 @@ namespace Microsoft.Extensions.DependencyInjection
services.AddTransient();
services.AddTransient();
+ services.AddTransient();
+
services.AddTransient();
services.AddTransient();
diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs
index 5f298e6f..c0f8c258 100644
--- a/src/WMS.Web.Repositories/InStockRepositories.cs
+++ b/src/WMS.Web.Repositories/InStockRepositories.cs
@@ -29,7 +29,11 @@ namespace WMS.Web.Repositories
private readonly ISingleDataService _singleDataService;
- public InStockRepositories(RepositoryDbContext context, IMapper mapper, ILoginRepositories loginRepositories, IServiceProvider serviceProvider, ISingleDataService singleDataService)
+ public InStockRepositories(RepositoryDbContext context,
+ IMapper mapper,
+ ILoginRepositories loginRepositories,
+ IServiceProvider serviceProvider,
+ ISingleDataService singleDataService)
{
_context = context;
_mapper = mapper;