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

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();

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()

58
be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Web/appsettings.json

@ -1,34 +1,34 @@
{
"ConfigServer": "http://localhost:21093",
"ConfigServer.Docker": "http://gateway:21093",
"ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;",
"Auth": "Server=dev.ccwin-in.com,21195;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"
},
"SwaggerAuthServer": {
"Authority": "http://localhost:59093",
"RequireHttpsMetadata": "false"
},
"IdentityServer": {
"Clients": {
"Auth_Web": {
"ClientId": "Auth_Web",
"RootUrl": "http://localhost:59093/",
"RequireHttpsMetadata": "false"
},
"Auth_App": {
"ClientId": "Auth_App",
"ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false"
},
"Auth_Swagger": {
"ClientId": "Auth_Swagger",
"ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false"
}
}
}
//"ConnectionStrings": {
// "Default": "Server=dev.ccwin-in.com,21195;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;",
// "Auth": "Server=dev.ccwin-in.com,21195;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"
//},
//"SwaggerAuthServer": {
// "Authority": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
//},
//"IdentityServer": {
// "Clients": {
// "Auth_Web": {
// "ClientId": "Auth_Web",
// "RootUrl": "http://localhost:59093/",
// "RequireHttpsMetadata": "false"
// },
// "Auth_App": {
// "ClientId": "Auth_App",
// "ClientSecret": "1q2w3e*",
// "RootUrl": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
// },
// "Auth_Swagger": {
// "ClientId": "Auth_Swagger",
// "ClientSecret": "1q2w3e*",
// "RootUrl": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
// }
// }
//}
}

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)

58
be/Hosts/Basedata.Host/Win_in.Sfs.Basedata.HttpApi.Host/appsettings.json

@ -1,34 +1,34 @@
{
"ConfigServer": "http://localhost:21093",
"ConfigServer.Docker": "http://gateway:21093",
"ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;",
"Auth": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"
},
"SwaggerAuthServer": {
"Authority": "http://localhost:59093",
"RequireHttpsMetadata": "false"
},
"IdentityServer": {
"Clients": {
"Auth_Web": {
"ClientId": "Auth_Web",
"RootUrl": "http://localhost:59093/",
"RequireHttpsMetadata": "false"
},
"Auth_App": {
"ClientId": "Auth_App",
"ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false"
},
"Auth_Swagger": {
"ClientId": "Auth_Swagger",
"ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false"
}
}
}
//"ConnectionStrings": {
// "Default": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;",
// "Auth": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"
//},
//"SwaggerAuthServer": {
// "Authority": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
//},
//"IdentityServer": {
// "Clients": {
// "Auth_Web": {
// "ClientId": "Auth_Web",
// "RootUrl": "http://localhost:59093/",
// "RequireHttpsMetadata": "false"
// },
// "Auth_App": {
// "ClientId": "Auth_App",
// "ClientSecret": "1q2w3e*",
// "RootUrl": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
// },
// "Auth_Swagger": {
// "ClientId": "Auth_Swagger",
// "ClientSecret": "1q2w3e*",
// "RootUrl": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
// }
// }
//}
}

4
be/Hosts/Win_in.Sfs.Wms.Dashboard.Host/Win_in.Sfs.Wms.Dashboard.Host.csproj

@ -48,8 +48,8 @@
</Content>
</ItemGroup>
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<!--<Target Name="PostBuild" AfterTargets="PostBuildEvent">
<Exec Command="if $(ConfigurationName) == Release (powershell Compress-Archive -Path '$(TargetDir)Win_in*.dll','$(TargetDir)Win_in*.pdb' -DestinationPath '$(SolutionDir)Output\DashboardHost.zip' -Force)" />
</Target>
</Target>-->
</Project>

58
be/Hosts/Wms.Host/Win_in.Sfs.Wms.Store.HttpApi.Host/appsettings.json

@ -1,34 +1,34 @@
{
"ConfigServer": "http://localhost:21093",
"ConfigServer.Docker": "http://gateway:21093",
"ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;",
"Auth": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"
},
"SwaggerAuthServer": {
"Authority": "http://localhost:59093",
"RequireHttpsMetadata": "false"
},
"IdentityServer": {
"Clients": {
"Auth_Web": {
"ClientId": "Auth_Web",
"RootUrl": "http://localhost:59093/",
"RequireHttpsMetadata": "false"
},
"Auth_App": {
"ClientId": "Auth_App",
"ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false"
},
"Auth_Swagger": {
"ClientId": "Auth_Swagger",
"ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false"
}
}
}
//"ConnectionStrings": {
// "Default": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;",
// "Auth": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"
//},
//"SwaggerAuthServer": {
// "Authority": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
//},
//"IdentityServer": {
// "Clients": {
// "Auth_Web": {
// "ClientId": "Auth_Web",
// "RootUrl": "http://localhost:59093/",
// "RequireHttpsMetadata": "false"
// },
// "Auth_App": {
// "ClientId": "Auth_App",
// "ClientSecret": "1q2w3e*",
// "RootUrl": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
// },
// "Auth_Swagger": {
// "ClientId": "Auth_Swagger",
// "ClientSecret": "1q2w3e*",
// "RootUrl": "http://localhost:59093",
// "RequireHttpsMetadata": "false"
// }
// }
//}
}

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

