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": {
"Default": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True",
"DataExchange": "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,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"
},
"AuthServer": {
"Authority": "http://dev.ccwin-in.com:21293/",
"Authority": "http://dev.ccwin-in.com:60083/",
"RequireHttpsMetadata": "false",
"SwaggerClientId": "admin",
"SwaggerClientSecret": "1q2w3E*",
@ -25,13 +25,13 @@
"RemoteServices": {
"BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:21294/"
"BaseUrl": "http://dev.ccwin-in.com:60084/"
},
"Store": {
"BaseUrl": "http://dev.ccwin-in.com:21295/"
"BaseUrl": "http://dev.ccwin-in.com:60085/"
},
"Label": {
"BaseUrl": "http://dev.ccwin-in.com:21292/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
}
},
"EosOptions": {

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

@ -1,12 +1,12 @@
{
"ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database= WMS;uid=sa;pwd=aA123456!;TrustServerCertificate=True;",
"DataExchange": "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,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;"
},
"AuthServer": {
"Authority": "http://dev.ccwin-in.com:21293/",
"Authority": "http://dev.ccwin-in.com:60083/",
"RequireHttpsMetadata": "false",
"SwaggerClientId": "admin",
"SwaggerClientSecret": "1q2w3E*",
@ -24,14 +24,15 @@
"RemoteServices": {
"BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:21294/"
"BaseUrl": "http://dev.ccwin-in.com:60084/"
},
"Store": {
"BaseUrl": "http://dev.ccwin-in.com:21295/"
"BaseUrl": "http://dev.ccwin-in.com:60085/"
},
"Label": {
"BaseUrl": "http://dev.ccwin-in.com:21292/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
}
},
"MesOptions": {
"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);
dataInterfaceList.Add(receipt);
}
else if (entity.TableType == EnumExchangeTableType.DetailTable) // 子表(DetailTable)
else if (entity.TableType == EnumExchangeTableType.DetailTable) // 子表(DetailTable)
{
var receiptDetail = JsonSerializer.Deserialize<Scmsend>(entity.DestinationDataContent);
dataInterfaceDetailList.Add(receiptDetail);
}
}
//dataInterface分主子表分别写入ERP
await _dataInterfaceManager.PostListAsync(dataInterfaceList, dataInterfaceDetailList).ConfigureAwait(false);
try
{
//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);

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 ItemTransformNoteList = await ItemTransformNoteConvert.ConvertAsync().ConfigureAwait(false);
await countadjustWriter.WriteAsync(ItemTransformNoteList).ConfigureAwait(false);
Logger.LogInformation($"Completed: Handling {Outgoing}");
Logger.LogInformation($"Write ScrapNote");//报废单、线边仓报废单
var scrapNoteConvert = workerContext.ServiceProvider.GetRequiredService<ScrapNoteConverter>();
var scrapNoteList = await scrapNoteConvert.ConvertAsync().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

@ -47,8 +47,19 @@ public class WmsoutmWriter : IWriter
dataInterfaceDetailList.Add(receiptDetail);
}
}
//dataInterface分主子表分别写入ERP
await _wmsoutdManager.PostListAsync(dataInterfaceList, dataInterfaceDetailList).ConfigureAwait(false);
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());
}
}
}
//将数据归档
await _outgoingToExternalManager.ArchiveManyAsync(outgoingDataList).ConfigureAwait(false);

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

