From a1b1cdedbd7c42f8249af0f5dbe716c36e060efd Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Wed, 15 Nov 2023 11:48:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/SysConfigController.cs | 17 ++++++++ src/WMS.Web.Api/Controllers/TestController.cs | 43 ++++++++++++++++++- src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml | 7 +++ src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 5 +++ .../SaveChangeBoxRecordRequest.cs | 6 ++- .../Entitys/OutStockTaskDetails.cs | 8 ++-- src/WMS.Web.Domain/Values/ResultCodes.cs | 2 +- .../Configuration/RepositoryDbContext.cs | 4 +- .../OutStockTaskRepositories.cs | 4 +- 9 files changed, 85 insertions(+), 11 deletions(-) diff --git a/src/WMS.Web.Api/Controllers/SysConfigController.cs b/src/WMS.Web.Api/Controllers/SysConfigController.cs index a21d58e3..11fc9559 100644 --- a/src/WMS.Web.Api/Controllers/SysConfigController.cs +++ b/src/WMS.Web.Api/Controllers/SysConfigController.cs @@ -263,6 +263,23 @@ namespace WMS.Web.Api.Controllers var r = await _basicsRepositories.GetSubUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), name, loginInfo.UserInfo.CompanyId); return Result>.ReSuccess(r); } + /// + /// 获取仓位:精确名字 + /// + /// 精确名字 + /// + [HttpGet] + [Route("GetSubUcStockPrecisionByName/{name}")] + public async Task> GetSubUcStockPrecisionByName([FromRoute] string name) + { + var loginInfo = _loginService.GetLoginInfo(this.HttpContext.Request.Headers["Authorization"]); + if (loginInfo == null || loginInfo.UserInfo == null) + return Result.ReFailure(ResultCodes.Token_Invalid_Error); + var r = await _basicsRepositories.GetSubUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), name, loginInfo.UserInfo.CompanyId); + var subStock = r.FirstOrDefault(f => f.Name.Equals(name)); + if (subStock == null) return Result.ReFailure(ResultCodes.NoDateError); + return Result.ReSuccess(subStock); + } /// /// 根据箱号获取箱信息 diff --git a/src/WMS.Web.Api/Controllers/TestController.cs b/src/WMS.Web.Api/Controllers/TestController.cs index d7fe70d5..6eda2ea1 100644 --- a/src/WMS.Web.Api/Controllers/TestController.cs +++ b/src/WMS.Web.Api/Controllers/TestController.cs @@ -11,6 +11,7 @@ using System.ServiceModel; using System.Threading.Tasks; using WMS.Web.Core.Dto; using WMS.Web.Core.Internal.Results; +using WMS.Web.Domain.Entitys; using WMS.Web.Domain.Infrastructure; using WMS.Web.Domain.IService; using WMS.Web.Domain.IService.Public; @@ -26,21 +27,59 @@ namespace WMS.Web.Api.Controllers private IBasicsRepositories _transactionRepositories; private readonly IOpsService _opsService; private readonly IBoxService _boxService; + private readonly IOutStockTaskRepositories _outStockTaskRepositories; public TestController(IErpService erpService, IInStockTaskService inStockTaskService, - IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService) + IBasicsRepositories transactionRepositories, IOpsService opsService, IBoxService boxService, + IOutStockTaskRepositories outStockTaskRepositories) { this._erpService = erpService; this._inStockTaskService = inStockTaskService; this._transactionRepositories = transactionRepositories; _opsService = opsService; _boxService = boxService; + _outStockTaskRepositories = outStockTaskRepositories; } [HttpGet] [Route("hj")] public async Task TestHJ() { - await _boxService.Sync(); + OutStockTask entity = new OutStockTask() + { + DeliveryOrgId = 1, + ReceiptCustomerId = 1 + }; + try + { + var d = new OutStockTaskDetails(); + + d.MaterialId = 1; + d.AccruedQty = 1; + d.Erp_DetailId = 1; + d.SaleBillNo = "sdf34343"; + d.StockCode = "234"; + d.SubStockId =234; + d.SourceBillNos = new List() { "wwre", "32423" }; + entity.Details.Add(d); + } + catch (Exception ex) + { + + throw ex; + } + entity.Details.Add(new OutStockTaskDetails() + { + MaterialId = 1, + AccruedQty = 1, + Erp_DetailId = 1, + SaleBillNo = "ddddd", + StockCode = "ddd", + SubStockId = 1 + }); + + var b = await _outStockTaskRepositories.Add(entity, true); + var bc = await _outStockTaskRepositories.Get(entity.Id); + // await _boxService.Sync(); //var res = await this._erpService.BillQueryForDeliveryNoticeOutStock(null,DateTime.Now.AddDays(-300)); //var result= await this._erpService.BillQueryForPurchaseInStock(); //var result = await this._erpService.BillQueryForOrg(); diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml index 340125e2..47637cc6 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Api.xml @@ -433,6 +433,13 @@ 仓位名称模糊匹配 + + + 获取仓位:精确名字 + + 精确名字 + + 根据箱号获取箱信息 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index e938ddde..f8847c1d 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -410,6 +410,11 @@ 目标箱子ID + + + 明细 + + 明细 diff --git a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs index 5f2ceb76..fbb371c3 100644 --- a/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs +++ b/src/WMS.Web.Core/Dto/ChangeBoxRecord/SaveChangeBoxRecordRequest.cs @@ -19,8 +19,10 @@ namespace WMS.Web.Core.Dto.ChangeBoxRecord /// [Required(ErrorMessage = "目标箱子不能为空")] public int DestBoxId { get; set; } - - public List Details = new List(); + /// + /// 明细 + /// + public List Details { get; set; } = new List(); } /// /// 明细 diff --git a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs index d76d5f9c..bd145c26 100644 --- a/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs +++ b/src/WMS.Web.Domain/Entitys/OutStockTaskDetails.cs @@ -1,4 +1,5 @@ -using System; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Text; @@ -13,7 +14,7 @@ namespace WMS.Web.Domain.Entitys /// [Serializable] [Table("t_erp_outstock_task_details")] - public class OutStockTaskDetails : EntityBase + public class OutStockTaskDetails : EntityBase { public OutStockTaskDetails() { } /// @@ -36,6 +37,7 @@ namespace WMS.Web.Domain.Entitys /// [Column("SourceBillNo")] public List SourceBillNos { get; set; } + /// /// 销售订单号 /// @@ -82,6 +84,6 @@ namespace WMS.Web.Domain.Entitys [Column("OutStockEndTime")] public DateTime? OutStockEndTime { get; set; } - + } } diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index 4485a2f3..4a350ead 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -20,7 +20,7 @@ namespace WMS.Web.Domain.Values /// 数据操作失败 /// public static ValueTuple DateWriteError = (40004, "数据操作失败"); - + public static ValueTuple NoDateError = (40005, "数据不存在"); //出库任务单 public static ValueTuple MergeStatusError = (70000, "所选单据数据不一致,不能合并"); diff --git a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs index fbbfe081..0d80b1fb 100644 --- a/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs +++ b/src/WMS.Web.Repositories/Configuration/RepositoryDbContext.cs @@ -114,8 +114,8 @@ namespace WMS.Web.Repositories.Configuration ent.HasKey(x => x.Id); ent.Property(f => f.SourceBillNos).HasConversion( - v => JsonConvert.SerializeObject(v), - v => JsonConvert.DeserializeObject>(v)); + v => JsonConvert.SerializeObject(v), + v => JsonConvert.DeserializeObject>(v)); }); #endregion diff --git a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs index e500f3ca..4e620696 100644 --- a/src/WMS.Web.Repositories/OutStockTaskRepositories.cs +++ b/src/WMS.Web.Repositories/OutStockTaskRepositories.cs @@ -263,7 +263,9 @@ namespace WMS.Web.Repositories if (dto.Ids.Count() > 0) query = query.Where(w => dto.Ids.Contains(w.detail.Id)); if (!string.IsNullOrEmpty(dto.SourceBillNo)) - query = query.Where(w => w.detail.SourceBillNos.Where(sw => EF.Functions.Like(sw, "%" + dto.SourceBillNo + "%")).Contains(w.order.BillNo)); + query = query.Where(w => w.detail.SourceBillNos.Contains(dto.SourceBillNo)); + //query = query.Where(w => EF.Functions.Like(w.detail.SourceBillNos, "%" + dto.SourceBillNo + "%")); + //query = query.Where(w => w.detail.SourceBillNos.Where(sw => EF.Functions.Like(sw, "%" + dto.SourceBillNo + "%")).Contains(w.order.BillNo)); if (dto.Type != null) query = query.Where(w => w.order.Type == (OutStockType)dto.Type); if (dto.Status != null)