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
5347fcca10
  1. 23
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs
  2. 5
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAppService.cs
  3. 31
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs
  4. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReturnRequests/PurchaseReturnRequestManager.cs
  5. 63
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs

23
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/TransferLibJobs/TransferLibJobAppService.cs

@ -27,6 +27,7 @@ public class TransferLibJobAppService
private readonly ILocationAppService _locationAppService;
private readonly IExpectOutAppService _expectOutAppService;
private readonly IBalanceAppService _balanceAppService;
private readonly IItemBasicAppService _itemBasicAppService;
protected ITransferLibRequestAppService TransferLibRequestAppService =>
LazyServiceProvider.LazyGetRequiredService<ITransferLibRequestAppService>();
@ -34,13 +35,15 @@ public class TransferLibJobAppService
public TransferLibJobAppService(
ITransferLibJobRepository repository, ITransferLibJobManager TransferLibJobManager,
IServiceProvider serviceProvider, ILocationAppService locationAppService,
IExpectOutAppService expectOutAppService, IBalanceAppService balanceAppService) : base(repository,
TransferLibJobManager)
IExpectOutAppService expectOutAppService, IBalanceAppService balanceAppService,
IItemBasicAppService itemBasicAppService) :
base(repository, TransferLibJobManager)
{
_serviceProvider = serviceProvider;
_locationAppService = locationAppService;
_expectOutAppService = expectOutAppService;
_balanceAppService = balanceAppService;
_itemBasicAppService = itemBasicAppService;
}
/// <summary>
@ -202,6 +205,13 @@ public class TransferLibJobAppService
#endregion
List<ItemBasicDTO> itemLst = new List<ItemBasicDTO>();
if (dto.Details.Any(itm => itm.StdPackQty == 0))
{
var codeLst = dto.Details.Where(itm => itm.StdPackQty == 0).Select(itm => itm.ItemCode).ToList();
itemLst = await _itemBasicAppService.GetByCodesAsync(codeLst).ConfigureAwait(false);
}
foreach (var detail in dto.Details)
{
detail.HandledFromContainerCode = string.Empty;
@ -213,6 +223,15 @@ public class TransferLibJobAppService
.ConfigureAwait(false);
var toLocationDto =
await _locationAppService.GetByCodeAsync(detail.HandledToLocationCode).ConfigureAwait(false);
//标包为空时赋值
if (detail.StdPackQty == 0)
{
var itemObj = itemLst.FirstOrDefault(itm => itm.Code == detail.ItemCode);
if (itemObj != null)
{
detail.StdPackQty = itemObj.StdPackQty;
}
}
detail.HandledFromLocationArea = fromLocationDto.AreaCode;
detail.HandledFromLocationCode = fromLocationDto.Code;

5
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAppService.cs

@ -97,10 +97,11 @@ public class PurchaseReceiptNoteAppService :
foreach (var item in lst)
{
var obj = splitPackingRecLst.FirstOrDefault(itm => itm.ToPackingCode == item.PackingCode);
var obj = splitPackingRecLst.FirstOrDefault(itm => itm.ToPackingCode == item.PackingCode
&& itm.OprType == Basedata.Domain.Shared.OprTypeEnum.SplitBox); //只取拆箱的记录,前端没有拆箱的 原箱码显示空
if (obj != null)
{
item.FromPackingCode = obj.FromPackingCode;
item.FromPackingCode = obj.FromTopPackingCode; //前端显示顶级原箱码
item.ToPackingCode = obj.ToPackingCode;
}
}

31
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ContainerRequests/ContainerRequestAppService.cs

@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Win_in.Sfs.Basedata.Application;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
@ -32,12 +33,14 @@ public class ContainerRequestAppService :
private readonly IAreaAppService _areaApp;
private readonly ICustomerAppService _customerApp;
private readonly ICustomerAddressAppService _customerAddressApp;
private readonly ITransactionTypeAppService _transactionTypeAppService;
public ContainerRequestAppService(
IContainerRequestRepository repository
, IContainerRequestManager containerRequestManager
, IAreaAppService areaApp
, ICustomerAppService customerApp
, ITransactionTypeAppService transactionTypeAppService
, ICustomerAddressAppService customerAddressApp)
: base(repository, containerRequestManager)
{
@ -45,6 +48,7 @@ public class ContainerRequestAppService :
_areaApp = areaApp;
_customerApp = customerApp;
_customerAddressApp = customerAddressApp;
_transactionTypeAppService= transactionTypeAppService;
}
@ -56,12 +60,8 @@ public class ContainerRequestAppService :
[HttpPost("")]
public override async Task<ContainerRequestDTO> CreateAsync(ContainerRequestEditInput input)
{
input.AutoAgree = true;
input.AutoHandle = true;
input.AutoSubmit = true;
input.AutoCompleteJob = false;
input.DirectCreateNote = false;
await SetRequestAutoPropertiesAsync(input).ConfigureAwait(false);
var entity = ObjectMapper.Map<ContainerRequestEditInput, ContainerRequest>(input);
@ -71,5 +71,22 @@ public class ContainerRequestAppService :
return dto;
}
/// <summary>
/// 赋值Request业务属性
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
private async Task SetRequestAutoPropertiesAsync(ContainerRequestEditInput entity)
{
var tranType = await _transactionTypeAppService.GetByTransTypeAsync(EnumTransType.Issue, EnumTransSubType.None).ConfigureAwait(false);
Check.NotNull(tranType, "事务类型", "事务类型不存在");
entity.AutoSubmit = tranType.AutoSubmitRequest;
entity.AutoAgree = tranType.AutoAgreeRequest;
entity.AutoHandle = tranType.AutoHandleRequest;
entity.AutoCompleteJob = tranType.AutoCompleteJob;
entity.DirectCreateNote = tranType.DirectCreateNote;
}
}

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/PurchaseReturnRequests/PurchaseReturnRequestManager.cs

