Browse Source

临时数据

集成Redis
唐明亮 2 years ago
parent
commit
6208070e03
  1. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/FawtygAutoMapperProfile.cs
  2. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs
  3. 6
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/ItemBasic/ItemBasicExchangeDto.cs
  4. 8
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/Inputs/ItemBasicImportInput.cs
  5. 32
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Locations/LocationAutoMapperProfile.cs
  6. 1
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SupplierTimeWindows/SupplierTimeWindowAutoMapperProfile.cs
  7. 3
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
  8. 10
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
  9. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReceiptRequests/PurchaseReceiptRequestAppService.cs
  10. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs
  11. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs
  12. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/BackFlushNoteEventHandler.cs
  13. 31
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ProductReceiptNoteEventHandler.cs
  14. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReceiptNoteEventHandler.cs
  15. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReturnNoteEventHandler.cs

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/FawtygAutoMapperProfile.cs

@ -60,7 +60,6 @@ public class FawtygAutoMapperProfile : Profile
.Ignore(x => x.Details)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.Status)
.Ignore(x => x.RpNumber)
.Ignore(x => x.DockCode)
.Ignore(x => x.Remark)
@ -69,6 +68,7 @@ public class FawtygAutoMapperProfile : Profile
;
CreateMap<SupplierAsnDetailExchangeDto, SupplierAsnDetailInput>()
.ForMember(x => x.RecommendErpCode, y => y.MapFrom(d => d.LocationErpCode))
.Ignore(x => x.ItemName)
.Ignore(x => x.ItemDesc1)
.Ignore(x => x.ItemDesc2)

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs

@ -46,7 +46,7 @@ public class DictConverter : IIncomingConverter
var materialRequestList = await BuildIncomingToWmsOfDictRequestAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateBulkAsync(materialRequestList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false);
}
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfDictRequestAsync(List<IncomingFromExternal> incomingDataList)

6
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application.Contracts/WMS/ItemBasic/ItemBasicExchangeDto.cs

@ -68,6 +68,12 @@ public class ItemBasicExchangeDto
[StringLength(SfsEfCorePropertyConst.CodeLength, ErrorMessage = "{0}最多输入{1}个字符")]
public string AbcClass { get; set; }
/// <summary>
/// 管理类型
/// </summary>
[Display(Name = "管理类型")]
public EnumItemManageType ManageType { get; set; } = EnumItemManageType.Batch;
public override bool Equals(object obj)
{
if (obj is ItemBasicExchangeDto)

8
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application.Contracts/ItemBasics/Inputs/ItemBasicImportInput.cs

@ -79,10 +79,10 @@ public class ItemBasicImportInput : SfsBaseDataImportInputBase
/// 类型
/// </summary>
[Display(Name = "类型")]
[ValueMapping("成品", "成品")]
[ValueMapping("原料", "原料")]
[ValueMapping("物料", "物料")]
[ValueMapping("半成品", "半成品")]
[ValueMapping("10C01", "10C01")]
[ValueMapping("10C02", "10C02")]
[ValueMapping("10C03", "10C03")]
[ValueMapping("10C04", "10C04")]
public string Type { get; set; }
/// <summary>

32
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Locations/LocationAutoMapperProfile.cs

@ -17,22 +17,22 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.EnableMixItem)
.Ignore(x => x.EnableMixLot)
.Ignore(x => x.EnableMixStatus)
.Ignore(x => x.EnableNegative)
.Ignore(x => x.EnableKeepZero)
.Ignore(x => x.EnableOpportunityCount)
.Ignore(x => x.EnablePick)
.Ignore(x => x.EnableOverPick)
.Ignore(x => x.EnableWholeStore)
.Ignore(x => x.EnableBreakStore)
.Ignore(x => x.EnableShip)
.Ignore(x => x.EnableReceive)
.Ignore(x => x.EnableReturnToSupplier)
.Ignore(x => x.EnableReturnFromCustomer)
.Ignore(x => x.EnableSplitPallet)
.Ignore(x => x.EnableSplitBox)
//.Ignore(x => x.EnableMixItem)
//.Ignore(x => x.EnableMixLot)
//.Ignore(x => x.EnableMixStatus)
//.Ignore(x => x.EnableNegative)
//.Ignore(x => x.EnableKeepZero)
//.Ignore(x => x.EnableOpportunityCount)
//.Ignore(x => x.EnablePick)
//.Ignore(x => x.EnableOverPick)
//.Ignore(x => x.EnableWholeStore)
//.Ignore(x => x.EnableBreakStore)
//.Ignore(x => x.EnableShip)
//.Ignore(x => x.EnableReceive)
//.Ignore(x => x.EnableReturnToSupplier)
//.Ignore(x => x.EnableReturnFromCustomer)
//.Ignore(x => x.EnableSplitPallet)
//.Ignore(x => x.EnableSplitBox)
;

