唐明亮 2 years ago
parent
commit
fd74e49e4a
  1. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/IPlanRepository.cs
  2. 5
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs
  3. 4
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Arrives/ArriveDbContextModelCreatingExtensions.cs
  4. 27
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Plans/PlanEfCoreRepository.cs
  5. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Returns/ReturnDbContextModelCreatingExtensions.cs
  6. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Tyrp/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Tyrp.csproj
  7. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/EosAgentModule.cs
  8. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/FawtygAutoMapperProfile.cs
  9. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/PlanConverter.cs
  10. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/PlanReader.cs
  11. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductConverter.cs
  12. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ShipConverter.cs
  13. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs
  14. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ReturnConverter.cs
  15. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/IssueConverter.cs
  16. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/MesOutConverter.cs
  17. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/PullTaskConverter.cs
  18. 9
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/ScrapConverter.cs
  19. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluConverter.cs
  20. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BomConverter.cs
  21. 5
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BomReader.cs
  22. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/CustomerConverter.cs
  23. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DepartmentConverter.cs
  24. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictConverter.cs
  25. 5
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictpjReader.cs
  26. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/InterfaceCalendarConverter.cs
  27. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/ItemBasicConverter.cs
  28. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs
  29. 98
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs
  30. 7
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/UserConverter.cs
  31. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScontrolWriter.cs
  32. 8
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs
  33. 4
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WmsoutmWriter.cs
  34. 2
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs
  35. 6
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/appsettings.json
  36. 4
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs
  37. 1
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain.Shared/Enums/EnumSystemType.cs
  38. 3
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/ArchivedIncomingFromExternal/IArchivedIncomingFromExternalRepository.cs
  39. 1
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IIncomingFromExternalManager.cs
  40. 8
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IncomingFromExternalManager.cs
  41. 1
      be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.LabelDbContext.sql
  42. 3
      be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.StoreDbContext.sql
  43. 57
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Inventories/BalanceController.cs
  44. 6
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs
  45. 4
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/DeliverJobController.cs
  46. 4
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/InspectJobController.cs
  47. 6
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs
  48. 4
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JisDeliverJobController.cs
  49. 2
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JobController.cs
  50. 4
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductReceiveJobController.cs
  51. 4
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductionReturnJobController.cs
  52. 50
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReceiptJobController.cs
  53. 4
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReturnJobController.cs
  54. 4
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PutawayJobController.cs
  55. 13
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/IssueNoteController.cs
  56. 13
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs
  57. 23
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnNoteController.cs
  58. 1
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs
  59. 8
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs
  60. 7
      be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelDto.cs
  61. 7
      be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelEditInput.cs
  62. 7
      be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelImportInput.cs
  63. 7
      be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelWithoutCodeCreateInput.cs
  64. 39
      be/Modules/Label/src/Win_in.Sfs.Label.Application/Bases/SfsLabelAppServiceWithCodeBase.cs
  65. 7
      be/Modules/Label/src/Win_in.Sfs.Label.Domain/InventoryLabels/InventoryLabel.cs
  66. 8
      be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageApplicationAutoMapperProfile.cs
  67. 12
      be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageTypeSubscribes/MessageTypeSubscribeAutoMapperProfile.cs
  68. 4
      be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageTypes/MessageTypeAutoMapperProfile.cs
  69. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/NotifyMessages/NotifyMessageAutoMapperProfile.cs
  70. 4
      be/Modules/Message/src/Win_in.Sfs.Message.Application/UserNotifyMessages/UserNotifyMessageAutoMapperProfile.cs
  71. 1
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application.Contracts/ISfsCrudWithDetailsAppService.cs
  72. 9
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
  73. 6
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs
  74. 3
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumMaterialRequestType.cs
  75. 4
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumProductReceiptType.cs
  76. 10
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumScrapType.cs
  77. 1
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain/Repositories/ISfsBulkRepositoryBase.cs
  78. 18
      be/Modules/Shared/src/Win_in.Sfs.Shared.EntityFrameworkCore/SfsEfCoreRepositoryBase.cs
  79. 8
      be/Modules/Shared/src/Win_in.Sfs.Shared.Host/HostBuilderExtensions.cs
  80. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/DTOs/SfsJobRecommendFromDetailDTOBase.cs
  81. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/DTOs/SfsStoreRequestDTOBase.cs
  82. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreCreateOrUpdateInputBase.cs
  83. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreDetailWithFromToInputBase.cs
  84. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreImportInputBase.cs
  85. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreRecommendFromDetailWithFromToInputBase.cs
  86. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreRecommendToDetailWithFromToInputBase.cs
  87. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreRequestCreateOrUpdateInputBase.cs
  88. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs
  89. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/DTOs/DeliverNoteDTO.cs
  90. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/Inputs/DeliverNoteEditInput.cs
  91. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ProductReceiptRequests/DTOs/ProductReceiptRequestDTO.cs
  92. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ProductReceiptRequests/Inputs/ProductReceiptRequestEditInput.cs
  93. 6
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ProductionReturnRequests/Inputs/ProductionReturnRequestDetailInput.cs
  94. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ProductionReturnRequests/Inputs/ProductionReturnRequestEditInput.cs
  95. 9
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/PurchaseReceiptRequests/IPurchaseReceiptRequestAppService.cs
  96. 15
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ScrapRequests/Inputs/ScrapRequestImportInput.cs
  97. 39
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Bases/SfsJobWithCodeAppServiceBase.cs
  98. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/DeliverJobs/DeliverJobAutoMapperProfile.cs
  99. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs
  100. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ProductionReturnJobs/ProductionReturnJobAutoMapperProfile.cs

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/IPlanRepository.cs

@ -1,7 +1,13 @@
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using EFCore.BulkExtensions;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
namespace Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; namespace Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS;
public interface IPlanRepository : IRepository<Plan, decimal> public interface IPlanRepository : IRepository<Plan, decimal>
{ {
Task BulkUpdateAsync(IList<Plan> entities, BulkConfig bulkConfig = null, Action<decimal> progress = null, Type type = null, CancellationToken cancellationToken = default);
} }

5
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Eos/Plans/PlanManager.cs

@ -1,6 +1,8 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Domain.Services; using Volo.Abp.Domain.Services;
namespace Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; namespace Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS;
@ -16,6 +18,7 @@ public class PlanManager : DomainService, IPlanManager
public virtual async Task<List<Plan>> GetToBeProcessedListAsync() public virtual async Task<List<Plan>> GetToBeProcessedListAsync()
{ {
var plans = await _repository.GetListAsync(p => p.WmsState == 0).ConfigureAwait(false); var plans = await _repository.GetListAsync(p => p.WmsState == 0).ConfigureAwait(false);
return plans; return plans;
} }
@ -29,6 +32,6 @@ public class PlanManager : DomainService, IPlanManager
p.WmsState = 1; p.WmsState = 1;
p.WmsDate = Clock.Now; p.WmsDate = Clock.Now;
}); });
await _repository.UpdateManyAsync(plans).ConfigureAwait(false); await _repository.BulkUpdateAsync(plans).ConfigureAwait(false);
} }
} }

4
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Arrives/ArriveDbContextModelCreatingExtensions.cs

@ -11,12 +11,12 @@ public static class ArriveDbContextModelCreatingExtensions
builder.Entity<ArriveNote>(b => builder.Entity<ArriveNote>(b =>
{ {
//Configure table & schema Name //Configure table & schema Name
b.ToTable(options.TablePrefix + "Sync_arrive", options.Schema); b.ToTable(options.TablePrefix + "Sync_arrrive", options.Schema);
//Configure ABP properties //Configure ABP properties
b.ConfigureByConvention(); b.ConfigureByConvention();
//Properties //Properties
b.Property(q => q.Id); b.Property(q => q.Id).ValueGeneratedOnAdd();
b.Property(q => q.PlanBillNo).HasMaxLength(255); b.Property(q => q.PlanBillNo).HasMaxLength(255);
b.Property(q => q.ShipBillNo).HasMaxLength(255); b.Property(q => q.ShipBillNo).HasMaxLength(255);
b.Property(q => q.DocNo).HasMaxLength(255); b.Property(q => q.DocNo).HasMaxLength(255);

27
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Plans/PlanEfCoreRepository.cs

@ -1,5 +1,12 @@
using EFCore.BulkExtensions;
using Microsoft.EntityFrameworkCore;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Threading;
using System;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore; using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.EOS;
namespace Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos.EOS; namespace Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos.EOS;
@ -9,5 +16,25 @@ public class PlanEfCoreRepository : EfCoreRepository<EosDbContext, Plan, decimal
public PlanEfCoreRepository(IDbContextProvider<EosDbContext> dbContextProvider) public PlanEfCoreRepository(IDbContextProvider<EosDbContext> dbContextProvider)
: base(dbContextProvider) : base(dbContextProvider)
{ {
}
/// <summary>
/// 批量更新数据
/// </summary>
/// <param name="entities"></param>
/// <param name="bulkConfig"></param>
/// <param name="progress"></param>
/// <param name="type"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public virtual async Task BulkUpdateAsync(IList<Plan> entities, BulkConfig bulkConfig = null, Action<decimal> progress = null, Type type = null, CancellationToken cancellationToken = default(CancellationToken))
{
var context = (await GetDbContextAsync().ConfigureAwait(false)) as DbContext;
if (entities != null && entities.Count > 0)
{
await context.BulkUpdateAsync(entities, bulkConfig, progress, type, cancellationToken).ConfigureAwait(false);
}
} }
} }

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Eos/Returns/ReturnDbContextModelCreatingExtensions.cs

@ -16,7 +16,7 @@ public static class ReturnDbContextModelCreatingExtensions
b.ConfigureByConvention(); b.ConfigureByConvention();
//Properties //Properties
b.Property(q => q.Id); b.Property(q => q.Id).ValueGeneratedOnAdd();
b.Property(q => q.PlanBillNo).HasMaxLength(255); b.Property(q => q.PlanBillNo).HasMaxLength(255);
b.Property(q => q.ShipBillNo).HasMaxLength(255); b.Property(q => q.ShipBillNo).HasMaxLength(255);
b.Property(q => q.DocNo).HasMaxLength(255); b.Property(q => q.DocNo).HasMaxLength(255);

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Tyrp/Win_in.Sfs.Wms.DataExchange.EntityFrameworkCore.Fawtyg.Tyrp.csproj

@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<TargetFramework>net6.0</TargetFramework> <TargetFramework>net6.0</TargetFramework>

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

@ -166,7 +166,7 @@ public class EosAgentModule : AbpModule
{ {
context.AddBackgroundWorkerAsync<EosIncomingBackgroundWorker>(); context.AddBackgroundWorkerAsync<EosIncomingBackgroundWorker>();
// context.AddBackgroundWorker<TyrpOutgoingBackgroundWorker>(); // context.AddBackgroundWorkerAsync<EosOutgoingBackgroundWorker>();
} }
} }

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

@ -1,6 +1,7 @@
using AutoMapper; using AutoMapper;
using Volo.Abp.AutoMapper; using Volo.Abp.AutoMapper;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Basedata.Domain;
using Win_in.Sfs.Label.Application.Contracts; using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Label.Domain.Shared; using Win_in.Sfs.Label.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain;
@ -102,5 +103,12 @@ public class FawtygAutoMapperProfile : Profile
.ForMember(x => x.Version, y => y.MapFrom(d => d.Remark)) .ForMember(x => x.Version, y => y.MapFrom(d => d.Remark))
.ForMember(x => x.SupplierPackQty, y => y.MapFrom(d => d.PackQty)) .ForMember(x => x.SupplierPackQty, y => y.MapFrom(d => d.PackQty))
.ForMember(x => x.SupplierPackUom, y => y.MapFrom(d => d.PackUom)); .ForMember(x => x.SupplierPackUom, y => y.MapFrom(d => d.PackUom));
CreateMap<SupplierItemEditInput, SupplierItem>()
.IgnoreAuditedObjectProperties()
//.ForMember(x => x.SupplierPackQty, y => y.MapFrom(d => new UomQty(d.SupplierPackUom, d.SupplierPackQty)))
.Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.Id);
} }
} }

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/PlanConverter.cs