@ -1,5 +1,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Uow;
using Win_in.Sfs.Shared.Domain.Shared;
@ -19,8 +21,14 @@ public class PurchaseReturnRequestManager : SfsStoreRequestManagerBase<PurchaseR
public override async Task<List<PurchaseReturnRequest>> CreateManyAsync(List<PurchaseReturnRequest> entities)
{
var results = new List<PurchaseReturnRequest>();
foreach (var entity in entities)
{
var lst = await Repository.GetPagedListAsync(itm => itm.PoNumber == entity.PoNumber && itm.Details.Any(itm => itm.PackingCode == entity.Details[0].PackingCode), 0, 1, null).ConfigureAwait(false);
if (lst.Count > 0)
{
throw new UserFriendlyException($"采购退货申请的订单号{entity.PoNumber}、箱码{entity.Details[0].PackingCode}重复");
}
entity.SetIdAndNumberWithDetails(GuidGenerator, await GenerateNumberAsync(typeof(PurchaseReturnRequest).Name, entity.ActiveDate).ConfigureAwait(false));
PurchaseReturnRequest result;
if (entity.AutoSubmit)

63
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ContainerRequestEventHandler.cs

@ -28,7 +28,7 @@ public class ContainerRequestEventHandler
private readonly IContainerNoteAppService _containerNoteApp;
private readonly IContainerJobAppService _containerJobApp;
private readonly IEquipmentLocAppService _equipmentLocApp;
private readonly ILocationAppService _locationAppService;
private readonly IContainerRequestManager _containerRequestManager;
@ -36,12 +36,15 @@ public class ContainerRequestEventHandler
IContainerNoteAppService containerNoteApp,
IContainerJobAppService containerJobApp,
IEquipmentLocAppService equipmentLocApp,
ILocationAppService locationAppService,
IContainerRequestManager containerRequestManager)
{
_containerNoteApp = containerNoteApp;
_containerJobApp = containerJobApp;
_equipmentLocApp= equipmentLocApp;
_containerRequestManager = containerRequestManager;
_locationAppService = locationAppService;
}
@ -127,59 +130,25 @@ public class ContainerRequestEventHandler
var createInput = ObjectMapper.Map<ContainerRequest, ContainerNoteEditInput>(request);
ContainerNoteDetailInput detail=new ContainerNoteDetailInput();
//createInput.Details = new List<ContainerNoteDetailInput>();
//detail.ToLocationCode = request.RequestLocationCode;
//detail.FromLocationCode = "123";
//detail.FromPackingCode = "123";
//detail.ToPackingCode = "123";
//detail.FromLot = "123";
//detail.ToLot = "123";
//detail.FromLocationErpCode = "123";
//detail.FromWarehouseCode = "123";
//detail.ToLocationErpCode = "123";
//detail.ToWarehouseCode = "123";
//detail.Uom = "123";
//detail.ItemCode = "123";
//detail.ItemName = "123";
////var container = await _equipmentLocApp.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
////if (container != null)
////{
//// detail.ItemCode = container.Code;
////}
//createInput.Details.Add(detail);
return createInput;
}
private async Task<ContainerJobEditInput> BuildContainerJobsAsync(ContainerRequest request)
{
var createInput = ObjectMapper.Map<ContainerRequest, ContainerJobEditInput>(request);
createInput.WarehouseCode = "T8";
//ContainerJobDetailInput detail=new ContainerJobDetailInput();
//detail.FromLocationCode = "123";
//detail.ToLocationCode = "123";
//detail.ItemCode = "123";
//detail.ItemName = "123";
//detail.RecommendPackingCode = "123";
//detail.RecommendLot = "123";
//detail.RecommendFromLocationCode = "123";
//detail.RecommendFromLocationErpCode = "123";
//detail.Uom = "123";
//createInput.Details.Add(detail);
var toLocationDto = await _locationAppService.GetByCodeAsync(createInput.RequestLocationCode).ConfigureAwait(false);
if(toLocationDto!=null)
{
createInput.WarehouseCode = toLocationDto.WarehouseCode;
}
else
{
createInput.WarehouseCode = "";
}
return createInput ;
}

Loading…
Cancel
Save