Browse Source

Merge branch 'dev_DY_CC' of http://dev.ccwin-in.com:3000/BoXu.Zheng/WZC2 into dev_DY_CC

dev_DY_CC
郑勃旭 1 year ago
parent
commit
cbac13ca83
  1. 40
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml
  2. 16
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs
  3. 35
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
  4. 151
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
  5. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs
  6. 103
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/ProxyIssueJobDto.cs

40
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/Win_in.Sfs.Wms.DataExchange.Application.Contracts.xml

@ -771,6 +771,46 @@
最后修改时间 最后修改时间
</summary> </summary>
</member> </member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.AssembleIssueNoteDetailExchangeDto.ToLocationErpCode">
<summary>
目标ERP库位
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.AssembleIssueNoteDetailExchangeDto.FromLocationErpCode">
<summary>
来源ERP库位
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.AssembleIssueNoteDetailExchangeDto.Qty">
<summary>
数量
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.AssembleIssueNoteDetailExchangeDto.ItemCode">
<summary>
物品代码
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.AssembleIssueNoteExchangeDto.Number">
<summary>
发料记录号
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.AssembleIssueNoteExchangeDto.ActiveDate">
<summary>
生效日期
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.AssembleIssueNoteExchangeDto.Worker">
<summary>
操作员
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.AssembleIssueNoteExchangeDto.Detail">
<summary>
明细
</summary>
</member>
<member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.IssueNoteDetailExchangeDto.ToLocationErpCode"> <member name="P:Win_in.Sfs.Wms.DataExchange.WMS.PCK.IssueNoteDetailExchangeDto.ToLocationErpCode">
<summary> <summary>
目标ERP库位 目标ERP库位

