Browse Source

提交

Agv分支2024-11-19
赵新宇 4 months ago
parent
commit
02f8833b4e
  1. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs
  2. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs
  3. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs
  4. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/KittingIssueJobs/KittingIssueJobAppService.cs
  5. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs
  6. 44
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/OperationPacking/IntegrationPackingNotes/IntegrationPackingNoteAppService.cs
  7. 186
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/TransferNotes/TransferNoteAppService.cs

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/AssembleIssueJobs/AssembleIssueJobAppService.cs

@ -942,7 +942,7 @@ public class AssembleIssueJobAppService
if (!string.IsNullOrEmpty(detail.TransferLibFromLocationCode))
{
//库移的最终目标 挪到 推荐的目标
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibFromLocationCode).ConfigureAwait(false);
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibToLocationCode).ConfigureAwait(false);
var toloc =await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false);
detailDto.InjectFrom(detail);

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/CoatingIssueJobs/CoatingIssueJobAppService.cs

@ -957,7 +957,7 @@ public class CoatingIssueJobAppService
if (!string.IsNullOrEmpty(detail.TransferLibFromLocationCode))
{
//库移的最终目标 挪到 推荐的目标
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibFromLocationCode).ConfigureAwait(false);
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibToLocationCode).ConfigureAwait(false);
var toloc = await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false);
detailDto.InjectFrom(detail);

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/InjectionIssueJobs/InjectionIssueJobAppService.cs

@ -914,7 +914,7 @@ public class InjectionIssueJobAppService
if (!string.IsNullOrEmpty(detail.TransferLibFromLocationCode))
{
//库移的最终目标 挪到 推荐的目标
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibFromLocationCode).ConfigureAwait(false);
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibToLocationCode).ConfigureAwait(false);
var toloc = await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false);
detailDto.InjectFrom(detail);

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

@ -918,7 +918,7 @@ public class KittingIssueJobAppService
if (!string.IsNullOrEmpty(detail.TransferLibFromLocationCode))
{
//库移的最终目标 挪到 推荐的目标
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibFromLocationCode).ConfigureAwait(false);
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibToLocationCode).ConfigureAwait(false);
var toloc = await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false);
detailDto.InjectFrom(detail);

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/SparePartIssueJobs/SparePartIssueJobAppService.cs

@ -914,7 +914,7 @@ public class SparePartIssueJobAppService
if (!string.IsNullOrEmpty(detail.TransferLibFromLocationCode))
{
//库移的最终目标 挪到 推荐的目标
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibFromLocationCode).ConfigureAwait(false);
var fromloc = await _locationAppService.GetByCodeAsync(detail.TransferLibToLocationCode).ConfigureAwait(false);
var toloc = await _locationAppService.GetByCodeAsync(detail.RecommendToLocationCode).ConfigureAwait(false);
detailDto.InjectFrom(detail);

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

@ -1,7 +1,11 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using IdentityServer4.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.ObjectMapping;
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;
@ -27,11 +31,49 @@ public class IntegrationPackingNoteAppService :
IIntegrationPackingNoteAppService
{
private readonly IIntegrationPackingNoteManager _integrationPackingNoteManager;
private readonly IBalanceAppService _balanceAppService;
public IntegrationPackingNoteAppService(
IIntegrationPackingNoteRepository repository,
IIntegrationPackingNoteManager integrationPackingNoteManager) : base(repository)
IIntegrationPackingNoteManager integrationPackingNoteManager, IBalanceAppService balanceAppService) : base(repository)
{
_integrationPackingNoteManager = integrationPackingNoteManager;
_balanceAppService = balanceAppService;
}
[HttpPost("")]
public override Task<IntegrationPackingNoteDTO> CreateAsync(IntegrationPackingNoteEditInput input)
{
//标签记录
//库存移动
//创建标签
return base.CreateAsync(input);
}
/// <summary>
/// 构造 库存转移日志实体
/// </summary>
/// <param name="dto"></param>
/// <returns></returns>
private List<TransferLogEditInput> BuildTransferLogs(IntegrationPackingNoteDTO dto)
{
var transferLogCreateInputs = new List<TransferLogEditInput>();
//foreach (var detail in dto.Details.Where(detail => detail.Qty != 0))
//{
// var transferLog = ObjectMapper.Map<DeliverNoteDetail, TransferLogEditInput>(detail);
// transferLog.TransType = TransType;
// transferLog.TransSubType = ConvertToTransSubType(deliverNote.DeliverRequestType);
// transferLog.Worker = deliverNote.Worker;
// transferLog.DocNumber = deliverNote.Number;
// transferLog.JobNumber = deliverNote.JobNumber;
// transferLogCreateInputs.Add(transferLog);
//}
return transferLogCreateInputs;
}
}

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

