Browse Source

修改命名空间

集成Redis
Zheng 1 year ago
parent
commit
640a7ed885
  1. 8
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/CreateUpdateBaseDto/CreateUpdateBaseDto.cs
  2. 8
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/Condition.cs
  3. 62
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/EnumFilterAction.cs
  4. 17
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/EnumFilterLogic.cs
  5. 40
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/Filter.cs
  6. 371
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/FilterExtensions.cs
  7. 12
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/ISfsRequest.cs
  8. 24
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/IZbxBase.cs
  9. 12
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/SfsRequestInputBase.cs
  10. 22
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/TableColumnTypeDto/AllTableColumnTypeDto.cs
  11. 31
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/TableColumnTypeDto/ColumnType.cs
  12. 33
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/CreateUpdateExportCustomUserSettingDto.cs
  13. 38
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/ExportCustomUserSettingDto.cs
  14. 36
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/ExportCustomUserSettingGetListInput.cs
  15. 26
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/IExportCustomUserSettingAppService.cs
  16. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Permissions/WmsPermissionDefinitionProvider.cs
  17. 13
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Permissions/WmsPermissions.cs
  18. 1
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WinIn.FasterZ.Wms.Application.Contracts.csproj
  19. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WmsApplicationContractsModule.cs
  20. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WmsDtoExtensions.cs
  21. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Z_Business/AuthDepartment/Dtos/AuthDepartmentGetListInput.cs
  22. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Z_Business/AuthDepartment/Dtos/CreateUpdateAuthDepartmentDto.cs
  23. 6
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Z_Business/AuthDepartment/IAuthDepartmentAppService.cs
  24. 27
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/Extensions/ExpressionExtensions.cs
  25. 54
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/Extensions/ObjectExpressionExtensions.cs
  26. 119
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/Extensions/ObjectMapperExtensions.cs
  27. 17
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/Extensions/StringExtensions.cs
  28. 711
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/ZbxBase.cs
  29. 63
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBaseBusiness/ExportCustomUserSetting/ExportCustomUserSettingAppService.cs
  30. 2
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WinIn.FasterZ.Wms.Application.csproj
  31. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsAppService.cs
  32. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsApplicationAutoMapperProfile.cs
  33. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsApplicationModule.cs
  34. 6
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/Z_Business/AuthDepartment/AuthDepartmentAppService.cs
  35. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Pages/Index.cshtml.cs
  36. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Program.cs
  37. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/WmsAuthServerModule.cs
  38. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/WmsBrandingProvider.cs
  39. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/DbMigratorHostedService.cs
  40. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/Program.cs
  41. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/WmsDbMigratorModule.cs
  42. 14
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Enums/Enum_ExportCustomUserSetting.cs
  43. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/WmsResource.cs
  44. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs
  45. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsDomainErrorCodes.cs
  46. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsDomainSharedModule.cs
  47. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsModuleExtensionConfigurator.cs
  48. 43
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/AppBaseBusiness/ExportCustomUserSetting/ExportCustomUserSetting.cs
  49. 12
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/AppBaseBusiness/ExportCustomUserSetting/IExportCustomUserSettingRepository.cs
  50. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/IWmsDbSchemaMigrator.cs
  51. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/NullWmsDbSchemaMigrator.cs
  52. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/WmsDbMigrationService.cs
  53. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/OpenIddict/OpenIddictDataSeedContributor.cs
  54. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Settings/WmsSettingDefinitionProvider.cs
  55. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/WmsConsts.cs
  56. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/WmsDomainModule.cs
  57. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthDepartment/AuthDepartment.cs
  58. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthDepartment/IAuthDepartmentRepository.cs
  59. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthMenu/AuthMenu.cs
  60. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthUserMenu/AuthUserMenu.cs
  61. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthUserWorkGroup/AuthUserWorkGroup.cs
  62. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataAql/BasedataAql.cs
  63. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataArea/BasedataArea.cs
  64. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataBom/BasedataBom.cs
  65. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCalendar/BasedataCalendar.cs
  66. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCategory/BasedataCategory.cs
  67. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCurrency/BasedataCurrency.cs
  68. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCurrencyExchange/BasedataCurrencyExchange.cs
  69. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCustomer/BasedataCustomer.cs
  70. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCustomerAddress/BasedataCustomerAddress.cs
  71. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCustomerItem/BasedataCustomerItem.cs
  72. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataDict/BasedataDict.cs
  73. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataDictItem/BasedataDictItem.cs
  74. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataDock/BasedataDock.cs
  75. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataDocumentSetting/BasedataDocumentSetting.cs
  76. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataErpLocation/BasedataErpLocation.cs
  77. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataInterfaceCalendar/BasedataInterfaceCalendar.cs
  78. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemCategory/BasedataItemCategory.cs
  79. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemGuideBook/BasedataItemGuideBook.cs
  80. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemPack/BasedataItemPack.cs
  81. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemQuality/BasedataItemQuality.cs
  82. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemSafetyStock/BasedataItemSafetyStock.cs
  83. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemStoreRelation/BasedataItemStoreRelation.cs
  84. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataLocation/BasedataLocation.cs
  85. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataLocationGroup/BasedataLocationGroup.cs
  86. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataMachine/BasedataMachine.cs
  87. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataProductionLine/BasedataProductionLine.cs
  88. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataProductionLineItem/BasedataProductionLineItem.cs
  89. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataProject/BasedataProject.cs
  90. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataPurchasePriceSheet/BasedataPurchasePriceSheet.cs
  91. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataSalePriceSheet/BasedataSalePriceSheet.cs
  92. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataShift/BasedataShift.cs
  93. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataStdCostPriceSheet/BasedataStdCostPriceSheet.cs
  94. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataSupplier/BasedataSupplier.cs
  95. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataSupplierItem/BasedataSupplierItem.cs
  96. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataSupplierTimeWindow/BasedataSupplierTimeWindow.cs
  97. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataTeam/BasedataTeam.cs
  98. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataTransactionType/BasedataTransactionType.cs
  99. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataUom/BasedataUom.cs
  100. 5
      WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataWarehouse/BasedataWarehouse.cs

8
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/CreateUpdateBaseDto/CreateUpdateBaseDto.cs

@ -0,0 +1,8 @@
using System;
using Volo.Abp.Application.Dtos;
namespace WinIn.FasterZ.Wms.AppBase.CreateUpdateBaseDto;
public class CreateUpdateBaseDto : EntityDto<Guid>
{
}

8
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/Condition.cs

@ -0,0 +1,8 @@
using System.Collections.Generic;
namespace WinIn.FasterZ.Store.AppBase.Filters;
public class Condition
{
public ICollection<Filter> Filters { get; set; } = new List<Filter>();
}

62
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/EnumFilterAction.cs

@ -0,0 +1,62 @@
using System.ComponentModel;
namespace WinIn.FasterZ.Wms.AppBase.Filters;
/// <summary>
/// 过滤条件
/// </summary>
public enum EnumFilterAction
{
/// <summary>
/// equal
/// </summary>
[Description("等于")] Equal = 0,
/// <summary>
/// Not equal
/// </summary>
[Description("不等于")] NotEqual = 1,
/// <summary>
/// Bigger
/// </summary>
[Description("大于")] BiggerThan = 2,
/// <summary>
/// Smaller
/// </summary>
[Description("小于")] SmallThan = 3,
/// <summary>
/// Bigger or equal
/// </summary>
[Description("大于等于")] BiggerThanOrEqual = 4,
/// <summary>
/// Small or equal
/// </summary>
[Description("小于等于")] SmallThanOrEqual = 5,
/// <summary>
/// Like
/// </summary>
[Description("类似于")] Like = 6,
/// <summary>
/// Not like
/// </summary>
[Description("不类似于")] NotLike = 7,
/// <summary>
/// Contained in
/// List<string > items = new List<string>();
/// string value = JsonSerializer.Serialize(items);//转成Json字符串
/// FilterCondition filterCondition = new FilterCondition() { Column = "Name", Value = value, Action = EnumFilterAction.In, Logic = EnumFilterLogic.And };
/// </summary>
[Description("包含于")] In = 8,
/// <summary>
/// Not contained in
/// </summary>
[Description("不包含于")] NotIn = 9,
}

17
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/EnumFilterLogic.cs

@ -0,0 +1,17 @@
namespace WinIn.FasterZ.Wms.AppBase.Filters;
/// <summary>
/// 过滤逻辑
/// </summary>
public enum EnumFilterLogic
{
/// <summary>
/// 与
/// </summary>
And = 0,
/// <summary>
/// 或
/// </summary>
Or = 1
}

40
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/Filter.cs

@ -0,0 +1,40 @@
namespace WinIn.FasterZ.Wms.AppBase.Filters;
public class Filter
{
public Filter()
{
Logic = "And";
}
public Filter(string column, string value,
string action = "==",
string logic = "And")
{
Column = column;
Action = action;
Value = value;
Logic = logic;
}
/// <summary>
/// 过滤条件之间的逻辑关系:AND和OR
/// </summary>
public string? Logic { get; set; } = "And";
/// <summary>
/// 过滤条件中使用的数据列
/// </summary>
public string? Column { get; set; }
/// <summary>
/// 过滤条件中的操作:==,!=,>,<,>=,<=,In,NotIn,Like,NotLike
/// Equal、NotEqual、BiggerThan、SmallThan、BiggerThanOrEqual、SmallThanOrEqual、In、NotIn
/// </summary>
public string? Action { get; set; } = "==";
/// <summary>
/// 过滤条件中的操作的值
/// </summary>
public string? Value { get; set; }
}

371
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/Filters/FilterExtensions.cs

