diff --git a/src/WMS.Web.Domain/Entitys/OutStock.cs b/src/WMS.Web.Domain/Entitys/OutStock.cs
index a13afe31..95d0e28e 100644
--- a/src/WMS.Web.Domain/Entitys/OutStock.cs
+++ b/src/WMS.Web.Domain/Entitys/OutStock.cs
@@ -31,11 +31,6 @@ namespace WMS.Web.Domain.Entitys
[Column("BillNo")]
public string BillNo { get; set; }
///
- /// 来源单号
- ///
- [Column("SourceBillNo")]
- public string SourceBillNo { get; set; }
- ///
/// 单据类型
///
[Column("Type")]
diff --git a/src/WMS.Web.Domain/Entitys/OutStockDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockDetails.cs
index 76c3a5e1..4c642628 100644
--- a/src/WMS.Web.Domain/Entitys/OutStockDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/OutStockDetails.cs
@@ -30,8 +30,12 @@ namespace WMS.Web.Domain.Entitys
/// 销售订单号
///
[Column("SaleBillNo")]
- public string SaleBillNo { get; set; }
-
+ public List SaleBillNos { get; set; }
+ ///
+ /// 来源单号
+ ///
+ [Column("SourceBillNo")]
+ public List SourceBillNos { get; set; }
///
/// 物料Id
///
diff --git a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
index bd145c26..b64b5328 100644
--- a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
+++ b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs
@@ -42,7 +42,7 @@ namespace WMS.Web.Domain.Entitys
/// 销售订单号
///
[Column("SaleBillNo")]
- public string SaleBillNo { get; set; }
+ public List SaleBillNos { get; set; }
///
/// 物料Id
///
diff --git a/src/WMS.Web.Domain/Services/SerialNumberService.cs b/src/WMS.Web.Domain/Services/SerialNumberService.cs
index 15021c82..c40b4e41 100644
--- a/src/WMS.Web.Domain/Services/SerialNumberService.cs
+++ b/src/WMS.Web.Domain/Services/SerialNumberService.cs
@@ -187,6 +187,7 @@ namespace WMS.Web.Domain.Services
foreach (var entity in entityList)
{
var box = boxList.FirstOrDefault(f => f.Id == entity.BoxId);
+ var outstockDetail = outStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
//修改序列号和箱绑定关系
entity.OutStock(outStock.BillNo, outStock.Type);
@@ -200,14 +201,14 @@ namespace WMS.Web.Domain.Services
OperateTime = DateTime.Now,
OperateType = OutStockTypeConvert(outStock.Type),
OperateUser = userName,
- Remark = "来源单号:" + outStock.SourceBillNo + "\r\n" + "出库单号:" + outStock.BillNo
+ Remark = "来源单号:" + string.Join(",",outstockDetail.SourceBillNos) + "\r\n" + "出库单号:" + outStock.BillNo
};
if (outStock.Type == OutStockType.Sal)
{
var detail = outStock.Details.FirstOrDefault(f => f.MaterialId == entity.MaterialId);
var res_c = await _erpService.BillQueryForCustomer();
var customer = res_c.Data.FirstOrDefault(f => f.Id == outStock.ReceiptCustomerId);
- op.Remark += "\r\n" + "销售订单号:" + detail.SaleBillNo;
+ op.Remark += "\r\n" + "销售订单号:" + string.Join(",", detail.SaleBillNos);
op.Remark += "\r\n" + "客户:" + customer?.Name;
}
sList.Add(op);
diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
index 0d80b1fb..b2905922 100644
--- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
+++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs
@@ -94,6 +94,14 @@ namespace WMS.Web.Repositories.Configuration
ent.Property(f => f.SerialNumbers).HasConversion(
v => JsonConvert.SerializeObject(v),
v => JsonConvert.DeserializeObject>(v));
+
+ ent.Property(f => f.SourceBillNos).HasConversion(
+ v => JsonConvert.SerializeObject(v),
+ v => JsonConvert.DeserializeObject>(v));
+
+ ent.Property(f => f.SaleBillNos).HasConversion(
+ v => JsonConvert.SerializeObject(v),
+ v => JsonConvert.DeserializeObject>(v));
});
#endregion
@@ -115,8 +123,13 @@ namespace WMS.Web.Repositories.Configuration
ent.Property(f => f.SourceBillNos).HasConversion(
v => JsonConvert.SerializeObject(v),
+ v => JsonConvert.DeserializeObject>(v));
+
+ ent.Property(f => f.SaleBillNos).HasConversion(
+ v => JsonConvert.SerializeObject(v),
v => JsonConvert.DeserializeObject>(v));
});
+
#endregion
#region 盘点单
diff --git a/src/WMS.Web.Repositories/OutStockRepositories.cs b/src/WMS.Web.Repositories/OutStockRepositories.cs
index 0b423981..a2ebf5d5 100644
--- a/src/WMS.Web.Repositories/OutStockRepositories.cs
+++ b/src/WMS.Web.Repositories/OutStockRepositories.cs
@@ -82,6 +82,10 @@ namespace WMS.Web.Repositories
///
public async Task<(List list, int total)> GetListAsync(OutStockQueryRequest dto)
{
+ List detailIds = new List();
+ if (!string.IsNullOrEmpty(dto.SourceBillNo))
+ detailIds = await _context.OutStockTaskDetails.FromSqlRaw($"SELECT Id FROM t_wms_outstock_details WHERE SourceBillNo like '%{dto.SourceBillNo}%'").Select(s => s.Id).ToListAsync();
+
List ids = new List();
if (!string.IsNullOrEmpty(dto.Creator))
{
@@ -134,8 +138,8 @@ namespace WMS.Web.Repositories
query = query.Where(w => mIds.Contains(w.detail.MaterialId));
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.order.SourceBillNo, "%" + dto.SourceBillNo + "%"));
+ if (detailIds.Count()!=0)
+ query = query.Where(w => detailIds.Contains(w.detail.Id));
if (dto.Type != null)
query = query.Where(w => w.order.Type == (OutStockType)dto.Type);
if (dto.SuccessSync != null)
@@ -160,8 +164,8 @@ namespace WMS.Web.Repositories
CreateTime = s.order.CreateTime.DateToStringSeconds(),
SuccessSync = s.order.SuccessSync,
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockCode),
- SourceBillNo = s.order.SourceBillNo,
- SaleBillNo = s.detail.SaleBillNo,
+ SourceBillNo =string.Join(",",s.detail.SourceBillNos),
+ SaleBillNo = string.Join(",", s.detail.SaleBillNos),
DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
ReceiptCustomer = s.order.Type == OutStockType.Sal
? _erpBasicDataExtendService.GetCustomerName(customers, s.order.ReceiptCustomerId)
diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
index 95e19a33..8430849d 100644
--- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
+++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs
@@ -296,7 +296,7 @@ namespace WMS.Web.Repositories
OutStockEndTime = s.detail.OutStockEndTime.DateToStringSeconds(),
Stock = _singleDataService.GetSingleData(SingleAction.Stocks, _loginRepositories.CompanyId, s.detail.StockCode),
SourceBillNo = string.Join(",", s.detail.SourceBillNos),
- SaleBillNo = s.detail.SaleBillNo,
+ SaleBillNo = string.Join(",", s.detail.SaleBillNos),
DeliveryOrg = _erpBasicDataExtendService.GetOrgName(orgs, s.order.DeliveryOrgId),
ReceiptCustomer = s.order.Type == OutStockType.Sal
? _erpBasicDataExtendService.GetCustomerName(customers, s.order.ReceiptCustomerId)