马昊 2 years ago
parent
commit
b4709b24cb
  1. 7
      .vs/VSWorkspaceState.json
  2. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/PullTask/PullTask.cs
  3. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Mes/PullTask/PullTaskDbContextModelCreatingExtensions.cs
  4. 14
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs
  5. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskConverter.cs
  6. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskReader.cs
  7. 14
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/ScrapConverter.cs
  8. 18
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/MesAgentModule.cs
  9. 1
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.csproj
  10. 94
      be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.StoreDbContext.sql
  11. 5
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/TransferLogs/TransferLogAppService.cs
  12. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreDetailWithFromToInputBase.cs
  13. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ProductReceiptNotes/ProductReceiptNoteAutoMapperProfile.cs
  14. 26
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/CountAdjustRequests/CountAdjustRequestAppService.cs
  15. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/DeliverRequests/DeliverRequestAppService.cs
  16. 17
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductionReturnRequests/ProductionReturnRequestAppService.cs
  17. 17
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReturnRequests/PurchaseReturnRequestAppService.cs
  18. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs
  19. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAppService.cs
  20. 42
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/IssueJobAutoMapperProfile.cs
  21. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/IHasLocationDtoExtensions.cs
  22. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/MaterialRequestEventHandler.cs
  23. 67
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/IssueNoteEventHandler.cs
  24. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ScrapNoteEventHandler.cs

7
.vs/VSWorkspaceState.json

@ -0,0 +1,7 @@
{
"ExpandedNodes": [
""
],
"SelectedNode": "\\WZC2.sln",
"PreviewInSolutionExplorer": false
}

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Mes/PullTask/PullTask.cs

@ -19,7 +19,7 @@ public class PullTask : Entity<long>
/// <summary> /// <summary>
/// 数量 /// 数量
/// </summary> /// </summary>
public decimal Planqty { get; set; } public string Planqty { get; set; }
/// <summary> /// <summary>
/// 单号 /// 单号
/// </summary> /// </summary>

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Mes/PullTask/PullTaskDbContextModelCreatingExtensions.cs

@ -20,7 +20,7 @@ public static class PullTaskDbContextModelCreatingExtensions
b.Property(q => q.no).HasMaxLength(255); b.Property(q => q.no).HasMaxLength(255);
b.Property(q => q.Itemno).HasMaxLength(255); b.Property(q => q.Itemno).HasMaxLength(255);
b.Property(q => q.Plant).HasMaxLength(255); b.Property(q => q.Plant).HasMaxLength(255);
b.Property(q => q.Planqty).HasPrecision(18, 2); b.Property(q => q.Planqty).HasMaxLength(255);
b.Property(q => q.Yl1); b.Property(q => q.Yl1);
}); });

14
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs

@ -5,6 +5,7 @@ using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Org.BouncyCastle.Asn1.Pkcs;
using Volo.Abp.ObjectMapping; using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
@ -77,6 +78,7 @@ public class MesOutConverter : IIncomingConverter
wmsProductReceiptNote.WorkShop = "";//车间 wmsProductReceiptNote.WorkShop = "";//车间
wmsProductReceiptNote.Worker = _configuration["Authentication:username"];//操作人 wmsProductReceiptNote.Worker = _configuration["Authentication:username"];//操作人
wmsProductReceiptNote.ReceiptType = EnumReceiptType.MesScanReceipt;//完工收货方式 wmsProductReceiptNote.ReceiptType = EnumReceiptType.MesScanReceipt;//完工收货方式
wmsProductReceiptNote.WarehouseCode = "";
wmsProductReceiptNote.Details = new List<ProductReceiptNoteDetailInput>(); wmsProductReceiptNote.Details = new List<ProductReceiptNoteDetailInput>();
foreach (var incomingFromExternal in group.ToList()) foreach (var incomingFromExternal in group.ToList())
@ -86,20 +88,24 @@ public class MesOutConverter : IIncomingConverter
wmsProductReceiptNoteDetail.Lot = ""; //排序批次 wmsProductReceiptNoteDetail.Lot = ""; //排序批次
wmsProductReceiptNoteDetail.PackingCode = "";//箱标签 wmsProductReceiptNoteDetail.PackingCode = "";//箱标签
wmsProductReceiptNoteDetail.Status = EnumInventoryStatus.OK; wmsProductReceiptNoteDetail.Status = EnumInventoryStatus.OK;
wmsProductReceiptNoteDetail.WarehouseCode = "";
wmsProductReceiptNoteDetail.LocationArea = "";
wmsProductReceiptNoteDetail.LocationGroup = "";
var loc = await _locationAppService.GetListByTypesAndErpCodeAsync(types, wmsProductReceiptNoteDetail.LocationErpCode).ConfigureAwait(false); var loc = await _locationAppService.GetListByTypesAndErpCodeAsync(types, wmsProductReceiptNoteDetail.LocationErpCode).ConfigureAwait(false);
if (loc != null) if (loc != null)
{ {
wmsProductReceiptNoteDetail.LocationCode = loc[0].Code; wmsProductReceiptNoteDetail.LocationCode = loc[0].Code;
} }
; try try
{ {
var item = await _itemBasicAppService.GetByCodeAsync(wmsProductReceiptNoteDetail.ItemCode).ConfigureAwait(false); var item = await _itemBasicAppService.GetByCodeAsync(wmsProductReceiptNoteDetail.ItemCode).ConfigureAwait(false);
if (item != null) if (item != null)
{ {
wmsProductReceiptNoteDetail.ItemName = item.Name; wmsProductReceiptNoteDetail.ItemName = item.Name;
wmsProductReceiptNoteDetail.ItemDesc1 = item.Desc1; wmsProductReceiptNoteDetail.ItemDesc1 = !string.IsNullOrEmpty(item.Desc1) ? item.Desc1 : "";
wmsProductReceiptNoteDetail.ItemDesc2 = item.Desc2; wmsProductReceiptNoteDetail.ItemDesc2 = !string.IsNullOrEmpty(item.Desc2) ? item.Desc2 : "";
wmsProductReceiptNoteDetail.Uom = item.BasicUom; wmsProductReceiptNoteDetail.Uom = !string.IsNullOrEmpty(item.BasicUom) ? item.BasicUom : "";
} }
} }
catch (Exception) catch (Exception)

