From 28cdd60c6d2caefb967259da852dd0eb64191214 Mon Sep 17 00:00:00 2001 From: 18942506660 <18942506660@A18942506660> Date: Tue, 18 Jun 2024 14:17:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20=E5=BA=8F=E5=88=97?= =?UTF-8?q?=E7=A0=81=E5=AF=B9=E6=8E=A5=E4=BE=9B=E5=BA=94=E9=93=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 | Bin 274420 -> 274420 bytes .../Controllers/SysConfigController.cs | 15 ++++- src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml | 35 ++++++++++++ src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml | 29 ++++++++++ .../SerialNumbers/SerialNumbersWmsRequest.cs | 19 +++++++ .../SerialNumbers/SerialNumbersWmsResponse.cs | 31 ++++++++++ .../IService/ISerialNumberService.cs | 10 ++++ .../IService/Public/IOpsService.cs | 7 ++- .../Services/Public/OpsService.cs | 18 ++++++ .../Services/SerialNumberService.cs | 53 +++++++++++++++++- src/WMS.Web.Domain/Values/ResultCodes.cs | 2 + 11 files changed, 213 insertions(+), 6 deletions(-) create mode 100644 src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersWmsRequest.cs create mode 100644 src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersWmsResponse.cs diff --git a/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 b/.vs/WMS.Web/DesignTimeBuild/.dtbcache.v2 index 157aa20ef091c8676e5fb455e2d6f9817eef6e3d..d9f783a9adc604ee0939d86f6bcb905eaf34ad39 100644 GIT binary patch delta 6025 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 delta 4810 zcmZA4e`r-@7zc27&zAGN@0|T$8d`3o5e>%uxqGh-QJAGUb0jTI1@FDvO)P`dkb*j- zMInYi$W51;hLjE~E9_>mzeFLk1W|G+u4o{L+MdoRm6X2keeUDAzV9DC-~09BbAO#3 zb!2ed$l$om`<+lE^>*LkzKZ&}t)01OBA<$M#v-|7J{8MmQn^Gbla5B3ld*6j6_3XA zsc5(}70cxFxokSym1|C?(}{FEl1xRD$>gX|H2L1xwu-{ow$PtWYa$tsXFJ2mR3w({ zY)&=jVwqSjmCc6p>0~aFj&{b==~y}y%_lSAu2fe(oQXv;kwiL^=t}2u5wk8{NVJEZ zo8rVqJ>JvsT4-|N;F?hWw~C#G`{z3wD;)aIDeP%?_I*;ItIp2KaCbFLs`Tk)XO8*B zrw^U26+P5bJ=@1G!b@!AAhAE1NVxf{sy2w7=tdibLQ}N># z**3$a7JFNZTY7$aQrH|9*?LkGyllRx1uo6E6$(}hMJ;w|p{-D`YAwEj7w}rMF141u z17sXiFGFB3a%p;TThFx%p*pWk`Zru^D|;4X98>Y1_vBgDyX4u= zf`V0tY}?>cN7*)H98ZiK=@ML?^iCe^@XD-9y%iG2N&5=C|IqMCq3%YsE?*Z93 z9thQ{^mC^avh|6e;BDJvn^&u7TiH5fvyKNspTGwca`5tyjpKpvg}4V5a^R4SY)YgNdBLpF{F z!jQN*3OR7d#_{ldk1h**Mj;0f*+3o$!{VM*$bmyPjt7F{lrF&M6>{K^jpKnZrs(kV zM@tnR1Q6Lk9tgFvFr$zIhin`VggS9~g&a6!<9Hy{i(8?nzN!d&W+a?CuTg&E6-A9@ z3y{qM9tcy#tyajv6CoSN10gDItwIhQvT-~R((F8+-cooFKx6}XAhgKB^$Iy~$j0$N zm?iFgg&a6!<9Hy<759Nc#`DX~XD&k?fb9Y|E9Af-n}s|OI>dD=LbenNRtH2KRCK^rDEOZmbV%6O3fWqQf|upw z9UNAalXrj@jEqwn2;a%J?-jDO4FzxOH_B^-{|Wayo1tKKN|v2gbP7toE@T{2u{$g7 zSKOTJZ75g`h&r!m0P5~rF&bur!hTmYXfH#-YDm;2+-_`zg4JbFS8=bgm4}AeurMFD z8ZddE$T+5AcU{~~Mc3_hC|KPVRiWv&tx&M4)L!Ynb&sY>ZGBTHn2pgTr8SMQ6$)0h zqVCgFYbzA2>O@V@RHtz(zU%KoG|VOmdsx#Xdl?E=4Wb^^)L<(VtZv9<+o(6s#7A>d@pZuo((wi-axFw8&N{SS=Hk)wIl3C|GrgdQnqXxia@3 z(=b~hY^A0ZVDh0M8^;6TRdK5|vh``8;B9L~y{>7ktx%YQ`~RE5JdJEELs2~Rj;MDv zvZYY4+8}D9rVX}2!D^GJE!v|^HbcRzsQw5WS)NZSeptMQ^H*3fucp _logger; private ErpOptions _erpOptions; private readonly IMemoryCache _memoryCache; + private readonly ISerialNumberService _serialNumberService; public SysConfigController(ILoginService loginService, IBasicsRepositories basicsRepositories, IOptions erpOptions, IBoxRepositories boxRepositories, IErpService erpService, ISingleDataService singleDataService, IMemoryCache memoryCache, ISerialNumbersRepositories serialNumbersRepositories, IBoxInventoryRepositories boxInventoryRepositories, IMapper mapper, IErpBasicDataExtendService erpBasicDataExtendService, IOutStockRepositories outStockRepositories, - ILogger logger, IMoveBoxRecordRepositories moveBoxRecordRepositories) + ILogger logger, IMoveBoxRecordRepositories moveBoxRecordRepositories, + ISerialNumberService serialNumberService) { this._erpOptions = erpOptions?.Value; this._memoryCache = memoryCache; @@ -67,6 +70,7 @@ namespace WMS.Web.Api.Controllers _outStockRepositories = outStockRepositories; _logger = logger; _moveBoxRecordRepositories = moveBoxRecordRepositories; + _serialNumberService = serialNumberService; } /// @@ -371,7 +375,7 @@ namespace WMS.Web.Api.Controllers return Result>.ReFailure(ResultCodes.Token_Invalid_Error); var r = await _basicsRepositories.GetSubUcStockAsync(ManagementSystemCode.GLXT0004.ToString(), dto.Name, loginInfo.UserInfo.CompanyId); if (!string.IsNullOrEmpty(dto.StockCode)) - r = r.Where(w => w.StockCode == dto.StockCode && w.ErpOrgCode==dto.OrgCode).ToList(); + r = r.Where(w => w.StockCode == dto.StockCode && w.ErpOrgCode == dto.OrgCode).ToList(); return Result>.ReSuccess(r); } /// @@ -526,7 +530,12 @@ namespace WMS.Web.Api.Controllers _logger.LogInformation($"请求序列号信息:{serialNumber} 组织:{orgCode} 是否Ops:{IsOps} 查询状态 {serialStatus}"); var res = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus ?? 0); - if (res == null) return Result.ReFailure(ResultCodes.MateriaNoData); + //if (res == null) return Result.ReFailure(ResultCodes.MateriaNoData); + if (res == null) + { + //没有搜索到数据 则去同步供应链系统 + return await _serialNumberService.GetBarCodeSerialNumber(serialNumber, orgCode, IsOps, serialStatus ?? 0); + } /* 以下页面需要判断后提示:如果状态为非冻结的提示:序列号已上架入库 ; 状态为冻结的扫描成功; 不存在的序列号提示:产品信息不存在 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml index 0bd1c113..aa653232 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Core.xml @@ -5604,6 +5604,41 @@ 收货客户 + + + 获取没有装过箱的序列码 + + + + + 序列号 + + + + + wms系统请求序列码返回 + + + + + 序列号 + + + + + 物料编码 + + + + + 创建人 + + + + + 生成时间 + + ID请求对象 diff --git a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml index b22a842f..94644910 100644 --- a/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml +++ b/src/WMS.Web.Api/wwwroot/WMS.Web.Domain.xml @@ -3772,6 +3772,16 @@ + + + 获取供应链系统序列码 + + + + + + + 盘点单服务 @@ -6121,6 +6131,14 @@ ops服务 + + + 获取序列码 + + + + + 保存单个key value @@ -6437,6 +6455,17 @@ + + + 获取供应链系统序列码 + + + + + + + + 盘点单服务 diff --git a/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersWmsRequest.cs b/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersWmsRequest.cs new file mode 100644 index 00000000..9aca483d --- /dev/null +++ b/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersWmsRequest.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WMS.Web.Core.Dto.SerialNumbers +{ + /// + /// 获取没有装过箱的序列码 + /// + public class SerialNumbersWmsRequest + { + /// + /// 序列号 + /// + public string SerialNumber { get; set; } = string.Empty; + } +} diff --git a/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersWmsResponse.cs b/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersWmsResponse.cs new file mode 100644 index 00000000..c8dafe87 --- /dev/null +++ b/src/WMS.Web.Core/Dto/SerialNumbers/SerialNumbersWmsResponse.cs @@ -0,0 +1,31 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace WMS.Web.Core.Dto.SerialNumbers +{ + /// + /// wms系统请求序列码返回 + /// + public class SerialNumbersWmsResponse + { + /// + /// 序列号 + /// + public string SerialNumber { get; set; } = string.Empty; + /// + /// 物料编码 + /// + public string MaterialNumber { get; set; } = string.Empty; + /// + /// 创建人 + /// + public string Creator { get; set; } = string.Empty; + /// + /// 生成时间 + /// + public DateTime CreateTime { get; set; } = DateTime.Now; + } +} diff --git a/src/WMS.Web.Domain/IService/ISerialNumberService.cs b/src/WMS.Web.Domain/IService/ISerialNumberService.cs index 9831d63e..e4e71340 100644 --- a/src/WMS.Web.Domain/IService/ISerialNumberService.cs +++ b/src/WMS.Web.Domain/IService/ISerialNumberService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Text; using System.Threading.Tasks; +using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; @@ -33,5 +34,14 @@ namespace WMS.Web.Domain.IService /// /// Task SerialNumberOperate(List list, bool isTransaction = true); + /// + /// 获取供应链系统序列码 + /// + /// + /// + /// + /// + /// + Task> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0); } } diff --git a/src/WMS.Web.Domain/IService/Public/IOpsService.cs b/src/WMS.Web.Domain/IService/Public/IOpsService.cs index 65fcb97d..aa5e45ac 100644 --- a/src/WMS.Web.Domain/IService/Public/IOpsService.cs +++ b/src/WMS.Web.Domain/IService/Public/IOpsService.cs @@ -1,13 +1,18 @@ -using System; +using MySqlX.XDevAPI.Common; +using System; using System.Collections.Generic; using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.SerialNumbers; +using WMS.Web.Core.Internal.Results; +using WMS.Web.Domain.Entitys; namespace WMS.Web.Domain.IService.Public { public interface IOpsService { Task> GetBox(OpsBoxRequest request); + Task> GetSerialNumbers(SerialNumbersWmsRequest request); } } diff --git a/src/WMS.Web.Domain/Services/Public/OpsService.cs b/src/WMS.Web.Domain/Services/Public/OpsService.cs index 24b06377..663eeca0 100644 --- a/src/WMS.Web.Domain/Services/Public/OpsService.cs +++ b/src/WMS.Web.Domain/Services/Public/OpsService.cs @@ -8,8 +8,11 @@ using System.ComponentModel; using System.Text; using System.Threading.Tasks; using WMS.Web.Core.Dto; +using WMS.Web.Core.Dto.SerialNumbers; +using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.IService.Public; using WMS.Web.Domain.Options; +using WMS.Web.Domain.Values; namespace WMS.Web.Domain.Services.Public { @@ -51,6 +54,21 @@ namespace WMS.Web.Domain.Services.Public var list = JsonConvert.DeserializeObject>(res.data.date); return list; } + /// + /// 获取序列码 + /// + /// + /// + /// + public async Task> GetSerialNumbers(SerialNumbersWmsRequest request) + { + string endStr = "api/WmsBox/GetSerialNumber"; + Dictionary dicHeaders = new Dictionary(); + //dicHeaders.Add("Authorization", "Bearer " + token); + //_httpClientService.BuildHttpClient(contentHeaders); + var res = await _httpClientService.PostAsync>(_option.Url + endStr, JsonConvert.SerializeObject(request), dicHeaders); + return res; + } private async Task GetToken() { diff --git a/src/WMS.Web.Domain/Services/SerialNumberService.cs b/src/WMS.Web.Domain/Services/SerialNumberService.cs index 4d84afc7..36137579 100644 --- a/src/WMS.Web.Domain/Services/SerialNumberService.cs +++ b/src/WMS.Web.Domain/Services/SerialNumberService.cs @@ -1,10 +1,12 @@ using Microsoft.EntityFrameworkCore.Storage; +using Microsoft.Extensions.Logging; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using WMS.Web.Core.Dto; using WMS.Web.Core.Dto.Login; using WMS.Web.Core.Internal.Results; using WMS.Web.Domain.Entitys; @@ -28,10 +30,12 @@ namespace WMS.Web.Domain.Services private readonly ISingleDataService _singleDataService; private readonly IErpService _erpService; private readonly IBoxInventoryRepositories _boxInventoryRepositories; + private readonly IOpsService _opsService; + private readonly ILogger _logger; public SerialNumberService(ISerialNumberOperateRepositories serialNumberOperateRepositories, ISerialNumbersRepositories serialNumbersRepositories, IBasicsRepositories transactionRepositories, IBoxRepositories boxRepositories, ISingleDataService singleDataService, IErpService erpService, - IBoxInventoryRepositories boxInventoryRepositories) + IBoxInventoryRepositories boxInventoryRepositories, IOpsService opsService, ILogger logger) { _serialNumberOperateRepositories = serialNumberOperateRepositories; _serialNumbersRepositories = serialNumbersRepositories; @@ -40,6 +44,8 @@ namespace WMS.Web.Domain.Services _singleDataService = singleDataService; _erpService = erpService; _boxInventoryRepositories = boxInventoryRepositories; + _opsService = opsService; + _logger = logger; } /// /// 改箱 @@ -457,7 +463,7 @@ namespace WMS.Web.Domain.Services { var serialNumbers = takeStocks.SelectMany(s => s.Details).SelectMany(s => s.SerialNumbers).ToList(); var entityList = await _serialNumbersRepositories.GetEntityList(serialNumbers); - + var boxIds = takeStocks.SelectMany(s => s.Details).Select(s => s.BoxId).ToList(); var boxList = await _boxRepositories.GetEntityList(boxIds); @@ -564,5 +570,48 @@ namespace WMS.Web.Domain.Services if (!res.Success) return Result.ReFailure(ResultCodes.DateWriteError); return Result.ReSuccess(); } + /// + /// 获取供应链系统序列码 + /// + /// + /// + /// + /// + /// + /// + public async Task> GetBarCodeSerialNumber(string serialNumber, string orgCode, bool IsOps = false, int serialStatus = 0) + { + //外层方法没有调到数据是null 如果这里查询到序列码 + var list = await _serialNumbersRepositories.GetEntityList(new List() { serialNumber }); + if (list.FirstOrDefault(f => f.SerialNumber.Equals(serialNumber)) != null) + return Result.ReFailure(ResultCodes.MateriaNoData); + //进入供应链系统调数据 + _logger.LogInformation($"拉取供应链系统条码->{serialNumber}"); + var res = await _opsService.GetSerialNumbers(new Core.Dto.SerialNumbers.SerialNumbersWmsRequest() { SerialNumber = serialNumber }); + if (!res.IsSuccess) + return Result.ReFailure(ResultCodes.MateriaNoData); + + _logger.LogInformation($"拉取供应链系统条码结果:->{JsonConvert.SerializeObject(res)}"); + //插入序列码信息 + SerialNumbers entity = new SerialNumbers(res.Data.SerialNumber, res.Data.MaterialNumber + , 0, 0, res.Data.Creator, res.Data.CreateTime, null); + var isSuccess = await _serialNumbersRepositories.AddRange(new List() { entity }); + if (!isSuccess) return Result.ReFailure(ResultCodes.DateWriteError); + + var res_s = await _serialNumbersRepositories.GetSerialNumber(serialNumber, orgCode, IsOps, serialStatus); + if (res_s == null) return Result.ReFailure(ResultCodes.MateriaNoData); + /* + 以下页面需要判断后提示:如果状态为非冻结的提示:序列号已上架入库 ; 状态为冻结的扫描成功; + 不存在的序列号提示:产品信息不存在 + 非采购上架 改箱 (非激活的或者(激活被冻结)) 1 + 出库回退上架 (激活被冻结) 2 + */ + if (serialStatus == 1 || serialStatus == 2) + { + if (res_s.IsActivate == true && res_s.IsDelete != true) + return Result.ReFailure(ResultCodes.SerialNumbersIsShelf); + } + return Result.ReSuccess(res_s); + } } } diff --git a/src/WMS.Web.Domain/Values/ResultCodes.cs b/src/WMS.Web.Domain/Values/ResultCodes.cs index 90072abe..06a356cc 100644 --- a/src/WMS.Web.Domain/Values/ResultCodes.cs +++ b/src/WMS.Web.Domain/Values/ResultCodes.cs @@ -95,5 +95,7 @@ namespace WMS.Web.Domain.Values public static ValueTuple TakeStockBoxIdError = (610007, "箱信息错误"); public static ValueTuple SubscribeNotificationNoData = (700001, "订阅通知信息不存在"); + + public static ValueTuple GetBarCodeSerialNumberError = (800001, "获取序列码异常"); } }