Browse Source

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

dev_DY_CC
lvzb 12 months ago
parent
commit
9c4f42e7f2
  1. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/DTOs/ChassisDTO.cs
  2. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisEditInput.cs
  3. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisImportInput.cs
  4. 16
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/CoatingIssueJobs/DTOs/CoatingIssueJobDTO.cs
  5. 35
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
  6. 189
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
  7. 10
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/IssueJobToRestoClient.cs
  8. 103
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/proxy/ProxyIssueJobDto.cs
  9. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Chassis/Chassis.cs

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/DTOs/ChassisDTO.cs

@ -45,4 +45,12 @@ public class ChassisDTO : SfsBasicDTOBase
/// </summary>
[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; }
}

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisEditInput.cs

@ -45,4 +45,12 @@ public class ChassisEditInput
/// </summary>
[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; }
}

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Chassis/Inputs/ChassisImportInput.cs

@ -48,4 +48,12 @@ public class ChassisImportInput : SfsStoreImportInputBase
/// </summary>
[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; }
}

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>
public class CoatingIssueRequestFromRestoDTO
public class IssueRequestFromRestoDTO
{
public string RequestNumber { set; get; }
public List<CoatingIssueJobFromRestoDTO> Jobs { set; get; }
public List<IssueJobFromRestoDTO> Jobs { set; get; }
}
/// <summary>
/// 立体库发给WMS明细
/// </summary>
public class CoatingIssueJobFromRestoDetailDTO
public class IssueJobFromRestoDetailDTO
{
[Display(Name = "零件编号")]
public string ItemCode { set; get; }
@ -64,12 +64,12 @@ public class CoatingIssueJobFromRestoDetailDTO
/// <summary>
/// 立体库发给立体库任务单号
/// </summary>
public class CoatingIssueJobFromRestoDTO
public class IssueJobFromRestoDTO
{
[Display(Name = "任务单号")]
public string JobNumber { set; get; }
[Display(Name = "明细")]
public List<CoatingIssueJobFromRestoDetailDTO> Details { set; get; }
public List<IssueJobFromRestoDetailDTO> Details { set; get; }
}
/// <summary>
/// 发给立体库主表
@ -78,7 +78,7 @@ public class CoatingIssueJobFromRestoDTO
/// 发给立体库子表
/// </summary>
[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<CoatingIssueJobToRestoDetailDTO> Details { get; set; }
public System.Collections.Generic.ICollection<IssueJobToRestoDetailDTO> Details { get; set; }
}
@ -96,7 +96,7 @@ public partial class CoatingIssueJobToRestoDTO
/// 发给立体库主表
/// </summary>
[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")]

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")]
public override async Task<List<CoatingIssueJobDTO>> CreateManyAsync(List<CoatingIssueJobEditInput> 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<ReusltObject> SyncCoatingJobStereoAsync(List<CoatingIssueJobDTO> input)
{
foreach (var itm in input)
{
}
ReusltObject ret=new ReusltObject();
ret.Code = "1";
ret.Message = "操作成功";
ret.OperateTime = DateTime.Now.ToString("yyyy-MM-dd");
List<CoatingIssueJobToRestoDetailDTO> coatingIssueJobToRestoDetailDTOs = new List<CoatingIssueJobToRestoDetailDTO>();
CoatingIssueJobToRestoDTO main=new CoatingIssueJobToRestoDTO();
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)
{
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<ReusltObject> SyncReciveCoatingJobStereoAsync(CoatingIssueRequestFromRestoDTO input)
[HttpPost("receive-issue-job-stereo")]
public virtual async Task<ReusltObject> SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input)
{
List<string> errors = new List<string>();
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<CoatingIssueJob>, List<CoatingIssueJobDTO>>(entities);
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>();
foreach (var detail in first.Details)
{
@ -319,9 +311,6 @@ public class CoatingIssueJobAppService
Message = string.Join(",",errors.ToArray())
};
}
return ret;
}

189
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<RestoOptions> _options;
protected IKittingIssueRequestAppService KittingIssueRequestAppService =>
LazyServiceProvider.LazyGetRequiredService<IKittingIssueRequestAppService>();
@ -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<RestoOptions> 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 调用立库接口
/// <summary>
/// 判断是不是在立体库
/// </summary>
/// <param name="kittingIssueJobDto"></param>
/// <returns></returns>
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> { kittingIssueJobDto }, loctionDto.Code).ConfigureAwait(false);
if (ret.Code != "1")
{
throw new UserFriendlyException($"调用立体库不成功!原因:{ret.Message}");
}
}
}
/// <summary>
@ -306,5 +354,138 @@ public class KittingIssueJobAppService
await Task.CompletedTask.ConfigureAwait(false);
}
private async Task<ReusltObject> SyncCoatingJobStereoAsync(List<KittingIssueJobDTO> input,string p_loc)
{
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 = 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<ReusltObject> SyncReciveCoatingJobStereoAsync(IssueRequestFromRestoDTO input)
{
#if DEBUG
var json= System.Text.Json.JsonSerializer.Serialize(input);
#endif
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
}

10
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;
[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<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.
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
/// <returns>Success</returns>
/// <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);
}
@ -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>
/// <returns>Success</returns>
/// <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 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_);

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; }
}

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Chassis/Chassis.cs

@ -46,4 +46,12 @@ public class Chassis : SfsAggregateRootBase
/// </summary>
[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; }
}

Loading…
Cancel
Save