9
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskConverter.cs

@ -11,6 +11,7 @@ using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain;
using Win_in.Sfs.Wms.DataExchange.WMS.MaterialRequest; using Win_in.Sfs.Wms.DataExchange.WMS.MaterialRequest;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming; namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming;
@ -77,16 +78,16 @@ public class PullTaskConverter : IIncomingConverter
foreach (var incomingFromExternal in group.ToList()) foreach (var incomingFromExternal in group.ToList())
{ {
var materialRequest = JsonSerializer.Deserialize<MaterialRequestExchangeDto>(incomingFromExternal.DestinationDataContent); var materialRequest = JsonSerializer.Deserialize<MaterialRequestExchangeDto>(incomingFromExternal.DestinationDataContent);
var wmsMaterialRequestDetail = _objectMapper.Map<MaterialRequestDetailExchangeDto, MaterialRequestDetailInput>(materialRequest.Detail); var wmsMaterialRequestDetail = _objectMapper.Map<MaterialRequestDetailExchangeDto, MaterialRequestDetailInput>(materialRequest.Detail);
var item = await _itemBasicAppService.GetByCodeAsync(wmsMaterialRequestDetail.ItemCode).ConfigureAwait(false); var item = await _itemBasicAppService.GetByCodeAsync(wmsMaterialRequestDetail.ItemCode).ConfigureAwait(false);
try try
{ {
if (item != null) if (item != null)
{ {
wmsMaterialRequestDetail.ItemName = item.Name; wmsMaterialRequestDetail.ItemName = item.Name;
wmsMaterialRequestDetail.ItemDesc1 = item.Desc1; wmsMaterialRequestDetail.ItemDesc1 = !string.IsNullOrEmpty(item.Desc1) ? item.Desc1 : "";
wmsMaterialRequestDetail.ItemDesc2 = item.Desc2; wmsMaterialRequestDetail.ItemDesc2 = !string.IsNullOrEmpty(item.Desc2) ? item.Desc2 : "";
wmsMaterialRequestDetail.Uom = item.BasicUom; wmsMaterialRequestDetail.Uom = !string.IsNullOrEmpty(item.BasicUom) ? item.BasicUom : "";
} }
} }
catch (Exception) catch (Exception)

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskReader.cs

@ -29,6 +29,7 @@ public class PullTaskReader : IReader
} }
public virtual async Task<List<IncomingFromExternal>> ReadAsync() public virtual async Task<List<IncomingFromExternal>> ReadAsync()
{ {
//从MES读取待处理PullTask //从MES读取待处理PullTask
var toBeProcessedPillTasks = await _pullTaskManager.GetToBeProcessedListAsync().ConfigureAwait(false); var toBeProcessedPillTasks = await _pullTaskManager.GetToBeProcessedListAsync().ConfigureAwait(false);
@ -101,7 +102,7 @@ public class PullTaskReader : IReader
var materialRequestDetail = new MaterialRequestDetailExchangeDto() var materialRequestDetail = new MaterialRequestDetailExchangeDto()
{ {
ItemCode = pullTask.Itemno, ItemCode = pullTask.Itemno,
Qty = pullTask.Planqty, Qty = decimal.Parse(pullTask.Planqty),
ToLocationCode = pullTask.Plant, ToLocationCode = pullTask.Plant,
}; };

14
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/ScrapConverter.cs

@ -85,15 +85,15 @@ public class ScrapConverter : IIncomingConverter
wmsScrapDetail.FromPackingCode = ""; wmsScrapDetail.FromPackingCode = "";
wmsScrapDetail.FromLot = ""; wmsScrapDetail.FromLot = "";
wmsScrapDetail.FromWarehouseCode = ""; wmsScrapDetail.FromWarehouseCode = "";
wmsScrapDetail.ToWarehouseCode = ""; wmsScrapDetail.ToWarehouseCode = "";
wmsScrapDetail.Uom = ""; wmsScrapDetail.FromStatus = EnumInventoryStatus.OK;
wmsScrapDetail.FromStatus = EnumInventoryStatus.OK; var item = await _itemBasicAppService.GetByCodeAsync(wmsScrapDetail.ItemCode).ConfigureAwait(false);
var item = await _itemBasicAppService.GetByCodeAsync(wmsScrapDetail.ItemCode).ConfigureAwait(false);
if (item != null) if (item != null)
{ {
wmsScrapDetail.ItemName = item.Name; wmsScrapDetail.ItemName = item.Name;
wmsScrapDetail.ItemDesc1 = item.Desc1; wmsScrapDetail.ItemDesc1 = !string.IsNullOrEmpty(item.Desc1) ? item.Desc1 : "";
wmsScrapDetail.ItemDesc2 = item.Desc2; wmsScrapDetail.ItemDesc2 = !string.IsNullOrEmpty(item.Desc2) ? item.Desc2 : "";
wmsScrapDetail.Uom = !string.IsNullOrEmpty(item.BasicUom) ? item.BasicUom : "";
} }
wmsScarp.Details.Add(wmsScrapDetail); wmsScarp.Details.Add(wmsScrapDetail);

18
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/MesAgentModule.cs

@ -7,6 +7,7 @@ using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Polly; using Polly;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Account;
using Volo.Abp.Autofac; using Volo.Abp.Autofac;
using Volo.Abp.AutoMapper; using Volo.Abp.AutoMapper;
using Volo.Abp.BackgroundJobs; using Volo.Abp.BackgroundJobs;
@ -39,7 +40,8 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent;
typeof(DataExchangeDomainModule), typeof(DataExchangeDomainModule),
typeof(DataExchangeEntityFrameworkCoreModule), typeof(DataExchangeEntityFrameworkCoreModule),
typeof(DataExchangeDomainFawtygMesModule), typeof(DataExchangeDomainFawtygMesModule),
typeof(DataExchangeEntityFrameworkCoreFawtygModule) typeof(DataExchangeEntityFrameworkCoreFawtygModule),
typeof(AbpAccountApplicationContractsModule)
)] )]
public class MesAgentModule : AbpModule public class MesAgentModule : AbpModule
{ {
@ -153,13 +155,13 @@ public class MesAgentModule : AbpModule
typeof(LabelApplicationContractsModule).Assembly, typeof(LabelApplicationContractsModule).Assembly,
"Label" "Label"
); );
} }
public override void OnApplicationInitialization(
public override async Task OnApplicationInitializationAsync( ApplicationInitializationContext context)
ApplicationInitializationContext context)
{ {
await context.AddBackgroundWorkerAsync<MesIncomingBackgroundWorker>().ConfigureAwait(false);
await context.AddBackgroundWorkerAsync<MesOutgoingBackgroundWorker>().ConfigureAwait(false);
}
context.AddBackgroundWorkerAsync<MesIncomingBackgroundWorker>();
//context.AddBackgroundWorkerAsync<MesOutgoingBackgroundWorker>();
}
} }