@ -1,13 +1,13 @@
{
"ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database=Wms;uid=sa;pwd=aA123456!;TrustServerCertificate=True",
"DataExchange": "Server=dev.ccwin-in.com,21195;Database=DataExchange_Main;uid=sa;pwd=aA123456!;TrustServerCertificate=True",
"TYRP": "Server=dev.ccwin-in.com,21195;Database=TYRP;Uid=sa;Pwd=aA123456!;TrustServerCertificate=True",
"SYBASE_TYRP": "Data Source=10.164.1.11; Port=5000; Database=mesdb; Uid=mesuser; Pwd=mesuser1234;Charset=cp850;" //iso_1
"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,13319;Database=Wms_DataExchange_Main_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;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.115.137; Port=5000; Database=mesdb; Uid=mesuser; Pwd=mesuser1234;Charset=cp850;" //iso_1
},
"AuthServer": {
"Authority": "http://dev.ccwin-in.com:21293/",
"Authority": "http://dev.ccwin-in.com:60083/",
"RequireHttpsMetadata": "false",
"SwaggerClientId": "admin",
"SwaggerClientSecret": "1q2w3E*",
@ -26,16 +26,16 @@
"RemoteServices": {
"BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:21294/"
"BaseUrl": "http://dev.ccwin-in.com:60084/"
},
"Store": {
"BaseUrl": "http://dev.ccwin-in.com:21295/"
"BaseUrl": "http://dev.ccwin-in.com:60085/"
},
"Label": {
"BaseUrl": "http://dev.ccwin-in.com:21292/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
},
"Auth": {
"BaseUrl": "http://dev.ccwin-in.com:21293/"
"BaseUrl": "http://dev.ccwin-in.com:60083/"
}
},
"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()
{
CreateMap<MesProductL7PartsNote, MesProductL7PartsNoteDTO>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.CreationTime, y => y.MapFrom(d => d.CreationTime))
.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);
break;
case EnumIncomingDataType.ProductReceipt:
//await incomingToWms.HandleProductReceiptsAsync(workerContext).ConfigureAwait(false);
await incomingToWms.HandleProductReceiptsAsync(workerContext).ConfigureAwait(false);
break;
case EnumIncomingDataType.MaterialRequest:
await incomingToWms.HandleMaterialRequestsAsync(workerContext).ConfigureAwait(false);

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

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

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