1
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/SupplierTimeWindows/SupplierTimeWindowAutoMapperProfile.cs

@ -17,7 +17,6 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
.Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties)
.Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.SupplierName)
;
CreateMap<SupplierTimeWindow, SupplierTimeWindowImportInput>()

3
be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs

@ -771,10 +771,13 @@ public abstract class SfsCrudWithDetailsAppServiceBase<TEntity, TEntityDto, TReq
if (!modelDict.SelectMany(o => o.Value).Any() || requestInput.IsAllowPartImport)
{
if (entity != null)
{
if (entity.GetProps().Any(p => p.Name == "Worker"))
{
var first = entity.GetProps().First(p => p.Name == "Worker");
first.SetValue(first, CurrentUser.GetUserName());
}
}
var hasEntity = entity != null;
if (entity == null)

10
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs

@ -1,6 +1,7 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@ -29,4 +30,13 @@ public interface IPurchaseReceiptRequestAppService
/// <returns></returns>
Task<PurchaseReceiptRequestDetailDTO> GetDetailByItemAndPackingAsync(string itemCode,
string packingCode);
/// <summary>
/// 修改请求状态
/// </summary>
/// <param name="number"></param>
/// <param name="enumRequestStatus"></param>
/// <returns></returns>
Task<PurchaseReceiptRequestDTO> UpdatePurchaseReceiptRequestAsync(string number,
EnumRequestStatus enumRequestStatus);
}

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

@ -4,9 +4,11 @@ using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.ObjectMapping;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
using Win_in.Sfs.Wms.Store.Domain.Shared;
@ -120,6 +122,22 @@ public class PurchaseReceiptRequestAppService :
return ObjectMapper.Map<List<PurchaseReceiptRequest>, List<PurchaseReceiptRequestDTO>>(entity);
}
/// <summary>
/// 修改请求状态
/// </summary>
/// <param name="number"></param>
/// <param name="enumRequestStatus"></param>
/// <returns></returns>
[HttpGet("update-request-status")]
public virtual async Task<PurchaseReceiptRequestDTO> UpdatePurchaseReceiptRequestAsync(string number,
EnumRequestStatus enumRequestStatus)
{
var entity=await _repository.GetAsync(p => p.Number == number).ConfigureAwait(false);
entity.RequestStatus=enumRequestStatus;
entity= await _repository.UpdateAsync(entity).ConfigureAwait(false);
return ObjectMapper.Map<PurchaseReceiptRequest, PurchaseReceiptRequestDTO>(entity);
}
protected override Func<PurchaseReceiptRequestImportInput, object> GetEntityExpression()
{
throw new NotImplementedException();

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/InspectJobs/InspectJobManager.cs

@ -148,8 +148,11 @@ public class InspectJobManager : SfsJobManagerBase<InspectJob, InspectJobDetail>
});
var goodqty = jobEntity.Details.Where(p =>
p.DetailInspectStatus == EnumDetailInspectStatus.DefaultOK ||
p.DetailInspectStatus == EnumDetailInspectStatus.OK).Sum(p => p.GoodQty);
(p.DetailInspectStatus == EnumDetailInspectStatus.DefaultOK ||
p.DetailInspectStatus == EnumDetailInspectStatus.OK)
&& p.ItemCode == input.ItemCode
&& p.Lot == input.Lot)
.Sum(p => p.GoodQty);
//获取 汇总详情
var summaryDetailEntity = jobEntity.SummaryDetails.Find(p => p.Id == summaryDetailId);

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Orders/PurchaseOrders/PurchaseOrderManager.cs