@ -0,0 +1,371 @@
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Linq.Expressions;
using System.Text.Json;
using Volo.Abp;
using WinIn.FasterZ.Wms.AppBase.Filters;
namespace WinIn.FasterZ.Store.AppBase.Filters;
public static class FilterExtensions
{
public static Expression<Func<T, bool>> ToLambda<T>(this string jsonFilter)
{
if (string.IsNullOrWhiteSpace(jsonFilter))
{
return p => true;
}
var filterConditions = JsonSerializer.Deserialize<List<Filter>>(jsonFilter);
return filterConditions.ToLambda<T>();
}
public static Expression<Func<T, bool>> ToLambda<T>(this Filter filter)
{
var filterConditions = new List<Filter> { filter };
return filterConditions.ToLambda<T>();
}
public static Expression<Func<T, bool>> ToLambda<T>(this ICollection<Filter> filterConditionList)
{
Expression<Func<T, bool>> condition = null;
try
{
if (!filterConditionList.Any())
{
//创建默认表达式
return p => true;
}
foreach (var filterCondition in filterConditionList)
{
var tempCondition = CreateLambda<T>(filterCondition);
if (condition == null)
{
condition = tempCondition;
}
else
{
condition = filterCondition.Logic switch
{
"And" => condition.And(tempCondition),
"Or" => condition.Or(tempCondition),
_ => condition
};
}
}
}
catch (Exception ex)
{
throw new Exception($"获取筛选条件异常:{ex.Message}");
}
return condition;
}
private static Expression<Func<T, bool>> CreateLambda<T>(Filter filter)
{
Expression<Func<T, bool>> expression = p => false;
try
{
var parameter = Expression.Parameter(typeof(T), "p"); //创建参数p
var member = Expression.PropertyOrField(parameter, filter.Column); //创建表达式中的属性或字段
ConstantExpression constant = null;
//var propertyType = member.Type; //取属性类型,常量constant按此类型进行转换
//constant = Expression.Constant(filterCondition.Value);//创建常数
if (filter.Action != "In" && filter.Action != "NotIn")
{
constant = CreateConstantExpression(member.Type, filter.Value);
}
switch (filter.Action.ToLower())
{
case "==":
expression = Expression.Lambda<Func<T, bool>>(Expression.Equal(member, constant), parameter);
break;
case "!=":
expression = Expression.Lambda<Func<T, bool>>(Expression.NotEqual(member, constant), parameter);
break;
case ">":
expression = Expression.Lambda<Func<T, bool>>(Expression.GreaterThan(member, constant), parameter);
break;
case "<":
expression = Expression.Lambda<Func<T, bool>>(Expression.LessThan(member, constant), parameter);
break;
case ">=":
expression =
Expression.Lambda<Func<T, bool>>(Expression.GreaterThanOrEqual(member, constant), parameter);
break;
case "<=":
expression =
Expression.Lambda<Func<T, bool>>(Expression.LessThanOrEqual(member, constant), parameter);
break;
case "like":
expression = GetExpressionLikeMethod<T>("Contains", filter);
break;
case "notlike":
expression = GetExpressionNotLikeMethod<T>("Contains", filter);
break;
case "in":
expression = GetExpressionInMethod<T>("Contains", member.Type, filter);
break;
case "notin":
expression = GetExpressionNotInMethod<T>("Contains", member.Type, filter);
break;
}
}
catch (Exception ex)
{
throw new UserFriendlyException(ex.Message);
}
return expression;
}
/// <summary>
/// </summary>
/// <param name="propertyType"></param>
/// <param name="value"></param>
/// <returns></returns>
private static ConstantExpression CreateConstantExpression(Type propertyType, string value)
{
ConstantExpression constant = null;
try
{
if (propertyType.IsGenericType &&
propertyType.GetGenericTypeDefinition() == typeof(Nullable<>))
{
var objValue = Convert.ChangeType(ChangeTypeReturnValue(value, propertyType.GetGenericArguments()[0]),
propertyType.GetGenericArguments()[0],
CultureInfo.InvariantCulture);
constant = Expression.Constant(objValue, propertyType);
}
else if (propertyType.IsEnum)
{
var enumValue = (Enum)Enum.Parse(propertyType, value, true);
constant = Expression.Constant(enumValue, propertyType);
}
else
{
constant = propertyType.Name switch
{
"Guid" => Expression.Constant(Guid.Parse(value)),
_ => Expression.Constant(Convert.ChangeType(value, propertyType, CultureInfo.InvariantCulture))
};
}
}
catch (Exception ex)
{
throw new Exception($"获取ConstantExpression异常:{ex.Message}");
}
return constant;
}
private static Expression<Func<T, bool>> GetExpressionLikeMethod<T>(string methodName, Filter filter)
{
var parameterExpression = Expression.Parameter(typeof(T), "p");
// MethodCallExpression methodExpression = GetMethodExpression(methodName, filterCondition.Column, filterCondition.Value, parameterExpression);
var methodExpression = GetMethodExpression(methodName, filter.Column, filter.Value,
parameterExpression);
return Expression.Lambda<Func<T, bool>>(methodExpression, parameterExpression);
}
private static Expression<Func<T, bool>> GetExpressionNotLikeMethod<T>(string methodName, Filter filter)
{
var parameterExpression = Expression.Parameter(typeof(T), "p");
var methodExpression = GetMethodExpression(methodName, filter.Column, filter.Value,
parameterExpression);
var notMethodExpression = Expression.Not(methodExpression);
return Expression.Lambda<Func<T, bool>>(notMethodExpression, parameterExpression);
}
/// <summary>
/// 生成guidList.Contains(p=>p.GUId);
/// 除String类型,其他类型涉及到类型转换.如GUID
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="methodName">Contains</param>
/// <param name="propertyType">PropertyType/typeof(GUId)</param>
/// <param name="filter">PropertyName/PropertyValue</param>
/// <returns></returns>
private static Expression<Func<T, bool>> GetExpressionInMethod<T>(string methodName, Type propertyType,
Filter filter)
{
var parameterExpression = Expression.Parameter(typeof(T), "p");
var lstType = typeof(List<>).MakeGenericType(propertyType);
//转换枚举
//if (propertyType.IsEnum)
//{
// var valueArrayStrings = JsonSerializer.Deserialize<List<string>>(filter.Value);
// List<object> newValues = new List<object>();
// var enumValues = propertyType.GetEnumValues();
// foreach (var valueArray in valueArrayStrings)
// {
// foreach (var enumValue in enumValues)
// {
// if (enumValue.ToString() == valueArray)
// {
// newValues.Add(enumValue);
// break;
// }
// }
// }
// var newValue = JsonSerializer.Serialize(newValues);
// filter.Value = newValue;
//}
var propertyValue = JsonSerializer.Deserialize($"{filter.Value}", lstType);
if (propertyValue != null)
{
var methodExpression = GetListMethodExpression(methodName, propertyType, filter.Column, propertyValue,
parameterExpression);
var expression = Expression.Lambda<Func<T, bool>>(methodExpression, parameterExpression);
return expression;
}
return p => false;
}
private static Expression<Func<T, bool>> GetExpressionNotInMethod<T>(string methodName, Type propertyType,
Filter filter)
{
var parameterExpression = Expression.Parameter(typeof(T), "p");
var lstType = typeof(List<>).MakeGenericType(propertyType);
var propertyValue = JsonSerializer.Deserialize(filter.Value, lstType);
if (propertyValue != null)
{
var methodExpression = GetListMethodExpression(methodName, propertyType, filter.Column, propertyValue,
parameterExpression);
var notMethodExpression = Expression.Not(methodExpression);
return Expression.Lambda<Func<T, bool>>(notMethodExpression, parameterExpression);
}
return p => false;
}
private static MethodCallExpression GetListMethodExpression(string methodName, Type propertyType,
string propertyName, object propertyValue, ParameterExpression parameterExpression)
{
var propertyExpression = Expression.Property(parameterExpression, propertyName); //p.GUID
var type = typeof(List<>).MakeGenericType(propertyType);
var method = type.GetMethod(methodName); //获取 List.Contains()
var someValue = Expression.Constant(propertyValue); //Value
return Expression.Call(someValue, method, propertyExpression);
}
/// <summary>
/// 生成类似于p=>p.Code.Contains("xxx");的lambda表达式
/// parameterExpression标识p,propertyName表示values,propertyValue表示"Code",methodName表示Contains
/// 仅处理p的属性类型为string这种情况
/// </summary>
/// <param name="methodName"></param>
/// <param name="propertyName"></param>
/// <param name="propertyValue"></param>
/// <param name="parameterExpression"></param>
/// <returns></returns>
private static MethodCallExpression GetMethodExpression(string methodName, string propertyName,
string propertyValue, ParameterExpression parameterExpression)
{
var propertyExpression = Expression.Property(parameterExpression, propertyName);
var method = typeof(string).GetMethod(methodName, new[] { typeof(string) });
var someValue = Expression.Constant(propertyValue, typeof(string));
return Expression.Call(propertyExpression, method, someValue);
}
/// <summary>
/// 默认True条件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static Expression<Func<T, bool>> True<T>()
{
return f => true;
}
/// <summary>
/// 默认False条件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static Expression<Func<T, bool>> False<T>()
{
return f => false;
}
/// <summary>
/// 拼接 OR 条件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="exp"></param>
/// <param name="condition"></param>
/// <returns></returns>
private static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> exp,
Expression<Func<T, bool>> condition)
{
var inv = Expression.Invoke(condition, exp.Parameters);
return Expression.Lambda<Func<T, bool>>(Expression.Or(exp.Body, inv), exp.Parameters);
}
/// <summary>
/// 拼接And条件
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="exp"></param>
/// <param name="condition"></param>
/// <returns></returns>
private static Expression<Func<T, bool>> And<T>(this Expression<Func<T, bool>> exp,
Expression<Func<T, bool>> condition)
{
var inv = Expression.Invoke(condition, exp.Parameters);
return Expression.Lambda<Func<T, bool>>(Expression.And(exp.Body, inv), exp.Parameters);
}
/// <summary>
/// 转换传入的值,并将正确的值传出(解决 enum,guid)
/// </summary>
/// <param name="value"></param>
/// <param name="type"></param>
/// <returns></returns>
public static object ChangeTypeReturnValue(object value, Type type)
{
if (value == null && type.IsGenericType) return Activator.CreateInstance(type);
if (value == null) return null;
if (type == value.GetType()) return value;
if (type.IsEnum)
{
if (value is string)
return Enum.Parse(type, value as string);
else
return Enum.ToObject(type, value);
}
if (!type.IsInterface && type.IsGenericType)
{
Type innerType = type.GetGenericArguments()[0];
object innerValue = ChangeTypeReturnValue(value, innerType);
return Activator.CreateInstance(type, new object[] { innerValue });
}
if (value is string && type == typeof(Guid)) return new Guid(value as string);
if (value is string && type == typeof(Version)) return new Version(value as string);
if (!(value is IConvertible)) return value;
return Convert.ChangeType(value, type);
}
}

12
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/ISfsRequest.cs

@ -0,0 +1,12 @@
using Volo.Abp.Application.Dtos;
using WinIn.FasterZ.Store.AppBase.Filters;
namespace WinIn.FasterZ.Store.AppBase;
public interface ISfsRequest : IPagedAndSortedResultRequest
{
/// <summary>
/// 条件
/// </summary>
public Condition Condition { get; set; }
}

24
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/IZbxBase.cs

@ -0,0 +1,24 @@
using System;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.Application.Dtos;
namespace WinIn.FasterZ.Store.AppBase
{
public interface IZbxBase<TEntity, TEntityDto, TPagedAndSortedResultRequestDto, TKey, TCreateInput, TUpdateInput>
{
Task<PagedResultDto<TEntityDto>> GetPageListByFilterAsync(SfsRequestInputBase sfsRequestInputBase,
bool includeDetails = false, CancellationToken cancellationToken = default);
/// <summary>
/// 【基础】-【导出Excel】【有筛选条件】
/// </summary>
/// <param name="sfsRequestInputBase">查询条件</param>
/// <param name="isRedundance">是否冗余主表数据</param>
/// <param name="isDetailExport">是否导出子表</param>
/// <param name="userId">用户ID</param>
/// <returns></returns>
Task<IActionResult> ExportToExcelAsync(SfsRequestInputBase sfsRequestInputBase,bool isRedundance, Guid userId,bool isDetailExport = true);
}
}

12
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/SfsRequestInputBase.cs

@ -0,0 +1,12 @@
using Volo.Abp.Application.Dtos;
using WinIn.FasterZ.Store.AppBase.Filters;
namespace WinIn.FasterZ.Store.AppBase;
public class SfsRequestInputBase : PagedAndSortedResultRequestDto, ISfsRequest
{
/// <summary>
/// 条件
/// </summary>
public Condition Condition { get; set; } = new();
}

22
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/TableColumnTypeDto/AllTableColumnTypeDto.cs

@ -0,0 +1,22 @@
using System.Collections.Generic;
namespace WinIn.FasterZ.Store.AppBase.TableColumnTypeDto
{
public class AllTableColumnTypeDto
{
/// <summary>
/// 列属性类别
/// </summary>
public List<ColumnType> ColumnsTypes { get; set; }
/// <summary>
/// C R U S G
/// </summary>
public string DtoType { get; set; }
/// <summary>
/// Dto名称
/// </summary>
public string? DtoName { get; set; }
}
}