1
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.csproj

@ -11,6 +11,7 @@
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.12" /> <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.12" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.*" /> <PackageReference Include="Microsoft.Extensions.Hosting" Version="6.0.*" />
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="6.0.12" /> <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="6.0.12" />
<PackageReference Include="Serilog.Sinks.MSSqlServer" Version="6.3.0" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="5.3.5" /> <PackageReference Include="Volo.Abp.EntityFrameworkCore.SqlServer" Version="5.3.5" />
<PackageReference Include="Volo.Abp.BackgroundJobs" Version="5.3.5" /> <PackageReference Include="Volo.Abp.BackgroundJobs" Version="5.3.5" />
<PackageReference Include="Volo.Abp.BackgroundWorkers" Version="5.3.5" /> <PackageReference Include="Volo.Abp.BackgroundWorkers" Version="5.3.5" />

94
be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.StoreDbContext.sql

@ -5614,96 +5614,4 @@ CREATE UNIQUE INDEX [IX_Store_ScrapNote_Number] ON [Store_ScrapNote] ([Number])
CREATE INDEX [IX_Store_ScrapNoteDetail_MasterID] ON [Store_ScrapNoteDetail] ([MasterID]) CREATE INDEX [IX_Store_ScrapNoteDetail_MasterID] ON [Store_ScrapNoteDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_ScrapNoteDetail_Number_ItemCode_FromPackingCode_FromLocationCode_ToLocationCode_FromLot_FromStatus] ON [Store_ScrapNoteDetail] ([Number], [ItemCode], [FromPackingCode], [FromLocationCode], [ToLocationCode], [FromLot], [FromStatus]) WHERE [FromPackingCode] IS NOT NULL AND [FromLot] IS NOT NULL CREATE UNIQUE INDEX [IX_Store_ScrapNoteDetail_Number_ItemCode_FromPackingCode_FromLocationCode_ToLocationCode_FromLot_FromStatus] ON [Store_ScrapNoteDetail] ([Number], [ItemCode], [FromPackingCode], [FromLocationCode], [ToLocationCode], [
CREATE UNIQUE INDEX [IX_Store_ScrapRequest_Number] ON [Store_ScrapRequest] ([Number])
CREATE INDEX [IX_Store_ScrapRequestDetail_MasterID] ON [Store_ScrapRequestDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_ScrapRequestDetail_Number_ItemCode_LocationCode] ON [Store_ScrapRequestDetail] ([Number], [ItemCode], [LocationCode])
CREATE UNIQUE INDEX [IX_Store_SupplierAsn_Number] ON [Store_SupplierAsn] ([Number])
CREATE INDEX [IX_Store_SupplierAsn_SupplierCode] ON [Store_SupplierAsn] ([SupplierCode])
CREATE INDEX [IX_Store_SupplierAsnDetail_MasterID] ON [Store_SupplierAsnDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_SupplierAsnDetail_Number_ItemCode_PackingCode] ON [Store_SupplierAsnDetail] ([Number], [ItemCode], [PackingCode])
CREATE UNIQUE INDEX [IX_Store_TransferNote_Number] ON [Store_TransferNote] ([Number])
CREATE INDEX [IX_Store_TransferNoteDetail_MasterID] ON [Store_TransferNoteDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_TransferNoteDetail_Number_FromPackingCode_FromLocationCode_ToLocationCode_FromStatus_ToStatus] ON [Store_TransferNoteDetail] ([Number], [FromPackingCode], [FromLocationCode], [ToLocationCode], [FromStatus], [ToStatus]) WHERE [FromPackingCode] IS NOT NULL
CREATE UNIQUE INDEX [IX_Store_TransferRequest_Number] ON [Store_TransferRequest] ([Number])
CREATE INDEX [IX_Store_TransferRequestDetail_MasterID] ON [Store_TransferRequestDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_UnplannedIssueNote_Number] ON [Store_UnplannedIssueNote] ([Number])
CREATE INDEX [IX_Store_UnplannedIssueNoteDetail_MasterID] ON [Store_UnplannedIssueNoteDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_UnplannedIssueNoteDetail_Number_PackingCode_ItemCode_Lot_Status] ON [Store_UnplannedIssueNoteDetail] ([Number], [PackingCode], [ItemCode], [Lot], [Status]) WHERE [Lot] IS NOT NULL
CREATE UNIQUE INDEX [IX_Store_UnplannedIssueRequest_Number] ON [Store_UnplannedIssueRequest] ([Number])
CREATE INDEX [IX_Store_UnplannedIssueRequestDetail_MasterID] ON [Store_UnplannedIssueRequestDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_UnplannedIssueRequestDetail_Number_PackingCode_ItemCode_Lot_Status] ON [Store_UnplannedIssueRequestDetail] ([Number], [PackingCode], [ItemCode], [Lot], [Status]) WHERE [Lot] IS NOT NULL
CREATE UNIQUE INDEX [IX_Store_UnplannedReceiptNote_Number] ON [Store_UnplannedReceiptNote] ([Number])
CREATE INDEX [IX_Store_UnplannedReceiptNoteDetail_MasterID] ON [Store_UnplannedReceiptNoteDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_UnplannedReceiptNoteDetail_Number_PackingCode_ItemCode_Lot_Status] ON [Store_UnplannedReceiptNoteDetail] ([Number], [PackingCode], [ItemCode], [Lot], [Status]) WHERE [Lot] IS NOT NULL
CREATE UNIQUE INDEX [IX_Store_UnplannedReceiptRequest_Number] ON [Store_UnplannedReceiptRequest] ([Number])
CREATE INDEX [IX_Store_UnplannedReceiptRequestDetail_MasterID] ON [Store_UnplannedReceiptRequestDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_UnplannedReceiptRequestDetail_Number_PackingCode_ItemCode_Lot_Status] ON [Store_UnplannedReceiptRequestDetail] ([Number], [PackingCode], [ItemCode], [Lot], [Status]) WHERE [Lot] IS NOT NULL
CREATE UNIQUE INDEX [IX_Store_WarehouseTransferNote_Number] ON [Store_WarehouseTransferNote] ([Number])
CREATE INDEX [IX_Store_WarehouseTransferNoteDetail_MasterID] ON [Store_WarehouseTransferNoteDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_WarehouseTransferNoteDetail_Number_FromPackingCode_FromLocationCode_ToLocationCode] ON [Store_WarehouseTransferNoteDetail] ([Number], [FromPackingCode], [FromLocationCode], [ToLocationCode]) WHERE [FromPackingCode] IS NOT NULL
CREATE UNIQUE INDEX [IX_Store_WorkOrder_Number] ON [Store_WorkOrder] ([Number])
CREATE INDEX [IX_Store_WorkOrderDetail_MasterID] ON [Store_WorkOrderDetail] ([MasterID])
CREATE UNIQUE INDEX [IX_Store_WorkOrderDetail_Number_ItemCode] ON [Store_WorkOrderDetail] ([Number], [ItemCode])

5
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/TransferLogs/TransferLogAppService.cs

@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Application.Contracts; using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Wms.Inventory.Application.Contracts; using Win_in.Sfs.Wms.Inventory.Application.Contracts;
@ -23,15 +24,17 @@ public class TransferLogAppService
{ {
private readonly ITransferLogManager _transferLogManager; private readonly ITransferLogManager _transferLogManager;
private readonly IInterfaceCalendarAclService _interfaceCalendarAclService; private readonly IInterfaceCalendarAclService _interfaceCalendarAclService;
private readonly ILocationAppService _locationAppService;
public TransferLogAppService( public TransferLogAppService(
ITransferLogRepository repository ITransferLogRepository repository
, ITransferLogManager transferLogManager , ITransferLogManager transferLogManager
, IInterfaceCalendarAclService interfaceCalendarAclService , IInterfaceCalendarAclService interfaceCalendarAclService
) : base(repository) , ILocationAppService locationAppService) : base(repository)
{ {
_transferLogManager = transferLogManager; _transferLogManager = transferLogManager;
_interfaceCalendarAclService = interfaceCalendarAclService; _interfaceCalendarAclService = interfaceCalendarAclService;
_locationAppService = locationAppService;
} }
[HttpPost("add")] [HttpPost("add")]

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreDetailWithFromToInputBase.cs

@ -149,5 +149,6 @@ public abstract class SfsStoreDetailWithFromToInputBase
/// </summary> /// </summary>
[Display(Name = "目标库存状态")] [Display(Name = "目标库存状态")]
public EnumInventoryStatus ToStatus { get; set; } public EnumInventoryStatus ToStatus { get; set; }
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ProductReceiptNotes/ProductReceiptNoteAutoMapperProfile.cs

@ -11,7 +11,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile
{ {
CreateMap<ProductReceiptNote, ProductReceiptNoteDTO>() CreateMap<ProductReceiptNote, ProductReceiptNoteDTO>()
.ReverseMap(); .ReverseMap();
CreateMap<ProductReceiptNoteDetail, ProductReceiptNoteDetailDTO>() CreateMap<ProductReceiptNoteDetail, ProductReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()
.Ignore(x => x.ProdLine) .Ignore(x => x.ProdLine)

26
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/CountAdjustRequests/CountAdjustRequestAppService.cs

@ -1,3 +1,4 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
@ -14,15 +15,32 @@ public abstract class CountAdjustRequestAppService :
<CountAdjustRequest, CountAdjustRequestDTO, SfsStoreRequestInputBase, CountAdjustRequestEditInput, CountAdjustRequestDetail, CountAdjustRequestDetailDTO, SfsStoreRequestInputBase, CountAdjustRequestImportInput>, <CountAdjustRequest, CountAdjustRequestDTO, SfsStoreRequestInputBase, CountAdjustRequestEditInput, CountAdjustRequestDetail, CountAdjustRequestDetailDTO, SfsStoreRequestInputBase, CountAdjustRequestImportInput>,
ICountAdjustRequestAppService ICountAdjustRequestAppService
{ {
private readonly ICountAdjustRequestManager _CountAdjustRequestManager; private readonly ICountAdjustRequestManager _countAdjustRequestManager;
public CountAdjustRequestAppService( public CountAdjustRequestAppService(
ICountAdjustRequestRepository repository, ICountAdjustRequestRepository repository,
ICountAdjustRequestManager CountAdjustRequestManager ICountAdjustRequestManager countAdjustRequestManager
) : base(repository, CountAdjustRequestManager) ) : base(repository, countAdjustRequestManager)
{ {
_CountAdjustRequestManager = CountAdjustRequestManager; _countAdjustRequestManager = countAdjustRequestManager;
}
/// <summary>
/// 【创建】盘点调整申请
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("")]
//[Authorize(CountAdjustRequestPermissions.Create)]
public override async Task<CountAdjustRequestDTO> CreateAsync(CountAdjustRequestEditInput input)
{
var entity = ObjectMapper.Map<CountAdjustRequestEditInput, CountAdjustRequest>(input);
await _countAdjustRequestManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<CountAdjustRequest, CountAdjustRequestDTO>(entity);
return dto;
} }
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/DeliverRequests/DeliverRequestAppService.cs

@ -46,6 +46,7 @@ public class DeliverRequestAppService :
_customerApp = customerApp; _customerApp = customerApp;
_customerAddressApp = customerAddressApp; _customerAddressApp = customerAddressApp;
} }
[HttpPost("list")] [HttpPost("list")]
public override Task<PagedResultDto<DeliverRequestDTO>> GetPagedListByFilterAsync( public override Task<PagedResultDto<DeliverRequestDTO>> GetPagedListByFilterAsync(
SfsStoreRequestInputBase sfsRequestInput, SfsStoreRequestInputBase sfsRequestInput,
@ -58,6 +59,23 @@ public class DeliverRequestAppService :
return base.GetPagedListByFilterAsync(sfsRequestInput, includeDetails, cancellationToken); return base.GetPagedListByFilterAsync(sfsRequestInput, includeDetails, cancellationToken);
} }
/// <summary>
/// 【创建】发货申请
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("")]
//[Authorize(DeliverRequestPermissions.Create)]
public override async Task<DeliverRequestDTO> CreateAsync(DeliverRequestEditInput input)
{
var entity = ObjectMapper.Map<DeliverRequestEditInput, DeliverRequest>(input);
await _deliverRequestManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<DeliverRequest, DeliverRequestDTO>(entity);
return dto;
}
#region import #region import
protected virtual async Task CheckImportInputBusinessAsync( protected virtual async Task CheckImportInputBusinessAsync(
DeliverRequestImportInput importInput DeliverRequestImportInput importInput

17
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductionReturnRequests/ProductionReturnRequestAppService.cs

@ -45,6 +45,23 @@ public class ProductionReturnRequestAppService :
_purchaseOrderApp = purchaseOrderApp; _purchaseOrderApp = purchaseOrderApp;
} }
/// <summary>
/// 【创建】生成退料申请
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("")]
//[Authorize(ProductionReturnRequestPermissions.Create)]
public override async Task<ProductionReturnRequestDTO> CreateAsync(ProductionReturnRequestEditInput input)
{
var entity = ObjectMapper.Map<ProductionReturnRequestEditInput, ProductionReturnRequest>(input);
await _productionReturnRequestManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<ProductionReturnRequest, ProductionReturnRequestDTO>(entity);
return dto;
}
#region import #region import
protected virtual async Task CheckImportInputBusinessAsync(ProductionReturnRequestImportInput importInput, EnumImportMethod importMethod, List<ValidationResult> validationRresult) protected virtual async Task CheckImportInputBusinessAsync(ProductionReturnRequestImportInput importInput, EnumImportMethod importMethod, List<ValidationResult> validationRresult)
{ {

17
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReturnRequests/PurchaseReturnRequestAppService.cs

@ -55,6 +55,23 @@ public class PurchaseReturnRequestAppService :
base.DeletePolicyName = PurchaseReturnRequestPermissions.Delete; base.DeletePolicyName = PurchaseReturnRequestPermissions.Delete;
} }
/// <summary>
/// 【创建】采购退货申请
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("")]
//[Authorize(PurchaseReturnRequestPermissions.Create)]
public override async Task<PurchaseReturnRequestDTO> CreateAsync(PurchaseReturnRequestEditInput input)
{
var entity = ObjectMapper.Map<PurchaseReturnRequestEditInput, PurchaseReturnRequest>(input);
await _purchaseReturnRequestManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<PurchaseReturnRequest, PurchaseReturnRequestDTO>(entity);
return dto;
}
[HttpPost("check-status")] [HttpPost("check-status")]
public virtual async Task CheckStatusAsync(string number) public virtual async Task CheckStatusAsync(string number)
{ {

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedIssueRequests/UnplannedIssueRequestAppService.cs

@ -1,3 +1,4 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
@ -25,4 +26,21 @@ public abstract class UnplannedIssueRequestAppService :
_unplannedIssueRequestManager = unplannedIssueRequestManager; _unplannedIssueRequestManager = unplannedIssueRequestManager;
} }
/// <summary>
/// 【创建】计划外出库申请
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("")]
//[Authorize(UnplannedIssueRequestPermissions.Create)]
public override async Task<UnplannedIssueRequestDTO> CreateAsync(UnplannedIssueRequestEditInput input)
{
var entity = ObjectMapper.Map<UnplannedIssueRequestEditInput, UnplannedIssueRequest>(input);
await _unplannedIssueRequestManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<UnplannedIssueRequest, UnplannedIssueRequestDTO>(entity);
return dto;
}
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestAppService.cs

@ -1,3 +1,4 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
@ -23,4 +24,21 @@ public abstract class UnplannedReceiptRequestAppService :
_unplannedReceiptRequestManager = unplannedReceiptRequestManager; _unplannedReceiptRequestManager = unplannedReceiptRequestManager;
} }
/// <summary>
/// 【创建】计划外入库申请
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("")]
//[Authorize(UnplannedReceiptRequestPermissions.Create)]
public override async Task<UnplannedReceiptRequestDTO> CreateAsync(UnplannedReceiptRequestEditInput input)
{
var entity = ObjectMapper.Map<UnplannedReceiptRequestEditInput, UnplannedReceiptRequest>(input);
await _unplannedReceiptRequestManager.CreateAsync(entity).ConfigureAwait(false);
var dto = ObjectMapper.Map<UnplannedReceiptRequest, UnplannedReceiptRequestDTO>(entity);
return dto;
}
} }

