From f014e9163bf596dff2c5b089b656a166d42ccebe Mon Sep 17 00:00:00 2001 From: zhaoxinyu <89237069@qq.com> Date: Thu, 6 Jun 2024 16:54:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AssembleIssueJobAppService.cs | 51 +++++++++++++++---- .../CoatingIssueJobAppService.cs | 18 ++++--- .../InjectionIssueJobAppService.cs | 21 +++++--- .../KittingIssueJobAppService.cs | 21 +++++--- .../SparePartIssueJobAppService.cs | 12 ++--- .../Jobs/IssueJobs/proxy/ProxyIssueJobDto.cs | 19 ++++--- 6 files changed, 101 insertions(+), 41 deletions(-) diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs index 460d2469f..48fd4fb56 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs @@ -9,6 +9,7 @@ using System.Threading.Tasks; using Castle.Components.DictionaryAdapter; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using MyNamespace; using Volo.Abp; @@ -43,8 +44,10 @@ public class AssembleIssueJobAppService private readonly IHttpClientFactory _httpClientFactory; private readonly ITransferLibRequestAppService _transferLibRequestAppService; private readonly IOptions _options; + private readonly ILogger _logger; public AssembleIssueJobAppService( + ILogger logger, IAssembleIssueJobRepository repository, IAssembleIssueJobManager assembleIssueJobManager, ILocationAppService locationAppService, IAssembleIssueNoteAppService assembleIssueNoteAppService, IExpectOutAppService expectOutAppService @@ -59,6 +62,7 @@ public class AssembleIssueJobAppService _httpClientFactory = httpClientFactory; _options = options; _transferLibRequestAppService = transferLibRequestAppService; + _logger = logger; } [HttpPost("get-by-number-2")] @@ -296,24 +300,25 @@ public class AssembleIssueJobAppService /// /// [HttpPost("sync-issue-job-stereo")] - public async Task SyncIssueJobStereoAsync(List input, string pLoc) + public async Task SyncIssueJobStereoAsync(List input, string pLoc,Guid uid) { var ret = new ReusltObject(); - ret.Code = "1"; + ret.Code = 0; ret.Message = "操作成功"; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); try { var IssueJobToRestoDetailDTOs = new List(); var main = new IssueJobToRestoDTO(); - main.OperatorName = CurrentUser.UserName; + main.Uuid = uid; + main.OperatorName = string.IsNullOrEmpty(CurrentUser.UserName)? "admin": CurrentUser.UserName; foreach (var job in input) { foreach (var jobitem in job.Details) { IssueJobToRestoDetailDTOs.Add(new IssueJobToRestoDetailDTO { - Count = jobitem.HandledToQty, + Count = jobitem.RecommendFromQty, ProductNo = jobitem.ItemCode, NeedSite = pLoc, WorkNo = job.Number, @@ -333,6 +338,20 @@ public class AssembleIssueJobAppService _options.Value.Password = ""; //测试密码 #endif + + //var json = JsonSerializer.Serialize(main); + _options.Value.Address = "http://7e42682n64.goho.co:21171/"; //测试地址 + _options.Value.Token = ""; //测试token + _options.Value.UserName = ""; //测试用户名 + _options.Value.Password = ""; //测试密码 + _options.Value.Path = "zozocnApi/custom/receiveProductionPlan"; //测试密码 + + _logger.LogInformation(System.Text.Json.JsonSerializer.Serialize(_options)); + + var flag = DateTime.Now.ToString("yyyyMMddHHmmss"); + _logger.LogInformation($"标志{flag}开始调用高通WMS:传递值{System.Text.Json.JsonSerializer.Serialize(main)}"); + + if (!string.IsNullOrEmpty(_options.Value.Token)) { var token = _options.Value.Token; @@ -349,11 +368,13 @@ public class AssembleIssueJobAppService var client = new IssueJobToRestoClient(_options.Value.Address, httpclient, _options.Value.Path); ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false); + + _logger.LogInformation($"标志{flag}调用高通WMS:返回值{ret}"); } catch (Exception ex) { ret = new ReusltObject(); - ret.Code = "2"; + ret.Code = 1; ret.Message = ex.Message; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); } @@ -368,7 +389,7 @@ public class AssembleIssueJobAppService var json = JsonSerializer.Serialize(input); #endif var errors = new List(); - var ret = new ReusltObject { Code = "1", OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; + var ret = new ReusltObject { Code = int.Parse(GaoTongResultStatus.Success), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; try { if (input.Jobs.Count > 0) @@ -378,6 +399,12 @@ public class AssembleIssueJobAppService var query = _repository.WithDetails() .Where(p => numbers.Contains(p.Number)); var entities = query.ToList(); + if (entities.Count == 0) + { + errors.Add($"任务号{string.Join(",", numbers)}不存在!"); + } + + var dtos = ObjectMapper.Map, List>(entities); if (input.Jobs.Count == entities.Count) { @@ -417,7 +444,7 @@ public class AssembleIssueJobAppService { ret = new ReusltObject { - Code = "2", OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message + Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message }; return ret; } @@ -426,7 +453,7 @@ public class AssembleIssueJobAppService { ret = new ReusltObject { - Code = "2", + Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = string.Join(",", errors.ToArray()) }; @@ -510,6 +537,8 @@ public class AssembleIssueJobAppService /// private async Task CheckDimensionalStorehouseAsync(AssembleIssueJobEditInput input) { + + var jobDetailInputdetail = input.Details.FirstOrDefault(); var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) @@ -528,17 +557,19 @@ public class AssembleIssueJobAppService /// private async Task CheckDimensionalStorehouseAsync(AssembleIssueJobDTO assembleIssueJobDto) { + var jobDetailInputdetail = assembleIssueJobDto.Details.FirstOrDefault(); var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) .ConfigureAwait(false); + if (loctionDto.Type == EnumLocationType.DimensionalStorehouse) { //TODO 立体库 var ret = await SyncIssueJobStereoAsync(new List { assembleIssueJobDto }, - loctionDto.Code).ConfigureAwait(false); - if (ret.Code != "1") + loctionDto.Code,assembleIssueJobDto.Id).ConfigureAwait(false); + if (ret.Code != 0) { throw new UserFriendlyException($"调用立体库不成功!原因:{ret.Message}"); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs index 37a78a848..7e59d4800 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs @@ -318,7 +318,7 @@ public class CoatingIssueJobAppService public async Task SyncIssueJobStereoAsync(List input, string pLoc) { var ret = new ReusltObject(); - ret.Code = "0"; + ret.Code = int.Parse(GaoTongResultStatus.Success); ret.Message = "操作成功"; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); try @@ -388,7 +388,7 @@ public class CoatingIssueJobAppService _logger.LogInformation($"标志{flag}开始调用高通WMS:传递值{System.Text.Json.JsonSerializer.Serialize(main)}"); //_logger.LogInformation(MakeGrid($"标志{flag}开始调用高通WMS明细", main.Details.ToList())); - + ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false); @@ -398,7 +398,7 @@ public class CoatingIssueJobAppService catch (Exception ex) { ret = new ReusltObject(); - ret.Code = "2"; + ret.Code = int.Parse(GaoTongResultStatus.Failure); ret.Message = ex.Message; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } @@ -413,7 +413,7 @@ public class CoatingIssueJobAppService var json = JsonSerializer.Serialize(input); #endif var errors = new List(); - var ret = new ReusltObject { Code = "0", OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Message = "操作成功" }; + var ret = new ReusltObject { Code = 1, OperateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), Message = "操作成功" }; try { if (input.Jobs.Count > 0) @@ -424,6 +424,10 @@ public class CoatingIssueJobAppService .Where(p => numbers.Contains(p.Number)); var entities = query.ToList(); var dtos = ObjectMapper.Map, List>(entities); + if (entities.Count == 0) + { + errors.Add($"任务号{string.Join(",", numbers)}不存在!") ; + } if (input.Jobs.Count == entities.Count) { errors.Add("立体库提交出库任务和WMS任务不符,请核对! \n"); @@ -462,7 +466,7 @@ public class CoatingIssueJobAppService { ret = new ReusltObject { - Code = "2", OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message + Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message }; return ret; } @@ -471,7 +475,7 @@ public class CoatingIssueJobAppService { ret = new ReusltObject { - Code = "2", + Code = int.Parse(GaoTongResultStatus.Failure), OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = string.Join(",", errors.ToArray()) }; @@ -588,7 +592,7 @@ public class CoatingIssueJobAppService loctionDto.Code).ConfigureAwait(false); _logger.LogInformation($"立体库任务结束标记{flag},返回值{ret}"); - if (ret.Code != "0") + if (ret.Code != 0) { throw new UserFriendlyException($"调用立体库不成功!原因:{ret.Message}"); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs index d77ac6e90..1259feed5 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs @@ -297,7 +297,7 @@ public class InjectionIssueJobAppService public async Task SyncIssueJobStereoAsync(List input, string pLoc) { var ret = new ReusltObject(); - ret.Code = "1"; + ret.Code = 1; ret.Message = "操作成功"; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); try @@ -331,6 +331,15 @@ public class InjectionIssueJobAppService _options.Value.Password = ""; //测试密码 #endif + //var json = JsonSerializer.Serialize(main); + _options.Value.Address = "http://7e42682n64.goho.co:21171/"; //测试地址 + _options.Value.Token = ""; //测试token + _options.Value.UserName = ""; //测试用户名 + _options.Value.Password = ""; //测试密码 + _options.Value.Path = "zozocnApi/custom/receiveProductionPlan"; //测试密码 + + //_logger.LogInformation(System.Text.Json.JsonSerializer.Serialize(_options)); + if (!string.IsNullOrEmpty(_options.Value.Token)) { var token = _options.Value.Token; @@ -351,7 +360,7 @@ public class InjectionIssueJobAppService catch (Exception ex) { ret = new ReusltObject(); - ret.Code = "2"; + ret.Code = -1; ret.Message = ex.Message; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); } @@ -366,7 +375,7 @@ public class InjectionIssueJobAppService var json = JsonSerializer.Serialize(input); #endif var errors = new List(); - var ret = new ReusltObject { Code = "1", OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; + var ret = new ReusltObject { Code = 1, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; try { if (input.Jobs.Count > 0) @@ -415,7 +424,7 @@ public class InjectionIssueJobAppService { ret = new ReusltObject { - Code = "2", + Code = 2, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message }; @@ -426,7 +435,7 @@ public class InjectionIssueJobAppService { ret = new ReusltObject { - Code = "2", + Code = 2, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = string.Join(",", errors.ToArray()) }; @@ -538,7 +547,7 @@ public class InjectionIssueJobAppService //TODO 立体库 var ret = await SyncIssueJobStereoAsync(new List { injectionIssueJobDto }, loctionDto.Code).ConfigureAwait(false); - if (ret.Code != "1") + if (ret.Code != 1) { throw new UserFriendlyException($"调用立体库不成功!原因:{ret.Message}"); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs index 3f22b1252..cbc2ee77e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs @@ -296,7 +296,7 @@ public class KittingIssueJobAppService public async Task SyncIssueJobStereoAsync(List input, string pLoc) { var ret = new ReusltObject(); - ret.Code = "1"; + ret.Code = 1; ret.Message = "操作成功"; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); try @@ -330,6 +330,15 @@ public class KittingIssueJobAppService _options.Value.Password = ""; //测试密码 #endif + //var json = JsonSerializer.Serialize(main); + _options.Value.Address = "http://7e42682n64.goho.co:21171/"; //测试地址 + _options.Value.Token = ""; //测试token + _options.Value.UserName = ""; //测试用户名 + _options.Value.Password = ""; //测试密码 + _options.Value.Path = "zozocnApi/custom/receiveProductionPlan"; //测试密码 + + //_logger.LogInformation(System.Text.Json.JsonSerializer.Serialize(_options)); + if (!string.IsNullOrEmpty(_options.Value.Token)) { var token = _options.Value.Token; @@ -350,7 +359,7 @@ public class KittingIssueJobAppService catch (Exception ex) { ret = new ReusltObject(); - ret.Code = "2"; + ret.Code = -1; ret.Message = ex.Message; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); } @@ -365,7 +374,7 @@ public class KittingIssueJobAppService var json = JsonSerializer.Serialize(input); #endif var errors = new List(); - var ret = new ReusltObject { Code = "1", OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; + var ret = new ReusltObject { Code = 1, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; try { if (input.Jobs.Count > 0) @@ -414,7 +423,7 @@ public class KittingIssueJobAppService { ret = new ReusltObject { - Code = "2", OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message + Code = 2, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message }; return ret; } @@ -423,7 +432,7 @@ public class KittingIssueJobAppService { ret = new ReusltObject { - Code = "2", + Code = 2, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = string.Join(",", errors.ToArray()) }; @@ -535,7 +544,7 @@ public class KittingIssueJobAppService //TODO 立体库 var ret = await SyncIssueJobStereoAsync(new List { kittingIssueJobDto }, loctionDto.Code).ConfigureAwait(false); - if (ret.Code != "1") + if (ret.Code != 1) { throw new UserFriendlyException($"调用立体库不成功!原因:{ret.Message}"); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs index b16b5121c..07d0dc43b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs @@ -289,7 +289,7 @@ public class SparePartIssueJobAppService public async Task SyncIssueJobStereoAsync(List input, string pLoc) { var ret = new ReusltObject(); - ret.Code = "1"; + ret.Code = 1; ret.Message = "操作成功"; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); try @@ -343,7 +343,7 @@ public class SparePartIssueJobAppService catch (Exception ex) { ret = new ReusltObject(); - ret.Code = "2"; + ret.Code = -1; ret.Message = ex.Message; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); } @@ -358,7 +358,7 @@ public class SparePartIssueJobAppService var json = JsonSerializer.Serialize(input); #endif var errors = new List(); - var ret = new ReusltObject { Code = "1", OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; + var ret = new ReusltObject { Code = 1, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = "操作成功" }; try { if (input.Jobs.Count > 0) @@ -407,7 +407,7 @@ public class SparePartIssueJobAppService { ret = new ReusltObject { - Code = "2", OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message + Code = 2, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = ex.Message }; return ret; } @@ -416,7 +416,7 @@ public class SparePartIssueJobAppService { ret = new ReusltObject { - Code = "2", + Code = 2, OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), Message = string.Join(",", errors.ToArray()) }; @@ -528,7 +528,7 @@ public class SparePartIssueJobAppService //TODO 立体库 var ret = await SyncIssueJobStereoAsync(new List { sparePartIssueJobDto }, loctionDto.Code).ConfigureAwait(false); - if (ret.Code != "1") + if (ret.Code != 1) { throw new UserFriendlyException($"调用立体库不成功!原因:{ret.Message}"); } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/ProxyIssueJobDto.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/ProxyIssueJobDto.cs index c582c7d77..924054049 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/ProxyIssueJobDto.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/ProxyIssueJobDto.cs @@ -54,7 +54,7 @@ public partial class IssueJobToRestoDTO [System.Text.Json.Serialization.JsonPropertyName("operatorName")] public string OperatorName { get; set; } - [System.Text.Json.Serialization.JsonPropertyName("details")] + [System.Text.Json.Serialization.JsonPropertyName("data")] public System.Collections.Generic.ICollection Details { get; set; } } @@ -90,14 +90,21 @@ public partial class IssueJobToRestoDetailDTO public partial class ReusltObject { - [System.Text.Json.Serialization.JsonPropertyName("code")] - public string Code { get; set; } + [System.Text.Json.Serialization.JsonPropertyName("Code")] + public int Code { get; set; } - [System.Text.Json.Serialization.JsonPropertyName("message")] + [System.Text.Json.Serialization.JsonPropertyName("Message")] public string Message { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("operateTime")] + + [System.Text.Json.Serialization.JsonPropertyName("OperateTime")] public string OperateTime { get; set; } + [System.Text.Json.Serialization.JsonPropertyName("Data")] + public string Data { set; get; }=""; + + + + + }