Browse Source

采购上架修改

dev_DY_CC
lvzb 1 year ago
parent
commit
eb525248aa
  1. 12
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/BaseDatas/SplitPackingRecController.cs
  2. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/SplitPackings/ISplitPackingRecAppService.cs
  3. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs
  4. 25
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SplitPackings/SplitPackingRecAppService.cs
  5. 3
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/ISplitPackingRecManager.cs
  6. 26
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs
  7. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAppService.cs

12
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/BaseDatas/SplitPackingRecController.cs

@ -6,6 +6,7 @@ using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Json;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
namespace Win_in.Sfs.Wms.Pda.Controllers.BaseDatas;
@ -39,4 +40,15 @@ public class SplitPackingRecController : AbpController
{
return await _splitPackingRecApp.GetAllListByFilterAsync(input).ConfigureAwait(false);
}
/// <summary>
/// 获取拆箱记录
/// </summary>
/// <param name="toPackingCode">目标箱码列表</param>
/// <returns></returns>
[HttpGet("get-split-packing-code")]
public async Task<SplitPackingRecDTO> GetSplitPackingCode(string toPackingCode)
{
return await _splitPackingRecApp.GetSplitPackingCode(toPackingCode).ConfigureAwait(false);
}
}

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

@ -26,5 +26,6 @@ public interface ISplitPackingRecAppService
/// <param name="fromPackingCodeList">源标箱码列表</param>
/// <returns></returns>
Task<List<SplitPackingRecDTO>> GetListByFromPackingCode(List<string> fromPackingCodeList);
Task<SplitPackingRecDTO> GetTopPackingCode(string toPackingCode);
Task<SplitPackingRecDTO> GetSplitPackingCode(string toPackingCode);
}

3
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/ErpLocationItems/ErpLocationItemAppService.cs

@ -80,9 +80,8 @@ public class ErpLocationItemAppService
if (entity == null)
{
if (await SettingManager.IsTrueAsync(BasedataSettings.ErpLocationItem.NotFoundReturnInfinity).ConfigureAwait(false))
if (erpLocationCode=="无"||await SettingManager.IsTrueAsync(BasedataSettings.ErpLocationItem.NotFoundReturnInfinity).ConfigureAwait(false))
{
entity = new ErpLocationItem()
{
ItemCode = itemCode,

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

@ -38,6 +38,31 @@ public class SplitPackingRecAppService :
bool ret = await _splitPackingRecManager.BatchInsertAsync(lst).ConfigureAwait(false);
return ret;
}
/// <summary>
/// 获取顶级箱码
/// </summary>
/// <param name="toPackingCode">目标箱码列表</param>
/// <returns></returns>
[HttpGet("get-top-packing-code")]
public async Task<SplitPackingRecDTO> GetTopPackingCode(string toPackingCode)
{
var entity = await _splitPackingRecManager.GetTopPackingCode(toPackingCode).ConfigureAwait(false);
SplitPackingRecDTO dto = ObjectMapper.Map<SplitPackingRec, SplitPackingRecDTO>(entity);
return dto;
}
/// <summary>
/// 获取拆箱记录
/// </summary>
/// <param name="toPackingCode">目标箱码列表</param>
/// <returns></returns>
[HttpGet("get-split-packing-code")]
public async Task<SplitPackingRecDTO> GetSplitPackingCode(string toPackingCode)
{
var entity = await _splitPackingRecManager.GetSplitPackingCode(toPackingCode).ConfigureAwait(false);
SplitPackingRecDTO dto = ObjectMapper.Map<SplitPackingRec, SplitPackingRecDTO>(entity);
return dto;
}
/// <summary>
/// 取每个目标箱码的最后一条拆箱记录

3
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/ISplitPackingRecManager.cs

@ -23,5 +23,6 @@ public interface ISplitPackingRecManager : IDomainService
/// <param name="fromPackingCodeList">源标箱码列表</param>
/// <returns></returns>
Task<List<SplitPackingRec>> GetListByFromPackingCode(List<string> fromPackingCodeList);
Task<SplitPackingRec> GetTopPackingCode(string packingCode);
Task<SplitPackingRec> GetSplitPackingCode(string packingCode);
}

26
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs

@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.Domain.Repositories;
using Volo.Abp.Domain.Services;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Basedata.Domain.Shared;
@ -145,6 +146,31 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager
}
return ret;
}
/// <summary>
/// 获取顶级条码
/// </summary>
/// <param name="packingCode"></param>
/// <returns></returns>
public async Task<SplitPackingRec> GetTopPackingCode(string packingCode)
{
SplitPackingRec entity = new SplitPackingRec();
SplitPackingRec item = await _repository.FirstOrDefaultAsync(itm => itm.ToPackingCode == packingCode && itm.OprType == OprTypeEnum.SplitBox).ConfigureAwait(false);
if (item != null)
{
entity = await _repository.FirstOrDefaultAsync(itm => itm.ToPackingCode == packingCode && itm.OprType == OprTypeEnum.Other).ConfigureAwait(false);
}
return entity;
}
/// <summary>
/// 获取顶级条码
/// </summary>
/// <param name="packingCode"></param>
/// <returns></returns>
public async Task<SplitPackingRec> GetSplitPackingCode(string packingCode)
{
SplitPackingRec item = await _repository.FirstOrDefaultAsync(itm => itm.ToPackingCode == packingCode && itm.OprType == OprTypeEnum.SplitBox).ConfigureAwait(false);
return item;
}
/// <summary>
/// 取顶级箱码

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

@ -173,7 +173,7 @@ public class PurchaseReceiptNoteAppService :
var list=await _splitPackingRecAppService.GetListByToPackingCode(new List<string>(){ packingCode }).ConfigureAwait(false);
var splitPackingRecDto=list.FirstOrDefault();
var entity = (await _repository.GetListAsync(p => p.Details.Any(y => y.ItemCode == itemCode && y.PackingCode == splitPackingRecDto.ToTopPackingCode), true).ConfigureAwait(false)).FirstOrDefault();
var entity = (await _repository.GetListAsync(p => p.Details.Any(y => y.ItemCode == itemCode && y.PackingCode == (splitPackingRecDto==null? packingCode: splitPackingRecDto.ToTopPackingCode)), true).ConfigureAwait(false)).FirstOrDefault();
if (entity != null)
{

Loading…
Cancel
Save