@ -1,19 +1,19 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Headers;
using System.Net.Http;
using System.Text;
using System.Text.Json;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Omu.ValueInjecter;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Win_in.Sfs.Basedata.Application;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Basedata.SplitPackings.Commons;
@ -21,17 +21,10 @@ using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
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 Win_in.Sfs.Wms.Store.Jobs.IssueJobs.proxy;
using Win_in.Sfs.Wms.Store.Options;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Volo.Abp.ObjectMapping;
using NUglify.Helpers;
using Volo.Abp.Uow;
namespace Win_in.Sfs.Wms.Store.Application;
@ -63,6 +56,7 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
private readonly ILogger<TransferNoteAppService> _logger;
private readonly IPostionLocationAppService _postionLocationAppService;
private readonly IProductionLineAppService _productionLineAppService;
private readonly IProductionLineAppService _productionLineAppService;
@ -122,34 +116,36 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
{
if (transferNote.Type == EnumTransSubType.Transfer_Inside.GetDisplayName()) //储位内调拨
{
transferNote.Type = EnumTransSubType.Transfer_Inside.ToString();//重点 需要转换
transferNote.Type = EnumTransSubType.Transfer_Inside.ToString(); //重点 需要转换
foreach (var detail in transferNote.Details)
{
var balanceDto = await _balanceAppService.GetByItemLocationAndPackingAsync(detail.FromPackingCode,
detail.ItemCode, detail.FromLocationCode).ConfigureAwait(false);
var toLocationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
var fromLocationDto = await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false);
var toLocationDto = await _locationAppService.GetByCodeAsync(detail.ToLocationCode)
.ConfigureAwait(false);
var fromLocationDto = await _locationAppService.GetByCodeAsync(detail.FromLocationCode)
.ConfigureAwait(false);
CheckLocation(toLocationDto, detail);
CheckFromLocation(fromLocationDto, detail);
await CheckPackingCodeAsync(detail.FromPackingCode).ConfigureAwait(false);
if (toLocationDto.Type != fromLocationDto.Type)
{
throw new UserFriendlyException($"来源库位与目标库位类型不一致");
throw new UserFriendlyException("来源库位与目标库位类型不一致");
}
detail.OnTheWayLocationCode = bool.FalseString;
detail.ItemCode=balanceDto.ItemCode;
detail.ArriveDate=balanceDto.ArriveDate;
detail.ItemDesc1=balanceDto.ItemDesc1;
detail.ItemDesc2=balanceDto.ItemDesc2;
detail.ItemName=balanceDto.ItemName;
detail.ProduceDate=balanceDto.ProduceDate;
detail.Qty=balanceDto.Qty;
detail.Uom=balanceDto.Uom;
detail.ExpireDate=balanceDto.ExpireDate;
detail.StdPackQty=balanceDto.StdPackQty;
detail.SupplierBatch=balanceDto.SupplierBatch;
detail.ItemCode = balanceDto.ItemCode;
detail.ArriveDate = balanceDto.ArriveDate;
detail.ItemDesc1 = balanceDto.ItemDesc1;
detail.ItemDesc2 = balanceDto.ItemDesc2;
detail.ItemName = balanceDto.ItemName;
detail.ProduceDate = balanceDto.ProduceDate;
detail.Qty = balanceDto.Qty;
detail.Uom = balanceDto.Uom;
detail.ExpireDate = balanceDto.ExpireDate;
detail.StdPackQty = balanceDto.StdPackQty;
detail.SupplierBatch = balanceDto.SupplierBatch;
detail.FromLocationArea = balanceDto.LocationArea;
detail.FromContainerCode = balanceDto.ContainerCode;
@ -300,6 +296,7 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_Inside, includeDetails,
cancellationToken).ConfigureAwait(false);
}
[HttpPost("get-Injection-list")]
public virtual async Task<PagedResultDto<TransferNoteDTO>> GetInjectionTransferListAsync(
SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
@ -308,6 +305,7 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_Injection, includeDetails,
cancellationToken).ConfigureAwait(false);
}
[HttpPost("get-coating-list")]
public virtual async Task<PagedResultDto<TransferNoteDTO>> GetCoatingTransferListAsync(
SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
@ -316,6 +314,7 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_Coating, includeDetails,
cancellationToken).ConfigureAwait(false);
}
[HttpPost("get-assemble-list")]
public virtual async Task<PagedResultDto<TransferNoteDTO>> GetAssembleTransferListAsync(
SfsStoreRequestInputBase sfsRequestDTO, bool includeDetails = false,
@ -324,6 +323,7 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
return await GetSubTypeListAsync(sfsRequestDTO, EnumTransSubType.Transfer_Assemble, includeDetails,
cancellationToken).ConfigureAwait(false);
}
/// <summary>
/// 按条件获取客户储位间调拨的分页列表
/// request sample
@ -376,10 +376,7 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
{
sfsRequestDTO.Condition.Filters.Add(new Filter
{
Action = "==",
Column = "Type",
Logic = EnumFilterLogic.And.ToString(),
Value = type.ToString()
Action = "==", Column = "Type", Logic = EnumFilterLogic.And.ToString(), Value = type.ToString()
});
var expression = sfsRequestDTO.Condition.Filters?.Count > 0
@ -409,7 +406,8 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
await CheckPackingCodeAsync(detail.FromPackingCode).ConfigureAwait(false);
}
}
entity =await _transferNoteManager.CreateAsync(entity).ConfigureAwait(false);
entity = await _transferNoteManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<TransferNote, TransferNoteDTO>(entity);
@ -437,6 +435,7 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
await CheckPackingCodeAsync(detail.FromPackingCode).ConfigureAwait(false);
}
}
resultEntity.Add(await _transferNoteManager.CreateAsync(entity).ConfigureAwait(false));
_ = ObjectMapper.Map<TransferNote, TransferNoteDTO>(entity);
}
@ -463,8 +462,6 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
}
/// <summary>
/// 确认对应的记录单
/// </summary>
@ -497,18 +494,21 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
/// </summary>
/// <param name="transferNoteEditInput"></param>
/// <returns></returns>
private async Task<bool> WriteSplitPackingRec(TransferNoteEditInput transferNoteEditInput, SplitPacking_UpdateJobDetailInput updateJobDetailInput = null)
private async Task<bool> WriteSplitPackingRec(TransferNoteEditInput transferNoteEditInput,
SplitPacking_UpdateJobDetailInput updateJobDetailInput = null)
{
List<SplitPackingRecEditInput> recLst = new List<SplitPackingRecEditInput>();
var recLst = new List<SplitPackingRecEditInput>();
foreach (var inputDetail in transferNoteEditInput.Details)
{
bool qtyEnough = await _splitPackingRecAppService.CheckSplitNum(inputDetail.FromPackingCode, inputDetail.Qty).ConfigureAwait(false);
var qtyEnough = await _splitPackingRecAppService.CheckSplitNum(inputDetail.FromPackingCode, inputDetail.Qty)
.ConfigureAwait(false);
if (qtyEnough == false)
{
throw new UserFriendlyException($"[WriteSplitPackingRec]拆箱记录表数量不足:FromPackingCode={inputDetail.FromPackingCode},Qty={inputDetail.Qty}");
throw new UserFriendlyException(
$"[WriteSplitPackingRec]拆箱记录表数量不足:FromPackingCode={inputDetail.FromPackingCode},Qty={inputDetail.Qty}");
}
SplitPackingRecEditInput packRec = new SplitPackingRecEditInput();
var packRec = new SplitPackingRecEditInput();
packRec.OprType = OprTypeEnum.SplitBox;
packRec.FromPackingCode = inputDetail.FromPackingCode;
@ -539,8 +539,10 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
packRec.FromQty = updateJobDetailInput.FromQty;
packRec.ToQty = updateJobDetailInput.ToQty;
}
//根据箱码在inventoryLabel取采购订单、供应商发货单
var inventoryLabelDto = await _inventoryLabelAppService.GetByCodeAsync(inputDetail.FromPackingCode).ConfigureAwait(false);
var inventoryLabelDto = await _inventoryLabelAppService.GetByCodeAsync(inputDetail.FromPackingCode)
.ConfigureAwait(false);
if (inventoryLabelDto != null)
{
packRec.PurchaseInfo_PoNumber = inventoryLabelDto.PoNumber;
@ -548,13 +550,14 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
//packRec.PurchaseInfo_SupplierCode = inventoryLabelDto.SupplierCode;
#region InventoryLabel兼容成员
var inputObj = inventoryLabelDto;
packRec.FullBarcodeString = inputObj.FullBarcodeString;
packRec.SupplierBatch = inputObj.SupplierBatch;
packRec.ArriveDate = inputObj.ArriveDate;
packRec.ProduceDate = inputObj.ProduceDate;
packRec.ExpireDate = inputObj.ExpireDate;
packRec.LabelStatus = (Win_in.Sfs.Basedata.LabelStatus)((int)inputObj.LabelStatus);
packRec.LabelStatus = (LabelStatus)(int)inputObj.LabelStatus;
packRec.RecommendLocationCode = inputObj.RecommendLocationCode;
packRec.LocationErpCode = inputObj.LocationErpCode;
//packRec.ContainerCode = inputObj.ContainerCode;
@ -573,10 +576,13 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
packRec.SupplierItemCode = inputObj.SupplierItemCode;
packRec.SupplierItemName = inputObj.SupplierItemName;
packRec.PlanArriveDate = inputObj.PlanArriveDate;
#endregion
}
recLst.Add(packRec);
}
var ret = await _splitPackingRecAppService.BatchInsertAsync(recLst).ConfigureAwait(false);
return ret;
}
@ -588,11 +594,16 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
/// <param name="updateJobDetailInput"></param>
/// <returns></returns>
[HttpPost("split-packing-purchase-receipt")]
public async Task<bool> SplitPacking_PurchaseReceiptAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
{
var jobRet = await _purchaseReceiptJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput).ConfigureAwait(false);
var requestRet = await _purchaseReceiptRequestAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput, jobRet.PurchaseReceiptRequestNumber).ConfigureAwait(false);
bool ret = await WriteSplitPackingRec(transferNoteEditInput, updateJobDetailInput).ConfigureAwait(false); //采购收货-目检-拆箱时,还没有入库,不涉及库存操作
public async Task<bool> SplitPacking_PurchaseReceiptAsync(TransferNoteEditInput transferNoteEditInput,
[FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
{
var jobRet = await _purchaseReceiptJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput)
.ConfigureAwait(false);
var requestRet = await _purchaseReceiptRequestAppService
.SaveDetail_SplitPackingAsync(updateJobDetailInput, jobRet.PurchaseReceiptRequestNumber)
.ConfigureAwait(false);
var ret = await WriteSplitPackingRec(transferNoteEditInput, updateJobDetailInput)
.ConfigureAwait(false); //采购收货-目检-拆箱时,还没有入库,不涉及库存操作
return ret;
}
@ -603,7 +614,8 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
/// <param name="updateJobDetailInput"></param>
/// <returns></returns>
[HttpPost("split-packing-inspect")]
public async Task<TransferNoteDTO> SplitPacking_InspectAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
public async Task<TransferNoteDTO> SplitPacking_InspectAsync(TransferNoteEditInput transferNoteEditInput,
[FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
{
//SplitPacking_UpdateDetailInput newInput = new SplitPacking_UpdateDetailInput();
//newInput.Number = updateJobDetailInput.Number;
@ -614,7 +626,8 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
//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 jobRet = await _inspectJobAppService.SaveDetail_SplitPackingAsync(updateJobDetailInput)
.ConfigureAwait(false);
var ret = await SplitPackingAsync(transferNoteEditInput).ConfigureAwait(false); //库存操作
return ret;
}
@ -626,9 +639,10 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
/// <param name="updateJobDetailInput"></param>
/// <returns></returns>
[HttpPost("split-packing-issue")]
public async Task<TransferNoteDTO> SplitPacking_IssueAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
public async Task<TransferNoteDTO> SplitPacking_IssueAsync(TransferNoteEditInput transferNoteEditInput,
[FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput)
{
SplitPacking_UpdateDetailInput newInput = new SplitPacking_UpdateDetailInput();
var newInput = new SplitPacking_UpdateDetailInput();
newInput.Number = updateJobDetailInput.Number;
newInput.FromPackingCode = updateJobDetailInput.FromPackingCode;
newInput.FromQty = updateJobDetailInput.FromQty;
@ -649,10 +663,11 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
/// <param name="updateJobDetailInputBase"></param>
/// <returns></returns>
[HttpPost("split-packing-check-expect-out")]
public async Task<TransferNoteDTO> SplitPackingCheckExpectOutAsync(TransferNoteEditInput transferNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInputBase updateJobDetailInputBase)
public async Task<TransferNoteDTO> SplitPackingCheckExpectOutAsync(TransferNoteEditInput transferNoteEditInput,
[FromQuery] SplitPacking_UpdateJobDetailInputBase updateJobDetailInputBase)
{
var detailObj = transferNoteEditInput.Details[0];
SplitPacking_UpdateDetailInput newInput = new SplitPacking_UpdateDetailInput();
var newInput = new SplitPacking_UpdateDetailInput();
newInput.Number = updateJobDetailInputBase.Number;
newInput.FromPackingCode = detailObj.FromPackingCode;
newInput.FromQty = detailObj.Qty;
@ -663,37 +678,23 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
var expectOutLst = await _expectOutAppService.GetListByJobNumberAsync(newInput).ConfigureAwait(false);
if (expectOutLst.Count > 0)
{
throw new UserFriendlyException($"预计出表存在数据,不允许办理拆箱:JobNumber={newInput.Number}|PackingCode={newInput.FromPackingCode}|Qty={newInput.FromQty}|LocationCode={newInput.FromLocationCode}");
throw new UserFriendlyException(
$"预计出表存在数据,不允许办理拆箱:JobNumber={newInput.Number}|PackingCode={newInput.FromPackingCode}|Qty={newInput.FromQty}|LocationCode={newInput.FromLocationCode}");
}
var ret = await SplitPackingAsync(transferNoteEditInput).ConfigureAwait(false);
return ret;
}
[HttpPost("call-back-agv")]
public async Task<AgvResultObject> CallBackAgvAsync(AgvRequestDto request)
{
var json = JsonSerializer.Serialize(request);
var flag = DateTime.Now.ToString("yyyyMMddHHmmss");
_logger.LogInformation($"{flag}接收到AGV确认单据内容:" + json);
#if DEBUG
#endif
var errors = new List<string>();
var ret = new AgvResultObject
{
Code = "0",
Message = "OK",
ReqCode = "",
};
var ret = new AgvResultObject { Code = "0", Message = "OK", ReqCode = "" };
using var unitOfWork = _unitOfWorkManager.Begin();
try
{
@ -703,17 +704,17 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
foreach (var detail in notes)
{
TransferNoteEditInput transfer = new TransferNoteEditInput();
var transfer = new TransferNoteEditInput();
transfer.CallJobNumber = detail.OrderNum;
transfer.Worker = "Agv";
transfer.UseOnTheWayLocation = false;
List<TransferNoteDetailInput> transferNoteDetailInputs = new List<TransferNoteDetailInput>();
TransferNoteDetailInput detailInput = new TransferNoteDetailInput();
var transferNoteDetailInputs = new List<TransferNoteDetailInput>();
var detailInput = new TransferNoteDetailInput();
LocationDTO fromlocation = await _locationAppService.GetByCodeAsync(detail.BeginPosition).ConfigureAwait(false);
var fromlocation =
await _locationAppService.GetByCodeAsync(detail.BeginPosition).ConfigureAwait(false);
if (fromlocation == null)
{
@ -764,17 +765,17 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
detailInput.ItemCode = item.Code;
detailInput.Uom = item.BasicUom;
detailInput.ItemName = item.Name;
detailInput.ItemDesc1 = !string.IsNullOrEmpty(item.Desc1) ? item.Desc1:string.Empty;
detailInput.ItemDesc1 = !string.IsNullOrEmpty(item.Desc1) ? item.Desc1 : string.Empty;
}
if (errors.Count > 0)
{
return ret = new AgvResultObject()
return ret = new AgvResultObject
{
Code = "-1",
ReqCode = "",
Message = string.Join(",", errors.ToArray())
Code = "-1", ReqCode = "", Message = string.Join(",", errors.ToArray())
};
}
detailInput.ToLocationCode = tolocation.Code;
detailInput.ToLocationGroup = tolocation.LocationGroupCode;
detailInput.ToLocationArea = tolocation.AreaCode;
@ -783,7 +784,6 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
detailInput.FromStatus = tolocation.DefaultInventoryStatus;
detailInput.Qty = detail.MatQty;
detailInput.ToLot = !string.IsNullOrEmpty(detail.BatchAttr07) ? detail.BatchAttr07 : string.Empty;
detailInput.ToPackingCode = string.Empty;
@ -810,34 +810,16 @@ public class TransferNoteAppService : SfsStoreWithDetailsAppServiceBase
}
catch (Exception ex)
{
ret = new AgvResultObject
{
Code = "-1",
ReqCode = "",
Message = ex.Message
};
ret = new AgvResultObject { Code = "-1", ReqCode = "", Message = ex.Message };
await unitOfWork.RollbackAsync().ConfigureAwait(false);
}
if (errors.Count > 0)
{
ret = new AgvResultObject
{
Code = "-1",
Message = string.Join(",", errors.ToArray()),
ReqCode = ""
};
ret = new AgvResultObject { Code = "-1", Message = string.Join(",", errors.ToArray()), ReqCode = "" };
await unitOfWork.RollbackAsync().ConfigureAwait(false);
}
return ret;
}
}

Loading…
Cancel
Save