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 11 months ago
parent
commit
3f1f77b6eb
  1. 25
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionPlanRequestController.cs
  2. 56
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Domain/SplitPackings/SplitPackingRecManager.cs
  3. 6
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs
  4. 28
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InjectionPlanRequests/InjectionPlanRequestAppService.cs
  5. 9
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs

25
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/InjectionPlanRequestController.cs

@ -17,14 +17,16 @@ namespace Win_in.Sfs.Wms.Pda.Controllers.Stores;
public class InjectionPlanRequestController : AbpController
{
private readonly IInjectionPlanRequestAppService _injectionRequestAppService;
private readonly IItemContainerAppService _itemContainerAppService;
/// <summary>
///
/// </summary>
/// <param name="InjectionPlanRequestAppService"></param>
public InjectionPlanRequestController(IInjectionPlanRequestAppService InjectionPlanRequestAppService)
public InjectionPlanRequestController(IInjectionPlanRequestAppService InjectionPlanRequestAppService, IItemContainerAppService itemContainerAppService)
{
_injectionRequestAppService = InjectionPlanRequestAppService;
_itemContainerAppService = itemContainerAppService;
}
/// <summary>
@ -73,9 +75,26 @@ public class InjectionPlanRequestController : AbpController
[HttpGet("list/item-category")]
public virtual async Task<List<ItemBasicDTO>> GetItemCategoryListAsync(string categoryName)
{
var entities = await _injectionRequestAppService.GetItemCategoryListAsync().ConfigureAwait(false);
var entities = await _injectionRequestAppService.GetItemCategoryListAsync().ConfigureAwait(false);
var itemEntities = entities.Where(p => p.Category == categoryName).ToList();
foreach (var item in itemEntities)
{
var itemContainerDto = await _itemContainerAppService.GetByItemCodeAsync(item.Code).ConfigureAwait(false);
if(itemContainerDto != null)
{
item.StdPackQty = itemContainerDto.Qty;
item.BasicUom = itemContainerDto.BasicUom;
}
else
{
item.StdPackQty = 1;
}
}
return entities.Where(p=>p.Category== categoryName).ToList();
return itemEntities;
}
}

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

@ -42,14 +42,6 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager
{
throw new UserFriendlyException("操作类型不是拆箱或合箱状态,源箱码和目标箱码必须相同!");
}
if (item.FromTopPackingCode.IsNullOrEmpty())
{
item.FromTopPackingCode = item.FromPackingCode;
}
if (item.ToTopPackingCode.IsNullOrEmpty())
{
item.ToTopPackingCode = item.FromPackingCode;// ToPackingCode;
}
}
#endregion
@ -91,6 +83,14 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager
}
else
{
if (item.FromTopPackingCode.IsNullOrEmpty())
{
item.FromTopPackingCode = item.FromPackingCode;
}
if (item.ToTopPackingCode.IsNullOrEmpty())
{
item.ToTopPackingCode = item.FromPackingCode;// ToPackingCode;
}
SplitPackingRec newEntity = CommonHelper.CloneObj(item);
newEntity.SetId(GuidGenerator.Create());
var ret = await _repository.InsertAsync(newEntity, true).ConfigureAwait(false);
@ -202,24 +202,42 @@ public class SplitPackingRecManager : DomainService, ISplitPackingRecManager
/// 取顶级箱码
/// </summary>
/// <param name="historyQuery">箱码历史</param>
/// <param name="item">当前箱码</param>
/// <param name="packingCode">箱码,from to时都传入from</param>
/// <returns></returns>
private static string GetTopPackingCode(IQueryable<SplitPackingRec> historyQuery, string packingCode)
{
var historyRec = historyQuery.Where(itm => itm.FromPackingCode == packingCode).OrderBy(itm => itm.CreationTime).FirstOrDefault();
if (historyRec != null)
{
return historyRec.FromTopPackingCode;
}
else
var qry = historyQuery.Where(itm => itm.OprType == OprTypeEnum.SplitBox || itm.OprType == OprTypeEnum.MergeBox);
string ret = null;
SplitPackingRec? firstObj = null;
string toCode = packingCode;
while (1 == 1)
{
historyRec = historyQuery.Where(itm => itm.ToPackingCode == packingCode).OrderBy(itm => itm.CreationTime).FirstOrDefault();
if (historyRec != null)
firstObj = qry.FirstOrDefault(itm => itm.ToPackingCode == toCode);
if (firstObj == null)
{
ret = toCode;
break;
}
else
{
return historyRec.ToTopPackingCode;
toCode = firstObj.FromPackingCode;
}
}
return null;
return ret;
//var historyRec = historyQuery.Where(itm => itm.FromPackingCode == packingCode).OrderBy(itm => itm.CreationTime).FirstOrDefault();
//if (historyRec != null)
//{
// return historyRec.FromTopPackingCode;
//}
//else
//{
// historyRec = historyQuery.Where(itm => itm.ToPackingCode == packingCode).OrderBy(itm => itm.CreationTime).FirstOrDefault();
// if (historyRec != null)
// {
// return historyRec.ToTopPackingCode;
// }
//}
//return null;
}
private static void SetBillNumber(IQueryable<SplitPackingRec> historyQuery, SplitPackingRec obj)

6
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumIssueRequestType.cs

@ -39,4 +39,10 @@ public enum EnumIssueRequestType
/// </summary>
[Display(Name = "EXCEL导入")]
ExcelImport=5,
/// <summary>
/// 注塑计划
/// </summary>
[Display(Name = "EXCEL导入")]
InjectionPlan = 6,
}