@ -2957,6 +2957,7 @@ CREATE TABLE [Store_DeliverNoteDetail] (
[ItemDesc1] nvarchar(64) NULL,
[ItemDesc2] nvarchar(64) NULL,
[ItemCode] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[FromPackingCode] nvarchar(64) NOT NULL,
@ -2993,7 +2994,6 @@ CREATE TABLE [Store_DeliverNoteDetail] (
[RecommendFromLocationGroup] nvarchar(64) NULL,
[RecommendFromLocationErpCode] nvarchar(64) NULL,
[RecommendFromWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL,
@ -3411,6 +3411,7 @@ CREATE TABLE [Store_IssueNoteDetail] (
[ItemDesc1] nvarchar(64) NULL,
[ItemDesc2] nvarchar(64) NULL,
[ItemCode] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[FromPackingCode] nvarchar(450) NULL,
@ -3447,7 +3448,6 @@ CREATE TABLE [Store_IssueNoteDetail] (
[RecommendFromLocationGroup] nvarchar(64) NULL,
[RecommendFromLocationErpCode] nvarchar(64) NULL,
[RecommendFromWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL,
@ -3855,6 +3855,7 @@ CREATE TABLE [Store_ProductionReturnNoteDetail] (
[ItemDesc1] nvarchar(64) NULL,
[ItemDesc2] nvarchar(64) NULL,
[ItemCode] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[FromPackingCode] nvarchar(450) NULL,
@ -3891,7 +3892,6 @@ CREATE TABLE [Store_ProductionReturnNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL,
@ -4021,6 +4021,7 @@ CREATE TABLE [Store_ProductReceiptNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL,
@ -4035,7 +4036,6 @@ CREATE TABLE [Store_ProductReceiptNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL,
@ -4279,6 +4279,7 @@ CREATE TABLE [Store_PurchaseReceiptNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL,
@ -4293,7 +4294,6 @@ CREATE TABLE [Store_PurchaseReceiptNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL,
@ -4378,6 +4378,7 @@ CREATE TABLE [Store_PurchaseReturnNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL,
@ -4392,7 +4393,6 @@ CREATE TABLE [Store_PurchaseReturnNoteDetail] (
[RecommendFromLocationGroup] nvarchar(64) NULL,
[RecommendFromLocationErpCode] nvarchar(64) NULL,
[RecommendFromWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL,
@ -4466,6 +4466,7 @@ CREATE TABLE [Store_PutawayNoteDetail] (
[ItemDesc1] nvarchar(64) NULL,
[ItemDesc2] nvarchar(64) NULL,
[ItemCode] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[FromPackingCode] nvarchar(450) NULL,
@ -4502,7 +4503,6 @@ CREATE TABLE [Store_PutawayNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL,
@ -4901,6 +4901,7 @@ CREATE TABLE [Store_UnplannedIssueNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL,
@ -4915,7 +4916,6 @@ CREATE TABLE [Store_UnplannedIssueNoteDetail] (
[RecommendFromLocationGroup] nvarchar(64) NULL,
[RecommendFromLocationErpCode] nvarchar(64) NULL,
[RecommendFromWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL,
@ -5000,6 +5000,7 @@ CREATE TABLE [Store_UnplannedReceiptNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL,
@ -5014,7 +5015,6 @@ CREATE TABLE [Store_UnplannedReceiptNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) 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("")]
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()

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()

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

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

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

@ -10,7 +10,6 @@ public class PalletCodeAutoMapperProfile : Profile
public PalletCodeAutoMapperProfile()
{
CreateMap<PalletCode, PalletCodeDto>()
.IgnoreAuditedObjectProperties()
.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();
}
}

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

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

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

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

1
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();
}
}

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

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

1
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();
}
}

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

@ -11,7 +11,6 @@ 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)
.ReverseMap();

5
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;
@ -27,6 +28,10 @@ public static class CachingExtensions
{
TCacheItem cacheItem;
//return await factory.Invoke().ConfigureAwait(false);
//todo 有问题 时间转换 坑坑坑
var result = await cache.GetAsync(key).ConfigureAwait(false);
if (result == null)
{

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);

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

@ -1,10 +1,15 @@
using System;
using System.Configuration;
using System.Data;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.Serialization;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using DocumentFormat.OpenXml.InkML;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.DataProtection;
@ -20,6 +25,7 @@ using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models;
using NUglify.Helpers;
using Serilog.Formatting.Json;
using StackExchange.Redis;
using Swashbuckle.AspNetCore.SwaggerGen;
using Volo.Abp;
@ -35,8 +41,11 @@ using Volo.Abp.Content;
using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Guids;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson.JsonConverters;
using Volo.Abp.Localization;
using Volo.Abp.Modularity;
using Volo.Abp.Timing;
using Win_in.Sfs.Shared.Application;
using Win_in.Sfs.Shared.Application.Contracts.ExportAndImport;
using Win_in.Sfs.Shared.Domain.Shared;
@ -70,6 +79,7 @@ public abstract class ModuleBase<T> : AbpModule where T : AbpModule
ConfigureAutoApiControllers();
ConfigureSwaggerServices();
ConfigureAddCors();
Configure();
SetFormLimit();
ConfigureExceptionHanding();
}
@ -238,6 +248,9 @@ public abstract class ModuleBase<T> : AbpModule where T : AbpModule
protected virtual void Configure()
{
//todo 解决时间
// ServiceConfigurationContext.Services.AddTransient<IJsonSerializer,ConvertAbpJson>();
}
protected virtual void ConfigureAddCors()
@ -440,4 +453,35 @@ public abstract class ModuleBase<T> : AbpModule where T : AbpModule
options.SendExceptionsDetailsToClients = true;
});
}
/// <summary>
/// 为了处理abp的时间存入redis 在win环境读取出来报错
/// </summary>
public class ConvertAbpJson : IJsonSerializer
{
public T Deserialize<T>(string jsonString, bool camelCase = true)
{
return System.Text.Json.JsonSerializer.Deserialize<T>(jsonString, GetOptions(camelCase));
}
public object Deserialize(Type type, string jsonString, bool camelCase = true)
{
return System.Text.Json.JsonSerializer.Deserialize(jsonString, type, GetOptions(camelCase));
}
public string Serialize(object obj, bool camelCase = true, bool indented = false)
{
return System.Text.Json.JsonSerializer.Serialize(obj, GetOptions(camelCase, indented));
}
private System.Text.Json.JsonSerializerOptions GetOptions(bool camelCase = true, bool indented = false)
{
return new System.Text.Json.JsonSerializerOptions
{
PropertyNameCaseInsensitive = camelCase,
WriteIndented = indented,
ReferenceHandler = ReferenceHandler.IgnoreCycles
};
}
}
}

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>

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)

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>()

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

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

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>()

3
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Application/Orders/PurchaseOrders/PurchaseOrderAppService.cs

@ -8,6 +8,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Win_in.Sfs.Basedata.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;
@ -57,7 +58,7 @@ public class PurchaseOrderAppService :
foreach (var purchaseOrder in addList)
{
purchaseOrder.CreatorId = CurrentUser.Id;
purchaseOrder.Worker = CurrentUser.Name;
purchaseOrder.Worker = CurrentUser.GetName();
var supplierDto =
await _supplierAppService.GetByCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false);

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()

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))

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>();

5
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);
}
@ -52,6 +51,8 @@ public class PurchaseReceiptJobManager : SfsJobManagerBase<PurchaseReceiptJob, P
//修改子表数据
foreach (var detail in entity.Details)
{
if (detail.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.INSP)//缺货
{
detail.PurchaseReceiptInspectStatus = EnumPurchaseReceiptInspect.NORECEIPT;

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>

29
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Domain/Requests/MaterialRequests/MaterialRequestManager.cs

@ -27,7 +27,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();
@ -128,16 +128,35 @@ public class MaterialRequestManager
oldEntity.ReplaceDetail(newDetail.Id, newDetail);
}
var flag=oldEntity.Details.Any(p => p.ReceivedQty < p.Qty);//还有补料完 没收到的货
if (!flag)
foreach (var detail in oldEntity.Details)
{
oldEntity.Complete();
SetMaterialRequestDetailStatus(detail);
}
//SetMaterialRequestStatus(oldEntity);
await Repository.UpdateAsync(oldEntity).ConfigureAwait(false);
}
private void SetMaterialRequestDetailStatus(MaterialRequestDetail detail)
{
if (detail.Qty > detail.IssuedQty)//要100 实际只有50
{
if (detail.ReceivedQty >= detail.Qty)//执行的时候发的比100还多 就完成
{
detail.Status = EnumStatus.Close;
}
else
{
detail.Status=EnumStatus.Open;
}
}
else//要100 实际够100
{
detail.Status = EnumStatus.Close;
}
}
public virtual async Task CompleteAsync(string number)
{
var entity = await GetByNumberAsync(number).ConfigureAwait(false);

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()
;
}

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))

104
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<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,9 +110,13 @@ 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)
{
@ -73,7 +133,9 @@ public class DeliverRequestEventHandler
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,12 +150,12 @@ public class DeliverRequestEventHandler
foreach (var detail in request.Details)
{
var balances = await BalanceAclService.GetRecommendBalancesAsync(
new RecommendBalanceRequestInput()
new RecommendBalanceRequestInput
{
ItemCode = detail.ItemCode,
Qty = detail.Qty,
LocationTypes = transactionType.OutLocationTypes,
LocationAreas = new List<string>() { detail.AreaCode },
LocationAreas = new List<string> { detail.AreaCode },
Statuses = transactionType.OutInventoryStatuses
}).ConfigureAwait(false);
@ -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,12 +230,12 @@ public class DeliverRequestEventHandler
foreach (var detail in request.Details)
{
var balances = await BalanceAclService.GetRecommendBalancesAsync(
new RecommendBalanceRequestInput()
new RecommendBalanceRequestInput
{
ItemCode = detail.ItemCode,
Qty = detail.Qty,
LocationTypes = transactionType.OutLocationTypes,
LocationAreas = new List<string>() { detail.AreaCode },
LocationAreas = new List<string> { detail.AreaCode },
Statuses = transactionType.OutInventoryStatuses
}).ConfigureAwait(false);
@ -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
}

56
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/Note/IssueNoteEventHandler.cs

@ -6,6 +6,8 @@ using Volo.Abp.Uow;
using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Store.Domain;
using static Win_in.Sfs.Wms.Store.Domain.Shared.StoreSettings;
using MaterialRequest = Win_in.Sfs.Wms.Store.Domain.MaterialRequest;
namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest;
@ -37,33 +39,6 @@ public class IssueNoteEventHandler
await UpdateReceivedQtyMaterialRequestAsync(entity).ConfigureAwait(false);
}
private async Task UpdateReceivedQtyMaterialRequestAsync(IssueNote entity)
{
var receiveQtyGroup = entity.Details
.GroupBy(p => new { p.ItemCode, p.ToLocationCode })
.Select(p => new { p.Key.ItemCode, p.Key.ToLocationCode, Qty = p.Sum(d => d.Qty) })
.ToList();
var materialRequest = await _materialRequestManager.GetByNumberAsync(entity.RequestNumber).ConfigureAwait(false);
if (entity.RequestType != EnumMaterialRequestType.Issue_Direct.ToString())
{
//更新叫料请求的已收数量
foreach (var materialRequestDetail in materialRequest.Details)
{
var receiveQty = receiveQtyGroup.FirstOrDefault(p =>
p.ItemCode == materialRequestDetail.ItemCode &&
p.ToLocationCode == materialRequestDetail.ToLocationCode)?.Qty;
if (receiveQty != null)
{
materialRequestDetail.ReceivedQty += receiveQty.Value;
}
}
await _materialRequestManager.UpdateDetailsAsync(materialRequest).ConfigureAwait(false);
}
}
/// <summary>
/// 当叫料记录创建后 修改请求的值
/// </summary>
@ -93,4 +68,31 @@ public class IssueNoteEventHandler
await UpdateReceivedQtyMaterialRequestAsync(entity).ConfigureAwait(false);
}
}
private async Task UpdateReceivedQtyMaterialRequestAsync(IssueNote entity)
{
var receiveQtyGroup = entity.Details
.GroupBy(p => new { p.ItemCode, p.ToLocationCode })
.Select(p => new { p.Key.ItemCode, p.Key.ToLocationCode, Qty = p.Sum(d => d.Qty) })
.ToList();
var materialRequest = await _materialRequestManager.GetByNumberAsync(entity.RequestNumber).ConfigureAwait(false);
if (entity.RequestType != EnumMaterialRequestType.Issue_Direct.ToString())
{
//更新叫料请求的已收数量
foreach (var materialRequestDetail in materialRequest.Details)
{
var receiveQty = receiveQtyGroup.FirstOrDefault(p =>
p.ItemCode == materialRequestDetail.ItemCode &&
p.ToLocationCode == materialRequestDetail.ToLocationCode)?.Qty;
if (receiveQty != null)
{
materialRequestDetail.ReceivedQty += receiveQty.Value;
}
}
await _materialRequestManager.UpdateDetailsAsync(materialRequest).ConfigureAwait(false);
}
}
}

