diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index f5978902..7a3974e5 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -85,6 +85,36 @@
+
+
+ 员工响应
+
+
+
+
+ StaffID
+
+
+
+
+ 名称
+
+
+
+
+ 部门ID
+
+
+
+
+ 电话
+
+
+
+
+ 是否禁用:true为禁用,false为启用
+
+
改箱列表请求
@@ -92,12 +122,12 @@
- 原箱子ID
+ 原箱子
- 目标箱子ID
+ 目标箱子
@@ -955,11 +985,6 @@
用户在单点中维一ID
-
-
- 规格型号
-
-
箱号
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
index add28018..ebaf8f8c 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml
@@ -963,6 +963,18 @@
备注
+
+
+ 基础数据
+
+
+
+
+ 获取所有人员-根据主体
+
+
+
+
wms入库单-仓储接口
diff --git a/src/WMS.Web.Domain/Entitys/TakeStock.cs b/src/WMS.Web.Domain/Entitys/TakeStock.cs
index 1df14a5a..497f2c8e 100644
--- a/src/WMS.Web.Domain/Entitys/TakeStock.cs
+++ b/src/WMS.Web.Domain/Entitys/TakeStock.cs
@@ -28,7 +28,7 @@ namespace WMS.Web.Domain.Entitys
/// 盘点日期
///
[Column("Date")]
- public DateTime Date { get; set; }
+ public DateTime Date { get; set; } = DateTime.Now;
///
/// 盘点人员
///
diff --git a/src/WMS.Web.Repositories/MoveBoxRecordRepositories.cs b/src/WMS.Web.Repositories/MoveBoxRecordRepositories.cs
index b4ac8967..f8b2d37a 100644
--- a/src/WMS.Web.Repositories/MoveBoxRecordRepositories.cs
+++ b/src/WMS.Web.Repositories/MoveBoxRecordRepositories.cs
@@ -12,28 +12,30 @@ using WMS.Web.Core.Help;
using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService.Public;
+using WMS.Web.Domain.Values;
using WMS.Web.Domain.Values.Single;
using WMS.Web.Repositories.Configuration;
namespace WMS.Web.Repositories
{
- public class MoveBoxRecordRepositories: IMoveBoxRecordRepositories
+ public class MoveBoxRecordRepositories : IMoveBoxRecordRepositories
{
private readonly IMapper _mapper;
private readonly IServiceProvider _serviceProvider;
private readonly RepositoryDbContext _context;
private readonly ISingleDataService _singleDataService;
private readonly ILoginRepositories _loginRepositories;
-
+ private readonly IBasicsRepositories _basicsRepositories;
public MoveBoxRecordRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider,
- ISingleDataService singleDataService, ILoginRepositories loginRepositories)
+ ISingleDataService singleDataService, ILoginRepositories loginRepositories, IBasicsRepositories basicsRepositories)
{
_context = context;
_mapper = mapper;
_serviceProvider = serviceProvider;
_singleDataService = singleDataService;
_loginRepositories = loginRepositories;
+ _basicsRepositories = basicsRepositories;
}
///
/// 新增
@@ -76,12 +78,25 @@ namespace WMS.Web.Repositories
///
public async Task<(List list, int total)> GetListAsync(MoveBoxRecordQueryRequest dto)
{
+ List ids = new List();
+ if (!string.IsNullOrEmpty(dto.Creator))
+ {
+ var staffList = await _basicsRepositories.GetStaffListAsync(_loginRepositories.CompanyId);
+ ids = staffList.Where(w => EF.Functions.Like(w.Name, "%" + dto.Creator + "%")).Select(s => s.Id).ToList();
+ }
+
var query = _context.MoveBoxRecord
.GroupJoin(_context.Box, moveBox => moveBox.BoxId, box => box.Id, (moveBox, box) => new { moveBox, box })
.SelectMany(x => x.box.DefaultIfEmpty(), (d, box) => new { d.moveBox, box })
.OrderByDescending(o => o.moveBox.Id)
.Where(adv => 1 == 1);
+ if (ids.Count() > 0)
+ query = query.Where(w => ids.Contains(w.moveBox.CreatorId));
+ if (!string.IsNullOrEmpty(dto.Box))
+ query = query.Where(w => EF.Functions.Like(w.box.BoxBillNo, "%" + dto.Box + "%"));
+ if (dto.Type != null)
+ query = query.Where(w => w.moveBox.Type == (MoveBoxType)dto.Type);
if (dto.CreateBeginDate != null)
query = query.Where(w => w.moveBox.CreateTime >= dto.CreateBeginDate);
if (dto.CreateEndDate != null)
diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs
index 884c6bef..fccd7462 100644
--- a/src/WMS.Web.Repositories/OutStockRepositories.cs
+++ b/src/WMS.Web.Repositories/OutStockRepositories.cs
@@ -13,28 +13,30 @@ using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService.Public;
using WMS.Web.Domain.Mappers;
+using WMS.Web.Domain.Values;
using WMS.Web.Domain.Values.Single;
using WMS.Web.Repositories.Configuration;
namespace WMS.Web.Repositories
{
- public class OutStockRepositories: IOutStockRepositories
+ public class OutStockRepositories : IOutStockRepositories
{
private readonly IMapper _mapper;
private readonly IServiceProvider _serviceProvider;
private readonly RepositoryDbContext _context;
private readonly ISingleDataService _singleDataService;
private readonly ILoginRepositories _loginRepositories;
-
+ private readonly IBasicsRepositories _basicsRepositories;
public OutStockRepositories(RepositoryDbContext context, IMapper mapper, IServiceProvider serviceProvider,
- ISingleDataService singleDataService, ILoginRepositories loginRepositories)
+ ISingleDataService singleDataService, ILoginRepositories loginRepositories, IBasicsRepositories basicsRepositories)
{
_context = context;
_mapper = mapper;
_serviceProvider = serviceProvider;
_singleDataService = singleDataService;
_loginRepositories = loginRepositories;
+ _basicsRepositories = basicsRepositories;
}
///
/// 新增
@@ -77,12 +79,33 @@ namespace WMS.Web.Repositories
///
public async Task<(List list, int total)> GetListAsync(OutStockQueryRequest dto)
{
+ List ids = new List();
+ if (!string.IsNullOrEmpty(dto.Creator))
+ {
+ var staffList = await _basicsRepositories.GetStaffListAsync(_loginRepositories.CompanyId);
+ ids = staffList.Where(w => EF.Functions.Like(w.Name, "%" + dto.Creator + "%")).Select(s => s.Id).ToList();
+ }
+
var query = _context.OutStockDetails
.GroupJoin(_context.OutStock, detail => detail.Fid, order => order.Id, (detail, orders) => new { detail, orders })
.SelectMany(x => x.orders.DefaultIfEmpty(), (p, order) => new { p.detail, order })
.OrderByDescending(o => o.order.Id)
.Where(adv => 1 == 1);
+ //if (!string.IsNullOrEmpty(dto.ReceiptCustomer))
+ //if (!string.IsNullOrEmpty(dto.MaterialNumber))
+ if (ids.Count() > 0)
+ query = query.Where(w => ids.Contains(w.order.CreatorId));
+ if (!string.IsNullOrEmpty(dto.SourceBillNo))
+ query = query.Where(w => EF.Functions.Like(w.detail.SourceBillNo, "%" + dto.SourceBillNo + "%"));
+ if (dto.Type != null)
+ query = query.Where(w => w.order.Type == (OrderType)dto.Type);
+ if (dto.SuccessSync != null)
+ query = query.Where(w => w.order.SuccessSync == dto.SuccessSync);
+ if (dto.DeliveryOrgId != null)
+ query = query.Where(w => w.detail.DeliveryOrgId == dto.DeliveryOrgId);
+ if (dto.StockId != null)
+ query = query.Where(w => w.detail.StockId == dto.StockId);
if (dto.CreateBeginDate != null)
query = query.Where(w => w.order.CreateTime >= dto.CreateBeginDate);
if (dto.CreateEndDate != null)
@@ -93,21 +116,21 @@ namespace WMS.Web.Repositories
{
#region dto组装
Id = s.order.Id,
- BillNo=s.order.BillNo,
+ BillNo = s.order.BillNo,
Status = s.order.Status.GetRemark(),
Type = s.order.Type.GetRemark(),
Creator = _singleDataService.GetSingleData(SingleAction.Staffs, _loginRepositories.CompanyId, s.order.CreatorId),
- CreateTime=s.order.CreateTime.DateToStringSeconds(),
+ CreateTime = s.order.CreateTime.DateToStringSeconds(),
SuccessSync = s.order.SuccessSync,
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockId),
- SourceBillNo=s.detail.SourceBillNo,
+ SourceBillNo = s.detail.SourceBillNo,
SaleBillNo = s.detail.SaleBillNo,
DeliveryOrg = "",
ReceiptCustomer = _singleDataService.GetSingleData(SingleAction.Customers, _loginRepositories.CompanyId, s.detail.ReceiptCustomerId),
MaterialName = "",
MaterialNumber = "",
Specifications = "",
- Qty=s.detail.Qty
+ Qty = s.detail.Qty
#endregion
}).Skip((dto.PageNo - 1) * dto.PageSize).Take(dto.PageSize).ToListAsync();
@@ -127,7 +150,7 @@ namespace WMS.Web.Repositories
try
{
List list = entitys.Select(s => s.Id).ToList();
-
+
var res = await _context.OutStock
.Include(s => s.Details)
.Where(f => list.Contains(f.Id)).ToListAsync();
diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
index 50b1db01..34826398 100644
--- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
+++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
@@ -13,6 +13,7 @@ using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService.Public;
using WMS.Web.Domain.Mappers;
+using WMS.Web.Domain.Values;
using WMS.Web.Domain.Values.Single;
using WMS.Web.Repositories.Configuration;
@@ -167,6 +168,20 @@ namespace WMS.Web.Repositories
.OrderByDescending(o => o.order.Id)
.Where(adv => 1 == 1);
+ //if (!string.IsNullOrEmpty(dto.ReceiptCustomer))
+ //if (!string.IsNullOrEmpty(dto.MaterialNumber))
+ if (dto.Ids.Count() > 0)
+ query = query.Where(w => dto.Ids.Contains(w.detail.Id));
+ if (!string.IsNullOrEmpty(dto.SourceBillNo))
+ query = query.Where(w => EF.Functions.Like(w.detail.SourceBillNo, "%" + dto.SourceBillNo + "%"));
+ if (dto.Type != null)
+ query = query.Where(w => w.order.Type == (OrderType)dto.Type);
+ if (dto.Status != null)
+ query = query.Where(w => w.order.Status == (OutStockStatus)dto.Status);
+ if (dto.DeliveryOrgId != null)
+ query = query.Where(w => w.detail.DeliveryOrgId == dto.DeliveryOrgId);
+ if (dto.StockId != null)
+ query = query.Where(w => w.detail.StockId == dto.StockId);
if (dto.CreateBeginDate != null)
query = query.Where(w => w.order.OperateTime >= dto.CreateBeginDate);
if (dto.CreateEndDate != null)
diff --git a/src/WMS.Web.Repositories/TakeStockRepositories.cs b/src/WMS.Web.Repositories/TakeStockRepositories.cs
index 370185ea..1b4cf13b 100644
--- a/src/WMS.Web.Repositories/TakeStockRepositories.cs
+++ b/src/WMS.Web.Repositories/TakeStockRepositories.cs
@@ -12,6 +12,7 @@ using WMS.Web.Core.Help;
using WMS.Web.Domain.Entitys;
using WMS.Web.Domain.Infrastructure;
using WMS.Web.Domain.IService.Public;
+using WMS.Web.Domain.Values;
using WMS.Web.Domain.Values.Single;
using WMS.Web.Repositories.Configuration;
@@ -82,6 +83,12 @@ namespace WMS.Web.Repositories
.OrderByDescending(o => o.order.Id)
.Where(adv => 1 == 1);
+ if (dto.ResultType != null)
+ query = query.Where(w => w.detail.ResultType == (TakeStockType)dto.ResultType);
+ if (!string.IsNullOrEmpty(dto.BillNo))
+ query = query.Where(w => EF.Functions.Like(w.order.BillNo, "%" + dto.BillNo + "%"));
+ if (dto.StockId != null)
+ query = query.Where(w => w.detail.StockId == dto.StockId);
if (dto.DateBeginDate != null)
query = query.Where(w => w.order.Date >= dto.DateBeginDate);
if (dto.DateEndDate != null)