Browse Source

Merge branch 'Agv分支2024-11-19' of http://dev.ccwin-in.com:3000/BoXu.Zheng/WZC2 into Agv分支2024-11-19

Agv分支2024-11-19
赵新宇 4 months ago
parent
commit
935d99786b
  1. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs
  2. 2
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs
  3. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/DTOs/IntegrationPackingNoteDTO.cs
  4. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/DTOs/IntegrationPackingNoteDetailDTO.cs
  5. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/Inputs/IntegrationPackingNoteDetailInput.cs
  6. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/Inputs/IntegrationPackingNoteEditInput.cs
  7. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/Inputs/IntegrationPackingNoteImportInput.cs
  8. 72
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
  9. 197
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/OperationPacking/IntegrationPackingNotes/IntegrationPackingNoteAppService.cs
  10. 9
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs
  11. 50
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InspectRequests/InspectRequestAppService.cs
  12. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/OperationPacking/IntegrationPackingNotes/IntegrationPackingNote.cs

3
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs

@ -34,6 +34,7 @@ public class SplitPackingRecAppService :
base.DeletePolicyName = StdCostPriceSheetPermissions.Delete;
_splitPackingRecManager = splitPackingRecManager;
}
[HttpPost("batch-insert")]
public async Task<bool> BatchInsertAsync(List<SplitPackingRecEditInput> inputs)
{
@ -65,8 +66,6 @@ public class SplitPackingRecAppService :
SplitPackingRecDTO dto = ObjectMapper.Map<SplitPackingRec, SplitPackingRecDTO>(entity);
return dto;
}
/// <summary>
/// 取每个目标箱码的最后一条拆箱记录
/// </summary>

2
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs

@ -85,7 +85,7 @@ public enum EnumTransSubType
Transfer_Assemble = 3108,
/// <summary>
/// 客户库位调拨(客户储位调拨)
/// 拆箱
/// </summary>
[Display(Name = "拆箱")]
Transfer_SplitPacking = 3109,

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/DTOs/IntegrationPackingNoteDTO.cs