42
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/IssueJobAutoMapperProfile.cs

@ -56,37 +56,37 @@ public partial class StoreEventAutoMapperProfile : Profile
; ;
CreateMap<IssueJobDetail, ExpectOutEditInput>() CreateMap<IssueJobDetail, ExpectOutEditInput>()
.MapExpectInOutFrom() .MapExpectInOutFrom()
.Ignore(x => x.Worker) .Ignore(x => x.Worker)
.Ignore(x => x.SerialNumber) .Ignore(x => x.SerialNumber)
.Ignore(x => x.ExtraProperties); .Ignore(x => x.ExtraProperties);
CreateMap<IssueJob, IssueNoteEditInput>() CreateMap<IssueJob, IssueNoteEditInput>()
.ForMember(x => x.RequestNumber, y => y.MapFrom(d => d.MaterialRequestNumber))
.Ignore(x => x.Confirmed) .Ignore(x => x.Confirmed)
.Ignore(x => x.JobNumber) .Ignore(x => x.JobNumber)
.Ignore(x => x.RequestNumber)
.Ignore(x => x.ActiveDate) .Ignore(x => x.ActiveDate)
; ;
CreateMap<IssueJobDetail, IssueNoteDetailInput>() CreateMap<IssueJobDetail, IssueNoteDetailInput>()
.Ignore(x => x.IssueTime) .ForMember(x => x.Qty, y => y.MapFrom(d => d.HandledQty))
.Ignore(x => x.FromPackingCode) .ForMember(x => x.IssueTime, y => y.MapFrom(d => DateTime.Now))
.Ignore(x => x.ToPackingCode) .ForMember(x => x.FromPackingCode, y => y.MapFrom(d =>d.HandledPackingCode))
.Ignore(x => x.FromContainerCode) .ForMember(x => x.ToPackingCode, y => y.MapFrom(d => d.HandledPackingCode))
.Ignore(x => x.ToContainerCode) .ForMember(x => x.FromContainerCode, y => y.MapFrom(d => d.HandledContainerCode))
.Ignore(x => x.FromLot) .ForMember(x => x.ToContainerCode, y => y.MapFrom(d => d.HandledContainerCode))
.Ignore(x => x.ToLot) .ForMember(x => x.FromLot, y => y.MapFrom(d => d.HandledLot))
.Ignore(x => x.SupplierBatch) .ForMember(x => x.ToLot, y => y.MapFrom(d => d.HandledLot))
.Ignore(x => x.ArriveDate) .ForMember(x => x.SupplierBatch, y => y.MapFrom(d => d.HandledSupplierBatch))
.Ignore(x => x.ProduceDate) .ForMember(x => x.ArriveDate, y => y.MapFrom(d => d.HandledArriveDate))
.Ignore(x => x.ExpireDate) .ForMember(x => x.ProduceDate, y => y.MapFrom(d => d.HandledProduceDate))
.Ignore(x => x.FromLocationCode) .ForMember(x => x.ExpireDate, y => y.MapFrom(d => d.ExpiredTime))
.Ignore(x => x.FromLocationArea) .ForMember(x => x.FromLocationCode, y => y.MapFrom(d => d.HandledFromLocationCode))
.Ignore(x => x.FromLocationGroup) .ForMember(x => x.FromLocationArea, y => y.MapFrom(d => d.HandledFromLocationArea))
.Ignore(x => x.FromLocationErpCode) .ForMember(x => x.FromLocationGroup, y => y.MapFrom(d => d.HandledFromLocationGroup))
.Ignore(x => x.FromWarehouseCode) .ForMember(x => x.FromLocationErpCode, y => y.MapFrom(d => d.HandledFromLocationErpCode))
.Ignore(x => x.FromStatus) .ForMember(x => x.FromWarehouseCode, y => y.MapFrom(d => d.HandledFromWarehouseCode))
.Ignore(x => x.ToStatus) .ForMember(x => x.FromStatus, y => y.MapFrom(d => d.Status))
.Ignore(x => x.Qty) .ForMember(x => x.ToStatus, y => y.MapFrom(d => d.Status))
; ;
} }
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/IHasLocationDtoExtensions.cs

