From 4570b2080a4ea688d80e75f1258634f400f51a2c Mon Sep 17 00:00:00 2001
From: tongfei <244188119@qq.com>
Date: Mon, 4 Mar 2024 15:45:16 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=87=91=E8=9D=B6=E5=90=8C?=
=?UTF-8?q?=E6=AD=A5=E4=BB=A3=E7=A0=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 5 +++++
src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs | 6 ++++++
src/WMS.Web.Domain/Options/ErpOptions.cs | 2 +-
src/WMS.Web.Domain/Services/InStockService.cs | 3 ++-
src/WMS.Web.Repositories/InStockRepositories.cs | 2 ++
src/WMS.Web.Repositories/InStockTaskRepositories.cs | 13 +++++++++++--
6 files changed, 27 insertions(+), 4 deletions(-)
diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
index 26c984fc..b5b29a9c 100644
--- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
+++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml
@@ -1077,6 +1077,11 @@
转换规则内码
+
+
+ 保存失败时是否暂存,布尔类型,默认false(非必录) 注(暂存的单据是没有编码的)
+
+
Erp同步数据时单据头
diff --git a/src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs b/src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs
index b9fa91f8..2044cee1 100644
--- a/src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs
+++ b/src/WMS.Web.Core/Dto/Erp/ErpPushDto.cs
@@ -52,5 +52,11 @@ namespace WMS.Web.Core.Dto.Erp
[JsonProperty("RuleId")]
public string RuleId { get; set; }
+ ///
+ /// 保存失败时是否暂存,布尔类型,默认false(非必录) 注(暂存的单据是没有编码的)
+ ///
+ [JsonProperty("IsDraftWhenSaveFail")]
+ public bool IsDraftWhenSaveFail { get; set; } = false;
+
}
}
diff --git a/src/WMS.Web.Domain/Options/ErpOptions.cs b/src/WMS.Web.Domain/Options/ErpOptions.cs
index 3c4958d6..f61280ea 100644
--- a/src/WMS.Web.Domain/Options/ErpOptions.cs
+++ b/src/WMS.Web.Domain/Options/ErpOptions.cs
@@ -28,7 +28,7 @@ namespace WMS.Web.Domain.Options
/// erp-Id
///
public string ErpId { get; set; }
-
+ public readonly string cache_materail_all_key = "erp_materials_list_all";
public readonly string cache_materail_key = "erp_materials_list";
public readonly string cache_org_key = "erp_org_list";
public readonly string cache_supplier_key = "erp_supplier_list";
diff --git a/src/WMS.Web.Domain/Services/InStockService.cs b/src/WMS.Web.Domain/Services/InStockService.cs
index c5268bf9..a41ef245 100644
--- a/src/WMS.Web.Domain/Services/InStockService.cs
+++ b/src/WMS.Web.Domain/Services/InStockService.cs
@@ -760,7 +760,8 @@ namespace WMS.Web.Domain.Services
RuleId = "PUR_PurchaseOrder-STK_InStock",//转换规则内码 采购订单下推采购入库单
FormId = FormIdParam.PUR_PurchaseOrder.ToString(),
TargetFormId = FormIdParam.STK_InStock.ToString(),
- DetailsId = s.ErpDetailId.ToString()
+ DetailsId = s.ErpDetailId.ToString(),
+ IsDraftWhenSaveFail=true
};
//下推金蝶
var res = await this.Push(erpDto, s, entity.BillNo, scope);
diff --git a/src/WMS.Web.Repositories/InStockRepositories.cs b/src/WMS.Web.Repositories/InStockRepositories.cs
index db2b020c..6c32bad4 100644
--- a/src/WMS.Web.Repositories/InStockRepositories.cs
+++ b/src/WMS.Web.Repositories/InStockRepositories.cs
@@ -323,6 +323,8 @@ namespace WMS.Web.Repositories
if (cr_ids.Count!=0)
query = query.Where(w => cr_ids.Contains(w.order.CreatorId));
+ else if (!string.IsNullOrEmpty(dto.Creator))
+ query = query.Where(w => w.order.CreatorId == 0);
if (dto.SupplierId.HasValue)
query = query.Where(w => w.detail.SupplierId == dto.SupplierId.Value);
diff --git a/src/WMS.Web.Repositories/InStockTaskRepositories.cs b/src/WMS.Web.Repositories/InStockTaskRepositories.cs
index a8d14e7e..7389f2c2 100644
--- a/src/WMS.Web.Repositories/InStockTaskRepositories.cs
+++ b/src/WMS.Web.Repositories/InStockTaskRepositories.cs
@@ -450,10 +450,14 @@ namespace WMS.Web.Repositories
List ids_Receiver = new List();
List ids_Operator = new List();
- if (!string.IsNullOrEmpty(dto.Receiver) || !string.IsNullOrEmpty(dto.Operator))
+ var staffList = await _basicsRepositories.GetStaffListAsync(_loginRepositories.CompanyId);
+ if (!string.IsNullOrEmpty(dto.Receiver))
{
- var staffList = await _basicsRepositories.GetStaffListAsync(_loginRepositories.CompanyId);
ids_Receiver = staffList.Where(w => w.Name.Contains(dto.Receiver)).Select(s => s.Id).ToList();
+ }
+
+ if (!string.IsNullOrEmpty(dto.Operator))
+ {
ids_Operator = staffList.Where(w => w.Name.Contains(dto.Operator)).Select(s => s.Id).ToList();
}
@@ -489,8 +493,13 @@ namespace WMS.Web.Repositories
if (ids_Receiver.Count() > 0)
query = query.Where(w => ids_Receiver.Contains(w.order.ReceiverId ?? 0));
+ else if (!string.IsNullOrEmpty(dto.Receiver))
+ query = query.Where(w => w.order.ReceiverId == 0);
+
if (ids_Operator.Count() > 0)
query = query.Where(w => ids_Operator.Contains(w.order.ShelferId ?? 0));
+ else if (!string.IsNullOrEmpty(dto.Operator))
+ query = query.Where(w => w.order.ShelferId == 0);
if (dto.SupplierId.HasValue)
query = query.Where(w => w.detail.SupplierId == dto.SupplierId.Value);