diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/DTOs/ChassisDTO.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/DTOs/ChassisDTO.cs index 54dc81533..04352fd9b 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/DTOs/ChassisDTO.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/DTOs/ChassisDTO.cs @@ -45,4 +45,12 @@ public class ChassisDTO : SfsBasicDTOBase /// [Display(Name = "执行位置排序列")] public long SortNumber { get; set; } + + public string ItemCode { get; set; } + + public string ItemName { get; set; } + + public string ItemDesc1 { get; set; } + + public string ItemDesc2 { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisEditInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisEditInput.cs index d3265a664..f4510380e 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisEditInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisEditInput.cs @@ -45,4 +45,12 @@ public class ChassisEditInput /// [Display(Name = "执行位置排序列")] public long SortNumber { get; set; } + + public string ItemCode { get; set; } + + public string ItemName { get; set; } + + public string ItemDesc1 { get; set; } + + public string ItemDesc2 { get; set; } } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisImportInput.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisImportInput.cs index 538b52051..cfa5d46e1 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisImportInput.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisImportInput.cs @@ -48,4 +48,12 @@ public class ChassisImportInput : SfsStoreImportInputBase /// [Display(Name = "执行位置排序列")] public long SortNumber { get; set; } + + public string ItemCode { get; set; } + + public string ItemName { get; set; } + + public string ItemDesc1 { get; set; } + + public string ItemDesc2 { get; set; } } 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 f8932caf1..897b00440 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 @@ -42,15 +42,15 @@ public class CoatingIssueJobDTO : SfsJobDTOBase /// /// 喷涂主表 /// -public class CoatingIssueRequestFromRestoDTO +public class IssueRequestFromRestoDTO { public string RequestNumber { set; get; } - public List Jobs { set; get; } + public List Jobs { set; get; } } /// /// 立体库发给WMS明细 /// -public class CoatingIssueJobFromRestoDetailDTO +public class IssueJobFromRestoDetailDTO { [Display(Name = "零件编号")] public string ItemCode { set; get; } @@ -64,12 +64,12 @@ public class CoatingIssueJobFromRestoDetailDTO /// /// 立体库发给立体库任务单号 /// -public class CoatingIssueJobFromRestoDTO +public class IssueJobFromRestoDTO { [Display(Name = "任务单号")] public string JobNumber { set; get; } [Display(Name = "明细")] - public List Details { set; get; } + public List Details { set; get; } } /// /// 发给立体库主表 @@ -78,7 +78,7 @@ public class CoatingIssueJobFromRestoDTO /// 发给立体库子表 /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] -public partial class CoatingIssueJobToRestoDTO +public partial class IssueJobToRestoDTO { [System.Text.Json.Serialization.JsonPropertyName("uuid")] @@ -88,7 +88,7 @@ public partial class CoatingIssueJobToRestoDTO public string OperatorName { get; set; } [System.Text.Json.Serialization.JsonPropertyName("details")] - public System.Collections.Generic.ICollection Details { get; set; } + public System.Collections.Generic.ICollection Details { get; set; } } @@ -96,7 +96,7 @@ public partial class CoatingIssueJobToRestoDTO /// 发给立体库主表 /// [System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] -public partial class CoatingIssueJobToRestoDetailDTO +public partial class IssueJobToRestoDetailDTO { [System.Text.Json.Serialization.JsonPropertyName("workNo")] 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 50b06facf..08dfd7179 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 @@ -59,6 +59,9 @@ public class CoatingIssueJobAppService [HttpPost("add-many")] public override async Task> CreateManyAsync(List inputs) { + + + foreach (var input in inputs) { await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); @@ -200,31 +203,23 @@ public class CoatingIssueJobAppService } - [HttpPost("sync-coating-stereo")] + [HttpPost("sync-issue-job-stereo")] public virtual async Task SyncCoatingJobStereoAsync(List input) { - foreach (var itm in input) - { - - } - - - - ReusltObject ret=new ReusltObject(); ret.Code = "1"; ret.Message = "操作成功"; ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); - List coatingIssueJobToRestoDetailDTOs = new List(); - CoatingIssueJobToRestoDTO main=new CoatingIssueJobToRestoDTO(); + List IssueJobToRestoDetailDTOs = new List(); + IssueJobToRestoDTO main=new IssueJobToRestoDTO(); main.OperatorName=CurrentUser.UserName; foreach (var job in input) { foreach (var jobitem in job.Details) { - coatingIssueJobToRestoDetailDTOs.Add(new CoatingIssueJobToRestoDetailDTO() + IssueJobToRestoDetailDTOs.Add(new IssueJobToRestoDetailDTO() { Count=jobitem.HandledToQty, ProductNo=jobitem.ItemCode, @@ -234,23 +229,21 @@ public class CoatingIssueJobAppService }); } } - main.Details=coatingIssueJobToRestoDetailDTOs; + main.Details=IssueJobToRestoDetailDTOs; #region - CoatingIssueJobToRestoClient client = new CoatingIssueJobToRestoClient(_options.Value.Address, _httpClientFactory.CreateClient()); + IssueJobToRestoClient client = new IssueJobToRestoClient(_options.Value.Address, _httpClientFactory.CreateClient()); ret = await client.SyncCoatingJobStereoAsync(main).ConfigureAwait(false); #endregion return ret; - - } - [HttpPost("receive-coating-job-stereo")] - public virtual async Task SyncReciveCoatingJobStereoAsync(CoatingIssueRequestFromRestoDTO input) + [HttpPost("receive-issue-job-stereo")] + public virtual async Task SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input) { List errors = new List(); var ret=new ReusltObject() @@ -261,7 +254,6 @@ public class CoatingIssueJobAppService }; try { - if (input.Jobs.Count > 0) { var inputs = input.Jobs; @@ -276,7 +268,7 @@ public class CoatingIssueJobAppService var dtos = ObjectMapper.Map, List>(entities); foreach (var itm in dtos) { - var first = inputs.FirstOrDefault(p => p.JobNumber == itm.Number); + var first = inputs.FirstOrDefault(p => p.JobNumber == itm.Number); List details = new List(); foreach (var detail in first.Details) { @@ -319,9 +311,6 @@ public class CoatingIssueJobAppService Message = string.Join(",",errors.ToArray()) }; } - - - 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 025cf2437..b8c79e41e 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 @@ -1,10 +1,13 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Net.Http; using System.Threading.Tasks; using Castle.Components.DictionaryAdapter; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Options; +using MyNamespace; using Volo.Abp; using Volo.Abp.ObjectMapping; using Win_in.Sfs.Basedata.Application.Contracts; @@ -14,7 +17,10 @@ using Win_in.Sfs.Wms.Inventory.Application.Contracts; 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.Notes; +using Win_in.Sfs.Wms.Store.Options; +using static IdentityModel.ClaimComparer; namespace Win_in.Sfs.Wms.Store.Application; @@ -30,6 +36,8 @@ public class KittingIssueJobAppService private readonly ITransferLibJobAppService _transferLibJobAppService; private readonly IKittingIssueNoteAppService _kittingIssueNoteAppService; private readonly IExpectOutAppService _expectOutAppService; + private readonly IHttpClientFactory _httpClientFactory; + private readonly IOptions _options; protected IKittingIssueRequestAppService KittingIssueRequestAppService => LazyServiceProvider.LazyGetRequiredService(); @@ -37,7 +45,13 @@ public class KittingIssueJobAppService public KittingIssueJobAppService( IKittingIssueJobRepository repository, IKittingIssueJobManager kittingIssueJobManager, ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService, - IKittingIssueNoteAppService kittingIssueNoteAppService, IExpectOutAppService expectOutAppService) : base( + IKittingIssueNoteAppService kittingIssueNoteAppService, IExpectOutAppService expectOutAppService + , IHttpClientFactory httpClientFactory + , IOptions options + + + + ) : base( repository, kittingIssueJobManager) { _kittingIssueJobManager = kittingIssueJobManager; @@ -45,6 +59,8 @@ public class KittingIssueJobAppService _transferLibJobAppService = transferLibJobAppService; _kittingIssueNoteAppService = kittingIssueNoteAppService; _expectOutAppService = expectOutAppService; + _httpClientFactory = httpClientFactory; + _options = options; } [HttpPost("add-many")] @@ -56,7 +72,13 @@ public class KittingIssueJobAppService await CheckDimensionalStorehouseAsync(input).ConfigureAwait(false); } - return await base.CreateManyAsync(inputs).ConfigureAwait(false); + var kittingIssueJobDtos=await base.CreateManyAsync(inputs).ConfigureAwait(false); + foreach (var kittingIssueJobDto in kittingIssueJobDtos) + { + await CheckDimensionalStorehouseAsync(kittingIssueJobDto).ConfigureAwait(false); + } + + return kittingIssueJobDtos; } [HttpPost("")] @@ -65,7 +87,10 @@ public class KittingIssueJobAppService await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); await CheckDimensionalStorehouseAsync(input).ConfigureAwait(false); - return await base.CreateAsync(input).ConfigureAwait(false); + var kittingIssueJobDto=await base.CreateAsync(input).ConfigureAwait(false); + await CheckDimensionalStorehouseAsync(kittingIssueJobDto).ConfigureAwait(false); + + return kittingIssueJobDto; } [HttpPost("invalid")] @@ -268,9 +293,32 @@ public class KittingIssueJobAppService if (loctionDto.Type == EnumLocationType.DimensionalStorehouse) { input.JobStatus = EnumJobStatus.Wait; + } + } - //todo 调用立库接口 + /// + /// 判断是不是在立体库 + /// + /// + /// + private async Task CheckDimensionalStorehouseAsync(KittingIssueJobDTO kittingIssueJobDto) + { + var jobDetailInputdetail = kittingIssueJobDto.Details.FirstOrDefault(); + + var loctionDto = await _locationAppService.GetByCodeAsync(jobDetailInputdetail.RecommendFromLocationCode) + .ConfigureAwait(false); + + if (loctionDto.Type == EnumLocationType.DimensionalStorehouse) + { + //TODO 立体库 + var ret = await SyncCoatingJobStereoAsync(new List { kittingIssueJobDto }, loctionDto.Code).ConfigureAwait(false); + if (ret.Code != "1") + { + throw new UserFriendlyException($"调用立体库不成功!原因:{ret.Message}"); + } } + + } /// @@ -306,5 +354,138 @@ public class KittingIssueJobAppService await Task.CompletedTask.ConfigureAwait(false); } + + + + + + + private async Task SyncCoatingJobStereoAsync(List input,string p_loc) + { + + ReusltObject ret = new ReusltObject(); + ret.Code = "1"; + ret.Message = "操作成功"; + ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); + try + { + List IssueJobToRestoDetailDTOs = new List(); + IssueJobToRestoDTO main = new IssueJobToRestoDTO(); + main.OperatorName = CurrentUser.UserName; + foreach (var job in input) + { + foreach (var jobitem in job.Details) + { + IssueJobToRestoDetailDTOs.Add(new IssueJobToRestoDetailDTO() + { + Count = jobitem.HandledToQty, + ProductNo = jobitem.ItemCode, + NeedSite = p_loc, + WorkNo = job.Number, + TaskNo = job.Number + }); + } + } + main.Details = IssueJobToRestoDetailDTOs; + + +#if DEBUG + string json= System.Text.Json.JsonSerializer.Serialize(main); + _options.Value.Address = "http://localhost:59094/CargoState/SyncCoatingJobStereo";//测试地址 +#endif + + #region + IssueJobToRestoClient client = new IssueJobToRestoClient(_options.Value.Address, _httpClientFactory.CreateClient()); + ret = await client.SyncCoatingJobStereoAsync(main).ConfigureAwait(false); + } + catch(Exception ex) { + ret = new ReusltObject(); + ret.Code = "2"; + ret.Message=ex.Message; + ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); + } + #endregion + return ret; + + } + + + + + [HttpPost("receive-issue-job-stereo")] + public virtual async Task SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input) + { + +#if DEBUG + var json= System.Text.Json.JsonSerializer.Serialize(input); +#endif + List errors = new List(); + var ret = new ReusltObject() + { + Code = "1", + OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), + Message = "操作成功" + }; + try + { + if (input.Jobs.Count > 0) + { + var inputs = input.Jobs; + var numbers = inputs.Select(p => p.JobNumber); + var query = _repository.WithDetails() + .Where(p => numbers.Contains(p.Number)); + var entities = query.ToList(); + + 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); + List details = new List(); + foreach (var detail in first.Details) + { + KittingIssueJobDetailDTO dto = new KittingIssueJobDetailDTO(); + dto.HandledFromLocationCode = detail.FromLocationCode; + dto.HandledToLocationCode = detail.ToLocationCode; + dto.ItemCode = detail.ItemCode; + dto.RecommendFromQty = detail.Qty; + dto.RecommendToQty = detail.Qty; + dto.HandledFromQty = detail.Qty; + dto.HandledToQty = detail.Qty; + details.Add(dto); + } + itm.Details = details; + } + } + else + { + errors.Add("立体库确认单据里无数据! \n"); + } + } + catch (Exception ex) + { + ret = new ReusltObject() + { + Code = "2", + OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), + Message = ex.Message + }; + return ret; + } + if (errors.Count > 0) + { + + ret = new ReusltObject() + { + Code = "2", + OperateTime = DateTime.Now.ToString("yyyy-MM-dd"), + Message = string.Join(",", errors.ToArray()) + }; + } + return ret; + } #endregion } diff --git a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/CoatingIssueJobToRestoClient.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs similarity index 98% rename from be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/CoatingIssueJobToRestoClient.cs rename to be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs index c86d91f04..0cbd5776c 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/CoatingIssueJobToRestoClient.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs @@ -23,7 +23,7 @@ namespace MyNamespace using System = global::System; [System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] - public partial class CoatingIssueJobToRestoClient + public partial class IssueJobToRestoClient { #pragma warning disable 8618 private string _baseUrl; @@ -33,7 +33,7 @@ namespace MyNamespace private static System.Lazy _settings = new System.Lazy(CreateSerializerSettings, true); #pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. - public CoatingIssueJobToRestoClient(string baseUrl, System.Net.Http.HttpClient httpClient) + public IssueJobToRestoClient(string baseUrl, System.Net.Http.HttpClient httpClient) #pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. { BaseUrl = baseUrl; @@ -68,7 +68,7 @@ namespace MyNamespace /// Success /// A server side error occurred. - public virtual System.Threading.Tasks.Task SyncCoatingJobStereoAsync(CoatingIssueJobToRestoDTO body) + public virtual System.Threading.Tasks.Task SyncCoatingJobStereoAsync(IssueJobToRestoDTO body) { return SyncCoatingJobStereoAsync(body, System.Threading.CancellationToken.None); } @@ -76,7 +76,7 @@ namespace MyNamespace /// 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(CoatingIssueJobToRestoDTO body, System.Threading.CancellationToken cancellationToken) + public virtual async System.Threading.Tasks.Task SyncCoatingJobStereoAsync(IssueJobToRestoDTO body, System.Threading.CancellationToken cancellationToken) { var client_ = _httpClient; var disposeClient_ = false; @@ -94,7 +94,7 @@ namespace MyNamespace var urlBuilder_ = new System.Text.StringBuilder(); if (!string.IsNullOrEmpty(_baseUrl)) urlBuilder_.Append(_baseUrl); // Operation Path: "CargoState/SyncCoatingJobStereo" - urlBuilder_.Append("CargoState/SyncCoatingJobStereo"); + urlBuilder_.Append("CargoState/SyncCoatingJobStereo");//修改路由 PrepareRequest(client_, request_, urlBuilder_); 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 new file mode 100644 index 000000000..e60ffe8ba --- /dev/null +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/ProxyIssueJobDto.cs @@ -0,0 +1,103 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy; +/// +/// 喷涂主表 +/// +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.Domain/Chassis/Chassis.cs b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Chassis/Chassis.cs index 3113a77c2..0bd12d807 100644 --- a/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Chassis/Chassis.cs +++ b/be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Chassis/Chassis.cs @@ -46,4 +46,12 @@ public class Chassis : SfsAggregateRootBase /// [Display(Name = "执行位置排序列")] public long SortNumber { get; set; } + + public string ItemCode { get; set; } + + public string ItemName { get; set; } + + public string ItemDesc1 { get; set; } + + public string ItemDesc2 { get; set; } }