@ -26,7 +26,7 @@ public static class IHasLocationExtensions
{ {
var location = await locationAclService.GetByCodeAsync(hasFromTolocation.FromLocationCode).ConfigureAwait(false); var location = await locationAclService.GetByCodeAsync(hasFromTolocation.FromLocationCode).ConfigureAwait(false);
if (location != null) if (location != null)
{ {
hasFromTolocation.FromLocationErpCode = location.ErpLocationCode; hasFromTolocation.FromLocationErpCode = location.ErpLocationCode;
if (string.IsNullOrEmpty(hasFromTolocation.FromWarehouseCode)) if (string.IsNullOrEmpty(hasFromTolocation.FromWarehouseCode))
{ {

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/MaterialRequestEventHandler.cs

@ -187,6 +187,7 @@ public class MaterialRequestEventHandler
job.WarehouseCode = fromLocation.WarehouseCode; job.WarehouseCode = fromLocation.WarehouseCode;
job.ProdLine = fromLocation.LocationGroupCode; job.ProdLine = fromLocation.LocationGroupCode;
job.Worker = materialRequest.Worker; job.Worker = materialRequest.Worker;
job.MaterialRequestNumber = materialRequest.Number;
return job; return job;
} }

67
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/IssueNoteEventHandler.cs

@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.EventBus; using Volo.Abp.EventBus;
using Volo.Abp.Uow; using Volo.Abp.Uow;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Inventory.Application.Contracts; using Win_in.Sfs.Wms.Inventory.Application.Contracts;
@ -20,6 +21,13 @@ public class IssueNoteEventHandler
{ {
private const EnumTransType TransType = EnumTransType.Issue; private const EnumTransType TransType = EnumTransType.Issue;
private readonly ILocationAppService _locationAppService;
public IssueNoteEventHandler(ILocationAppService locationAppService)
{
_locationAppService = locationAppService;
}
[UnitOfWork] [UnitOfWork]
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<IssueNote> eventData) public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<IssueNote> eventData)
{ {
@ -68,7 +76,7 @@ public class IssueNoteEventHandler
private async Task AddTransferLogsAsync(List<TransferLogEditInput> inputList) private async Task AddTransferLogsAsync(List<TransferLogEditInput> inputList)
{ {
var transferLogs = new List<TransferLogEditInput>(); var transferLogs = new List<TransferLogEditInput>();
transferLogs.AddRange(inputList); transferLogs.AddRange(inputList);
@ -83,42 +91,48 @@ public class IssueNoteEventHandler
{ {
var transferLog = ObjectMapper.Map<IssueNoteDetail, TransferLogEditInput>(detail); var transferLog = ObjectMapper.Map<IssueNoteDetail, TransferLogEditInput>(detail);
LocationDTO fromLocationDTO = null;
LocationDTO toLocationDTO = null;
if (issueNote.UseOnTheWayLocation) if (issueNote.UseOnTheWayLocation)
{ {
var location = await LocationAclService.GetByCodeAsync(detail.OnTheWayLocationCode).ConfigureAwait(false); var location = await _locationAppService.GetByCodeAsync(detail.OnTheWayLocationCode).ConfigureAwait(false);
switch (route) switch (route)
{ {
case EnumTransferRoute.SourceToOnTheWay: case EnumTransferRoute.SourceToOnTheWay:
detail.ToLocationCode = detail.OnTheWayLocationCode; fromLocationDTO = await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false);
detail.ToLocationErpCode = location.ErpLocationCode;
detail.ToWarehouseCode = location.WarehouseCode; toLocationDTO = await _locationAppService.GetByCodeAsync(detail.OnTheWayLocationCode).ConfigureAwait(false);
detail.ToLocationArea = location.AreaCode;
break; break;
case EnumTransferRoute.OnTheWayToDestination: case EnumTransferRoute.OnTheWayToDestination:
detail.FromLocationCode = detail.OnTheWayLocationCode; fromLocationDTO = await _locationAppService.GetByCodeAsync(detail.OnTheWayLocationCode).ConfigureAwait(false);
detail.FromLocationErpCode = location.ErpLocationCode;
detail.FromWarehouseCode = location.WarehouseCode; toLocationDTO = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
detail.FromLocationArea = location.AreaCode;
await RemovePackingCodeAndContainerCodeAndLotAsync(transferLog).ConfigureAwait(false);
break; break;
case EnumTransferRoute.SourceToDestination: case EnumTransferRoute.SourceToDestination:
default: default:
throw new ArgumentOutOfRangeException(nameof(route), route, null); throw new ArgumentOutOfRangeException(nameof(route), route, null);
} }
} }
else
if (issueNote.UseOnTheWayLocation)
{ {
transferLog.FromLocationCode = detail.OnTheWayLocationCode; fromLocationDTO = await _locationAppService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false);
var location = await LocationAclService.GetByCodeAsync(detail.OnTheWayLocationCode).ConfigureAwait(false); toLocationDTO = await _locationAppService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
transferLog.FromLocationGroup = location.LocationGroupCode;
transferLog.FromLocationArea = location.AreaCode;
transferLog.FromLocationErpCode = location.ErpLocationCode;
transferLog.FromWarehouseCode=location.WarehouseCode;
} }
transferLog.TransType = TransType; transferLog.FromLocationCode = fromLocationDTO.Code;
transferLog.FromLocationArea = fromLocationDTO.AreaCode;
transferLog.FromLocationErpCode = fromLocationDTO.ErpLocationCode;
transferLog.FromLocationGroup = fromLocationDTO.LocationGroupCode;
transferLog.ToLocationCode = toLocationDTO.Code;
transferLog.ToLocationArea = toLocationDTO.AreaCode;
transferLog.ToLocationErpCode = toLocationDTO.ErpLocationCode;
transferLog.ToLocationGroup = toLocationDTO.LocationGroupCode;
transferLog.TransSubType = Enum.Parse<EnumTransSubType>(issueNote.RequestType); transferLog.TransSubType = Enum.Parse<EnumTransSubType>(issueNote.RequestType);
transferLog.Worker = issueNote.Worker; transferLog.TransType = TransType;
transferLog.DocNumber = issueNote.Number; transferLog.DocNumber = issueNote.Number;
transferLog.JobNumber = issueNote.JobNumber; transferLog.JobNumber = issueNote.JobNumber;
@ -128,4 +142,17 @@ public class IssueNoteEventHandler
return transferLogs; return transferLogs;
} }
private async Task RemovePackingCodeAndContainerCodeAndLotAsync(TransferLogEditInput transferLogCreateInput)
{
transferLogCreateInput.ToPackingCode = "";
transferLogCreateInput.ToLot = "";
transferLogCreateInput.ToContainerCode = "";
transferLogCreateInput.FromPackingCode = "";
transferLogCreateInput.FromLot = "";
transferLogCreateInput.FromContainerCode = "";
}
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Transactions/ScrapNoteEventHandler.cs

@ -74,7 +74,7 @@ public class ScrapNoteEventHandler
transferLog.Worker = scrapNote.Worker; transferLog.Worker = scrapNote.Worker;
transferLog.DocNumber = scrapNote.Number; transferLog.DocNumber = scrapNote.Number;
transferLog.JobNumber = scrapNote.JobNumber; transferLog.JobNumber = scrapNote.JobNumber;
transferLogs.Add(transferLog); transferLogs.Add(transferLog);
} }

Loading…
Cancel
Save