diff --git a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs index d22d04418..817019c53 100644 --- a/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs +++ b/be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/test/TestAppService.cs @@ -66,9 +66,9 @@ public class TestService:ApplicationService // return result; //} - [HttpPost("SyncCoatingJobStereo")] + [HttpPost("SyncIssueJobStereo")] - public virtual async Task SyncCoatingJobStereoAsync(CoatingIssueJobToRestoDTO input) + public virtual async Task SyncIssueJobStereoAsync(IssueJobToRestoDTO input) { ReusltObject reuslt=new ReusltObject(); @@ -97,7 +97,7 @@ public class TestService:ApplicationService /// /// 发给立体库主表 /// -public class CoatingIssueJobToRestoDetailDTO +public class IssueJobToRestoDetailDTO { public string WorkNo { set; get; } public string TaskNo { set; get; } @@ -108,11 +108,11 @@ public class CoatingIssueJobToRestoDetailDTO /// /// 发给立体库子表 /// -public class CoatingIssueJobToRestoDTO +public class IssueJobToRestoDTO { public Guid UUID { set; get; } public string OperatorName { set; get; } - public List Details { set; get; } + public List Details { set; get; } } /// /// 返回结果 diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs index 897b00440..09951837e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs @@ -39,101 +39,6 @@ public class CoatingIssueJobDTO : SfsJobDTOBase public bool UseOnTheWayLocation { get; set; } } -/// -/// 喷涂主表 -/// -public class IssueRequestFromRestoDTO -{ - public string RequestNumber { set; get; } - public List Jobs { set; get; } -} -/// -/// 立体库发给WMS明细 -/// -public class IssueJobFromRestoDetailDTO -{ - [Display(Name = "零件编号")] - public string ItemCode { set; get; } - [Display(Name = "目标库位")] - public string ToLocationCode { set; get; } - [Display(Name = "来源库位")] - public string FromLocationCode { set; get; } - [Display(Name = "数量")] - public decimal Qty { set; get; } -} -/// -/// 立体库发给立体库任务单号 -/// -public class IssueJobFromRestoDTO -{ - [Display(Name = "任务单号")] - public string JobNumber { set; get; } - [Display(Name = "明细")] - public List Details { set; get; } -} -/// -/// 发给立体库主表 -/// -/// -/// 发给立体库子表 -/// -[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] -public partial class IssueJobToRestoDTO -{ - - [System.Text.Json.Serialization.JsonPropertyName("uuid")] - public System.Guid Uuid { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("operatorName")] - public string OperatorName { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("details")] - public System.Collections.Generic.ICollection Details { get; set; } - -} - -/// -/// 发给立体库主表 -/// -[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] -public partial class IssueJobToRestoDetailDTO -{ - - [System.Text.Json.Serialization.JsonPropertyName("workNo")] - public string WorkNo { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("taskNo")] - public string TaskNo { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("needSite")] - public string NeedSite { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("productNo")] - public string ProductNo { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("count")] - public decimal Count { get; set; } - -} - -/// -/// 返回结果 -/// -[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] -public partial class ReusltObject -{ - - [System.Text.Json.Serialization.JsonPropertyName("code")] - public string Code { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("message")] - public string Message { get; set; } - - [System.Text.Json.Serialization.JsonPropertyName("operateTime")] - public string OperateTime { get; set; } - -} - 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 08dfd7179..dd4d17441 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 @@ -25,6 +25,7 @@ using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain.Shared; using Win_in.Sfs.Wms.Store.Jobs.IssueJobs; +using Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy; using Win_in.Sfs.Wms.Store.Notes; using Win_in.Sfs.Wms.Store.Options; @@ -233,7 +234,7 @@ public class CoatingIssueJobAppService #region IssueJobToRestoClient client = new IssueJobToRestoClient(_options.Value.Address, _httpClientFactory.CreateClient()); - ret = await client.SyncCoatingJobStereoAsync(main).ConfigureAwait(false); + ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false); #endregion return ret; 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 b8c79e41e..95417e852 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 @@ -18,6 +18,7 @@ using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain.Shared; using Win_in.Sfs.Wms.Store.Jobs.IssueJobs; +using Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy; using Win_in.Sfs.Wms.Store.Notes; using Win_in.Sfs.Wms.Store.Options; using static IdentityModel.ClaimComparer; @@ -311,7 +312,7 @@ public class KittingIssueJobAppService if (loctionDto.Type == EnumLocationType.DimensionalStorehouse) { //TODO 立体库 - var ret = await SyncCoatingJobStereoAsync(new List { kittingIssueJobDto }, loctionDto.Code).ConfigureAwait(false); + var ret = await SyncIssueJobStereoAsync(new List { kittingIssueJobDto }, loctionDto.Code).ConfigureAwait(false); if (ret.Code != "1") { throw new UserFriendlyException($"调用立体库不成功!原因:{ret.Message}"); @@ -360,7 +361,7 @@ public class KittingIssueJobAppService - private async Task SyncCoatingJobStereoAsync(List input,string p_loc) + private async Task SyncIssueJobStereoAsync(List input,string p_loc) { ReusltObject ret = new ReusltObject(); @@ -396,7 +397,7 @@ public class KittingIssueJobAppService #region IssueJobToRestoClient client = new IssueJobToRestoClient(_options.Value.Address, _httpClientFactory.CreateClient()); - ret = await client.SyncCoatingJobStereoAsync(main).ConfigureAwait(false); + ret = await client.SyncIssueJobStereoAsync(main).ConfigureAwait(false); } catch(Exception ex) { ret = new ReusltObject(); @@ -413,7 +414,7 @@ public class KittingIssueJobAppService [HttpPost("receive-issue-job-stereo")] - public virtual async Task SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input) + public virtual async Task SyncReciveIssueJobStereoAsync(IssueRequestFromRestoDTO input) { #if DEBUG @@ -428,22 +429,30 @@ public class KittingIssueJobAppService }; try { + if (input.Jobs.Count > 0) { - var inputs = input.Jobs; - var numbers = inputs.Select(p => p.JobNumber); + var jobs = input.Jobs; + var numbers = jobs.Select(p => p.JobNumber); var query = _repository.WithDetails() .Where(p => numbers.Contains(p.Number)); var entities = query.ToList(); + var dtos = ObjectMapper.Map, List>(entities); + + if (input.Jobs.Count == entities.Count) { errors.Add("提交出库任务和WMS出库任务不符,请核对! \n"); } - var dtos = ObjectMapper.Map, List>(entities); + + + + foreach (var itm in dtos) { - var first = inputs.FirstOrDefault(p => p.JobNumber == itm.Number); + var first = jobs.FirstOrDefault(p => p.JobNumber == itm.Number); + var itmDetails= itm.Details.ToList(); List details = new List(); foreach (var detail in first.Details) { diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs index 0cbd5776c..094f914e8 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs @@ -20,6 +20,7 @@ namespace MyNamespace { using Win_in.Sfs.Wms.Store.Jobs.IssueJobs; + using Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy; using System = global::System; [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] @@ -68,15 +69,15 @@ namespace MyNamespace /// Success /// A server side error occurred. - public virtual System.Threading.Tasks.Task SyncCoatingJobStereoAsync(IssueJobToRestoDTO body) + public virtual System.Threading.Tasks.Task SyncIssueJobStereoAsync(IssueJobToRestoDTO body) { - return SyncCoatingJobStereoAsync(body, System.Threading.CancellationToken.None); + return SyncIssueJobStereoAsync(body, System.Threading.CancellationToken.None); } /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// Success /// A server side error occurred. - public virtual async System.Threading.Tasks.Task SyncCoatingJobStereoAsync(IssueJobToRestoDTO body, System.Threading.CancellationToken cancellationToken) + public virtual async System.Threading.Tasks.Task SyncIssueJobStereoAsync(IssueJobToRestoDTO body, System.Threading.CancellationToken cancellationToken) { var client_ = _httpClient; var disposeClient_ = false; @@ -93,8 +94,8 @@ namespace MyNamespace var urlBuilder_ = new System.Text.StringBuilder(); if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); - // Operation Path: "CargoState/SyncCoatingJobStereo" - urlBuilder_.Append("CargoState/SyncCoatingJobStereo");//修改路由 + // Operation Path: "CargoState/SyncIssueJobStereo" + urlBuilder_.Append("CargoState/SyncIssueJobStereo");//修改路由 PrepareRequest(client_, request_, urlBuilder_);