31
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBase/TableColumnTypeDto/ColumnType.cs

@ -0,0 +1,31 @@
using System.ComponentModel.DataAnnotations;
namespace WinIn.FasterZ.Store.AppBase.TableColumnTypeDto
{
public class ColumnType
{
/// <summary>
/// 列名
/// </summary>
[Display(Name = "列名")]
public string Z_ColumnName { get; set; }
/// <summary>
/// 后端类型
/// </summary>
[Display(Name = "后端类型")]
public string Z_ColumnType { get; set; }
/// <summary>
/// 基础类型
/// </summary>
[Display(Name = "基础类型")]
public string Z_ColumnBaseType { get; set; }
/// <summary>
/// 是否是枚举
/// </summary>
[Display(Name = "是否是枚举")]
public bool IsEnum { get; set; }
}
}

33
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/CreateUpdateExportCustomUserSettingDto.cs

@ -0,0 +1,33 @@
using System;
using WinIn.FasterZ.Store.Enums;
namespace WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting.Dtos;
[Serializable]
public class CreateUpdateExportCustomUserSettingDto
{
/// <summary>
/// 用户ID
/// </summary>
public Guid? ExportUserId { get; set; }
/// <summary>
/// 用户姓名
/// </summary>
public string? ExportUserName { get; set; }
/// <summary>
/// 列名
/// </summary>
public string? ExportColumnName { get; set; }
/// <summary>
/// 表名
/// </summary>
public string? ExportTableName { get; set; }
/// <summary>
/// 导出设置项
/// </summary>
public Enum_ExportCustomUserSetting CustomUserSetting { get; set; }
}

38
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/ExportCustomUserSettingDto.cs

@ -0,0 +1,38 @@
using System;
using Volo.Abp.Application.Dtos;
using WinIn.FasterZ.Store.Enums;
namespace WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting.Dtos
{
/// <summary>
/// 用户个型导出配置
/// </summary>
[Serializable]
public class ExportCustomUserSettingDto : AuditedEntityDto<Guid>
{
/// <summary>
/// 用户ID
/// </summary>
public Guid? ExportUserId { get; set; }
/// <summary>
/// 用户姓名
/// </summary>
public string? ExportUserName { get; set; }
/// <summary>
/// 列名
/// </summary>
public string? ExportColumnName { get; set; }
/// <summary>
/// 表名
/// </summary>
public string? ExportTableName { get; set; }
/// <summary>
/// 导出设置项
/// </summary>
public Enum_ExportCustomUserSetting CustomUserSetting { get; set; }
}
}

36
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/Dtos/ExportCustomUserSettingGetListInput.cs

@ -0,0 +1,36 @@
using System;
using System.ComponentModel;
using Volo.Abp.Application.Dtos;
using WinIn.FasterZ.Store.Enums;
namespace WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting.Dtos
{
[Serializable]
public class ExportCustomUserSettingGetListInput : PagedAndSortedResultRequestDto
{
/// <summary>
/// 用户ID
/// </summary>
public Guid? ExportUserId { get; set; }
/// <summary>
/// 用户姓名
/// </summary>
public string? ExportUserName { get; set; }
/// <summary>
/// 列名
/// </summary>
public string? ExportColumnName { get; set; }
/// <summary>
/// 表名
/// </summary>
public string? ExportTableName { get; set; }
/// <summary>
/// 导出设置项
/// </summary>
public Enum_ExportCustomUserSetting? CustomUserSetting { get; set; }
}
}

26
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/AppBaseBusiness/ExportCustomUserSetting/IExportCustomUserSettingAppService.cs

@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting.Dtos;
using Volo.Abp.Application.Services;
namespace WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting
{
/// <summary>
/// 用户个型导出配置
/// </summary>
public interface IExportCustomUserSettingAppService :
ICrudAppService<
ExportCustomUserSettingDto,
Guid,
ExportCustomUserSettingGetListInput,
CreateUpdateExportCustomUserSettingDto,
CreateUpdateExportCustomUserSettingDto>
{
/// <summary>
/// 根据用户和表名获取个性化导出
/// </summary>
/// <returns></returns>
Task<List<ExportCustomUserSettingDto>> GetByUserIdAndExportTableNameAsync(Guid userId, string exportTableName);
}
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Permissions/WmsPermissionDefinitionProvider.cs

@ -2,8 +2,8 @@ using WinIn.FasterZ.Wms.Localization;
using Volo.Abp.Authorization.Permissions; using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization; using Volo.Abp.Localization;
namespace WinIn.FasterZ.Wms.Permissions; namespace WinIn.FasterZ.Wms.Permissions
{
public class WmsPermissionDefinitionProvider : PermissionDefinitionProvider public class WmsPermissionDefinitionProvider : PermissionDefinitionProvider
{ {
public override void Define(IPermissionDefinitionContext context) public override void Define(IPermissionDefinitionContext context)
@ -23,3 +23,4 @@ public class WmsPermissionDefinitionProvider : PermissionDefinitionProvider
return LocalizableString.Create<WmsResource>(name); return LocalizableString.Create<WmsResource>(name);
} }
} }
}

13
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Permissions/WmsPermissions.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Permissions; namespace WinIn.FasterZ.Wms.Permissions
{
public static class WmsPermissions public static class WmsPermissions
{ {
public const string GroupName = "Wms"; public const string GroupName = "Wms";
@ -13,4 +13,13 @@ public static class WmsPermissions
public const string Create = Default + ".Create"; public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete"; public const string Delete = Default + ".Delete";
} }
public class ExportCustomUserSetting
{
public const string Default = GroupName + ".ExportCustomUserSetting";
public const string Update = Default + ".Update";
public const string Create = Default + ".Create";
public const string Delete = Default + ".Delete";
}
}
} }

1
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WinIn.FasterZ.Wms.Application.Contracts.csproj

@ -13,6 +13,7 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.2.0" />
<PackageReference Include="Volo.Abp.ObjectExtending" Version="7.3.2" /> <PackageReference Include="Volo.Abp.ObjectExtending" Version="7.3.2" />
<PackageReference Include="Volo.Abp.Account.Application.Contracts" Version="7.3.2" /> <PackageReference Include="Volo.Abp.Account.Application.Contracts" Version="7.3.2" />
<PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="7.3.2" /> <PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="7.3.2" />

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WmsApplicationContractsModule.cs