@ -54,7 +54,6 @@ public class PurchaseOrderManager : SfsStoreManagerBase<PurchaseOrder, PurchaseO
purchaseOrder.SetIdAndNumberWithDetails(GuidGenerator, purchaseOrder.Number);
//await PublishCreatedAsync(purchaseOrder).ConfigureAwait(false);
//不要用base.create 要不会把number覆盖
await PublishCreatedAsync(purchaseOrder).ConfigureAwait(false);
return await Repository.InsertAsync(purchaseOrder).ConfigureAwait(false);
}

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/BackFlushNoteEventHandler.cs

@ -73,6 +73,7 @@ public class BackFlushNoteEventHandler
transaction.LocationCode=detail.LocationCode;
transaction.LocationErpCode=detail.LocationErpCode;
transaction.WarehouseCode=detail.WarehouseCode;
transaction.Status = EnumInventoryStatus.OK;
transactions.Add(transaction);
}

31
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ProductReceiptNoteEventHandler.cs

@ -1,7 +1,9 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.EventBus;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Inventory.Application.Contracts;
@ -17,6 +19,14 @@ public class ProductReceiptNoteEventHandler
{
private const EnumTransInOut TransInOut = EnumTransInOut.In;
private const EnumTransType TransType = EnumTransType.ProductReceipt;
private readonly IItemBasicAppService _itemBasicAppService;
private readonly ILocationAppService _locationAppService;
public ProductReceiptNoteEventHandler(IItemBasicAppService itemBasicAppService, ILocationAppService locationAppService)
{
_itemBasicAppService = itemBasicAppService;
_locationAppService = locationAppService;
}
[UnitOfWork]
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<ProductReceiptNote> eventData)
@ -30,7 +40,7 @@ public class ProductReceiptNoteEventHandler
{
var inboundTransactions = new List<TransactionEditInput>();
inboundTransactions.AddRange(BuildTransactions(productReceiptNote));
inboundTransactions.AddRange(await BuildTransactions(productReceiptNote));
await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false);
@ -51,13 +61,13 @@ public class ProductReceiptNoteEventHandler
//如果要做库存事务汇总,可以修改此处
foreach (var productReceiptNote in productReceiptNotes)
{
inboundTransactions.AddRange(BuildTransactions(productReceiptNote));
inboundTransactions.AddRange(await BuildTransactions(productReceiptNote));
}
await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false);
}
private List<TransactionEditInput> BuildTransactions(ProductReceiptNote productReceiptNote)
private async Task<List<TransactionEditInput>> BuildTransactions(ProductReceiptNote productReceiptNote)
{
var transactionCreateInputs = new List<TransactionEditInput>();
//构造库存入库创建Input
@ -65,6 +75,21 @@ public class ProductReceiptNoteEventHandler
{
var transaction = ObjectMapper.Map<ProductReceiptNoteDetail, TransactionEditInput>(detail);
var itemBasicDto= await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
;
detail.ItemDesc1 = itemBasicDto.Desc1;
detail.ItemDesc2 = itemBasicDto.Desc2;
detail.ItemName=itemBasicDto.Name;
detail.StdPackQty=itemBasicDto.StdPackQty;
var erpLocationDtos= await _locationAppService.GetListByTypesAndErpCodeAsync(new List<EnumLocationType> { EnumLocationType.WIP },
detail.LocationErpCode).ConfigureAwait(false);
var erpLocationDto = erpLocationDtos.First();
detail.LocationArea = erpLocationDto.Code;
detail.LocationGroup = erpLocationDto.LocationGroupCode;
detail.LocationErpCode= erpLocationDto.Code;
detail.LocationCode= erpLocationDto.Code;
transaction.TransType = TransType;
transaction.TransInOut = TransInOut;
transaction.WarehouseCode = productReceiptNote.WarehouseCode;

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReceiptNoteEventHandler.cs

@ -30,6 +30,7 @@ public class PurchaseReceiptNoteEventHandler
private readonly IPurchaseOrderAppService _purchaseOrderAppService;
private readonly IItemQualityAppService _itemQualityAppService;
private readonly ISupplierAsnAppService _supplierAsnAppService;
private readonly IPurchaseReceiptRequestAppService _purchaseReceiptRequestAppService;
/// <summary>
/// 收货记录
@ -41,12 +42,14 @@ public class PurchaseReceiptNoteEventHandler
IInspectRequestAppService inspectRequestAppService,
IPurchaseOrderAppService purchaseOrderAppService,
IItemQualityAppService itemQualityAppService,
ISupplierAsnAppService supplierAsnAppService)
ISupplierAsnAppService supplierAsnAppService,
IPurchaseReceiptRequestAppService purchaseReceiptRequestAppService)
{
_inspectRequestAppService = inspectRequestAppService;
_purchaseOrderAppService = purchaseOrderAppService;
_itemQualityAppService = itemQualityAppService;
_supplierAsnAppService = supplierAsnAppService;
_purchaseReceiptRequestAppService = purchaseReceiptRequestAppService;
}
/// <summary>
@ -70,6 +73,9 @@ public class PurchaseReceiptNoteEventHandler
//更新订单已收货数量
await UpdatePurchaseOrderAsync(entity).ConfigureAwait(false);
//更新收货请求状态
await UpdatePurchaseReceiptRequest(entity.PurchaseReceiptRequestNumber).ConfigureAwait(false);
//更新发货单状态
await UpdateSupplierAsnAsync(entity.AsnNumber).ConfigureAwait(false);
}
@ -108,6 +114,16 @@ public class PurchaseReceiptNoteEventHandler
await _supplierAsnAppService.UpdateStatusAsync(asnNumber,EnumSupplierAsnStatus.Received).ConfigureAwait(false);
}
/// <summary>
/// 更新发货请求状态
/// </summary>
/// <param name="purchaseReceiptRequestNumber"></param>
/// <returns></returns>
private async Task UpdatePurchaseReceiptRequest(string purchaseReceiptRequestNumber)
{
await _purchaseReceiptRequestAppService.UpdatePurchaseReceiptRequestAsync(purchaseReceiptRequestNumber,EnumRequestStatus.Completed).ConfigureAwait(false);
}
#region 私有
/// <summary>

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/PurchaseReturnNoteEventHandler.cs