@ -14,6 +14,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent;
public class PlanConverter : IIncomingConverter public class PlanConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
private readonly IItemPackAppService _itemPackAppService; private readonly IItemPackAppService _itemPackAppService;
@ -27,10 +28,12 @@ public class PlanConverter : IIncomingConverter
IItemPackAppService itemPackAppService, IItemPackAppService itemPackAppService,
IObjectMapper objectMapper, IObjectMapper objectMapper,
ILogger<PlanConverter> logger, ILogger<PlanConverter> logger,
IConfiguration configuration IConfiguration configuration,
IIncomingFromExternalManager incomingFromExternalManager
) )
{ {
_incomingFromExternalManager = incomingFromExternalManager;
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_itemBasicAppService = itemBasicAppService; _itemBasicAppService = itemBasicAppService;
_itemPackAppService = itemPackAppService; _itemPackAppService = itemPackAppService;
@ -48,7 +51,8 @@ public class PlanConverter : IIncomingConverter
//按PlanBillNo合并PurchaseOrder //按PlanBillNo合并PurchaseOrder
var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList)

3
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/PlanReader.cs

@ -37,8 +37,7 @@ public class PlanReader : IReader
public virtual async Task<List<IncomingFromExternal>> ReadAsync() public virtual async Task<List<IncomingFromExternal>> ReadAsync()
{ {
//从EOS读取待处理Plan //从EOS读取待处理Plan
var aa = await _planManager.GetToBeProcessedListAsync().ConfigureAwait(false); var toBeProcessedPlans = await _planManager.GetToBeProcessedListAsync().ConfigureAwait(false);
var toBeProcessedPlans = aa.Take(100).ToList();
if (!toBeProcessedPlans.Any()) if (!toBeProcessedPlans.Any())
{ {
_logger.LogInformation("no plans"); _logger.LogInformation("no plans");

9
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ProductConverter.cs

@ -7,6 +7,7 @@ using Microsoft.Extensions.Logging;
using Volo.Abp.Guids; using Volo.Abp.Guids;
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.Basedata.Domain;
using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain;
using Win_in.Sfs.Wms.DataExchange.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.Domain.Shared;
using Win_in.Sfs.Wms.DataExchange.WMS.ItemPack; using Win_in.Sfs.Wms.DataExchange.WMS.ItemPack;
@ -15,6 +16,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent.Incoming;
public class ProductConverter : IIncomingConverter public class ProductConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly ISupplierAppService _supplierAppService; private readonly ISupplierAppService _supplierAppService;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
@ -27,9 +29,11 @@ public class ProductConverter : IIncomingConverter
IObjectMapper objectMapper, IObjectMapper objectMapper,
ILogger<ProductConverter> logger, ILogger<ProductConverter> logger,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
IConfiguration configuration IConfiguration configuration,
IIncomingFromExternalManager incomingFromExternalManager
) )
{ {
_incomingFromExternalManager = incomingFromExternalManager;
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_supplierAppService = supplierAppService; _supplierAppService = supplierAppService;
@ -53,7 +57,8 @@ public class ProductConverter : IIncomingConverter
incomingToWmsDataList.AddRange(supplierItemIncomingToWmsDataList); incomingToWmsDataList.AddRange(supplierItemIncomingToWmsDataList);
//添加IncomingToWms //添加IncomingToWms
await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildItemPackIncomingToWmsOfProductAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildItemPackIncomingToWmsOfProductAsync(List<IncomingFromExternal> incomingDataList)

7
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Incoming/ShipConverter.cs

@ -17,6 +17,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent;
public class ShipConverter : IIncomingConverter public class ShipConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
@ -29,9 +30,11 @@ public class ShipConverter : IIncomingConverter
, IItemBasicAppService itemBasicAppService , IItemBasicAppService itemBasicAppService
, IItemPackAppService itemPackAppService , IItemPackAppService itemPackAppService
, ILogger<ShipConverter> logger, , ILogger<ShipConverter> logger,
IConfiguration configuration IConfiguration configuration,
IIncomingFromExternalManager incomingFromExternalManager
) )
{ {
_incomingFromExternalManager = incomingFromExternalManager;
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_itemBasicAppService = itemBasicAppService; _itemBasicAppService = itemBasicAppService;
@ -54,6 +57,8 @@ public class ShipConverter : IIncomingConverter
var purchaseLabelList = BuildIncomingToWmsOfPurchaseLabelAsync(incomingFromExternalList); var purchaseLabelList = BuildIncomingToWmsOfPurchaseLabelAsync(incomingFromExternalList);
await _incomingToWmsManager.CreateManyAsync(purchaseLabelList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(purchaseLabelList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private List<IncomingToWms> BuildIncomingToWmsOfPurchaseLabelAsync(List<IncomingFromExternal> incomingFromExternalList) private List<IncomingToWms> BuildIncomingToWmsOfPurchaseLabelAsync(List<IncomingFromExternal> incomingFromExternalList)

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ArriveConverter.cs

@ -35,7 +35,7 @@ public class ArriveConverter : IOutgoingConverter
{ {
var outgoingToExternalList = new List<OutgoingToExternal>(); var outgoingToExternalList = new List<OutgoingToExternal>();
var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.PurchaseReceipt, EnumSystemType.SCP).ConfigureAwait(false); var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.PurchaseReceipt, EnumSystemType.EOS).ConfigureAwait(false);
foreach (var outgoingFromWms in outgoingFromWmsList) foreach (var outgoingFromWms in outgoingFromWmsList)
{ {

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/Outgoing/ReturnConverter.cs

@ -35,7 +35,7 @@ public class ReturnConverter : IOutgoingConverter
{ {
var outgoingToExternalList = new List<OutgoingToExternal>(); var outgoingToExternalList = new List<OutgoingToExternal>();
var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.PurchaseReturn, EnumSystemType.SCP).ConfigureAwait(false); var outgoingFromWmsList = await _outgoingFromWmsManager.GetToBeProcessedListAsync(EnumOutgoingDataType.PurchaseReturn, EnumSystemType.EOS).ConfigureAwait(false);
foreach (var outgoingFromWms in outgoingFromWmsList) foreach (var outgoingFromWms in outgoingFromWmsList)
{ {

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/Incoming/IssueConverter.cs

@ -14,6 +14,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming;
public class IssueConverter : IIncomingConverter public class IssueConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
@ -25,10 +26,12 @@ public class IssueConverter : IIncomingConverter
IItemBasicAppService itemBasicAppService, IItemBasicAppService itemBasicAppService,
IObjectMapper objectMapper, IObjectMapper objectMapper,
ILogger<IssueConverter> logger, ILogger<IssueConverter> logger,
IConfiguration configuration IConfiguration configuration,
IIncomingFromExternalManager incomingFromExternalManager
) )
{ {
_incomingFromExternalManager = incomingFromExternalManager;
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_itemBasicAppService = itemBasicAppService; _itemBasicAppService = itemBasicAppService;
_objectMapper = objectMapper; _objectMapper = objectMapper;
@ -44,7 +47,8 @@ public class IssueConverter : IIncomingConverter
} }
var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList)

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

@ -17,6 +17,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent;
public class MesOutConverter : IIncomingConverter public class MesOutConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
@ -30,7 +31,8 @@ public class MesOutConverter : IIncomingConverter
, IItemBasicAppService itemBasicAppService , IItemBasicAppService itemBasicAppService
, ILogger<MesOutConverter> logger, , ILogger<MesOutConverter> logger,
IConfiguration configuration, IConfiguration configuration,
ILocationAppService locationAppService) ILocationAppService locationAppService,
IIncomingFromExternalManager incomingFromExternalManager)
{ {
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
@ -38,6 +40,7 @@ public class MesOutConverter : IIncomingConverter
_logger = logger; _logger = logger;
_configuration = configuration; _configuration = configuration;
_locationAppService = locationAppService; _locationAppService = locationAppService;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
@ -50,6 +53,8 @@ public class MesOutConverter : IIncomingConverter
var productReceiptNoteList = await BuildIncomingToWmsOfProductReceiptNoteAsync(incomingFromExternalList).ConfigureAwait(false); var productReceiptNoteList = await BuildIncomingToWmsOfProductReceiptNoteAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(productReceiptNoteList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(productReceiptNoteList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfProductReceiptNoteAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfProductReceiptNoteAsync(List<IncomingFromExternal> incomingDataList)

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

@ -17,6 +17,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming;
public class PullTaskConverter : IIncomingConverter public class PullTaskConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
@ -28,13 +29,15 @@ public class PullTaskConverter : IIncomingConverter
, IObjectMapper objectMapper , IObjectMapper objectMapper
, IItemBasicAppService itemBasicAppService , IItemBasicAppService itemBasicAppService
, ILogger<PullTaskConverter> logger , ILogger<PullTaskConverter> logger
, IConfiguration configuration) , IConfiguration configuration,
IIncomingFromExternalManager incomingFromExternalManager)
{ {
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_itemBasicAppService = itemBasicAppService; _itemBasicAppService = itemBasicAppService;
_logger = logger; _logger = logger;
_configuration = configuration; _configuration = configuration;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
@ -48,6 +51,8 @@ public class PullTaskConverter : IIncomingConverter
//按Number合并MaterialRequest单据 //按Number合并MaterialRequest单据
var materialRequestList = await BuildIncomingToWmsOfMaterialRequestAsync(incomingFromExternalList).ConfigureAwait(false); var materialRequestList = await BuildIncomingToWmsOfMaterialRequestAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfMaterialRequestAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfMaterialRequestAsync(List<IncomingFromExternal> incomingDataList)

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

@ -16,6 +16,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent.Incoming;
public class ScrapConverter : IIncomingConverter public class ScrapConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
@ -27,6 +28,10 @@ public class ScrapConverter : IIncomingConverter
IObjectMapper objectMapper, IObjectMapper objectMapper,
ILogger<ScrapConverter> logger, ILogger<ScrapConverter> logger,
IConfiguration configuration IConfiguration configuration
,
IIncomingFromExternalManager incomingFromExternalManager
) )
{ {
@ -35,6 +40,7 @@ public class ScrapConverter : IIncomingConverter
_objectMapper = objectMapper; _objectMapper = objectMapper;
_logger = logger; _logger = logger;
_configuration = configuration; _configuration = configuration;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
{ {
@ -46,7 +52,8 @@ public class ScrapConverter : IIncomingConverter
//按PlanBillNo合并PurchaseOrder //按PlanBillNo合并PurchaseOrder
var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveManyAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList)

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BackFluConverter.cs

@ -13,6 +13,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Incoming;
public class BackFluConverter : IIncomingConverter public class BackFluConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
@ -22,6 +23,8 @@ public class BackFluConverter : IIncomingConverter
IItemBasicAppService itemBasicAppService, IItemBasicAppService itemBasicAppService,
IObjectMapper objectMapper, IObjectMapper objectMapper,
ILogger<BackFluConverter> logger ILogger<BackFluConverter> logger
,
IIncomingFromExternalManager incomingFromExternalManager
) )
{ {
@ -29,6 +32,7 @@ public class BackFluConverter : IIncomingConverter
_itemBasicAppService = itemBasicAppService; _itemBasicAppService = itemBasicAppService;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_logger = logger; _logger = logger;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
{ {
@ -39,6 +43,8 @@ public class BackFluConverter : IIncomingConverter
} }
var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(incomingToWmsDataList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
} }

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BomConverter.cs

@ -13,6 +13,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Incoming;
public class BomConverter : IIncomingConverter public class BomConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
@ -25,7 +26,8 @@ public class BomConverter : IIncomingConverter
IObjectMapper objectMapper, IObjectMapper objectMapper,
ILogger<BomConverter> logger, ILogger<BomConverter> logger,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
IConfiguration configuration) IConfiguration configuration,
IIncomingFromExternalManager incomingFromExternalManager)
{ {
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
@ -34,6 +36,7 @@ public class BomConverter : IIncomingConverter
_logger = logger; _logger = logger;
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_configuration = configuration; _configuration = configuration;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
{ {
@ -44,7 +47,8 @@ public class BomConverter : IIncomingConverter
} }
var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList)
{ {

5
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/BomReader.cs

@ -99,6 +99,7 @@ public class BomReader : IReader
SourceSystem = EnumSystemType.ERP.ToString(), SourceSystem = EnumSystemType.ERP.ToString(),
SourceDataId = bom.mes_bom_assy.ToString(), SourceDataId = bom.mes_bom_assy.ToString(),
SourceDataDetailCode = bom.mes_bom_part.ToString(), SourceDataDetailCode = bom.mes_bom_part.ToString(),
SourceDataGroupCode = bom.mes_bom_part.ToString(),
SourceDataContent = JsonSerializer.Serialize(bom), SourceDataContent = JsonSerializer.Serialize(bom),
WriteTime = DateTime.Now, WriteTime = DateTime.Now,
Writer = nameof(TyrpIncomingBackgroundWorker), Writer = nameof(TyrpIncomingBackgroundWorker),
@ -114,8 +115,8 @@ public class BomReader : IReader
{ {
Product = bom.mes_bom_assy, Product = bom.mes_bom_assy,
Component = bom.mes_bom_part, Component = bom.mes_bom_part,
BeginTime = DateTime.ParseExact(bom.mes_bom_chg_e, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture), BeginTime = DateTime.ParseExact(bom.mes_bom_chg_b, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture),
EndTime = DateTime.ParseExact(bom.mes_bom_chg_b, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture), EndTime = DateTime.ParseExact(bom.mes_bom_chg_e, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture),
ComponentQty = bom.mes_bom_qty ComponentQty = bom.mes_bom_qty
}; };

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/CustomerConverter.cs

@ -17,17 +17,23 @@ public class CustomerConverter : IIncomingConverter
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly ILogger<CustomerConverter> _logger; private readonly ILogger<CustomerConverter> _logger;
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
public CustomerConverter( public CustomerConverter(
IIncomingToWmsManager incomingToWmsManager, IIncomingToWmsManager incomingToWmsManager,
IObjectMapper objectMapper, IObjectMapper objectMapper,
ILogger<CustomerConverter> logger, ILogger<CustomerConverter> logger,
IGuidGenerator guidGenerator IGuidGenerator guidGenerator
,
IIncomingFromExternalManager incomingFromExternalManager
) )
{ {
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_logger = logger; _logger = logger;
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
{ {
@ -38,6 +44,8 @@ public class CustomerConverter : IIncomingConverter
} }
var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList)

7
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DepartmentConverter.cs

@ -15,15 +15,18 @@ public class DepartmentConverter : IIncomingConverter
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly ILogger<DepartmentConverter> _logger; private readonly ILogger<DepartmentConverter> _logger;
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
public DepartmentConverter( public DepartmentConverter(
IIncomingToWmsManager incomingToWmsManager IIncomingToWmsManager incomingToWmsManager
, IObjectMapper objectMapper , IObjectMapper objectMapper
, ILogger<DepartmentConverter> logger) , ILogger<DepartmentConverter> logger,
IIncomingFromExternalManager incomingFromExternalManager)
{ {
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_logger = logger; _logger = logger;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
@ -37,6 +40,8 @@ public class DepartmentConverter : IIncomingConverter
//按流水号创建单据 //按流水号创建单据
var materialRequestList = await BuildIncomingToWmsOfDepartmentRequestAsync(incomingFromExternalList).ConfigureAwait(false); var materialRequestList = await BuildIncomingToWmsOfDepartmentRequestAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfDepartmentRequestAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfDepartmentRequestAsync(List<IncomingFromExternal> incomingDataList)

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

@ -17,17 +17,20 @@ public class DictConverter : IIncomingConverter
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly ILogger<DictConverter> _logger; private readonly ILogger<DictConverter> _logger;
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
public DictConverter( public DictConverter(
IIncomingToWmsManager incomingToWmsManager IIncomingToWmsManager incomingToWmsManager
, IObjectMapper objectMapper , IObjectMapper objectMapper
, ILogger<DictConverter> logger, , ILogger<DictConverter> logger,
IGuidGenerator guidGenerator) IGuidGenerator guidGenerator,
IIncomingFromExternalManager incomingFromExternalManager)
{ {
_guidGenerator = guidGenerator; _guidGenerator = guidGenerator;
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_logger = logger; _logger = logger;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
@ -41,6 +44,8 @@ public class DictConverter : IIncomingConverter
//按流水号创建单据 //按流水号创建单据
var materialRequestList = await BuildIncomingToWmsOfDictRequestAsync(incomingFromExternalList).ConfigureAwait(false); var materialRequestList = await BuildIncomingToWmsOfDictRequestAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateBulkAsync(materialRequestList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(materialRequestList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfDictRequestAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfDictRequestAsync(List<IncomingFromExternal> incomingDataList)

5
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/DictpjReader.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 Volo.Abp.Guids;
using Win_in.Sfs.Shared.Domain.Shared; 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.Domain.Fawtyg.Tyrp; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp;
@ -20,13 +21,16 @@ public class DictpjReader : IReader
private readonly IIncomingFromExternalManager _incomingFromExternalManager; private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly ILogger<DictpjReader> _logger; private readonly ILogger<DictpjReader> _logger;
private readonly IConfiguration _configuration; private readonly IConfiguration _configuration;
private readonly IGuidGenerator _guidGenerator;
public DictpjReader( public DictpjReader(
IDictpjManager dictpjManager IDictpjManager dictpjManager
, IIncomingFromExternalManager incomingFromExternalManager , IIncomingFromExternalManager incomingFromExternalManager
, ILogger<DictpjReader> logger , ILogger<DictpjReader> logger
, IConfiguration configuration , IConfiguration configuration
, IGuidGenerator guidGenerator
) )
{ {
_guidGenerator = guidGenerator;
_configuration = configuration; _configuration = configuration;
_dictpjManager = dictpjManager; _dictpjManager = dictpjManager;
_incomingFromExternalManager = incomingFromExternalManager; _incomingFromExternalManager = incomingFromExternalManager;
@ -55,6 +59,7 @@ public class DictpjReader : IReader
var incomingData = BuildIncomingFromExternal(dict); var incomingData = BuildIncomingFromExternal(dict);
incomingData.SetEffectiveDate(DateTime.Now); incomingData.SetEffectiveDate(DateTime.Now);
incomingData.SetSuccess(); incomingData.SetSuccess();
incomingData.SetId(_guidGenerator.Create());
try try
{ {
var DictRequest = BuildDictRequestCreateInput(dict); var DictRequest = BuildDictRequestCreateInput(dict);

7
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/InterfaceCalendarConverter.cs

@ -15,15 +15,18 @@ public class InterfaceCalendarConverter : IIncomingConverter
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly ILogger<InterfaceCalendarConverter> _logger; private readonly ILogger<InterfaceCalendarConverter> _logger;
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
public InterfaceCalendarConverter( public InterfaceCalendarConverter(
IIncomingToWmsManager incomingToWmsManager IIncomingToWmsManager incomingToWmsManager
, IObjectMapper objectMapper , IObjectMapper objectMapper
, ILogger<InterfaceCalendarConverter> logger) , ILogger<InterfaceCalendarConverter> logger,
IIncomingFromExternalManager incomingFromExternalManager)
{ {
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_logger = logger; _logger = logger;
_incomingFromExternalManager = incomingFromExternalManager;
} }
public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList) public virtual async Task ConvertAsync(List<IncomingFromExternal> incomingFromExternalList)
@ -37,6 +40,8 @@ public class InterfaceCalendarConverter : IIncomingConverter
//按流水号创建单据 //按流水号创建单据
var materialRequestList = await BuildIncomingToWmsOfInterfaceCalendarRequestAsync(incomingFromExternalList).ConfigureAwait(false); var materialRequestList = await BuildIncomingToWmsOfInterfaceCalendarRequestAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfInterfaceCalendarRequestAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfInterfaceCalendarRequestAsync(List<IncomingFromExternal> incomingDataList)

7
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/ItemBasicConverter.cs

@ -14,6 +14,7 @@ namespace Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent.Incoming;
public class ItemBasicConverter : IIncomingConverter public class ItemBasicConverter : IIncomingConverter
{ {
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly ILogger<ItemBasicConverter> _logger; private readonly ILogger<ItemBasicConverter> _logger;
@ -25,8 +26,10 @@ public class ItemBasicConverter : IIncomingConverter
, IObjectMapper objectMapper , IObjectMapper objectMapper
, ILogger<ItemBasicConverter> logger, , ILogger<ItemBasicConverter> logger,
IGuidGenerator guidGenerator, IGuidGenerator guidGenerator,
IConfiguration configuration) IConfiguration configuration,
IIncomingFromExternalManager incomingFromExternalManager)
{ {
_incomingFromExternalManager = incomingFromExternalManager;
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_logger = logger; _logger = logger;
@ -45,6 +48,8 @@ public class ItemBasicConverter : IIncomingConverter
//按流水号创建单据 //按流水号创建单据
var materialRequestList = await BuildIncomingToWmsOfItemBasicRequestAsync(incomingFromExternalList).ConfigureAwait(false); var materialRequestList = await BuildIncomingToWmsOfItemBasicRequestAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateBulkAsync(materialRequestList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(materialRequestList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfItemBasicRequestAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfItemBasicRequestAsync(List<IncomingFromExternal> incomingDataList)

7
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/SupplierConverter.cs

@ -17,11 +17,13 @@ public class SupplierConverter : IIncomingConverter
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly ILogger<SupplierConverter> _logger; private readonly ILogger<SupplierConverter> _logger;
private readonly IGuidGenerator _guidGenerator; private readonly IGuidGenerator _guidGenerator;
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
public SupplierConverter( public SupplierConverter(
IIncomingToWmsManager incomingToWmsManager, IIncomingToWmsManager incomingToWmsManager,
IObjectMapper objectMapper, IObjectMapper objectMapper,
ILogger<SupplierConverter> logger, ILogger<SupplierConverter> logger,
IGuidGenerator guidGenerator IGuidGenerator guidGenerator,
IIncomingFromExternalManager incomingFromExternalManage
) )
{ {
@ -39,7 +41,8 @@ public class SupplierConverter : IIncomingConverter
} }
var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false); var incomingToWmsDataList = await BuildIncomingToWmsOfPurchaseOrderAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false); await _incomingToWmsManager.CreateBulkAsync(incomingToWmsDataList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfPurchaseOrderAsync(List<IncomingFromExternal> incomingDataList)
{ {

98
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/TyrpIncomingBackgroundWorker.cs

@ -59,26 +59,26 @@ public class TyrpIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
common.updatedt = DateTime.Now; common.updatedt = DateTime.Now;
common.isupdate = false; common.isupdate = false;
Logger.LogInformation($"Read ItemBasic");//零件 //Logger.LogInformation($"Read ItemBasic");//零件
var itemBasicReader = workerContext.ServiceProvider.GetRequiredService<ItemBasicReader>(); //var itemBasicReader = workerContext.ServiceProvider.GetRequiredService<ItemBasicReader>();
var itemBasicConverter = workerContext.ServiceProvider.GetRequiredService<ItemBasicConverter>(); //var itemBasicConverter = workerContext.ServiceProvider.GetRequiredService<ItemBasicConverter>();
//读取并保存itemBasic ////读取并保存itemBasic
var itemBasicOutsFromExternalList = await itemBasicReader.ReadAsync().ConfigureAwait(false); //var itemBasicOutsFromExternalList = await itemBasicReader.ReadAsync().ConfigureAwait(false);
//转换itemBasic ////转换itemBasic
await itemBasicConverter.ConvertAsync(itemBasicOutsFromExternalList).ConfigureAwait(false); //await itemBasicConverter.ConvertAsync(itemBasicOutsFromExternalList).ConfigureAwait(false);
//Logger.LogInformation($"Read User");//用户和部门 Logger.LogInformation($"Read User");//用户和部门
//var userReader = workerContext.ServiceProvider.GetRequiredService<UserReader>(); var userReader = workerContext.ServiceProvider.GetRequiredService<UserReader>();
//var userConverter = workerContext.ServiceProvider.GetRequiredService<UserConverter>(); var userConverter = workerContext.ServiceProvider.GetRequiredService<UserConverter>();
//var departmentConverter = workerContext.ServiceProvider.GetRequiredService<DepartmentConverter>(); var departmentConverter = workerContext.ServiceProvider.GetRequiredService<DepartmentConverter>();
////读取并保存user //读取并保存user
//var outsFromExternalList = await userReader.ReadAsync().ConfigureAwait(false); var outsFromExternalList = await userReader.ReadAsync().ConfigureAwait(false);
//var userOutsFromExternalList = outsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.User.ToString()).ToList(); var userOutsFromExternalList = outsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.User.ToString()).ToList();
//var departmentOutsFromExternalList = outsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.Department.ToString()).ToList(); var departmentOutsFromExternalList = outsFromExternalList.Where(r => r.DataType == EnumIncomingDataType.Department.ToString()).ToList();
////转换user //转换user
//await userConverter.ConvertAsync(userOutsFromExternalList).ConfigureAwait(false); await userConverter.ConvertAsync(userOutsFromExternalList).ConfigureAwait(false);
////转换department //转换department
//await departmentConverter.ConvertAsync(departmentOutsFromExternalList).ConfigureAwait(false); await departmentConverter.ConvertAsync(departmentOutsFromExternalList).ConfigureAwait(false);
Logger.LogInformation($"Read InterfaceCalendar");//账期 Logger.LogInformation($"Read InterfaceCalendar");//账期
var interfaceCalendarReader = workerContext.ServiceProvider.GetRequiredService<InterfaceCalendarReader>(); var interfaceCalendarReader = workerContext.ServiceProvider.GetRequiredService<InterfaceCalendarReader>();
@ -88,13 +88,13 @@ public class TyrpIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
//转换InterfaceCalendar //转换InterfaceCalendar
await interfaceCalendarConverter.ConvertAsync(interfaceCalendarOutsFromExternalList).ConfigureAwait(false); await interfaceCalendarConverter.ConvertAsync(interfaceCalendarOutsFromExternalList).ConfigureAwait(false);
//Logger.LogInformation($"Read Dict");//系统代码 Logger.LogInformation($"Read Dict");//系统代码
//var dictReader = workerContext.ServiceProvider.GetRequiredService<DictReader>(); var dictReader = workerContext.ServiceProvider.GetRequiredService<DictReader>();
//var dictConverter = workerContext.ServiceProvider.GetRequiredService<DictConverter>(); var dictConverter = workerContext.ServiceProvider.GetRequiredService<DictConverter>();
////读取并保存Dict //读取并保存Dict
//var dictOutsFromExternalList = await dictReader.ReadAsync().ConfigureAwait(false); var dictOutsFromExternalList = await dictReader.ReadAsync().ConfigureAwait(false);
////转换Dict //转换Dict
//await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false); await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false);
//Logger.LogInformation($"Read Bom"); //Logger.LogInformation($"Read Bom");
//var BomReader = workerContext.ServiceProvider.GetRequiredService<BomReader>(); //var BomReader = workerContext.ServiceProvider.GetRequiredService<BomReader>();
@ -104,28 +104,28 @@ public class TyrpIncomingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
////转换Bom ////转换Bom
//await BomConverter.ConvertAsync(bomsFromExternalList).ConfigureAwait(false); //await BomConverter.ConvertAsync(bomsFromExternalList).ConfigureAwait(false);
//Logger.LogInformation($"Read Supplier");//供应商 Logger.LogInformation($"Read Supplier");//供应商
//var SupplierReader = workerContext.ServiceProvider.GetRequiredService<SupplierReader>(); var SupplierReader = workerContext.ServiceProvider.GetRequiredService<SupplierReader>();
//var SupplierConverter = workerContext.ServiceProvider.GetRequiredService<SupplierConverter>(); var SupplierConverter = workerContext.ServiceProvider.GetRequiredService<SupplierConverter>();
////读取并保存Supplier //读取并保存Supplier
//var suppliersFromExternalList = await SupplierReader.ReadAsync().ConfigureAwait(false); var suppliersFromExternalList = await SupplierReader.ReadAsync().ConfigureAwait(false);
////转换Supplier //转换Supplier
//await SupplierConverter.ConvertAsync(suppliersFromExternalList).ConfigureAwait(false); await SupplierConverter.ConvertAsync(suppliersFromExternalList).ConfigureAwait(false);
//Logger.LogInformation($"Read Dictpj");//专案代码 Logger.LogInformation($"Read Dictpj");//专案代码
//var DictpjReader = workerContext.ServiceProvider.GetRequiredService<DictpjReader>(); var DictpjReader = workerContext.ServiceProvider.GetRequiredService<DictpjReader>();
////读取并保存Dictpj //读取并保存Dictpj
//var dictpjOutsFromExternalList = await DictpjReader.ReadAsync().ConfigureAwait(false); var dictpjOutsFromExternalList = await DictpjReader.ReadAsync().ConfigureAwait(false);
////转换Dictpj //转换Dictpj
//await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false); await dictConverter.ConvertAsync(dictOutsFromExternalList).ConfigureAwait(false);
//Logger.LogInformation($"Read Customer");//客户资料 Logger.LogInformation($"Read Customer");//客户资料
//var CustomerReader = workerContext.ServiceProvider.GetRequiredService<CustomerReader>(); var CustomerReader = workerContext.ServiceProvider.GetRequiredService<CustomerReader>();
//var CustomerConverter = workerContext.ServiceProvider.GetRequiredService<CustomerConverter>(); var CustomerConverter = workerContext.ServiceProvider.GetRequiredService<CustomerConverter>();
////读取并保存Customer //读取并保存Customer
//var customersFromExternalList = await CustomerReader.ReadAsync().ConfigureAwait(false); var customersFromExternalList = await CustomerReader.ReadAsync().ConfigureAwait(false);
////转换Customer //转换Customer
//await CustomerConverter.ConvertAsync(customersFromExternalList).ConfigureAwait(false); await CustomerConverter.ConvertAsync(customersFromExternalList).ConfigureAwait(false);
} }
else else
{ {

7
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Incoming/UserConverter.cs

@ -15,12 +15,13 @@ public class UserConverter : IIncomingConverter
private readonly IIncomingToWmsManager _incomingToWmsManager; private readonly IIncomingToWmsManager _incomingToWmsManager;
private readonly IObjectMapper _objectMapper; private readonly IObjectMapper _objectMapper;
private readonly ILogger<UserConverter> _logger; private readonly ILogger<UserConverter> _logger;
private readonly IIncomingFromExternalManager _incomingFromExternalManager;
public UserConverter( public UserConverter(
IIncomingToWmsManager incomingToWmsManager IIncomingToWmsManager incomingToWmsManager
, IObjectMapper objectMapper , IObjectMapper objectMapper
, ILogger<UserConverter> logger) , ILogger<UserConverter> logger, IIncomingFromExternalManager incomingFromExternalManager)
{ {
_incomingFromExternalManager = incomingFromExternalManager;
_incomingToWmsManager = incomingToWmsManager; _incomingToWmsManager = incomingToWmsManager;
_objectMapper = objectMapper; _objectMapper = objectMapper;
_logger = logger; _logger = logger;
@ -37,6 +38,8 @@ public class UserConverter : IIncomingConverter
//按流水号创建单据 //按流水号创建单据
var materialRequestList = await BuildIncomingToWmsOfIdentityUserRequestAsync(incomingFromExternalList).ConfigureAwait(false); var materialRequestList = await BuildIncomingToWmsOfIdentityUserRequestAsync(incomingFromExternalList).ConfigureAwait(false);
await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false); await _incomingToWmsManager.CreateManyAsync(materialRequestList).ConfigureAwait(false);
//归档
await _incomingFromExternalManager.ArchiveBulkAsync(incomingFromExternalList).ConfigureAwait(false);
} }
private async Task<List<IncomingToWms>> BuildIncomingToWmsOfIdentityUserRequestAsync(List<IncomingFromExternal> incomingDataList) private async Task<List<IncomingToWms>> BuildIncomingToWmsOfIdentityUserRequestAsync(List<IncomingFromExternal> incomingDataList)

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScontrolWriter.cs

@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Uow;
using Win_in.Sfs.Wms.DataExchange.Domain; using Win_in.Sfs.Wms.DataExchange.Domain;
using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp; using Win_in.Sfs.Wms.DataExchange.Domain.Fawtyg.Tyrp;
using Win_in.Sfs.Wms.DataExchange.Domain.Shared; using Win_in.Sfs.Wms.DataExchange.Domain.Shared;
@ -25,11 +26,12 @@ public class ScontrolWriter : IWriter
/// <returns></returns> /// <returns></returns>
public virtual async Task WriteAsync(List<OutgoingToExternal> outgoingDataList) public virtual async Task WriteAsync(List<OutgoingToExternal> outgoingDataList)
{ {
var dataInterfaceList = new List<Scontrol>();
var dataInterfaceDetailList = new List<Scmsend>();
var groups = outgoingDataList.GroupBy(r => r.SourceDataGroupCode); var groups = outgoingDataList.GroupBy(r => r.SourceDataGroupCode);
foreach (var group in groups) foreach (var group in groups)
{ {
var dataInterfaceList = new List<Scontrol>();
var dataInterfaceDetailList = new List<Scmsend>();
var entitys = group.ToList(); var entitys = group.ToList();
foreach (var entity in entitys) foreach (var entity in entitys)

8
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs

@ -94,10 +94,10 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
var unplannedIssueNoteNoteList = await unplannedIssueNoteConvert.ConvertAsync().ConfigureAwait(false); var unplannedIssueNoteNoteList = await unplannedIssueNoteConvert.ConvertAsync().ConfigureAwait(false);
await wmsoutmWriter.WriteAsync(unplannedIssueNoteNoteList).ConfigureAwait(false); await wmsoutmWriter.WriteAsync(unplannedIssueNoteNoteList).ConfigureAwait(false);
//Logger.LogInformation($"Write UnplannedReceiptNote");//非生产退料 Logger.LogInformation($"Write UnplannedReceiptNote");//非生产退料
//var unplannedReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService<UnplannedReceiptNoteConverter>(); var unplannedReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService<UnplannedReceiptNoteConverter>();
//var unplannedReceiptNoteList = await unplannedReceiptNoteConvert.ConvertAsync(); var unplannedReceiptNoteList = await unplannedReceiptNoteConvert.ConvertAsync().ConfigureAwait(false);
//await wmsoutmWriter.WriteAsync(unplannedReceiptNoteList); await wmsoutmWriter.WriteAsync(unplannedReceiptNoteList).ConfigureAwait(false);
Logger.LogInformation($"Write RecycledMaterialReceiptNote");//回收料入库单 Logger.LogInformation($"Write RecycledMaterialReceiptNote");//回收料入库单
var recycledMaterialReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService<RecycledMaterialReceiptNoteConverter>(); var recycledMaterialReceiptNoteConvert = workerContext.ServiceProvider.GetRequiredService<RecycledMaterialReceiptNoteConverter>();

4
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WmsoutmWriter.cs

@ -27,11 +27,11 @@ public class WmsoutmWriter : IWriter
/// <returns></returns> /// <returns></returns>
public virtual async Task WriteAsync(List<OutgoingToExternal> outgoingDataList) public virtual async Task WriteAsync(List<OutgoingToExternal> outgoingDataList)
{ {
var dataInterfaceList = new List<Wmsoutm>();
var dataInterfaceDetailList = new List<Wmsoutd>();
var groups = outgoingDataList.GroupBy(r => r.SourceDataGroupCode); var groups = outgoingDataList.GroupBy(r => r.SourceDataGroupCode);
foreach (var group in groups) foreach (var group in groups)
{ {
var dataInterfaceList = new List<Wmsoutm>();
var dataInterfaceDetailList = new List<Wmsoutd>();
var entitys = group.ToList(); var entitys = group.ToList();
foreach (var entity in entitys) foreach (var entity in entitys)

2
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/TyrpAgentModule.cs

@ -173,7 +173,7 @@ public class TyrpAgentModule : AbpModule
{ {
context.AddBackgroundWorkerAsync<TyrpIncomingBackgroundWorker>(); context.AddBackgroundWorkerAsync<TyrpIncomingBackgroundWorker>();
// context.AddBackgroundWorker<TyrpOutgoingBackgroundWorker>(); // context.AddBackgroundWorkerAsync<TyrpOutgoingBackgroundWorker>();
} }
} }

6
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/appsettings.json

@ -26,13 +26,13 @@
"RemoteServices": { "RemoteServices": {
"BaseData": { "BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:59094/" "BaseUrl": "http://dev.ccwin-in.com:21294/"
}, },
"Store": { "Store": {
"BaseUrl": "http://dev.ccwin-in.com:59095/" "BaseUrl": "http://dev.ccwin-in.com:21295/"
}, },
"Label": { "Label": {
"BaseUrl": "http://dev.ccwin-in.com:59092/" "BaseUrl": "http://dev.ccwin-in.com:21292/"
}, },
"Auth": { "Auth": {
"BaseUrl": "http://dev.ccwin-in.com:21293/" "BaseUrl": "http://dev.ccwin-in.com:21293/"

4
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/AgentModule.cs

@ -149,7 +149,7 @@ public class AgentModule : AbpModule
public override void OnApplicationInitialization( public override void OnApplicationInitialization(
ApplicationInitializationContext context) ApplicationInitializationContext context)
{ {
context.AddBackgroundWorkerAsync<IncomingToWmsWorker>(); // context.AddBackgroundWorkerAsync<IncomingToWmsWorker>();
// context.AddBackgroundWorker<OutgoingFromWmsWorker>(); context.AddBackgroundWorkerAsync<OutgoingFromWmsWorker>();
} }
} }

1
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain.Shared/Enums/EnumSystemType.cs

@ -12,5 +12,6 @@ public enum EnumSystemType
MES = 3, MES = 3,
JIS = 4, JIS = 4,
QMS = 5, QMS = 5,
EOS= 6,
} }

3
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/ArchivedIncomingFromExternal/IArchivedIncomingFromExternalRepository.cs

@ -1,7 +1,8 @@
using System;
using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Wms.DataExchange.Domain; namespace Win_in.Sfs.Wms.DataExchange.Domain;
public interface IArchivedIncomingFromExternalRepository : ISfsRepositoryBase<ArchivedIncomingFromExternal> public interface IArchivedIncomingFromExternalRepository : ISfsRepositoryBase<ArchivedIncomingFromExternal>, ISfsBulkRepositoryBase<ArchivedIncomingFromExternal>
{ {
} }

1
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IIncomingFromExternalManager.cs

@ -12,4 +12,5 @@ public interface IIncomingFromExternalManager : IDomainService
Task ArchiveManyAsync(List<IncomingFromExternal> entities); Task ArchiveManyAsync(List<IncomingFromExternal> entities);
Task<List<IncomingFromExternal>> CreateBulkAsync(List<IncomingFromExternal> entities); Task<List<IncomingFromExternal>> CreateBulkAsync(List<IncomingFromExternal> entities);
Task<string> GetDataByMaxEffectiveDate(string dataType); Task<string> GetDataByMaxEffectiveDate(string dataType);
Task ArchiveBulkAsync(List<IncomingFromExternal> entities);
} }

8
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Domain/IncomingFromExternal/IncomingFromExternalManager.cs

@ -62,7 +62,15 @@ public class IncomingFromExternalManager : DomainService, IIncomingFromExternalM
await _historyRepository.InsertAsync(archivedEntity).ConfigureAwait(false); await _historyRepository.InsertAsync(archivedEntity).ConfigureAwait(false);
} }
[UnitOfWork]
public virtual async Task ArchiveBulkAsync(List<IncomingFromExternal> entities)
{
await _repository.BulkDeleteAsync(entities).ConfigureAwait(false);
var archivedEntities = _objectMapper.Map<List<IncomingFromExternal>, List<ArchivedIncomingFromExternal>>(entities);
await _historyRepository.BulkInsertAsync(archivedEntities).ConfigureAwait(false);
}
[UnitOfWork] [UnitOfWork]
public virtual async Task ArchiveManyAsync(List<IncomingFromExternal> entities) public virtual async Task ArchiveManyAsync(List<IncomingFromExternal> entities)
{ {

1
be/Hosts/Core.Host/Win_in.Sfs.Core.Host/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.LabelDbContext.sql

@ -49,6 +49,7 @@ CREATE TABLE [Label_InventoryLabel] (
[SupplierSimpleName] nvarchar(max) NULL, [SupplierSimpleName] nvarchar(max) NULL,
[SupplierItemCode] nvarchar(max) NULL, [SupplierItemCode] nvarchar(max) NULL,
[SupplierItemName] nvarchar(max) NULL, [SupplierItemName] nvarchar(max) NULL,
[PlanArriveDate] datetime2 NOT NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[ConcurrencyStamp] nvarchar(40) NULL, [ConcurrencyStamp] nvarchar(40) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,

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

@ -700,6 +700,7 @@ CREATE TABLE [Store_DeliverNote] (
[DeliverTime] datetime2 NOT NULL, [DeliverTime] datetime2 NOT NULL,
[DeliverRequestNumber] nvarchar(max) NULL, [DeliverRequestNumber] nvarchar(max) NULL,
[DeliverRequestType] nvarchar(64) NOT NULL, [DeliverRequestType] nvarchar(64) NOT NULL,
[CountPrint] int NOT NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[ConcurrencyStamp] nvarchar(40) NULL, [ConcurrencyStamp] nvarchar(40) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,
@ -1280,7 +1281,7 @@ CREATE TABLE [Store_ProductReceiptRequest] (
[Shift] nvarchar(64) NULL, [Shift] nvarchar(64) NULL,
[Team] nvarchar(64) NULL, [Team] nvarchar(64) NULL,
[PlanDate] datetime2 NOT NULL, [PlanDate] datetime2 NOT NULL,
[Type] nvarchar(64) NULL, [Type] nvarchar(64) NOT NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[ConcurrencyStamp] nvarchar(40) NULL, [ConcurrencyStamp] nvarchar(40) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,

57
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Inventories/BalanceController.cs

@ -5,6 +5,8 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
@ -29,6 +31,8 @@ public class BalanceController : AbpController
private readonly ILocationAppService _locationAppService; private readonly ILocationAppService _locationAppService;
private readonly IExpectOutAppService _expectOutAppService;
/// <summary> /// <summary>
/// ///
/// </summary> /// </summary>
@ -38,10 +42,11 @@ public class BalanceController : AbpController
public BalanceController( public BalanceController(
IBalanceAppService balanceAppService, IBalanceAppService balanceAppService,
IItemBasicAppService itemBasicAppService, IItemBasicAppService itemBasicAppService,
ILocationAppService locationAppService) ILocationAppService locationAppService, IExpectOutAppService expectOutAppService)
{ {
this._balanceAppService = balanceAppService; this._balanceAppService = balanceAppService;
this._locationAppService = locationAppService; this._locationAppService = locationAppService;
_expectOutAppService = expectOutAppService;
this._itemBasicAppService = itemBasicAppService; this._itemBasicAppService = itemBasicAppService;
} }
@ -426,6 +431,56 @@ public class BalanceController : AbpController
return balanceDTOs; return balanceDTOs;
} }
/// <summary>
/// 查询库存余额 根据 物品 库位 库位类型 库存状态 批次 并且没有被预计出 占用
/// </summary>
/// <param name="listInput"></param>
/// <returns></returns>
[HttpPost("by-balances-request-many-parameter-not-in-expect-out")]
public async Task<PagedResultDto<BalanceDTO>> GetListByLocationTypeAndInventoryStatusAndNotExpectOutAsync(
BalanceListByIssueInputByInventoryStatusAndLocationType listInput)
{
var expectOut = await _expectOutAppService.GetListByPackingCodeAsync(listInput.packingCode);
if (expectOut != null && expectOut.Any())
{
throw new UserFriendlyException($"箱码为 {listInput.packingCode} 已被任务{expectOut[0].JobNumber}使用");
}
var input = new SfsInventoryRequestInputBase()
{
MaxResultCount = listInput.pageSize,
SkipCount = (listInput.pageIndex - 1) * listInput.pageSize,
Sorting = listInput.sortBy,
Condition = new Condition { Filters = new List<Filter>() }
};
if (!string.IsNullOrWhiteSpace(listInput.itemCode))
input.Condition.Filters.Add(new Filter("ItemCode", listInput.itemCode));
if (!string.IsNullOrWhiteSpace(listInput.locationCode))
input.Condition.Filters.Add(new Filter("LocationCode", listInput.locationCode));
if (!string.IsNullOrWhiteSpace(listInput.lot)) input.Condition.Filters.Add(new Filter("Lot", listInput.lot));
if (!string.IsNullOrWhiteSpace(listInput.packingCode))
input.Condition.Filters.Add(new Filter("PackingCode", listInput.packingCode));
if (!string.IsNullOrWhiteSpace(listInput.containerCode))
input.Condition.Filters.Add(new Filter("ContainerCode", listInput.containerCode));
if (listInput.locationTypes != null && listInput.locationTypes.Any())
{
var locationCodes = (await this._locationAppService.GetListByTypesAsync(listInput.locationTypes).ConfigureAwait(false))
.Select(t => t.Code).ToList();
if (locationCodes.Any())
input.Condition.Filters.Add(
new Filter("LocationCode", JsonConvert.SerializeObject(locationCodes), "In"));
}
if (listInput.inventoryStatuses != null && listInput.inventoryStatuses.Any())
input.Condition.Filters.Add(
new Filter("Status", JsonConvert.SerializeObject(listInput.inventoryStatuses), "In"));
return await this._balanceAppService.GetPagedListByFilterAsync(input, false).ConfigureAwait(false);
}
/* /*
/// <summary> /// <summary>
/// 查询库余额 /// 查询库余额

6
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/CountJobController.cs

@ -75,7 +75,7 @@ public class CountJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -133,7 +133,7 @@ public class CountJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes); var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes);
var status = new List<string>() {EnumJobStatus.Open.ToString(),EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var requestInput = new SfsJobRequestInputBase var requestInput = new SfsJobRequestInputBase
@ -165,7 +165,7 @@ public class CountJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

4
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/DeliverJobController.cs

@ -75,7 +75,7 @@ public class DeliverJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
_ = JsonSerializer.Serialize(wlgCodes); _ = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -132,7 +132,7 @@ public class DeliverJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

4
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/InspectJobController.cs

@ -64,7 +64,7 @@ public class InspectJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -108,7 +108,7 @@ public class InspectJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

6
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/IssueJobController.cs

@ -65,7 +65,7 @@ public class IssueJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes); var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes);
var status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -143,7 +143,7 @@ public class IssueJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes); var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes);
var status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var requestInput = new SfsJobRequestInputBase var requestInput = new SfsJobRequestInputBase
@ -175,7 +175,7 @@ public class IssueJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

4
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JisDeliverJobController.cs

@ -74,7 +74,7 @@ public class JisDeliverJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -106,7 +106,7 @@ public class JisDeliverJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

2
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JobController.cs

@ -76,7 +76,7 @@ public class JobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var list = new List<JobCountDto>(); var list = new List<JobCountDto>();

4
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductReceiveJobController.cs

@ -62,7 +62,7 @@ public class ProductReceiveJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -106,7 +106,7 @@ public class ProductReceiveJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

4
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/ProductionReturnJobController.cs

@ -69,7 +69,7 @@ public class ProductionReturnJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -113,7 +113,7 @@ public class ProductionReturnJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

50
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReceiptJobController.cs

@ -21,14 +21,10 @@ namespace Win_in.Sfs.Wms.Pda.Controllers.Jobs;
/// </summary> /// </summary>
[ApiController] [ApiController]
[Route($"{PdaHostConst.ROOT_ROUTE}job/purchase-receipt")] [Route($"{PdaHostConst.ROOT_ROUTE}job/purchase-receipt")]
public class PurchaseReceiptJobController : AbpController public class PurchaseReceiptJobController : AbpController
{ {
private readonly ISupplierAppService _supplierAppService; private readonly ISupplierAppService _supplierAppService;
private readonly IPurchaseReceiptRequestAppService _purchaseReceiptRequestAppService;
private readonly IPurchaseReceiptJobAppService _purchaseReceiptJobAppService; private readonly IPurchaseReceiptJobAppService _purchaseReceiptJobAppService;
private readonly IFileAppService _fileAppService;
private readonly IUserWorkGroupAppService _userWorkGroupAppService; private readonly IUserWorkGroupAppService _userWorkGroupAppService;
/// <summary> /// <summary>
@ -42,15 +38,11 @@ public class PurchaseReceiptJobController : AbpController
public PurchaseReceiptJobController( public PurchaseReceiptJobController(
IPurchaseReceiptJobAppService purchaseReceiptJobAppService IPurchaseReceiptJobAppService purchaseReceiptJobAppService
, IUserWorkGroupAppService userWorkGroupAppService , IUserWorkGroupAppService userWorkGroupAppService
, IPurchaseReceiptRequestAppService purchaseReceiptRequestAppService , ISupplierAppService supplierAppService)
, ISupplierAppService supplierAppService
, IFileAppService fileAppService)
{ {
_userWorkGroupAppService = userWorkGroupAppService; _userWorkGroupAppService = userWorkGroupAppService;
_purchaseReceiptJobAppService = purchaseReceiptJobAppService; _purchaseReceiptJobAppService = purchaseReceiptJobAppService;
_purchaseReceiptRequestAppService = purchaseReceiptRequestAppService;
_supplierAppService = supplierAppService; _supplierAppService = supplierAppService;
_fileAppService = fileAppService;
} }
/// <summary> /// <summary>
@ -59,10 +51,9 @@ public class PurchaseReceiptJobController : AbpController
/// <param name="id"></param> /// <param name="id"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("{id}")] [HttpGet("{id}")]
public virtual async Task<ActionResult<PurchaseReceiptJobDTO>> GetAsync(Guid id) public virtual async Task<ActionResult<PurchaseReceiptJobDTO>> GetAsync(Guid id)
{ {
var result = await _purchaseReceiptJobAppService.GetAsync(id).ConfigureAwait(false); var result = await _purchaseReceiptJobAppService.GetNoCacheAsync(id).ConfigureAwait(false);
var supplier = await _supplierAppService.GetByCodeAsync(result.SupplierCode).ConfigureAwait(false); var supplier = await _supplierAppService.GetByCodeAsync(result.SupplierCode).ConfigureAwait(false);
result.SupplierName = supplier.Name; result.SupplierName = supplier.Name;
@ -79,12 +70,13 @@ public class PurchaseReceiptJobController : AbpController
/// <param name="isToday">是否今天</param> /// <param name="isToday">是否今天</param>
/// <returns></returns> /// <returns></returns>
[HttpGet("list")] [HttpGet("list")]
public virtual async Task<PagedResultDto<PurchaseReceiptJobDTO>> GetListAsync(int pageSize, int pageIndex, bool isTimeWindowSorting, bool isToday) public virtual async Task<PagedResultDto<PurchaseReceiptJobDTO>> GetListAsync(int pageSize, int pageIndex,
bool isTimeWindowSorting, bool isToday)
{ {
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -104,8 +96,10 @@ public class PurchaseReceiptJobController : AbpController
if (isToday) //只看当日 if (isToday) //只看当日
{ {
request.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate), Clock.Now.ToString("yyyy-MM-dd"), ">=", "And")); request.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate),
Clock.Now.ToString("yyyy-MM-dd"), ">=", "And"));
} }
if (isTimeWindowSorting) //窗口时间排序 if (isTimeWindowSorting) //窗口时间排序
{ {
request.Sorting = $"{nameof(PurchaseReceiptJobDTO.TimeWindow)} ASC"; request.Sorting = $"{nameof(PurchaseReceiptJobDTO.TimeWindow)} ASC";
@ -131,7 +125,8 @@ public class PurchaseReceiptJobController : AbpController
[HttpPost("list")] [HttpPost("list")]
public virtual async Task<PagedResultDto<PurchaseReceiptJobDTO>> GetListAsync(SfsJobRequestInputBase sfsRequestDTO) public virtual async Task<PagedResultDto<PurchaseReceiptJobDTO>> GetListAsync(SfsJobRequestInputBase sfsRequestDTO)
{ {
var list = await _purchaseReceiptJobAppService.GetPagedListByFilterAsync(sfsRequestDTO, true).ConfigureAwait(false); var list = await _purchaseReceiptJobAppService.GetPagedListByFilterAsync(sfsRequestDTO, true)
.ConfigureAwait(false);
return list; return list;
} }
@ -155,22 +150,27 @@ public class PurchaseReceiptJobController : AbpController
{ {
return new NotFoundObjectResult($"任务属于工作组 {jobDto.WorkGroupCode}"); return new NotFoundObjectResult($"任务属于工作组 {jobDto.WorkGroupCode}");
} }
if (!wlgCodes.Any(r => r == jobDto.WorkGroupCode)) if (!wlgCodes.Any(r => r == jobDto.WorkGroupCode))
{ {
return new NotFoundObjectResult($"任务属于工作组 {jobDto.WorkGroupCode}"); return new NotFoundObjectResult($"任务属于工作组 {jobDto.WorkGroupCode}");
} }
if (jobDto.JobStatus == EnumJobStatus.Doing && jobDto.AcceptUserId != CurrentUser.Id) if (jobDto.JobStatus == EnumJobStatus.Doing && jobDto.AcceptUserId != CurrentUser.Id)
{ {
return new NotFoundObjectResult($"任务正在被 {jobDto.AcceptUserName} 处理"); return new NotFoundObjectResult($"任务正在被 {jobDto.AcceptUserName} 处理");
} }
if (isToday) //只看当日 if (isToday) //只看当日
{ {
if (jobDto.PlanArriveDate.ToString("yyyy-MM-dd") == Clock.Now.ToString("yyyy-MM-dd")) if (jobDto.PlanArriveDate.ToString("yyyy-MM-dd") == Clock.Now.ToString("yyyy-MM-dd"))
{ {
return jobDto; return jobDto;
} }
return new NotFoundObjectResult($"不是当天的收货任务"); return new NotFoundObjectResult($"不是当天的收货任务");
} }
return jobDto; return jobDto;
} }
@ -181,12 +181,13 @@ public class PurchaseReceiptJobController : AbpController
/// <param name="isToday"></param> /// <param name="isToday"></param>
/// <returns></returns> /// <returns></returns>
[HttpGet("list/by-asn")] [HttpGet("list/by-asn")]
public virtual async Task<PagedResultDto<PurchaseReceiptJobDTO>> GetListByAsnNumberAsync(string asnNumber, bool isToday) public virtual async Task<PagedResultDto<PurchaseReceiptJobDTO>> GetListByAsnNumberAsync(string asnNumber,
bool isToday)
{ {
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes); var jsonWlgCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var requestInput = new SfsJobRequestInputBase var requestInput = new SfsJobRequestInputBase
@ -206,9 +207,12 @@ public class PurchaseReceiptJobController : AbpController
}; };
if (isToday) //只看当日 if (isToday) //只看当日
{ {
requestInput.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate), Clock.Now.ToString("yyyy-MM-dd"), ">=", "And")); requestInput.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate),
Clock.Now.ToString("yyyy-MM-dd"), ">=", "And"));
} }
var list = await _purchaseReceiptJobAppService.GetPagedListByFilterAsync(requestInput, true).ConfigureAwait(false);
var list = await _purchaseReceiptJobAppService.GetPagedListByFilterAsync(requestInput, true)
.ConfigureAwait(false);
return list; return list;
} }
@ -222,7 +226,7 @@ public class PurchaseReceiptJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -292,9 +296,11 @@ public class PurchaseReceiptJobController : AbpController
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost("save-detail-inspect/{id}")] [HttpPost("save-detail-inspect/{id}")]
public virtual async Task<PurchaseReceiptJobDetailDTO> SaveDetailAsync(Guid id, PurchaseReceiptJobDetailSaveInput purchaseReceiptJobDetailSaveInput) public virtual async Task<PurchaseReceiptJobDetailDTO> SaveDetailAsync(Guid id,
PurchaseReceiptJobDetailSaveInput purchaseReceiptJobDetailSaveInput)
{ {
return await _purchaseReceiptJobAppService.SaveDetailInspectAsync(id, purchaseReceiptJobDetailSaveInput).ConfigureAwait(false); return await _purchaseReceiptJobAppService.SaveDetailInspectAsync(id, purchaseReceiptJobDetailSaveInput)
.ConfigureAwait(false);
} }
/// <summary> /// <summary>

4
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PurchaseReturnJobController.cs

@ -63,7 +63,7 @@ public class PurchaseReturnJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -132,7 +132,7 @@ public class PurchaseReturnJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

4
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/PutawayJobController.cs

@ -62,7 +62,7 @@ public class PutawayJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase
@ -106,7 +106,7 @@ public class PutawayJobController : AbpController
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes);
List<string> status = new List<string>() { EnumJobStatus.Open.ToString(), EnumJobStatus.Doing.ToString() }; var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var request = new SfsJobRequestInputBase var request = new SfsJobRequestInputBase

13
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/IssueNoteController.cs

@ -2,6 +2,7 @@ using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Pda.Controllers.Stores; namespace Win_in.Sfs.Wms.Pda.Controllers.Stores;
@ -29,9 +30,17 @@ public class IssueNoteController : AbpController
/// 创建发料记录 /// 创建发料记录
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost("{input}")] [HttpPost("")]
public virtual async Task CreateAsync(IssueNoteEditInput input) public virtual async Task CreateAsync([FromBody] IssueNoteEditInput input)
{ {
input.RequestType = EnumMaterialRequestType.Direct_Issue.ToString();
input.Details.ForEach(p =>
{
p.ToLot = string.Empty;
p.ToPackingCode = string.Empty;
});
await _issueNoteAppService.CreateAsync(input).ConfigureAwait(false); await _issueNoteAppService.CreateAsync(input).ConfigureAwait(false);
} }

13
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReceiptRequestController.cs

@ -35,4 +35,17 @@ public class PurchaseReceiptRequestController : AbpController
var result = await _purchaseReceiptRequestAppService.GetByNumberAsync(number).ConfigureAwait(false); var result = await _purchaseReceiptRequestAppService.GetByNumberAsync(number).ConfigureAwait(false);
return Ok(result); return Ok(result);
} }
/// <summary>
/// 根据 物品 箱 获取收货记录
/// </summary>
/// <param name="itemCode"></param>
/// <param name="packingCode"></param>
/// <returns></returns>
[HttpGet("detail-by-item-and-packing")]
public virtual async Task<PurchaseReceiptRequestDetailDTO> GetDetailByItemAndPackingAsync(string itemCode,
string packingCode)
{
return await _purchaseReceiptRequestAppService.GetDetailByItemAndPackingAsync(itemCode, packingCode).ConfigureAwait(false);
}
} }

23
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Stores/PurchaseReturnNoteController.cs

@ -6,6 +6,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Domain.Entities.Auditing;
using Win_in.Sfs.Label.Application.Contracts; using Win_in.Sfs.Label.Application.Contracts;
using Win_in.Sfs.Label.Domain; using Win_in.Sfs.Label.Domain;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
@ -109,33 +110,34 @@ public class PurchaseReturnNoteController : AbpController
{ {
var poNumber = poNumberItem.Key; var poNumber = poNumberItem.Key;
var createInput = new PurchaseReturnNoteEditInput() { Details = new List<PurchaseReturnNoteDetailInput>() }; var returnNoteEditInput = new PurchaseReturnNoteEditInput() { Details = new List<PurchaseReturnNoteDetailInput>() };
createInput.PoNumber = poNumber; returnNoteEditInput.PoNumber = poNumber;
foreach (var poNumberDetail in poNumberItem) foreach (var poNumberDetail in poNumberItem)
{ {
var packingCode = poNumberDetail.PackingCode; var packingCode = poNumberDetail.PackingCode;
await SetFromInventoryLabelAsync(packingCode, createInput).ConfigureAwait(false); await SetFromInventoryLabelAsync(packingCode, returnNoteEditInput).ConfigureAwait(false);
await SetFormPurchaseOrderAsync(poNumber, createInput).ConfigureAwait(false); await SetFormPurchaseOrderAsync(poNumber, returnNoteEditInput).ConfigureAwait(false);
createInput.ReturnType = returnType; returnNoteEditInput.ReturnType = returnType;
createInput.ReturnTime = returnTime; returnNoteEditInput.ReturnTime = returnTime;
createInput.ReturnReason = returnReason; returnNoteEditInput.ReturnReason = returnReason;
var createInputDetail = new PurchaseReturnNoteDetailInput(); var createInputDetail = new PurchaseReturnNoteDetailInput();
createInputDetail.PoNumber = poNumber; createInputDetail.PoNumber = poNumber;
createInputDetail.Reason = returnReason; createInputDetail.Reason = returnReason;
//createInputDetail.WarehouseCode= poNumberItem.
await SetDetailByBalanceAsync(packingCode, createInputDetail).ConfigureAwait(false); await SetDetailByBalanceAsync(packingCode, createInputDetail).ConfigureAwait(false);
createInput.Details.Add(createInputDetail); returnNoteEditInput.Details.Add(createInputDetail);
} }
createInputs.Add(createInput); createInputs.Add(returnNoteEditInput);
} }
return createInputs; return createInputs;
@ -149,6 +151,9 @@ public class PurchaseReturnNoteController : AbpController
createInputDetail.LocationCode = balance.LocationCode; createInputDetail.LocationCode = balance.LocationCode;
createInputDetail.LocationErpCode = balance.LocationErpCode; createInputDetail.LocationErpCode = balance.LocationErpCode;
createInputDetail.LocationArea = balance.LocationArea;
createInputDetail.LocationGroup= balance.LocationGroup;
createInputDetail.WarehouseCode= balance.WarehouseCode;
createInputDetail.PackingCode = balance.PackingCode; createInputDetail.PackingCode = balance.PackingCode;
createInputDetail.ContainerCode = balance.ContainerCode; createInputDetail.ContainerCode = balance.ContainerCode;
createInputDetail.Uom = balance.Uom; createInputDetail.Uom = balance.Uom;

1
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application.Contracts/ExpectOuts/IExpectOutAppService.cs

@ -13,4 +13,5 @@ public interface IExpectOutAppService
Task<List<ExpectOutDTO>> GetListByJobAsync(string jobNumber); Task<List<ExpectOutDTO>> GetListByJobAsync(string jobNumber);
Task<List<ExpectOutDTO>> GetListByItemAsync(string itemCode); Task<List<ExpectOutDTO>> GetListByItemAsync(string itemCode);
Task<List<ExpectOutDTO>> GetListByLocationAsync(string locationCode); Task<List<ExpectOutDTO>> GetListByLocationAsync(string locationCode);
Task<List<ExpectOutDTO>> GetListByPackingCodeAsync(string packingCode);
} }

8
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/ExpectOuts/ExpectOutAppService.cs

@ -146,4 +146,12 @@ public class ExpectOutAppService
//TODO //TODO
throw new UserFriendlyException(""); throw new UserFriendlyException("");
} }
[HttpGet("list/by-packing/{packingCode}")]
public virtual async Task<List<ExpectOutDTO>> GetListByPackingCodeAsync(string packingCode)
{
var entitys = await _repository.GetListAsync(p => p.PackingCode == packingCode).ConfigureAwait(false);
return ObjectMapper.Map<List<ExpectOut>, List<ExpectOutDTO>>(entitys);
}
} }

7
be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelDto.cs

@ -214,4 +214,11 @@ public class InventoryLabelDto : SfsBasicDTOBase
/// </summary> /// </summary>
[Display(Name = "供应商零件名")] [Display(Name = "供应商零件名")]
public string SupplierItemName { get; set; } public string SupplierItemName { get; set; }
/// <summary>
/// 计划到货时间
/// </summary>
[Display(Name = "要求到货时间")]
[Required(ErrorMessage = "{0}是必填项")]
public DateTime PlanArriveDate { get; set; }
} }

7
be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelEditInput.cs

@ -221,5 +221,12 @@ public class InventoryLabelEditInput : SfsLabelCreateOrUpdateInputBase
[Required(ErrorMessage = "{0}是必填项")] [Required(ErrorMessage = "{0}是必填项")]
public EnumLabelType LabelType { get; set; } public EnumLabelType LabelType { get; set; }
/// <summary>
/// 要求到货时间
/// </summary>
[Display(Name = "要求到货时间")]
[Required(ErrorMessage = "{0}是必填项")]
public DateTime PlanArriveDate { get; set; }
#endregion #endregion
} }

7
be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelImportInput.cs

@ -74,6 +74,13 @@ public class InventoryLabelImportInput : SfsImportInputBase
[Display(Name = "规格")] [Display(Name = "规格")]
public string Specifications { get; set; } public string Specifications { get; set; }
/// <summary>
/// 要求到货时间
/// </summary>
[Display(Name = "要求到货时间")]
[Required(ErrorMessage = "{0}是必填项")]
public DateTime PlanArriveDate { get; set; }
#region PurchaseInfo #region PurchaseInfo
/// <summary> /// <summary>

7
be/Modules/Label/src/Win_in.Sfs.Label.Application.Contracts/InventoryLabels/InventoryLabelWithoutCodeCreateInput.cs

@ -200,4 +200,11 @@ public class InventoryLabelWithoutCodeCreateInput
[Display(Name = "标签类型")] [Display(Name = "标签类型")]
[Required(ErrorMessage = "{0}是必填项")] [Required(ErrorMessage = "{0}是必填项")]
public EnumLabelType LabelType { get; set; } public EnumLabelType LabelType { get; set; }
/// <summary>
/// 要求到货时间
/// </summary>
[Display(Name = "要求到货时间")]
[Required(ErrorMessage = "{0}是必填项")]
public DateTime PlanArriveDate { get; set; }
} }

39
be/Modules/Label/src/Win_in.Sfs.Label.Application/Bases/SfsLabelAppServiceWithCodeBase.cs

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -38,10 +39,12 @@ public class SfsLabelAppServiceWithCodeBase<TEntity, TEntityDto, TRequestDTO, TC
[HttpGet("by-code/{code}")] [HttpGet("by-code/{code}")]
public virtual async Task<TEntityDto> GetByCodeAsync(string code) public virtual async Task<TEntityDto> GetByCodeAsync(string code)
{ {
var dto = await Cache.GetOrAddItemAsync( // var dto = await Cache.GetOrAddItemAsync(
$"{typeof(TEntityDto).Name}:{code}".ToString(), // $"{typeof(TEntityDto).Name}:{code}".ToString(),
async () => await GetFromRepositoryAsync(code).ConfigureAwait(false), // async () => await GetFromRepositoryAsync(code).ConfigureAwait(false),
SfsCacheConst.SeveralMinutes).ConfigureAwait(false); // SfsCacheConst.SeveralMinutes).ConfigureAwait(false);
var dto = await GetFromRepositoryAsync(code).ConfigureAwait(false);
return dto; return dto;
} }
@ -50,18 +53,22 @@ public class SfsLabelAppServiceWithCodeBase<TEntity, TEntityDto, TRequestDTO, TC
[HttpPost("by-codes")] [HttpPost("by-codes")]
public virtual async Task<List<TEntityDto>> GetByCodesAsync(IEnumerable<string> codes) public virtual async Task<List<TEntityDto>> GetByCodesAsync(IEnumerable<string> codes)
{ {
var dtoList = new List<TEntityDto>(); // var dtoList = new List<TEntityDto>();
foreach (var code in codes) // foreach (var code in codes)
{ // {
var dto = await Cache.GetOrAddItemAsync( // var dto = await Cache.GetOrAddItemAsync(
$"{typeof(TEntityDto).Name}:{code}".ToString(), // $"{typeof(TEntityDto).Name}:{code}".ToString(),
async () => await GetFromRepositoryAsync(code).ConfigureAwait(false), // async () => await GetFromRepositoryAsync(code).ConfigureAwait(false),
SfsCacheConst.SeveralMinutes).ConfigureAwait(false); // SfsCacheConst.SeveralMinutes).ConfigureAwait(false);
if (dto != null) // if (dto != null)
{ // {
dtoList.Add(dto); // dtoList.Add(dto);
} // }
} // }
// return dtoList;
var entities = await _repository.GetListAsync(p => codes.Contains(p.Code)).ConfigureAwait(false);
var dtoList = ObjectMapper.Map<List<TEntity>, List<TEntityDto>>(entities);
return dtoList; return dtoList;
} }

7
be/Modules/Label/src/Win_in.Sfs.Label.Domain/InventoryLabels/InventoryLabel.cs

@ -166,4 +166,11 @@ public class InventoryLabel : SfsAggregateRootBase
/// </summary> /// </summary>
[Display(Name = "供应商零件名")] [Display(Name = "供应商零件名")]
public string SupplierItemName { get; set; } public string SupplierItemName { get; set; }
/// <summary>
/// 要求到货时间
/// </summary>
[Display(Name = "要求到货时间")]
[Required(ErrorMessage = "{0}是必填项")]
public DateTime PlanArriveDate { get; set; }
} }

8
be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageApplicationAutoMapperProfile.cs

@ -2,7 +2,7 @@ using AutoMapper;
namespace Win_in.Sfs.Message.Application; namespace Win_in.Sfs.Message.Application;
public class MessageApplicationAutoMapperProfile : Profile public partial class MessageApplicationAutoMapperProfile : Profile
{ {
public MessageApplicationAutoMapperProfile() public MessageApplicationAutoMapperProfile()
{ {
@ -10,7 +10,9 @@ public class MessageApplicationAutoMapperProfile : Profile
* Alternatively, you can split your mapping configurations * Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */ * into multiple profile classes for a better organization. */
new MessageTypeAutoMapperProfile().MessageTypeAutoMapperProfileConfig(); UserNotifyAutoMapperProfile();
new NotifyMessageAutoMapperProfile().NotifyMessageAutoMapperProfileConfig(); MessageTypeAutoMapperProfile();
MessageTypeSubscribesAutoMapperProfile();
NotifyMessageAutoMapperProfileConfig();
} }
} }

12
be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageTypeSubscribes/MessageTypeSubscribeAutoMapperProfile.cs

@ -5,12 +5,20 @@ using Win_in.Sfs.Message.Domain;
namespace Win_in.Sfs.Message.Application; namespace Win_in.Sfs.Message.Application;
public class MessageTypeSubscribeAutoMapperProfile : Profile public partial class MessageApplicationAutoMapperProfile : Profile
{ {
public MessageTypeSubscribeAutoMapperProfile() public void MessageTypeSubscribesAutoMapperProfile()
{ {
CreateMap<MessageTypeSubscribe, MessageTypeSubscribeDto>() CreateMap<MessageTypeSubscribe, MessageTypeSubscribeDto>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<MessageTypeSubscribeEditInput, MessageTypeSubscribe>()
.IgnoreAuditedObjectProperties()
.Ignore(x=>x.Id)
.Ignore(x => x.ConcurrencyStamp)
.Ignore(x => x.TenantId)
.Ignore(x => x.ExtraProperties)
;
} }
} }

4
be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageTypes/MessageTypeAutoMapperProfile.cs

@ -5,9 +5,9 @@ using Win_in.Sfs.Message.Domain;
namespace Win_in.Sfs.Message.Application; namespace Win_in.Sfs.Message.Application;
public class MessageTypeAutoMapperProfile : Profile public partial class MessageApplicationAutoMapperProfile : Profile
{ {
public void MessageTypeAutoMapperProfileConfig() public void MessageTypeAutoMapperProfile()
{ {
CreateMap<MessageType, MessageTypeDto>() CreateMap<MessageType, MessageTypeDto>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()

3
be/Modules/Message/src/Win_in.Sfs.Message.Application/NotifyMessages/NotifyMessageAutoMapperProfile.cs

@ -6,7 +6,7 @@ using Win_in.Sfs.Shared.Event;
namespace Win_in.Sfs.Message.Application; namespace Win_in.Sfs.Message.Application;
public class NotifyMessageAutoMapperProfile : Profile public partial class MessageApplicationAutoMapperProfile : Profile
{ {
public void NotifyMessageAutoMapperProfileConfig() public void NotifyMessageAutoMapperProfileConfig()
{ {
@ -30,6 +30,7 @@ public class NotifyMessageAutoMapperProfile : Profile
.Ignore(x => x.LastModifierId) .Ignore(x => x.LastModifierId)
.Ignore(x => x.CreationTime) .Ignore(x => x.CreationTime)
.Ignore(x => x.CreatorId) .Ignore(x => x.CreatorId)
.Ignore(x=>x.Id)
; ;
} }
} }

4
be/Modules/Message/src/Win_in.Sfs.Message.Application/UserNotifyMessages/UserNotifyMessageAutoMapperProfile.cs

@ -6,9 +6,9 @@ using Win_in.Sfs.Message.Domain;
namespace Win_in.Sfs.Message.Application; namespace Win_in.Sfs.Message.Application;
public class UserNotifyMessageAutoMapperProfile : Profile public partial class MessageApplicationAutoMapperProfile : Profile
{ {
public UserNotifyMessageAutoMapperProfile() public void UserNotifyAutoMapperProfile()
{ {
CreateMap<UserNotifyMessage, UserNotifyMessageDto>() CreateMap<UserNotifyMessage, UserNotifyMessageDto>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()

1
be/Modules/Shared/src/Win_in.Sfs.Shared.Application.Contracts/ISfsCrudWithDetailsAppService.cs

@ -1,6 +1,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
namespace Win_in.Sfs.Shared.Application.Contracts; namespace Win_in.Sfs.Shared.Application.Contracts;

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

@ -188,10 +188,11 @@ public abstract class SfsCrudWithDetailsAppServiceBase<TEntity, TEntityDto, TReq
[HttpGet("{id}")] [HttpGet("{id}")]
public override async Task<TEntityDto> GetAsync(Guid id) public override async Task<TEntityDto> GetAsync(Guid id)
{ {
var dto = await Cache.GetOrAddItemAsync( //var dto = await Cache.GetOrAddItemAsync(
id.ToString(), // id.ToString(),
async () => await base.GetAsync(id).ConfigureAwait(false), // async () => await base.GetAsync(id).ConfigureAwait(false),
SfsCacheConst.SeveralMinutes).ConfigureAwait(false); // SfsCacheConst.SeveralMinutes).ConfigureAwait(false);
var dto=await base.GetAsync(id).ConfigureAwait(false);
return dto; return dto;
} }

6
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Inventory/EnumTransSubType.cs

@ -85,6 +85,12 @@ public enum EnumTransSubType
[Display(Name = "人工报废")] [Display(Name = "人工报废")]
Scrap_Manual = 3601, Scrap_Manual = 3601,
/// <summary>
/// 完工报废
/// </summary>
[Display(Name = "完工报废")]
Scrap_Product = 3604,
/// <summary> /// <summary>
/// 线边调整 /// 线边调整
/// </summary> /// </summary>

3
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumMaterialRequestType.cs

@ -26,4 +26,7 @@ public enum EnumMaterialRequestType
///// </summary> ///// </summary>
//[Display(Name = "安全库存拉动")] //[Display(Name = "安全库存拉动")]
//Issue_SfaetyStock = 1504, //Issue_SfaetyStock = 1504,
[Display(Name = "直接发料")]
Direct_Issue = 1505
} }

4
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumProductReceiptType.cs

@ -5,9 +5,9 @@ namespace Win_in.Sfs.Shared.Domain.Shared;
public enum EnumProductReceiptType public enum EnumProductReceiptType
{ {
/// <summary> /// <summary>
/// 人工缴库 /// 人工缴库(完工缴库)
/// </summary> /// </summary>
[Display(Name = "人工缴库")] [Display(Name = "人工缴库(完工缴库)")]
ProductReceipt_Manual = 2101, ProductReceipt_Manual = 2101,
/// <summary> /// <summary>

10
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Store/EnumScrapType.cs

@ -5,9 +5,9 @@ namespace Win_in.Sfs.Shared.Domain.Shared;
public enum EnumScrapType public enum EnumScrapType
{ {
/// <summary> /// <summary>
/// 人工报废 /// 人工报废(原料报废)
/// </summary> /// </summary>
[Display(Name = "人工报废")] [Display(Name = "人工报废(原料报废)")]
Scrap_Manual = 3601, Scrap_Manual = 3601,
/// <summary> /// <summary>
@ -15,4 +15,10 @@ public enum EnumScrapType
/// </summary> /// </summary>
[Display(Name = "线边报废")] [Display(Name = "线边报废")]
Scrap_WIP = 3603, Scrap_WIP = 3603,
/// <summary>
/// 完工报废
/// </summary>
[Display(Name = "完工报废")]
Scrap_Product = 3604,
} }

1
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain/Repositories/ISfsBulkRepositoryBase.cs

@ -43,4 +43,5 @@ public interface ISfsBulkRepositoryBase<TEntity>
/// <returns></returns> /// <returns></returns>
Task BulkInsertAsync<TDetail>(IList<TDetail> details, BulkConfig bulkConfig = null, Action<decimal> progress = null, Type type = null, CancellationToken cancellationToken = default(CancellationToken)) Task BulkInsertAsync<TDetail>(IList<TDetail> details, BulkConfig bulkConfig = null, Action<decimal> progress = null, Type type = null, CancellationToken cancellationToken = default(CancellationToken))
where TDetail : class, new(); where TDetail : class, new();
Task BulkUpdateAsync(IList<TEntity> entities, BulkConfig bulkConfig = null, Action<decimal> progress = null, Type type = null, CancellationToken cancellationToken = default);
} }

18
be/Modules/Shared/src/Win_in.Sfs.Shared.EntityFrameworkCore/SfsEfCoreRepositoryBase.cs

@ -76,4 +76,22 @@ public abstract class SfsEfCoreRepositoryBase<TDbContext, TEntity>
await context.BulkDeleteAsync(entities, bulkConfig, progress, type, cancellationToken).ConfigureAwait(false); await context.BulkDeleteAsync(entities, bulkConfig, progress, type, cancellationToken).ConfigureAwait(false);
} }
} }
/// <summary>
/// 批量更新数据
/// </summary>
/// <param name="entities"></param>
/// <param name="bulkConfig"></param>
/// <param name="progress"></param>
/// <param name="type"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
public virtual async Task BulkUpdateAsync(IList<TEntity> entities, BulkConfig bulkConfig = null, Action<decimal> progress = null, Type type = null, CancellationToken cancellationToken = default(CancellationToken))
{
var context = (await GetDbContextAsync().ConfigureAwait(false)) as DbContext;
if (entities != null && entities.Count > 0)
{
await context.BulkUpdateAsync(entities, bulkConfig, progress, type, cancellationToken).ConfigureAwait(false);
}
}
} }

8
be/Modules/Shared/src/Win_in.Sfs.Shared.Host/HostBuilderExtensions.cs

@ -45,6 +45,7 @@ public static class HostBuilderExtensions
AddJsonByUrl(cb, $"{configUrl}appsettings.{builder.Environment.EnvironmentName}.json"); AddJsonByUrl(cb, $"{configUrl}appsettings.{builder.Environment.EnvironmentName}.json");
if (builder.Environment.IsDevelopment()) if (builder.Environment.IsDevelopment())
{ {
cb.AddJsonFile(Path.Combine(Directory.GetCurrentDirectory(), "appsettings.json"));
cb.AddJsonFile(Path.Combine(Directory.GetCurrentDirectory(), $"appsettings.{builder.Environment.EnvironmentName}.json")); cb.AddJsonFile(Path.Combine(Directory.GetCurrentDirectory(), $"appsettings.{builder.Environment.EnvironmentName}.json"));
} }
}); });
@ -79,7 +80,14 @@ public static class HostBuilderExtensions
private static void AddJsonByUrl(IConfigurationBuilder configurationBuilder, string url) private static void AddJsonByUrl(IConfigurationBuilder configurationBuilder, string url)
{ {
Console.WriteLine($"load config form:{url}"); Console.WriteLine($"load config form:{url}");
try
{
var stream = new HttpClient().GetStreamAsync(url).Result; var stream = new HttpClient().GetStreamAsync(url).Result;
configurationBuilder.AddJsonStream(stream); configurationBuilder.AddJsonStream(stream);
} }
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
} }

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/DTOs/SfsJobRecommendFromDetailDTOBase.cs

@ -220,10 +220,13 @@ public abstract class SfsJobRecommendFromDetailDTOBase
HandledProduceDate = RecommendProduceDate; HandledProduceDate = RecommendProduceDate;
HandledExpireDate = RecommendExpireDate; HandledExpireDate = RecommendExpireDate;
HandledLot = RecommendLot; HandledLot = RecommendLot;
HandledQty = RecommendQty;
HandledFromLocationCode = RecommendFromLocationCode; HandledFromLocationCode = RecommendFromLocationCode;
HandledFromLocationErpCode = RecommendFromLocationErpCode; HandledFromLocationErpCode = RecommendFromLocationErpCode;
HandledFromLocationArea= RecommendFromLocationArea;
HandledQty = RecommendQty; HandledFromWarehouseCode= RecommendFromWarehouseCode;
HandledFromLocationGroup = RecommendFromLocationGroup;
} }
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/DTOs/SfsStoreRequestDTOBase.cs

@ -3,7 +3,7 @@ using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class SfsStoreRequestDTOBase<TDetailDTO> : SfsStoreDTOBase<TDetailDTO> public abstract class SfsStoreRequestDTOBase<TDetailDTO> : SfsStoreDTOBase<TDetailDTO>
{ {
/// <summary> /// <summary>
/// 自动提交审批 /// 自动提交审批

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreCreateOrUpdateInputBase.cs

@ -5,7 +5,7 @@ using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class SfsStoreCreateOrUpdateInputBase : SfsCreateOrUpdateInputBase public abstract class SfsStoreCreateOrUpdateInputBase : SfsCreateOrUpdateInputBase
{ {
/// <summary> /// <summary>
/// 操作员 /// 操作员

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

@ -5,7 +5,7 @@ using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class SfsStoreDetailWithFromToInputBase public abstract class SfsStoreDetailWithFromToInputBase
: SfsStoreDetailWithQtyInputBase : SfsStoreDetailWithQtyInputBase
, IHasFromToPacking , IHasFromToPacking
, IHasFromToLot , IHasFromToLot

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreImportInputBase.cs

@ -3,7 +3,7 @@ using Win_in.Sfs.Shared.Application.Contracts;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class SfsStoreImportInputBase : SfsImportInputBase public abstract class SfsStoreImportInputBase : SfsImportInputBase
{ {
//[Display(Name = "单号")] //[Display(Name = "单号")]

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreRecommendFromDetailWithFromToInputBase.cs

@ -4,7 +4,7 @@ using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class SfsStoreRecommendFromDetailWithFromToInputBase : SfsStoreDetailWithFromToInputBase, IHasRecommendAndHandledFrom public abstract class SfsStoreRecommendFromDetailWithFromToInputBase : SfsStoreDetailWithFromToInputBase, IHasRecommendAndHandledFrom
{ {
#region IHasRecommendFrom #region IHasRecommendFrom
/// <summary> /// <summary>

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreRecommendToDetailWithFromToInputBase.cs

@ -4,7 +4,7 @@ using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class SfsStoreRecommendToDetailWithFromToInputBase : SfsStoreDetailWithFromToInputBase, IHasRecommendAndHandledTo public abstract class SfsStoreRecommendToDetailWithFromToInputBase : SfsStoreDetailWithFromToInputBase, IHasRecommendAndHandledTo
{ {
#region IHasRecommendTo #region IHasRecommendTo
/// <summary> /// <summary>

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Bases/Inputs/SfsStoreRequestCreateOrUpdateInputBase.cs

@ -2,7 +2,7 @@ using System.ComponentModel.DataAnnotations;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class SfsStoreRequestCreateOrUpdateInputBase : SfsStoreCreateOrUpdateInputBase public abstract class SfsStoreRequestCreateOrUpdateInputBase : SfsStoreCreateOrUpdateInputBase
{ {
/// <summary> /// <summary>
/// 自动提交审批 /// 自动提交审批

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/PurchaseReceiptJobs/IPurchaseReceiptJobAppService.cs

@ -40,4 +40,12 @@ public interface IPurchaseReceiptJobAppService
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
Task<List<PurchaseReceiptJobDetailDTO>> SetInspectWithNotInspectAsync(Guid id); Task<List<PurchaseReceiptJobDetailDTO>> SetInspectWithNotInspectAsync(Guid id);
/// <summary>
/// 按Id获取实体 不走缓存
/// </summary>
/// <param name="id">实体Id</param>
/// <param name="noCache"></param>
/// <returns></returns>
Task<PurchaseReceiptJobDTO> GetNoCacheAsync(Guid id);
} }

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/DTOs/DeliverNoteDTO.cs

@ -48,6 +48,13 @@ public class DeliverNoteDTO : SfsStoreDTOBase<DeliverNoteDetailDTO>
[Display(Name = "发货申请单号")] [Display(Name = "发货申请单号")]
public string DeliverRequestNumber { get; set; } public string DeliverRequestNumber { get; set; }
/// <summary>
/// 打印次数
/// </summary>
/// <returns></returns>
[Display(Name = "打印次数")]
public int CountPrint { get; set; }
/// <summary> /// <summary>
/// 发货类型 /// 发货类型
/// </summary> /// </summary>

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/DeliverNotes/Inputs/DeliverNoteEditInput.cs

@ -63,5 +63,13 @@ public class DeliverNoteEditInput : SfsStoreCreateOrUpdateInputBase
/// </summary> /// </summary>
[Display(Name = "明细列表")] [Display(Name = "明细列表")]
public List<DeliverNoteDetailInput> Details { get; set; } public List<DeliverNoteDetailInput> Details { get; set; }
/// <summary>
/// 打印次数
/// </summary>
/// <returns></returns>
[Display(Name = "打印次数")]
public int CountPrint { get; set; }
#endregion #endregion
} }

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ProductReceiptRequests/DTOs/ProductReceiptRequestDTO.cs

@ -1,6 +1,7 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@ -54,6 +55,6 @@ public class ProductReceiptRequestDTO : SfsStoreRequestDTOBase<ProductReceiptReq
/// 类型 /// 类型
/// </summary> /// </summary>
[Display(Name = "类型")] [Display(Name = "类型")]
public string Type { get; set; } public EnumProductReceiptType Type { get; set; }
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ProductReceiptRequests/Inputs/ProductReceiptRequestEditInput.cs

@ -70,7 +70,7 @@ public class ProductReceiptRequestEditInput : SfsStoreRequestCreateOrUpdateInput
/// 类型 /// 类型
/// </summary> /// </summary>
[Display(Name = "类型")] [Display(Name = "类型")]
public string Type { get; set; } public string EnumProductReceiptType { get; set; }
/// <summary> /// <summary>
/// 明细列表 /// 明细列表

6
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ProductionReturnRequests/Inputs/ProductionReturnRequestDetailInput.cs

@ -0,0 +1,6 @@
namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class ProductionReturnRequestDetailInput : SfsStoreDetailWithFromToInputBase
{
}

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ProductionReturnRequests/Inputs/ProductionReturnRequestEditInput.cs

@ -24,6 +24,6 @@ public class ProductionReturnRequestEditInput : SfsStoreRequestCreateOrUpdateInp
/// 明细列表 /// 明细列表
/// </summary> /// </summary>
[Display(Name = "明细列表")] [Display(Name = "明细列表")]
public List<SfsStoreDetailWithFromToInputBase> Details { get; set; } = new List<SfsStoreDetailWithFromToInputBase>(); public List<ProductionReturnRequestDetailInput> Details { get; set; } = new List<ProductionReturnRequestDetailInput>();
#endregion #endregion
} }

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

@ -20,4 +20,13 @@ public interface IPurchaseReceiptRequestAppService
/// <param name="inputs"></param> /// <param name="inputs"></param>
/// <returns></returns> /// <returns></returns>
Task<List<PurchaseReceiptRequestDTO>> CreateManyAsync(List<PurchaseReceiptRequestEditInput> inputs); Task<List<PurchaseReceiptRequestDTO>> CreateManyAsync(List<PurchaseReceiptRequestEditInput> inputs);
/// <summary>
/// 【获取】【收货记录详情】根据 物品 箱码
/// </summary>
/// <param name="itemCode"></param>
/// <param name="packingCode"></param>
/// <returns></returns>
Task<PurchaseReceiptRequestDetailDTO> GetDetailByItemAndPackingAsync(string itemCode,
string packingCode);
} }

15
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/ScrapRequests/Inputs/ScrapRequestImportInput.cs

@ -1,4 +1,6 @@
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using DocumentFormat.OpenXml.Wordprocessing;
using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
@ -7,11 +9,16 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class ScrapRequestImportInput : SfsStoreImportInputBase public class ScrapRequestImportInput : SfsStoreImportInputBase
{ {
/// <summary> /// <summary>
/// 类型 /// 报废类型
/// </summary> /// </summary>
[Display(Name = "类型")] [Display(Name = "报废类型")]
[Required] [Required(ErrorMessage = "{0}是必填项")]
public EnumScrapType Type { get; set; } [ImporterHeader(Name = "报废类型")]
[ExporterHeader(DisplayName = "报废类型")]
[ValueMapping("线边报废", EnumTransSubType.Scrap_WIP)]
[ValueMapping("原料报废", EnumTransSubType.Scrap_Manual)]
[ValueMapping("完工报废", EnumTransSubType.Scrap_Product)]
public string Type { get; set; }
/// <summary> /// <summary>
/// 物料代码 /// 物料代码

39
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Bases/SfsJobWithCodeAppServiceBase.cs

@ -1,5 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions; using System.Linq.Expressions;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -37,10 +38,12 @@ public abstract class SfsJobWithCodeAppServiceBase<TEntity, TEntityDto, TRequest
[HttpGet("by-code/{code}")] [HttpGet("by-code/{code}")]
public virtual async Task<TEntityDto> GetByCodeAsync(string code) public virtual async Task<TEntityDto> GetByCodeAsync(string code)
{ {
var dto = await Cache.GetOrAddItemAsync( // var dto = await Cache.GetOrAddItemAsync(
$"{typeof(TEntityDto).Name}:{code}".ToString(), // $"{typeof(TEntityDto).Name}:{code}".ToString(),
async () => await GetFromRepositoryAsync(code).ConfigureAwait(false), // async () => await GetFromRepositoryAsync(code).ConfigureAwait(false),
SfsCacheConst.SeveralMinutes).ConfigureAwait(false); // SfsCacheConst.SeveralMinutes).ConfigureAwait(false);
var dto = await GetFromRepositoryAsync(code).ConfigureAwait(false);
return dto; return dto;
@ -51,18 +54,22 @@ public abstract class SfsJobWithCodeAppServiceBase<TEntity, TEntityDto, TRequest
public virtual async Task<List<TEntityDto>> GetByCodesAsync(IEnumerable<string> codes) public virtual async Task<List<TEntityDto>> GetByCodesAsync(IEnumerable<string> codes)
{ {
var dtoList = new List<TEntityDto>(); // var dtoList = new List<TEntityDto>();
foreach (var code in codes) // foreach (var code in codes)
{ // {
var dto = await Cache.GetOrAddItemAsync( // var dto = await Cache.GetOrAddItemAsync(
$"{typeof(TEntityDto).Name}:{code}".ToString(), // $"{typeof(TEntityDto).Name}:{code}".ToString(),
async () => await GetFromRepositoryAsync(code).ConfigureAwait(false), // async () => await GetFromRepositoryAsync(code).ConfigureAwait(false),
SfsCacheConst.SeveralMinutes).ConfigureAwait(false); // SfsCacheConst.SeveralMinutes).ConfigureAwait(false);
if (dto != null) // if (dto != null)
{ // {
dtoList.Add(dto); // dtoList.Add(dto);
} // }
} // }
// return dtoList;
var entities = await _repository.GetListAsync(p => codes.Contains(p.Code)).ConfigureAwait(false);
var dtoList = ObjectMapper.Map<List<TEntity>, List<TEntityDto>>(entities);
return dtoList; return dtoList;
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/DeliverJobs/DeliverJobAutoMapperProfile.cs

@ -18,6 +18,8 @@ public partial class StoreApplicationAutoMapperProfile : Profile
CreateMap<DeliverJobDetailDTO, DeliverJobDetail>() CreateMap<DeliverJobDetailDTO, DeliverJobDetail>()
.IgnoreAuditedObjectProperties(); .IgnoreAuditedObjectProperties();
CreateMap<DeliverJobEditInput, DeliverJob>();
CreateMap<DeliverJobDetailInput, DeliverJobDetail>() CreateMap<DeliverJobDetailInput, DeliverJobDetail>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()
.Ignore(x => x.MasterID) .Ignore(x => x.MasterID)

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAppService.cs

@ -4,6 +4,7 @@ using System.Text.Json;
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 Volo.Abp.ObjectMapping;
using Win_in.Sfs.FileStorage.Application.Contracts; using Win_in.Sfs.FileStorage.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain;

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ProductionReturnJobs/ProductionReturnJobAutoMapperProfile.cs

@ -16,6 +16,8 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()
; ;
CreateMap<ProductionReturnJobEditInput, ProductionReturnJob>();
CreateMap<ProductionReturnJobDetailInput, ProductionReturnJobDetail>() CreateMap<ProductionReturnJobDetailInput, ProductionReturnJobDetail>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()
.Ignore(x => x.MasterID) .Ignore(x => x.MasterID)

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save