@ -7,8 +7,8 @@ using Volo.Abp.PermissionManagement;
using Volo.Abp.SettingManagement; using Volo.Abp.SettingManagement;
using Volo.Abp.TenantManagement; using Volo.Abp.TenantManagement;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
[DependsOn( [DependsOn(
typeof(WmsDomainSharedModule), typeof(WmsDomainSharedModule),
typeof(AbpAccountApplicationContractsModule), typeof(AbpAccountApplicationContractsModule),
@ -26,3 +26,4 @@ public class WmsApplicationContractsModule : AbpModule
WmsDtoExtensions.Configure(); WmsDtoExtensions.Configure();
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/WmsDtoExtensions.cs

@ -2,8 +2,8 @@
using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectExtending;
using Volo.Abp.Threading; using Volo.Abp.Threading;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
public static class WmsDtoExtensions public static class WmsDtoExtensions
{ {
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
@ -26,3 +26,4 @@ public static class WmsDtoExtensions
}); });
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Z_Business/AuthDepartment/Dtos/AuthDepartmentGetListInput.cs

@ -2,8 +2,8 @@ using System;
using System.ComponentModel; using System.ComponentModel;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos; namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos
{
[Serializable] [Serializable]
public class AuthDepartmentGetListInput : PagedAndSortedResultRequestDto public class AuthDepartmentGetListInput : PagedAndSortedResultRequestDto
{ {
@ -19,3 +19,4 @@ public class AuthDepartmentGetListInput : PagedAndSortedResultRequestDto
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Z_Business/AuthDepartment/Dtos/CreateUpdateAuthDepartmentDto.cs

@ -1,7 +1,7 @@
using System; using System;
namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos; namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos
{
[Serializable] [Serializable]
public class CreateUpdateAuthDepartmentDto public class CreateUpdateAuthDepartmentDto
{ {
@ -17,3 +17,4 @@ public class CreateUpdateAuthDepartmentDto
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

6
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application.Contracts/Z_Business/AuthDepartment/IAuthDepartmentAppService.cs

@ -2,9 +2,8 @@ using System;
using WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos; using WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment; namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment
{
public interface IAuthDepartmentAppService : public interface IAuthDepartmentAppService :
ICrudAppService< ICrudAppService<
AuthDepartmentDto, AuthDepartmentDto,
@ -15,3 +14,4 @@ public interface IAuthDepartmentAppService :
{ {
} }
}

27
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/Extensions/ExpressionExtensions.cs

@ -0,0 +1,27 @@
using System.Linq.Expressions;
namespace WinIn.FasterZ.Wms.AppBase.Extensions
{
public static class ExpressionExtensions
{
public static string GetMemberName(Expression expression)
{
if (expression is MemberExpression member)
{
return member.Member.Name;
}
if (expression is MethodCallExpression method)
{
return method.Method.Name;
}
if (expression is UnaryExpression unary)
{
return GetMemberName(unary);
}
return null;
}
}
}

54
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/Extensions/ObjectExpressionExtensions.cs

@ -0,0 +1,54 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Linq.Expressions;
using System.Reflection;
namespace WinIn.FasterZ.Wms.AppBase.Extensions
{
public static class ObjectExpressionExtensions
{
public static IQueryable<TEntity> WhereByKey<TEntity, TModel>(this IQueryable<TEntity> source, TModel model)
{
if (model == null)
{
return null;
}
var modelType = model.GetType();
var properties = modelType.GetProperties().Where(o => o.GetCustomAttribute<KeyAttribute>() != null).ToList();
if (properties.Any())
{
foreach (var property in properties)
{
var propertyName = property.Name;
var propertyValue = property.GetValue(model, null);
source = source.Where($"{propertyName} == @0", propertyValue);
}
return source;
}
return null;
}
public static List<IGrouping<object, T>> GroupByKey<T>(this IQueryable<T> source)
{
var properties = typeof(T).GetProperties().Where(o => o.GetCustomAttribute<KeyAttribute>() != null).ToList();
var names = string.Join(",", properties.Select(o => o.Name));
return source.AsQueryable().GroupBy($"new ({names})").ToDynamicList<IGrouping<object, T>>();
}
public static Expression<Func<TEntity, bool>> GetExpressionByProperty<TEntity>(this Type type, string propertyName,
string propertyValue)
{
var o = Expression.Parameter(type, "p");
var memberExpression = Expression.Property(o, propertyName);
var body = Expression.Call(typeof(string).GetMethod("Contains", new[] { typeof(string) }), memberExpression);
var predicate = Expression.Lambda<Func<TEntity, bool>>(body, o);
return predicate;
}
}
}

119
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/Extensions/ObjectMapperExtensions.cs

@ -0,0 +1,119 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Reflection;
using Omu.ValueInjecter;
using Omu.ValueInjecter.Injections;
using Volo.Abp;
namespace WinIn.FasterZ.Wms.AppBase.Extensions
{
/// <summary>
/// 对象映射
/// </summary>
public static class ObjectMapperExtensions
{
/// <summary>
/// 从模型更新实体
/// </summary>
public static T FromObject<T>(this T to, object from)
{
try
{
to.InjectFrom<DeepInjectionForUpdate>(from);
return to;
}
catch (Exception ex)
{
throw new UserFriendlyException($"{from.GetType().FullName}映射到${typeof(T).FullName}时失败:{ex.Message},{ex}");
}
}
/// <summary>
/// 从实体创建模型
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="from"></param>
/// <returns></returns>
public static T ToObject<T>(this object from)
{
try
{
if (typeof(T).IsGenericType && typeof(T).IsAssignableTo(typeof(IList)) && from is IList list)
{
var toListType = typeof(T);
var elementType = typeof(T).GetGenericArguments()[0];
var toList = (IList)Activator.CreateInstance(typeof(T))!;
var fromList = list;
foreach (var item in fromList)
{
toList.Add(Activator.CreateInstance(elementType).InjectFrom<DeepInjection>(item));
}
return (T)toList;
}
return (T)Activator.CreateInstance<T>().InjectFrom<DeepInjection>(from);
}
catch (Exception ex)
{
throw new UserFriendlyException($"{from.GetType().FullName}映射到${typeof(T).FullName}时失败:{ex.Message},{ex}");
}
}
private class DeepInjection : LoopInjection
{
protected override bool MatchTypes(Type sourceType, Type targetType)
{
if (sourceType != typeof(string) &&
targetType != typeof(string) &&
sourceType.IsGenericType &&
targetType.IsGenericType &&
sourceType.IsAssignableTo(typeof(IEnumerable)) &&
sourceType.IsAssignableTo(typeof(IEnumerable))
)
{
return true;
}
return base.MatchTypes(sourceType, targetType);
}
protected override void SetValue(object source, object target, PropertyInfo sp, PropertyInfo tp)
{
if (sp.PropertyType != typeof(string) &&
sp.PropertyType != typeof(string) &&
sp.PropertyType.IsAssignableTo(typeof(IList)) &&
tp.PropertyType.IsAssignableTo(typeof(IList)))
{
var targetGenericType = tp.PropertyType.GetGenericArguments()[0];
var listType = typeof(List<>).MakeGenericType(targetGenericType);
var addMethod = listType.GetMethod("Add");
var list = Activator.CreateInstance(listType);
var sourceList = (IList)sp.GetValue(source);
foreach (var item in sourceList)
{
addMethod.Invoke(list, new[] { Activator.CreateInstance(targetGenericType).FromObject(item) });
}
tp.SetValue(target, list);
return;
}
base.SetValue(source, target, sp, tp);
}
}
private class DeepInjectionForUpdate : DeepInjection
{
protected override void SetValue(object source, object target, PropertyInfo sp, PropertyInfo tp)
{
//if (tp.GetCustomAttribute<IgnoreUpdateAttribute>() != null)
//{
// return;
//}
base.SetValue(source, target, sp, tp);
}
}
}
}

17
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/Extensions/StringExtensions.cs

@ -0,0 +1,17 @@
using System;
using System.Security.Cryptography;
using System.Text;
namespace WinIn.FasterZ.Wms.AppBase.Extensions
{
public static class StringExtensions
{
public static string Md5(this string input)
{
using (var md5 = MD5.Create())
{
return BitConverter.ToString(md5.ComputeHash(Encoding.ASCII.GetBytes(input))).Replace("-", "");
}
}
}
}

711
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBase/ZbxBase.cs

@ -0,0 +1,711 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Linq.Expressions;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Localization;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Repositories;
using WinIn.FasterZ.Store.AppBase.Filters;
using WinIn.FasterZ.Store.AppBase.TableColumnTypeDto;
using WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting;
using WinIn.FasterZ.Store.Enums;
using WinIn.FasterZ.Wms.AppBase.Extensions;
using WinIn.FasterZ.Wms.AppBaseBusiness.ExportCustomUserSetting;
namespace WinIn.FasterZ.Store.AppBase;
using WinIn.FasterZ.Wms.Localization;
public class ZbxBase<TEntity, TEntityDto, TKey, TPagedAndSortedResultRequestDto, TCreateInput, TUpdateInput> :
CrudAppService<TEntity, TEntityDto, TKey,
TPagedAndSortedResultRequestDto, TCreateInput, TUpdateInput>,
IZbxBase<TEntity, TEntityDto, TKey, TPagedAndSortedResultRequestDto, TCreateInput, TUpdateInput>
where TEntity : class, IEntity<TKey>
where TEntityDto : IEntityDto<TKey>
{
private readonly IRepository<TEntity, TKey> _repository;
public ZbxBase(IRepository<TEntity, TKey> repository) : base(repository)
{
_repository = repository;
}
protected IStringLocalizer<WmsResource> Localizer =>
LazyServiceProvider.LazyGetRequiredService<IStringLocalizer<WmsResource>>();
protected ExportCustomUserSettingAppService ExportCustomUserSettingAppService =>
LazyServiceProvider.LazyGetRequiredService<ExportCustomUserSettingAppService>();
#region 公开接口
/// <summary>
/// 【基础】-【分页查询】【有筛选条件】
/// </summary>
/// <param name="sfsRequestInputBase"></param>
/// <param name="includeDetails"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
[HttpPost("api/[controller]/base/get-list-page-by-filter")]
[Authorize]
public async Task<PagedResultDto<TEntityDto>> GetPageListByFilterAsync(SfsRequestInputBase sfsRequestInputBase,
bool includeDetails = false, CancellationToken cancellationToken = default)
{
await CheckGetListPolicyAsync();
var expression = sfsRequestInputBase.Condition.Filters?.Count > 0
? sfsRequestInputBase.Condition.Filters.ToLambda<TEntity>()
: p => true;
var resultEntities = await GetQueryListAsync(expression, sfsRequestInputBase.SkipCount,
sfsRequestInputBase.MaxResultCount,
sfsRequestInputBase.Sorting, includeDetails, cancellationToken);
var resultDtos = ObjectMapper.Map<List<TEntity>, List<TEntityDto>>(resultEntities);
//获取总数
var totalCount = await GetCountAsync(expression, cancellationToken);
return new PagedResultDto<TEntityDto>(totalCount, resultDtos);
}
/// <summary>
/// 【基础】-【新增】
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[HttpPost("api/[controller]/base/create")]
public override async Task<TEntityDto> CreateAsync(TCreateInput input)
{
await CheckCreatePolicyAsync();
var entity = input!.ToObject<TEntity>();
//判断id是否是00000-0000 如果是则赋值
var mainId = (Guid)entity.GetType().GetProperty("Id")?.GetValue(entity)!;
if (mainId == Guid.Empty)
{
mainId = Guid.NewGuid();
entity.GetType().GetProperty("Id")?.SetValue(entity, mainId);
}
#region 给所有字表的 Id和MasterId赋值 否则默认的会是000000-000-....的id 插入时会报错
var propertyInfos = entity.GetType().GetProperties();
foreach (var propertyInfo in propertyInfos)
{
//判断是否是List集合
if (propertyInfo.Name == "Details"
&& propertyInfo.PropertyType.IsGenericType
&& propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(List<>))
{
var listProperty = typeof(TEntity).GetProperty("Details");
// 获取 List 的元素类型
if (listProperty != null)
{
var listItemType = listProperty.PropertyType.GetGenericArguments()[0];
// 获取元素类型的 ID 属性
var detailIdProperty = listItemType.GetProperty("Id");
var masterIdProperty = listItemType.GetProperty("MasterId");
if (detailIdProperty != null)
{
// 获取 List 属性的值
var list = (IList)listProperty.GetValue(entity);
// 遍历 List 集合中的每个元素,给 ID 属性赋值
if (list != null)
{
foreach (var item in list)
{
if ((Guid)detailIdProperty.GetValue(item)! == Guid.Empty)
{
detailIdProperty.SetValue(item, Guid.NewGuid());
}
}
}
}
if (masterIdProperty != null)
{
// 获取 List 属性的值
var list = (IList)listProperty.GetValue(entity);
// 遍历 List 集合中的每个元素,给 ID 属性赋值
if (list != null)
{
foreach (var item in list)
{
masterIdProperty.SetValue(item, mainId);
}
}
}
}
}
}
#endregion
TryToSetTenantId(entity);
await Repository.InsertAsync(entity, true);
return await MapToGetOutputDtoAsync(entity);
}
/// <summary>
/// 【基础】-【删除】
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
[HttpDelete("api/[controller]/base/delete-by-id")]
public override async Task DeleteAsync(TKey id)
{
await base.DeleteAsync(id);
}
/// <summary>
/// 【基础】-【修改】
/// </summary>
/// <param name="id"></param>
/// <param name="input"></param>
/// <returns></returns>
[HttpPut("api/[controller]/base/update-by-id")]
public override async Task<TEntityDto> UpdateAsync(TKey id, TUpdateInput input)
{
//return base.UpdateAsync(id, input);
await CheckUpdatePolicyAsync().ConfigureAwait(false);
var entity = await GetEntityByIdAsync(id).ConfigureAwait(false);
entity.FromObject(input!);
#region 给所有字表的 Id和MasterId赋值 否则默认的会是000000-000-....的id 插入时会报错
var propertyInfos = entity.GetType().GetProperties();
foreach (var propertyInfo in propertyInfos)
{
//判断是否是List集合
if (propertyInfo.Name == "Details"
&& propertyInfo.PropertyType.IsGenericType
&& propertyInfo.PropertyType.GetGenericTypeDefinition() == typeof(List<>))
{
var listProperty = typeof(TEntity).GetProperty("Details");
// 获取 List 的元素类型
if (listProperty != null)
{
var listItemType = listProperty.PropertyType.GetGenericArguments()[0];
// 获取元素类型的 ID 属性
var detailIdProperty = listItemType.GetProperty("Id");
var masterIdProperty = listItemType.GetProperty("MasterId");
if (detailIdProperty != null)
{
// 获取 List 属性的值
var list = (IList)listProperty.GetValue(entity);
// 遍历 List 集合中的每个元素,给 ID 属性赋值
if (list != null)
{
foreach (var item in list)
{
if ((Guid)detailIdProperty.GetValue(item)! == Guid.Empty)
{
detailIdProperty.SetValue(item, Guid.NewGuid());
}
}
}
}
if (masterIdProperty != null)
{
// 获取 List 属性的值
var list = (IList)listProperty.GetValue(entity);
// 遍历 List 集合中的每个元素,给 ID 属性赋值
if (list != null)
{
foreach (var item in list)
{
masterIdProperty.SetValue(item, id);
}
}
}
}
}
}
#endregion
await Repository.UpdateAsync(entity, true);
return await MapToGetOutputDtoAsync(entity);
}
/// <summary>
/// 【基础】-【导出Excel】【有筛选条件】
/// </summary>
/// <param name="sfsRequestInputBase">查询条件</param>
/// <param name="isRedundance">是否冗余主表数据</param>
/// <param name="isDetailExport">是否导出子表</param>
/// <param name="userId">用户ID</param>
/// <returns></returns>
[HttpPost("api/[controller]/base/export-to-excel")]
public virtual async Task<IActionResult> ExportToExcelAsync(SfsRequestInputBase sfsRequestInputBase,
bool isRedundance, Guid userId, bool isDetailExport = true)
{
var isHasDetail = false; //是否包含从表
var data = (await GetPageListByFilterAsync(sfsRequestInputBase, true)).Items;
var fileStream = new MemoryStream(); //文件流
IWorkbook workbook = new XSSFWorkbook();
var sheet = workbook.CreateSheet(Localizer[typeof(TEntity).Name]);
var splitDetailsColumnNumber = 1; //分割主表和从表的列数量
var excelDetailsCellStyle = SetExcelDetailsCellStyle(workbook); //子表单元格样式
var excelSplitCellStyle = SetSplitCellStyle(workbook); //分割单元格样式
var excelOnlyMainCellStyle = SetExcelOnlyMainCellStyle(workbook);
var excelHeadCellStyle = SetExcelHeadCellStyle(workbook);
// 获取主表的属性 创建主表 表头
var mainAllProperties = typeof(TEntityDto).GetProperties();
var mainProperties = mainAllProperties.Where(p => p.Name != "Details").ToArray(); //去除details属性否则导出时会带出来
#region 用户个性导出 主表
//获取个性导出的字段
var mainUserColumn =
await ExportCustomUserSettingAppService.GetByUserIdAndExportTableNameAsync(userId, typeof(TEntity).Name);
if (mainUserColumn.Any(p => p.CustomUserSetting == Enum_ExportCustomUserSetting.Yes))
{
var showUserColumn = mainUserColumn.Where(p => p.CustomUserSetting == Enum_ExportCustomUserSetting.Yes)
.Select(p => p.ExportColumnName?.ToLower()).Aggregate((a, b) => a + " " + b)?.Split(' ').ToList();
mainProperties = mainProperties.Where(p => showUserColumn.Contains(p.Name.ToLower())).ToArray();
}
#endregion
var headerRow = sheet.CreateRow(0); //标头列
for (var i = 0; i < mainProperties.Length; i++)
{
var englishName = mainProperties[i].Name;
//本地化
var localizerName = Localizer[typeof(TEntity).Name + englishName];
var headCell = headerRow.CreateCell(i);
headCell.SetCellValue(localizerName);
headCell.CellStyle = excelHeadCellStyle;
}
// 获取从表的属性 创建从表 表头
var detailProperties = typeof(TEntityDto).GetProperty("Details")?.PropertyType.GetGenericArguments()[0]
.GetProperties();
if (detailProperties != null)
{
isHasDetail = true;
if (!isDetailExport) //是否要导出子表
{
isHasDetail = false;
}
if (isHasDetail)
{
headerRow.CreateCell(mainProperties.Length).SetCellValue("---【分割】---");
#region 用户个性导出 从表
//获取个性导出的字段
var detailDtoName = mainAllProperties.First(p => p.Name == "Details");
var detailUserColumn = await ExportCustomUserSettingAppService.GetByUserIdAndExportTableNameAsync(
userId, detailDtoName.PropertyType.GenericTypeArguments.First().Name.Replace("Dto", ""));
var detailNotShowUserColumn = detailUserColumn
.Where(p => p.CustomUserSetting == Enum_ExportCustomUserSetting.No).Select(p => p.ExportColumnName)
.ToList();
if (detailUserColumn.Any())
{
detailProperties = detailProperties.Where(p => !detailNotShowUserColumn.Contains(p.Name)).ToArray();
}
#endregion
for (var i = 0; i < detailProperties.Length; i++)
{
headerRow.CreateCell(mainProperties.Length + splitDetailsColumnNumber + i)
.SetCellValue(detailProperties[i].Name);
var headCell = headerRow.GetCell(mainProperties.Length + splitDetailsColumnNumber + i);
headCell.CellStyle = excelHeadCellStyle;
}
}
}
// 填充数据行
var rowIndex = 1;
foreach (var mainDto in data)
{
if (isHasDetail)
{
// 获取从表数据
var detailsIndex = mainAllProperties.FindIndex(p => p.Name == "Details");
// 子表
var detailList = (IEnumerable<object>)mainAllProperties[detailsIndex].GetValue(mainDto);
var startMainRowIndex = rowIndex;
for (var datailCount = 0; datailCount < detailList.Count(); datailCount++)
{
var dataRow = sheet.CreateRow(rowIndex);
if (isRedundance)
{
// 填充主表数据
for (var i = 0; i < mainProperties.Length; i++)
{
var value = mainProperties[i].GetValue(mainDto);
dataRow.CreateCell(i).SetCellValue(value?.ToString());
}
}
else
{
if (datailCount == 0)
{
// 填充主表数据
for (var i = 0; i < mainProperties.Length; i++)
{
var value = mainProperties[i].GetValue(mainDto);
dataRow.CreateCell(i).SetCellValue(value?.ToString());
}
}
}
rowIndex++;
}
var overMainRowIndex = rowIndex;
foreach (var detail in detailList)
{
if (startMainRowIndex <= overMainRowIndex)
{
//填充子表数据
var detailRow = sheet.GetRow(startMainRowIndex);
var splitCell = detailRow.CreateCell(mainProperties.Length);
splitCell.CellStyle = excelSplitCellStyle;
for (var i = 0; i < detailProperties.Length; i++)
{
var value = detailProperties[i].GetValue(detail);
detailRow.CreateCell(mainProperties.Length + splitDetailsColumnNumber + i)
.SetCellValue(value?.ToString());
var detailCell = detailRow.GetCell(mainProperties.Length + splitDetailsColumnNumber + i);
detailCell.CellStyle = excelDetailsCellStyle;
}
}
startMainRowIndex++;
}
}
else
{
var dataRow = sheet.CreateRow(rowIndex);
// 填充主表数据
for (var i = 0; i < mainProperties.Length; i++)
{
var value = mainProperties[i].GetValue(mainDto);
dataRow.CreateCell(i).SetCellValue(value?.ToString());
}
if (rowIndex % 2 == 0)
{
dataRow.RowStyle = excelOnlyMainCellStyle;
}
}
//添加1个空行将2条数据分割开
rowIndex++;
}
#region 自动调整列宽
// 自动调整列宽 注意:这个影响性能 会遍历所有行 并且找出宽度最大值
//sheet.AutoSizeColumn(i);
if (isHasDetail)
{
for (var i = 0; i < mainProperties.Length + splitDetailsColumnNumber + detailProperties.Length; i++)
{
var colWidth = Math.Max(sheet.GetColumnWidth(i) + 150, 265 * 15);
if (colWidth > 255 * 256)//excel列有最大宽度限制
{
colWidth = 6000;
}
sheet.SetColumnWidth(i, colWidth);
sheet.SetColumnWidth(mainProperties.Length, 3600);
}
}
else
{
for (var i = 0; i < mainProperties.Length; i++)
{
var colWidth = Math.Max(sheet.GetColumnWidth(i) + 150, 265 * 15);
if (colWidth > 255 * 256)//excel列有最大宽度限制
{
colWidth = 6000;
}
sheet.SetColumnWidth(i, colWidth);
}
}
#endregion
// 保存Excel文件到MemoryStream
workbook.Write(fileStream, true);
fileStream.Position = 0;
// 创建FileContentResult返回Excel文件
var fileContentResult = new FileContentResult(fileStream.ToArray(),
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")
{
FileDownloadName = Localizer[typeof(TEntity).Name] + ".xlsx"
};
await Task.CompletedTask;
return fileContentResult;
}
/// <summary>
/// 【基础】-【获取 增 改 查基础的Dto数据类型】
/// </summary>
/// <returns></returns>
[HttpPost("api/[controller]/base/get-dto-column-type")]
public virtual async Task<List<AllTableColumnTypeDto>> GetDtoColumnTypeAsync()
{
var tableColumnTypeDtos = new List<AllTableColumnTypeDto>
{
GetTableColumnTypeByTable(typeof(TEntity), "S"),
GetTableColumnTypeByTable(typeof(TCreateInput), "C"),
GetTableColumnTypeByTable(typeof(TUpdateInput), "U"),
GetTableColumnTypeByTable(typeof(TEntity), "G")
};
await Task.CompletedTask;
return tableColumnTypeDtos;
}
#endregion
#region 私有处理
/// <summary>
/// 按表达式条件获取分页列表
/// </summary>
/// <param name="expression"></param>
/// <param name="skipCount"></param>
/// <param name="maxResultCount"></param>
/// <param name="sorting"></param>
/// <param name="includeDetails"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
private async Task<List<TEntity>> GetQueryListAsync(Expression<Func<TEntity, bool>> expression,
int skipCount, int maxResultCount, string sorting,
bool includeDetails = false, CancellationToken cancellationToken = default)
{
var query = await Repository.WithDetailsAsync();
//var query = await Repository.GetQueryableAsync();
var entities = query.Where(expression);
entities = GetSortingQueryable(entities, sorting);
var str = entities.ToQueryString();
Console.WriteLine("---------查询开始---------");
Console.WriteLine();
Console.WriteLine(str);
Console.WriteLine();
Console.WriteLine("---------查询结束---------");
var result = await entities.PageBy(skipCount, maxResultCount).ToListAsync(cancellationToken)
.ConfigureAwait(false);
return result;
}
/// <summary>
/// 设置排序
/// </summary>
/// <param name="entities"></param>
/// <param name="sorting"></param>
/// <returns></returns>
private IQueryable<TEntity> GetSortingQueryable(IQueryable<TEntity> entities, string sorting)
{
if (string.IsNullOrEmpty(sorting))
{
var createTimePropertyInfo = typeof(TEntity).GetProperty("CreationTime");
if (createTimePropertyInfo != null)
{
entities = entities.OrderBy("CreationTime DESC");
}
else
{
entities = entities.OrderBy("Id");
}
}
else
{
var sortParams = sorting?.Split(' ');
var sortName = sortParams[0];
var ascOrDesc = string.Empty;
if (sortParams.Length > 1)
{
var sortDirection = sortParams[1];
if (sortDirection.Equals("DESC", StringComparison.OrdinalIgnoreCase))
{
ascOrDesc = " DESC ";
}
}
else
{
ascOrDesc = " DESC ";
}
entities = entities.OrderBy(sortName + ascOrDesc);
}
return entities;
}
/// <summary>
/// 获取Dto的属性名字和数据类型
/// </summary>
/// <param name="dtoType"></param>
/// <param name="strDtoType"></param>
/// <returns></returns>
private AllTableColumnTypeDto GetTableColumnTypeByTable(Type dtoType, string strDtoType)
{
var gDto = new AllTableColumnTypeDto
{
DtoType = strDtoType,
DtoName = dtoType.FullName,
ColumnsTypes = new List<ColumnType>()
};
var propertyInfos = dtoType.GetProperties();
foreach (var propertyInfo in propertyInfos)
{
var columnType = new ColumnType();
columnType.IsEnum = false;
if (propertyInfo.PropertyType.GenericTypeArguments.Length > 0)
{
if (propertyInfo.PropertyType.GenericTypeArguments[0].IsEnum)
{
columnType.IsEnum = true;
}
columnType.Z_ColumnBaseType = propertyInfo.PropertyType.GenericTypeArguments[0].FullName!;
}
else
{
columnType.Z_ColumnBaseType = propertyInfo.PropertyType.FullName!;
}
columnType.Z_ColumnName = propertyInfo.Name;
columnType.Z_ColumnType = propertyInfo.PropertyType.Name;
gDto.ColumnsTypes.Add(columnType);
}
return gDto;
}
/// <summary>
/// 【记录数量查询】【有筛选条件】
/// </summary>
/// <param name="expression"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
private async Task<long> GetCountAsync(Expression<Func<TEntity, bool>> expression,
CancellationToken cancellationToken = default)
{
var count = await _repository.LongCountAsync(expression, cancellationToken);
return count;
}
#region Excel导出的样式设置
/// <summary>
/// 导出设置子表单元格样式
/// </summary>
/// <param name="workbook"></param>
/// <returns></returns>
private static ICellStyle SetExcelDetailsCellStyle(IWorkbook workbook)
{
var cellStyle = workbook.CreateCellStyle();
cellStyle.FillBackgroundColor = IndexedColors.Grey25Percent.Index;
cellStyle.FillForegroundColor = IndexedColors.Grey25Percent.Index;
cellStyle.FillPattern = FillPattern.SolidForeground;
return cellStyle;
}
/// <summary>
/// 导出设置只有主表时的交替行 单元格样式
/// </summary>
/// <param name="workbook"></param>
/// <returns></returns>
private static ICellStyle SetExcelOnlyMainCellStyle(IWorkbook workbook)
{
var cellStyle = workbook.CreateCellStyle();
cellStyle.FillBackgroundColor = IndexedColors.Grey25Percent.Index;
cellStyle.FillForegroundColor = IndexedColors.Grey25Percent.Index;
cellStyle.FillPattern = FillPattern.SolidForeground;
return cellStyle;
}
/// <summary>
/// 设置分割单元格的样式
/// </summary>
/// <param name="workbook"></param>
/// <returns></returns>
private static ICellStyle SetSplitCellStyle(IWorkbook workbook)
{
var cellStyle = workbook.CreateCellStyle();
cellStyle.BorderLeft = BorderStyle.MediumDashed;
cellStyle.BorderRight = BorderStyle.MediumDashed;
cellStyle.LeftBorderColor = IndexedColors.BrightGreen.Index;
cellStyle.RightBorderColor = IndexedColors.Grey25Percent.Index;
cellStyle.FillBackgroundColor = IndexedColors.White.Index;
cellStyle.FillForegroundColor = IndexedColors.White.Index;
cellStyle.FillPattern = FillPattern.ThickVerticalBands;
return cellStyle;
}
/// <summary>
/// 导出设置表头单元格样式
/// </summary>
/// <param name="workbook"></param>
/// <returns></returns>
private static ICellStyle SetExcelHeadCellStyle(IWorkbook workbook)
{
var cellStyle = workbook.CreateCellStyle();
cellStyle.FillBackgroundColor = IndexedColors.LightOrange.Index;
cellStyle.FillForegroundColor = IndexedColors.LightOrange.Index;
cellStyle.FillPattern = FillPattern.SolidForeground;
return cellStyle;
}
#endregion
#endregion
}

63
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/AppBaseBusiness/ExportCustomUserSetting/ExportCustomUserSettingAppService.cs

@ -0,0 +1,63 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using WinIn.FasterZ.Store.AppBase;
using WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting;
using WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting.Dtos;
using WinIn.FasterZ.Wms.Permissions;
namespace WinIn.FasterZ.Wms.AppBaseBusiness.ExportCustomUserSetting
{
/// <summary>
/// 用户个型导出配置
/// </summary>
public class ExportCustomUserSettingAppService : ZbxBase<Store.AppBaseBusiness.ExportCustomUserSetting.ExportCustomUserSetting, ExportCustomUserSettingDto, Guid,
ExportCustomUserSettingGetListInput, CreateUpdateExportCustomUserSettingDto,
CreateUpdateExportCustomUserSettingDto>,
IExportCustomUserSettingAppService
{
private readonly IExportCustomUserSettingRepository _repository;
public ExportCustomUserSettingAppService(IExportCustomUserSettingRepository repository) : base(repository)
{
_repository = repository;
}
protected override string GetPolicyName { get; set; } =WmsPermissions.ExportCustomUserSetting.Default;
protected override string GetListPolicyName { get; set; } = WmsPermissions.ExportCustomUserSetting.Default;
protected override string CreatePolicyName { get; set; } = WmsPermissions.ExportCustomUserSetting.Create;
protected override string UpdatePolicyName { get; set; } = WmsPermissions.ExportCustomUserSetting.Update;
protected override string DeletePolicyName { get; set; } = WmsPermissions.ExportCustomUserSetting.Delete;
/// <summary>
/// 根据用户和表名获取个性化导出
/// </summary>
/// <returns></returns>
[HttpPost("get-by-user-and-table-name")]
public virtual async Task<List<ExportCustomUserSettingDto>> GetByUserIdAndExportTableNameAsync(Guid userId,
string exportTableName)
{
var entitys =
await _repository.GetListAsync(p => p.ExportUserId == userId && p.ExportTableName == exportTableName);
return ObjectMapper.Map<List<Store.AppBaseBusiness.ExportCustomUserSetting.ExportCustomUserSetting>, List<ExportCustomUserSettingDto>>(entitys);
}
protected override async Task<IQueryable<Store.AppBaseBusiness.ExportCustomUserSetting.ExportCustomUserSetting>> CreateFilteredQueryAsync(
ExportCustomUserSettingGetListInput input)
{
// TODO: AbpHelper generated
return (await base.CreateFilteredQueryAsync(input))
.WhereIf(input.ExportUserId != null, x => x.ExportUserId == input.ExportUserId)
.WhereIf(!input.ExportUserName.IsNullOrWhiteSpace(), x => x.ExportUserName.Contains(input.ExportUserName))
.WhereIf(!input.ExportColumnName.IsNullOrWhiteSpace(),
x => x.ExportColumnName.Contains(input.ExportColumnName))
.WhereIf(!input.ExportTableName.IsNullOrWhiteSpace(),
x => x.ExportTableName.Contains(input.ExportTableName))
.WhereIf(input.CustomUserSetting != null, x => x.CustomUserSetting == input.CustomUserSetting)
;
}
}
}

2
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WinIn.FasterZ.Wms.Application.csproj

@ -14,6 +14,8 @@
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<PackageReference Include="NPOI" Version="2.6.2" />
<PackageReference Include="ValueInjecter" Version="3.2.0" />
<PackageReference Include="Volo.Abp.Account.Application" Version="7.3.2" /> <PackageReference Include="Volo.Abp.Account.Application" Version="7.3.2" />
<PackageReference Include="Volo.Abp.Identity.Application" Version="7.3.2" /> <PackageReference Include="Volo.Abp.Identity.Application" Version="7.3.2" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="7.3.2" /> <PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="7.3.2" />

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsAppService.cs

@ -4,8 +4,8 @@ using System.Text;
using WinIn.FasterZ.Wms.Localization; using WinIn.FasterZ.Wms.Localization;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
/* Inherit your application services from this class. /* Inherit your application services from this class.
*/ */
public abstract class WmsAppService : ApplicationService public abstract class WmsAppService : ApplicationService
@ -15,3 +15,4 @@ public abstract class WmsAppService : ApplicationService
LocalizationResource = typeof(WmsResource); LocalizationResource = typeof(WmsResource);
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsApplicationAutoMapperProfile.cs

@ -2,8 +2,8 @@ using WinIn.FasterZ.Wms.Z_Business.AuthDepartment;
using WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos; using WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos;
using AutoMapper; using AutoMapper;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
public class WmsApplicationAutoMapperProfile : Profile public class WmsApplicationAutoMapperProfile : Profile
{ {
public WmsApplicationAutoMapperProfile() public WmsApplicationAutoMapperProfile()
@ -15,3 +15,4 @@ public class WmsApplicationAutoMapperProfile : Profile
CreateMap<CreateUpdateAuthDepartmentDto, AuthDepartment>(MemberList.Source); CreateMap<CreateUpdateAuthDepartmentDto, AuthDepartment>(MemberList.Source);
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/WmsApplicationModule.cs

@ -7,8 +7,8 @@ using Volo.Abp.PermissionManagement;
using Volo.Abp.SettingManagement; using Volo.Abp.SettingManagement;
using Volo.Abp.TenantManagement; using Volo.Abp.TenantManagement;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
[DependsOn( [DependsOn(
typeof(WmsDomainModule), typeof(WmsDomainModule),
typeof(AbpAccountApplicationModule), typeof(AbpAccountApplicationModule),
@ -29,3 +29,4 @@ public class WmsApplicationModule : AbpModule
}); });
} }
} }
}

6
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Application/Z_Business/AuthDepartment/AuthDepartmentAppService.cs

@ -1,14 +1,14 @@
using System; using System;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Services;
using WinIn.FasterZ.Wms.Permissions; using WinIn.FasterZ.Wms.Permissions;
using WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos; using WinIn.FasterZ.Wms.Z_Business.AuthDepartment.Dtos;
using Volo.Abp.Application.Services;
namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment; namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment;
public class AuthDepartmentAppService : CrudAppService<AuthDepartment, AuthDepartmentDto, Guid,
public class AuthDepartmentAppService : CrudAppService<AuthDepartment, AuthDepartmentDto, Guid, AuthDepartmentGetListInput, CreateUpdateAuthDepartmentDto, CreateUpdateAuthDepartmentDto>, AuthDepartmentGetListInput, CreateUpdateAuthDepartmentDto, CreateUpdateAuthDepartmentDto>,
IAuthDepartmentAppService IAuthDepartmentAppService
{ {
protected override string GetPolicyName { get; set; } = WmsPermissions.AuthDepartment.Default; protected override string GetPolicyName { get; set; } = WmsPermissions.AuthDepartment.Default;

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Pages/Index.cshtml.cs

@ -5,8 +5,8 @@ using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.OpenIddict.Applications; using Volo.Abp.OpenIddict.Applications;
namespace WinIn.FasterZ.Wms.Pages; namespace WinIn.FasterZ.Wms.Pages
{
public class IndexModel : AbpPageModel public class IndexModel : AbpPageModel
{ {
public List<OpenIddictApplication>? Applications { get; protected set; } public List<OpenIddictApplication>? Applications { get; protected set; }
@ -33,3 +33,4 @@ public class IndexModel : AbpPageModel
CurrentLanguage = CultureInfo.CurrentCulture.DisplayName; CurrentLanguage = CultureInfo.CurrentCulture.DisplayName;
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/Program.cs

@ -6,8 +6,8 @@ using Microsoft.Extensions.Hosting;
using Serilog; using Serilog;
using Serilog.Events; using Serilog.Events;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
public class Program public class Program
{ {
public async static Task<int> Main(string[] args) public async static Task<int> Main(string[] args)
@ -54,3 +54,4 @@ public class Program
} }
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/WmsAuthServerModule.cs

@ -35,8 +35,8 @@ using Volo.Abp.UI.Navigation.Urls;
using Volo.Abp.UI; using Volo.Abp.UI;
using Volo.Abp.VirtualFileSystem; using Volo.Abp.VirtualFileSystem;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
[DependsOn( [DependsOn(
typeof(AbpAutofacModule), typeof(AbpAutofacModule),
typeof(AbpCachingStackExchangeRedisModule), typeof(AbpCachingStackExchangeRedisModule),
@ -192,3 +192,4 @@ public class WmsAuthServerModule : AbpModule
app.UseConfiguredEndpoints(); app.UseConfiguredEndpoints();
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.AuthServer/WmsBrandingProvider.cs

@ -1,10 +1,11 @@
using Volo.Abp.Ui.Branding; using Volo.Abp.Ui.Branding;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
[Dependency(ReplaceServices = true)] [Dependency(ReplaceServices = true)]
public class WmsBrandingProvider : DefaultBrandingProvider public class WmsBrandingProvider : DefaultBrandingProvider
{ {
public override string AppName => "Wms"; public override string AppName => "Wms";
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/DbMigratorHostedService.cs

@ -8,8 +8,8 @@ using Serilog;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Data; using Volo.Abp.Data;
namespace WinIn.FasterZ.Wms.DbMigrator; namespace WinIn.FasterZ.Wms.DbMigrator
{
public class DbMigratorHostedService : IHostedService public class DbMigratorHostedService : IHostedService
{ {
private readonly IHostApplicationLifetime _hostApplicationLifetime; private readonly IHostApplicationLifetime _hostApplicationLifetime;
@ -49,3 +49,4 @@ public class DbMigratorHostedService : IHostedService
return Task.CompletedTask; return Task.CompletedTask;
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/Program.cs

@ -7,8 +7,8 @@ using Microsoft.Extensions.Logging;
using Serilog; using Serilog;
using Serilog.Events; using Serilog.Events;
namespace WinIn.FasterZ.Wms.DbMigrator; namespace WinIn.FasterZ.Wms.DbMigrator
{
class Program class Program
{ {
static async Task Main(string[] args) static async Task Main(string[] args)
@ -39,3 +39,4 @@ class Program
services.AddHostedService<DbMigratorHostedService>(); services.AddHostedService<DbMigratorHostedService>();
}); });
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.DbMigrator/WmsDbMigratorModule.cs

@ -4,8 +4,8 @@ using Volo.Abp.Caching;
using Volo.Abp.Caching.StackExchangeRedis; using Volo.Abp.Caching.StackExchangeRedis;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
namespace WinIn.FasterZ.Wms.DbMigrator; namespace WinIn.FasterZ.Wms.DbMigrator
{
[DependsOn( [DependsOn(
typeof(AbpAutofacModule), typeof(AbpAutofacModule),
typeof(AbpCachingStackExchangeRedisModule), typeof(AbpCachingStackExchangeRedisModule),
@ -19,3 +19,4 @@ public class WmsDbMigratorModule : AbpModule
Configure<AbpDistributedCacheOptions>(options => { options.KeyPrefix = "Wms:"; }); Configure<AbpDistributedCacheOptions>(options => { options.KeyPrefix = "Wms:"; });
} }
} }
}

14
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Enums/Enum_ExportCustomUserSetting.cs

@ -0,0 +1,14 @@
using System.ComponentModel.DataAnnotations;
namespace WinIn.FasterZ.Store.Enums
{
public enum Enum_ExportCustomUserSetting
{
[Display(Name = "未定义")]
None=0,
[Display(Name = "导出")]
Yes=1,
[Display(Name = "不导出")]
No = 2
}
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/Localization/WmsResource.cs

@ -1,9 +1,10 @@
using Volo.Abp.Localization; using Volo.Abp.Localization;
namespace WinIn.FasterZ.Wms.Localization; namespace WinIn.FasterZ.Wms.Localization
{
[LocalizationResourceName("Wms")] [LocalizationResourceName("Wms")]
public class WmsResource public class WmsResource
{ {
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/MultiTenancy/MultiTenancyConsts.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.MultiTenancy; namespace WinIn.FasterZ.Wms.MultiTenancy
{
public static class MultiTenancyConsts public static class MultiTenancyConsts
{ {
/* Enable/disable multi-tenancy easily in a single point. /* Enable/disable multi-tenancy easily in a single point.
@ -8,3 +8,4 @@ public static class MultiTenancyConsts
*/ */
public const bool IsEnabled = true; public const bool IsEnabled = true;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsDomainErrorCodes.cs

@ -1,6 +1,7 @@
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
public static class WmsDomainErrorCodes public static class WmsDomainErrorCodes
{ {
/* You can add your business exception error codes here, as constants */ /* You can add your business exception error codes here, as constants */
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsDomainSharedModule.cs

@ -13,8 +13,8 @@ using Volo.Abp.TenantManagement;
using Volo.Abp.Validation.Localization; using Volo.Abp.Validation.Localization;
using Volo.Abp.VirtualFileSystem; using Volo.Abp.VirtualFileSystem;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
[DependsOn( [DependsOn(
typeof(AbpAuditLoggingDomainSharedModule), typeof(AbpAuditLoggingDomainSharedModule),
typeof(AbpBackgroundJobsDomainSharedModule), typeof(AbpBackgroundJobsDomainSharedModule),
@ -56,3 +56,4 @@ public class WmsDomainSharedModule : AbpModule
}); });
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain.Shared/WmsModuleExtensionConfigurator.cs

@ -3,8 +3,8 @@ using Volo.Abp.Identity;
using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectExtending;
using Volo.Abp.Threading; using Volo.Abp.Threading;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
public static class WmsModuleExtensionConfigurator public static class WmsModuleExtensionConfigurator
{ {
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
@ -71,3 +71,4 @@ public static class WmsModuleExtensionConfigurator
*/ */
} }
} }
}

43
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/AppBaseBusiness/ExportCustomUserSetting/ExportCustomUserSetting.cs

@ -0,0 +1,43 @@
using System;
using System.ComponentModel.DataAnnotations;
using Volo.Abp.Domain.Entities.Auditing;
using WinIn.FasterZ.Store.Enums;
namespace WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting
{
/// <summary>
/// 用户个型导出配置
/// </summary>
public class ExportCustomUserSetting : AuditedAggregateRoot<Guid>
{
/// <summary>
/// 用户ID
/// </summary>
[Display(Name = "用户ID")]
public Guid? ExportUserId { get; set; }
/// <summary>
/// 用户姓名
/// </summary>
[Display(Name = "用户姓名")]
public string? ExportUserName { get; set; }
/// <summary>
/// 列名
/// </summary>
[Display(Name = "列名")]
public string? ExportColumnName { get; set; }
/// <summary>
/// 表名
/// </summary>
[Display(Name = "表名")]
public string? ExportTableName { get; set; }
/// <summary>
/// 导出设置项
/// </summary>
[Display(Name = "导出设置项")]
public Enum_ExportCustomUserSetting CustomUserSetting { get; set; }
}
}

12
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/AppBaseBusiness/ExportCustomUserSetting/IExportCustomUserSettingRepository.cs

@ -0,0 +1,12 @@
using System;
using Volo.Abp.Domain.Repositories;
namespace WinIn.FasterZ.Store.AppBaseBusiness.ExportCustomUserSetting
{
/// <summary>
/// 用户个型导出配置
/// </summary>
public interface IExportCustomUserSettingRepository : IRepository<ExportCustomUserSetting, Guid>
{
}
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/IWmsDbSchemaMigrator.cs

@ -1,8 +1,9 @@
using System.Threading.Tasks; using System.Threading.Tasks;
namespace WinIn.FasterZ.Wms.Data; namespace WinIn.FasterZ.Wms.Data
{
public interface IWmsDbSchemaMigrator public interface IWmsDbSchemaMigrator
{ {
Task MigrateAsync(); Task MigrateAsync();
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/NullWmsDbSchemaMigrator.cs

@ -1,8 +1,8 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
namespace WinIn.FasterZ.Wms.Data; namespace WinIn.FasterZ.Wms.Data
{
/* This is used if database provider does't define /* This is used if database provider does't define
* IWmsDbSchemaMigrator implementation. * IWmsDbSchemaMigrator implementation.
*/ */
@ -13,3 +13,4 @@ public class NullWmsDbSchemaMigrator : IWmsDbSchemaMigrator, ITransientDependenc
return Task.CompletedTask; return Task.CompletedTask;
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Data/WmsDbMigrationService.cs

@ -13,8 +13,8 @@ using Volo.Abp.Identity;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
using Volo.Abp.TenantManagement; using Volo.Abp.TenantManagement;
namespace WinIn.FasterZ.Wms.Data; namespace WinIn.FasterZ.Wms.Data
{
public class WmsDbMigrationService : ITransientDependency public class WmsDbMigrationService : ITransientDependency
{ {
public ILogger<WmsDbMigrationService> Logger { get; set; } public ILogger<WmsDbMigrationService> Logger { get; set; }
@ -216,3 +216,4 @@ public class WmsDbMigrationService : ITransientDependency
return null; return null;
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/OpenIddict/OpenIddictDataSeedContributor.cs

@ -16,8 +16,8 @@ using Volo.Abp.OpenIddict.Scopes;
using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement;
using Volo.Abp.Uow; using Volo.Abp.Uow;
namespace WinIn.FasterZ.Wms.OpenIddict; namespace WinIn.FasterZ.Wms.OpenIddict
{
/* Creates initial data that is needed to property run the application /* Creates initial data that is needed to property run the application
* and make client-to-server communication possible. * and make client-to-server communication possible.
*/ */
@ -413,3 +413,4 @@ public class OpenIddictDataSeedContributor : IDataSeedContributor, ITransientDep
return existingClient.Permissions == JsonSerializer.Serialize(application.Permissions.Select(q => q.ToString().TrimEnd('/'))); return existingClient.Permissions == JsonSerializer.Serialize(application.Permissions.Select(q => q.ToString().TrimEnd('/')));
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Settings/WmsSettingDefinitionProvider.cs

@ -1,7 +1,7 @@
using Volo.Abp.Settings; using Volo.Abp.Settings;
namespace WinIn.FasterZ.Wms.Settings; namespace WinIn.FasterZ.Wms.Settings
{
public class WmsSettingDefinitionProvider : SettingDefinitionProvider public class WmsSettingDefinitionProvider : SettingDefinitionProvider
{ {
public override void Define(ISettingDefinitionContext context) public override void Define(ISettingDefinitionContext context)
@ -10,3 +10,4 @@ public class WmsSettingDefinitionProvider : SettingDefinitionProvider
//context.Add(new SettingDefinition(WmsSettings.MySetting1)); //context.Add(new SettingDefinition(WmsSettings.MySetting1));
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/WmsConsts.cs

@ -1,8 +1,9 @@
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
public static class WmsConsts public static class WmsConsts
{ {
public const string DbTablePrefix = null; public const string DbTablePrefix = null;
public const string DbSchema = null; public const string DbSchema = null;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/WmsDomainModule.cs

@ -15,8 +15,8 @@ using Volo.Abp.PermissionManagement.OpenIddict;
using Volo.Abp.SettingManagement; using Volo.Abp.SettingManagement;
using Volo.Abp.TenantManagement; using Volo.Abp.TenantManagement;
namespace WinIn.FasterZ.Wms; namespace WinIn.FasterZ.Wms
{
[DependsOn( [DependsOn(
typeof(WmsDomainSharedModule), typeof(WmsDomainSharedModule),
typeof(AbpAuditLoggingDomainModule), typeof(AbpAuditLoggingDomainModule),
@ -66,3 +66,4 @@ public class WmsDomainModule : AbpModule
#endif #endif
} }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthDepartment/AuthDepartment.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment; namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -16,3 +16,4 @@ public class AuthDepartment : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthDepartment/IAuthDepartmentRepository.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment; namespace WinIn.FasterZ.Wms.Z_Business.AuthDepartment
{
using System; using System;
using Volo.Abp.Domain.Repositories; using Volo.Abp.Domain.Repositories;
@ -7,3 +7,4 @@ using Volo.Abp.Domain.Repositories;
public interface IAuthDepartmentRepository : IRepository<AuthDepartment, Guid> public interface IAuthDepartmentRepository : IRepository<AuthDepartment, Guid>
{ {
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthMenu/AuthMenu.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.AuthMenu; namespace WinIn.FasterZ.Wms.Z_Business.AuthMenu
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -36,3 +36,4 @@ public class AuthMenu : AuditedAggregateRoot<Guid>
public string Status { get; set; } = null!; public string Status { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthUserMenu/AuthUserMenu.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.AuthUserMenu; namespace WinIn.FasterZ.Wms.Z_Business.AuthUserMenu
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -12,3 +12,4 @@ public class AuthUserMenu : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/AuthUserWorkGroup/AuthUserWorkGroup.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.AuthUserWorkGroup; namespace WinIn.FasterZ.Wms.Z_Business.AuthUserWorkGroup
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -10,3 +10,4 @@ public class AuthUserWorkGroup : AuditedAggregateRoot<Guid>
public string WorkGroupCode { get; set; } = null!; public string WorkGroupCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataAql/BasedataAql.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataAql; namespace WinIn.FasterZ.Wms.Z_Business.BasedataAql
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -24,3 +24,4 @@ public class BasedataAql : AuditedAggregateRoot<Guid>
public string SupplierCode { get; set; } = null!; public string SupplierCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataArea/BasedataArea.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataArea; namespace WinIn.FasterZ.Wms.Z_Business.BasedataArea
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -20,3 +20,4 @@ public class BasedataArea : AuditedAggregateRoot<Guid>
public string WarehouseCode { get; set; } = null!; public string WarehouseCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataBom/BasedataBom.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataBom; namespace WinIn.FasterZ.Wms.Z_Business.BasedataBom
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -32,3 +32,4 @@ public class BasedataBom : AuditedAggregateRoot<Guid>
public string TruncType { get; set; } = null!; public string TruncType { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCalendar/BasedataCalendar.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataCalendar; namespace WinIn.FasterZ.Wms.Z_Business.BasedataCalendar
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -16,3 +16,4 @@ public class BasedataCalendar : AuditedAggregateRoot<Guid>
public string Status { get; set; } = null!; public string Status { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCategory/BasedataCategory.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataCategory; namespace WinIn.FasterZ.Wms.Z_Business.BasedataCategory
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -14,3 +14,4 @@ public class BasedataCategory : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCurrency/BasedataCurrency.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataCurrency; namespace WinIn.FasterZ.Wms.Z_Business.BasedataCurrency
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -16,3 +16,4 @@ public class BasedataCurrency : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCurrencyExchange/BasedataCurrencyExchange.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataCurrencyExchange; namespace WinIn.FasterZ.Wms.Z_Business.BasedataCurrencyExchange
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -18,3 +18,4 @@ public class BasedataCurrencyExchange : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCustomer/BasedataCustomer.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataCustomer; namespace WinIn.FasterZ.Wms.Z_Business.BasedataCustomer
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -34,3 +34,4 @@ public class BasedataCustomer : AuditedAggregateRoot<Guid>
public string Type { get; set; } = null!; public string Type { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCustomerAddress/BasedataCustomerAddress.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataCustomerAddress; namespace WinIn.FasterZ.Wms.Z_Business.BasedataCustomerAddress
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -26,3 +26,4 @@ public class BasedataCustomerAddress : AuditedAggregateRoot<Guid>
public string WarehouseCode { get; set; } = null!; public string WarehouseCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataCustomerItem/BasedataCustomerItem.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataCustomerItem; namespace WinIn.FasterZ.Wms.Z_Business.BasedataCustomerItem
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -24,3 +24,4 @@ public class BasedataCustomerItem : AuditedAggregateRoot<Guid>
public string? Version { get; set; } public string? Version { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataDict/BasedataDict.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataDict; namespace WinIn.FasterZ.Wms.Z_Business.BasedataDict
{
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
@ -19,3 +19,4 @@ public class BasedataDict : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataDictItem/BasedataDictItem.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataDictItem; namespace WinIn.FasterZ.Wms.Z_Business.BasedataDictItem
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -24,3 +24,4 @@ public class BasedataDictItem : AuditedAggregateRoot<Guid>
public string? Value { get; set; } public string? Value { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataDock/BasedataDock.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataDock; namespace WinIn.FasterZ.Wms.Z_Business.BasedataDock
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -18,3 +18,4 @@ public class BasedataDock : AuditedAggregateRoot<Guid>
public string? WarehouseCode { get; set; } public string? WarehouseCode { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataDocumentSetting/BasedataDocumentSetting.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataDocumentSetting; namespace WinIn.FasterZ.Wms.Z_Business.BasedataDocumentSetting
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -24,3 +24,4 @@ public class BasedataDocumentSetting : AuditedAggregateRoot<Guid>
public string? TransactionType { get; set; } public string? TransactionType { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataErpLocation/BasedataErpLocation.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataErpLocation; namespace WinIn.FasterZ.Wms.Z_Business.BasedataErpLocation
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -18,3 +18,4 @@ public class BasedataErpLocation : AuditedAggregateRoot<Guid>
public string WarehouseCode { get; set; } = null!; public string WarehouseCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataInterfaceCalendar/BasedataInterfaceCalendar.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataInterfaceCalendar; namespace WinIn.FasterZ.Wms.Z_Business.BasedataInterfaceCalendar
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -24,3 +24,4 @@ public class BasedataInterfaceCalendar : AuditedAggregateRoot<Guid>
public string Year { get; set; } = null!; public string Year { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemCategory/BasedataItemCategory.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemCategory; namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemCategory
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -14,3 +14,4 @@ public class BasedataItemCategory : AuditedAggregateRoot<Guid>
public string Value { get; set; } = null!; public string Value { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemGuideBook/BasedataItemGuideBook.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemGuideBook; namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemGuideBook
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -20,3 +20,4 @@ public class BasedataItemGuideBook : AuditedAggregateRoot<Guid>
public string? Step { get; set; } public string? Step { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemPack/BasedataItemPack.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemPack; namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemPack
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -20,3 +20,4 @@ public class BasedataItemPack : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemQuality/BasedataItemQuality.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemQuality; namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemQuality
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -18,3 +18,4 @@ public class BasedataItemQuality : AuditedAggregateRoot<Guid>
public string SupplierCode { get; set; } = null!; public string SupplierCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemSafetyStock/BasedataItemSafetyStock.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemSafetyStock; namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemSafetyStock
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -28,3 +28,4 @@ public class BasedataItemSafetyStock : AuditedAggregateRoot<Guid>
public string WarehouseCode { get; set; } = null!; public string WarehouseCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataItemStoreRelation/BasedataItemStoreRelation.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemStoreRelation; namespace WinIn.FasterZ.Wms.Z_Business.BasedataItemStoreRelation
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -32,3 +32,4 @@ public class BasedataItemStoreRelation : AuditedAggregateRoot<Guid>
public string WarehouseCode { get; set; } = null!; public string WarehouseCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataLocation/BasedataLocation.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataLocation; namespace WinIn.FasterZ.Wms.Z_Business.BasedataLocation
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -70,3 +70,4 @@ public class BasedataLocation : AuditedAggregateRoot<Guid>
public string WorkGroupCode { get; set; } = null!; public string WorkGroupCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataLocationGroup/BasedataLocationGroup.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataLocationGroup; namespace WinIn.FasterZ.Wms.Z_Business.BasedataLocationGroup
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -58,3 +58,4 @@ public class BasedataLocationGroup : AuditedAggregateRoot<Guid>
public string WarehouseCode { get; set; } = null!; public string WarehouseCode { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataMachine/BasedataMachine.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataMachine; namespace WinIn.FasterZ.Wms.Z_Business.BasedataMachine
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -20,3 +20,4 @@ public class BasedataMachine : AuditedAggregateRoot<Guid>
public Guid WorkStationId { get; set; } public Guid WorkStationId { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataProductionLine/BasedataProductionLine.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataProductionLine; namespace WinIn.FasterZ.Wms.Z_Business.BasedataProductionLine
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -24,3 +24,4 @@ public class BasedataProductionLine : AuditedAggregateRoot<Guid>
public string? WorkshopCode { get; set; } public string? WorkshopCode { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataProductionLineItem/BasedataProductionLineItem.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataProductionLineItem; namespace WinIn.FasterZ.Wms.Z_Business.BasedataProductionLineItem
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -12,3 +12,4 @@ public class BasedataProductionLineItem : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataProject/BasedataProject.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataProject; namespace WinIn.FasterZ.Wms.Z_Business.BasedataProject
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -20,3 +20,4 @@ public class BasedataProject : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataPurchasePriceSheet/BasedataPurchasePriceSheet.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataPurchasePriceSheet; namespace WinIn.FasterZ.Wms.Z_Business.BasedataPurchasePriceSheet
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -18,3 +18,4 @@ public class BasedataPurchasePriceSheet : AuditedAggregateRoot<Guid>
public Guid SupplierId { get; set; } public Guid SupplierId { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataSalePriceSheet/BasedataSalePriceSheet.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataSalePriceSheet; namespace WinIn.FasterZ.Wms.Z_Business.BasedataSalePriceSheet
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -18,3 +18,4 @@ public class BasedataSalePriceSheet : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataShift/BasedataShift.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataShift; namespace WinIn.FasterZ.Wms.Z_Business.BasedataShift
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -20,3 +20,4 @@ public class BasedataShift : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataStdCostPriceSheet/BasedataStdCostPriceSheet.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataStdCostPriceSheet; namespace WinIn.FasterZ.Wms.Z_Business.BasedataStdCostPriceSheet
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -18,3 +18,4 @@ public class BasedataStdCostPriceSheet : AuditedAggregateRoot<Guid>
public Guid SupplierId { get; set; } public Guid SupplierId { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataSupplier/BasedataSupplier.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataSupplier; namespace WinIn.FasterZ.Wms.Z_Business.BasedataSupplier
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -38,3 +38,4 @@ public class BasedataSupplier : AuditedAggregateRoot<Guid>
public string Type { get; set; } = null!; public string Type { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataSupplierItem/BasedataSupplierItem.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataSupplierItem; namespace WinIn.FasterZ.Wms.Z_Business.BasedataSupplierItem
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -26,3 +26,4 @@ public class BasedataSupplierItem : AuditedAggregateRoot<Guid>
public string? Version { get; set; } public string? Version { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataSupplierTimeWindow/BasedataSupplierTimeWindow.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataSupplierTimeWindow; namespace WinIn.FasterZ.Wms.Z_Business.BasedataSupplierTimeWindow
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -16,3 +16,4 @@ public class BasedataSupplierTimeWindow : AuditedAggregateRoot<Guid>
public string Week { get; set; } = null!; public string Week { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataTeam/BasedataTeam.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataTeam; namespace WinIn.FasterZ.Wms.Z_Business.BasedataTeam
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -16,3 +16,4 @@ public class BasedataTeam : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataTransactionType/BasedataTransactionType.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataTransactionType; namespace WinIn.FasterZ.Wms.Z_Business.BasedataTransactionType
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -42,3 +42,4 @@ public class BasedataTransactionType : AuditedAggregateRoot<Guid>
public string TransType { get; set; } = null!; public string TransType { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataUom/BasedataUom.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataUom; namespace WinIn.FasterZ.Wms.Z_Business.BasedataUom
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -16,3 +16,4 @@ public class BasedataUom : AuditedAggregateRoot<Guid>
public string Type { get; set; } = null!; public string Type { get; set; } = null!;
} }
}

5
WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Wms/WinIn.FasterZ.Wms/src/WinIn.FasterZ.Wms.Domain/Z_Business/BasedataWarehouse/BasedataWarehouse.cs

@ -1,5 +1,5 @@
namespace WinIn.FasterZ.Wms.Z_Business.BasedataWarehouse; namespace WinIn.FasterZ.Wms.Z_Business.BasedataWarehouse
{
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -14,3 +14,4 @@ public class BasedataWarehouse : AuditedAggregateRoot<Guid>
public string? Remark { get; set; } public string? Remark { get; set; }
} }
}

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

Loading…
Cancel
Save