@ -10,7 +10,6 @@ public class OutgoingFromWmsAutoMapperProfile : Profile
public OutgoingFromWmsAutoMapperProfile()
{
CreateMap<OutgoingFromWms, OutgoingFromWmsDTO>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.CreationTime, y => y.MapFrom(d => d.CreationTime))
.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()
{
CreateMap<Department, DepartmentDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
CreateMap<DepartmentCreateInput, Department>()
.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)
{
//base.ConfigureServices(context);
//ConfigureAuditing();
////
//ConfigureBlobStoring();
//Configure<AbpClockOptions>(options =>
//{
// options.Kind = DateTimeKind.Local;
//});
base.ConfigureServices(context);
ConfigureAuditing();
//
ConfigureBlobStoring();
Configure<AbpClockOptions>(options =>
{
options.Kind = DateTimeKind.Local;
});
}
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] (
[Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL,
@ -2579,6 +2582,9 @@ CREATE TABLE [Job_UnplannedIssueJobDetail] (
CREATE TABLE [Job_UnplannedReceiptJobDetail] (
[Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL,
@ -4875,6 +4881,9 @@ CREATE TABLE [Store_TransferRequestDetail] (
CREATE TABLE [Store_UnplannedIssueNoteDetail] (
[Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL,
@ -4937,6 +4946,9 @@ CREATE TABLE [Store_UnplannedIssueNoteDetail] (
CREATE TABLE [Store_UnplannedIssueRequestDetail] (
[Id] uniqueidentifier NOT NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL,
@ -4974,6 +4986,9 @@ CREATE TABLE [Store_UnplannedIssueRequestDetail] (
CREATE TABLE [Store_UnplannedReceiptNoteDetail] (
[Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT NULL,
[CreatorId] uniqueidentifier NULL,
@ -5036,6 +5051,10 @@ CREATE TABLE [Store_UnplannedReceiptNoteDetail] (
CREATE TABLE [Store_UnplannedReceiptRequestDetail] (
[Id] uniqueidentifier NOT NULL,
[ReasonCode] nvarchar(max) NULL,
[CaseCode] nvarchar(max) NULL,
[ProjCapacityCode] nvarchar(max) NULL,
[OnceBusiCode] nvarchar(max) NULL,
[ExtraProperties] nvarchar(max) NULL,
[CreationTime] datetime2 NOT 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 Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Json;
using Win_in.Sfs.Basedata.Application.Contracts;
namespace Win_in.Sfs.Wms.Pda.Controllers.BaseDatas;
@ -18,9 +21,11 @@ public class DictController : AbpController
///
/// </summary>
/// <param name="dictApp"></param>
public DictController(IDictAppService dictApp)
public DictController(IDictAppService dictApp,IOptions<AbpJsonOptions> options)
{
_dictApp = dictApp;
var str = options.Value.DefaultDateTimeFormat;
Console.WriteLine(str);
}
/// <summary>
@ -31,6 +36,8 @@ public class DictController : AbpController
[HttpGet("by-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.Linq;
using System.Text.Json;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
@ -70,13 +72,13 @@ public class JobController : AbpController
/// 获取全部任务数量统计
/// </summary>
/// <returns></returns>
[HttpGet("{isToday}")]
public virtual async Task<ListResultDto<JobCountDto>> CountAsync(bool isToday)
[HttpGet("get-job-count/{isToday}")]
public virtual async Task<ListResultDto<JobCountDto>> CountAsync(Guid userId ,bool isToday)
{
var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false);
var jsonCodes = JsonSerializer.Serialize(wlgCodes);
var wlgCodes = await _userWorkGroupAppService.GetUserWorkGroupAsync(userId).ConfigureAwait(false);
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 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.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
{

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>()
.IgnoreAuditedObjectProperties();
;
CreateMap<DictImportInput, Dict>()
.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.ItemDesc1 = item.Desc1;
dto.ItemDesc2 = item.Desc2;
dto.Uom = item.BasicUom;
}
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>()
.ReverseMap();
CreateMap<ContainerDetail, ContainerDetailDTO>().IgnoreAuditedObjectProperties();
CreateMap<ContainerDetail, ContainerDetailDTO>()
;
CreateMap<ContainerDetailInput, ContainerDetail>()
.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 IItemBasicAclService _itemBasicAclService;
private readonly ILocationAclService _locationAclService;
private readonly ITransactionTypeAclService _transactionTypeAclService;
//private readonly ITransactionTypeAclService _transactionTypeAclService;
private readonly ITransactionTypeAppService _transactionTypeAppService;
private readonly ITransactionRepository _transactionRepository;
private readonly IBalanceRepository _balanceRepository;
private readonly ISnowflakeIdGenerator _numberGenerator;
@ -28,20 +29,22 @@ public class TransactionManager : DomainService, ITransactionManager
IBalanceManager balanceManager
, IItemBasicAclService itemBasicAclService
, ILocationAclService locationAclService
, ITransactionTypeAclService transactionTypeAclService
//, ITransactionTypeAclService transactionTypeAclService
, ITransactionRepository transactionRepository
, IBalanceRepository balanceRepository
, ISnowflakeIdGenerator numberGenerator
, ILocationCapacityManager locationCapacityManager)
, ILocationCapacityManager locationCapacityManager
, ITransactionTypeAppService transactionTypeAppService)
{
_balanceManager = balanceManager;
_itemBasicAclService = itemBasicAclService;
_locationAclService = locationAclService;
_transactionTypeAclService = transactionTypeAclService;
//_transactionTypeAclService = transactionTypeAclService;
_transactionRepository = transactionRepository;
_balanceRepository = balanceRepository;
_numberGenerator = numberGenerator;
_locationCapacityManager = locationCapacityManager;
_transactionTypeAppService = transactionTypeAppService;
}
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 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);
//执行库存余额的变动
@ -158,7 +161,7 @@ public class TransactionManager : DomainService, ITransactionManager
//库位注意大小写
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);
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()
{
CreateMap<CountLabel, CountLabelDto>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
.ReverseMap();
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()
{
CreateMap<PalletCode, PalletCodeDto>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
.ReverseMap();
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()
{
CreateMap<PalletLabel, PalletLabelDto>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.ItemName, y => y.MapFrom(d => d.Name))
.ForMember(x => x.ItemDesc1, y => y.MapFrom(d => d.Desc1))
.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()
{
CreateMap<SaleLabel, SaleLabelDto>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
}
}

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

@ -10,8 +10,7 @@ public class SerialCodeAutoMapperProfile : Profile
public SerialCodeAutoMapperProfile()
{
CreateMap<SerialCode, SerialCodeDto>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
.ReverseMap();
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()
{
CreateMap<MessageTypeSubscribe, MessageTypeSubscribeDto>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
.ReverseMap();
CreateMap<MessageTypeSubscribeEditInput, MessageTypeSubscribe>()
.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()
{
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()
{
CreateMap<NotifyMessage, NotifyMessageDto>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
.ReverseMap();
CreateMap<NotifyMessageETO, NotifyMessageDto>()
.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()
{
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()
{
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();
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 Microsoft.Extensions.Caching.Distributed;
using Volo.Abp.Caching;
using Volo.Abp.Json;
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,
input.Sorting, true).ConfigureAwait(false);
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>

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;
public enum EnumJobStatus
@ -5,30 +8,36 @@ public enum EnumJobStatus
/// <summary>
/// 空枚举
/// </summary>
[Display(Name = "空枚举")]
None = 0,
/// <summary>
/// 待处理
/// </summary>
[Display(Name = "待处理")]
Open = 1,
/// <summary>
/// 执行中
/// </summary>
[Display(Name = "执行中")]
Doing = 2,
/// <summary>
/// 完成
/// </summary>
[Display(Name = "完成")]
Done = 3,
/// <summary>
/// 关闭
/// </summary>
[Display(Name = "关闭")]
Closed = 8,
/// <summary>
/// 作废
/// </summary>
[Display(Name = "作废")]
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);
}
public void ReplaceDetail(Guid id, TDetail newDetail)
public void ReplaceDetail(Guid id,TDetail newDetail)
{
var detail = GetDetail(id);
@ -106,7 +106,6 @@ public abstract class SfsMasterAggregateRootBase<TDetail> : SfsAggregateRootBase
property.SetValue(detail, newValue);
}
}
/*
////todo check
//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()
{
//todo 解决时间
ServiceConfigurationContext.Services.AddTransient<IJsonSerializer,ConvertAbpJson>();
// ServiceConfigurationContext.Services.AddTransient<IJsonSerializer,ConvertAbpJson>();
}
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,
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 = "原因代码")]
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 = "原因代码")]
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>

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;
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 = "原因代码")]
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>

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 = "原因代码")]
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 = "原因代码")]
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>

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>
[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; }
}

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 = "原因代码")]
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>

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="input"></param>
/// <returns></returns>
Task UpdateDetailsAsync(string number, List<PurchaseOrderDetailUpdateInput> input);
Task UpdateDetailsAsync(string number,List<PurchaseOrderDetailUpdateInput> input);
/// <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>
[Display(Name = "扩展属性")]
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>
[Display(Name = "扩展属性")]
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
, 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>

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
{
/// <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>

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.Contracts;
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.Domain;
@ -153,6 +154,12 @@ public abstract class SfsJobAppServiceBase<TEntity, TDetail, TEntityDto, TReques
public virtual async Task<TEntityDto> CompleteAsync(Guid id, TEntityDto 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 handleDto = ObjectMapper.Map<TEntity, TEntityDto>(handleResult);
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()
{
CreateMap<ExchangeData, ExchangeDataDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
// CreateMap<ExchangeDataCreateInput, ExchangeData>()
// .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();
CreateMap<CheckJobDetail, CheckJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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);
CreateMap<CountJobDetail, CountJobDetailDTO>()
.IgnoreAuditedObjectProperties()
;
CreateMap<CountJobDetailDTO, CountJobDetail>()
.IgnoreAuditedObjectProperties()
;
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();
CreateMap<DeliverJobDetail, DeliverJobDetailDTO>()
.IgnoreAuditedObjectProperties();
;
CreateMap<DeliverJobDetailDTO, DeliverJobDetail>()
.IgnoreAuditedObjectProperties();
;
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>()
.IgnoreAuditedObjectProperties()
;
CreateMap<InspectJobDetailDTO, InspectJobDetail>()
.IgnoreAuditedObjectProperties()
;
CreateMap<InspectJobDetailInput, InspectJobDetail>()
@ -31,11 +29,9 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.Id);
CreateMap<InspectJobSummaryDetail, InspectJobSummaryDetailDTO>()
.IgnoreAuditedObjectProperties()
;
CreateMap<InspectJobSummaryDetailDTO, InspectJobSummaryDetail>()
.IgnoreAuditedObjectProperties()
;
CreateMap<InspectJobSummaryDetailInput, InspectJobSummaryDetail>()
@ -47,7 +43,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
;
CreateMap<InspectRequestDTO, InspectJob>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.WarehouseCode)
.Ignore(x => x.Details)
.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 Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.ObjectMapping;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared;
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>
///

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<IssueJobDetail, IssueJobDetailDTO>()
.IgnoreAuditedObjectProperties()
;
CreateMap<IssueJobDetailDTO, IssueJobDetail>()
.IgnoreAuditedObjectProperties()
;
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();
CreateMap<JisDeliverJobDetail, JisDeliverJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<ProductReceiveJobDetail, ProductReceiveJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
.ReverseMap();
CreateMap<ProductReceiveJobDetailInput, ProductReceiveJobDetail>()
.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();
CreateMap<ProductionReturnJobDetail, ProductionReturnJobDetailDTO>()
.IgnoreAuditedObjectProperties()
;
CreateMap<ProductionReturnJobEditInput, ProductionReturnJob>();
@ -26,7 +25,6 @@ public partial class StoreApplicationAutoMapperProfile : Profile
.Ignore(x => x.Id);
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>()
.IgnoreAuditedObjectProperties()
;
CreateMap<PurchaseReceiptJobDetailDTO, PurchaseReceiptJobDetail>()
.IgnoreAuditedObjectProperties()
;
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();
CreateMap<PurchaseReturnJobDetail, PurchaseReturnJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<UnplannedIssueJobDetail, UnplannedIssueJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<UnplannedReceiptJobDetail, UnplannedReceiptJobDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<ContainerBindNoteDetail, ContainerBindNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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")]
public class CountNoteAppService :
SfsStoreWithDetailsAppServiceBase<CountNote, CountNoteDTO, SfsStoreRequestInputBase, CountNoteEditInput, CountNoteDetail, CountNoteDetailDTO, SfsStoreRequestInputBase, CountNoteImportInput>,
SfsStoreWithDetailsAppServiceBase<CountNote,
CountNoteDTO,
SfsStoreRequestInputBase,
CountNoteEditInput,
CountNoteDetail,
CountNoteDetailDTO,
SfsStoreRequestInputBase,
CountNoteImportInput>,
ICountNoteAppService
{
private readonly ICountNoteManager _countNoteManager;
@ -35,7 +42,10 @@ public class CountNoteAppService :
public CountNoteAppService(
ICountNoteRepository repository,
ICountNoteManager countNoteManager, ICountPlanAppService countPlanAppService, ILocationAppService locationAppService, IItemBasicAppService itemBasicAppService) : base(repository)
ICountNoteManager countNoteManager,
ICountPlanAppService countPlanAppService,
ILocationAppService locationAppService,
IItemBasicAppService itemBasicAppService) : base(repository)
{
_countNoteManager = countNoteManager;
_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();
CreateMap<JisProductReceiptNoteDetail, JisProductReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.ProdLine)
.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();
CreateMap<ProductReceiptNoteDetail, ProductReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.ProdLine)
.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();
CreateMap<PurchaseReceiptNoteDetail, PurchaseReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<PurchaseReturnNoteDetail, PurchaseReturnNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<ReceiptAbnormalNoteDetail, ReceiptAbnormalNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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("")]
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)
.ConfigureAwait(false)
: input.Number;
entity.SetId(GuidGenerator.Create());
foreach (var detail in entity.Details)
{
var detailNumber = await GenerateNumberAsync(nameof(RecycledMaterialReceiptNote), input.ActiveDate)
.ConfigureAwait(false);
detail.Number=detailNumber;
detail.SetIdAndNumber(GuidGenerator, entity.Id, detailNumber);
var locationDto = await _locationAppService.GetByCodeAsync(detail.LocationCode).ConfigureAwait(false);
detail.LocationErpCode = locationDto.ErpLocationCode;
detail.LocationArea = locationDto.AreaCode;
detail.LocationGroup = locationDto.LocationGroupCode;
detail.WarehouseCode=locationDto.WarehouseCode;
var itemBasicDto=await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
detail.WarehouseCode = locationDto.WarehouseCode;
var itemBasicDto = await _itemBasicAppService.GetByCodeAsync(detail.ItemCode).ConfigureAwait(false);
detail.StdPackQty = itemBasicDto.StdPackQty;
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);
}

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();
CreateMap<RecycledMaterialReceiptNoteDetail, RecycledMaterialReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<PurchaseOrderDetail, PurchaseOrderDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<SaleOrderDetail, SaleOrderDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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")]
public class CountPlanAppService :
SfsStoreRequestAppServiceBase<CountPlan, CountPlanDTO, SfsStoreRequestInputBase, CountPlanEditInput, CountPlanDetail, CountPlanDetailDTO, SfsStoreRequestInputBase, CountPlanImportInput>,
SfsStoreRequestAppServiceBase<CountPlan,
CountPlanDTO,
SfsStoreRequestInputBase,
CountPlanEditInput,
CountPlanDetail,
CountPlanDetailDTO,
SfsStoreRequestInputBase,
CountPlanImportInput>,
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();
CreateMap<CountPlanDetail, CountPlanDetailDTO>()
.IgnoreAuditedObjectProperties()
.Ignore(x => x.DiffQty)
.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()
{
CreateMap<PreparationPlan, PreparationPlanDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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.ItemName = itemBasicDto.Name;
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();
CreateMap<InspectRequestDetail, InspectRequestDetailDTO>()
.IgnoreAuditedObjectProperties();
;
CreateMap<InspectRequestDetailInput, InspectRequestDetail>()
.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 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,
detail.FromLocationCode).ConfigureAwait(false);
@ -97,10 +98,15 @@ public class ItemTransformRequestAppService :
detail.ToLocationGroup = toLocationDto.LocationGroupCode;
detail.ToWarehouseCode = toLocationDto.WarehouseCode;
detail.ItemDesc1 = itemBasicDto.Desc1;
detail.ItemDesc2= itemBasicDto.Desc2;
detail.ItemName= itemBasicDto.Name;
detail.Uom = itemBasicDto.BasicUom;
detail.ItemDesc1 = fromItemBasicDto.Desc1;
detail.ItemDesc2= fromItemBasicDto.Desc2;
detail.ItemName= fromItemBasicDto.Name;
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();
CreateMap<ItemTransformRequestDetail, ItemTransformRequestDetailDTO>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.ToItemName, y => y.MapFrom(d => d.ToItemName))
.ForMember(x => x.ToItemDesc1, y => y.MapFrom(d => d.ToItemDesc1))
.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.Threading;
using System.Threading.Tasks;
using DocumentFormat.OpenXml.Office.PowerPoint.Y2021.M06.Main;
using IdentityModel;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
@ -43,15 +44,17 @@ public class MaterialRequestAppService : SfsStoreRequestAppServiceBase<MaterialR
private readonly IItemBasicAppService _itemBasicAppService;
private readonly IProductionLineAppService _productionLineAppService;
private readonly IIssueJobAppService _issueJobAppService;
public MaterialRequestAppService(
IMaterialRequestRepository repository,
IMaterialRequestManager materialRequestManager,
IPreparationPlanManager preparationPlanManager,
IItemStoreRelationAppService itemStoreRelationApp,
IAreaAppService areaApp
, ILocationAppService locationAppService
, IItemBasicAppService itemBasicAppService,
IProductionLineAppService productionLineAppService)
IAreaAppService areaApp,
ILocationAppService locationAppService,
IItemBasicAppService itemBasicAppService,
IProductionLineAppService productionLineAppService,
IIssueJobAppService issueJobAppService)
: base(repository, materialRequestManager)
{
_materialRequestManager = materialRequestManager;
@ -61,6 +64,7 @@ public class MaterialRequestAppService : SfsStoreRequestAppServiceBase<MaterialR
_locationAppService = locationAppService;
_itemBasicAppService = itemBasicAppService;
_productionLineAppService = productionLineAppService;
_issueJobAppService = issueJobAppService;
}
#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();
CreateMap<MaterialRequestDetail, MaterialRequestDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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();
CreateMap<ProductionReturnRequestDetail, ProductionReturnRequestDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap();
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 ITransactionTypeAppService _transactionTypeAppService;
private readonly IPurchaseReturnRequestManager _purchaseReturnRequestManager;
private readonly IPurchaseOrderAppService _purchaseOrderAppService;
public PurchaseReturnRequestAppService(
IPurchaseReturnRequestRepository repository,
IPurchaseReturnRequestManager purchaseReturnRequestManager,
IInventoryLabelAppService inventoryLabelApp,
ILocationAppService locationAppService,
ITransactionTypeAppService transactionTypeAppService) : base(repository, purchaseReturnRequestManager)
ITransactionTypeAppService transactionTypeAppService,
IPurchaseOrderAppService purchaseOrderAppService) : base(repository, purchaseReturnRequestManager)
{
_purchaseReturnRequestManager = purchaseReturnRequestManager;
_inventoryLabelApp = inventoryLabelApp;
_locationAppService = locationAppService;
_transactionTypeAppService = transactionTypeAppService;
_purchaseOrderAppService = purchaseOrderAppService;
base.CreatePolicyName = PurchaseReturnRequestPermissions.Create;
base.UpdatePolicyName = PurchaseReturnRequestPermissions.Update;
@ -97,13 +99,16 @@ public class PurchaseReturnRequestAppService :
var labelDto = await _inventoryLabelApp.GetByCodeAsync(detail.PackingCode).ConfigureAwait(false);
var balanceDto = await BalanceAclService.GetByPackingCodeAsync(detail.PackingCode).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.RpNumber = labelDto.RpNumber;
purchaseReturnRequest.ReturnTime=DateTime.Now;
purchaseReturnRequest.SupplierCode= labelDto.SupplierCode;
purchaseReturnRequest.ReturnType = EnumPurchaseReturnType.AfterPuton;
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="balanceDto"></param>
/// <param name="locationDto"></param>
/// <param name="purchaseOrderDto"></param>
/// <returns></returns>
private async Task SetDetailPropertiesAsync(
PurchaseReturnRequestDetail detail,
InventoryLabelDto labelDto,
BalanceDTO balanceDto,
LocationDTO locationDto)
LocationDTO locationDto,
PurchaseOrderDTO purchaseOrderDto
)
{
if (labelDto != null)
{
@ -171,6 +179,12 @@ public class PurchaseReturnRequestAppService :
detail.StdPackQty = balanceDto.StdPackQty;
detail.Qty = balanceDto.Qty;
}
if (purchaseOrderDto != null)
{
detail.PoLine =
purchaseOrderDto.Details.FirstOrDefault(p => p.ItemCode == balanceDto.ItemCode && p.Lot == balanceDto.Lot).PoLine;
}
}
#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.Linq;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Users;
using Volo.Abp.Validation;
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)
{
var entity = await Repository.FindAsync(input.Id).ConfigureAwait(false);
BuildDetailHandledAsync(input, entity);
//设置任务为完成
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;
namespace Win_in.Sfs.Wms.Store.Domain;
@ -9,6 +10,24 @@ public class UnplannedIssueJobDetail : SfsJobRecommendFromDetailEntityBase, IHas
/// </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>

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;
namespace Win_in.Sfs.Wms.Store.Domain;
@ -10,6 +11,24 @@ public class UnplannedReceiptJobDetail : SfsJobRecommendToDetailEntityBase, IHas
/// </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>

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;
namespace Win_in.Sfs.Wms.Store.Domain;
@ -9,6 +10,24 @@ public class UnplannedIssueNoteDetail : SfsStoreRecommendFromDetailWithLotPackin
/// </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>

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;
namespace Win_in.Sfs.Wms.Store.Domain;
@ -9,6 +10,24 @@ public class UnplannedReceiptNoteDetail : SfsStoreRecommendToDetailWithLotPackin
/// </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>

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; }
/// <summary>
/// 请求未发
/// 请求未发 还未发送的数量
/// </summary>
[NotMapped]
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.Linq;
using System.Threading.Tasks;
using DocumentFormat.OpenXml.Math;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event;
using static Win_in.Sfs.Wms.Store.Domain.Shared.StoreSettings;
@ -12,12 +14,15 @@ public class MaterialRequestManager
, IMaterialRequestManager
{
private readonly IMaterialRequestRepository _repository;
private readonly IIssueJobRepository _issueJobRepository;
public MaterialRequestManager(
IMaterialRequestRepository repository
, IIssueJobRepository issueJobRepository
) : base(repository)
{
_repository = repository;
_issueJobRepository = issueJobRepository;
}
/// <summary>
@ -27,7 +32,7 @@ public class MaterialRequestManager
/// <returns></returns>
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.Submit();
entity.Agree();
@ -38,6 +43,72 @@ public class MaterialRequestManager
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 公有
@ -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

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;
namespace Win_in.Sfs.Wms.Store.Domain;
@ -8,6 +9,24 @@ namespace Win_in.Sfs.Wms.Store.Domain;
public class UnplannedIssueRequestDetail : SfsStoreDetailWithLotPackingQtyLocationStatusEntityBase
, 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>

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;
namespace Win_in.Sfs.Wms.Store.Domain;
@ -7,6 +8,29 @@ namespace Win_in.Sfs.Wms.Store.Domain;
/// </summary>
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>

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>()
.IgnoreAuditedObjectProperties()
// .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.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>()
.ReverseMap();
CreateMap<RecycledMaterialReceiptNoteDetail, RecycledMaterialReceiptNoteDetailDTO>()
.IgnoreAuditedObjectProperties()
.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>>
{
private readonly IBalanceAppService _balanceAppService;
public IssueJobEventHandler(IBalanceAppService balanceAppService)
{
_balanceAppService = balanceAppService;
}
[UnitOfWork]
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.Linq;
using System.Threading.Tasks;
@ -59,6 +60,7 @@ public class ProductionReturnJobEventHandler :
{
var input = ObjectMapper.Map<ProductionReturnJob, ProductionReturnNoteEditInput>(entity);
input.ReturnTime=DateTime.Now;
input.Details = new List<ProductionReturnNoteDetailInput>();
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;
//创建收货记录
await CreatePurchaseReceiptNoteAsync(entity).ConfigureAwait(false);
await BuildPurchaseReceiptNoteAsync(entity).ConfigureAwait(false);
}
#region 私有
@ -44,8 +44,9 @@ public class PurchaseReceiptJobEventHandler :
/// 创建收货记录
/// </summary>
/// <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);
//未收货记录
@ -58,6 +59,16 @@ public class PurchaseReceiptJobEventHandler :
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);
}

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

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

Loading…
Cancel
Save