16
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<CoatingIssueJobDetailDTO>
/// <summary> /// <summary>
/// 喷涂主表 /// 喷涂主表
/// </summary> /// </summary>
public class CoatingIssueRequestFromRestoDTO public class IssueRequestFromRestoDTO
{ {
public string RequestNumber { set; get; } public string RequestNumber { set; get; }
public List<CoatingIssueJobFromRestoDTO> Jobs { set; get; } public List<IssueJobFromRestoDTO> Jobs { set; get; }
} }
/// <summary> /// <summary>
/// 立体库发给WMS明细 /// 立体库发给WMS明细
/// </summary> /// </summary>
public class CoatingIssueJobFromRestoDetailDTO public class IssueJobFromRestoDetailDTO
{ {
[Display(Name = "零件编号")] [Display(Name = "零件编号")]
public string ItemCode { set; get; } public string ItemCode { set; get; }
@ -64,12 +64,12 @@ public class CoatingIssueJobFromRestoDetailDTO
/// <summary> /// <summary>
/// 立体库发给立体库任务单号 /// 立体库发给立体库任务单号
/// </summary> /// </summary>
public class CoatingIssueJobFromRestoDTO public class IssueJobFromRestoDTO
{ {
[Display(Name = "任务单号")] [Display(Name = "任务单号")]
public string JobNumber { set; get; } public string JobNumber { set; get; }
[Display(Name = "明细")] [Display(Name = "明细")]
public List<CoatingIssueJobFromRestoDetailDTO> Details { set; get; } public List<IssueJobFromRestoDetailDTO> Details { set; get; }
} }
/// <summary> /// <summary>
/// 发给立体库主表 /// 发给立体库主表
@ -78,7 +78,7 @@ public class CoatingIssueJobFromRestoDTO
/// 发给立体库子表 /// 发给立体库子表
/// </summary> /// </summary>
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] [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")] [System.Text.Json.Serialization.JsonPropertyName("uuid")]
@ -88,7 +88,7 @@ public partial class CoatingIssueJobToRestoDTO
public string OperatorName { get; set; } public string OperatorName { get; set; }
[System.Text.Json.Serialization.JsonPropertyName("details")] [System.Text.Json.Serialization.JsonPropertyName("details")]
public System.Collections.Generic.ICollection<CoatingIssueJobToRestoDetailDTO> Details { get; set; } public System.Collections.Generic.ICollection<IssueJobToRestoDetailDTO> Details { get; set; }
} }
@ -96,7 +96,7 @@ public partial class CoatingIssueJobToRestoDTO
/// 发给立体库主表 /// 发给立体库主表
/// </summary> /// </summary>
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] [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")] [System.Text.Json.Serialization.JsonPropertyName("workNo")]

35
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")] [HttpPost("add-many")]
public override async Task<List<CoatingIssueJobDTO>> CreateManyAsync(List<CoatingIssueJobEditInput> inputs) public override async Task<List<CoatingIssueJobDTO>> CreateManyAsync(List<CoatingIssueJobEditInput> inputs)
{ {
foreach (var input in inputs) foreach (var input in inputs)
{ {
await CheckMinRowAndSetStatusAsync(input).ConfigureAwait(false); 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<ReusltObject> SyncCoatingJobStereoAsync(List<CoatingIssueJobDTO> input) public virtual async Task<ReusltObject> SyncCoatingJobStereoAsync(List<CoatingIssueJobDTO> input)
{ {
foreach (var itm in input)
{
}
ReusltObject ret=new ReusltObject(); ReusltObject ret=new ReusltObject();
ret.Code = "1"; ret.Code = "1";
ret.Message = "操作成功"; ret.Message = "操作成功";
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd"); ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd");
List<CoatingIssueJobToRestoDetailDTO> coatingIssueJobToRestoDetailDTOs = new List<CoatingIssueJobToRestoDetailDTO>(); List<IssueJobToRestoDetailDTO> IssueJobToRestoDetailDTOs = new List<IssueJobToRestoDetailDTO>();
CoatingIssueJobToRestoDTO main=new CoatingIssueJobToRestoDTO(); IssueJobToRestoDTO main=new IssueJobToRestoDTO();
main.OperatorName=CurrentUser.UserName; main.OperatorName=CurrentUser.UserName;
foreach (var job in input) foreach (var job in input)
{ {
foreach (var jobitem in job.Details) foreach (var jobitem in job.Details)
{ {
coatingIssueJobToRestoDetailDTOs.Add(new CoatingIssueJobToRestoDetailDTO() IssueJobToRestoDetailDTOs.Add(new IssueJobToRestoDetailDTO()
{ {
Count=jobitem.HandledToQty, Count=jobitem.HandledToQty,
ProductNo=jobitem.ItemCode, ProductNo=jobitem.ItemCode,
@ -234,23 +229,21 @@ public class CoatingIssueJobAppService
}); });
} }
} }
main.Details=coatingIssueJobToRestoDetailDTOs; main.Details=IssueJobToRestoDetailDTOs;
#region #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); ret = await client.SyncCoatingJobStereoAsync(main).ConfigureAwait(false);
#endregion #endregion
return ret; return ret;
} }
[HttpPost("receive-coating-job-stereo")] [HttpPost("receive-issue-job-stereo")]
public virtual async Task<ReusltObject> SyncReciveCoatingJobStereoAsync(CoatingIssueRequestFromRestoDTO input) public virtual async Task<ReusltObject> SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input)
{ {
List<string> errors = new List<string>(); List<string> errors = new List<string>();
var ret=new ReusltObject() var ret=new ReusltObject()
@ -261,7 +254,6 @@ public class CoatingIssueJobAppService
}; };
try try
{ {
if (input.Jobs.Count > 0) if (input.Jobs.Count > 0)
{ {
var inputs = input.Jobs; var inputs = input.Jobs;
@ -276,7 +268,7 @@ public class CoatingIssueJobAppService
var dtos = ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entities); var dtos = ObjectMapper.Map<List<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entities);
foreach (var itm in dtos) foreach (var itm in dtos)
{ {
var first = inputs.FirstOrDefault<CoatingIssueJobFromRestoDTO>(p => p.JobNumber == itm.Number); var first = inputs.FirstOrDefault<IssueJobFromRestoDTO>(p => p.JobNumber == itm.Number);
List<CoatingIssueJobDetailDTO> details = new List<CoatingIssueJobDetailDTO>(); List<CoatingIssueJobDetailDTO> details = new List<CoatingIssueJobDetailDTO>();
foreach (var detail in first.Details) foreach (var detail in first.Details)
{ {
@ -319,9 +311,6 @@ public class CoatingIssueJobAppService
Message = string.Join(",",errors.ToArray()) Message = string.Join(",",errors.ToArray())
}; };
} }
return ret; return ret;
} }

151
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs

@ -1,10 +1,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Net.Http;
using System.Threading.Tasks; using System.Threading.Tasks;
using Castle.Components.DictionaryAdapter; using Castle.Components.DictionaryAdapter;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using MyNamespace;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.ObjectMapping; using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Basedata.Application.Contracts; 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.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared; 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.Notes;
using Win_in.Sfs.Wms.Store.Options;
using static IdentityModel.ClaimComparer;
namespace Win_in.Sfs.Wms.Store.Application; namespace Win_in.Sfs.Wms.Store.Application;
@ -30,6 +36,8 @@ public class KittingIssueJobAppService
private readonly ITransferLibJobAppService _transferLibJobAppService; private readonly ITransferLibJobAppService _transferLibJobAppService;
private readonly IKittingIssueNoteAppService _kittingIssueNoteAppService; private readonly IKittingIssueNoteAppService _kittingIssueNoteAppService;
private readonly IExpectOutAppService _expectOutAppService; private readonly IExpectOutAppService _expectOutAppService;
private readonly IHttpClientFactory _httpClientFactory;
private readonly IOptions<RestoOptions> _options;
protected IKittingIssueRequestAppService KittingIssueRequestAppService => protected IKittingIssueRequestAppService KittingIssueRequestAppService =>
LazyServiceProvider.LazyGetRequiredService<IKittingIssueRequestAppService>(); LazyServiceProvider.LazyGetRequiredService<IKittingIssueRequestAppService>();
@ -37,7 +45,13 @@ public class KittingIssueJobAppService
public KittingIssueJobAppService( public KittingIssueJobAppService(
IKittingIssueJobRepository repository, IKittingIssueJobManager kittingIssueJobManager, IKittingIssueJobRepository repository, IKittingIssueJobManager kittingIssueJobManager,
ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService, ILocationAppService locationAppService, ITransferLibJobAppService transferLibJobAppService,
IKittingIssueNoteAppService kittingIssueNoteAppService, IExpectOutAppService expectOutAppService) : base( IKittingIssueNoteAppService kittingIssueNoteAppService, IExpectOutAppService expectOutAppService
, IHttpClientFactory httpClientFactory
, IOptions<RestoOptions> options
) : base(
repository, kittingIssueJobManager) repository, kittingIssueJobManager)
{ {
_kittingIssueJobManager = kittingIssueJobManager; _kittingIssueJobManager = kittingIssueJobManager;
@ -45,6 +59,8 @@ public class KittingIssueJobAppService
_transferLibJobAppService = transferLibJobAppService; _transferLibJobAppService = transferLibJobAppService;
_kittingIssueNoteAppService = kittingIssueNoteAppService; _kittingIssueNoteAppService = kittingIssueNoteAppService;
_expectOutAppService = expectOutAppService; _expectOutAppService = expectOutAppService;
_httpClientFactory = httpClientFactory;
_options = options;
} }
[HttpPost("add-many")] [HttpPost("add-many")]
@ -322,5 +338,138 @@ public class KittingIssueJobAppService
await Task.CompletedTask.ConfigureAwait(false); await Task.CompletedTask.ConfigureAwait(false);
} }
[HttpPost("sync-issue-job-stereo")]
public virtual async Task<ReusltObject> SyncCoatingJobStereoAsync(List<CoatingIssueJobDTO> input)
{
ReusltObject ret = new ReusltObject();
ret.Code = "1";
ret.Message = "操作成功";
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd");
try
{
List<IssueJobToRestoDetailDTO> IssueJobToRestoDetailDTOs = new List<IssueJobToRestoDetailDTO>();
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 = jobitem.HandledToLocationCode,
WorkNo = job.Number,
TaskNo = job.Number
});
}
}
main.Details = IssueJobToRestoDetailDTOs;
#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 = "1";
ret.Message=ex.Message;
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd");
}
#endregion
return ret;
}
[HttpPost("receive-issue-job-stereo")]
public virtual async Task<ReusltObject> SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input)
{
List<string> errors = new List<string>();
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<KittingIssueJob>, List<KittingIssueJobDTO>>(entities);
foreach (var itm in dtos)
{
var first = inputs.FirstOrDefault<IssueJobFromRestoDTO>(p => p.JobNumber == itm.Number);
List<KittingIssueJobDetailDTO> details = new List<KittingIssueJobDetailDTO>();
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 #endregion
} }

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/CoatingIssueJobToRestoClient.cs → 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; using System = global::System;
[System.CodeDom.Compiler.GeneratedCode("NSwag", "14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))")] [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 #pragma warning disable 8618
private string _baseUrl; private string _baseUrl;
@ -33,7 +33,7 @@ namespace MyNamespace
private static System.Lazy<System.Text.Json.JsonSerializerOptions> _settings = new System.Lazy<System.Text.Json.JsonSerializerOptions>(CreateSerializerSettings, true); private static System.Lazy<System.Text.Json.JsonSerializerOptions> _settings = new System.Lazy<System.Text.Json.JsonSerializerOptions>(CreateSerializerSettings, true);
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. #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. #pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable.
{ {
BaseUrl = baseUrl; BaseUrl = baseUrl;
@ -68,7 +68,7 @@ namespace MyNamespace
/// <returns>Success</returns> /// <returns>Success</returns>
/// <exception cref="ApiException">A server side error occurred.</exception> /// <exception cref="ApiException">A server side error occurred.</exception>
public virtual System.Threading.Tasks.Task<ReusltObject> SyncCoatingJobStereoAsync(CoatingIssueJobToRestoDTO body) public virtual System.Threading.Tasks.Task<ReusltObject> SyncCoatingJobStereoAsync(IssueJobToRestoDTO body)
{ {
return SyncCoatingJobStereoAsync(body, System.Threading.CancellationToken.None); return SyncCoatingJobStereoAsync(body, System.Threading.CancellationToken.None);
} }
@ -76,7 +76,7 @@ namespace MyNamespace
/// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param> /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
/// <returns>Success</returns> /// <returns>Success</returns>
/// <exception cref="ApiException">A server side error occurred.</exception> /// <exception cref="ApiException">A server side error occurred.</exception>
public virtual async System.Threading.Tasks.Task<ReusltObject> SyncCoatingJobStereoAsync(CoatingIssueJobToRestoDTO body, System.Threading.CancellationToken cancellationToken) public virtual async System.Threading.Tasks.Task<ReusltObject> SyncCoatingJobStereoAsync(IssueJobToRestoDTO body, System.Threading.CancellationToken cancellationToken)
{ {
var client_ = _httpClient; var client_ = _httpClient;
var disposeClient_ = false; var disposeClient_ = false;

103
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;
/// <summary>
/// 喷涂主表
/// </summary>
public class IssueRequestFromRestoDTO
{
public string RequestNumber { set; get; }
public List<IssueJobFromRestoDTO> Jobs { set; get; }
}
/// <summary>
/// 立体库发给WMS明细
/// </summary>
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; }
}
/// <summary>
/// 立体库发给立体库任务单号
/// </summary>
public class IssueJobFromRestoDTO
{
[Display(Name = "任务单号")]
public string JobNumber { set; get; }
[Display(Name = "明细")]
public List<IssueJobFromRestoDetailDTO> Details { set; get; }
}
/// <summary>
/// 发给立体库主表
/// </summary>
/// <summary>
/// 发给立体库子表
/// </summary>
[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<IssueJobToRestoDetailDTO> Details { get; set; }
}
/// <summary>
/// 发给立体库主表
/// </summary>
[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; }
}
/// <summary>
/// 返回结果
/// </summary>
[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; }
}
Loading…
Cancel
Save