45
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/ProductRecycleRequestEventHandler.cs

@ -16,20 +16,55 @@ using Application.Contracts;
public class ProductRecycleRequestEventHandler
: StoreEventHandlerBase
, ILocalEventHandler<SfsHandledEntityEventData<ProductRecycleRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<ProductRecycleRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<List<ProductRecycleRequest>>>
{
private readonly IProductRecycleNoteAppService _productRecycleNoteApp;
private readonly IBackFlushNoteAppService _backFlushNoteApp;
private readonly IBomAppService _bomApp;
private readonly IProductRecycleRequestManager _productRecycleRequestManager;
public ProductRecycleRequestEventHandler(
IProductRecycleNoteAppService productRecycleNoteApp,
IBackFlushNoteAppService backFlushNoteApp,
IBomAppService bomApp
)
IBomAppService bomApp, IProductRecycleRequestManager
productRecycleRequestManager)
{
_productRecycleNoteApp = productRecycleNoteApp;
_backFlushNoteApp = backFlushNoteApp;
_bomApp = bomApp;
_productRecycleRequestManager = productRecycleRequestManager;
}
/// <summary>
/// 创建后
/// </summary>
/// <param name="eventData">Event data</param>
[UnitOfWork]
public async Task HandleEventAsync(SfsCreatedEntityEventData<ProductRecycleRequest> eventData)
{
var entity = eventData.Entity;
if (entity.AutoSubmit)
{
await _productRecycleRequestManager.SubmitAsync(entity).ConfigureAwait(false);
}
}
/// <summary>
/// 批量创建后
/// </summary>
/// <param name="eventData">Event data</param>
[UnitOfWork]
public async Task HandleEventAsync(SfsCreatedEntityEventData<List<ProductRecycleRequest>> eventData)
{
var entitys = eventData.Entity;
foreach (var entity in entitys)
{
if (entity.AutoSubmit)
{
await _productRecycleRequestManager.SubmitAsync(entity).ConfigureAwait(false);
}
}
}
[UnitOfWork]
@ -49,6 +84,8 @@ public class ProductRecycleRequestEventHandler
}
}
#region 私有
private async Task<ProductRecycleNoteEditInput> BuildProductRecycleNoteAsync(ProductRecycleRequest request)
{
var createInput = ObjectMapper.Map<ProductRecycleRequest, ProductRecycleNoteEditInput>(request);
@ -115,6 +152,10 @@ public class ProductRecycleRequestEventHandler
return detailInput;
}
#endregion
/*
private async Task<List<BackFlushNoteCreateInput>> BuildFlushNotesAsync(ProductRecycleRequest request)
{

51
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedIssueRequestEventHandler.cs

@ -10,20 +10,58 @@ namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest;
public class UnplannedIssueRequestEventHandler
: StoreEventHandlerBase
, ILocalEventHandler<SfsCreatedEntityEventData<UnplannedIssueRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<List<UnplannedIssueRequest>>>
, ILocalEventHandler<SfsHandledEntityEventData<UnplannedIssueRequest>>
{
private readonly IUnplannedIssueJobAppService _unplannedIssueJobApp;
private readonly IUnplannedIssueNoteAppService _unplannedIssueNoteAppService;
private readonly IUnplannedIssueRequestManager _unplannedIssueRequestManager;
public UnplannedIssueRequestEventHandler(
IUnplannedIssueJobAppService unplannedIssueJobApp
, IUnplannedIssueNoteAppService unplannedIssueNoteAppService
)
IUnplannedIssueJobAppService unplannedIssueJobApp,
IUnplannedIssueNoteAppService unplannedIssueNoteAppService,
IUnplannedIssueRequestManager unplannedIssueRequestManager)
{
_unplannedIssueJobApp = unplannedIssueJobApp;
_unplannedIssueNoteAppService = unplannedIssueNoteAppService;
_unplannedIssueRequestManager = unplannedIssueRequestManager;
}
/// <summary>
/// 创建后
/// </summary>
/// <param name="eventData">Event data</param>
public async Task HandleEventAsync(SfsCreatedEntityEventData<UnplannedIssueRequest> eventData)
{
var entity = eventData.Entity;
if (entity.AutoSubmit)
{
await _unplannedIssueRequestManager.SubmitAsync(entity).ConfigureAwait(false);
}
}
/// <summary>
/// 批量创建后
/// </summary>
/// <param name="eventData">Event data</param>
public async Task HandleEventAsync(SfsCreatedEntityEventData<List<UnplannedIssueRequest>> eventData)
{
var entitys = eventData.Entity;
foreach (var entity in entitys)
{
if (entity.AutoSubmit)
{
await _unplannedIssueRequestManager.SubmitAsync(entity).ConfigureAwait(false);
}
}
}
/// <summary>
/// 执行后
/// </summary>
/// <param name="eventData"></param>
/// <returns></returns>
public virtual async Task HandleEventAsync(SfsHandledEntityEventData<UnplannedIssueRequest> eventData)
{
var entity = eventData.Entity;
@ -39,7 +77,10 @@ public class UnplannedIssueRequestEventHandler
}
}
private async Task<UnplannedIssueNoteEditInput> BuildUnplannedIssueNoteCreateInputAsync(UnplannedIssueRequest entity)
#region 私有
private async Task<UnplannedIssueNoteEditInput> BuildUnplannedIssueNoteCreateInputAsync(
UnplannedIssueRequest entity)
{
await Task.CompletedTask.ConfigureAwait(false);
var createInput = ObjectMapper.Map<UnplannedIssueRequest, UnplannedIssueNoteEditInput>(entity);
@ -50,6 +91,8 @@ public class UnplannedIssueRequestEventHandler
return createInput;
}
#endregion
private async Task<UnplannedIssueJobEditInput> BuildUnplannedIssueJobCreateInputAsync(UnplannedIssueRequest entity)
{
await Task.CompletedTask.ConfigureAwait(false);

55
be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedReceiptRequestEventHandler.cs

@ -10,20 +10,58 @@ namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest;
public class UnplannedReceiptRequestEventHandler
: StoreEventHandlerBase
, ILocalEventHandler<SfsCreatedEntityEventData<UnplannedReceiptRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<List<UnplannedReceiptRequest>>>
, ILocalEventHandler<SfsHandledEntityEventData<UnplannedReceiptRequest>>
{
private readonly IUnplannedReceiptJobAppService _unplannedReceiptJobApp;
private readonly IUnplannedReceiptNoteAppService _unplannedReceiptNoteApp;
private readonly IUnplannedReceiptRequestManager _unplannedReceiptRequestManager;
public UnplannedReceiptRequestEventHandler(
IUnplannedReceiptJobAppService unplannedReceiptJobApp
, IUnplannedReceiptNoteAppService unplannedReceiptNoteApp
)
IUnplannedReceiptJobAppService unplannedReceiptJobApp,
IUnplannedReceiptNoteAppService unplannedReceiptNoteApp,
IUnplannedReceiptRequestManager unplannedReceiptRequestManager)
{
_unplannedReceiptNoteApp = unplannedReceiptNoteApp;
_unplannedReceiptRequestManager = unplannedReceiptRequestManager;
_unplannedReceiptJobApp = unplannedReceiptJobApp;
}
/// <summary>
/// 创建后
/// </summary>
/// <param name="eventData">Event data</param>
public async Task HandleEventAsync(SfsCreatedEntityEventData<UnplannedReceiptRequest> eventData)
{
var entity = eventData.Entity;
if (entity.AutoSubmit)
{
await _unplannedReceiptRequestManager.SubmitAsync(entity).ConfigureAwait(false);
}
}
/// <summary>
/// 批量创建后
/// </summary>
/// <param name="eventData">Event data</param>
public async Task HandleEventAsync(SfsCreatedEntityEventData<List<UnplannedReceiptRequest>> eventData)
{
var entitys = eventData.Entity;
foreach (var entity in entitys)
{
if (entity.AutoSubmit)
{
await _unplannedReceiptRequestManager.SubmitAsync(entity).ConfigureAwait(false);
}
}
}
/// <summary>
/// 执行后
/// </summary>
/// <param name="eventData"></param>
/// <returns></returns>
public virtual async Task HandleEventAsync(SfsHandledEntityEventData<UnplannedReceiptRequest> eventData)
{
var entity = eventData.Entity;
@ -41,7 +79,10 @@ public class UnplannedReceiptRequestEventHandler
}
}
private async Task<UnplannedReceiptNoteEditInput> BuildUnplannedReceiptNoteCreateInputAsync(UnplannedReceiptRequest entity)
#region 私有
private async Task<UnplannedReceiptNoteEditInput> BuildUnplannedReceiptNoteCreateInputAsync(
UnplannedReceiptRequest entity)
{
await Task.CompletedTask.ConfigureAwait(false);
var createInput = ObjectMapper.Map<UnplannedReceiptRequest, UnplannedReceiptNoteEditInput>(entity);
@ -52,7 +93,8 @@ public class UnplannedReceiptRequestEventHandler
return createInput;
}
private async Task<UnplannedReceiptJobEditInput> BuildToUnplannedReceiptJobCreateInputAsync(UnplannedReceiptRequest entity)
private async Task<UnplannedReceiptJobEditInput> BuildToUnplannedReceiptJobCreateInputAsync(
UnplannedReceiptRequest entity)
{
await Task.CompletedTask.ConfigureAwait(false);
var createInput = ObjectMapper.Map<UnplannedReceiptRequest, UnplannedReceiptJobEditInput>(entity);
@ -75,6 +117,8 @@ public class UnplannedReceiptRequestEventHandler
return createInput;
}
#endregion
/* AutoMapper实现
private void SetUnplannedReceiptJobDetails(UnplannedReceiptJobCreateInput createInput, List<UnplannedReceiptRequestDetail> details)
{
@ -111,5 +155,4 @@ public class UnplannedReceiptRequestEventHandler
}
}
*/
}

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