28
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InjectionPlanRequests/InjectionPlanRequestAppService.cs

@ -99,20 +99,22 @@ public class InjectionPlanRequestAppService : SfsStoreRequestAppServiceBase<Inje
detailInput.ItemDesc1 = itemBasicDto.Desc1;
detailInput.ItemDesc2 = itemBasicDto.Desc2;
detailInput.ItemName = itemBasicDto.Name;
detailInput.StdPackQty = itemBasicDto.StdPackQty;
//var itemContainerDto = await _itemContainerAppService.GetByItemCodeAsync(detailInput.ItemCode).ConfigureAwait(false);
//if (itemContainerDto != null)
//{
// detailInput.Uom = itemContainerDto.BasicUom;
// detailInput.Qty = itemContainerDto.Qty;
// detailInput.BoxQty = itemContainerDto.Qty;
// detailInput.StdPackQty = itemBasicDto.StdPackQty;
//}
//else
//{
// throw new UserFriendlyException($"ERP料号【{detailInput.ItemCode}】未配置收容数");
//}
var itemContainerDto = await _itemContainerAppService.GetByItemCodeAsync(detailInput.ItemCode).ConfigureAwait(false);
if (itemContainerDto != null)
{
detailInput.Uom = itemContainerDto.BasicUom;
detailInput.Qty = itemContainerDto.Qty;
detailInput.BoxQty = itemContainerDto.Qty;
detailInput.StdPackQty = itemBasicDto.StdPackQty;
}
else
{
throw new UserFriendlyException($"ERP料号【{detailInput.ItemCode}】未配置收容数");
}
detailInput.Status = EnumStatus.Open;
detailInput.IssuedQty = 0;
detailInput.RecommendType = EnumRecommendType.None;

9
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs

@ -9,7 +9,6 @@ using Volo.Abp.Domain.Entities;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Basedata.Domain.Shared;
using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
@ -31,20 +30,20 @@ public class PurchaseReceiptRequestAppService :
{
private readonly IPurchaseReceiptRequestManager _purchaseReceiptRequestManager;
private readonly ISplitPackingRecManager _splitPackingRecManager;
private readonly ISplitPackingRecAppService _splitPackingRecAppService;
public PurchaseReceiptRequestAppService(
IPurchaseReceiptRequestRepository repository,
IPurchaseReceiptRequestManager purchaseReceiptRequestManager,
ISplitPackingRecManager splitPackingRecManager) : base(repository, purchaseReceiptRequestManager)
ISplitPackingRecAppService splitPackingRecAppService) : base(repository, purchaseReceiptRequestManager)
{
_purchaseReceiptRequestManager = purchaseReceiptRequestManager;
base.CreatePolicyName = PurchaseReceiptRequestPermissions.Create;
base.UpdatePolicyName = PurchaseReceiptRequestPermissions.Update;
base.DeletePolicyName = PurchaseReceiptRequestPermissions.Delete;
_splitPackingRecManager = splitPackingRecManager;
_splitPackingRecAppService = splitPackingRecAppService;
}
#region 东阳使用
@ -103,7 +102,7 @@ public class PurchaseReceiptRequestAppService :
public virtual async Task<PurchaseReceiptRequestDetailDTO> GetDetailByItemAndRootPackingAsync(string itemCode,
string packingCode)
{
var topObj = await _splitPackingRecManager.GetTopPackingCode(packingCode).ConfigureAwait(false);
var topObj = await _splitPackingRecAppService.GetTopPackingCode(packingCode).ConfigureAwait(false);
if (topObj == null || string.IsNullOrEmpty(topObj.ToTopPackingCode))
{
throw new UserFriendlyException($"根据箱码{packingCode}到拆箱记录表中没有取到顶级箱码!");

Loading…
Cancel
Save