@ -94,6 +94,12 @@ public class IntegrationPackingNoteDTO : SfsStoreDTOBase<IntegrationPackingNoteD
[Display(Name = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 仓库代码
/// </summary>
[Display(Name = "仓库代码")]
public string WarehouseCode { get; set; }
#endregion
#region 标签信息

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/DTOs/IntegrationPackingNoteDetailDTO.cs

@ -93,6 +93,12 @@ public class IntegrationPackingNoteDetailDTO : SfsDetailDTOBase
[Display(Name = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 仓库代码
/// </summary>
[Display(Name = "仓库代码")]
public string WarehouseCode { get; set; }
#endregion
#region 标签信息

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/Inputs/IntegrationPackingNoteDetailInput.cs

@ -15,12 +15,6 @@ public class IntegrationPackingNoteDetailInput : SfsDetailInputBase
[Display(Name = "单号")]
public string Number { get; set; }
/// <summary>
/// 单号
/// </summary>
[Display(Name = "单号")]
public string WarehouseCode { get; set; }
#region 物品基础信息
/// <summary>
@ -105,6 +99,12 @@ public class IntegrationPackingNoteDetailInput : SfsDetailInputBase
[Display(Name = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 仓库代码
/// </summary>
[Display(Name = "仓库代码")]
public string WarehouseCode { get; set; }
#endregion
#region 标签信息

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/Inputs/IntegrationPackingNoteEditInput.cs

@ -98,6 +98,12 @@ public class IntegrationPackingNoteEditInput : SfsStoreCreateOrUpdateInputBase
[Display(Name = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 仓库代码
/// </summary>
[Display(Name = "仓库代码")]
public string WarehouseCode { get; set; }
#endregion
#region 标签信息

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/OperationPacking/IntegrationPackingNotes/Inputs/IntegrationPackingNoteImportInput.cs

@ -91,6 +91,12 @@ public class IntegrationPackingNoteImportInput : SfsStoreImportInputBase
[Display(Name = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 仓库代码
/// </summary>
[Display(Name = "仓库代码")]
public string WarehouseCode { get; set; }
#endregion
#region 标签信息

72
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs

@ -250,76 +250,4 @@ public class InspectJobAppService
var ret = ObjectMapper.Map<InspectJob, InspectJobDTO>(entity);
return ret;
}
//[HttpPost("pick-inspect")]
//public virtual async Task AddPickInspectJobAsync(InspectJobCreateInput input)
//{
// var entity = ObjectMapper.Map<InspectJobCreateInput, InspectJob>(input);
// await _inspectJobManager.AddPickInspectJobAsync(entity);
//}
//[HttpPost("inspect-job-create-test")]
//public virtual async Task CreateTest(InspectRequestInputN inspectJobCreateInput)
//{
// await _inspectJobManager.AddAsync(inspectJobCreateInput);
//}
/*
/// <summary>
///
/// </summary>
/// <param name="jobNumber"></param>
/// <returns></returns>
[HttpPost("accept")]
public override async Task AcceptAsync(string jobNumber)
{
var input = new InspectJobCheckInput
{
JobStatuses = new List<EnumJobStatus>() { EnumJobStatus.New },
};
var dto = await CheckAsync(jobNumber, input);
await _inspectJobManager.AcceptAsync(dto.Id, CurrentUser.Id ?? Guid.Empty);
}
/// <summary>
/// 执行任务时,修改实际数量
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
[HttpPost("handle")]
public override async Task HandleAsync(InspectJobDTO dto)
{
var input = new InspectJobCheckInput
{
JobStatuses = new List<EnumJobStatus>() { EnumJobStatus.Pending },
};
await CheckAsync(dto.Number, input);
var entity = ObjectMapper.Map<InspectJobDTO, InspectJob>(dto);
await _inspectJobManager.HandleAsync(entity, CurrentUser.Id ?? Guid.Empty);
}
[HttpPost("check")]
public override async Task<InspectJobDTO> CheckAsync(string jobNumber, InspectJobCheckInput input)
{
var result = new AbpValidationResult();
_inspectJobManager.CheckFormat(jobNumber);
var dto = await GetByNumberAsync(jobNumber);
var entity = ObjectMapper.Map<InspectJobDTO, InspectJob>(dto);
_inspectJobManager.CheckJobStatus(entity, input.JobStatuses, result);
_inspectJobManager.CheckDetails(entity, result);
//TODO 添加其它校验
if (result.Errors.Any())
{
throw new AbpValidationException(result.Errors);
}
return dto;
}
*/
}

197
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/OperationPacking/IntegrationPackingNotes/IntegrationPackingNoteAppService.cs

@ -4,11 +4,18 @@ using System.Threading.Tasks;
using IdentityServer4.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Basedata;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
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 LabelStatus = Win_in.Sfs.Label.Domain.Shared.LabelStatus;
namespace Win_in.Sfs.Wms.Store.Application;
@ -32,48 +39,198 @@ public class IntegrationPackingNoteAppService :
{
private readonly IIntegrationPackingNoteManager _integrationPackingNoteManager;
private readonly IBalanceAppService _balanceAppService;
private readonly ILocationAppService _locationAppService;
private readonly ISplitPackingRecAppService _splitPackingRecAppService;
private readonly IInventoryLabelAppService _inventoryLabelAppService;
private readonly ITransferLogAppService _transferLogAppService;
private readonly IExpectOutAppService _expectOutAppService;
public IntegrationPackingNoteAppService(
IIntegrationPackingNoteRepository repository,
IIntegrationPackingNoteManager integrationPackingNoteManager, IBalanceAppService balanceAppService) : base(repository)
IIntegrationPackingNoteManager integrationPackingNoteManager,
IBalanceAppService balanceAppService,
ILocationAppService locationAppService,
ISplitPackingRecAppService splitPackingRecAppService,
IInventoryLabelAppService inventoryLabelAppService, ITransferLogAppService transferLogAppService,
IExpectOutAppService expectOutAppService) : base(repository)
{
_integrationPackingNoteManager = integrationPackingNoteManager;
_balanceAppService = balanceAppService;
_locationAppService = locationAppService;
_splitPackingRecAppService = splitPackingRecAppService;
_inventoryLabelAppService = inventoryLabelAppService;
_transferLogAppService = transferLogAppService;
_expectOutAppService = expectOutAppService;
}
[HttpPost("")]
public override Task<IntegrationPackingNoteDTO> CreateAsync(IntegrationPackingNoteEditInput input)
public override async Task<IntegrationPackingNoteDTO> CreateAsync(IntegrationPackingNoteEditInput input)
{
//标签记录
var transferLogEditInputs = new List<TransferLogEditInput>();
var outDtos=await _expectOutAppService.GetListByPackingCodeAsync(input.PackingCode).ConfigureAwait(false);
if (outDtos.Any())
{
throw new UserFriendlyException($"此物料已经被【任务编号:{outDtos.First().JobNumber}】占用");
}
//库存移动
foreach (var detailInput in input.Details)
{
//标签记录
var splitPackingRecDtos = await _splitPackingRecAppService.GetListByToPackingCode(new List<string> { input.PackingCode }).ConfigureAwait(false);
var splitPackingRecDto = splitPackingRecDtos.First();
var inventoryLabelWithoutCodeCreateInput = new InventoryLabelWithoutCodeCreateInput
{
Qty = detailInput.Qty, ItemCode = detailInput.ItemCode,
SupplierCode = detailInput.SupplierCode,
Lot = detailInput.Lot,
Uom = detailInput.Uom,
LocationErpCode = detailInput.LocationErpCode,
ItemDesc1 = detailInput.ItemDesc1,
ArriveDate = detailInput.ArriveDate,
StdPackQty = detailInput.StdPackQty,
ProdLine = string.Empty,
AsnNumber = detailInput.PurchaseInfo_AsnNumber,
ContainerCode = detailInput.ContainerCode,
ExpireDate = detailInput.ExpireDate,
FullBarcodeString = string.Empty,
ItemDesc2 = detailInput.ItemDesc2,
ItemName = detailInput.ItemName,
SupplierName = detailInput.SupplierName,
Remark = detailInput.Remark,
LabelStatus = LabelStatus.Enable,
LabelType = detailInput.LabelType,
PlanArriveDate = detailInput.PlanArriveDate,
PoNumber = detailInput.PurchaseInfo_PoNumber,
ProduceDate = detailInput.ProduceDate,
QLevel = string.Empty,
QualityFile = string.Empty,
RecommendLocationCode = detailInput.RecommendLocationCode,
RpNumber = detailInput.RpNumber,
Shift = string.Empty,
Specifications = string.Empty,
SupplierBatch = detailInput.SupplierBatch,
SupplierItemCode = detailInput.ItemCode,
SupplierItemName = detailInput.SupplierItemName,
SupplierSimpleName = detailInput.SupplierSimpleName,
Team = string.Empty,
};
var inventoryLabelDto=await _inventoryLabelAppService.GenerateAndCreateAsync(inventoryLabelWithoutCodeCreateInput).ConfigureAwait(false);
var splitPackingRecEditInputs = new List<SplitPackingRecEditInput>()
{
new SplitPackingRecEditInput()
{
ItemCode = inventoryLabelDto.ItemCode,
SupplierCode = inventoryLabelDto.SupplierCode,
ToPackingCode = inventoryLabelDto.Code,
FromPackingCode = input.PackingCode,
LocationErpCode = inventoryLabelDto.LocationErpCode,
ItemDesc1 = inventoryLabelDto.ItemDesc1,
FromLot = input.Lot,
ToLot = inventoryLabelDto.Lot,
ArriveDate = inventoryLabelDto.ArriveDate,
ItemName = inventoryLabelDto.ItemName,
ItemDesc2 = inventoryLabelDto.ItemDesc2,
PurchaseInfo_PoNumber = inventoryLabelDto.PoNumber,
LabelType = (EnumLabelType)inventoryLabelDto.LabelType,
RecommendLocationCode = inventoryLabelDto.RecommendLocationCode,
RpNumber = inventoryLabelDto.RpNumber,
SupplierName = inventoryLabelDto.SupplierName,
Remark = inventoryLabelDto.Remark,
FromQty = input.Qty,
ToQty = inventoryLabelDto.Qty,
PurchaseInfo_AsnNumber = inventoryLabelDto.AsnNumber,
ExpireDate = inventoryLabelDto.ExpireDate,
FullBarcodeString = inventoryLabelDto.FullBarcodeString,
SupplierBatch = inventoryLabelDto.SupplierBatch,
ProduceDate = inventoryLabelDto.ProduceDate,
LabelStatus = Basedata.LabelStatus.Enable,
SupplierSimpleName = inventoryLabelDto.SupplierSimpleName,
SupplierItemCode = inventoryLabelDto.SupplierItemCode,
SupplierItemName = inventoryLabelDto.SupplierItemName,
PlanArriveDate = inventoryLabelDto.PlanArriveDate,
FromStdPackQty = input.StdPackQty,
FromUom = input.Uom,
OprType = OprTypeEnum.SplitBox,
ReceiptRecNumber = inventoryLabelDto.RpNumber,
ToStdPackQty = inventoryLabelDto.StdPackQty,
ToUom = inventoryLabelDto.Uom,
TaskOrderNumber = detailInput.TaskOrderNumber,
ArrivalNoticNumber = detailInput.ArrivalNoticNumber,
PutOnShelfNumber = detailInput.PutOnShelfNumber,
}
};
await _splitPackingRecAppService.BatchInsertAsync(splitPackingRecEditInputs).ConfigureAwait(false);
//创建标签
return base.CreateAsync(input);
//创建标签
var dto= await base.CreateAsync(input).ConfigureAwait(false);
//库存移动
var transferLogEditInput=await BuildTransferLogsAsync(dto, detailInput, splitPackingRecEditInputs.First()).ConfigureAwait(false);
transferLogEditInputs.Add(transferLogEditInput);
}
await _transferLogAppService.AddManyAsync(transferLogEditInputs).ConfigureAwait(false);
}
/// <summary>
/// 构造 库存转移日志实体
/// </summary>
/// <param name="dto"></param>
/// <param name="detailInput"></param>
/// <param name="splitPackingRecEditInput"></param>
/// <returns></returns>
private List<TransferLogEditInput> BuildTransferLogs(IntegrationPackingNoteDTO dto)
private async Task<TransferLogEditInput> BuildTransferLogsAsync(
IntegrationPackingNoteDTO dto,
IntegrationPackingNoteDetailInput detailInput,
SplitPackingRecEditInput splitPackingRecEditInput)
{
var transferLogCreateInputs = new List<TransferLogEditInput>();
//foreach (var detail in dto.Details.Where(detail => detail.Qty != 0))
//{
// var transferLog = ObjectMapper.Map<DeliverNoteDetail, TransferLogEditInput>(detail);
var fromLocationDto = await _locationAppService.GetByCodeAsync(dto.LocationCode).ConfigureAwait(false);
var toLocationDto = await _locationAppService.GetByCodeAsync(detailInput.LocationCode).ConfigureAwait(false);
// transferLog.TransType = TransType;
// transferLog.TransSubType = ConvertToTransSubType(deliverNote.DeliverRequestType);
// transferLog.Worker = deliverNote.Worker;
// transferLog.DocNumber = deliverNote.Number;
// transferLog.JobNumber = deliverNote.JobNumber;
var transferLogEditInput = new TransferLogEditInput
{
Worker = dto.Worker,
Qty = detailInput.Qty,
ItemCode = detailInput.ItemCode,
FromLocationCode = fromLocationDto.Code,
FromLocationErpCode = fromLocationDto.ErpLocationCode,
FromLocationArea = fromLocationDto.AreaCode,
FromLocationGroup = fromLocationDto.LocationGroupCode,
FromWarehouseCode = fromLocationDto.WarehouseCode,
ToLocationCode = toLocationDto.Code,
ToLocationErpCode = toLocationDto.ErpLocationCode,
ToLocationArea = toLocationDto.AreaCode,
ToLocationGroup = toLocationDto.LocationGroupCode,
ToWarehouseCode = toLocationDto.WarehouseCode,
ToPackingCode = splitPackingRecEditInput.ToPackingCode,
Remark = splitPackingRecEditInput.Remark,
ArriveDate = splitPackingRecEditInput.ArriveDate,
DocNumber = string.Empty,
ExpireDate = splitPackingRecEditInput.ExpireDate,
FromContainerCode = detailInput.ContainerCode,
FromLot = splitPackingRecEditInput.FromLot,
FromPackingCode = dto.PackingCode,
Uom = splitPackingRecEditInput.FromUom,
FromStatus = EnumInventoryStatus.OK,
JobNumber = string.Empty,
ItemDesc1 = splitPackingRecEditInput.ItemDesc1,
StdPackQty = splitPackingRecEditInput.FromStdPackQty,
TransType = EnumTransType.Transfer,
ToLot = splitPackingRecEditInput.ToLot,
ItemDesc2 = splitPackingRecEditInput.ItemDesc2,
ItemName = splitPackingRecEditInput.ItemName,
ProduceDate = splitPackingRecEditInput.ProduceDate,
SupplierBatch = splitPackingRecEditInput.SupplierBatch,
ToContainerCode = detailInput.ContainerCode,
ToStatus = EnumInventoryStatus.OK,
TransSubType = EnumTransSubType.Transfer_SplitPacking
};
// transferLogCreateInputs.Add(transferLog);
//}
return transferLogEditInput;
}
return transferLogCreateInputs;
private async Task CreateLabelAsync()
{
var batchInsert=await _splitPackingRecAppService.BatchInsertAsync().ConfigureAwait(false);
}
}

9
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs

@ -615,15 +615,6 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
public async Task<TransferNoteDTO> SplitPacking_InspectAsync(TransferNoteEditInput transferNoteEditInput,
[FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
{
//SplitPacking_UpdateDetailInput newInput = new SplitPacking_UpdateDetailInput();
//newInput.Number = updateJobDetailInput.Number;
//newInput.FromPackingCode = updateJobDetailInput.FromPackingCode;
//newInput.FromQty = updateJobDetailInput.FromQty;
//newInput.ToPackingCode = updateJobDetailInput.ToPackingCode;
//newInput.ToQty = updateJobDetailInput.ToQty;
//newInput.FromLocationCode = transferNoteEditInput.Details[0].FromLocationCode;
//newInput.ToLocationCode = transferNoteEditInput.Details[0].ToLocationCode;
//var expectOutRet = await _expectOutAppService.SaveDetail_SplitPackingAsync(newInput).ConfigureAwait(false);
var jobRet = await _inspectJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput)
.ConfigureAwait(false);
var ret = await SplitPackingAsync(transferNoteEditInput).ConfigureAwait(false); //库存操作

50
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InspectRequests/InspectRequestAppService.cs

@ -41,54 +41,4 @@ public class InspectRequestAppService :
var dto = ObjectMapper.Map<InspectRequest, InspectRequestDTO>(entity);
return dto;
}
/*
/// <summary>
/// 修改明细
/// </summary>
/// <param name="id"></param>
/// <param name="detailId"></param>
/// <param name="updateDetailDTO"></param>
/// <returns></returns>
//[HttpPut("details/{id}")]
//public virtual async Task UpdateDetailAsync(Guid id, Guid detailId, InspectRequestDetailDTO updateDetailDTO)
//{
// var entity = await _repository.FindAsync(id);
// Check.NotNull(entity, EntityClassName);
// var detail = ObjectMapper.Map<InspectRequestDetailDTO, InspectRequestDetail>(updateDetailDTO);
// entity.ReplaceDetail(detailId, detail);
// await _repository.UpdateAsync(entity);
//}
//[HttpPost("create-by-receipt-note")]
//public virtual async Task<IEnumerable<InspectRequestDTO>> CreateByPurchaseReceiptNoteAsync(PurchaseReceiptNoteDTO purchaseReceiptNoteDto)
//{
// var purchaseReceiptNote = ObjectMapper.Map<PurchaseReceiptNoteDTO, PurchaseReceiptNote>(purchaseReceiptNoteDto);
// var inspectRequestList =await _inspectRequestManager.CreateByPurchaseReceiptNoteAsync(purchaseReceiptNote);
// var dtos = ObjectMapper.Map<List<InspectRequest>, List<InspectRequestDTO>>(inspectRequestList);
// return dtos;
//}
/// <summary>
/// 根据ERP料号+批次,获得报检单信息
/// </summary>
/// <param name="inspectNumber"></param>
/// <param name="itemCode"></param>
/// <param name="lot"></param>
/// <returns></returns>
//[HttpGet("by-itemcode-lot")]
//public virtual async Task<InspectRequestDTO> GetAsync(string inspectNumber, string itemCode, string lot)
//{
// var inspectRequestDTO = await GetByNumberAsync(inspectNumber);
// var inspectRequest = await _repository.FindAsync(inspectRequestDTO.Id);
// var details = (List<InspectRequestDetail>)inspectRequest.GetDetailList(c => c.ItemCode == itemCode && c.Lot == lot);
// var detailDTOs = ObjectMapper.Map<List<InspectRequestDetail>, List<InspectRequestDetailDTO>>(details);
// inspectRequestDTO.Details = detailDTOs;
// return inspectRequestDTO;
//}
*/
}

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/OperationPacking/IntegrationPackingNotes/IntegrationPackingNote.cs

@ -95,6 +95,12 @@ public class IntegrationPackingNote : SfsStoreAggregateRootBase<IntegrationPacki
[Display(Name = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 单号
/// </summary>
[Display(Name = "单号")]
public string WarehouseCode { get; set; }
#endregion
#region 标签信息

Loading…
Cancel
Save