@ -120,7 +120,6 @@ public class PurchaseReceiptNoteEventHandler
Dictionary<string, EnumInspectType> dictionary)
{
if (entity.Details.Any(p =>
p.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.NOK ||
p.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.OK))
{
var inboundTransactions = new List<TransactionEditInput>();

55
build/src/docker/publish/conf/settings/appsettings.Development.json

@ -1,5 +1,5 @@
{
"AlwaysAllowAuthorization": "True",
"AlwaysAllowAuthorization": "true",
"App": {
"CorsOrigins": [
"http://localhost:59080",
@ -45,7 +45,7 @@
},
"AuthServer": {
"Audience": "Auth",
"Authority": "http://dev.ccwin-in.com:21293/",
"Authority": "http://dev.ccwin-in.com:60083/",
"ClientId": "Auth_App",
"ClientSecret": "1q2w3E*",
"RequireHttpsMetadata": "false",
@ -74,28 +74,28 @@
// "Store": "Server=localhost,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;"
// },
"ConnectionStrings": {
"AbpAuditLogging": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"AbpBackgroundJobs": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"AbpBlobStoring": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"AbpFeatureManagement": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"AbpIdentity": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"AbpIdentityServer": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"AbpPermissionManagement": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"AbpSettingManagement": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"AbpTenantManagement": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"Auth": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"Basedata": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"DataExchange": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"FileStorage": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"Inventory": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"Job": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"Label": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"Message": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;",
"Store": "Server=dev.ccwin-in.com,21195;Database=Wms;Uid=sa;Pwd=aA123456!;timeout=6000;"
"AbpAuditLogging": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpBackgroundJobs": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpBlobStoring": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpFeatureManagement": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpIdentity": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpIdentityServer": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpPermissionManagement": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpSettingManagement": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"AbpTenantManagement": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Auth": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Basedata": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"DataExchange": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"FileStorage": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Inventory": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Job": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Label": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Message": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;",
"Store": "Server=dev.ccwin-in.com,13319;Database=Wms_Dy_ShangHai;uid=ccwin-in;pwd=Microsoft@2022;timeout=6000;"
},
"IdentityClients": {
"Default": {
"Authority": "http://dev.ccwin-in.com:21293",
"Authority": "http://dev.ccwin-in.com:60083",
"ClientId": "Auth_App",
"ClientSecret": "1q2w3E*",
"GrantType": "client_credentials",
@ -107,19 +107,20 @@
"Redis": {
"Configuration": "localhost:21194",
"KeyPrefix": "Wms:"
//"IsEnabled": "false"
},
"RemoteServices": {
"Auth": {
"BaseUrl": "http://dev.ccwin-in.com:21293/"
"BaseUrl": "http://dev.ccwin-in.com:60083/"
},
"BaseData": {
"BaseUrl": "http://dev.ccwin-in.com:21294/"
"BaseUrl": "http://dev.ccwin-in.com:60084/"
},
"Default": {
"BaseUrl": "http://dev.ccwin-in.com:21293/"
"BaseUrl": "http://dev.ccwin-in.com:60083/"
},
"FileStorage": {
"BaseUrl": "http://dev.ccwin-in.com:21292/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
},
"Inventory": {
"BaseUrl": "http://localhost:59095/"
@ -128,10 +129,10 @@
"BaseUrl": "http://localhost:59095/"
},
"Label": {
"BaseUrl": "http://dev.ccwin-in.com:21292/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
},
"Message": {
"BaseUrl": "http://dev.ccwin-in.com:21292/"
"BaseUrl": "http://dev.ccwin-in.com:60082/"
},
"Store": {
"BaseUrl": "http://localhost:59095/"

37
fe/PC/src/api/wms-api.js

@ -2,6 +2,7 @@ import request from '@/utils/request'
import store from '@/store'
// let baseURL = process.env.VUE_APP_BASE_API + '/'
let baseURL = localStorage.getItem('base') + '/api/'
let printURL = localStorage.getItem('print') + '/api/'
//新建
export function postCreate(data, url) {
if (Object.keys(data).includes('company')) {
@ -242,7 +243,7 @@ export function getPage(data, url) {
//打印标签
export function PrintServices(data) {
return request({
url: baseURL + 'reporting/PrintServices',
url: printURL + 'reporting/PrintServices',
method: 'post',
headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
@ -409,10 +410,19 @@ export function notifyMessage(params, id) {
}
// 库存-启用 | 库存余额
export function inventoryBalanceActive(id) {
// export function inventoryBalanceActive(id) {
// return request({
// url: baseURL + 'wms/inventory/inventory-balance/active?id=' + id,
// method: 'post',
// })
// }
// 库存-启用 | 库存余额 改
export function inventoryBalanceActive(params) {
return request({
url: baseURL + 'wms/inventory/inventory-balance/active?id=' + id,
url: baseURL + 'wms/inventory/inventory-balance/' + params.id + '/active',
method: 'post',
params: params,
})
}
@ -456,8 +466,9 @@ export function createAndHandle(data) {
// 人工叫料申请 | 人工发料任务 | 人工发料记录 | 自动叫料申请 | 自动发料任务 | 自动发料记录 | 直接发料记录
// 完工收货缴库申请 | 线边仓缴库申请 | 线边仓缴库记录 | 线边仓报废申请 | 线边仓报废记录 | 原料报废记录
export function materialRequestByType(data, url, params) {
let _type = params.type?params.type:params.requestType
return request({
url: baseURL + url + '/' + params.type,
url: baseURL + url + '/' + _type,
method: 'post',
params: params,
data
@ -499,7 +510,7 @@ export function getPageListWip(data, url) {
})
}
// 线边仓调拨确认按钮 | 客户调拨确认按钮
// 线边仓调拨确认按钮 | 客户调拨确认按钮 | 自动发料记录
export function confirm(id, url) {
return request({
url: baseURL + url + '/confirm/' + id,
@ -530,6 +541,22 @@ export function allSupplierByCodes(data) {
data
})
}
// 根据code获取当前供应商信息 打印需要获取供应商信息(供应商简称等)相关位置
export function getOneSupplierInfoByCode(code) {
return request({
url: baseURL + 'basedata/supplier/by-code/' + code,
method: 'get'
})
}
// 根据code获取当前客户信息 打印需要获取供应商信息(客户地址等)相关位置
export function getOneCustomerInfoByCode(code) {
return request({
url: baseURL + 'basedata/customer/by-code/' + code,
method: 'get'
})
}
// 根据编号获取字典信息
// export function getDictByCode(code) {
// return request({

8
fe/PC/src/api/wms-core.js

@ -2,6 +2,14 @@ import request from '@/utils/request'
// let baseURL = localStorage.getItem('print') + '/api/'
let baseURL = localStorage.getItem('base') + '/api/'
// 根据箱码获取标签相关信息 | 补打标签
export function getOneInventoryLabelByCode(code) {
return request({
url: baseURL + 'label/inventory-label/by-code/' + code,
method: 'get'
})
}
// 批量获取箱标签信息 | 到货请求
export function getInventoryLabelByCodes(data) {
return request({

11
fe/PC/src/api/wms-job.js

@ -168,8 +168,9 @@ export function InspectJobHandle(data, params, url) {
//人工发料任务 | 自动发料任务
export function materialRequestByType(data, url, params) {
let _type = params.type?params.type:params.requestType
return request({
url: baseURL + url + '/' + params.type,
url: baseURL + url + '/' + _type,
method: 'post',
params: params,
data
@ -198,7 +199,7 @@ export function preparationPlanByNumber(params) {
//质检——完成质检
export function completeSummaryDetailStatus(params, data) {
return request({
url: baseURL + 'wms/job/inspect-job/complete-summary-detail-status/' + params.id,
url: baseURL + 'wms/store/inspect-job/complete-summary-detail-status/' + params.id,
method: 'post',
params: params,
data
@ -208,7 +209,7 @@ export function completeSummaryDetailStatus(params, data) {
//质检——设置默认状态(清除质检)
export function setDetailDefaultOkStatus(params, id, data) {
return request({
url: baseURL + 'wms/job/inspect-job/set-detail-default-ok-status/' + id,
url: baseURL + 'wms/store/inspect-job/set-detail-default-ok-status/' + id,
method: 'post',
params: params,
data
@ -218,7 +219,7 @@ export function setDetailDefaultOkStatus(params, id, data) {
//质检——设置详情为合格
export function setDetailOkStatus(params, id, data) {
return request({
url: baseURL + 'wms/job/inspect-job/set-detail-ok-status/' + id,
url: baseURL + 'wms/store/inspect-job/set-detail-ok-status/' + id,
method: 'post',
params: params,
data
@ -228,7 +229,7 @@ export function setDetailOkStatus(params, id, data) {
//质检——设置详情为不合格
export function setDetailNookStatus(params, id, data) {
return request({
url: baseURL + 'wms/job/inspect-job/set-detail-nook-status/' + id,
url: baseURL + 'wms/store/inspect-job/set-detail-nook-status/' + id,
method: 'post',
params: params,
data

9
fe/PC/src/components/StepsCountPlanForm/index.vue

@ -412,6 +412,15 @@ export default {
//
advancedFilter(url, list, TotalCount, data, oldSkipCount) {
return () => {
// 线 20230417
if (data == 'locationData') {
list.condition.filters.push({
action: "!=",
column: "type",
logic: "And",
value: "5"
})
}
list.SkipCount = (oldSkipCount - 1) * list.MaxResultCount;
this.tableLoading = true;
getPageList(list, url)

19
fe/PC/src/components/commonTabel-drawer/index.vue

@ -8,7 +8,6 @@
:with-header="false"
:modal="false"
size="100%"
style="height:calc(100% - 28px);top: 14px;right:14px"
>
<div class="drawer-heder">
<div class="heder-left">
@ -70,6 +69,7 @@
<!-- currenTableDetails 组件 明细中带分页功能 -->
<umyTable
v-if="scope.value == 'mx'"
:tableBorder="true"
:tableData="propsData.details"
:propsData="propsData"
:tableColumns="tableColumns"
@ -96,15 +96,16 @@
<!-- 新增汇总 表头 区分明细表头使用 summaryTableColumns -->
<umyTable
v-if="scope.value == 'hz'"
:tableBorder="true"
:tableData="propsData.summaryDetails"
:tableColumns="summaryTableColumns.length==0?tableColumns:summaryTableColumns"
:tableColumns="summaryTableColumns.length == 0 ? tableColumns : summaryTableColumns"
:selectionTable="selectionTable"
:requiredRules="false"
@sortChange="sortChange"
@handleSelectionChange="handleSelectionChange"
@inlineDialog="inlineDialog"
@buttonClick="buttonClick"
:setUTableHeight="200"
:setUTableHeight="210"
>
<template>
<slot></slot>
@ -119,6 +120,7 @@
scope.value != 'hz' &&
scope.value != 'zwlcj'
"
:tableBorder="true"
:tableLoading="tableLoading"
:tableData="otherData"
:tableColumns="zdyTableColumns"
@ -181,17 +183,6 @@ export default {
currenTabs,
currenTable,
},
watch: {
propsData(newVal, oldVal){
// newValoldVal
// if (newVal != oldVal) {
// this.$parent.firstTabs = 'xq'
// }
// this.firstTabs = 'xq'
},
},
props: {
title: {
type: Array,

5
fe/PC/src/components/commonTabel-drawer/style/index.scss

@ -3,6 +3,9 @@
position: absolute;
left: 32%;
overflow: visible;
// height:calc(100% - 28px);
// top: 14px;
// right:14px
::v-deep .el-drawer {
height: 100%;
@ -67,7 +70,7 @@
display: flex;
flex-direction: column;
.el-tabs__header{
padding-bottom: 5px ;
// padding-bottom: 5px ;
.el-tabs__nav{
z-index: auto !important;
}

3
fe/PC/src/components/currenForm/index.vue

@ -10,6 +10,7 @@
:rules="rules"
:model="searchData"
@submit.native.prevent
v-if="!hide ? true : false"
>
<el-row :gutter="40">
<el-col
@ -20,7 +21,7 @@
<el-form-item
:label="item.label"
:prop="item.showProp ? item.prop + '.' + item.showProp : item.prop"
v-if="!hide ? true : false"
v-if="!item.hide ? true : false"
>
<!-- 输入框 onkeyup: 正则表达式用于前端输入校验工作-->
<!-- :onkeyup="item.onkeyup" -->

35
fe/PC/src/components/currenTable/index.vue

@ -36,7 +36,7 @@
<el-form>
<el-form-item
v-if="item.type == 'input'"
:onkeyup="itemOnKeyUp(item,searchData[item.prop])"
:onkeyup="itemOnKeyUp(item,item.prop,scope.$index)"
:prop="'details.' + scope.$index + '.' + item.prop"
:rules="item.rules"
>
@ -59,18 +59,17 @@
:rules="item.rules"
>
<el-input
v-model="searchData[item.prop]"
v-model="scope.row[item.prop]"
:maxlength="item.maxlength"
:onkeyup="typeNumberOnkeyup(item,searchData[item.prop])"
:onkeyup="typeNumberOnkeyup(item,item.prop,scope.$index)"
clearable
:disabled="Boolean(item.disabled)"
:placeholder="'请输入' + item.label"
:prefix-icon="item.icon"
:show-password="item.showPassword"
@change="changeInput(item.prop,$event)"
@clear="clearInput(item.prop,$event)"
@blur="
inputPlaceholder($event, item, 'blur',searchData)
inputPlaceholder($event, item, 'blur',scope.row)
"
@focus="inputPlaceholder($event, item, 'focus')"
></el-input>
@ -436,26 +435,26 @@ export default {
},
methods: {
// type=input
itemOnKeyUp(item,value){
itemOnKeyUp(item,value,index){
if(item.onkeyup){
return item.onkeyup()
}else{
if(value && item.validType){
this.searchData[item.prop]=getMatchRegConformValue(item.validType,value,item.pointNumberFixed)
if(this.tableData[index][value] && item.validType){
this.tableData[index][value]=getMatchRegConformValue(item.validType,this.tableData[index][value],item.pointNumberFixed)
}
}
},
// inputonkeyup
typeNumberOnkeyup(item,value){
if(value){
let _match = String(value).match(/\d+/)//
this.searchData[item.prop] = _match?_match[0]:_match
typeNumberOnkeyup(item,value,index){
if(this.tableData[index][value]){
let _match = String(this.tableData[index][value]).match(/\d+/)//
this.tableData[index][value] = _match?_match[0]:_match
}
if(this.searchData[item.prop] > item.max){
this.searchData[item.prop] = item.max
if(this.tableData[index][value] > item.max){
this.tableData[index][value] = item.max
}
if(this.searchData[item.prop] && this.searchData[item.prop] < item.min){
this.searchData[item.prop] = item.min
if(this.tableData[index][value] && this.tableData[index][value] < item.min){
this.tableData[index][value] = item.min
}
if(item.onkeyup)item.onkeyup()
},
@ -509,8 +508,8 @@ export default {
func[item.prop]= Number(val.target.value)
}
// item.valueType
// ? (this.searchData[item.prop] = item.valueType(
// this.searchData[item.prop]
// ? (this.tableData[index][value] = item.valueType(
// this.tableData[index][value]
// ))
// : () => {
// return;

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

Loading…
Cancel
Save