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. 3
      be/Modules/Label/src/Win_in.Sfs.Label.Application/CountLabels/CountLabelAutoMapperProfile.cs
  15. 3
      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. 3
      be/Modules/Label/src/Win_in.Sfs.Label.Application/SerialCode/SerialCodeAutoMapperProfile.cs
  19. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageTypeSubscribes/MessageTypeSubscribeAutoMapperProfile.cs
  20. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/MessageTypes/MessageTypeAutoMapperProfile.cs
  21. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/NotifyMessages/NotifyMessageAutoMapperProfile.cs
  22. 3
      be/Modules/Message/src/Win_in.Sfs.Message.Application/PrivateMessages/PrivateMessageAutoMapperProfile.cs
  23. 3
      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. 3
      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. 140
      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. 53
      be/Modules/Store/src/Win_in.Sfs.Wms.Store.Event/Requests/UnplannedIssueRequestEventHandler.cs
  90. 57
      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. 39
      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() public MesProductL7PartsNoteAutoMapperProfile()
{ {
CreateMap<MesProductL7PartsNote, MesProductL7PartsNoteDTO>() CreateMap<MesProductL7PartsNote, MesProductL7PartsNoteDTO>()
.IgnoreAuditedObjectProperties()
.ForMember(x => x.CreationTime, y => y.MapFrom(d => d.CreationTime)) .ForMember(x => x.CreationTime, y => y.MapFrom(d => d.CreationTime))
.ReverseMap(); .ReverseMap();

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

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

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

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

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

@ -1,34 +1,34 @@
{ {
"ConfigServer": "http://localhost:21093", "ConfigServer": "http://localhost:21093",
"ConfigServer.Docker": "http://gateway:21093", "ConfigServer.Docker": "http://gateway:21093",
"ConnectionStrings": { //"ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,21195;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;", // "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;" // "Auth": "Server=dev.ccwin-in.com,21195;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"
}, //},
"SwaggerAuthServer": { //"SwaggerAuthServer": {
"Authority": "http://localhost:59093", // "Authority": "http://localhost:59093",
"RequireHttpsMetadata": "false" // "RequireHttpsMetadata": "false"
}, //},
"IdentityServer": { //"IdentityServer": {
"Clients": { // "Clients": {
"Auth_Web": { // "Auth_Web": {
"ClientId": "Auth_Web", // "ClientId": "Auth_Web",
"RootUrl": "http://localhost:59093/", // "RootUrl": "http://localhost:59093/",
"RequireHttpsMetadata": "false" // "RequireHttpsMetadata": "false"
}, // },
"Auth_App": { // "Auth_App": {
"ClientId": "Auth_App", // "ClientId": "Auth_App",
"ClientSecret": "1q2w3e*", // "ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093", // "RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false" // "RequireHttpsMetadata": "false"
}, // },
"Auth_Swagger": { // "Auth_Swagger": {
"ClientId": "Auth_Swagger", // "ClientId": "Auth_Swagger",
"ClientSecret": "1q2w3e*", // "ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093", // "RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false" // "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) public override void ConfigureServices(ServiceConfigurationContext context)
{ {
//base.ConfigureServices(context);
//ConfigureAuditing();
////
//ConfigureBlobStoring();
//Configure<AbpClockOptions>(options =>
//{
// options.Kind = DateTimeKind.Local;
//});
base.ConfigureServices(context); base.ConfigureServices(context);
ConfigureAuditing(); ConfigureAuditing();
// //
ConfigureBlobStoring(); ConfigureBlobStoring();
Configure<AbpClockOptions>(options =>
{
options.Kind = DateTimeKind.Local;
});
} }
public override void PostConfigureServices(ServiceConfigurationContext context) public override void PostConfigureServices(ServiceConfigurationContext context)

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

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

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

@ -48,8 +48,8 @@
</Content> </Content>
</ItemGroup> </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)" /> <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> </Project>

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

@ -1,34 +1,34 @@
{ {
"ConfigServer": "http://localhost:21093", "ConfigServer": "http://localhost:21093",
"ConfigServer.Docker": "http://gateway:21093", "ConfigServer.Docker": "http://gateway:21093",
"ConnectionStrings": { //"ConnectionStrings": {
"Default": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;", // "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;" // "Auth": "Server=dev.ccwin-in.com,13319;Database=WmsAuth;uid=ccwin-in;pwd=Microsoft@2022;Packet Size=512;"
}, //},
"SwaggerAuthServer": { //"SwaggerAuthServer": {
"Authority": "http://localhost:59093", // "Authority": "http://localhost:59093",
"RequireHttpsMetadata": "false" // "RequireHttpsMetadata": "false"
}, //},
"IdentityServer": { //"IdentityServer": {
"Clients": { // "Clients": {
"Auth_Web": { // "Auth_Web": {
"ClientId": "Auth_Web", // "ClientId": "Auth_Web",
"RootUrl": "http://localhost:59093/", // "RootUrl": "http://localhost:59093/",
"RequireHttpsMetadata": "false" // "RequireHttpsMetadata": "false"
}, // },
"Auth_App": { // "Auth_App": {
"ClientId": "Auth_App", // "ClientId": "Auth_App",
"ClientSecret": "1q2w3e*", // "ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093", // "RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false" // "RequireHttpsMetadata": "false"
}, // },
"Auth_Swagger": { // "Auth_Swagger": {
"ClientId": "Auth_Swagger", // "ClientId": "Auth_Swagger",
"ClientSecret": "1q2w3e*", // "ClientSecret": "1q2w3e*",
"RootUrl": "http://localhost:59093", // "RootUrl": "http://localhost:59093",
"RequireHttpsMetadata": "false" // "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, [ItemDesc1] nvarchar(64) NULL,
[ItemDesc2] nvarchar(64) NULL, [ItemDesc2] nvarchar(64) NULL,
[ItemCode] nvarchar(64) NOT NULL, [ItemCode] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[FromPackingCode] nvarchar(64) NOT NULL, [FromPackingCode] nvarchar(64) NOT NULL,
@ -2993,7 +2994,6 @@ CREATE TABLE [Store_DeliverNoteDetail] (
[RecommendFromLocationGroup] nvarchar(64) NULL, [RecommendFromLocationGroup] nvarchar(64) NULL,
[RecommendFromLocationErpCode] nvarchar(64) NULL, [RecommendFromLocationErpCode] nvarchar(64) NULL,
[RecommendFromWarehouseCode] nvarchar(64) NULL, [RecommendFromWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL, [HandledPackingCode] nvarchar(64) NULL,
@ -3411,6 +3411,7 @@ CREATE TABLE [Store_IssueNoteDetail] (
[ItemDesc1] nvarchar(64) NULL, [ItemDesc1] nvarchar(64) NULL,
[ItemDesc2] nvarchar(64) NULL, [ItemDesc2] nvarchar(64) NULL,
[ItemCode] nvarchar(64) NOT NULL, [ItemCode] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[FromPackingCode] nvarchar(450) NULL, [FromPackingCode] nvarchar(450) NULL,
@ -3447,7 +3448,6 @@ CREATE TABLE [Store_IssueNoteDetail] (
[RecommendFromLocationGroup] nvarchar(64) NULL, [RecommendFromLocationGroup] nvarchar(64) NULL,
[RecommendFromLocationErpCode] nvarchar(64) NULL, [RecommendFromLocationErpCode] nvarchar(64) NULL,
[RecommendFromWarehouseCode] nvarchar(64) NULL, [RecommendFromWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL, [HandledPackingCode] nvarchar(64) NULL,
@ -3855,6 +3855,7 @@ CREATE TABLE [Store_ProductionReturnNoteDetail] (
[ItemDesc1] nvarchar(64) NULL, [ItemDesc1] nvarchar(64) NULL,
[ItemDesc2] nvarchar(64) NULL, [ItemDesc2] nvarchar(64) NULL,
[ItemCode] nvarchar(64) NOT NULL, [ItemCode] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[FromPackingCode] nvarchar(450) NULL, [FromPackingCode] nvarchar(450) NULL,
@ -3891,7 +3892,6 @@ CREATE TABLE [Store_ProductionReturnNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL, [RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL, [RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL, [RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL, [HandledPackingCode] nvarchar(64) NULL,
@ -4021,6 +4021,7 @@ CREATE TABLE [Store_ProductReceiptNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL, [LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL, [WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL, [Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL, [RecommendContainerCode] nvarchar(64) NULL,
@ -4035,7 +4036,6 @@ CREATE TABLE [Store_ProductReceiptNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL, [RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL, [RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL, [RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL, [HandledPackingCode] nvarchar(64) NULL,
@ -4279,6 +4279,7 @@ CREATE TABLE [Store_PurchaseReceiptNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL, [LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL, [WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL, [Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL, [RecommendContainerCode] nvarchar(64) NULL,
@ -4293,7 +4294,6 @@ CREATE TABLE [Store_PurchaseReceiptNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL, [RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL, [RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL, [RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL, [HandledPackingCode] nvarchar(64) NULL,
@ -4378,6 +4378,7 @@ CREATE TABLE [Store_PurchaseReturnNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL, [LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL, [WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL, [Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL, [RecommendContainerCode] nvarchar(64) NULL,
@ -4392,7 +4393,6 @@ CREATE TABLE [Store_PurchaseReturnNoteDetail] (
[RecommendFromLocationGroup] nvarchar(64) NULL, [RecommendFromLocationGroup] nvarchar(64) NULL,
[RecommendFromLocationErpCode] nvarchar(64) NULL, [RecommendFromLocationErpCode] nvarchar(64) NULL,
[RecommendFromWarehouseCode] nvarchar(64) NULL, [RecommendFromWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL, [HandledPackingCode] nvarchar(64) NULL,
@ -4466,6 +4466,7 @@ CREATE TABLE [Store_PutawayNoteDetail] (
[ItemDesc1] nvarchar(64) NULL, [ItemDesc1] nvarchar(64) NULL,
[ItemDesc2] nvarchar(64) NULL, [ItemDesc2] nvarchar(64) NULL,
[ItemCode] nvarchar(64) NOT NULL, [ItemCode] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[FromPackingCode] nvarchar(450) NULL, [FromPackingCode] nvarchar(450) NULL,
@ -4502,7 +4503,6 @@ CREATE TABLE [Store_PutawayNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL, [RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL, [RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL, [RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL, [HandledPackingCode] nvarchar(64) NULL,
@ -4901,6 +4901,7 @@ CREATE TABLE [Store_UnplannedIssueNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL, [LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL, [WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL, [Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL, [RecommendContainerCode] nvarchar(64) NULL,
@ -4915,7 +4916,6 @@ CREATE TABLE [Store_UnplannedIssueNoteDetail] (
[RecommendFromLocationGroup] nvarchar(64) NULL, [RecommendFromLocationGroup] nvarchar(64) NULL,
[RecommendFromLocationErpCode] nvarchar(64) NULL, [RecommendFromLocationErpCode] nvarchar(64) NULL,
[RecommendFromWarehouseCode] nvarchar(64) NULL, [RecommendFromWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] nvarchar(64) NULL, [HandledPackingCode] nvarchar(64) NULL,
@ -5000,6 +5000,7 @@ CREATE TABLE [Store_UnplannedReceiptNoteDetail] (
[LocationErpCode] nvarchar(64) NOT NULL, [LocationErpCode] nvarchar(64) NOT NULL,
[WarehouseCode] nvarchar(64) NOT NULL, [WarehouseCode] nvarchar(64) NOT NULL,
[Status] nvarchar(64) NOT NULL, [Status] nvarchar(64) NOT NULL,
[Uom] nvarchar(64) NOT NULL,
[Qty] decimal(18,6) NOT NULL, [Qty] decimal(18,6) NOT NULL,
[StdPackQty] decimal(18,6) NOT NULL, [StdPackQty] decimal(18,6) NOT NULL,
[RecommendContainerCode] nvarchar(64) NULL, [RecommendContainerCode] nvarchar(64) NULL,
@ -5014,7 +5015,6 @@ CREATE TABLE [Store_UnplannedReceiptNoteDetail] (
[RecommendToLocationGroup] nvarchar(64) NULL, [RecommendToLocationGroup] nvarchar(64) NULL,
[RecommendToLocationErpCode] nvarchar(64) NULL, [RecommendToLocationErpCode] nvarchar(64) NULL,
[RecommendToWarehouseCode] nvarchar(64) NULL, [RecommendToWarehouseCode] nvarchar(64) NULL,
[Uom] nvarchar(64) NOT NULL,
[RecommendQty] decimal(18,6) NOT NULL, [RecommendQty] decimal(18,6) NOT NULL,
[HandledContainerCode] nvarchar(64) NULL, [HandledContainerCode] nvarchar(64) NULL,
[HandledPackingCode] 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 System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Options;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Json;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
namespace Win_in.Sfs.Wms.Pda.Controllers.BaseDatas; namespace Win_in.Sfs.Wms.Pda.Controllers.BaseDatas;
@ -18,9 +21,11 @@ public class DictController : AbpController
/// ///
/// </summary> /// </summary>
/// <param name="dictApp"></param> /// <param name="dictApp"></param>
public DictController(IDictAppService dictApp) public DictController(IDictAppService dictApp,IOptions<AbpJsonOptions> options)
{ {
_dictApp = dictApp; _dictApp = dictApp;
var str = options.Value.DefaultDateTimeFormat;
Console.WriteLine(str);
} }
/// <summary> /// <summary>
@ -31,6 +36,8 @@ public class DictController : AbpController
[HttpGet("by-code")] [HttpGet("by-code")]
public virtual async Task<DictDTO> GetByCodeAsync(string code) public virtual async Task<DictDTO> GetByCodeAsync(string code)
{ {
return await _dictApp.GetByCodeAsync(code).ConfigureAwait(false); var dtos = await _dictApp.GetByCodeAsync(code).ConfigureAwait(false);
return dtos;
} }
} }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Caching.Distributed; using Microsoft.Extensions.Caching.Distributed;
using Volo.Abp.Caching; using Volo.Abp.Caching;
using Volo.Abp.Json;
namespace Win_in.Sfs.Shared.Application; namespace Win_in.Sfs.Shared.Application;
@ -27,6 +28,10 @@ public static class CachingExtensions
{ {
TCacheItem cacheItem; TCacheItem cacheItem;
//return await factory.Invoke().ConfigureAwait(false);
//todo 有问题 时间转换 坑坑坑
var result = await cache.GetAsync(key).ConfigureAwait(false); var result = await cache.GetAsync(key).ConfigureAwait(false);
if (result == null) 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, var entities = await _repository.GetPagedListAsync(expression, input.SkipCount, input.MaxResultCount,
input.Sorting, true).ConfigureAwait(false); input.Sorting, true).ConfigureAwait(false);
var list = ObjectMapper.Map<List<TEntity>, List<TEntityDto>>(entities); var list = ObjectMapper.Map<List<TEntity>, List<TEntityDto>>(entities);
var hasDetails = typeof(TEntity) is SfsMasterAggregateRootBase<TDetail> detailEntity;
return ExportImportService.Export(list, detailsProptyName: hasDetails ? nameof(detailEntity.Details) : null); //var hasDetails = typeof(TEntity) is SfsMasterAggregateRootBase<TDetail> detailEntity;
var tt = typeof(TEntity).GetBaseClasses(typeof(SfsMasterAggregateRootBase<TDetail>));
var hasDetails = tt.Length > 0 ? true : false;
return ExportImportService.Export(list,detailsProptyName: hasDetails ? nameof(TDetail) : null);
} }
/// <summary> /// <summary>

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

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

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

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

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

@ -1,10 +1,15 @@
using System; using System;
using System.Configuration;
using System.Data; using System.Data;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Reflection; using System.Reflection;
using System.Runtime.Serialization;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using DocumentFormat.OpenXml.InkML;
using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.DataProtection; using Microsoft.AspNetCore.DataProtection;
@ -20,6 +25,7 @@ using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;
using NUglify.Helpers; using NUglify.Helpers;
using Serilog.Formatting.Json;
using StackExchange.Redis; using StackExchange.Redis;
using Swashbuckle.AspNetCore.SwaggerGen; using Swashbuckle.AspNetCore.SwaggerGen;
using Volo.Abp; using Volo.Abp;
@ -35,8 +41,11 @@ using Volo.Abp.Content;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.Guids; using Volo.Abp.Guids;
using Volo.Abp.Json;
using Volo.Abp.Json.SystemTextJson.JsonConverters;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.Timing;
using Win_in.Sfs.Shared.Application; using Win_in.Sfs.Shared.Application;
using Win_in.Sfs.Shared.Application.Contracts.ExportAndImport; using Win_in.Sfs.Shared.Application.Contracts.ExportAndImport;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
@ -70,6 +79,7 @@ public abstract class ModuleBase<T> : AbpModule where T : AbpModule
ConfigureAutoApiControllers(); ConfigureAutoApiControllers();
ConfigureSwaggerServices(); ConfigureSwaggerServices();
ConfigureAddCors(); ConfigureAddCors();
Configure();
SetFormLimit(); SetFormLimit();
ConfigureExceptionHanding(); ConfigureExceptionHanding();
} }
@ -238,6 +248,9 @@ public abstract class ModuleBase<T> : AbpModule where T : AbpModule
protected virtual void Configure() protected virtual void Configure()
{ {
//todo 解决时间
// ServiceConfigurationContext.Services.AddTransient<IJsonSerializer,ConvertAbpJson>();
} }
protected virtual void ConfigureAddCors() protected virtual void ConfigureAddCors()
@ -440,4 +453,35 @@ public abstract class ModuleBase<T> : AbpModule where T : AbpModule
options.SendExceptionsDetailsToClients = true; 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 = "原因代码")] [Display(Name = "原因代码")]
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
} }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Microsoft.EntityFrameworkCore;
using Volo.Abp; using Volo.Abp;
using Win_in.Sfs.Basedata.Application.Contracts; using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
using Win_in.Sfs.Wms.Store.Application.Contracts; using Win_in.Sfs.Wms.Store.Application.Contracts;
using Win_in.Sfs.Wms.Store.Domain; using Win_in.Sfs.Wms.Store.Domain;
@ -57,7 +58,7 @@ public class PurchaseOrderAppService :
foreach (var purchaseOrder in addList) foreach (var purchaseOrder in addList)
{ {
purchaseOrder.CreatorId = CurrentUser.Id; purchaseOrder.CreatorId = CurrentUser.Id;
purchaseOrder.Worker = CurrentUser.Name; purchaseOrder.Worker = CurrentUser.GetName();
var supplierDto = var supplierDto =
await _supplierAppService.GetByCodeAsync(purchaseOrder.SupplierCode).ConfigureAwait(false); 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(); .ReverseMap();
CreateMap<PurchaseOrderDetail, PurchaseOrderDetailDTO>() CreateMap<PurchaseOrderDetail, PurchaseOrderDetailDTO>()
.IgnoreAuditedObjectProperties()
.ReverseMap(); .ReverseMap();
CreateMap<PurchaseOrderEditInput, PurchaseOrder>() CreateMap<PurchaseOrderEditInput, PurchaseOrder>()

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.ComponentModel.DataAnnotations;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.Users; using Volo.Abp.Users;
using Volo.Abp.Validation; using Volo.Abp.Validation;
using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Shared.Domain.Shared;
@ -31,9 +32,7 @@ public class PurchaseReceiptJobManager : SfsJobManagerBase<PurchaseReceiptJob, P
public override async Task<PurchaseReceiptJob> CompleteAsync(PurchaseReceiptJob input, ICurrentUser user) public override async Task<PurchaseReceiptJob> CompleteAsync(PurchaseReceiptJob input, ICurrentUser user)
{ {
var entity = await Repository.FindAsync(input.Id).ConfigureAwait(false); var entity = await Repository.FindAsync(input.Id).ConfigureAwait(false);
BuildDetailHandledAsync(input, entity); BuildDetailHandledAsync(input, entity);
//设置任务为完成 //设置任务为完成
return await base.CompleteAsync(entity, user).ConfigureAwait(false); return await base.CompleteAsync(entity, user).ConfigureAwait(false);
} }
@ -52,6 +51,8 @@ public class PurchaseReceiptJobManager : SfsJobManagerBase<PurchaseReceiptJob, P
//修改子表数据 //修改子表数据
foreach (var detail in entity.Details) foreach (var detail in entity.Details)
{ {
if (detail.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.INSP)//缺货 if (detail.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.INSP)//缺货
{ {
detail.PurchaseReceiptInspectStatus = EnumPurchaseReceiptInspect.NORECEIPT; 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; using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Domain;
@ -9,6 +10,24 @@ public class UnplannedIssueJobDetail : SfsJobRecommendFromDetailEntityBase, IHas
/// </summary> /// </summary>
public string ReasonCode { get; set; } public string ReasonCode { get; set; }
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

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

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

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

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

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

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

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

@ -27,7 +27,7 @@ public class MaterialRequestManager
/// <returns></returns> /// <returns></returns>
public virtual async Task<MaterialRequest> CreateBynNumberAsync(MaterialRequest entity) public virtual async Task<MaterialRequest> CreateBynNumberAsync(MaterialRequest entity)
{ {
var number = string.IsNullOrEmpty(entity.Number) ? await GenerateNumberAsync(typeof(MaterialRequest).Name, entity.ActiveDate).ConfigureAwait(false) : entity.Number; var number = string.IsNullOrEmpty(entity.Number) ? await GenerateNumberAsync(nameof(MaterialRequest), entity.ActiveDate).ConfigureAwait(false) : entity.Number;
entity.SetIdAndNumberWithDetails(GuidGenerator, number); entity.SetIdAndNumberWithDetails(GuidGenerator, number);
entity.Submit(); entity.Submit();
entity.Agree(); entity.Agree();
@ -128,16 +128,35 @@ public class MaterialRequestManager
oldEntity.ReplaceDetail(newDetail.Id, newDetail); oldEntity.ReplaceDetail(newDetail.Id, newDetail);
} }
var flag=oldEntity.Details.Any(p => p.ReceivedQty < p.Qty);//还有补料完 没收到的货 foreach (var detail in oldEntity.Details)
if (!flag)
{ {
oldEntity.Complete(); SetMaterialRequestDetailStatus(detail);
} }
//SetMaterialRequestStatus(oldEntity);
await Repository.UpdateAsync(oldEntity).ConfigureAwait(false); 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) public virtual async Task CompleteAsync(string number)
{ {
var entity = await GetByNumberAsync(number).ConfigureAwait(false); 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; using Volo.Abp.Data;
namespace Win_in.Sfs.Wms.Store.Domain; namespace Win_in.Sfs.Wms.Store.Domain;
@ -8,6 +9,24 @@ namespace Win_in.Sfs.Wms.Store.Domain;
public class UnplannedIssueRequestDetail : SfsStoreDetailWithLotPackingQtyLocationStatusEntityBase public class UnplannedIssueRequestDetail : SfsStoreDetailWithLotPackingQtyLocationStatusEntityBase
, IHasExtraProperties , IHasExtraProperties
{ {
/// <summary>
/// 专案
/// </summary>
[Display(Name = "专案")]
public string CaseCode { get; set; }
/// <summary>
/// 项目分类
/// </summary>
[Display(Name = "项目分类")]
public string ProjCapacityCode { get; set; }
/// <summary>
/// 次交易码
/// </summary>
[Display(Name = "次交易码")]
public string OnceBusiCode { get; set; }
/// <summary> /// <summary>
/// 扩展属性 /// 扩展属性
/// </summary> /// </summary>

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

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

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

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

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

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

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

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

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

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

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.Domain.Shared;
using Win_in.Sfs.Shared.Event; using Win_in.Sfs.Shared.Event;
using Win_in.Sfs.Wms.Store.Domain; 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; namespace Win_in.Sfs.Wms.Store.Event.BusinessRequest;
@ -37,33 +39,6 @@ public class IssueNoteEventHandler
await UpdateReceivedQtyMaterialRequestAsync(entity).ConfigureAwait(false); 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>
/// 当叫料记录创建后 修改请求的值 /// 当叫料记录创建后 修改请求的值
/// </summary> /// </summary>
@ -93,4 +68,31 @@ public class IssueNoteEventHandler
await UpdateReceivedQtyMaterialRequestAsync(entity).ConfigureAwait(false); 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 public class ProductRecycleRequestEventHandler
: StoreEventHandlerBase : StoreEventHandlerBase
, ILocalEventHandler<SfsHandledEntityEventData<ProductRecycleRequest>> , ILocalEventHandler<SfsHandledEntityEventData<ProductRecycleRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<ProductRecycleRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<List<ProductRecycleRequest>>>
{ {
private readonly IProductRecycleNoteAppService _productRecycleNoteApp; private readonly IProductRecycleNoteAppService _productRecycleNoteApp;
private readonly IBackFlushNoteAppService _backFlushNoteApp; private readonly IBackFlushNoteAppService _backFlushNoteApp;
private readonly IBomAppService _bomApp; private readonly IBomAppService _bomApp;
private readonly IProductRecycleRequestManager _productRecycleRequestManager;
public ProductRecycleRequestEventHandler( public ProductRecycleRequestEventHandler(
IProductRecycleNoteAppService productRecycleNoteApp, IProductRecycleNoteAppService productRecycleNoteApp,
IBackFlushNoteAppService backFlushNoteApp, IBackFlushNoteAppService backFlushNoteApp,
IBomAppService bomApp IBomAppService bomApp, IProductRecycleRequestManager
) productRecycleRequestManager)
{ {
_productRecycleNoteApp = productRecycleNoteApp; _productRecycleNoteApp = productRecycleNoteApp;
_backFlushNoteApp = backFlushNoteApp; _backFlushNoteApp = backFlushNoteApp;
_bomApp = bomApp; _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] [UnitOfWork]
@ -49,6 +84,8 @@ public class ProductRecycleRequestEventHandler
} }
} }
#region 私有
private async Task<ProductRecycleNoteEditInput> BuildProductRecycleNoteAsync(ProductRecycleRequest request) private async Task<ProductRecycleNoteEditInput> BuildProductRecycleNoteAsync(ProductRecycleRequest request)
{ {
var createInput = ObjectMapper.Map<ProductRecycleRequest, ProductRecycleNoteEditInput>(request); var createInput = ObjectMapper.Map<ProductRecycleRequest, ProductRecycleNoteEditInput>(request);
@ -115,6 +152,10 @@ public class ProductRecycleRequestEventHandler
return detailInput; return detailInput;
} }
#endregion
/* /*
private async Task<List<BackFlushNoteCreateInput>> BuildFlushNotesAsync(ProductRecycleRequest request) private async Task<List<BackFlushNoteCreateInput>> BuildFlushNotesAsync(ProductRecycleRequest request)
{ {

53
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 public class UnplannedIssueRequestEventHandler
: StoreEventHandlerBase : StoreEventHandlerBase
, ILocalEventHandler<SfsHandledEntityEventData<UnplannedIssueRequest>> , ILocalEventHandler<SfsCreatedEntityEventData<UnplannedIssueRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<List<UnplannedIssueRequest>>>
, ILocalEventHandler<SfsHandledEntityEventData<UnplannedIssueRequest>>
{ {
private readonly IUnplannedIssueJobAppService _unplannedIssueJobApp; private readonly IUnplannedIssueJobAppService _unplannedIssueJobApp;
private readonly IUnplannedIssueNoteAppService _unplannedIssueNoteAppService; private readonly IUnplannedIssueNoteAppService _unplannedIssueNoteAppService;
private readonly IUnplannedIssueRequestManager _unplannedIssueRequestManager;
public UnplannedIssueRequestEventHandler( public UnplannedIssueRequestEventHandler(
IUnplannedIssueJobAppService unplannedIssueJobApp IUnplannedIssueJobAppService unplannedIssueJobApp,
, IUnplannedIssueNoteAppService unplannedIssueNoteAppService IUnplannedIssueNoteAppService unplannedIssueNoteAppService,
) IUnplannedIssueRequestManager unplannedIssueRequestManager)
{ {
_unplannedIssueJobApp = unplannedIssueJobApp; _unplannedIssueJobApp = unplannedIssueJobApp;
_unplannedIssueNoteAppService = unplannedIssueNoteAppService; _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) public virtual async Task HandleEventAsync(SfsHandledEntityEventData<UnplannedIssueRequest> eventData)
{ {
var entity = eventData.Entity; 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); await Task.CompletedTask.ConfigureAwait(false);
var createInput = ObjectMapper.Map<UnplannedIssueRequest, UnplannedIssueNoteEditInput>(entity); var createInput = ObjectMapper.Map<UnplannedIssueRequest, UnplannedIssueNoteEditInput>(entity);
@ -50,6 +91,8 @@ public class UnplannedIssueRequestEventHandler
return createInput; return createInput;
} }
#endregion
private async Task<UnplannedIssueJobEditInput> BuildUnplannedIssueJobCreateInputAsync(UnplannedIssueRequest entity) private async Task<UnplannedIssueJobEditInput> BuildUnplannedIssueJobCreateInputAsync(UnplannedIssueRequest entity)
{ {
await Task.CompletedTask.ConfigureAwait(false); await Task.CompletedTask.ConfigureAwait(false);

57
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 public class UnplannedReceiptRequestEventHandler
: StoreEventHandlerBase : StoreEventHandlerBase
, ILocalEventHandler<SfsHandledEntityEventData<UnplannedReceiptRequest>> , ILocalEventHandler<SfsCreatedEntityEventData<UnplannedReceiptRequest>>
, ILocalEventHandler<SfsCreatedEntityEventData<List<UnplannedReceiptRequest>>>
, ILocalEventHandler<SfsHandledEntityEventData<UnplannedReceiptRequest>>
{ {
private readonly IUnplannedReceiptJobAppService _unplannedReceiptJobApp; private readonly IUnplannedReceiptJobAppService _unplannedReceiptJobApp;
private readonly IUnplannedReceiptNoteAppService _unplannedReceiptNoteApp; private readonly IUnplannedReceiptNoteAppService _unplannedReceiptNoteApp;
private readonly IUnplannedReceiptRequestManager _unplannedReceiptRequestManager;
public UnplannedReceiptRequestEventHandler( public UnplannedReceiptRequestEventHandler(
IUnplannedReceiptJobAppService unplannedReceiptJobApp IUnplannedReceiptJobAppService unplannedReceiptJobApp,
, IUnplannedReceiptNoteAppService unplannedReceiptNoteApp IUnplannedReceiptNoteAppService unplannedReceiptNoteApp,
) IUnplannedReceiptRequestManager unplannedReceiptRequestManager)
{ {
_unplannedReceiptNoteApp = unplannedReceiptNoteApp; _unplannedReceiptNoteApp = unplannedReceiptNoteApp;
_unplannedReceiptRequestManager = unplannedReceiptRequestManager;
_unplannedReceiptJobApp = unplannedReceiptJobApp; _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) public virtual async Task HandleEventAsync(SfsHandledEntityEventData<UnplannedReceiptRequest> eventData)
{ {
var entity = eventData.Entity; 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); await Task.CompletedTask.ConfigureAwait(false);
var createInput = ObjectMapper.Map<UnplannedReceiptRequest, UnplannedReceiptNoteEditInput>(entity); var createInput = ObjectMapper.Map<UnplannedReceiptRequest, UnplannedReceiptNoteEditInput>(entity);
@ -52,7 +93,8 @@ public class UnplannedReceiptRequestEventHandler
return createInput; return createInput;
} }
private async Task<UnplannedReceiptJobEditInput> BuildToUnplannedReceiptJobCreateInputAsync(UnplannedReceiptRequest entity) private async Task<UnplannedReceiptJobEditInput> BuildToUnplannedReceiptJobCreateInputAsync(
UnplannedReceiptRequest entity)
{ {
await Task.CompletedTask.ConfigureAwait(false); await Task.CompletedTask.ConfigureAwait(false);
var createInput = ObjectMapper.Map<UnplannedReceiptRequest, UnplannedReceiptJobEditInput>(entity); var createInput = ObjectMapper.Map<UnplannedReceiptRequest, UnplannedReceiptJobEditInput>(entity);
@ -75,6 +117,8 @@ public class UnplannedReceiptRequestEventHandler
return createInput; return createInput;
} }
#endregion
/* AutoMapper实现 /* AutoMapper实现
private void SetUnplannedReceiptJobDetails(UnplannedReceiptJobCreateInput createInput, List<UnplannedReceiptRequestDetail> details) 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) Dictionary<string, EnumInspectType> dictionary)
{ {
if (entity.Details.Any(p => if (entity.Details.Any(p =>
p.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.NOK ||
p.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.OK)) p.PurchaseReceiptInspectStatus == EnumPurchaseReceiptInspect.OK))
{ {
var inboundTransactions = new List<TransactionEditInput>(); var inboundTransactions = new List<TransactionEditInput>();

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

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

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

@ -2,6 +2,7 @@ import request from '@/utils/request'
import store from '@/store' import store from '@/store'
// let baseURL = process.env.VUE_APP_BASE_API + '/' // let baseURL = process.env.VUE_APP_BASE_API + '/'
let baseURL = localStorage.getItem('base') + '/api/' let baseURL = localStorage.getItem('base') + '/api/'
let printURL = localStorage.getItem('print') + '/api/'
//新建 //新建
export function postCreate(data, url) { export function postCreate(data, url) {
if (Object.keys(data).includes('company')) { if (Object.keys(data).includes('company')) {
@ -242,7 +243,7 @@ export function getPage(data, url) {
//打印标签 //打印标签
export function PrintServices(data) { export function PrintServices(data) {
return request({ return request({
url: baseURL + 'reporting/PrintServices', url: printURL + 'reporting/PrintServices',
method: 'post', method: 'post',
headers: { headers: {
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
@ -408,11 +409,20 @@ 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({ return request({
url: baseURL + 'wms/inventory/inventory-balance/active?id=' + id, url: baseURL + 'wms/inventory/inventory-balance/' + params.id + '/active',
method: 'post', method: 'post',
params: params,
}) })
} }
@ -456,8 +466,9 @@ export function createAndHandle(data) {
// 人工叫料申请 | 人工发料任务 | 人工发料记录 | 自动叫料申请 | 自动发料任务 | 自动发料记录 | 直接发料记录 // 人工叫料申请 | 人工发料任务 | 人工发料记录 | 自动叫料申请 | 自动发料任务 | 自动发料记录 | 直接发料记录
// 完工收货缴库申请 | 线边仓缴库申请 | 线边仓缴库记录 | 线边仓报废申请 | 线边仓报废记录 | 原料报废记录 // 完工收货缴库申请 | 线边仓缴库申请 | 线边仓缴库记录 | 线边仓报废申请 | 线边仓报废记录 | 原料报废记录
export function materialRequestByType(data, url, params) { export function materialRequestByType(data, url, params) {
let _type = params.type?params.type:params.requestType
return request({ return request({
url: baseURL + url + '/' + params.type, url: baseURL + url + '/' + _type,
method: 'post', method: 'post',
params: params, params: params,
data data
@ -499,7 +510,7 @@ export function getPageListWip(data, url) {
}) })
} }
// 线边仓调拨确认按钮 | 客户调拨确认按钮 // 线边仓调拨确认按钮 | 客户调拨确认按钮 | 自动发料记录
export function confirm(id, url) { export function confirm(id, url) {
return request({ return request({
url: baseURL + url + '/confirm/' + id, url: baseURL + url + '/confirm/' + id,
@ -530,6 +541,22 @@ export function allSupplierByCodes(data) {
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) { // export function getDictByCode(code) {
// return request({ // 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('print') + '/api/'
let baseURL = localStorage.getItem('base') + '/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) { export function getInventoryLabelByCodes(data) {
return request({ 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) { export function materialRequestByType(data, url, params) {
let _type = params.type?params.type:params.requestType
return request({ return request({
url: baseURL + url + '/' + params.type, url: baseURL + url + '/' + _type,
method: 'post', method: 'post',
params: params, params: params,
data data
@ -198,7 +199,7 @@ export function preparationPlanByNumber(params) {
//质检——完成质检 //质检——完成质检
export function completeSummaryDetailStatus(params, data) { export function completeSummaryDetailStatus(params, data) {
return request({ 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', method: 'post',
params: params, params: params,
data data
@ -208,7 +209,7 @@ export function completeSummaryDetailStatus(params, data) {
//质检——设置默认状态(清除质检) //质检——设置默认状态(清除质检)
export function setDetailDefaultOkStatus(params, id, data) { export function setDetailDefaultOkStatus(params, id, data) {
return request({ 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', method: 'post',
params: params, params: params,
data data
@ -218,7 +219,7 @@ export function setDetailDefaultOkStatus(params, id, data) {
//质检——设置详情为合格 //质检——设置详情为合格
export function setDetailOkStatus(params, id, data) { export function setDetailOkStatus(params, id, data) {
return request({ 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', method: 'post',
params: params, params: params,
data data
@ -228,7 +229,7 @@ export function setDetailOkStatus(params, id, data) {
//质检——设置详情为不合格 //质检——设置详情为不合格
export function setDetailNookStatus(params, id, data) { export function setDetailNookStatus(params, id, data) {
return request({ 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', method: 'post',
params: params, params: params,
data data

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

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

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

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

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

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

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

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

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

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

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

Loading…
Cancel
Save