wanggang 2 years ago
parent
commit
7e9164e567
  1. 12
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json
  2. 13
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/appsettings.json
  3. 16
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/ScontrolWriter.cs
  4. 3
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/TyrpOutgoingBackgroundWorker.cs
  5. 15
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/Outgoing/WmsoutmWriter.cs
  6. 18
      be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.TyrpAgent/appsettings.json
  7. 1
      be/DataExchange/Iac/Win_in.Sfs.Wms.DataExchange.Application.Iac.Mes/Mes/MesProductL7PartsNoteAutoMapperProfile.cs
  8. 2
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs
  9. 14
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json
  10. 1
      be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application/OutgoingFromWms/OutgoingFromWmsAutoMapperProfile.cs
  11. 1
      be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Departments/DepartmentAutoMapperProfile.cs
  12. 13
      be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs
  13. 19
      be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/scripts/db.Microsoft.EntityFrameworkCore.SqlServer.StoreDbContext.sql
  14. 11
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/BaseDatas/DictController.cs
  15. 14
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Jobs/JobController.cs
  16. 2
      be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Dicts/DictAutoMapperProfile.cs
  17. 1
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs
  18. 3
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Containers/ContainerAutoMapperProfile.cs
  19. 15
      be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Transactions/TransactionManager.cs
  20. 3
      be/Modules/Label/src/Win_in.Sfs.Label.Application/CountLabels/CountLabelAutoMapperProfile.cs
  21. 3
      be/Modules/Label/src/Win_in.Sfs.Label.Application/PalletCode/PalletCodeAutoMapperProfile.cs
  22. 1
      be/Modules/Label/src/Win_in.Sfs.Label.Application/PalletLabels/PalletLabelAutoMapperProfile.cs
  23. 1
      be/Modules/Label/src/Win_in.Sfs.Label.Application/SaleLabels/SaleLabelAutoMapperProfile.cs
  24. 3
      be/Modules/Label/src/Win_in.Sfs.Label.Application/SerialCode/SerialCodeAutoMapperProfile.cs
  25. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageTypeSubscribes/MessageTypeSubscribeAutoMapperProfile.cs
  26. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageTypes/MessageTypeAutoMapperProfile.cs
  27. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/NotifyMessages/NotifyMessageAutoMapperProfile.cs
  28. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/PrivateMessages/PrivateMessageAutoMapperProfile.cs
  29. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/UserNotifyMessages/UserNotifyMessageAutoMapperProfile.cs
  30. 1
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application/CachingExtensions.cs
  31. 8
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
  32. 9
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Job/EnumJobStatus.cs
  33. 3
      be/Modules/Shared/src/Win_in.Sfs.Shared.Domain/Entities/SfsMasterAggregateRootBase.cs
  34. 3
      be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs
  35. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IIssueJobAppService.cs
  36. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/DTOs/UnplannedIssueJobDetailDTO.cs
  37. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/Inputs/UnplannedIssueJobDetailInput.cs
  38. 32
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/DTOs/UnplannedReceiptJobDetailDTO.cs
  39. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/Inputs/UnplannedReceiptJobDetailInput.cs
  40. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/UnplannedIssueNotes/DTOs/UnplannedIssueNoteDetailDTO.cs
  41. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/UnplannedIssueNotes/Inputs/UnplannedIssueNoteDetailInput.cs
  42. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/UnplannedReceiptNotes/DTOs/UnplannedReceiptNoteDetailDTO.cs
  43. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/UnplannedReceiptNotes/Inputs/UnplannedReceiptNoteDetailInput.cs
  44. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Orders/PurchaseOrders/IPurchaseOrderAppService.cs
  45. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs
  46. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs
  47. 24
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/DTOs/UnplannedReceiptRequestDetailDTO.cs
  48. 18
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/Inputs/UnplannedReceiptRequestDetailInput.cs
  49. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Bases/SfsJobAppServiceBase.cs
  50. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/StoreApplicationAutoMapperProfile.cs
  51. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CheckJobs/CheckJobAutoMapperProfile.cs
  52. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAutoMapperProfile.cs
  53. 4
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/DeliverJobs/DeliverJobAutoMapperProfile.cs
  54. 5
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAutoMapperProfile.cs
  55. 8
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs
  56. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAutoMapperProfile.cs
  57. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/JisDeliverJobs/JisDeliverJobAutoMapperProfile.cs
  58. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ProductReceiveJobs/ProductReceiveJobAutoMapperProfile.cs
  59. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ProductionReturnJobs/ProductionReturnJobAutoMapperProfile.cs
  60. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAutoMapperProfile.cs
  61. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReturnJobs/PurchaseReturnJobAutoMapperProfile.cs
  62. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAutoMapperProfile.cs
  63. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAutoMapperProfile.cs
  64. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ContainerBindNotes/ContainerBindNoteAutoMapperProfile.cs
  65. 14
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/CountNotes/CountNoteAppService.cs
  66. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/JisProductReceiptNotes/JisProductReceiptNoteAutoMapperProfile.cs
  67. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ProductReceiptNotes/ProductReceiptNoteAutoMapperProfile.cs
  68. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAutoMapperProfile.cs
  69. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReturnNotes/PurchaseReturnNoteAutoMapperProfile.cs
  70. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ReceiptAbnormalNotes/ReceiptAbnormalNoteAutoMapperProfile.cs
  71. 15
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/RecycledMaterialReceiptNotes/RecycledMaterialReceiptNoteAppService.cs
  72. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/RecycledMaterialReceiptNotes/RecycledMaterialReceiptNoteAutoMapperProfile.cs
  73. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAutoMapperProfile.cs
  74. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/SaleOrders/SaleOrderAutoMapperProfile.cs
  75. 9
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs
  76. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAutoMapperProfile.cs
  77. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/PreparationPlans/PreparationPlanAutoMapperProfile.cs
  78. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/DeliverRequests/DeliverRequestFisAppService.cs
  79. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InspectRequests/InspectRequestAutoMapperProfile.cs
  80. 16
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ItemTransformRequests/ItemTransformRequestAppService.cs
  81. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ItemTransformRequests/ItemTransformRequestAutoMapperProfile.cs
  82. 12
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/MaterialRequestAppService.cs
  83. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/MaterialRequestAutoMapperProfile.cs
  84. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductionReturnRequests/ProductionReturnRequestAutoMapperProfile.cs
  85. 22
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/PurchaseReturnRequests/PurchaseReturnRequestAppService.cs
  86. 3
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobManager.cs
  87. 19
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobDetail.cs
  88. 19
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobDetail.cs
  89. 19
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/UnplannedIssueNotes/UnplannedIssueNoteDetail.cs
  90. 19
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/UnplannedReceiptNotes/UnplannedReceiptNoteDetail.cs
  91. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/MaterialRequestDetail.cs
  92. 100
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/MaterialRequestManager.cs
  93. 19
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs
  94. 24
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestDetail.cs
  95. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/CountJobAutoMapperProfile.cs
  96. 1
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Notes/RecycledMaterialReceiptNoteAutoMapperProfile.cs
  97. 7
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/ExpectInOuts/IssueJobEventHandler.cs
  98. 2
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/ProductionReturnJobEventHandler.cs
  99. 15
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReceiptJobEventHandler.cs
  100. 140
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/DeliverRequestEventHandler.cs

12
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.EosAgent/appsettings.json

@ -1,12 +1,12 @@
{ {
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True", "Default": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True",
"DataExchange": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True", "DataExchange": "Server=dev.ccwin-in.com,13319;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True",
"EOS": "Server=61.139.155.47;Database=EOSSH;Uid=wms;Pwd=1;TrustServerCertificate=True" "EOS": "Server=61.139.155.47;Database=EOSSH;Uid=wms;Pwd=1;TrustServerCertificate=True"
}, },
"AuthServer": { "AuthServer": {
"Authority": "http://dev.ccwin-in.com:21293/", "Authority": "http://dev.ccwin-in.com:60083/",
"RequireHttpsMetadata": "false", "RequireHttpsMetadata": "false",
"SwaggerClientId": "admin", "SwaggerClientId": "admin",
"SwaggerClientSecret": "1q2w3E*", "SwaggerClientSecret": "1q2w3E*",
@ -25,13 +25,13 @@
"RemoteServices": { "RemoteServices": {
"BaseData": { "BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:21294/" "BaseUrl": "http://dev.ccwin-in.com:60084/"
}, },
"Store": { "Store": {
"BaseUrl": "http://dev.ccwin-in.com:21295/" "BaseUrl": "http://dev.ccwin-in.com:60085/"
}, },
"Label": { "Label": {
"BaseUrl": "http://dev.ccwin-in.com:21292/" "BaseUrl": "http://dev.ccwin-in.com:60082/"
} }
}, },
"EosOptions": { "EosOptions": {

13
be/DataExchange/Fawtyg/Win_in.Sfs.Wms.DataExchange.Fawtyg.MesAgent/appsettings.json

@ -1,12 +1,12 @@
{ {
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database= WMS;uid=sa;pwd=aA123456!;TrustServerCertificate=True;", "Default": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True",
"DataExchange": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True;", "DataExchange": "Server=dev.ccwin-in.com,13319;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True",
"MES": "Server=10.164.1.12;Port=3306;Database=erp;Uid=wms;Pwd=123456;" "MES": "Server=10.164.1.12;Port=3306;Database=erp;Uid=wms;Pwd=123456;"
}, },
"AuthServer": { "AuthServer": {
"Authority": "http://dev.ccwin-in.com:21293/", "Authority": "http://dev.ccwin-in.com:60083/",
"RequireHttpsMetadata": "false", "RequireHttpsMetadata": "false",
"SwaggerClientId": "admin", "SwaggerClientId": "admin",
"SwaggerClientSecret": "1q2w3E*", "SwaggerClientSecret": "1q2w3E*",
@ -24,14 +24,15 @@
"RemoteServices": { "RemoteServices": {
"BaseData": { "BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:21294/" "BaseUrl": "http://dev.ccwin-in.com:60084/"
}, },
"Store": { "Store": {
"BaseUrl": "http://dev.ccwin-in.com:21295/" "BaseUrl": "http://dev.ccwin-in.com:60085/"
}, },
"Label": { "Label": {
"BaseUrl": "http://dev.ccwin-in.com:21292/" "BaseUrl": "http://dev.ccwin-in.com:60082/"
} }
}, },
"MesOptions": { "MesOptions": {
"IncomingOptions": { "IncomingOptions": {

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

@ -41,14 +41,24 @@ public class ScontrolWriter : IWriter
var receipt = JsonSerializer.Deserialize<Scontrol>(entity.DestinationDataContent); var receipt = JsonSerializer.Deserialize<Scontrol>(entity.DestinationDataContent);
dataInterfaceList.Add(receipt); dataInterfaceList.Add(receipt);
} }
else if (entity.TableType == EnumExchangeTableType.DetailTable) // 子表(DetailTable) else if (entity.TableType == EnumExchangeTableType.DetailTable) // 子表(DetailTable)
{ {
var receiptDetail = JsonSerializer.Deserialize<Scmsend>(entity.DestinationDataContent); var receiptDetail = JsonSerializer.Deserialize<Scmsend>(entity.DestinationDataContent);
dataInterfaceDetailList.Add(receiptDetail); dataInterfaceDetailList.Add(receiptDetail);
} }
} }
//dataInterface分主子表分别写入ERP try
await _dataInterfaceManager.PostListAsync(dataInterfaceList, dataInterfaceDetailList).ConfigureAwait(false); {
//dataInterface分主子表分别写入ERP
await _dataInterfaceManager.PostListAsync(dataInterfaceList, dataInterfaceDetailList).ConfigureAwait(false);
}
catch (System.Exception ex)
{
foreach (var item in entitys)
{
item.SetError(EnumExchangeDataErrorCode.Exception, ex.Message, ex.ToString());
}
}
} }
//将数据归档 //将数据归档
await _outgoingToExternalManager.ArchiveManyAsync(outgoingDataList).ConfigureAwait(false); await _outgoingToExternalManager.ArchiveManyAsync(outgoingDataList).ConfigureAwait(false);

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

@ -125,13 +125,14 @@ public class TyrpOutgoingBackgroundWorker : AsyncPeriodicBackgroundWorkerBase
var ItemTransformNoteConvert = workerContext.ServiceProvider.GetRequiredService<ItemTransformNoteConverter>(); var ItemTransformNoteConvert = workerContext.ServiceProvider.GetRequiredService<ItemTransformNoteConverter>();
var ItemTransformNoteList = await ItemTransformNoteConvert.ConvertAsync().ConfigureAwait(false); var ItemTransformNoteList = await ItemTransformNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(ItemTransformNoteList).ConfigureAwait(false); await countadjustWriter.WriteAsync(ItemTransformNoteList).ConfigureAwait(false);
Logger.LogInformation($"Completed: Handling {Outgoing}");
Logger.LogInformation($"Write ScrapNote");//报废单、线边仓报废单 Logger.LogInformation($"Write ScrapNote");//报废单、线边仓报废单
var scrapNoteConvert = workerContext.ServiceProvider.GetRequiredService<ScrapNoteConverter>(); var scrapNoteConvert = workerContext.ServiceProvider.GetRequiredService<ScrapNoteConverter>();
var scrapNoteList = await scrapNoteConvert.ConvertAsync().ConfigureAwait(false); var scrapNoteList = await scrapNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(scrapNoteList).ConfigureAwait(false); await countadjustWriter.WriteAsync(scrapNoteList).ConfigureAwait(false);
Logger.LogInformation($"Completed: Handling {Outgoing}");
} }
} }

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