@ -3,6 +3,7 @@ using System.Linq;
using System.Threading.Tasks;
using Volo.Abp.EventBus;
using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event;
@ -27,15 +28,18 @@ public class PurchaseReturnNoteEventHandler
private readonly IPurchaseReturnRequestAppService _purchaseReturnRequestApp;
private readonly IPurchaseOrderAppService _purchaseOrderAppService;
private readonly IInventoryLabelAppService _inventoryLabelAppService;
private readonly IItemBasicAppService _itemBasicAppService;
public PurchaseReturnNoteEventHandler(
IPurchaseReturnRequestAppService purchaseReturnRequestApp
, IPurchaseOrderAppService purchaseOrderAppService,
IInventoryLabelAppService inventoryLabelAppService)
IInventoryLabelAppService inventoryLabelAppService,
IItemBasicAppService itemBasicAppService)
{
_purchaseReturnRequestApp = purchaseReturnRequestApp;
_purchaseOrderAppService = purchaseOrderAppService;
_inventoryLabelAppService = inventoryLabelAppService;
_itemBasicAppService = itemBasicAppService;
}
[UnitOfWork]
@ -81,7 +85,7 @@ public class PurchaseReturnNoteEventHandler
{
var inboundTransactions = new List<TransactionEditInput>();
inboundTransactions.AddRange(BuildTransactions(purchaseReturnNote));
inboundTransactions.AddRange(await BuildTransactions(purchaseReturnNote).ConfigureAwait(false));
await TransactionAppService.AddManyAsync(inboundTransactions).ConfigureAwait(false);
@ -118,12 +122,13 @@ public class PurchaseReturnNoteEventHandler
}
*/
private List<TransactionEditInput> BuildTransactions(PurchaseReturnNote purchaseReturnNote)
private async Task<List<TransactionEditInput>> BuildTransactions(PurchaseReturnNote purchaseReturnNote)
{
var transactions = new List<TransactionEditInput>();
//构造库存转移记录创建Input
foreach (var detail in purchaseReturnNote.Details.Where(detail => detail.Qty != 0))
{
var itemBasicDto= await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
var transaction = ObjectMapper.Map<PurchaseReturnNoteDetail, TransactionEditInput>(detail);
transaction.TransType =
@ -134,6 +139,7 @@ public class PurchaseReturnNoteEventHandler
transaction.Worker = purchaseReturnNote.Worker;
transaction.DocNumber = purchaseReturnNote.Number;
transaction.JobNumber = purchaseReturnNote.JobNumber;
transaction.ManageType = itemBasicDto.ManageType;
//transaction.Status =
// detail.Status == EnumInventoryStatus.None
// ? InventoryStatus

Loading…
Cancel
Save