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);