@ -46,9 +46,20 @@ public class WmsoutmWriter : IWriter
var receiptDetail = JsonSerializer.Deserialize<Wmsoutd>(entity.DestinationDataContent); var receiptDetail = JsonSerializer.Deserialize<Wmsoutd>(entity.DestinationDataContent);
dataInterfaceDetailList.Add(receiptDetail); dataInterfaceDetailList.Add(receiptDetail);
} }
}
try
{
//dataInterface分主子表分别写入ERP
await _wmsoutdManager.PostListAsync(dataInterfaceList, dataInterfaceDetailList).ConfigureAwait(false);
}
catch (System.Exception ex)
{
foreach (var item in entitys)
{
item.SetError(EnumExchangeDataErrorCode.Exception, ex.Message, ex.ToString());
}
} }
//dataInterface分主子表分别写入ERP
await _wmsoutdManager.PostListAsync(dataInterfaceList, dataInterfaceDetailList).ConfigureAwait(false);
} }
//将数据归档 //将数据归档
await _outgoingToExternalManager.ArchiveManyAsync(outgoingDataList).ConfigureAwait(false); await _outgoingToExternalManager.ArchiveManyAsync(outgoingDataList).ConfigureAwait(false);

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

@ -1,13 +1,13 @@
{ {
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database=Wms;uid=sa;pwd=aA123456!;TrustServerCertificate=True", "Default": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True",
"DataExchange": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True", "DataExchange": "Server=dev.ccwin-in.com,13319;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True",
"TYRP": "Server=dev.ccwin-in.com,21195;Database=TYRP;Uid=sa;Pwd=aA123456!;TrustServerCertificate=True", "TYRP": "Server=dev.ccwin-in.com,13319;Database=Wms_TYRP_Dy_ShangHai;Uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True",
"SYBASE_TYRP": "Data Source=10.164.1.11; Port=5000; Database=mesdb; Uid=mesuser; Pwd=mesuser1234;Charset=cp850;" //iso_1 "SYBASE_TYRP": "Data Source=10.164.115.137; Port=5000; Database=mesdb; Uid=mesuser; Pwd=mesuser1234;Charset=cp850;" //iso_1
}, },
"AuthServer": { "AuthServer": {
"Authority": "http://dev.ccwin-in.com:21293/", "Authority": "http://dev.ccwin-in.com:60083/",
"RequireHttpsMetadata": "false", "RequireHttpsMetadata": "false",
"SwaggerClientId": "admin", "SwaggerClientId": "admin",
"SwaggerClientSecret": "1q2w3E*", "SwaggerClientSecret": "1q2w3E*",
@ -26,16 +26,16 @@
"RemoteServices": { "RemoteServices": {
"BaseData": { "BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:21294/" "BaseUrl": "http://dev.ccwin-in.com:60084/"
}, },
"Store": { "Store": {
"BaseUrl": "http://dev.ccwin-in.com:21295/" "BaseUrl": "http://dev.ccwin-in.com:60085/"
}, },
"Label": { "Label": {
"BaseUrl": "http://dev.ccwin-in.com:21292/" "BaseUrl": "http://dev.ccwin-in.com:60082/"
}, },
"Auth": { "Auth": {
"BaseUrl": "http://dev.ccwin-in.com:21293/" "BaseUrl": "http://dev.ccwin-in.com:60083/"
} }
}, },
"TyrpOptions": { "TyrpOptions": {

1
be/DataExchange/Iac/Win_in.Sfs.Wms.DataExchange.Application.Iac.Mes/Mes/MesProductL7PartsNoteAutoMapperProfile.cs

@ -11,7 +11,6 @@ public class MesProductL7PartsNoteAutoMapperProfile : Profile
public MesProductL7PartsNoteAutoMapperProfile() public MesProductL7PartsNoteAutoMapperProfile()
{ {
CreateMap<MesProductL7PartsNote, MesProductL7PartsNoteDTO>() CreateMap<MesProductL7PartsNote, MesProductL7PartsNoteDTO>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.CreationTime, y => y.MapFrom(d => d.CreationTime)) .ForMember(x => x.CreationTime, y => y.MapFrom(d => d.CreationTime))
.ReverseMap(); .ReverseMap();

2
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/IncomingToWmsWorker.cs

@ -124,7 +124,7 @@ public class IncomingToWmsWorker : AsyncPeriodicBackgroundWorkerBase
//await incomingToWms.HandleAsnsAsync(workerContext).ConfigureAwait(false); //await incomingToWms.HandleAsnsAsync(workerContext).ConfigureAwait(false);
break; break;
case EnumIncomingDataType.ProductReceipt: case EnumIncomingDataType.ProductReceipt:
//await incomingToWms.HandleProductReceiptsAsync(workerContext).ConfigureAwait(false); await incomingToWms.HandleProductReceiptsAsync(workerContext).ConfigureAwait(false);
break; break;
case EnumIncomingDataType.MaterialRequest: case EnumIncomingDataType.MaterialRequest:
await incomingToWms.HandleMaterialRequestsAsync(workerContext).ConfigureAwait(false); await incomingToWms.HandleMaterialRequestsAsync(workerContext).ConfigureAwait(false);

14
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Agent/appsettings.json

@ -1,13 +1,13 @@
{ {
"ConnectionStrings": { "ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True", "Default": "Server=dev.ccwin-in.com,13319;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True",
"DataExchange": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True" "DataExchange": "Server=dev.ccwin-in.com,13319;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;TrustServerCertificate=True"
}, },
"AuthServer": { "AuthServer": {
"Authority": "http://dev.ccwin-in.com:21293/", "Authority": "http://dev.ccwin-in.com:60083/",
"RequireHttpsMetadata": "false", "RequireHttpsMetadata": "false",
"SwaggerClientId": "admin", "SwaggerClientId": "admin",
"SwaggerClientSecret": "1q2w3E*", "SwaggerClientSecret": "1q2w3E*",
@ -26,16 +26,16 @@
"RemoteServices": { "RemoteServices": {
"BaseData": { "BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:21294/" "BaseUrl": "http://dev.ccwin-in.com:60084/"
}, },
"Store": { "Store": {
"BaseUrl": "http://dev.ccwin-in.com:21295/" "BaseUrl": "http://dev.ccwin-in.com:60085/"
}, },
"Label": { "Label": {
"BaseUrl": "http://dev.ccwin-in.com:21292/" "BaseUrl": "http://dev.ccwin-in.com:60082/"
}, },
"Auth": { "Auth": {
"BaseUrl": "http://dev.ccwin-in.com:21293/" "BaseUrl": "http://dev.ccwin-in.com:60083/"
} }
}, },
"DataExchangeOptions": { "DataExchangeOptions": {

1
be/DataExchange/src/Win_in.Sfs.Wms.DataExchange.Application/OutgoingFromWms/OutgoingFromWmsAutoMapperProfile.cs

@ -10,7 +10,6 @@ public class OutgoingFromWmsAutoMapperProfile : Profile
public OutgoingFromWmsAutoMapperProfile() public OutgoingFromWmsAutoMapperProfile()
{ {
CreateMap<OutgoingFromWms, OutgoingFromWmsDTO>() CreateMap<OutgoingFromWms, OutgoingFromWmsDTO>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.CreationTime, y => y.MapFrom(d => d.CreationTime)) .ForMember(x => x.CreationTime, y => y.MapFrom(d => d.CreationTime))
.ReverseMap(); .ReverseMap();

1
be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/Departments/DepartmentAutoMapperProfile.cs

@ -10,7 +10,6 @@ public partial class AuthApplicationAutoMapperProfile : Profile
private void DepartmentAutoMapperProfile() private void DepartmentAutoMapperProfile()
{ {
CreateMap<Department, DepartmentDTO>() CreateMap<Department, DepartmentDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<DepartmentCreateInput, Department>() CreateMap<DepartmentCreateInput, Department>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()

13
be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/BasedataHttpApiHostModule.cs

@ -67,14 +67,19 @@ public class BasedataHttpApiHostModule : ModuleBase<BasedataHttpApiHostModule>
{ {
public override void ConfigureServices(ServiceConfigurationContext context) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
//base.ConfigureServices(context);
//ConfigureAuditing();
////
//ConfigureBlobStoring();
//Configure<AbpClockOptions>(options =>
//{
// options.Kind = DateTimeKind.Local;
//});
base.ConfigureServices(context); base.ConfigureServices(context);
ConfigureAuditing(); ConfigureAuditing();
// //
ConfigureBlobStoring(); ConfigureBlobStoring();
Configure<AbpClockOptions>(options =>
{
options.Kind = DateTimeKind.Local;
});
} }
public override void PostConfigureServices(ServiceConfigurationContext context) public override void PostConfigureServices(ServiceConfigurationContext context)

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

@ -2529,6 +2529,9 @@ CREATE TABLE [Job_PutawayJobDetail] (
CREATE TABLE [Job_UnplannedIssueJobDetail] ( CREATE TABLE [Job_UnplannedIssueJobDetail] (
[Id] uniqueidentifier NOT NULL, [Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL, [ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL, [CreatorId] uniqueidentifier NULL,
@ -2579,6 +2582,9 @@ CREATE TABLE [Job_UnplannedIssueJobDetail] (
CREATE TABLE [Job_UnplannedReceiptJobDetail] ( CREATE TABLE [Job_UnplannedReceiptJobDetail] (
[Id] uniqueidentifier NOT NULL, [Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL, [ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL, [CreatorId] uniqueidentifier NULL,
@ -4875,6 +4881,9 @@ CREATE TABLE [Store_TransferRequestDetail] (
CREATE TABLE [Store_UnplannedIssueNoteDetail] ( CREATE TABLE [Store_UnplannedIssueNoteDetail] (
[Id] uniqueidentifier NOT NULL, [Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL, [ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL, [CreatorId] uniqueidentifier NULL,
@ -4937,6 +4946,9 @@ CREATE TABLE [Store_UnplannedIssueNoteDetail] (
CREATE TABLE [Store_UnplannedIssueRequestDetail] ( CREATE TABLE [Store_UnplannedIssueRequestDetail] (
[Id] uniqueidentifier NOT NULL, [Id] uniqueidentifier NOT NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL, [CreatorId] uniqueidentifier NULL,
@ -4974,6 +4986,9 @@ CREATE TABLE [Store_UnplannedIssueRequestDetail] (
CREATE TABLE [Store_UnplannedReceiptNoteDetail] ( CREATE TABLE [Store_UnplannedReceiptNoteDetail] (
[Id] uniqueidentifier NOT NULL, [Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL, [ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL, [CreatorId] uniqueidentifier NULL,
@ -5036,6 +5051,10 @@ CREATE TABLE [Store_UnplannedReceiptNoteDetail] (
CREATE TABLE [Store_UnplannedReceiptRequestDetail] ( CREATE TABLE [Store_UnplannedReceiptRequestDetail] (
[Id] uniqueidentifier NOT NULL, [Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL, [ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL, [CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL, [CreatorId] uniqueidentifier NULL,

11
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/BaseDatas/DictController.cs

@ -1,6 +1,9 @@
using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Json;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
namespace Win_in.Sfs.Wms.Pda.Controllers.BaseDatas; namespace Win_in.Sfs.Wms.Pda.Controllers.BaseDatas;
@ -18,9 +21,11 @@ public class DictController : AbpController
/// ///
/// </summary> /// </summary>
/// <param name="dictApp"></param> /// <param name="dictApp"></param>
public DictController(IDictAppService dictApp) public DictController(IDictAppService dictApp,IOptions<AbpJsonOptions> options)
{ {
_dictApp = dictApp; _dictApp = dictApp;
var str = options.Value.DefaultDateTimeFormat;
Console.WriteLine(str);
} }
/// <summary> /// <summary>
@ -31,6 +36,8 @@ public class DictController : AbpController
[HttpGet("by-code")] [HttpGet("by-code")]
public virtual async Task<DictDTO> GetByCodeAsync(string code) public virtual async Task<DictDTO> GetByCodeAsync(string code)
{ {
return await _dictApp.GetByCodeAsync(code).ConfigureAwait(false); var dtos = await _dictApp.GetByCodeAsync(code).ConfigureAwait(false);
return dtos;
} }
} }

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

@ -1,4 +1,6 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using System.Text.Json; using System.Text.Json;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -70,13 +72,13 @@ public class JobController : AbpController
/// 获取全部任务数量统计 /// 获取全部任务数量统计
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpGet("{isToday}")] [HttpGet("get-job-count/{isToday}")]
public virtual async Task<ListResultDto<JobCountDto>> CountAsync(bool isToday) public virtual async Task<ListResultDto<JobCountDto>> CountAsync(Guid userId ,bool isToday)
{ {
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); var wlgCodes = await _userWorkGroupAppService.GetUserWorkGroupAsync(userId).ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes); var jsonCodes = JsonSerializer.Serialize(wlgCodes.Select(p=>p.WorkGroupCode));
var status = new List<int>() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing }; var status = new List<EnumJobStatus>() { EnumJobStatus.Open,EnumJobStatus.Doing };
var jsonStatus = JsonSerializer.Serialize(status); var jsonStatus = JsonSerializer.Serialize(status);
var list = new List<JobCountDto>(); var list = new List<JobCountDto>();
@ -162,6 +164,8 @@ public class JobController : AbpController
purchaseReceiptJobRequest.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate), Clock.Now.ToString("yyyy-MM-dd"), ">=", "And")); purchaseReceiptJobRequest.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate), Clock.Now.ToString("yyyy-MM-dd"), ">=", "And"));
purchaseReceiptJobRequest.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate), Clock.Now.AddDays(1).ToString("yyyy-MM-dd"), "<=", "And")); purchaseReceiptJobRequest.Condition.Filters.Add(new Filter(nameof(PurchaseReceiptJobDTO.PlanArriveDate), Clock.Now.AddDays(1).ToString("yyyy-MM-dd"), "<=", "And"));
} }
var purchaseReceiptJobs = await _purchaseReceiptJobAppService.GetCountByFilterAsync(purchaseReceiptJobRequest).ConfigureAwait(false);
list.Add(new JobCountDto { JobType = EnumJobType.PurchaseReceiptJob, Count = purchaseReceiptJobs });
var purchaseReturnJobs = await _purchaseReturnJobAppService.GetCountByFilterAsync(new SfsJobRequestInputBase var purchaseReturnJobs = await _purchaseReturnJobAppService.GetCountByFilterAsync(new SfsJobRequestInputBase
{ {

2
be/Modules/BaseData/src/Win_in.Sfs.Basedata.Application/Dicts/DictAutoMapperProfile.cs

@ -13,7 +13,7 @@ public partial class BasedataApplicationAutoMapperProfile : Profile
; ;
CreateMap<DictItem, DictItemDTO>() CreateMap<DictItem, DictItemDTO>()
.IgnoreAuditedObjectProperties(); ;
CreateMap<DictImportInput, Dict>() CreateMap<DictImportInput, Dict>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()

1
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Balances/BalanceAppService.cs

@ -275,6 +275,7 @@ public class BalanceAppService
dto.ItemName = item.Name; dto.ItemName = item.Name;
dto.ItemDesc1 = item.Desc1; dto.ItemDesc1 = item.Desc1;
dto.ItemDesc2 = item.Desc2; dto.ItemDesc2 = item.Desc2;
dto.Uom = item.BasicUom;
} }
return dtos; return dtos;
} }

3
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Application/Containers/ContainerAutoMapperProfile.cs

@ -12,7 +12,8 @@ public partial class InventoryApplicationAutoMapperProfile : Profile
CreateMap<Container, ContainerDTO>() CreateMap<Container, ContainerDTO>()
.ReverseMap(); .ReverseMap();
CreateMap<ContainerDetail, ContainerDetailDTO>().IgnoreAuditedObjectProperties(); CreateMap<ContainerDetail, ContainerDetailDTO>()
;
CreateMap<ContainerDetailInput, ContainerDetail>() CreateMap<ContainerDetailInput, ContainerDetail>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()

15
be/Modules/Inventory/src/Win_in.Sfs.Wms.Inventory.Domain/Transactions/TransactionManager.cs

@ -18,7 +18,8 @@ public class TransactionManager : DomainService, ITransactionManager
private readonly IBalanceManager _balanceManager; private readonly IBalanceManager _balanceManager;
private readonly IItemBasicAclService _itemBasicAclService; private readonly IItemBasicAclService _itemBasicAclService;
private readonly ILocationAclService _locationAclService; private readonly ILocationAclService _locationAclService;
private readonly ITransactionTypeAclService _transactionTypeAclService; //private readonly ITransactionTypeAclService _transactionTypeAclService;
private readonly ITransactionTypeAppService _transactionTypeAppService;
private readonly ITransactionRepository _transactionRepository; private readonly ITransactionRepository _transactionRepository;
private readonly IBalanceRepository _balanceRepository; private readonly IBalanceRepository _balanceRepository;
private readonly ISnowflakeIdGenerator _numberGenerator; private readonly ISnowflakeIdGenerator _numberGenerator;
@ -28,20 +29,22 @@ public class TransactionManager : DomainService, ITransactionManager
IBalanceManager balanceManager IBalanceManager balanceManager
, IItemBasicAclService itemBasicAclService , IItemBasicAclService itemBasicAclService
, ILocationAclService locationAclService , ILocationAclService locationAclService
, ITransactionTypeAclService transactionTypeAclService //, ITransactionTypeAclService transactionTypeAclService
, ITransactionRepository transactionRepository , ITransactionRepository transactionRepository
, IBalanceRepository balanceRepository , IBalanceRepository balanceRepository
, ISnowflakeIdGenerator numberGenerator , ISnowflakeIdGenerator numberGenerator
, ILocationCapacityManager locationCapacityManager) , ILocationCapacityManager locationCapacityManager
, ITransactionTypeAppService transactionTypeAppService)
{ {
_balanceManager = balanceManager; _balanceManager = balanceManager;
_itemBasicAclService = itemBasicAclService; _itemBasicAclService = itemBasicAclService;
_locationAclService = locationAclService; _locationAclService = locationAclService;
_transactionTypeAclService = transactionTypeAclService; //_transactionTypeAclService = transactionTypeAclService;
_transactionRepository = transactionRepository; _transactionRepository = transactionRepository;
_balanceRepository = balanceRepository; _balanceRepository = balanceRepository;
_numberGenerator = numberGenerator; _numberGenerator = numberGenerator;
_locationCapacityManager = locationCapacityManager; _locationCapacityManager = locationCapacityManager;
_transactionTypeAppService = transactionTypeAppService;
} }
public virtual async Task<string> AddAsync(Transaction transaction) public virtual async Task<string> AddAsync(Transaction transaction)
@ -96,7 +99,7 @@ public class TransactionManager : DomainService, ITransactionManager
var item = await _itemBasicAclService.GetByCodeAsync(transaction.ItemCode).ConfigureAwait(false); var item = await _itemBasicAclService.GetByCodeAsync(transaction.ItemCode).ConfigureAwait(false);
var location = await _locationAclService.GetByCodeAsync(transaction.LocationCode).ConfigureAwait(false); var location = await _locationAclService.GetByCodeAsync(transaction.LocationCode).ConfigureAwait(false);
var transactionType = await _transactionTypeAclService.GetByTransTypeAsync(transaction.TransType, transaction.TransSubType).ConfigureAwait(false); var transactionType = await _transactionTypeAppService.GetByTransTypeAsync(transaction.TransType, transaction.TransSubType).ConfigureAwait(false);
transaction.CheckTransactionType(transactionType, item, location); transaction.CheckTransactionType(transactionType, item, location);
//执行库存余额的变动 //执行库存余额的变动
@ -158,7 +161,7 @@ public class TransactionManager : DomainService, ITransactionManager
//库位注意大小写 //库位注意大小写
var location = locations.FirstOrDefault(p => p.Code.ToUpper() == transaction.LocationCode.ToUpper()); var location = locations.FirstOrDefault(p => p.Code.ToUpper() == transaction.LocationCode.ToUpper());
var transactionType = await _transactionTypeAclService.GetByTransTypeAsync(transaction.TransType, transaction.TransSubType).ConfigureAwait(false); var transactionType = await _transactionTypeAppService.GetByTransTypeAsync(transaction.TransType, transaction.TransSubType).ConfigureAwait(false);
transaction.CheckTransactionType(transactionType, item, location); transaction.CheckTransactionType(transactionType, item, location);
await UpdateBalanceAsync(transaction, item, location).ConfigureAwait(false); await UpdateBalanceAsync(transaction, item, location).ConfigureAwait(false);

3
be/Modules/Label/src/Win_in.Sfs.Label.Application/CountLabels/CountLabelAutoMapperProfile.cs

@ -10,8 +10,7 @@ public class CountLabelAutoMapperProfile : Profile
public CountLabelAutoMapperProfile() public CountLabelAutoMapperProfile()
{ {
CreateMap<CountLabel, CountLabelDto>() CreateMap<CountLabel, CountLabelDto>()
.IgnoreAuditedObjectProperties() .ReverseMap();
.ReverseMap();
CreateMap<CountLabel, CountLabelEditInput>(); CreateMap<CountLabel, CountLabelEditInput>();
} }

3
be/Modules/Label/src/Win_in.Sfs.Label.Application/PalletCode/PalletCodeAutoMapperProfile.cs

@ -10,8 +10,7 @@ public class PalletCodeAutoMapperProfile : Profile
public PalletCodeAutoMapperProfile() public PalletCodeAutoMapperProfile()
{ {
CreateMap<PalletCode, PalletCodeDto>() CreateMap<PalletCode, PalletCodeDto>()
.IgnoreAuditedObjectProperties() .ReverseMap();
.ReverseMap();
CreateMap<PalletCode, PalletCodeEditInput>(); CreateMap<PalletCode, PalletCodeEditInput>();
} }

1
be/Modules/Label/src/Win_in.Sfs.Label.Application/PalletLabels/PalletLabelAutoMapperProfile.cs

@ -10,7 +10,6 @@ public class PalletLabelAutoMapperProfile : Profile
public PalletLabelAutoMapperProfile() public PalletLabelAutoMapperProfile()
{ {
CreateMap<PalletLabel, PalletLabelDto>() CreateMap<PalletLabel, PalletLabelDto>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.ItemName, y => y.MapFrom(d => d.Name)) .ForMember(x => x.ItemName, y => y.MapFrom(d => d.Name))
.ForMember(x => x.ItemDesc1, y => y.MapFrom(d => d.Desc1)) .ForMember(x => x.ItemDesc1, y => y.MapFrom(d => d.Desc1))
.ForMember(x => x.ItemDesc2, y => y.MapFrom(d => d.Desc2)) .ForMember(x => x.ItemDesc2, y => y.MapFrom(d => d.Desc2))

1
be/Modules/Label/src/Win_in.Sfs.Label.Application/SaleLabels/SaleLabelAutoMapperProfile.cs

@ -10,7 +10,6 @@ public class SaleLabelAutoMapperProfile : Profile
public SaleLabelAutoMapperProfile() public SaleLabelAutoMapperProfile()
{ {
CreateMap<SaleLabel, SaleLabelDto>() CreateMap<SaleLabel, SaleLabelDto>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
} }
} }

3
be/Modules/Label/src/Win_in.Sfs.Label.Application/SerialCode/SerialCodeAutoMapperProfile.cs

@ -10,8 +10,7 @@ public class SerialCodeAutoMapperProfile : Profile
public SerialCodeAutoMapperProfile() public SerialCodeAutoMapperProfile()
{ {
CreateMap<SerialCode, SerialCodeDto>() CreateMap<SerialCode, SerialCodeDto>()
.IgnoreAuditedObjectProperties() .ReverseMap();
.ReverseMap();
CreateMap<SerialCode, SerialCodeEditInput>(); CreateMap<SerialCode, SerialCodeEditInput>();
} }

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

@ -10,8 +10,7 @@ public partial class MessageApplicationAutoMapperProfile : Profile
public void MessageTypeSubscribesAutoMapperProfile() public void MessageTypeSubscribesAutoMapperProfile()
{ {
CreateMap<MessageTypeSubscribe, MessageTypeSubscribeDto>() CreateMap<MessageTypeSubscribe, MessageTypeSubscribeDto>()
.IgnoreAuditedObjectProperties() .ReverseMap();
.ReverseMap();
CreateMap<MessageTypeSubscribeEditInput, MessageTypeSubscribe>() CreateMap<MessageTypeSubscribeEditInput, MessageTypeSubscribe>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()

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

@ -10,7 +10,6 @@ public partial class MessageApplicationAutoMapperProfile : Profile
public void MessageTypeAutoMapperProfile() public void MessageTypeAutoMapperProfile()
{ {
CreateMap<MessageType, MessageTypeDto>() CreateMap<MessageType, MessageTypeDto>()
.IgnoreAuditedObjectProperties() .ReverseMap();
.ReverseMap();
} }
} }

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

@ -11,8 +11,7 @@ public partial class MessageApplicationAutoMapperProfile : Profile
public void NotifyMessageAutoMapperProfileConfig() public void NotifyMessageAutoMapperProfileConfig()
{ {
CreateMap<NotifyMessage, NotifyMessageDto>() CreateMap<NotifyMessage, NotifyMessageDto>()
.IgnoreAuditedObjectProperties() .ReverseMap();
.ReverseMap();
CreateMap<NotifyMessageETO, NotifyMessageDto>() CreateMap<NotifyMessageETO, NotifyMessageDto>()
.Ignore(x => x.ConcurrencyStamp) .Ignore(x => x.ConcurrencyStamp)

3
be/Modules/Message/src/Win_in.Sfs.Message.Application/PrivateMessages/PrivateMessageAutoMapperProfile.cs

@ -10,7 +10,6 @@ public class PrivateMessageAutoMapperProfile : Profile
public PrivateMessageAutoMapperProfile() public PrivateMessageAutoMapperProfile()
{ {
CreateMap<PrivateMessage, PrivateMessageDto>() CreateMap<PrivateMessage, PrivateMessageDto>()
.IgnoreAuditedObjectProperties() .ReverseMap();
.ReverseMap();
} }
} }

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

@ -11,8 +11,7 @@ public partial class MessageApplicationAutoMapperProfile : Profile
public void UserNotifyAutoMapperProfile() public void UserNotifyAutoMapperProfile()
{ {
CreateMap<UserNotifyMessage, UserNotifyMessageDto>() CreateMap<UserNotifyMessage, UserNotifyMessageDto>()
.IgnoreAuditedObjectProperties() .BeforeMap((x, y) => y.UserId = x.CreatorId==null?Guid.Empty: x.CreatorId.Value)
.BeforeMap((x, y) => y.UserId = x.CreatorId==null?Guid.Empty: x.CreatorId.Value)
.ReverseMap(); .ReverseMap();
CreateMap<UserNotifyMessage, UserNotifyMessageEditInput>(); CreateMap<UserNotifyMessage, UserNotifyMessageEditInput>();

1
be/Modules/Shared/src/Win_in.Sfs.Shared.Application/CachingExtensions.cs

@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Caching.Distributed;
using Volo.Abp.Caching; using Volo.Abp.Caching;
using Volo.Abp.Json;
namespace Win_in.Sfs.Shared.Application; namespace Win_in.Sfs.Shared.Application;

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

@ -159,8 +159,12 @@ public abstract class SfsCrudWithDetailsAppServiceBase<TEntity, TEntityDto, TReq
var entities = await _repository.GetPagedListAsync(expression, input.SkipCount, input.MaxResultCount, var entities = await _repository.GetPagedListAsync(expression, input.SkipCount, input.MaxResultCount,
input.Sorting, true).ConfigureAwait(false); input.Sorting, true).ConfigureAwait(false);
var list = ObjectMapper.Map<List<TEntity>, List<TEntityDto>>(entities); var list = ObjectMapper.Map<List<TEntity>, List<TEntityDto>>(entities);
var hasDetails = typeof(TEntity) is SfsMasterAggregateRootBase<TDetail> detailEntity;
return ExportImportService.Export(list, detailsProptyName: hasDetails ? nameof(detailEntity.Details) : null); //var hasDetails = typeof(TEntity) is SfsMasterAggregateRootBase<TDetail> detailEntity;
var tt = typeof(TEntity).GetBaseClasses(typeof(SfsMasterAggregateRootBase<TDetail>));
var hasDetails = tt.Length > 0 ? true : false;
return ExportImportService.Export(list,detailsProptyName: hasDetails ? nameof(TDetail) : null);
} }
/// <summary> /// <summary>

9
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain.Shared/Enums/Job/EnumJobStatus.cs

@ -1,3 +1,6 @@
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
namespace Win_in.Sfs.Shared.Domain.Shared; namespace Win_in.Sfs.Shared.Domain.Shared;
public enum EnumJobStatus public enum EnumJobStatus
@ -5,30 +8,36 @@ public enum EnumJobStatus
/// <summary> /// <summary>
/// 空枚举 /// 空枚举
/// </summary> /// </summary>
[Display(Name = "空枚举")]
None = 0, None = 0,
/// <summary> /// <summary>
/// 待处理 /// 待处理
/// </summary> /// </summary>
[Display(Name = "待处理")]
Open = 1, Open = 1,
/// <summary> /// <summary>
/// 执行中 /// 执行中
/// </summary> /// </summary>
[Display(Name = "执行中")]
Doing = 2, Doing = 2,
/// <summary> /// <summary>
/// 完成 /// 完成
/// </summary> /// </summary>
[Display(Name = "完成")]
Done = 3, Done = 3,
/// <summary> /// <summary>
/// 关闭 /// 关闭
/// </summary> /// </summary>
[Display(Name = "关闭")]
Closed = 8, Closed = 8,
/// <summary> /// <summary>
/// 作废 /// 作废
/// </summary> /// </summary>
[Display(Name = "作废")]
Cancelled = 9 Cancelled = 9
} }

3
be/Modules/Shared/src/Win_in.Sfs.Shared.Domain/Entities/SfsMasterAggregateRootBase.cs

@ -67,7 +67,7 @@ public abstract class SfsMasterAggregateRootBase<TDetail> : SfsAggregateRootBase
Details.AddRange(details); Details.AddRange(details);
} }
public void ReplaceDetail(Guid id, TDetail newDetail) public void ReplaceDetail(Guid id,TDetail newDetail)
{ {
var detail = GetDetail(id); var detail = GetDetail(id);
@ -106,7 +106,6 @@ public abstract class SfsMasterAggregateRootBase<TDetail> : SfsAggregateRootBase
property.SetValue(detail, newValue); property.SetValue(detail, newValue);
} }
} }
/* /*
////todo check ////todo check
//var detail = GetDetail(id); //var detail = GetDetail(id);

3
be/Modules/Shared/src/Win_in.Sfs.Shared.Host/ModuleBase.cs

@ -249,7 +249,8 @@ public abstract class ModuleBase<T> : AbpModule where T : AbpModule
protected virtual void Configure() protected virtual void Configure()
{ {
//todo 解决时间 //todo 解决时间
ServiceConfigurationContext.Services.AddTransient<IJsonSerializer,ConvertAbpJson>(); // ServiceConfigurationContext.Services.AddTransient<IJsonSerializer,ConvertAbpJson>();
} }
protected virtual void ConfigureAddCors() protected virtual void ConfigureAddCors()

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/IssueJobs/IIssueJobAppService.cs

@ -14,4 +14,6 @@ public interface IIssueJobAppService
Task<PagedResultDto<IssueJobDTO>> GetListByTypeAsync(SfsJobRequestInputBase requestInput, string requestType, Task<PagedResultDto<IssueJobDTO>> GetListByTypeAsync(SfsJobRequestInputBase requestInput, string requestType,
bool includeDetails = false, CancellationToken cancellationToken = default); bool includeDetails = false, CancellationToken cancellationToken = default);
Task<List<IssueJobDTO>> GetByRequestNumberAsync(string requestNumber);
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/DTOs/UnplannedIssueJobDetailDTO.cs

@ -10,4 +10,22 @@ public class UnplannedIssueJobDetailDTO : SfsJobRecommendFromDetailDTOBase
[Display(Name = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedIssueJobs/Inputs/UnplannedIssueJobDetailInput.cs

@ -11,6 +11,24 @@ public class UnplannedIssueJobDetailInput : SfsJobRecommendFromDetailInputBase,
[Display(Name = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
//// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

32
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/DTOs/UnplannedReceiptJobDetailDTO.cs

@ -1,6 +1,38 @@
using DocumentFormat.OpenXml.Wordprocessing;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class UnplannedReceiptJobDetailDTO : SfsJobRecommendToDetailDTOBase public class UnplannedReceiptJobDetailDTO : SfsJobRecommendToDetailDTOBase
{ {
/// <summary>
/// 原因代码
/// </summary>
[Display(Name = "原因代码")]
public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary>
/// 扩展属性
/// </summary>
[Display(Name = "扩展属性")]
public ExtraPropertyDictionary ExtraProperties { get; set; } = new ExtraPropertyDictionary();
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Jobs/UnplannedReceiptJobs/Inputs/UnplannedReceiptJobDetailInput.cs

@ -11,6 +11,24 @@ public class UnplannedReceiptJobDetailInput : SfsJobRecommendToDetailInputBase,
[Display(Name = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/UnplannedIssueNotes/DTOs/UnplannedIssueNoteDetailDTO.cs

@ -17,4 +17,22 @@ public class UnplannedIssueNoteDetailDTO : SfsStoreRecommendFromDetailWithLotPac
[Display(Name = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/UnplannedIssueNotes/Inputs/UnplannedIssueNoteDetailInput.cs

@ -13,6 +13,24 @@ public class UnplannedIssueNoteDetailInput : SfsStoreRecommendFromDetailWithLotP
[Display(Name = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/UnplannedReceiptNotes/DTOs/UnplannedReceiptNoteDetailDTO.cs

@ -16,4 +16,22 @@ public class UnplannedReceiptNoteDetailDTO : SfsStoreRecommendToDetailWithLotPac
/// </summary> /// </summary>
[Display(Name = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Notes/UnplannedReceiptNotes/Inputs/UnplannedReceiptNoteDetailInput.cs

@ -11,6 +11,24 @@ public class UnplannedReceiptNoteDetailInput : SfsStoreRecommendToDetailWithLotP
[Display(Name = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Orders/PurchaseOrders/IPurchaseOrderAppService.cs

@ -29,7 +29,7 @@ public interface IPurchaseOrderAppService
/// <param name="number"></param> /// <param name="number"></param>
/// <param name="input"></param> /// <param name="input"></param>
/// <returns></returns> /// <returns></returns>
Task UpdateDetailsAsync(string number, List<PurchaseOrderDetailUpdateInput> input); Task UpdateDetailsAsync(string number,List<PurchaseOrderDetailUpdateInput> input);
/// <summary> /// <summary>
/// 【批量创建】到货通知 (收货单) /// 【批量创建】到货通知 (收货单)

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/DTOs/UnplannedIssueRequestDetailDTO.cs

@ -12,4 +12,22 @@ public class UnplannedIssueRequestDetailDTO
/// </summary> /// </summary>
[Display(Name = "扩展属性")] [Display(Name = "扩展属性")]
public ExtraPropertyDictionary ExtraProperties { set; get; } = new ExtraPropertyDictionary(); public ExtraPropertyDictionary ExtraProperties { set; get; } = new ExtraPropertyDictionary();
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
} }

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedIssueRequests/Inputs/UnplannedIssueRequestDetailInput.cs

@ -10,4 +10,22 @@ public class UnplannedIssueRequestDetailInput : SfsStoreDetailWithLotPackingQtyL
/// </summary> /// </summary>
[Display(Name = "扩展属性")] [Display(Name = "扩展属性")]
public ExtraPropertyDictionary ExtraProperties { get; set; } = new ExtraPropertyDictionary(); public ExtraPropertyDictionary ExtraProperties { get; set; } = new ExtraPropertyDictionary();
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
} }

24
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/DTOs/UnplannedReceiptRequestDetailDTO.cs

@ -7,6 +7,30 @@ public class UnplannedReceiptRequestDetailDTO
: SfsStoreDetailWithLotPackingQtyLocationStatusDTOBase : SfsStoreDetailWithLotPackingQtyLocationStatusDTOBase
, IHasExtraProperties , IHasExtraProperties
{ {
/// <summary>
/// 原因代码
/// </summary>
[Display(Name = "原因代码")]
public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

18
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application.Contracts/Requests/UnplannedReceiptRequests/Inputs/UnplannedReceiptRequestDetailInput.cs

@ -5,6 +5,24 @@ namespace Win_in.Sfs.Wms.Store.Application.Contracts;
public class UnplannedReceiptRequestDetailInput : SfsStoreDetailWithLotPackingQtyLocationInputBase, IHasExtraProperties public class UnplannedReceiptRequestDetailInput : SfsStoreDetailWithLotPackingQtyLocationInputBase, IHasExtraProperties
{ {
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Bases/SfsJobAppServiceBase.cs

@ -11,6 +11,7 @@ using Volo.Abp.Validation;
using Win_in.Sfs.Shared.Application; using Win_in.Sfs.Shared.Application;
using Win_in.Sfs.Shared.Application.Contracts; using Win_in.Sfs.Shared.Application.Contracts;
using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
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;
@ -153,6 +154,12 @@ public abstract class SfsJobAppServiceBase<TEntity, TDetail, TEntityDto, TReques
public virtual async Task<TEntityDto> CompleteAsync(Guid id, TEntityDto dto) public virtual async Task<TEntityDto> CompleteAsync(Guid id, TEntityDto dto)
{ {
var handleEntity = ObjectMapper.Map<TEntityDto, TEntity>(dto); var handleEntity = ObjectMapper.Map<TEntityDto, TEntity>(dto);
var job= await _repository.GetAsync(id).ConfigureAwait(false);
if (job.JobStatus is EnumJobStatus.Closed or EnumJobStatus.Cancelled or EnumJobStatus.None or EnumJobStatus.Done)//需要考虑下 多次提交的问题 所以不判断 进行中
{
throw new UserFriendlyException($"任务状态错误:编号为【{job.Number}】的任务已经【{job.JobStatus.GetDisplayName()}】");
}
var handleResult = await _jobManager.CompleteAsync(handleEntity, CurrentUser).ConfigureAwait(false); var handleResult = await _jobManager.CompleteAsync(handleEntity, CurrentUser).ConfigureAwait(false);
var handleDto = ObjectMapper.Map<TEntity, TEntityDto>(handleResult); var handleDto = ObjectMapper.Map<TEntity, TEntityDto>(handleResult);
return handleDto; return handleDto;

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/ExchangeDatas/StoreApplicationAutoMapperProfile.cs

@ -10,7 +10,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
private void ExchangeDataAutoMapperProfile() private void ExchangeDataAutoMapperProfile()
{ {
CreateMap<ExchangeData, ExchangeDataDTO>() CreateMap<ExchangeData, ExchangeDataDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
// CreateMap<ExchangeDataCreateInput, ExchangeData>() // CreateMap<ExchangeDataCreateInput, ExchangeData>()
// .IgnoreAuditedObjectProperties() // .IgnoreAuditedObjectProperties()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CheckJobs/CheckJobAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<CheckJobDetail, CheckJobDetailDTO>() CreateMap<CheckJobDetail, CheckJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<CheckJobDetailInput, CheckJobDetail>() CreateMap<CheckJobDetailInput, CheckJobDetail>()

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/CountJobs/CountJobAutoMapperProfile.cs

@ -73,11 +73,9 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.Details); .Ignore(x => x.Details);
CreateMap<CountJobDetail, CountJobDetailDTO>() CreateMap<CountJobDetail, CountJobDetailDTO>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<CountJobDetailDTO, CountJobDetail>() CreateMap<CountJobDetailDTO, CountJobDetail>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<CountJobDetailInput, CountJobDetail>() CreateMap<CountJobDetailInput, CountJobDetail>()

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

@ -13,10 +13,10 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<DeliverJobDetail, DeliverJobDetailDTO>() CreateMap<DeliverJobDetail, DeliverJobDetailDTO>()
.IgnoreAuditedObjectProperties(); ;
CreateMap<DeliverJobDetailDTO, DeliverJobDetail>() CreateMap<DeliverJobDetailDTO, DeliverJobDetail>()
.IgnoreAuditedObjectProperties(); ;
CreateMap<DeliverJobEditInput, DeliverJob>(); CreateMap<DeliverJobEditInput, DeliverJob>();

5
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/InspectJobs/InspectJobAutoMapperProfile.cs

@ -16,11 +16,9 @@ public partial class StoreApplicationAutoMapperProfile : Profile
; ;
CreateMap<InspectJobDetail, InspectJobDetailDTO>() CreateMap<InspectJobDetail, InspectJobDetailDTO>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<InspectJobDetailDTO, InspectJobDetail>() CreateMap<InspectJobDetailDTO, InspectJobDetail>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<InspectJobDetailInput, InspectJobDetail>() CreateMap<InspectJobDetailInput, InspectJobDetail>()
@ -31,11 +29,9 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.Id); .Ignore(x => x.Id);
CreateMap<InspectJobSummaryDetail, InspectJobSummaryDetailDTO>() CreateMap<InspectJobSummaryDetail, InspectJobSummaryDetailDTO>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<InspectJobSummaryDetailDTO, InspectJobSummaryDetail>() CreateMap<InspectJobSummaryDetailDTO, InspectJobSummaryDetail>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<InspectJobSummaryDetailInput, InspectJobSummaryDetail>() CreateMap<InspectJobSummaryDetailInput, InspectJobSummaryDetail>()
@ -47,7 +43,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
; ;
CreateMap<InspectRequestDTO, InspectJob>() CreateMap<InspectRequestDTO, InspectJob>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.WarehouseCode) .Ignore(x => x.WarehouseCode)
.Ignore(x => x.Details) .Ignore(x => x.Details)
.Ignore(x => x.SummaryDetails) .Ignore(x => x.SummaryDetails)

8
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAppService.cs

@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
@ -151,6 +152,13 @@ public class IssueJobAppService
} }
[HttpPost("by-request-number/{requestNumber}")]
public virtual async Task<List<IssueJobDTO>> GetByRequestNumberAsync(string requestNumber)
{
var entitys = await _repository.GetListAsync(p => p.MaterialRequestNumber == requestNumber).ConfigureAwait(false);
return ObjectMapper.Map<List<IssueJob>, List<IssueJobDTO>>(entitys);
}
/* /*
/// <summary> /// <summary>
/// ///

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/IssueJobs/IssueJobAutoMapperProfile.cs

@ -14,11 +14,9 @@ public partial class StoreApplicationAutoMapperProfile : Profile
CreateMap<IssueJobDTO, IssueJob>(); CreateMap<IssueJobDTO, IssueJob>();
CreateMap<IssueJobDetail, IssueJobDetailDTO>() CreateMap<IssueJobDetail, IssueJobDetailDTO>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<IssueJobDetailDTO, IssueJobDetail>() CreateMap<IssueJobDetailDTO, IssueJobDetail>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<IssueJobDetailInput, IssueJobDetail>() CreateMap<IssueJobDetailInput, IssueJobDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/JisDeliverJobs/JisDeliverJobAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<JisDeliverJobDetail, JisDeliverJobDetailDTO>() CreateMap<JisDeliverJobDetail, JisDeliverJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<JisDeliverJobDetailInput, JisDeliverJobDetail>() CreateMap<JisDeliverJobDetailInput, JisDeliverJobDetail>()

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/ProductReceiveJobs/ProductReceiveJobAutoMapperProfile.cs

@ -13,8 +13,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<ProductReceiveJobDetail, ProductReceiveJobDetailDTO>() CreateMap<ProductReceiveJobDetail, ProductReceiveJobDetailDTO>()
.IgnoreAuditedObjectProperties() .ReverseMap();
.ReverseMap();
CreateMap<ProductReceiveJobDetailInput, ProductReceiveJobDetail>() CreateMap<ProductReceiveJobDetailInput, ProductReceiveJobDetail>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()

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

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<ProductionReturnJobDetail, ProductionReturnJobDetailDTO>() CreateMap<ProductionReturnJobDetail, ProductionReturnJobDetailDTO>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<ProductionReturnJobEditInput, ProductionReturnJob>(); CreateMap<ProductionReturnJobEditInput, ProductionReturnJob>();
@ -26,7 +25,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.Id); .Ignore(x => x.Id);
CreateMap<ProductionReturnJobDetailDTO, ProductionReturnJobDetail>() CreateMap<ProductionReturnJobDetailDTO, ProductionReturnJobDetail>()
.IgnoreAuditedObjectProperties()
; ;
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobAutoMapperProfile.cs

@ -16,11 +16,9 @@ public partial class StoreApplicationAutoMapperProfile : Profile
; ;
CreateMap<PurchaseReceiptJobDetail, PurchaseReceiptJobDetailDTO>() CreateMap<PurchaseReceiptJobDetail, PurchaseReceiptJobDetailDTO>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<PurchaseReceiptJobDetailDTO, PurchaseReceiptJobDetail>() CreateMap<PurchaseReceiptJobDetailDTO, PurchaseReceiptJobDetail>()
.IgnoreAuditedObjectProperties()
; ;
CreateMap<PurchaseReceiptJobDetailInput, PurchaseReceiptJobDetail>() CreateMap<PurchaseReceiptJobDetailInput, PurchaseReceiptJobDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/PurchaseReturnJobs/PurchaseReturnJobAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseReturnJobDetail, PurchaseReturnJobDetailDTO>() CreateMap<PurchaseReturnJobDetail, PurchaseReturnJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseReturnJobDetailInput, PurchaseReturnJobDetail>() CreateMap<PurchaseReturnJobDetailInput, PurchaseReturnJobDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedIssueJobs/UnplannedIssueJobAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<UnplannedIssueJobDetail, UnplannedIssueJobDetailDTO>() CreateMap<UnplannedIssueJobDetail, UnplannedIssueJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<UnplannedIssueJobDetailInput, UnplannedIssueJobDetail>() CreateMap<UnplannedIssueJobDetailInput, UnplannedIssueJobDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<UnplannedReceiptJobDetail, UnplannedReceiptJobDetailDTO>() CreateMap<UnplannedReceiptJobDetail, UnplannedReceiptJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<UnplannedReceiptJobDetailInput, UnplannedReceiptJobDetail>() CreateMap<UnplannedReceiptJobDetailInput, UnplannedReceiptJobDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ContainerBindNotes/ContainerBindNoteAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<ContainerBindNoteDetail, ContainerBindNoteDetailDTO>() CreateMap<ContainerBindNoteDetail, ContainerBindNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<ContainerBindNoteDetailInput, ContainerBindNoteDetail>() CreateMap<ContainerBindNoteDetailInput, ContainerBindNoteDetail>()

14
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/CountNotes/CountNoteAppService.cs

@ -24,7 +24,14 @@ namespace Win_in.Sfs.Wms.Store.Application;
[Route($"{StoreConsts.RootPath}count-note")] [Route($"{StoreConsts.RootPath}count-note")]
public class CountNoteAppService : public class CountNoteAppService :
SfsStoreWithDetailsAppServiceBase<CountNote, CountNoteDTO, SfsStoreRequestInputBase, CountNoteEditInput, CountNoteDetail, CountNoteDetailDTO, SfsStoreRequestInputBase, CountNoteImportInput>, SfsStoreWithDetailsAppServiceBase<CountNote,
CountNoteDTO,
SfsStoreRequestInputBase,
CountNoteEditInput,
CountNoteDetail,
CountNoteDetailDTO,
SfsStoreRequestInputBase,
CountNoteImportInput>,
ICountNoteAppService ICountNoteAppService
{ {
private readonly ICountNoteManager _countNoteManager; private readonly ICountNoteManager _countNoteManager;
@ -35,7 +42,10 @@ public class CountNoteAppService :
public CountNoteAppService( public CountNoteAppService(
ICountNoteRepository repository, ICountNoteRepository repository,
ICountNoteManager countNoteManager, ICountPlanAppService countPlanAppService, ILocationAppService locationAppService, IItemBasicAppService itemBasicAppService) : base(repository) ICountNoteManager countNoteManager,
ICountPlanAppService countPlanAppService,
ILocationAppService locationAppService,
IItemBasicAppService itemBasicAppService) : base(repository)
{ {
_countNoteManager = countNoteManager; _countNoteManager = countNoteManager;
_countPlanAppService = countPlanAppService; _countPlanAppService = countPlanAppService;

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/JisProductReceiptNotes/JisProductReceiptNoteAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<JisProductReceiptNoteDetail, JisProductReceiptNoteDetailDTO>() CreateMap<JisProductReceiptNoteDetail, JisProductReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.ProdLine) .Ignore(x => x.ProdLine)
.ReverseMap(); .ReverseMap();

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

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

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReceiptNotes/PurchaseReceiptNoteAutoMapperProfile.cs

@ -14,7 +14,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseReceiptNoteDetail, PurchaseReceiptNoteDetailDTO>() CreateMap<PurchaseReceiptNoteDetail, PurchaseReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseReceiptNoteDetailInput, PurchaseReceiptNoteDetail>() CreateMap<PurchaseReceiptNoteDetailInput, PurchaseReceiptNoteDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/PurchaseReturnNotes/PurchaseReturnNoteAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseReturnNoteDetail, PurchaseReturnNoteDetailDTO>() CreateMap<PurchaseReturnNoteDetail, PurchaseReturnNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseReturnNoteDetailInput, PurchaseReturnNoteDetail>() CreateMap<PurchaseReturnNoteDetailInput, PurchaseReturnNoteDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/ReceiptAbnormalNotes/ReceiptAbnormalNoteAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<ReceiptAbnormalNoteDetail, ReceiptAbnormalNoteDetailDTO>() CreateMap<ReceiptAbnormalNoteDetail, ReceiptAbnormalNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<ReceiptAbnormalNoteDetailInput, ReceiptAbnormalNoteDetail>() CreateMap<ReceiptAbnormalNoteDetailInput, ReceiptAbnormalNoteDetail>()

15
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/RecycledMaterialReceiptNotes/RecycledMaterialReceiptNoteAppService.cs

@ -49,31 +49,32 @@ public class RecycledMaterialReceiptNoteAppService :
[HttpPost("")] [HttpPost("")]
public override async Task<RecycledMaterialReceiptNoteDTO> CreateAsync(RecycledMaterialReceiptNoteEditInput input) public override async Task<RecycledMaterialReceiptNoteDTO> CreateAsync(RecycledMaterialReceiptNoteEditInput input)
{ {
var entity= ObjectMapper.Map<RecycledMaterialReceiptNoteEditInput, RecycledMaterialReceiptNote>(input); var entity = ObjectMapper.Map<RecycledMaterialReceiptNoteEditInput, RecycledMaterialReceiptNote>(input);
entity.Number=string.IsNullOrEmpty(input.Number) entity.Number = string.IsNullOrEmpty(input.Number)
? await GenerateNumberAsync(nameof(RecycledMaterialReceiptNote), input.ActiveDate) ? await GenerateNumberAsync(nameof(RecycledMaterialReceiptNote), input.ActiveDate)
.ConfigureAwait(false) .ConfigureAwait(false)
: input.Number; : input.Number;
entity.SetId(GuidGenerator.Create());
foreach (var detail in entity.Details) foreach (var detail in entity.Details)
{ {
var detailNumber = await GenerateNumberAsync(nameof(RecycledMaterialReceiptNote), input.ActiveDate) var detailNumber = await GenerateNumberAsync(nameof(RecycledMaterialReceiptNote), input.ActiveDate)
.ConfigureAwait(false); .ConfigureAwait(false);
detail.Number=detailNumber; detail.SetIdAndNumber(GuidGenerator, entity.Id, detailNumber);
var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false); var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false);
detail.LocationErpCode = locationDto.ErpLocationCode; detail.LocationErpCode = locationDto.ErpLocationCode;
detail.LocationArea = locationDto.AreaCode; detail.LocationArea = locationDto.AreaCode;
detail.LocationGroup = locationDto.LocationGroupCode; detail.LocationGroup = locationDto.LocationGroupCode;
detail.WarehouseCode=locationDto.WarehouseCode; detail.WarehouseCode = locationDto.WarehouseCode;
var itemBasicDto=await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
detail.StdPackQty = itemBasicDto.StdPackQty; detail.StdPackQty = itemBasicDto.StdPackQty;
detail.Uom = itemBasicDto.BasicUom; detail.Uom = itemBasicDto.BasicUom;
} }
entity=await _repository.InsertAsync(entity).ConfigureAwait(false); entity = await _repository.InsertAsync(entity).ConfigureAwait(false);
await LocalEventBus.PublishAsync(new SfsCreatedEntityEventData<RecycledMaterialReceiptNote>(entity),false).ConfigureAwait(false); await LocalEventBus.PublishAsync(new SfsCreatedEntityEventData<RecycledMaterialReceiptNote>(entity), false).ConfigureAwait(false);
return ObjectMapper.Map<RecycledMaterialReceiptNote, RecycledMaterialReceiptNoteDTO>(entity); return ObjectMapper.Map<RecycledMaterialReceiptNote, RecycledMaterialReceiptNoteDTO>(entity);
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Notes/RecycledMaterialReceiptNotes/RecycledMaterialReceiptNoteAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<RecycledMaterialReceiptNoteDetail, RecycledMaterialReceiptNoteDetailDTO>() CreateMap<RecycledMaterialReceiptNoteDetail, RecycledMaterialReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<RecycledMaterialReceiptNoteDetailInput, RecycledMaterialReceiptNoteDetail>() CreateMap<RecycledMaterialReceiptNoteDetailInput, RecycledMaterialReceiptNoteDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseOrderDetail, PurchaseOrderDetailDTO>() CreateMap<PurchaseOrderDetail, PurchaseOrderDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseOrderEditInput, PurchaseOrder>() CreateMap<PurchaseOrderEditInput, PurchaseOrder>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/SaleOrders/SaleOrderAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<SaleOrderDetail, SaleOrderDetailDTO>() CreateMap<SaleOrderDetail, SaleOrderDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<SaleOrderDetailInput, SaleOrderDetail>() CreateMap<SaleOrderDetailInput, SaleOrderDetail>()

9
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAppService.cs

@ -23,7 +23,14 @@ using Win_in.Sfs.Shared.Domain;
[Route($"{StoreConsts.RootPath}count-plan")] [Route($"{StoreConsts.RootPath}count-plan")]
public class CountPlanAppService : public class CountPlanAppService :
SfsStoreRequestAppServiceBase<CountPlan, CountPlanDTO, SfsStoreRequestInputBase, CountPlanEditInput, CountPlanDetail, CountPlanDetailDTO, SfsStoreRequestInputBase, CountPlanImportInput>, SfsStoreRequestAppServiceBase<CountPlan,
CountPlanDTO,
SfsStoreRequestInputBase,
CountPlanEditInput,
CountPlanDetail,
CountPlanDetailDTO,
SfsStoreRequestInputBase,
CountPlanImportInput>,
ICountPlanAppService ICountPlanAppService
{ {

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/CountPlans/CountPlanAutoMapperProfile.cs

@ -29,7 +29,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<CountPlanDetail, CountPlanDetailDTO>() CreateMap<CountPlanDetail, CountPlanDetailDTO>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.DiffQty) .Ignore(x => x.DiffQty)
.ReverseMap(); .ReverseMap();

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Plans/PreparationPlans/PreparationPlanAutoMapperProfile.cs

@ -10,7 +10,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
private void PreparationPlanAutoMapperProfile() private void PreparationPlanAutoMapperProfile()
{ {
CreateMap<PreparationPlan, PreparationPlanDTO>() CreateMap<PreparationPlan, PreparationPlanDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<PreparationPlanDetail, PreparationPlanDetailDTO>() CreateMap<PreparationPlanDetail, PreparationPlanDetailDTO>()

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/DeliverRequests/DeliverRequestFisAppService.cs

@ -115,7 +115,7 @@ public class DeliverRequestFisAppService :
detail.ItemDesc2 = itemBasicDto.Desc2; detail.ItemDesc2 = itemBasicDto.Desc2;
detail.ItemName = itemBasicDto.Name; detail.ItemName = itemBasicDto.Name;
detail.Uom = itemBasicDto.BasicUom; detail.Uom = itemBasicDto.BasicUom;
detail.StdPackQty=itemBasicDto.StdPackQty;
} }
} }

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/InspectRequests/InspectRequestAutoMapperProfile.cs

@ -14,7 +14,7 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<InspectRequestDetail, InspectRequestDetailDTO>() CreateMap<InspectRequestDetail, InspectRequestDetailDTO>()
.IgnoreAuditedObjectProperties(); ;
CreateMap<InspectRequestDetailInput, InspectRequestDetail>() CreateMap<InspectRequestDetailInput, InspectRequestDetail>()
.IgnoreAuditedObjectProperties() .IgnoreAuditedObjectProperties()

16
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ItemTransformRequests/ItemTransformRequestAppService.cs

@ -75,7 +75,8 @@ public class ItemTransformRequestAppService :
{ {
var fromLocationDto= await LocationAclService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false); var fromLocationDto= await LocationAclService.GetByCodeAsync(detail.FromLocationCode).ConfigureAwait(false);
var toLocationDto= await LocationAclService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false); var toLocationDto= await LocationAclService.GetByCodeAsync(detail.ToLocationCode).ConfigureAwait(false);
var itemBasicDto=await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false); var fromItemBasicDto=await ItemBasicAclService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
var toItemBasicDto = await ItemBasicAclService.GetByCodeAsync(detail.ToItemCode).ConfigureAwait(false);
var balanceDto= await _balanceAppService.GetByItemLocationAndPackingAsync(detail.FromPackingCode, detail.ItemCode, var balanceDto= await _balanceAppService.GetByItemLocationAndPackingAsync(detail.FromPackingCode, detail.ItemCode,
detail.FromLocationCode).ConfigureAwait(false); detail.FromLocationCode).ConfigureAwait(false);
@ -97,10 +98,15 @@ public class ItemTransformRequestAppService :
detail.ToLocationGroup = toLocationDto.LocationGroupCode; detail.ToLocationGroup = toLocationDto.LocationGroupCode;
detail.ToWarehouseCode = toLocationDto.WarehouseCode; detail.ToWarehouseCode = toLocationDto.WarehouseCode;
detail.ItemDesc1 = itemBasicDto.Desc1; detail.ItemDesc1 = fromItemBasicDto.Desc1;
detail.ItemDesc2= itemBasicDto.Desc2; detail.ItemDesc2= fromItemBasicDto.Desc2;
detail.ItemName= itemBasicDto.Name; detail.ItemName= fromItemBasicDto.Name;
detail.Uom = itemBasicDto.BasicUom; detail.Uom = fromItemBasicDto.BasicUom;
detail.ToItemCode = toItemBasicDto.Code;
detail.ToItemDesc1 = toItemBasicDto.Desc2;
detail.ToItemDesc2 = toItemBasicDto.Name;
detail.ItemName = toItemBasicDto.BasicUom;
} }
} }

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ItemTransformRequests/ItemTransformRequestAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<ItemTransformRequestDetail, ItemTransformRequestDetailDTO>() CreateMap<ItemTransformRequestDetail, ItemTransformRequestDetailDTO>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.ToItemName, y => y.MapFrom(d => d.ToItemName)) .ForMember(x => x.ToItemName, y => y.MapFrom(d => d.ToItemName))
.ForMember(x => x.ToItemDesc1, y => y.MapFrom(d => d.ToItemDesc1)) .ForMember(x => x.ToItemDesc1, y => y.MapFrom(d => d.ToItemDesc1))
.ForMember(x => x.ToItemDesc2, y => y.MapFrom(d => d.ToItemDesc2)) .ForMember(x => x.ToItemDesc2, y => y.MapFrom(d => d.ToItemDesc2))

12
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/MaterialRequestAppService.cs

@ -5,6 +5,7 @@ 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;
using DocumentFormat.OpenXml.Office.PowerPoint.Y2021.M06.Main;
using IdentityModel; using IdentityModel;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -43,15 +44,17 @@ public class MaterialRequestAppService : SfsStoreRequestAppServiceBase<MaterialR
private readonly IItemBasicAppService _itemBasicAppService; private readonly IItemBasicAppService _itemBasicAppService;
private readonly IProductionLineAppService _productionLineAppService; private readonly IProductionLineAppService _productionLineAppService;
private readonly IIssueJobAppService _issueJobAppService;
public MaterialRequestAppService( public MaterialRequestAppService(
IMaterialRequestRepository repository, IMaterialRequestRepository repository,
IMaterialRequestManager materialRequestManager, IMaterialRequestManager materialRequestManager,
IPreparationPlanManager preparationPlanManager, IPreparationPlanManager preparationPlanManager,
IItemStoreRelationAppService itemStoreRelationApp, IItemStoreRelationAppService itemStoreRelationApp,
IAreaAppService areaApp IAreaAppService areaApp,
, ILocationAppService locationAppService ILocationAppService locationAppService,
, IItemBasicAppService itemBasicAppService, IItemBasicAppService itemBasicAppService,
IProductionLineAppService productionLineAppService) IProductionLineAppService productionLineAppService,
IIssueJobAppService issueJobAppService)
: base(repository, materialRequestManager) : base(repository, materialRequestManager)
{ {
_materialRequestManager = materialRequestManager; _materialRequestManager = materialRequestManager;
@ -61,6 +64,7 @@ public class MaterialRequestAppService : SfsStoreRequestAppServiceBase<MaterialR
_locationAppService = locationAppService; _locationAppService = locationAppService;
_itemBasicAppService = itemBasicAppService; _itemBasicAppService = itemBasicAppService;
_productionLineAppService = productionLineAppService; _productionLineAppService = productionLineAppService;
_issueJobAppService = issueJobAppService;
} }
#region 东阳使用 #region 东阳使用

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/MaterialRequests/MaterialRequestAutoMapperProfile.cs

@ -14,7 +14,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<MaterialRequestDetail, MaterialRequestDetailDTO>() CreateMap<MaterialRequestDetail, MaterialRequestDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<MaterialRequestDetailInput, MaterialRequestDetail>() CreateMap<MaterialRequestDetailInput, MaterialRequestDetail>()

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Requests/ProductionReturnRequests/ProductionReturnRequestAutoMapperProfile.cs

@ -13,7 +13,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.ReverseMap(); .ReverseMap();
CreateMap<ProductionReturnRequestDetail, ProductionReturnRequestDetailDTO>() CreateMap<ProductionReturnRequestDetail, ProductionReturnRequestDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<ProductionReturnRequestEditInput, ProductionReturnRequest>(); CreateMap<ProductionReturnRequestEditInput, ProductionReturnRequest>();

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

@ -37,18 +37,20 @@ public class PurchaseReturnRequestAppService :
private readonly ILocationAppService _locationAppService; private readonly ILocationAppService _locationAppService;
private readonly ITransactionTypeAppService _transactionTypeAppService; private readonly ITransactionTypeAppService _transactionTypeAppService;
private readonly IPurchaseReturnRequestManager _purchaseReturnRequestManager; private readonly IPurchaseReturnRequestManager _purchaseReturnRequestManager;
private readonly IPurchaseOrderAppService _purchaseOrderAppService;
public PurchaseReturnRequestAppService( public PurchaseReturnRequestAppService(
IPurchaseReturnRequestRepository repository, IPurchaseReturnRequestRepository repository,
IPurchaseReturnRequestManager purchaseReturnRequestManager, IPurchaseReturnRequestManager purchaseReturnRequestManager,
IInventoryLabelAppService inventoryLabelApp, IInventoryLabelAppService inventoryLabelApp,
ILocationAppService locationAppService, ILocationAppService locationAppService,
ITransactionTypeAppService transactionTypeAppService) : base(repository, purchaseReturnRequestManager) ITransactionTypeAppService transactionTypeAppService,
IPurchaseOrderAppService purchaseOrderAppService) : base(repository, purchaseReturnRequestManager)
{ {
_purchaseReturnRequestManager = purchaseReturnRequestManager; _purchaseReturnRequestManager = purchaseReturnRequestManager;
_inventoryLabelApp = inventoryLabelApp; _inventoryLabelApp = inventoryLabelApp;
_locationAppService = locationAppService; _locationAppService = locationAppService;
_transactionTypeAppService = transactionTypeAppService; _transactionTypeAppService = transactionTypeAppService;
_purchaseOrderAppService = purchaseOrderAppService;
base.CreatePolicyName = PurchaseReturnRequestPermissions.Create; base.CreatePolicyName = PurchaseReturnRequestPermissions.Create;
base.UpdatePolicyName = PurchaseReturnRequestPermissions.Update; base.UpdatePolicyName = PurchaseReturnRequestPermissions.Update;
@ -97,13 +99,16 @@ public class PurchaseReturnRequestAppService :
var labelDto = await _inventoryLabelApp.GetByCodeAsync(detail.PackingCode).ConfigureAwait(false); var labelDto = await _inventoryLabelApp.GetByCodeAsync(detail.PackingCode).ConfigureAwait(false);
var balanceDto = await BalanceAclService.GetByPackingCodeAsync(detail.PackingCode).ConfigureAwait(false); var balanceDto = await BalanceAclService.GetByPackingCodeAsync(detail.PackingCode).ConfigureAwait(false);
var locationDto= await _locationAppService.GetByCodeAsync(balanceDto.LocationCode).ConfigureAwait(false); var locationDto= await _locationAppService.GetByCodeAsync(balanceDto.LocationCode).ConfigureAwait(false);
var purchaseOrderDto= await _purchaseOrderAppService.GetByNumberAsync(labelDto.PoNumber).ConfigureAwait(false);
purchaseOrderDto = await _purchaseOrderAppService.GetAsync(purchaseOrderDto.Id).ConfigureAwait(false);
purchaseReturnRequest.AsnNumber = labelDto.AsnNumber; purchaseReturnRequest.AsnNumber = labelDto.AsnNumber;
purchaseReturnRequest.RpNumber = labelDto.RpNumber; purchaseReturnRequest.RpNumber = labelDto.RpNumber;
purchaseReturnRequest.ReturnTime=DateTime.Now; purchaseReturnRequest.ReturnTime=DateTime.Now;
purchaseReturnRequest.SupplierCode= labelDto.SupplierCode; purchaseReturnRequest.SupplierCode= labelDto.SupplierCode;
purchaseReturnRequest.ReturnType = EnumPurchaseReturnType.AfterPuton; purchaseReturnRequest.ReturnType = EnumPurchaseReturnType.AfterPuton;
purchaseReturnRequest.PoNumber = labelDto.PoNumber; purchaseReturnRequest.PoNumber = labelDto.PoNumber;
await SetDetailPropertiesAsync(detail, labelDto, balanceDto,locationDto).ConfigureAwait(false); await SetDetailPropertiesAsync(detail, labelDto, balanceDto,locationDto, purchaseOrderDto).ConfigureAwait(false);
} }
} }
@ -135,12 +140,15 @@ public class PurchaseReturnRequestAppService :
/// <param name="labelDto"></param> /// <param name="labelDto"></param>
/// <param name="balanceDto"></param> /// <param name="balanceDto"></param>
/// <param name="locationDto"></param> /// <param name="locationDto"></param>
/// <param name="purchaseOrderDto"></param>
/// <returns></returns> /// <returns></returns>
private async Task SetDetailPropertiesAsync( private async Task SetDetailPropertiesAsync(
PurchaseReturnRequestDetail detail, PurchaseReturnRequestDetail detail,
InventoryLabelDto labelDto, InventoryLabelDto labelDto,
BalanceDTO balanceDto, BalanceDTO balanceDto,
LocationDTO locationDto) LocationDTO locationDto,
PurchaseOrderDTO purchaseOrderDto
)
{ {
if (labelDto != null) if (labelDto != null)
{ {
@ -171,6 +179,12 @@ public class PurchaseReturnRequestAppService :
detail.StdPackQty = balanceDto.StdPackQty; detail.StdPackQty = balanceDto.StdPackQty;
detail.Qty = balanceDto.Qty; detail.Qty = balanceDto.Qty;
} }
if (purchaseOrderDto != null)
{
detail.PoLine =
purchaseOrderDto.Details.FirstOrDefault(p => p.ItemCode == balanceDto.ItemCode && p.Lot == balanceDto.Lot).PoLine;
}
} }
#endregion #endregion

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/PurchaseReceiptJobs/PurchaseReceiptJobManager.cs

@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Users; using Volo.Abp.Users;
using Volo.Abp.Validation; using Volo.Abp.Validation;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
@ -31,9 +32,7 @@ public class PurchaseReceiptJobManager : SfsJobManagerBase<PurchaseReceiptJob, P
public override async Task<PurchaseReceiptJob> CompleteAsync(PurchaseReceiptJob input, ICurrentUser user) public override async Task<PurchaseReceiptJob> CompleteAsync(PurchaseReceiptJob input, ICurrentUser user)
{ {
var entity = await Repository.FindAsync(input.Id).ConfigureAwait(false); var entity = await Repository.FindAsync(input.Id).ConfigureAwait(false);
BuildDetailHandledAsync(input, entity); BuildDetailHandledAsync(input, entity);
//设置任务为完成 //设置任务为完成
return await base.CompleteAsync(entity, user).ConfigureAwait(false); return await base.CompleteAsync(entity, user).ConfigureAwait(false);
} }

19
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedIssueJobs/UnplannedIssueJobDetail.cs

@ -1,3 +1,4 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Data; using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Domain;
@ -9,6 +10,24 @@ public class UnplannedIssueJobDetail : SfsJobRecommendFromDetailEntityBase, IHas
/// </summary> /// </summary>
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

19
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Jobs/UnplannedReceiptJobs/UnplannedReceiptJobDetail.cs

@ -1,3 +1,4 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Data; using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Domain;
@ -10,6 +11,24 @@ public class UnplannedReceiptJobDetail : SfsJobRecommendToDetailEntityBase, IHas
/// </summary> /// </summary>
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

19
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/UnplannedIssueNotes/UnplannedIssueNoteDetail.cs

@ -1,3 +1,4 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Data; using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Domain;
@ -9,6 +10,24 @@ public class UnplannedIssueNoteDetail : SfsStoreRecommendFromDetailWithLotPackin
/// </summary> /// </summary>
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

19
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Notes/UnplannedReceiptNotes/UnplannedReceiptNoteDetail.cs

@ -1,3 +1,4 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Data; using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Domain;
@ -9,6 +10,24 @@ public class UnplannedReceiptNoteDetail : SfsStoreRecommendToDetailWithLotPackin
/// </summary> /// </summary>
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/MaterialRequestDetail.cs

@ -74,7 +74,7 @@ public class MaterialRequestDetail : SfsStoreDetailWithQtyEntityBase, IHasToLoca
public EnumStatus Status { get; set; } public EnumStatus Status { get; set; }
/// <summary> /// <summary>
/// 请求未发 /// 请求未发 还未发送的数量
/// </summary> /// </summary>
[NotMapped] [NotMapped]
public decimal ToBeIssuedQty => Qty - IssuedQty; public decimal ToBeIssuedQty => Qty - IssuedQty;

100
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/MaterialRequestManager.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 DocumentFormat.OpenXml.Math;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Shared.Event;
using static Win_in.Sfs.Wms.Store.Domain.Shared.StoreSettings; using static Win_in.Sfs.Wms.Store.Domain.Shared.StoreSettings;
@ -12,12 +14,15 @@ public class MaterialRequestManager
, IMaterialRequestManager , IMaterialRequestManager
{ {
private readonly IMaterialRequestRepository _repository; private readonly IMaterialRequestRepository _repository;
private readonly IIssueJobRepository _issueJobRepository;
public MaterialRequestManager( public MaterialRequestManager(
IMaterialRequestRepository repository IMaterialRequestRepository repository
, IIssueJobRepository issueJobRepository
) : base(repository) ) : base(repository)
{ {
_repository = repository; _repository = repository;
_issueJobRepository = issueJobRepository;
} }
/// <summary> /// <summary>
@ -27,7 +32,7 @@ public class MaterialRequestManager
/// <returns></returns> /// <returns></returns>
public virtual async Task<MaterialRequest> CreateBynNumberAsync(MaterialRequest entity) public virtual async Task<MaterialRequest> CreateBynNumberAsync(MaterialRequest entity)
{ {
var number = string.IsNullOrEmpty(entity.Number) ? await GenerateNumberAsync(typeof(MaterialRequest).Name, entity.ActiveDate).ConfigureAwait(false) : entity.Number; var number = string.IsNullOrEmpty(entity.Number) ? await GenerateNumberAsync(nameof(MaterialRequest), entity.ActiveDate).ConfigureAwait(false) : entity.Number;
entity.SetIdAndNumberWithDetails(GuidGenerator, number); entity.SetIdAndNumberWithDetails(GuidGenerator, number);
entity.Submit(); entity.Submit();
entity.Agree(); entity.Agree();
@ -38,6 +43,72 @@ public class MaterialRequestManager
return entity; return entity;
} }
public virtual async Task UpdateDetailsAsync(MaterialRequest newEntity)
{
var oldEntity = await Repository.FindAsync(newEntity.Id, true).ConfigureAwait(false);
foreach (var newDetail in newEntity.Details)
{
oldEntity.ReplaceDetail(newDetail.Id, newDetail);
}
foreach (var detail in oldEntity.Details)
{
SetMaterialRequestDetailStatus(detail);
}
await SetMaterialRequestStatus(oldEntity).ConfigureAwait(false);
await Repository.UpdateAsync(oldEntity).ConfigureAwait(false);
}
private void SetMaterialRequestDetailStatus(MaterialRequestDetail detail)
{
if (detail.ReceivedQty >= detail.Qty)//执行的时候 实际收料 多余 要料数
{
detail.Status = EnumStatus.Close;
}
else
{
detail.Status = EnumStatus.Open;
}
}
private async Task SetMaterialRequestStatus(MaterialRequest materialRequest)
{
if (!materialRequest.Details.All(p => p.Status == EnumStatus.Close))
{
var issueJobs = await _issueJobRepository.GetListAsync(t => t.MaterialRequestNumber == materialRequest.Number).ConfigureAwait(false);
if (issueJobs.Count > 0)
{
if (issueJobs.All(t => t.JobStatus == EnumJobStatus.Done||t.JobStatus==EnumJobStatus.Closed||t.JobStatus==EnumJobStatus.Cancelled))
{
materialRequest.RequestStatus = EnumRequestStatus.Completed;
}
else
{
materialRequest.RequestStatus = EnumRequestStatus.Partial;
}
}
else
{
materialRequest.RequestStatus = EnumRequestStatus.Partial;
}
}
else
{
materialRequest.RequestStatus = EnumRequestStatus.Completed;
}
}
public virtual async Task CompleteAsync(string number)
{
var entity = await GetByNumberAsync(number).ConfigureAwait(false);
if (entity != null && !entity.Details.Any(p => p.ToBeIssuedQty > 0))
{
await CompleteAsync(entity).ConfigureAwait(false);
}
}
#region 公有 #region 公有
@ -119,33 +190,6 @@ public class MaterialRequestManager
} }
*/ */
public virtual async Task UpdateDetailsAsync(MaterialRequest newEntity)
{
var oldEntity = await Repository.FindAsync(newEntity.Id, true).ConfigureAwait(false);
foreach (var newDetail in newEntity.Details)
{
oldEntity.ReplaceDetail(newDetail.Id, newDetail);
}
var flag=oldEntity.Details.Any(p => p.ReceivedQty < p.Qty);//还有补料完 没收到的货
if (!flag)
{
oldEntity.Complete();
}
await Repository.UpdateAsync(oldEntity).ConfigureAwait(false);
}
public virtual async Task CompleteAsync(string number)
{
var entity = await GetByNumberAsync(number).ConfigureAwait(false);
if (entity!=null &&!entity.Details.Any(p => p.ToBeIssuedQty > 0))
{
await CompleteAsync(entity).ConfigureAwait(false);
}
}
#endregion #endregion

19
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedIssueRequests/UnplannedIssueRequestDetail.cs

@ -1,3 +1,4 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Data; using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Domain;
@ -8,6 +9,24 @@ namespace Win_in.Sfs.Wms.Store.Domain;
public class UnplannedIssueRequestDetail : SfsStoreDetailWithLotPackingQtyLocationStatusEntityBase public class UnplannedIssueRequestDetail : SfsStoreDetailWithLotPackingQtyLocationStatusEntityBase
, IHasExtraProperties , IHasExtraProperties
{ {
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

24
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/UnplannedReceiptRequests/UnplannedReceiptRequestDetail.cs

@ -1,3 +1,4 @@
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Data; using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Domain;
@ -7,6 +8,29 @@ namespace Win_in.Sfs.Wms.Store.Domain;
/// </summary> /// </summary>
public class UnplannedReceiptRequestDetail : SfsStoreDetailWithLotPackingQtyLocationStatusEntityBase, IHasExtraProperties public class UnplannedReceiptRequestDetail : SfsStoreDetailWithLotPackingQtyLocationStatusEntityBase, IHasExtraProperties
{ {
/// <summary>
/// 原因代码
/// </summary>
public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

2
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Jobs/CountJobAutoMapperProfile.cs

@ -102,8 +102,6 @@ public partial class StoreEventAutoMapperProfile : Profile
; ;
CreateMap<CountPlanDetailDTO, CountJobDetail>() CreateMap<CountPlanDetailDTO, CountJobDetail>()
.IgnoreAuditedObjectProperties()
// .ForMember(x => x.Item, y => y.MapFrom(d => new Item(d.ItemName, d.ItemDesc1, d.ItemDesc2))) // .ForMember(x => x.Item, y => y.MapFrom(d => new Item(d.ItemName, d.ItemDesc1, d.ItemDesc2)))
// .ForMember(x => x.Batch, y => y.MapFrom(d => new Batch(d.SupplierBatch, d.ArriveDate, d.ProduceDate, d.ExpireDate))) // .ForMember(x => x.Batch, y => y.MapFrom(d => new Batch(d.SupplierBatch, d.ArriveDate, d.ProduceDate, d.ExpireDate)))
.ForMember(x => x.InventoryLocationCode, y => y.MapFrom(d => d.LocationCode)) .ForMember(x => x.InventoryLocationCode, y => y.MapFrom(d => d.LocationCode))

1
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/AutoMapperProfiles/Notes/RecycledMaterialReceiptNoteAutoMapperProfile.cs

@ -24,7 +24,6 @@ public partial class StoreEventAutoMapperProfile : Profile
CreateMap<RecycledMaterialReceiptNote, RecycledMaterialReceiptNoteDTO>() CreateMap<RecycledMaterialReceiptNote, RecycledMaterialReceiptNoteDTO>()
.ReverseMap(); .ReverseMap();
CreateMap<RecycledMaterialReceiptNoteDetail, RecycledMaterialReceiptNoteDetailDTO>() CreateMap<RecycledMaterialReceiptNoteDetail, RecycledMaterialReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap() .ReverseMap()
; ;
} }

7
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/ExpectInOuts/IssueJobEventHandler.cs

@ -17,6 +17,13 @@ public class IssueJobEventHandler :
, ILocalEventHandler<SfsCancelledEntityEventData<IssueJob>> , ILocalEventHandler<SfsCancelledEntityEventData<IssueJob>>
{ {
private readonly IBalanceAppService _balanceAppService;
public IssueJobEventHandler(IBalanceAppService balanceAppService)
{
_balanceAppService = balanceAppService;
}
[UnitOfWork] [UnitOfWork]
public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<IssueJob> eventData) public virtual async Task HandleEventAsync(SfsCreatedEntityEventData<IssueJob> eventData)
{ {

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

@ -1,3 +1,4 @@
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -59,6 +60,7 @@ public class ProductionReturnJobEventHandler :
{ {
var input = ObjectMapper.Map<ProductionReturnJob, ProductionReturnNoteEditInput>(entity); var input = ObjectMapper.Map<ProductionReturnJob, ProductionReturnNoteEditInput>(entity);
input.ReturnTime=DateTime.Now;
input.Details = new List<ProductionReturnNoteDetailInput>(); input.Details = new List<ProductionReturnNoteDetailInput>();
foreach (var detail in entity.Details.Where(detail => detail.HandledQty != 0)) foreach (var detail in entity.Details.Where(detail => detail.HandledQty != 0))

15
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Jobs/PurchaseReceiptJobEventHandler.cs

@ -35,7 +35,7 @@ public class PurchaseReceiptJobEventHandler :
var entity = eventData.Entity; var entity = eventData.Entity;
//创建收货记录 //创建收货记录
await CreatePurchaseReceiptNoteAsync(entity).ConfigureAwait(false); await BuildPurchaseReceiptNoteAsync(entity).ConfigureAwait(false);
} }
#region 私有 #region 私有
@ -44,8 +44,9 @@ public class PurchaseReceiptJobEventHandler :
/// 创建收货记录 /// 创建收货记录
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
private async Task CreatePurchaseReceiptNoteAsync(PurchaseReceiptJob purchaseReceiptJob) private async Task BuildPurchaseReceiptNoteAsync(PurchaseReceiptJob purchaseReceiptJob)
{ {
var holdLocation = await LocationAclService.GetFirstByTypeAsync(EnumLocationType.HOLD).ConfigureAwait(false); //隔离库位
var createInput = ObjectMapper.Map<PurchaseReceiptJob, PurchaseReceiptNoteEditInput>(purchaseReceiptJob); var createInput = ObjectMapper.Map<PurchaseReceiptJob, PurchaseReceiptNoteEditInput>(purchaseReceiptJob);
//未收货记录 //未收货记录
@ -58,6 +59,16 @@ public class PurchaseReceiptJobEventHandler :
detailInput.PurchaseReceiptInspectStatus = EnumPurchaseReceiptInspect.NORECEIPT; detailInput.PurchaseReceiptInspectStatus = EnumPurchaseReceiptInspect.NORECEIPT;
} }
var noOkNoteDetailInputs =
createInput.Details.Where(p => p.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.NOK);
foreach (var detailInput in noOkNoteDetailInputs)
{
detailInput.HandledToLocationArea = holdLocation.AreaCode;
detailInput.HandledToLocationErpCode = holdLocation.ErpLocationCode;
detailInput.HandledToLocationGroup = holdLocation.LocationGroupCode;
detailInput.HandledToWarehouseCode=holdLocation.WarehouseCode;
}
await _purchaseReceiptNoteAppService.CreateAsync(createInput).ConfigureAwait(false); await _purchaseReceiptNoteAppService.CreateAsync(createInput).ConfigureAwait(false);
} }

140
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/DeliverRequestEventHandler.cs

@ -9,33 +9,89 @@ using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Inventory.Application.Contracts; using Win_in.Sfs.Wms.Inventory.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain;
namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest; namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest;
using Win_in.Sfs.Wms.Store.Application.Contracts;
public class DeliverRequestEventHandler public class DeliverRequestEventHandler
: StoreEventHandlerBase : StoreEventHandlerBase
, ILocalEventHandler<SfsHandledEntityEventData<DeliverRequest>> , ILocalEventHandler<SfsHandledEntityEventData<DeliverRequest>>
, ILocalEventHandler<SfsAbortedEntityEventData<DeliverRequest>> , ILocalEventHandler<SfsAbortedEntityEventData<DeliverRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<DeliverRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<List<DeliverRequest>>>
{ {
private readonly IDeliverNoteAppService _deliverNoteApp; private readonly IDeliverNoteAppService _deliverNoteApp;
private readonly IDeliverJobAppService _deliverJobApp; private readonly IDeliverJobAppService _deliverJobApp;
private readonly ICustomerAddressAppService _customerAddressApp; private readonly ICustomerAddressAppService _customerAddressApp;
private readonly IDeliverRequestManager _deliverRequestManager;
public DeliverRequestEventHandler( public DeliverRequestEventHandler(
IDeliverJobAppService deliverJobApp IDeliverJobAppService deliverJobApp
, IDeliverNoteAppService deliverNoteApp , IDeliverNoteAppService deliverNoteApp
, ICustomerAddressAppService customerAddressApp , ICustomerAddressAppService customerAddressApp, IDeliverRequestManager deliverRequestManager)
)
{ {
_deliverNoteApp = deliverNoteApp; _deliverNoteApp = deliverNoteApp;
_deliverJobApp = deliverJobApp; _deliverJobApp = deliverJobApp;
_customerAddressApp = customerAddressApp; _customerAddressApp = customerAddressApp;
_deliverRequestManager = deliverRequestManager;
}
/// <summary>
/// 创建后
/// </summary>
/// <param name="eventData">Event data</param>
[UnitOfWork]
public async Task HandleEventAsync(SfsCreatedEntityEventData<DeliverRequest> eventData)
{
var entity = eventData.Entity;
if (entity.AutoSubmit)
{
await _deliverRequestManager.SubmitAsync(entity).ConfigureAwait(false);
}
}
/// <summary>
/// 批量创建后
/// </summary>
/// <param name="eventData">Event data</param>
[UnitOfWork]
public async Task HandleEventAsync(SfsCreatedEntityEventData<List<DeliverRequest>> eventData)
{
var entitys = eventData.Entity;
foreach (var entity in entitys)
{
if (entity.AutoSubmit)
{
await _deliverRequestManager.SubmitAsync(entity).ConfigureAwait(false);
}
}
} }
/// <summary>
/// 审批后
/// </summary>
/// <param name="eventData"></param>
/// <returns></returns>
[UnitOfWork]
public virtual async Task HandleEventAsync(SfsAbortedEntityEventData<DeliverRequest> eventData)
{
var entity = eventData.Entity;
//东阳特殊逻辑
if (!entity.DirectCreateNote)
{
await _deliverJobApp.CancelByDeliverRequestAsync(entity.Number).ConfigureAwait(false);
}
}
/// <summary>
/// 执行后
/// </summary>
/// <param name="eventData"></param>
/// <returns></returns>
[UnitOfWork] [UnitOfWork]
public virtual async Task HandleEventAsync(SfsHandledEntityEventData<DeliverRequest> eventData) public virtual async Task HandleEventAsync(SfsHandledEntityEventData<DeliverRequest> eventData)
{ {
@ -54,26 +110,32 @@ public class DeliverRequestEventHandler
} }
} }
#region 私有
private async Task<DeliverNoteEditInput> BuildDeliverNoteAsync(DeliverRequest request) private async Task<DeliverNoteEditInput> BuildDeliverNoteAsync(DeliverRequest request)
{ {
var transactionType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.Deliver, EnumTransSubType.None).ConfigureAwait(false); var transactionType = await TransactionTypeAclService
.GetByTransTypeAsync(EnumTransType.Deliver, EnumTransSubType.None).ConfigureAwait(false);
if (request.DeliverRequestType == EnumDeliverRequestType.Normal) if (request.DeliverRequestType == EnumDeliverRequestType.Normal)
{ {
transactionType = await TransactionTypeAclService.GetByTransTypeAsync( transactionType = await TransactionTypeAclService.GetByTransTypeAsync(
EnumTransType.Deliver, EnumTransType.Deliver,
EnumTransSubType.Deliver_Standard).ConfigureAwait(false); EnumTransSubType.Deliver_Standard).ConfigureAwait(false);
} }
else if (request.DeliverRequestType == EnumDeliverRequestType.FIS) else if (request.DeliverRequestType == EnumDeliverRequestType.FIS)
{ {
transactionType = await TransactionTypeAclService.GetByTransTypeAsync( transactionType = await TransactionTypeAclService.GetByTransTypeAsync(
EnumTransType.Deliver, EnumTransType.Deliver,
EnumTransSubType.Deliver_FIS).ConfigureAwait(false); EnumTransSubType.Deliver_FIS).ConfigureAwait(false);
} }
var createInput = ObjectMapper.Map<DeliverRequest, DeliverNoteEditInput>(request); var createInput = ObjectMapper.Map<DeliverRequest, DeliverNoteEditInput>(request);
var customerAddress = (await _customerAddressApp.GetByCustomerCodeAsync(request.CustomerCode).ConfigureAwait(false)).FirstOrDefault(); var customerAddress =
(await _customerAddressApp.GetByCustomerCodeAsync(request.CustomerCode).ConfigureAwait(false))
.FirstOrDefault();
LocationDTO toLocation = null; LocationDTO toLocation = null;
if (customerAddress != null && !string.IsNullOrEmpty(customerAddress.LocationCode)) if (customerAddress != null && !string.IsNullOrEmpty(customerAddress.LocationCode))
@ -88,14 +150,14 @@ public class DeliverRequestEventHandler
foreach (var detail in request.Details) foreach (var detail in request.Details)
{ {
var balances = await BalanceAclService.GetRecommendBalancesAsync( var balances = await BalanceAclService.GetRecommendBalancesAsync(
new RecommendBalanceRequestInput() new RecommendBalanceRequestInput
{ {
ItemCode = detail.ItemCode, ItemCode = detail.ItemCode,
Qty = detail.Qty, Qty = detail.Qty,
LocationTypes = transactionType.OutLocationTypes, LocationTypes = transactionType.OutLocationTypes,
LocationAreas = new List<string>() { detail.AreaCode }, LocationAreas = new List<string> { detail.AreaCode },
Statuses = transactionType.OutInventoryStatuses Statuses = transactionType.OutInventoryStatuses
}).ConfigureAwait(false); }).ConfigureAwait(false);
var sumQty = balances.Sum(t => t.Qty); var sumQty = balances.Sum(t => t.Qty);
@ -150,9 +212,12 @@ public class DeliverRequestEventHandler
throw new ArgumentOutOfRangeException(); throw new ArgumentOutOfRangeException();
} }
var transactionType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.Deliver, transSubType).ConfigureAwait(false); var transactionType = await TransactionTypeAclService.GetByTransTypeAsync(EnumTransType.Deliver, transSubType)
.ConfigureAwait(false);
var createInput = ObjectMapper.Map<DeliverRequest, DeliverJobEditInput>(request); var createInput = ObjectMapper.Map<DeliverRequest, DeliverJobEditInput>(request);
var customerAddress = (await _customerAddressApp.GetByCustomerCodeAsync(request.CustomerCode).ConfigureAwait(false)).FirstOrDefault(); var customerAddress =
(await _customerAddressApp.GetByCustomerCodeAsync(request.CustomerCode).ConfigureAwait(false))
.FirstOrDefault();
LocationDTO toLocation = null; LocationDTO toLocation = null;
if (customerAddress != null && !string.IsNullOrEmpty(customerAddress.LocationCode)) if (customerAddress != null && !string.IsNullOrEmpty(customerAddress.LocationCode))
{ {
@ -165,14 +230,14 @@ public class DeliverRequestEventHandler
foreach (var detail in request.Details) foreach (var detail in request.Details)
{ {
var balances = await BalanceAclService.GetRecommendBalancesAsync( var balances = await BalanceAclService.GetRecommendBalancesAsync(
new RecommendBalanceRequestInput() new RecommendBalanceRequestInput
{ {
ItemCode = detail.ItemCode, ItemCode = detail.ItemCode,
Qty = detail.Qty, Qty = detail.Qty,
LocationTypes = transactionType.OutLocationTypes, LocationTypes = transactionType.OutLocationTypes,
LocationAreas = new List<string>() { detail.AreaCode }, LocationAreas = new List<string> { detail.AreaCode },
Statuses = transactionType.OutInventoryStatuses Statuses = transactionType.OutInventoryStatuses
}).ConfigureAwait(false); }).ConfigureAwait(false);
var sumQty = balances.Sum(t => t.Qty); var sumQty = balances.Sum(t => t.Qty);
@ -190,6 +255,7 @@ public class DeliverRequestEventHandler
inputDetail.ToLocationErpCode = toLocation.ErpLocationCode; inputDetail.ToLocationErpCode = toLocation.ErpLocationCode;
inputDetail.ToWarehouseCode = toLocation.WarehouseCode; inputDetail.ToWarehouseCode = toLocation.WarehouseCode;
} }
var item = await ItemBasicAclService.GetByCodeAsync(balance.ItemCode).ConfigureAwait(false); var item = await ItemBasicAclService.GetByCodeAsync(balance.ItemCode).ConfigureAwait(false);
if (item != null) if (item != null)
@ -214,18 +280,8 @@ public class DeliverRequestEventHandler
createInput.Priority = PriorityHelper.GetPriority(Clock); createInput.Priority = PriorityHelper.GetPriority(Clock);
createInput.PriorityIncrement = 1; createInput.PriorityIncrement = 1;
return new List<DeliverJobEditInput>() { createInput }; return new List<DeliverJobEditInput> { createInput };
} }
[UnitOfWork] #endregion
public virtual async Task HandleEventAsync(SfsAbortedEntityEventData<DeliverRequest> eventData)
{
var entity = eventData.Entity;
//东阳特殊逻辑
if (!entity.DirectCreateNote)
{
await _deliverJobApp.CancelByDeliverRequestAsync(entity.Number).ConfigureAwait(false);
}
}
} }

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

Loading…
Cancel
Save