Browse Source

up

master
mahao 1 year ago
parent
commit
41406a5e0c
  1. 31
      .drone.yml
  2. 1
      build/.gitignore
  3. 1
      build/build.cmd
  4. 1
      build/build.sh
  5. 2
      code/src/.editorconfig
  6. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/BranchManagement/Dto/BranchDto.cs
  7. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/BranchManagement/Dto/CreateOrUpdateBranchDto.cs
  8. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/BranchManagement/Dto/GetBranchInputDto.cs
  9. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/BranchManagement/IBranchAppService.cs
  10. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/Permissions/Dto/ApplicationAuthes.cs
  11. 7
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/UserBranchRoleManagement/Dto/CreateOrUpdateUserBranchDto.cs
  12. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/UserBranchRoleManagement/Dto/GetUserBranchInput.cs
  13. 4
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/UserBranchRoleManagement/Dto/UserBranchDto.cs
  14. 4
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/UserBranchRoleManagement/IUserBranchAppService.cs
  15. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/BaseServiceApplicationContractsModule.cs
  16. 5
      code/src/Modules/BaseService/BaseService.Application.Contracts/Permissions/BaseServicePermissionDefinitionProvider .cs
  17. 5
      code/src/Modules/BaseService/BaseService.Application.Contracts/Permissions/BaseServicePermissions.cs
  18. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/RelationData/Dto/BranchPermissionDto.cs
  19. 4
      code/src/Modules/BaseService/BaseService.Application.Contracts/RelationData/Dto/BranchRoleDto.cs
  20. 4
      code/src/Modules/BaseService/BaseService.Application.Contracts/RelationData/IBranchRelationAppService.cs
  21. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/AuditLogActionDto.cs
  22. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/AuditLogDto.cs
  23. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/EntityChangeDto.cs
  24. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/EntityPropertyChangeDto.cs
  25. 3
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/GetAuditLogsInput.cs
  26. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/GetAverageExecutionDurationPerDayInput.cs
  27. 2
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/GetAverageExecutionDurationPerDayOutput.cs
  28. 4
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/IAuditLoggingAppService.cs
  29. 6
      code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/UserManagement/IUserAppService.cs
  30. 8
      code/src/Modules/BaseService/BaseService.Application/BaseServiceApplicationAutoMapperProfile.cs
  31. 2
      code/src/Modules/BaseService/BaseService.Application/BaseServiceApplicationModule.cs
  32. 79
      code/src/Modules/BaseService/BaseService.Application/BranchManagement/BranchAppService.cs
  33. 10
      code/src/Modules/BaseService/BaseService.Application/UserManagement/TokenAppService.cs
  34. 69
      code/src/Modules/BaseService/BaseService.Application/UserManagement/UserAppService.cs
  35. 66
      code/src/Modules/BaseService/BaseService.Application/UserManagement/UserBranchAppService.cs
  36. 5
      code/src/Modules/BaseService/BaseService.Domain/BaseData/Branch.cs
  37. 8
      code/src/Modules/BaseService/BaseService.Domain/BaseData/UserBranch.cs
  38. 11
      code/src/Modules/BaseService/BaseService.Domain/BaseData/UserBranchRole.cs
  39. 2
      code/src/Modules/BaseService/BaseService.Domain/BaseServiceConsts.cs
  40. 2
      code/src/Modules/BaseService/BaseService.Domain/BaseServiceDomainModule.cs
  41. 2
      code/src/Modules/BaseService/BaseService.Domain/BaseServiceModuleExtensionConfigurator.cs
  42. 2
      code/src/Modules/BaseService/BaseService.Domain/Localization/BaseServiceResource.cs
  43. 10
      code/src/Modules/BaseService/BaseService.Domain/RelationBaseData/BranchRole.cs
  44. 3
      code/src/Modules/BaseService/BaseService.Domain/Users/AppUser.cs
  45. 8
      code/src/Modules/BaseService/BaseService.EntityFrameworkCore/EntityFrameworkCore/BaseDbContextModelCreatingExtensions.cs
  46. 6
      code/src/Modules/BaseService/BaseService.EntityFrameworkCore/EntityFrameworkCore/BaseEfCoreEntityExtensionMappings.cs
  47. 7
      code/src/Modules/BaseService/BaseService.EntityFrameworkCore/EntityFrameworkCore/BaseServiceDbContext.cs
  48. 2
      code/src/Modules/BaseService/BaseService.EntityFrameworkCore/EntityFrameworkCore/BaseServiceEntityFrameworkCoreModule.cs
  49. 2
      code/src/Modules/BaseService/BaseService.EntityFrameworkCore/Migrations/20230822033456_202308220001.cs
  50. 2
      code/src/Modules/BaseService/BaseService.EntityFrameworkCore/Migrations/20230822034321_2023082200001.cs
  51. 2
      code/src/Modules/BaseService/BaseService.HttpApi/BaseData/OrganizationController.cs
  52. 2
      code/src/Modules/BaseService/BaseService.HttpApi/BaseData/UserBranchRoleController.cs
  53. 2
      code/src/Modules/BaseService/BaseService.HttpApi/BaseServiceHttpApiModule.cs
  54. 2
      code/src/Modules/BaseService/BaseService.HttpApi/Controllers/BaseServiceController.cs
  55. 2
      code/src/Modules/BaseService/BaseService.HttpApi/Systems/UserController.cs
  56. 5
      code/src/Modules/SettleAccount/common.props
  57. 69
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/AuthServer/AuthServerDataSeeder.cs
  58. 7
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/AuthServer/AuthServerHostModule.cs
  59. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/AuthServer/EntityFrameworkCore/AuthServerDbContext.cs
  60. 2
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/AuthServer/EntityFrameworkCore/AuthServerDbContextFactory.cs
  61. 72
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/BaseServiceHostModule.cs
  62. 10
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Exception.cs
  63. 91
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Program.cs
  64. 91
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccountHttpApiHostModule.cs
  65. 137
      code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs
  66. 4
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Attributes/ExcelImporterHeadDescAttribute.cs
  67. 4
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Bases/RequestInputBase.cs
  68. 25
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_CAN_SA_DTO.cs
  69. 24
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_NOT_SA_DTO.cs
  70. 14
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_PD_DTO.cs
  71. 457
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_SA_DTO.cs
  72. 799
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_SE_DETAIL_DTO.cs
  73. 9
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_SE_EDI_DTO.cs
  74. 69
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/EdiSeCompareRequestDto.cs
  75. 48
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_CAN_SA_DTO.cs
  76. 20
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_NOT_SA_DTO.cs
  77. 7
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_PD_DTO.cs
  78. 505
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_SA_DTO.cs
  79. 797
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_SE_DETAIL_DTO.cs
  80. 2
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_SE_EDI_DTO.cs
  81. 24
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/INVOICE_GRP_DTO.cs
  82. 235
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_ADJ_DETAIL_DTO.cs
  83. 33
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_CAN_SA_DTO.cs
  84. 32
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_NOT_SA_DTO.cs
  85. 8
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_PD_DTO.cs
  86. 1047
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_SA_DTO.cs
  87. 749
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_SE_DETAIL_DTO.cs
  88. 95
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PURCHASE_PRICE_DTO.cs
  89. 2
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/RequestDto.cs
  90. 91
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/SaSeCompareRequestDto.cs
  91. 2
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/TB_RePartsRelationship_DTO.cs
  92. 16
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_BA_SERVICE.cs
  93. 8
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_CAN_SA_SERVICE.cs
  94. 4
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_NOT_SA_SERVICE.cs
  95. 14
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_PD_SERVICE.cs
  96. 6
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_SE_EDI_SERVICE.cs
  97. 6
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IHBPO_BA_SERVICE.cs
  98. 20
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IHBPO_CAN_SA_SERVICE.cs
  99. 4
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IHBPO_NOT_SA_SERVICE.cs
  100. 6
      code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IHBPO_PD_SERVICE.cs

31
.drone.yml

@ -0,0 +1,31 @@
---
kind: pipeline
type: docker
name: linux-amd64
platform:
arch: amd64
os: linux
steps:
- name: build
image: mcr.microsoft.com/dotnet/sdk:6.0
commands:
- cd ./build
- pwd
- ls
- chmod 755 ./build.sh
- ./build.sh
- ls
- name: publish
image: plugins/s3
settings:
endpoint: http://dev.ccwin-in.com:3008
path_style: true
bucket: default
access_key: O222sbIaMKeGfeX18t8K
secret_key: 0LEOWfXSDnaLbIYGZfdKUxyi2kYIayx4YvdLTgcR
source: build/publish/**/*
strip_prefix: build/publish/
target: /jie-suan/bei-qi/${DRONE_BUILD_NUMBER}-${DRONE_REPO_BRANCH}-${DRONE_COMMIT_SHA:0:8}

1
build/.gitignore

@ -0,0 +1 @@
publish

1
build/build.cmd

@ -0,0 +1 @@
dotnet publish -c Release -r win-x64 ../code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host -o ./publish

1
build/build.sh

@ -0,0 +1 @@
dotnet publish -v diag -c Release -r win-x64 ../code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host -o ./publish

2
code/src/.editorconfig

@ -42,7 +42,7 @@ csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true csharp_new_line_before_members_in_anonymous_types = true
# Namespace settings # Namespace settings
csharp_style_namespace_declarations = file_scoped csharp_style_namespace_declarations = block_scoped:warning
# Brace settings # Brace settings
csharp_prefer_braces = true # Prefer curly braces even for one line of code csharp_prefer_braces = true # Prefer curly braces even for one line of code

2
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/BranchManagement/Dto/BranchDto.cs

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using BaseService.RelationBaseData; using BaseService.RelationBaseData;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;

2
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/BranchManagement/Dto/CreateOrUpdateBranchDto.cs

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using BaseService.RelationBaseData; using BaseService.RelationBaseData;

2
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/BranchManagement/Dto/GetBranchInputDto.cs

@ -1,4 +1,4 @@
using System; using System;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace BaseService.BaseData.BranchManagement.Dto namespace BaseService.BaseData.BranchManagement.Dto

2
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/BranchManagement/IBranchAppService.cs

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using BaseService.BaseData.BranchManagement.Dto; using BaseService.BaseData.BranchManagement.Dto;

2
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/Permissions/Dto/ApplicationAuthes.cs

@ -1,4 +1,4 @@
using System.Collections.Generic; using System.Collections.Generic;
namespace BaseService.BaseData.Permissions.Dto namespace BaseService.BaseData.Permissions.Dto
{ {

7
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/UserBranchRoleManagement/Dto/CreateOrUpdateUserBranchDto.cs

@ -1,17 +1,16 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using Volo.Abp.Identity;
namespace BaseService.BaseData.UserBranchRoleManagement.Dto namespace BaseService.BaseData.UserBranchRoleManagement.Dto
{ {
public class CreateOrUpdateUserBranchDto public class CreateOrUpdateUserBranchDto
{ {
/// <summary> /// <summary>
/// 主键 /// 主键
/// </summary> /// </summary>
public Guid Id { get; set; } public Guid Id { get; set; }
/// <summary> /// <summary>
/// 用户ID /// 用户ID
/// </summary> /// </summary>

2
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/UserBranchRoleManagement/Dto/GetUserBranchInput.cs

@ -1,4 +1,4 @@
using System; using System;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace BaseService.BaseData.UserBranchRoleManagement.Dto namespace BaseService.BaseData.UserBranchRoleManagement.Dto

4
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/UserBranchRoleManagement/Dto/UserBranchDto.cs

@ -1,10 +1,8 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations.Schema; using System.ComponentModel.DataAnnotations.Schema;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
using Volo.Abp.MultiTenancy;
namespace BaseService.BaseData.UserBranchRoleManagement.Dto namespace BaseService.BaseData.UserBranchRoleManagement.Dto
{ {

4
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseData/UserBranchRoleManagement/IUserBranchAppService.cs

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using BaseService.BaseData.Permissions.Dto; using BaseService.BaseData.Permissions.Dto;
@ -30,7 +30,7 @@ namespace BaseService.BaseData.UserBranchRoleManagement
Task<ApplicationAuthes> GetAuthConfigAsync(Guid branchId); Task<ApplicationAuthes> GetAuthConfigAsync(Guid branchId);
Task<List<UserBranchRole>> GetUserRolesAsync(Guid userId,Guid branchId); Task<List<UserBranchRole>> GetUserRolesAsync(Guid userId, Guid branchId);
Task DeleteUnitAsync(Guid userId, Guid branchId); Task DeleteUnitAsync(Guid userId, Guid branchId);

2
code/src/Modules/BaseService/BaseService.Application.Contracts/BaseServiceApplicationContractsModule.cs

@ -1,4 +1,4 @@
using Volo.Abp.Application; using Volo.Abp.Application;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.PermissionManagement; using Volo.Abp.PermissionManagement;

5
code/src/Modules/BaseService/BaseService.Application.Contracts/Permissions/BaseServicePermissionDefinitionProvider .cs

@ -1,4 +1,4 @@
using BaseService.Localization; using BaseService.Localization;
using Volo.Abp.Authorization.Permissions; using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
@ -14,8 +14,7 @@ namespace BaseService.Permissions
var auditLogging = baseService.AddPermission(BaseServicePermissions.AuditLogging.Default, L("AuditLogging")); var auditLogging = baseService.AddPermission(BaseServicePermissions.AuditLogging.Default, L("AuditLogging"));
var branch = baseService.AddPermission(BaseServicePermissions.Branch.Default, L("Branch"));
var branch = baseService.AddPermission(BaseServicePermissions.Branch.Default,L("Branch"));
branch.AddChild(BaseServicePermissions.Branch.Update, L("Edit")); branch.AddChild(BaseServicePermissions.Branch.Update, L("Edit"));
branch.AddChild(BaseServicePermissions.Branch.Delete, L("Delete")); branch.AddChild(BaseServicePermissions.Branch.Delete, L("Delete"));
branch.AddChild(BaseServicePermissions.Branch.Create, L("Create")); branch.AddChild(BaseServicePermissions.Branch.Create, L("Create"));

5
code/src/Modules/BaseService/BaseService.Application.Contracts/Permissions/BaseServicePermissions.cs

@ -1,7 +1,3 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace BaseService.Permissions namespace BaseService.Permissions
{ {
public static class BaseServicePermissions public static class BaseServicePermissions
@ -21,7 +17,6 @@ namespace BaseService.Permissions
public const string Create = Default + ".Create"; public const string Create = Default + ".Create";
} }
public static class UserBranch public static class UserBranch
{ {
public const string Default = BaseService + ".UserBranch"; public const string Default = BaseService + ".UserBranch";

2
code/src/Modules/BaseService/BaseService.Application.Contracts/RelationData/Dto/BranchPermissionDto.cs

@ -1,4 +1,4 @@
using System; using System;
namespace BaseService.RelationData.Dto namespace BaseService.RelationData.Dto
{ {

4
code/src/Modules/BaseService/BaseService.Application.Contracts/RelationData/Dto/BranchRoleDto.cs

@ -1,7 +1,5 @@
using System; using System;
using System.ComponentModel.DataAnnotations.Schema;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace BaseService.RelationData.Dto namespace BaseService.RelationData.Dto
{ {

4
code/src/Modules/BaseService/BaseService.Application.Contracts/RelationData/IBranchRelationAppService.cs

@ -1,11 +1,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using BaseService.BaseData.BranchManagement.Dto; using BaseService.BaseData.BranchManagement.Dto;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
using Volo.Abp.Identity;
namespace BaseService.RelationData namespace BaseService.RelationData
{ {

2
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/AuditLogActionDto.cs

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;

2
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/AuditLogDto.cs

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;

2
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/EntityChangeDto.cs

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;

2
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/EntityPropertyChangeDto.cs

@ -1,4 +1,4 @@
using System; using System;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace BaseService.Systems.AuditLoggingManagement.Dto namespace BaseService.Systems.AuditLoggingManagement.Dto

3
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/GetAuditLogsInput.cs

@ -1,4 +1,4 @@
using System.Net; using System.Net;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace BaseService.Systems.AuditLoggingManagement.Dto namespace BaseService.Systems.AuditLoggingManagement.Dto
@ -20,7 +20,6 @@ namespace BaseService.Systems.AuditLoggingManagement.Dto
public int? MaxExecutionDuration { get; set; } public int? MaxExecutionDuration { get; set; }
public int? MinExecutionDuration { get; set; } public int? MinExecutionDuration { get; set; }
public bool HasException { get; set; } public bool HasException { get; set; }

2
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/GetAverageExecutionDurationPerDayInput.cs

@ -1,4 +1,4 @@
using System; using System;
namespace BaseService.Systems.AuditLoggingManagement.Dto namespace BaseService.Systems.AuditLoggingManagement.Dto
{ {

2
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/Dto/GetAverageExecutionDurationPerDayOutput.cs

@ -1,4 +1,4 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace BaseService.Systems.AuditLoggingManagement.Dto namespace BaseService.Systems.AuditLoggingManagement.Dto

4
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/AuditLoggingManagement/IAuditLoggingAppService.cs

@ -1,8 +1,6 @@
using BaseService.Systems.AuditLoggingManagement.Dto;
using System; using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using BaseService.Systems.AuditLoggingManagement.Dto;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;

6
code/src/Modules/BaseService/BaseService.Application.Contracts/Systems/UserManagement/IUserAppService.cs

@ -1,7 +1,7 @@
using BaseService.BaseData.Permissions.Dto;
using BaseService.RelationData.Dto;
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using BaseService.BaseData.Permissions.Dto;
using BaseService.RelationData.Dto;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
using Volo.Abp.Identity; using Volo.Abp.Identity;
@ -68,4 +68,4 @@ namespace BaseService.Systems.UserManagement
//Task<IdentityUserDto> ResetPasswordCurrentUser(Guid id, IdentityUserCreateDto input); //Task<IdentityUserDto> ResetPasswordCurrentUser(Guid id, IdentityUserCreateDto input);
Task<IdentityUserDto> ResetPasswordAsync(Guid id); Task<IdentityUserDto> ResetPasswordAsync(Guid id);
} }
} }

8
code/src/Modules/BaseService/BaseService.Application/BaseServiceApplicationAutoMapperProfile.cs

@ -1,12 +1,8 @@
using AutoMapper; using AutoMapper;
using BaseService.BaseData; using BaseService.BaseData;
using BaseService.RelationBaseData;
using BaseService.Systems.AuditLoggingManagement.Dto;
using System;
using System.Collections.Generic;
using System.Text;
using BaseService.BaseData.BranchManagement.Dto; using BaseService.BaseData.BranchManagement.Dto;
using BaseService.BaseData.UserBranchRoleManagement.Dto; using BaseService.BaseData.UserBranchRoleManagement.Dto;
using BaseService.RelationBaseData;
using BaseService.RelationData.Dto; using BaseService.RelationData.Dto;
namespace BaseService namespace BaseService

2
code/src/Modules/BaseService/BaseService.Application/BaseServiceApplicationModule.cs

@ -1,4 +1,4 @@
using Volo.Abp.AutoMapper; using Volo.Abp.AutoMapper;
using Volo.Abp.Identity; using Volo.Abp.Identity;
using Volo.Abp.Json; using Volo.Abp.Json;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;

79
code/src/Modules/BaseService/BaseService.Application/BranchManagement/BranchAppService.cs

@ -4,9 +4,7 @@ using System.Linq;
using System.Linq.Dynamic.Core; using System.Linq.Dynamic.Core;
using System.Threading.Tasks; using System.Threading.Tasks;
using BaseService.BaseData.BranchManagement.Dto; using BaseService.BaseData.BranchManagement.Dto;
using BaseService.BaseData.UserBranchRoleManagement.Dto;
using BaseService.Permissions; using BaseService.Permissions;
using BaseService.RelationBaseData;
using BaseService.RelationData.Dto; using BaseService.RelationData.Dto;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -44,8 +42,11 @@ namespace BaseService.BaseData.BranchManagement
[Authorize(BaseServicePermissions.Branch.Create)] [Authorize(BaseServicePermissions.Branch.Create)]
public virtual async Task<BranchDto> CreateAsync(CreateOrUpdateBranchDto input) public virtual async Task<BranchDto> CreateAsync(CreateOrUpdateBranchDto input)
{ {
var exist = await _repository.FirstOrDefaultAsync(_ => _.Name == input.Name); var exist = await _repository.FirstOrDefaultAsync(_ => _.Name == input.Name).ConfigureAwait(false);
if (exist != null) throw new BusinessException("名称:" + input.Name + "机构已存在"); if (exist != null)
{
throw new BusinessException("名称:" + input.Name + "机构已存在");
}
var branch = new Branch(GuidGenerator.Create(), var branch = new Branch(GuidGenerator.Create(),
CurrentTenant.Id, CurrentTenant.Id,
@ -57,12 +58,12 @@ namespace BaseService.BaseData.BranchManagement
true, true,
input.Enabled input.Enabled
); );
var parent = await _repository.FirstOrDefaultAsync(_ => _.Id == input.Pid); var parent = await _repository.FirstOrDefaultAsync(_ => _.Id == input.Pid).ConfigureAwait(false);
ChangeOrganizationModel(branch, parent); ChangeOrganizationModel(branch, parent);
await _repository.InsertAsync(branch); await _repository.InsertAsync(branch).ConfigureAwait(false);
//create cache //create cache
await _cache.SetAsync(branch.Id.ToString(), branch, CacheStrategyConst.FIVE_MINUTES); await _cache.SetAsync(branch.Id.ToString(), branch, CacheStrategyConst.FIVE_MINUTES).ConfigureAwait(false);
return ObjectMapper.Map<Branch, BranchDto>(branch); return ObjectMapper.Map<Branch, BranchDto>(branch);
} }
@ -74,10 +75,10 @@ namespace BaseService.BaseData.BranchManagement
{ {
foreach (var id in ids) foreach (var id in ids)
{ {
var branch = await _repository.GetAsync(id); var branch = await _repository.GetAsync(id).ConfigureAwait(false);
await _repository.DeleteAsync(_ => _.CascadeId.Contains(branch.CascadeId)); await _repository.DeleteAsync(_ => _.CascadeId.Contains(branch.CascadeId)).ConfigureAwait(false);
await _cache.DeleteAsync(id.ToString()); await _cache.DeleteAsync(id.ToString()).ConfigureAwait(false);
await _repository.DeleteAsync(_ => _.Id == id); await _repository.DeleteAsync(_ => _.Id == id).ConfigureAwait(false);
} }
} }
[HttpGet] [HttpGet]
@ -85,7 +86,7 @@ namespace BaseService.BaseData.BranchManagement
[AllowAnonymous] [AllowAnonymous]
public virtual async Task<BranchDto> GetAsync(Guid id) public virtual async Task<BranchDto> GetAsync(Guid id)
{ {
var result = await GetFromCacheAsync(id); var result = await GetFromCacheAsync(id).ConfigureAwait(false);
return ObjectMapper.Map<Branch, BranchDto>(result); return ObjectMapper.Map<Branch, BranchDto>(result);
} }
@ -93,15 +94,15 @@ namespace BaseService.BaseData.BranchManagement
{ {
var result = await _cache.GetOrAddAsync( var result = await _cache.GetOrAddAsync(
id.ToString(), id.ToString(),
async () => await GetFromRepository(id), async () => await GetFromRepository(id).ConfigureAwait(false),
CacheStrategyConst.FIVE_MINUTES); CacheStrategyConst.FIVE_MINUTES).ConfigureAwait(false);
return result; return result;
} }
private async Task<Branch> GetFromRepository(Guid id) private async Task<Branch> GetFromRepository(Guid id)
{ {
return await _repository.GetAsync(id); return await _repository.GetAsync(id).ConfigureAwait(false);
} }
[HttpGet] [HttpGet]
@ -113,15 +114,15 @@ namespace BaseService.BaseData.BranchManagement
.WhereIf(input.CategoryId.HasValue, _ => _.CategoryId == input.CategoryId); .WhereIf(input.CategoryId.HasValue, _ => _.CategoryId == input.CategoryId);
if (input.Id.HasValue) if (input.Id.HasValue)
{ {
var org = await _repository.GetAsync(input.Id.Value); var org = await _repository.GetAsync(input.Id.Value).ConfigureAwait(false);
query = query.Where(_ => _.CascadeId.Contains(org.CascadeId)); query = query.Where(_ => _.CascadeId.Contains(org.CascadeId));
} }
var items = await query.OrderBy(input.Sorting ?? "Sort") var items = await query.OrderBy(input.Sorting ?? "Sort")
.Skip(input.SkipCount) .Skip(input.SkipCount)
.Take(input.MaxResultCount) .Take(input.MaxResultCount)
.ToListAsync(); .ToListAsync().ConfigureAwait(false);
var totalCount = await query.CountAsync(); var totalCount = await query.CountAsync().ConfigureAwait(false);
var dtos = ObjectMapper.Map<List<Branch>, List<BranchDto>>(items); var dtos = ObjectMapper.Map<List<Branch>, List<BranchDto>>(items);
return new PagedResultDto<BranchDto>(totalCount, dtos); return new PagedResultDto<BranchDto>(totalCount, dtos);
@ -145,13 +146,13 @@ namespace BaseService.BaseData.BranchManagement
var items = new List<Branch>(); var items = new List<Branch>();
if (!string.IsNullOrWhiteSpace(filter)) if (!string.IsNullOrWhiteSpace(filter))
{ {
items = await _repository.Where(_ => _.Name.Contains(filter)).ToListAsync(); items = await _repository.Where(_ => _.Name.Contains(filter)).ToListAsync().ConfigureAwait(false);
} }
else else
{ {
var query = id.HasValue ? _repository.Where(_ => _.Pid == id) : var query = id.HasValue ? _repository.Where(_ => _.Pid == id) :
_repository.Where(_ => _.Pid == null); _repository.Where(_ => _.Pid == null);
items = await query.ToListAsync(); items = await query.ToListAsync().ConfigureAwait(false);
} }
var dtos = ObjectMapper.Map<List<Branch>, List<BranchDto>>(items); var dtos = ObjectMapper.Map<List<Branch>, List<BranchDto>>(items);
@ -161,7 +162,7 @@ namespace BaseService.BaseData.BranchManagement
[Route("children")] [Route("children")]
public virtual async Task<ListResultDto<BranchDto>> GetChildrenAsync() public virtual async Task<ListResultDto<BranchDto>> GetChildrenAsync()
{ {
var items = await _repository.GetListAsync(); var items = await _repository.GetListAsync().ConfigureAwait(false);
var dtos = ObjectMapper.Map<List<Branch>, List<BranchDto>>(items); var dtos = ObjectMapper.Map<List<Branch>, List<BranchDto>>(items);
return new ListResultDto<BranchDto>(dtos); return new ListResultDto<BranchDto>(dtos);
@ -171,13 +172,17 @@ namespace BaseService.BaseData.BranchManagement
[Authorize(BaseServicePermissions.Branch.Update)] [Authorize(BaseServicePermissions.Branch.Update)]
public virtual async Task<BranchDto> UpdateAsync(Guid id, CreateOrUpdateBranchDto input) public virtual async Task<BranchDto> UpdateAsync(Guid id, CreateOrUpdateBranchDto input)
{ {
if (input.Pid == id) throw new BusinessException("机构上级不能为当前机构!"); if (input.Pid == id)
var branch = await _repository.FirstOrDefaultAsync(_ => _.Id == id); {
throw new BusinessException("机构上级不能为当前机构!");
}
var branch = await _repository.FirstOrDefaultAsync(_ => _.Id == id).ConfigureAwait(false);
if (branch.Pid != input.Pid) if (branch.Pid != input.Pid)
{ {
var parent = await _repository.FirstOrDefaultAsync(_ => _.Id == input.Pid); var parent = await _repository.FirstOrDefaultAsync(_ => _.Id == input.Pid).ConfigureAwait(false);
var orgs = await _repository.Where(_ => _.CascadeId.Contains(branch.CascadeId) && _.Id != branch.Id) var orgs = await _repository.Where(_ => _.CascadeId.Contains(branch.CascadeId) && _.Id != branch.Id)
.OrderBy(_ => _.CascadeId).ToListAsync(); .OrderBy(_ => _.CascadeId).ToListAsync().ConfigureAwait(false);
branch.Pid = input.Pid; branch.Pid = input.Pid;
ChangeOrganizationModel(branch, parent); ChangeOrganizationModel(branch, parent);
foreach (var org in orgs) foreach (var org in orgs)
@ -197,7 +202,7 @@ namespace BaseService.BaseData.BranchManagement
branch.Sort = input.Sort; branch.Sort = input.Sort;
branch.Enabled = input.Enabled; branch.Enabled = input.Enabled;
await _cache.SetAsync(id.ToString(), branch, CacheStrategyConst.FIVE_MINUTES); await _cache.SetAsync(id.ToString(), branch, CacheStrategyConst.FIVE_MINUTES).ConfigureAwait(false);
return ObjectMapper.Map<Branch, BranchDto>(branch); return ObjectMapper.Map<Branch, BranchDto>(branch);
} }
@ -207,7 +212,11 @@ namespace BaseService.BaseData.BranchManagement
var cascadeId = org.CascadeId == null ? 1 : int.Parse(org.CascadeId.TrimEnd('.').Split('.').Last()); var cascadeId = org.CascadeId == null ? 1 : int.Parse(org.CascadeId.TrimEnd('.').Split('.').Last());
if (checkLevel) if (checkLevel)
{ {
if (parent != null && parent.Leaf) parent.Leaf = false; if (parent != null && parent.Leaf)
{
parent.Leaf = false;
}
var lastLevel = _repository.Where(_ => _.Pid == org.Pid && _.Id != org.Id) var lastLevel = _repository.Where(_ => _.Pid == org.Pid && _.Id != org.Id)
.OrderByDescending(_ => _.CascadeId) .OrderByDescending(_ => _.CascadeId)
.FirstOrDefault(); .FirstOrDefault();
@ -216,7 +225,11 @@ namespace BaseService.BaseData.BranchManagement
if (org.Pid.HasValue) if (org.Pid.HasValue)
{ {
if (parent == null) throw new BusinessException("上级机构查询错误!"); if (parent == null)
{
throw new BusinessException("上级机构查询错误!");
}
org.CascadeId = parent.CascadeId + cascadeId + "."; org.CascadeId = parent.CascadeId + cascadeId + ".";
org.FullName = parent.FullName + "/" + org.Name; org.FullName = parent.FullName + "/" + org.Name;
} }
@ -228,7 +241,6 @@ namespace BaseService.BaseData.BranchManagement
} }
/// <summary> /// <summary>
/// 根据分支ID,查找中间表branch-role /// 根据分支ID,查找中间表branch-role
/// </summary> /// </summary>
@ -239,8 +251,8 @@ namespace BaseService.BaseData.BranchManagement
public virtual async Task<ListResultDto<BranchRoleDto>> GetRolesAsync(Guid branchId) public virtual async Task<ListResultDto<BranchRoleDto>> GetRolesAsync(Guid branchId)
{ {
var dtos = new List<BranchRoleDto>(); var dtos = new List<BranchRoleDto>();
var getRoleIds = await GetRolesByBranchIdAsync(branchId); var getRoleIds = await GetRolesByBranchIdAsync(branchId).ConfigureAwait(false);
var roles = await RoleRepository.GetListAsync(); var roles = await RoleRepository.GetListAsync().ConfigureAwait(false);
if (getRoleIds != null) if (getRoleIds != null)
{ {
foreach (var role in getRoleIds) foreach (var role in getRoleIds)
@ -253,11 +265,10 @@ namespace BaseService.BaseData.BranchManagement
protected virtual async Task<List<UserBranchRole>> GetRolesByBranchIdAsync(Guid branchId) protected virtual async Task<List<UserBranchRole>> GetRolesByBranchIdAsync(Guid branchId)
{ {
var userBranch = await _repositoryBranchRole.GetAsync(_ => _.BranchId == branchId); var userBranch = await _repositoryBranchRole.GetAsync(_ => _.BranchId == branchId).ConfigureAwait(false);
var roles = userBranch.Roles.ToList(); var roles = userBranch.Roles.ToList();
return roles; return roles;
} }
/// <summary> /// <summary>
/// 用于角色管理:分支和角色互动 /// 用于角色管理:分支和角色互动
@ -277,7 +288,7 @@ namespace BaseService.BaseData.BranchManagement
} }
else else
{ {
var list = await RoleRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount); var list = await RoleRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount).ConfigureAwait(false);
foreach (var roleid in getRoleIds) foreach (var roleid in getRoleIds)
{ {
var filterRole = list.FirstOrDefault(_ => _.Id == roleid.RoleId); var filterRole = list.FirstOrDefault(_ => _.Id == roleid.RoleId);

10
code/src/Modules/BaseService/BaseService.Application/UserManagement/TokenAppService.cs

@ -1,10 +1,10 @@
using IdentityModel.Client;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Net.Http; using System.Net.Http;
using System.Threading.Tasks; using System.Threading.Tasks;
using IdentityModel.Client;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Volo.Abp.Application.Services; using Volo.Abp.Application.Services;
namespace BaseService.UserManagement namespace BaseService.UserManagement
@ -52,4 +52,4 @@ namespace BaseService.UserManagement
public string Password { get; set; } public string Password { get; set; }
} }
} }
} }

69
code/src/Modules/BaseService/BaseService.Application/UserManagement/UserAppService.cs

@ -72,9 +72,9 @@ namespace BaseService.Systems.UserManagement
[Route("{id}")] [Route("{id}")]
public async Task<IdentityUserUpdateDto> GetAsync(Guid id) public async Task<IdentityUserUpdateDto> GetAsync(Guid id)
{ {
var user = await UserManager.GetByIdAsync(id); var user = await UserManager.GetByIdAsync(id).ConfigureAwait(false);
var dto = Mapper.Map<IdentityUserUpdateDto>(user); var dto = Mapper.Map<IdentityUserUpdateDto>(user);
dto.RoleNames = (await UserRepository.GetRoleNamesAsync(id)).ToArray(); dto.RoleNames = (await UserRepository.GetRoleNamesAsync(id).ConfigureAwait(false)).ToArray();
return dto; return dto;
} }
@ -88,7 +88,7 @@ namespace BaseService.Systems.UserManagement
public async Task<IdentityUserDto> GetCurrentUserAsync() public async Task<IdentityUserDto> GetCurrentUserAsync()
{ {
var id = CurrentUser.GetId(); var id = CurrentUser.GetId();
var currentUser = await UserManager.GetByIdAsync(id); var currentUser = await UserManager.GetByIdAsync(id).ConfigureAwait(false);
var dto = ObjectMapper.Map<IdentityUser, IdentityUserDto>(currentUser); var dto = ObjectMapper.Map<IdentityUser, IdentityUserDto>(currentUser);
return dto; return dto;
@ -107,12 +107,12 @@ namespace BaseService.Systems.UserManagement
input.MapExtraPropertiesTo(user); input.MapExtraPropertiesTo(user);
(await UserManager.CreateAsync(user, input.Password)).CheckErrors(); (await UserManager.CreateAsync(user, input.Password).ConfigureAwait(false)).CheckErrors();
await UpdateAsync(user, input); await UpdateAsync(user, input).ConfigureAwait(false);
var dto = ObjectMapper.Map<IdentityUser, IdentityUserDto>(user); var dto = ObjectMapper.Map<IdentityUser, IdentityUserDto>(user);
await CurrentUnitOfWork.SaveChangesAsync(); await CurrentUnitOfWork.SaveChangesAsync().ConfigureAwait(false);
return dto; return dto;
} }
@ -122,25 +122,25 @@ namespace BaseService.Systems.UserManagement
[Authorize(IdentityPermissions.Users.Update)] [Authorize(IdentityPermissions.Users.Update)]
public async Task<IdentityUserDto> UpdateAsync(Guid id, IdentityUserUpdateDto input) public async Task<IdentityUserDto> UpdateAsync(Guid id, IdentityUserUpdateDto input)
{ {
var user = await UserManager.GetByIdAsync(id); var user = await UserManager.GetByIdAsync(id).ConfigureAwait(false);
user.ConcurrencyStamp = input.ConcurrencyStamp; user.ConcurrencyStamp = input.ConcurrencyStamp;
(await UserManager.SetUserNameAsync(user, input.UserName)).CheckErrors(); (await UserManager.SetUserNameAsync(user, input.UserName).ConfigureAwait(false)).CheckErrors();
await UpdateAsync(user, input); await UpdateAsync(user, input).ConfigureAwait(false);
input.MapExtraPropertiesTo(user); input.MapExtraPropertiesTo(user);
(await UserManager.UpdateAsync(user)).CheckErrors(); (await UserManager.UpdateAsync(user).ConfigureAwait(false)).CheckErrors();
if (!input.Password.IsNullOrEmpty()) if (!input.Password.IsNullOrEmpty())
{ {
(await UserManager.RemovePasswordAsync(user)).CheckErrors(); (await UserManager.RemovePasswordAsync(user).ConfigureAwait(false)).CheckErrors();
(await UserManager.AddPasswordAsync(user, input.Password)).CheckErrors(); (await UserManager.AddPasswordAsync(user, input.Password).ConfigureAwait(false)).CheckErrors();
} }
var dto = ObjectMapper.Map<IdentityUser, IdentityUserDto>(user); var dto = ObjectMapper.Map<IdentityUser, IdentityUserDto>(user);
await CurrentUnitOfWork.SaveChangesAsync(); await CurrentUnitOfWork.SaveChangesAsync().ConfigureAwait(false);
return dto; return dto;
} }
@ -148,9 +148,9 @@ namespace BaseService.Systems.UserManagement
[HttpGet] [HttpGet]
public async Task<PagedResultDto<IdentityUserDto>> GetAll(GetIdentityUsersInput input) public async Task<PagedResultDto<IdentityUserDto>> GetAll(GetIdentityUsersInput input)
{ {
var totalCount = await UserRepository.GetCountAsync(input.Filter); var totalCount = await UserRepository.GetCountAsync(input.Filter).ConfigureAwait(false);
var items = await UserRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount, var items = await UserRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount,
input.Filter); input.Filter).ConfigureAwait(false);
var dtos = ObjectMapper.Map<List<IdentityUser>, List<IdentityUserDto>>(items); var dtos = ObjectMapper.Map<List<IdentityUser>, List<IdentityUserDto>>(items);
@ -163,24 +163,24 @@ namespace BaseService.Systems.UserManagement
{ {
if (!string.Equals(user.Email, input.Email, StringComparison.InvariantCultureIgnoreCase)) if (!string.Equals(user.Email, input.Email, StringComparison.InvariantCultureIgnoreCase))
{ {
(await UserManager.SetEmailAsync(user, input.Email)).CheckErrors(); (await UserManager.SetEmailAsync(user, input.Email).ConfigureAwait(false)).CheckErrors();
} }
if (!string.Equals(user.PhoneNumber, input.PhoneNumber, StringComparison.InvariantCultureIgnoreCase)) if (!string.Equals(user.PhoneNumber, input.PhoneNumber, StringComparison.InvariantCultureIgnoreCase))
{ {
(await UserManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors(); (await UserManager.SetPhoneNumberAsync(user, input.PhoneNumber).ConfigureAwait(false)).CheckErrors();
} }
//说明:从3.1升级到3.3后,去掉了TwoFactorEnabled属性 //说明:从3.1升级到3.3后,去掉了TwoFactorEnabled属性
//(await UserManager.SetTwoFactorEnabledAsync(user, input.TwoFactorEnabled)).CheckErrors(); //(await UserManager.SetTwoFactorEnabledAsync(user, input.TwoFactorEnabled)).CheckErrors();
(await UserManager.SetLockoutEnabledAsync(user, input.LockoutEnabled)).CheckErrors(); (await UserManager.SetLockoutEnabledAsync(user, input.LockoutEnabled).ConfigureAwait(false)).CheckErrors();
user.Name = input.Name; user.Name = input.Name;
user.Surname = input.Surname; user.Surname = input.Surname;
if (input.RoleNames != null) if (input.RoleNames != null)
{ {
(await UserManager.SetRolesAsync(user, input.RoleNames)).CheckErrors(); (await UserManager.SetRolesAsync(user, input.RoleNames).ConfigureAwait(false)).CheckErrors();
} }
} }
@ -195,7 +195,7 @@ namespace BaseService.Systems.UserManagement
{ {
var branchList = new List<BranchRoleDto>(); var branchList = new List<BranchRoleDto>();
//获取用户的所有分支 //获取用户的所有分支
var branchRoles = await GetUserBranchRolesAsync(CurrentUsers.GetId()); var branchRoles = await GetUserBranchRolesAsync(CurrentUsers.GetId()).ConfigureAwait(false);
var groupBranchRoles = branchRoles.GroupBy(x => x.BranchId) var groupBranchRoles = branchRoles.GroupBy(x => x.BranchId)
.Select(y => new { xx = new { BranchId = y.Key }, items = y }); .Select(y => new { xx = new { BranchId = y.Key }, items = y });
foreach (var group in groupBranchRoles foreach (var group in groupBranchRoles
@ -204,7 +204,7 @@ namespace BaseService.Systems.UserManagement
var mybranchrole = new BranchRoleDto var mybranchrole = new BranchRoleDto
{ {
BranchId = @group.xx.BranchId, BranchId = @group.xx.BranchId,
BranchName = (await _branchRepository.GetListAsync()) BranchName = (await _branchRepository.GetListAsync().ConfigureAwait(false))
.FirstOrDefault(_ => _.Id == @group.xx.BranchId)?.Name .FirstOrDefault(_ => _.Id == @group.xx.BranchId)?.Name
}; };
branchList.Add(mybranchrole); branchList.Add(mybranchrole);
@ -224,7 +224,7 @@ namespace BaseService.Systems.UserManagement
{ {
var branchList = new List<BranchRoleDto>(); var branchList = new List<BranchRoleDto>();
//获取用户的所有分支 //获取用户的所有分支
var branchRoles = await GetUserBranchRolesAsync(userId); var branchRoles = await GetUserBranchRolesAsync(userId).ConfigureAwait(false);
var groupBranchRoles = branchRoles.GroupBy(x => x.BranchId) var groupBranchRoles = branchRoles.GroupBy(x => x.BranchId)
.Select(y => new { xx = new { BranchId = y.Key }, items = y }); .Select(y => new { xx = new { BranchId = y.Key }, items = y });
foreach (var group in groupBranchRoles) foreach (var group in groupBranchRoles)
@ -232,7 +232,7 @@ namespace BaseService.Systems.UserManagement
var mybranchrole = new BranchRoleDto var mybranchrole = new BranchRoleDto
{ {
BranchId = @group.xx.BranchId, BranchId = @group.xx.BranchId,
BranchName = (await _branchRepository.GetListAsync()) BranchName = (await _branchRepository.GetListAsync().ConfigureAwait(false))
.FirstOrDefault(_ => _.Id == @group.xx.BranchId) .FirstOrDefault(_ => _.Id == @group.xx.BranchId)
.Name .Name
}; };
@ -252,12 +252,12 @@ namespace BaseService.Systems.UserManagement
{ {
// var userRoleNames = (await AppService.GetRolesAsync(id)).Items.Select(r => r.Name).ToList(); // var userRoleNames = (await AppService.GetRolesAsync(id)).Items.Select(r => r.Name).ToList();
var listPermiss = new List<PermissionGrant>(); var listPermiss = new List<PermissionGrant>();
var listRolesName = await UserRepository.GetRoleNamesAsync(userId); var listRolesName = await UserRepository.GetRoleNamesAsync(userId).ConfigureAwait(false);
if (listRolesName != null) if (listRolesName != null)
{ {
foreach (var rolename in listRolesName) foreach (var rolename in listRolesName)
{ {
var permissionGrantsInRole = await PermissionGrantRepository.GetListAsync(RolePermissionValueProvider.ProviderName, rolename); var permissionGrantsInRole = await PermissionGrantRepository.GetListAsync(RolePermissionValueProvider.ProviderName, rolename).ConfigureAwait(false);
if (permissionGrantsInRole != null) if (permissionGrantsInRole != null)
{ {
foreach (var permiss in permissionGrantsInRole) foreach (var permiss in permissionGrantsInRole)
@ -279,7 +279,7 @@ namespace BaseService.Systems.UserManagement
{ {
var branchList = new List<BranchRole>(); var branchList = new List<BranchRole>();
//获取当前用户的所有角色 //获取当前用户的所有角色
var userRoles = await UserRepository.GetRolesAsync(userId); var userRoles = await UserRepository.GetRolesAsync(userId).ConfigureAwait(false);
if (userRoles == null) if (userRoles == null)
{ {
throw new BusinessException("当前登录用户没有任何角色信息,请找管理员进行维护!"); throw new BusinessException("当前登录用户没有任何角色信息,请找管理员进行维护!");
@ -287,7 +287,7 @@ namespace BaseService.Systems.UserManagement
else else
{ {
//获取所有分支-角色的信息 //获取所有分支-角色的信息
var allBranchRoles = await _branchRoleRepository.GetListAsync(); var allBranchRoles = await _branchRoleRepository.GetListAsync().ConfigureAwait(false);
if (allBranchRoles != null) if (allBranchRoles != null)
{ {
foreach (var role in userRoles) foreach (var role in userRoles)
@ -296,7 +296,10 @@ namespace BaseService.Systems.UserManagement
foreach (var branch in branchRoles) foreach (var branch in branchRoles)
{ {
if (branch == null) if (branch == null)
{
continue; //该用户没有角色-分支信息 continue; //该用户没有角色-分支信息
}
var branchRole = new BranchRole(branch.BranchId, role.Id); var branchRole = new BranchRole(branch.BranchId, role.Id);
branchList.Add(branchRole); branchList.Add(branchRole);
} }
@ -322,7 +325,7 @@ namespace BaseService.Systems.UserManagement
public async Task<ApplicationAuthes> GetAuthConfigAsync(Guid branchId) public async Task<ApplicationAuthes> GetAuthConfigAsync(Guid branchId)
{ {
var authConfig = new ApplicationAuthes(); var authConfig = new ApplicationAuthes();
var policyNames = await _abpAuthorizationPolicyProvider.GetPoliciesNamesAsync(); var policyNames = await _abpAuthorizationPolicyProvider.GetPoliciesNamesAsync().ConfigureAwait(false);
foreach (var policyName in policyNames) foreach (var policyName in policyNames)
{ {
authConfig.Policies[policyName] = true; authConfig.Policies[policyName] = true;
@ -335,9 +338,9 @@ namespace BaseService.Systems.UserManagement
var userId = CurrentUsers.GetId(); var userId = CurrentUsers.GetId();
//获取当前用户的所有权限信息 //获取当前用户的所有权限信息
var getUserPermissions = await GetUserGrantedPermissionsAsync(userId); var getUserPermissions = await GetUserGrantedPermissionsAsync(userId).ConfigureAwait(false);
//获取当前用户的所有分支 //获取当前用户的所有分支
var gerUserBranches = await GetUserBranchRolesAsync(userId); var gerUserBranches = await GetUserBranchRolesAsync(userId).ConfigureAwait(false);
if (gerUserBranches == null) if (gerUserBranches == null)
{ {
throw new BusinessException("当前登录用户没有任何分支信息,请找管理员进行维护!"); throw new BusinessException("当前登录用户没有任何分支信息,请找管理员进行维护!");
@ -395,13 +398,13 @@ namespace BaseService.Systems.UserManagement
[Authorize(IdentityPermissions.Users.Update)] [Authorize(IdentityPermissions.Users.Update)]
public async Task<IdentityUserDto> ResetPasswordAsync(Guid userId) public async Task<IdentityUserDto> ResetPasswordAsync(Guid userId)
{ {
var user = await UserManager.FindByIdAsync(userId.ToString()); var user = await UserManager.FindByIdAsync(userId.ToString()).ConfigureAwait(false);
//string token = await UserManager.GeneratePasswordResetTokenAsync(user);//err:No IUserTwoFactorTokenProvider<TUser> named 'Default' is registered. //string token = await UserManager.GeneratePasswordResetTokenAsync(user);//err:No IUserTwoFactorTokenProvider<TUser> named 'Default' is registered.
//await UserManager.ResetPasswordAsync(user, token, "1q2w3E*"); //await UserManager.ResetPasswordAsync(user, token, "1q2w3E*");
await UserManager.RemovePasswordAsync(user); await UserManager.RemovePasswordAsync(user).ConfigureAwait(false);
if (user.PasswordHash == null) if (user.PasswordHash == null)
{ {
(await UserManager.AddPasswordAsync(user, "123456")).CheckErrors(); (await UserManager.AddPasswordAsync(user, "123456").ConfigureAwait(false)).CheckErrors();
} }
var dto = ObjectMapper.Map<IdentityUser, IdentityUserDto>(user); var dto = ObjectMapper.Map<IdentityUser, IdentityUserDto>(user);

66
code/src/Modules/BaseService/BaseService.Application/UserManagement/UserBranchAppService.cs

@ -8,7 +8,6 @@ using BaseService.BaseData.Permissions.Dto;
using BaseService.BaseData.UserBranchRoleManagement; using BaseService.BaseData.UserBranchRoleManagement;
using BaseService.BaseData.UserBranchRoleManagement.Dto; using BaseService.BaseData.UserBranchRoleManagement.Dto;
using BaseService.Permissions; using BaseService.Permissions;
using BaseService.RelationData.Dto;
using BaseService.Systems.UserManagement; using BaseService.Systems.UserManagement;
using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -79,7 +78,7 @@ namespace BaseService.UserManagement
//[Authorize(BaseServicePermissions.UserBranch.Create)] //[Authorize(BaseServicePermissions.UserBranch.Create)]
public virtual async Task CreateUpdateAsync(CreateOrUpdateUserBranchDto input) public virtual async Task CreateUpdateAsync(CreateOrUpdateUserBranchDto input)
{ {
var userBranch = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId && _.BranchId == input.BranchId); var userBranch = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId && _.BranchId == input.BranchId).ConfigureAwait(false);
if (userBranch == null) if (userBranch == null)
{ {
//执行添加操作 //执行添加操作
@ -93,7 +92,7 @@ namespace BaseService.UserManagement
{ {
createUserBranch.AddRole(role.RoleId); createUserBranch.AddRole(role.RoleId);
} }
await _repository.InsertAsync(createUserBranch); await _repository.InsertAsync(createUserBranch).ConfigureAwait(false);
ObjectMapper.Map<UserBranch, UserBranchDto>(createUserBranch); ObjectMapper.Map<UserBranch, UserBranchDto>(createUserBranch);
} }
else else
@ -121,17 +120,16 @@ namespace BaseService.UserManagement
} }
if (input.Roles == null || input.Roles.Count == 0) if (input.Roles == null || input.Roles.Count == 0)
{ {
await _repository.UpdateAsync(userBranch); await _repository.UpdateAsync(userBranch).ConfigureAwait(false);
} }
else else
{ {
await _repository.UpdateAsync(userBranch, true); await _repository.UpdateAsync(userBranch, true).ConfigureAwait(false);
} }
ObjectMapper.Map<UserBranch, UserBranchDto>(userBranch); ObjectMapper.Map<UserBranch, UserBranchDto>(userBranch);
} }
} }
//public virtual async Task<UserBranchDto> CreateAsync(CreateOrUpdateUserBranchDto input) //public virtual async Task<UserBranchDto> CreateAsync(CreateOrUpdateUserBranchDto input)
//{ //{
// var exist = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId && _.BranchId == input.BranchId); // var exist = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId && _.BranchId == input.BranchId);
@ -162,7 +160,7 @@ namespace BaseService.UserManagement
[Authorize(BaseServicePermissions.UserBranch.Delete)] [Authorize(BaseServicePermissions.UserBranch.Delete)]
public virtual async Task DeleteUnitAsync(Guid userId, Guid branchId) public virtual async Task DeleteUnitAsync(Guid userId, Guid branchId)
{ {
await _repository.DeleteAsync(p => p.UserId == userId && p.BranchId == branchId); await _repository.DeleteAsync(p => p.UserId == userId && p.BranchId == branchId).ConfigureAwait(false);
} }
/// <summary> /// <summary>
@ -175,10 +173,9 @@ namespace BaseService.UserManagement
[Authorize(BaseServicePermissions.UserBranch.Delete)] [Authorize(BaseServicePermissions.UserBranch.Delete)]
public virtual async Task DeleteUnitAsync(Guid userId) public virtual async Task DeleteUnitAsync(Guid userId)
{ {
await _repository.DeleteAsync(p => p.UserId == userId); await _repository.DeleteAsync(p => p.UserId == userId).ConfigureAwait(false);
} }
/// <summary> /// <summary>
/// 批量删除 /// 批量删除
/// </summary> /// </summary>
@ -191,7 +188,7 @@ namespace BaseService.UserManagement
{ {
foreach (var id in ids) foreach (var id in ids)
{ {
await _repository.DeleteAsync(_ => _.Id == id); await _repository.DeleteAsync(_ => _.Id == id).ConfigureAwait(false);
} }
} }
@ -206,7 +203,7 @@ namespace BaseService.UserManagement
[Authorize(BaseServicePermissions.UserBranch.Update)] [Authorize(BaseServicePermissions.UserBranch.Update)]
public virtual async Task<UserBranchDto> UpdateAsync(Guid id, CreateOrUpdateUserBranchDto input) public virtual async Task<UserBranchDto> UpdateAsync(Guid id, CreateOrUpdateUserBranchDto input)
{ {
var userBranch = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId && _.BranchId == input.BranchId); var userBranch = await _repository.FirstOrDefaultAsync(_ => _.UserId == input.UserId && _.BranchId == input.BranchId).ConfigureAwait(false);
userBranch.UserId = input.UserId; userBranch.UserId = input.UserId;
userBranch.BranchId = input.BranchId; userBranch.BranchId = input.BranchId;
//修改角色信息 //修改角色信息
@ -229,8 +226,6 @@ namespace BaseService.UserManagement
return ObjectMapper.Map<UserBranch, UserBranchDto>(userBranch); return ObjectMapper.Map<UserBranch, UserBranchDto>(userBranch);
} }
/// <summary> /// <summary>
/// 查单条数据 /// 查单条数据
/// </summary> /// </summary>
@ -240,7 +235,7 @@ namespace BaseService.UserManagement
[Route("{id}")] [Route("{id}")]
public virtual async Task<UserBranchDto> GetAsync(Guid id) public virtual async Task<UserBranchDto> GetAsync(Guid id)
{ {
var result = await _repository.GetAsync(id); var result = await _repository.GetAsync(id).ConfigureAwait(false);
return ObjectMapper.Map<UserBranch, UserBranchDto>(result); return ObjectMapper.Map<UserBranch, UserBranchDto>(result);
} }
@ -258,8 +253,8 @@ namespace BaseService.UserManagement
var items = await query var items = await query
.Skip(input.SkipCount) .Skip(input.SkipCount)
.Take(input.MaxResultCount) .Take(input.MaxResultCount)
.ToListAsync(); .ToListAsync().ConfigureAwait(false);
var totalCount = await query.CountAsync(); var totalCount = await query.CountAsync().ConfigureAwait(false);
var dtos = ObjectMapper.Map<List<UserBranch>, List<UserBranchDto>>(items); var dtos = ObjectMapper.Map<List<UserBranch>, List<UserBranchDto>>(items);
return new PagedResultDto<UserBranchDto>(totalCount, dtos); return new PagedResultDto<UserBranchDto>(totalCount, dtos);
@ -276,16 +271,16 @@ namespace BaseService.UserManagement
public virtual async Task<List<UserBranchDto>> GetUserBranchsAsync(Guid userId) public virtual async Task<List<UserBranchDto>> GetUserBranchsAsync(Guid userId)
{ {
var dtos = new List<UserBranchDto>(); var dtos = new List<UserBranchDto>();
await GetBranchList(userId, dtos); await GetBranchList(userId, dtos).ConfigureAwait(false);
return dtos; return dtos;
} }
private async Task GetBranchList(Guid userId, List<UserBranchDto> dtos) private async Task GetBranchList(Guid userId, List<UserBranchDto> dtos)
{ {
var userBranches = _repository.Where(_ => _.UserId == userId); var userBranches = _repository.Where(_ => _.UserId == userId);
foreach (var query in userBranches) foreach (var query in userBranches)
{ {
var branch = await _branchAppService.GetAsync(query.BranchId); var branch = await _branchAppService.GetAsync(query.BranchId).ConfigureAwait(false);
dtos.Add(new UserBranchDto() dtos.Add(new UserBranchDto()
{ {
BranchId = query.BranchId, BranchId = query.BranchId,
@ -294,7 +289,6 @@ namespace BaseService.UserManagement
} }
} }
/// <summary> /// <summary>
/// 分支列表(当前登录用户) /// 分支列表(当前登录用户)
/// </summary> /// </summary>
@ -305,7 +299,7 @@ namespace BaseService.UserManagement
public virtual async Task<List<UserBranchDto>> GetCurrentUserBranchesAsync() public virtual async Task<List<UserBranchDto>> GetCurrentUserBranchesAsync()
{ {
var dtos = new List<UserBranchDto>(); var dtos = new List<UserBranchDto>();
await GetBranchList(CurrentUser.GetId(), dtos); await GetBranchList(CurrentUser.GetId(), dtos).ConfigureAwait(false);
return dtos; return dtos;
} }
@ -324,12 +318,11 @@ namespace BaseService.UserManagement
{ {
throw new BusinessException("当前登录用户不存在!"); throw new BusinessException("当前登录用户不存在!");
} }
var branch = await _branchAppService.GetAsync(userBranche.BranchId); var branch = await _branchAppService.GetAsync(userBranche.BranchId).ConfigureAwait(false);
dto.BranchId = branch.Id; dto.BranchId = branch.Id;
return dto; return dto;
} }
/// <summary> /// <summary>
/// 获取当前登录用户所在组织的所有权限信息 /// 获取当前登录用户所在组织的所有权限信息
/// </summary> /// </summary>
@ -341,7 +334,7 @@ namespace BaseService.UserManagement
public virtual async Task<ApplicationAuthes> GetAuthConfigAsync(Guid branchId) public virtual async Task<ApplicationAuthes> GetAuthConfigAsync(Guid branchId)
{ {
var authConfig = new ApplicationAuthes(); var authConfig = new ApplicationAuthes();
var policyNames = await _abpAuthorizationPolicyProvider.GetPoliciesNamesAsync(); var policyNames = await _abpAuthorizationPolicyProvider.GetPoliciesNamesAsync().ConfigureAwait(false);
foreach (var policyName in policyNames) foreach (var policyName in policyNames)
{ {
authConfig.Policies[policyName] = true; authConfig.Policies[policyName] = true;
@ -349,13 +342,13 @@ namespace BaseService.UserManagement
var userId = CurrentUser.GetId(); var userId = CurrentUser.GetId();
//获取当前用户的所有权限信息 //获取当前用户的所有权限信息
var grantedPermuissions = await GetUserGrantedPermissionsAsync(userId, branchId); var grantedPermuissions = await GetUserGrantedPermissionsAsync(userId, branchId).ConfigureAwait(false);
if (grantedPermuissions == null || grantedPermuissions.Count == 0) if (grantedPermuissions == null || grantedPermuissions.Count == 0)
{ {
throw new BusinessException("当前登录用户没有任何权限信息,请找管理员进行维护!"); throw new BusinessException("当前登录用户没有任何权限信息,请找管理员进行维护!");
} }
//获取当前用户所在组织的所有角色名 //获取当前用户所在组织的所有角色名
var userRoleName = await GetUserRoleNamesAsync(userId, branchId); var userRoleName = await GetUserRoleNamesAsync(userId, branchId).ConfigureAwait(false);
if (userRoleName == null) if (userRoleName == null)
{ {
throw new BusinessException("当前登录用户没有任何组织信息,请找管理员进行维护!"); throw new BusinessException("当前登录用户没有任何组织信息,请找管理员进行维护!");
@ -368,7 +361,10 @@ namespace BaseService.UserManagement
{ {
//GrantedPolicies的key键不能相同 //GrantedPolicies的key键不能相同
if (authConfig.GrantedPolicies.ContainsKey(permission.Name)) if (authConfig.GrantedPolicies.ContainsKey(permission.Name))
{
continue; continue;
}
authConfig.GrantedPolicies.Add(permission.Name, true); authConfig.GrantedPolicies.Add(permission.Name, true);
} }
} }
@ -380,15 +376,15 @@ namespace BaseService.UserManagement
/// </summary> /// </summary>
/// <param name="userId"></param> /// <param name="userId"></param>
/// <returns></returns> /// <returns></returns>
protected virtual async Task<List<PermissionGrant>> GetUserGrantedPermissionsAsync(Guid userId,Guid branchId) protected virtual async Task<List<PermissionGrant>> GetUserGrantedPermissionsAsync(Guid userId, Guid branchId)
{ {
var permissionGrants = new List<PermissionGrant>(); var permissionGrants = new List<PermissionGrant>();
var listRolesName = await GetUserRoleNamesAsync(userId, branchId); var listRolesName = await GetUserRoleNamesAsync(userId, branchId).ConfigureAwait(false);
if (listRolesName != null) if (listRolesName != null)
{ {
foreach (var rolename in listRolesName) foreach (var rolename in listRolesName)
{ {
var permissionGrantsInRole = await PermissionGrantRepository.GetListAsync(RolePermissionValueProvider.ProviderName, rolename); var permissionGrantsInRole = await PermissionGrantRepository.GetListAsync(RolePermissionValueProvider.ProviderName, rolename).ConfigureAwait(false);
if (permissionGrantsInRole != null) if (permissionGrantsInRole != null)
{ {
foreach (var permiss in permissionGrantsInRole) foreach (var permiss in permissionGrantsInRole)
@ -408,10 +404,10 @@ namespace BaseService.UserManagement
/// <returns></returns> /// <returns></returns>
protected virtual async Task<List<string>> GetUserRoleNamesAsync(Guid userId, Guid branchId) protected virtual async Task<List<string>> GetUserRoleNamesAsync(Guid userId, Guid branchId)
{ {
var userBranch = await _repository.GetAsync(_ => _.UserId == userId && _.BranchId == branchId); var userBranch = await _repository.GetAsync(_ => _.UserId == userId && _.BranchId == branchId).ConfigureAwait(false);
var userRoles = userBranch.Roles.ToList(); var userRoles = userBranch.Roles.ToList();
//var userRoles = await GetUserRolesAsync(userId, branchId); //var userRoles = await GetUserRolesAsync(userId, branchId);
var roles = await IdentityRoleRepository.GetListAsync(); var roles = await IdentityRoleRepository.GetListAsync().ConfigureAwait(false);
return userRoles.Select(role => roles.FirstOrDefault(p => p.Id == role.RoleId)?.Name) return userRoles.Select(role => roles.FirstOrDefault(p => p.Id == role.RoleId)?.Name)
.Where(roleName => !string.IsNullOrWhiteSpace(roleName)).ToList(); .Where(roleName => !string.IsNullOrWhiteSpace(roleName)).ToList();
} }
@ -423,15 +419,15 @@ namespace BaseService.UserManagement
/// <returns></returns> /// <returns></returns>
[HttpGet] [HttpGet]
[Route("userRoles/{userId}/{branchId}")] [Route("userRoles/{userId}/{branchId}")]
public virtual async Task<List<UserBranchRole>> GetUserRolesAsync(Guid userId,Guid branchId) public virtual async Task<List<UserBranchRole>> GetUserRolesAsync(Guid userId, Guid branchId)
{ {
var roleList = new List<UserBranchRole>(); var roleList = new List<UserBranchRole>();
var isInRole = _repository.FirstOrDefault(_ => _.UserId == userId && _.BranchId == branchId); var isInRole = _repository.FirstOrDefault(_ => _.UserId == userId && _.BranchId == branchId);
if (isInRole != null) if (isInRole != null)
{ {
var userBranch = await _repository.GetAsync(_ => _.UserId == userId && _.BranchId == branchId); var userBranch = await _repository.GetAsync(_ => _.UserId == userId && _.BranchId == branchId).ConfigureAwait(false);
var roles = userBranch.Roles.ToList(); var roles = userBranch.Roles.ToList();
foreach(var role in roles) foreach (var role in roles)
{ {
roleList.Add(new UserBranchRole() { RoleId = role.RoleId }); roleList.Add(new UserBranchRole() { RoleId = role.RoleId });
} }
@ -500,4 +496,4 @@ namespace BaseService.UserManagement
} }
} }
} }

5
code/src/Modules/BaseService/BaseService.Domain/BaseData/Branch.cs

@ -1,12 +1,11 @@
using BaseService.RelationBaseData;
using JetBrains.Annotations;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.Linq; using System.Linq;
using BaseService.RelationBaseData;
using JetBrains.Annotations;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace BaseService.BaseData namespace BaseService.BaseData
{ {

8
code/src/Modules/BaseService/BaseService.Domain/BaseData/UserBranch.cs

@ -1,14 +1,9 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.ObjectModel; using System.Collections.ObjectModel;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq; using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace BaseService.BaseData namespace BaseService.BaseData
{ {
@ -48,7 +43,6 @@ namespace BaseService.BaseData
public virtual ICollection<UserBranchRole> Roles { get; set; } public virtual ICollection<UserBranchRole> Roles { get; set; }
public UserBranch(Guid id, Guid userId, Guid branchId) : base(id) public UserBranch(Guid id, Guid userId, Guid branchId) : base(id)
{ {
UserId = userId; UserId = userId;

11
code/src/Modules/BaseService/BaseService.Domain/BaseData/UserBranchRole.cs

@ -1,13 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
using Volo.Abp;
using Volo.Abp.Domain.Entities;
using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.Domain.Values; using Volo.Abp.Domain.Values;
using Volo.Abp.Identity;
using Volo.Abp.MultiTenancy;
namespace BaseService.BaseData namespace BaseService.BaseData
{ {
@ -21,8 +14,6 @@ namespace BaseService.BaseData
/// </summary> /// </summary>
public Guid RoleId { get; set; } public Guid RoleId { get; set; }
public UserBranchRole() public UserBranchRole()
{ {

2
code/src/Modules/BaseService/BaseService.Domain/BaseServiceConsts.cs

@ -1,4 +1,4 @@
namespace BaseService namespace BaseService
{ {
public static class BaseServiceConsts public static class BaseServiceConsts
{ {

2
code/src/Modules/BaseService/BaseService.Domain/BaseServiceDomainModule.cs

@ -1,4 +1,4 @@
using BaseService.Localization; using BaseService.Localization;
using Volo.Abp.Localization; using Volo.Abp.Localization;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;
using Volo.Abp.PermissionManagement.Identity; using Volo.Abp.PermissionManagement.Identity;

2
code/src/Modules/BaseService/BaseService.Domain/BaseServiceModuleExtensionConfigurator.cs

@ -1,4 +1,4 @@
using Volo.Abp.Threading; using Volo.Abp.Threading;
namespace BaseService namespace BaseService
{ {

2
code/src/Modules/BaseService/BaseService.Domain/Localization/BaseServiceResource.cs

@ -1,4 +1,4 @@
using Volo.Abp.Localization; using Volo.Abp.Localization;
namespace BaseService.Localization namespace BaseService.Localization
{ {

10
code/src/Modules/BaseService/BaseService.Domain/RelationBaseData/BranchRole.cs

@ -1,15 +1,11 @@
using System; using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.MultiTenancy;
namespace BaseService.RelationBaseData namespace BaseService.RelationBaseData
{ {
public class BranchRole : CreationAuditedEntity public class BranchRole : CreationAuditedEntity
{ {
/// <summary> /// <summary>
/// Id of the Role. /// Id of the Role.
/// </summary> /// </summary>
@ -31,7 +27,7 @@ namespace BaseService.RelationBaseData
/// <summary> /// <summary>
/// Initializes a new instance of the BranchRole/> class. /// Initializes a new instance of the BranchRole/> class.
/// </summary> /// </summary>
/// <param name="roleId">Id of the Role.</param> /// <param name="roleId">Id of the Role.</param>
/// <param name="branchId">Id of the Branch/>.</param> /// <param name="branchId">Id of the Branch/>.</param>
public BranchRole(Guid roleId, Guid branchId) public BranchRole(Guid roleId, Guid branchId)

3
code/src/Modules/BaseService/BaseService.Domain/Users/AppUser.cs

@ -1,4 +1,4 @@
using System; using System;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
using Volo.Abp.Users; using Volo.Abp.Users;
@ -32,7 +32,6 @@ namespace BaseService.Users
#endregion #endregion
//public Guid BranchId { get; set; } //public Guid BranchId { get; set; }
//public bool Enable { get; set; } //public bool Enable { get; set; }

8
code/src/Modules/BaseService/BaseService.EntityFrameworkCore/EntityFrameworkCore/BaseDbContextModelCreatingExtensions.cs

@ -1,4 +1,4 @@

using BaseService.BaseData; using BaseService.BaseData;
using BaseService.RelationBaseData; using BaseService.RelationBaseData;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
@ -26,7 +26,6 @@ namespace BaseService.EntityFrameworkCore
b.HasIndex(q => q.Pid); b.HasIndex(q => q.Pid);
}); });
builder.Entity<UserBranch>(b => builder.Entity<UserBranch>(b =>
{ {
b.ToTable("base_user_branches"); b.ToTable("base_user_branches");
@ -34,9 +33,6 @@ namespace BaseService.EntityFrameworkCore
b.OwnsMany(p => p.Roles).ToTable("base_user_branch_role"); b.OwnsMany(p => p.Roles).ToTable("base_user_branch_role");
}); });
//分支-角色 //分支-角色
builder.Entity<BranchRole>(b => builder.Entity<BranchRole>(b =>
{ {
@ -44,7 +40,7 @@ namespace BaseService.EntityFrameworkCore
b.ConfigureByConvention(); b.ConfigureByConvention();
b.HasKey(ou => new { ou.BranchId, ou.RoleId }); b.HasKey(ou => new { ou.BranchId, ou.RoleId });
//b.HasOne<Volo.Abp.Identity.IdentityRole>().WithMany().HasForeignKey(ou => ou.RoleId).IsRequired(); //b.HasOne<Volo.Abp.Identity.IdentityRole>().WithMany().HasForeignKey(ou => ou.RoleId).IsRequired();
}); });

6
code/src/Modules/BaseService/BaseService.EntityFrameworkCore/EntityFrameworkCore/BaseEfCoreEntityExtensionMappings.cs

@ -1,15 +1,9 @@
using Microsoft.EntityFrameworkCore;
using System;
using Volo.Abp.Identity;
using Volo.Abp.ObjectExtending;
using Volo.Abp.Threading; using Volo.Abp.Threading;
namespace BaseService.EntityFrameworkCore namespace BaseService.EntityFrameworkCore
{ {
public class BaseEfCoreEntityExtensionMappings public class BaseEfCoreEntityExtensionMappings
{ {
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner();
public static void Configure() public static void Configure()
{ {
BaseServiceModuleExtensionConfigurator.Configure(); BaseServiceModuleExtensionConfigurator.Configure();

7
code/src/Modules/BaseService/BaseService.EntityFrameworkCore/EntityFrameworkCore/BaseServiceDbContext.cs

@ -1,13 +1,9 @@

using BaseService.BaseData; using BaseService.BaseData;
using BaseService.RelationBaseData; using BaseService.RelationBaseData;
using BaseService.Users;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.Modeling;
using Volo.Abp.Identity;
using Volo.Abp.Users.EntityFrameworkCore;
namespace BaseService.EntityFrameworkCore namespace BaseService.EntityFrameworkCore
{ {
@ -42,7 +38,6 @@ namespace BaseService.EntityFrameworkCore
{ {
base.OnModelCreating(builder); base.OnModelCreating(builder);
//builder.Entity<AppUser>(b => //builder.Entity<AppUser>(b =>
//{ //{
// b.ToTable(AbpIdentityDbProperties.DbTablePrefix + "Users"); //Sharing the same table "AbpUsers" with the IdentityUser // b.ToTable(AbpIdentityDbProperties.DbTablePrefix + "Users"); //Sharing the same table "AbpUsers" with the IdentityUser

2
code/src/Modules/BaseService/BaseService.EntityFrameworkCore/EntityFrameworkCore/BaseServiceEntityFrameworkCoreModule.cs

@ -1,4 +1,4 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore.SqlServer; using Volo.Abp.EntityFrameworkCore.SqlServer;
using Volo.Abp.Identity.EntityFrameworkCore; using Volo.Abp.Identity.EntityFrameworkCore;

2
code/src/Modules/BaseService/BaseService.EntityFrameworkCore/Migrations/20230822033456_202308220001.cs

@ -1,4 +1,4 @@
using System; using System;
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
namespace BaseService.Migrations namespace BaseService.Migrations

2
code/src/Modules/BaseService/BaseService.EntityFrameworkCore/Migrations/20230822034321_2023082200001.cs

@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Migrations;
namespace BaseService.Migrations namespace BaseService.Migrations
{ {

2
code/src/Modules/BaseService/BaseService.HttpApi/BaseData/OrganizationController.cs

@ -1 +1 @@


2
code/src/Modules/BaseService/BaseService.HttpApi/BaseData/UserBranchRoleController.cs

@ -1,4 +1,4 @@
//using BaseService.Controllers; //using BaseService.Controllers;
//using Microsoft.AspNetCore.Mvc; //using Microsoft.AspNetCore.Mvc;
//using System; //using System;
//using System.Collections.Generic; //using System.Collections.Generic;

2
code/src/Modules/BaseService/BaseService.HttpApi/BaseServiceHttpApiModule.cs

@ -1,4 +1,4 @@
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Modularity; using Volo.Abp.Modularity;

2
code/src/Modules/BaseService/BaseService.HttpApi/Controllers/BaseServiceController.cs

@ -1,4 +1,4 @@
using BaseService.Localization; using BaseService.Localization;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
namespace BaseService.Controllers namespace BaseService.Controllers

2
code/src/Modules/BaseService/BaseService.HttpApi/Systems/UserController.cs

@ -1,4 +1,4 @@
//using BaseService.Controllers; //using BaseService.Controllers;
//using BaseService.Systems.UserManagement; //using BaseService.Systems.UserManagement;
//using Microsoft.AspNetCore.Mvc; //using Microsoft.AspNetCore.Mvc;
//using System; //using System;

5
code/src/Modules/SettleAccount/common.props

@ -5,9 +5,4 @@
<NoWarn>$(NoWarn);CS1591;CS0436</NoWarn> <NoWarn>$(NoWarn);CS1591;CS0436</NoWarn>
<AbpProjectType>module</AbpProjectType> <AbpProjectType>module</AbpProjectType>
</PropertyGroup> </PropertyGroup>
<ItemGroup>
<PackageReference Include="SourceLink.Create.CommandLine" Version="2.8.3" PrivateAssets="All" />
</ItemGroup>
</Project> </Project>

69
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/AuthServer/AuthServerDataSeeder.cs

@ -1,7 +1,6 @@
using IdentityServer4.Models; using System.Collections.Generic;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using IdentityServer4.Models;
using Volo.Abp.Authorization.Permissions; using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
@ -47,22 +46,22 @@ namespace AuthServer.Host
[UnitOfWork] [UnitOfWork]
public virtual async Task SeedAsync(DataSeedContext context) public virtual async Task SeedAsync(DataSeedContext context)
{ {
await _identityResourceDataSeeder.CreateStandardResourcesAsync(); await _identityResourceDataSeeder.CreateStandardResourcesAsync().ConfigureAwait(false);
await CreateApiResourcesAsync(); await CreateApiResourcesAsync().ConfigureAwait(false);
await CreateApiScopesAsync(); await CreateApiScopesAsync().ConfigureAwait(false);
await CreateClientsAsync(); await CreateClientsAsync().ConfigureAwait(false);
} }
private async Task CreateApiScopesAsync() private async Task CreateApiScopesAsync()
{ {
await CreateApiScopeAsync("BaseService"); await CreateApiScopeAsync("BaseService").ConfigureAwait(false);
await CreateApiScopeAsync("InternalGateway"); await CreateApiScopeAsync("InternalGateway").ConfigureAwait(false);
await CreateApiScopeAsync("WebAppGateway"); await CreateApiScopeAsync("WebAppGateway").ConfigureAwait(false);
await CreateApiScopeAsync("TenantService"); await CreateApiScopeAsync("TenantService").ConfigureAwait(false);
await CreateApiScopeAsync("BusinessService"); await CreateApiScopeAsync("BusinessService").ConfigureAwait(false);
await CreateApiScopeAsync("FileStorageService"); await CreateApiScopeAsync("FileStorageService").ConfigureAwait(false);
await CreateApiScopeAsync("IdentityService"); await CreateApiScopeAsync("IdentityService").ConfigureAwait(false);
await CreateApiScopeAsync("SettleAccount"); await CreateApiScopeAsync("SettleAccount").ConfigureAwait(false);
} }
private async Task CreateApiResourcesAsync() private async Task CreateApiResourcesAsync()
@ -77,19 +76,19 @@ namespace AuthServer.Host
"phone_number_verified", "phone_number_verified",
"role" "role"
}; };
await CreateApiResourceAsync("IdentityService", commonApiUserClaims); await CreateApiResourceAsync("IdentityService", commonApiUserClaims).ConfigureAwait(false);
await CreateApiResourceAsync("BaseService", commonApiUserClaims); await CreateApiResourceAsync("BaseService", commonApiUserClaims).ConfigureAwait(false);
await CreateApiResourceAsync("InternalGateway", commonApiUserClaims); await CreateApiResourceAsync("InternalGateway", commonApiUserClaims).ConfigureAwait(false);
await CreateApiResourceAsync("WebAppGateway", commonApiUserClaims); await CreateApiResourceAsync("WebAppGateway", commonApiUserClaims).ConfigureAwait(false);
await CreateApiResourceAsync("TenantService", commonApiUserClaims); await CreateApiResourceAsync("TenantService", commonApiUserClaims).ConfigureAwait(false);
await CreateApiResourceAsync("BusinessService", commonApiUserClaims); await CreateApiResourceAsync("BusinessService", commonApiUserClaims).ConfigureAwait(false);
await CreateApiResourceAsync("FileStorageService", commonApiUserClaims); await CreateApiResourceAsync("FileStorageService", commonApiUserClaims).ConfigureAwait(false);
await CreateApiResourceAsync("SettleAccount", commonApiUserClaims); await CreateApiResourceAsync("SettleAccount", commonApiUserClaims).ConfigureAwait(false);
} }
private async Task<ApiResource> CreateApiResourceAsync(string name, IEnumerable<string> claims) private async Task<ApiResource> CreateApiResourceAsync(string name, IEnumerable<string> claims)
{ {
var apiResource = await _apiResourceRepository.FindByNameAsync(name); var apiResource = await _apiResourceRepository.FindByNameAsync(name).ConfigureAwait(false);
if (apiResource == null) if (apiResource == null)
{ {
apiResource = await _apiResourceRepository.InsertAsync( apiResource = await _apiResourceRepository.InsertAsync(
@ -99,7 +98,7 @@ namespace AuthServer.Host
name + " API" name + " API"
), ),
autoSave: true autoSave: true
); ).ConfigureAwait(false);
} }
foreach (var claim in claims) foreach (var claim in claims)
@ -110,12 +109,12 @@ namespace AuthServer.Host
} }
} }
return await _apiResourceRepository.UpdateAsync(apiResource); return await _apiResourceRepository.UpdateAsync(apiResource).ConfigureAwait(false);
} }
private async Task<ApiScope> CreateApiScopeAsync(string name) private async Task<ApiScope> CreateApiScopeAsync(string name)
{ {
var apiScope = await _apiScopeRepository.GetByNameAsync(name); var apiScope = await _apiScopeRepository.GetByNameAsync(name).ConfigureAwait(false);
if (apiScope == null) if (apiScope == null)
{ {
apiScope = await _apiScopeRepository.InsertAsync( apiScope = await _apiScopeRepository.InsertAsync(
@ -125,7 +124,7 @@ namespace AuthServer.Host
name + " API" name + " API"
), ),
autoSave: true autoSave: true
); ).ConfigureAwait(false);
} }
return apiScope; return apiScope;
@ -150,7 +149,7 @@ namespace AuthServer.Host
new[] { "IdentityService", "BaseService", "WebAppGateway", "FileStorageService", "TenantService", "BusinessService", "SettleAccount" }, new[] { "IdentityService", "BaseService", "WebAppGateway", "FileStorageService", "TenantService", "BusinessService", "SettleAccount" },
new[] { "password" }, new[] { "password" },
"1q2w3e*".Sha256() "1q2w3e*".Sha256()
); ).ConfigureAwait(false);
//BaseDataService //BaseDataService
await CreateClientAsync( await CreateClientAsync(
@ -159,7 +158,7 @@ namespace AuthServer.Host
new[] { "client_credentials" }, new[] { "client_credentials" },
"1q2w3e*".Sha256(), "1q2w3e*".Sha256(),
permissions: new[] { IdentityPermissions.Users.Default } permissions: new[] { IdentityPermissions.Users.Default }
); ).ConfigureAwait(false);
//FileStorge //FileStorge
await CreateClientAsync( await CreateClientAsync(
"file-app", "file-app",
@ -167,7 +166,7 @@ namespace AuthServer.Host
new[] { "client_credentials" }, new[] { "client_credentials" },
"1q2w3e*".Sha256(), "1q2w3e*".Sha256(),
permissions: new[] { IdentityPermissions.Users.Default } permissions: new[] { IdentityPermissions.Users.Default }
); ).ConfigureAwait(false);
} }
private async Task<Client> CreateClientAsync( private async Task<Client> CreateClientAsync(
@ -179,7 +178,7 @@ namespace AuthServer.Host
string postLogoutRedirectUri = null, string postLogoutRedirectUri = null,
IEnumerable<string> permissions = null) IEnumerable<string> permissions = null)
{ {
var client = await _clientRepository.FindByClientIdAsync(name); var client = await _clientRepository.FindByClientIdAsync(name).ConfigureAwait(false);
if (client == null) if (client == null)
{ {
client = await _clientRepository.InsertAsync( client = await _clientRepository.InsertAsync(
@ -200,7 +199,7 @@ namespace AuthServer.Host
RequireConsent = false RequireConsent = false
}, },
autoSave: true autoSave: true
); ).ConfigureAwait(false);
} }
foreach (var scope in scopes) foreach (var scope in scopes)
@ -246,10 +245,10 @@ namespace AuthServer.Host
ClientPermissionValueProvider.ProviderName, ClientPermissionValueProvider.ProviderName,
name, name,
permissions permissions
); ).ConfigureAwait(false);
} }
return await _clientRepository.UpdateAsync(client); return await _clientRepository.UpdateAsync(client).ConfigureAwait(false);
} }
} }
} }

7
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/AuthServer/AuthServerHostModule.cs

@ -1,11 +1,6 @@
using AuthServer.Host.EntityFrameworkCore; using AuthServer.Host.EntityFrameworkCore;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using StackExchange.Redis;
using System;
using System.Linq;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Account; using Volo.Abp.Account;
using Volo.Abp.Account.Web; using Volo.Abp.Account.Web;
@ -116,7 +111,7 @@ namespace AuthServer.Host
{ {
await scope.ServiceProvider await scope.ServiceProvider
.GetRequiredService<IDataSeeder>() .GetRequiredService<IDataSeeder>()
.SeedAsync(); .SeedAsync().ConfigureAwait(false);
} }
}); });
} }

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/AuthServer/EntityFrameworkCore/AuthServerDbContext.cs

@ -1,4 +1,4 @@
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore; using Volo.Abp.EntityFrameworkCore;
using Volo.Abp.IdentityServer.EntityFrameworkCore; using Volo.Abp.IdentityServer.EntityFrameworkCore;

2
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/AuthServer/EntityFrameworkCore/AuthServerDbContextFactory.cs

@ -1,4 +1,4 @@
using System.IO; using System.IO;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design; using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;

72
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/BaseServiceHostModule.cs

@ -1,17 +1,12 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using BaseService.EntityFrameworkCore; using BaseService.EntityFrameworkCore;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.DataProtection;
using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Identity;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.OpenApi.Models;
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.AspNetCore.MultiTenancy; using Volo.Abp.AspNetCore.MultiTenancy;
using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.AspNetCore.Mvc;
@ -112,28 +107,6 @@ namespace BaseService
}); });
} }
private static void ConfigureCros(ServiceConfigurationContext context, IConfiguration configuration)
{
context.Services.AddCors(options =>
{
options.AddPolicy(DefaultCorsPolicyName, builder =>
{
builder
.WithOrigins(
configuration["App:CorsOrigins"]
.Split(",", StringSplitOptions.RemoveEmptyEntries)
.Select(o => o.RemovePostFix("/"))
.ToArray()
)
.WithAbpExposedHeaders()
.SetIsOriginAllowedToAllowWildcardSubdomains()
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
}
private void ConfigureAuditing() private void ConfigureAuditing()
{ {
Configure<AbpAuditingOptions>(options => Configure<AbpAuditingOptions>(options =>
@ -160,35 +133,6 @@ namespace BaseService
Configure<AbpDbContextOptions>(options => { options.UseSqlServer(); }); Configure<AbpDbContextOptions>(options => { options.UseSqlServer(); });
} }
private static void ConfigureSwagger(ServiceConfigurationContext context)
{
context.Services.AddSwaggerGen(options =>
{
options.SwaggerDoc("v1", new OpenApiInfo { Title = "BaseService Service API", Version = "v1" });
options.DocInclusionPredicate((docName, description) => true);
options.CustomSchemaIds(type => type.FullName);
options.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
Description = "请输入 JWT Token",
Name = "Authorization",
In = ParameterLocation.Header,
Type = SecuritySchemeType.Http,
Scheme = "Bearer"
});
options.AddSecurityRequirement(new OpenApiSecurityRequirement()
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference {Type = ReferenceType.SecurityScheme, Id = "Bearer"}
},
new string[] { }
}
});
});
}
private static void ConfigureJwt(ServiceConfigurationContext context, IConfiguration configuration) private static void ConfigureJwt(ServiceConfigurationContext context, IConfiguration configuration)
{ {
//context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme) //context.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
@ -217,7 +161,7 @@ namespace BaseService
.ConventionalControllers .ConventionalControllers
.Create(typeof(BaseServiceApplicationModule).Assembly, opts .Create(typeof(BaseServiceApplicationModule).Assembly, opts
=> =>
{ opts.RootPath = "base"; }) { opts.RootPath = "base"; })
; ;
}); });
} }
@ -243,9 +187,9 @@ namespace BaseService
{ "email", AbpClaimTypes.Email }, { "email", AbpClaimTypes.Email },
{ "name", AbpClaimTypes.UserName }, { "name", AbpClaimTypes.UserName },
}; };
var mapClaims = currentPrincipalAccessor.Principal.Claims.Where(p => map.Keys.Contains(p.Type)).ToList(); var mapClaims = currentPrincipalAccessor.Principal.Claims.Where(p => map.ContainsKey(p.Type)).ToList();
currentPrincipalAccessor.Principal.AddIdentity(new ClaimsIdentity(mapClaims.Select(p => new Claim(map[p.Type], p.Value, p.ValueType, p.Issuer)))); currentPrincipalAccessor.Principal.AddIdentity(new ClaimsIdentity(mapClaims.Select(p => new Claim(map[p.Type], p.Value, p.ValueType, p.Issuer))));
await next(); await next().ConfigureAwait(false);
}); });
app.UseAbpRequestLocalization(); app.UseAbpRequestLocalization();
@ -266,7 +210,7 @@ namespace BaseService
{ {
await scope.ServiceProvider await scope.ServiceProvider
.GetRequiredService<IDataSeeder>() .GetRequiredService<IDataSeeder>()
.SeedAsync(); .SeedAsync().ConfigureAwait(false);
} }
}); });
} }

10
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Exception.cs

@ -1,14 +1,4 @@
using Microsoft.AspNetCore.Mvc.Filters;
using System.Threading.Tasks;
using Volo.Abp;
using Volo.Abp.AspNetCore.Mvc.ExceptionHandling;
using Volo.Abp.Authorization;
using Volo.Abp.Validation;
namespace Win.Sfs.SettleAccount namespace Win.Sfs.SettleAccount
{ {
} }

91
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Program.cs

@ -4,56 +4,57 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Hosting;
using Serilog; using Serilog;
namespace Win.Sfs.SettleAccount; namespace Win.Sfs.SettleAccount
public class Program
{ {
public static int Main(string[] args) public class Program
{ {
var configuration = new ConfigurationBuilder() public static int Main(string[] args)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true) {
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", optional: true, reloadOnChange: true) var configuration = new ConfigurationBuilder()
.Build(); .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", optional: true, reloadOnChange: true)
.Build();
Log.Logger = new LoggerConfiguration() Log.Logger = new LoggerConfiguration()
.WriteTo.Async(c => c.Console()) .WriteTo.Async(c => c.Console())
.WriteTo.Async(c => c.File("Logs/logs.txt" .WriteTo.Async(c => c.File("Logs/logs.txt"
, rollingInterval: RollingInterval.Day , rollingInterval: RollingInterval.Day
, rollOnFileSizeLimit: true , rollOnFileSizeLimit: true
, fileSizeLimitBytes: 30 * 1024 * 1024)) , fileSizeLimitBytes: 30 * 1024 * 1024))
.CreateLogger(); .CreateLogger();
try try
{ {
Log.Information("Starting web host."); Log.Information("Starting web host.");
CreateHostBuilder(args).UseSerilog().Build().Run(); CreateHostBuilder(args).UseSerilog().Build().Run();
return 0; return 0;
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.Fatal(ex, "Host terminated unexpectedly!"); Log.Fatal(ex, "Host terminated unexpectedly!");
return 1; return 1;
} }
finally finally
{ {
Log.CloseAndFlush(); Log.CloseAndFlush();
}
} }
}
internal static IHostBuilder CreateHostBuilder(string[] args) => internal static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args) Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder => .ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.ConfigureKestrel((context, options) =>
{ {
//设置应用服务器Kestrel请求体最大为50MB webBuilder.ConfigureKestrel((context, options) =>
options.Limits.MaxRequestBodySize = long.MaxValue; {
options.Limits.MaxRequestBufferSize = long.MaxValue; //设置应用服务器Kestrel请求体最大为50MB
options.Limits.MaxRequestLineSize = int.MaxValue; options.Limits.MaxRequestBodySize = long.MaxValue;
options.Limits.KeepAliveTimeout = TimeSpan.MaxValue; options.Limits.MaxRequestBufferSize = long.MaxValue;
}); options.Limits.MaxRequestLineSize = int.MaxValue;
webBuilder.UseStartup<Startup>(); options.Limits.KeepAliveTimeout = TimeSpan.MaxValue;
}) });
.UseAutofac() webBuilder.UseStartup<Startup>();
.UseSerilog(); })
.UseAutofac()
.UseSerilog();
}
} }

91
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/SettleAccountHttpApiHostModule.cs

@ -7,13 +7,11 @@ using BaseService;
using Hangfire; using Hangfire;
using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Cors;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.OpenApi.Models; using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerUI; using Swashbuckle.AspNetCore.SwaggerUI;
@ -37,8 +35,6 @@ using Volo.Abp.MultiTenancy;
using Volo.Abp.PermissionManagement.EntityFrameworkCore; using Volo.Abp.PermissionManagement.EntityFrameworkCore;
using Volo.Abp.SettingManagement.EntityFrameworkCore; using Volo.Abp.SettingManagement.EntityFrameworkCore;
using Volo.Abp.Threading; using Volo.Abp.Threading;
using Volo.Abp.VirtualFileSystem;
using Win.Sfs.SettleAccount.ImportExcelCommon;
using Win.Sfs.Shared.Constant; using Win.Sfs.Shared.Constant;
using Win.Utils; using Win.Utils;
@ -197,52 +193,6 @@ namespace Win.Sfs.SettleAccount
}); });
} }
/// <summary>
/// 大众-存储二配实际输出表
/// </summary>
/// <param name="configPath"></param>
private void ConfigureBLOBSecSummaryServices(IConfiguration configPath)
{
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.Configure<SecSummaryFileConrainer>(configuration =>
{
configuration.UseFileSystem(fileSystem =>
{
var filestreampath = Environment.CurrentDirectory + @"\wwwroot\secsummary\files";
if (!Directory.Exists(filestreampath))
{
Directory.CreateDirectory(filestreampath);
}
fileSystem.BasePath = filestreampath;
});
});
});
}
/// <summary>
/// 奔腾-二配实际输出打印表的保存路径
/// </summary>
/// <param name="configPath"></param>
private void ConfigureBLOBTSecSummaryServices(IConfiguration configPath)
{
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.Configure<SecBTSummaryFileConrainer>(configuration =>
{
configuration.UseFileSystem(fileSystem =>
{
var filestreampath = Environment.CurrentDirectory + @"\wwwroot\btsecsummary\files";
if (!Directory.Exists(filestreampath))
{
Directory.CreateDirectory(filestreampath);
}
fileSystem.BasePath = filestreampath;
});
});
});
}
private static void ConfigureJson(ServiceConfigurationContext context) private static void ConfigureJson(ServiceConfigurationContext context)
{ {
//null: DTO的属性首字母保持大写 //null: DTO的属性首字母保持大写
@ -299,21 +249,6 @@ namespace Win.Sfs.SettleAccount
}); });
} }
private void ConfigureVirtualFileSystem(ServiceConfigurationContext context)
{
var hostingEnvironment = context.Services.GetHostingEnvironment();
if (hostingEnvironment.IsDevelopment())
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.ReplaceEmbeddedByPhysical<SettleAccountDomainModule>(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}SettleAccount.Domain"));
options.FileSets.ReplaceEmbeddedByPhysical<SettleAccountApplicationContractsModule>(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}SettleAccount.Application.Contracts"));
options.FileSets.ReplaceEmbeddedByPhysical<SettleAccountApplicationModule>(Path.Combine(hostingEnvironment.ContentRootPath, $"..{Path.DirectorySeparatorChar}SettleAccount.Application"));
});
}
}
private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration) private void ConfigureAuthentication(ServiceConfigurationContext context, IConfiguration configuration)
{ {
var isAlwaysAllowAuthorization = configuration.GetValue<bool>("AuthServer:AlwaysAllowAuthorization"); var isAlwaysAllowAuthorization = configuration.GetValue<bool>("AuthServer:AlwaysAllowAuthorization");
@ -381,7 +316,7 @@ namespace Win.Sfs.SettleAccount
{ {
Reference = new OpenApiReference {Type = ReferenceType.SecurityScheme, Id = "Bearer"} Reference = new OpenApiReference {Type = ReferenceType.SecurityScheme, Id = "Bearer"}
}, },
new string[] { } Array.Empty<string>()
} }
}); });
}); });
@ -427,28 +362,6 @@ namespace Win.Sfs.SettleAccount
}); });
} }
private void ConfigureCors(ServiceConfigurationContext context, IConfiguration configuration)
{
context.Services.AddCors(options =>
{
options.AddPolicy(DefaultCorsPolicyName, builder =>
{
builder
.WithOrigins(
configuration["App:CorsOrigins"]
.Split(",", StringSplitOptions.RemoveEmptyEntries)
.Select(o => o.RemovePostFix("/"))
.ToArray()
)
.WithAbpExposedHeaders()
.SetIsOriginAllowedToAllowWildcardSubdomains()
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
}
public override void OnApplicationInitialization(ApplicationInitializationContext context) public override void OnApplicationInitialization(ApplicationInitializationContext context)
{ {
var app = context.GetApplicationBuilder(); var app = context.GetApplicationBuilder();
@ -482,7 +395,7 @@ namespace Win.Sfs.SettleAccount
{ {
await scope.ServiceProvider await scope.ServiceProvider
.GetRequiredService<IDataSeeder>() .GetRequiredService<IDataSeeder>()
.SeedAsync(); .SeedAsync().ConfigureAwait(false);
} }
}); });
} }

137
code/src/Modules/SettleAccount/host/SettleAccount.HttpApi.Host/Startup.cs

@ -19,85 +19,86 @@ using Win.Sfs.SettleAccount.Entities.BQ;
using Win.Sfs.SettleAccount.Entities.BQ.Syncs; using Win.Sfs.SettleAccount.Entities.BQ.Syncs;
using Win.Sfs.SettleAccount.ExcelImporter; using Win.Sfs.SettleAccount.ExcelImporter;
namespace Win.Sfs.SettleAccount; namespace Win.Sfs.SettleAccount
public class Startup
{ {
public Startup(IConfiguration configuration) public class Startup
{ {
Configuration = configuration; public Startup(IConfiguration configuration)
} {
Configuration = configuration;
}
public IConfiguration Configuration { get; } public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services) public void ConfigureServices(IServiceCollection services)
{
services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Fastest);
services.AddResponseCompression(options =>
{
options.EnableForHttps = true;
options.Providers.Add<GzipCompressionProvider>();
options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "image/svg+xml" });
});
services.AddScheduler();
services.AddCors(options =>
{ {
options.AddPolicy("Default", builder => services.Configure<GzipCompressionProviderOptions>(options => options.Level = CompressionLevel.Fastest);
services.AddResponseCompression(options =>
{ {
builder.SetIsOriginAllowed(isOriginAllowed => true) options.EnableForHttps = true;
.AllowAnyMethod() options.Providers.Add<GzipCompressionProvider>();
.AllowAnyHeader() options.MimeTypes = ResponseCompressionDefaults.MimeTypes.Concat(new[] { "image/svg+xml" });
.AllowCredentials();
}); });
}); services.AddScheduler();
services.AddSingleton<JisBBACSeEdiCompareAppService>(); services.AddCors(options =>
services.AddSingleton<JisHBPOSeEdiCompareAppService>(); {
services.AddSignalR(o => o.EnableDetailedErrors = true); options.AddPolicy("Default", builder =>
JobHostdService.AddService(services); {
services.AddSingleton<JobHostdService>(); builder.SetIsOriginAllowed(isOriginAllowed => true)
services.AddHostedService(o => o.GetRequiredService<JobHostdService>()); .AllowAnyMethod()
services.AddRouting(options => options.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer)); .AllowAnyHeader()
services.AddMvc(options => options.Conventions.Add(new RouteTokenTransformerConvention(new SlugifyParameterTransformer()))); .AllowCredentials();
services.AddApplication<SettleAccountHttpApiHostModule>(); });
services.Configure<KestrelServerOptions>(options => });
{ services.AddSingleton<JisBBACSeEdiCompareAppService>();
// Set the limit to 256 MB services.AddSingleton<JisHBPOSeEdiCompareAppService>();
options.Limits.MaxRequestBodySize = 268435456; services.AddSignalR(o => o.EnableDetailedErrors = true);
}); JobHostdService.AddService(services);
//上传文件大小限制IIS设置 services.AddSingleton<JobHostdService>();
services.Configure<IISServerOptions>(options => services.AddHostedService(o => o.GetRequiredService<JobHostdService>());
{ services.AddRouting(options => options.ConstraintMap["slugify"] = typeof(SlugifyParameterTransformer));
options.MaxRequestBodySize = 268435456; services.AddMvc(options => options.Conventions.Add(new RouteTokenTransformerConvention(new SlugifyParameterTransformer())));
options.AllowSynchronousIO = true; services.AddApplication<SettleAccountHttpApiHostModule>();
}); services.Configure<KestrelServerOptions>(options =>
} {
// Set the limit to 256 MB
options.Limits.MaxRequestBodySize = 268435456;
});
//上传文件大小限制IIS设置
services.Configure<IISServerOptions>(options =>
{
options.MaxRequestBodySize = 268435456;
options.AllowSynchronousIO = true;
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
ExportImporter.ServiceProvider = app.ApplicationServices;
app.UseCors("Default");
app.UseResponseCompression();
app.UseRouting();
app.UseEndpoints(endpoints => endpoints.MapHub<PageHub>("/api/hub"));
app.ApplicationServices.UseScheduler(scheduler =>
{ {
scheduler.Schedule<JisBBACSeEdiCompareAppService>().EveryMinute(); ExportImporter.ServiceProvider = app.ApplicationServices;
scheduler.Schedule<JisHBPOSeEdiCompareAppService>().EveryMinute(); app.UseCors("Default");
}); app.UseResponseCompression();
var contentTypeProvider = new FileExtensionContentTypeProvider(); app.UseRouting();
contentTypeProvider.Mappings.Add(".mjs", "text/javascript"); app.UseEndpoints(endpoints => endpoints.MapHub<PageHub>("/api/hub"));
app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = contentTypeProvider }); app.ApplicationServices.UseScheduler(scheduler =>
app.InitializeApplication(); {
} scheduler.Schedule<JisBBACSeEdiCompareAppService>().EveryMinute();
scheduler.Schedule<JisHBPOSeEdiCompareAppService>().EveryMinute();
});
var contentTypeProvider = new FileExtensionContentTypeProvider();
contentTypeProvider.Mappings.Add(".mjs", "text/javascript");
app.UseStaticFiles(new StaticFileOptions { ContentTypeProvider = contentTypeProvider });
app.InitializeApplication();
}
public class SlugifyParameterTransformer : IOutboundParameterTransformer public class SlugifyParameterTransformer : IOutboundParameterTransformer
{
public string TransformOutbound(object value)
{ {
if (value == null) { return null; } public string TransformOutbound(object value)
var str = value.ToString(); {
if (string.IsNullOrEmpty(str)) { return null; } if (value == null) { return null; }
return Regex.Replace(str?.ToString(), "([a-z])([A-Z])", "$1-$2").ToLowerInvariant(); var str = value.ToString();
if (string.IsNullOrEmpty(str)) { return null; }
return Regex.Replace(str?.ToString(), "([a-z])([A-Z])", "$1-$2").ToLowerInvariant();
}
} }
} }
} }

4
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Attributes/ExcelImporterHeadDescAttribute.cs

@ -1,4 +1,4 @@
using System; using System;
namespace Win.Sfs.SettleAccount.Attributes namespace Win.Sfs.SettleAccount.Attributes
{ {
@ -12,7 +12,7 @@ namespace Win.Sfs.SettleAccount.Attributes
/// 行数 /// 行数
/// </summary> /// </summary>
public int Row { get; set; } public int Row { get; set; }
/// <summary> /// <summary>
/// 列数 /// 列数
/// </summary> /// </summary>

4
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Bases/RequestInputBase.cs

@ -1,11 +1,11 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.Shared.Filter; using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Bases namespace Win.Sfs.SettleAccount.Bases
{ {
public class RequestInputBase: PagedAndSortedResultRequestDto public class RequestInputBase : PagedAndSortedResultRequestDto
{ {
/// <summary> /// <summary>
/// 导出文件类型 /// 导出文件类型

25
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_CAN_SA_DTO.cs

@ -1,13 +1,8 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using Magicodes.ExporterAndImporter.Core;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
{ {
@ -49,13 +44,13 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[ExporterHeader(DisplayName = "下线日期")] //全部业务都显示 [ExporterHeader(DisplayName = "下线日期")] //全部业务都显示
public DateTime SettleDate { get; set; } public DateTime SettleDate { get; set; }
[ExporterHeader(DisplayName = "发票号")] //全部业务都显示 [ExporterHeader(DisplayName = "发票号")] //全部业务都显示
public string InvBillNum { get; set; } public string InvBillNum { get; set; }
[ExporterHeader(DisplayName = "客户零件号")] //全部业务都显示 [ExporterHeader(DisplayName = "客户零件号")] //全部业务都显示
public string LU { get; set; } public string LU { get; set; }
[ExporterHeader(DisplayName = "厂内零件号")] //全部业务都显示 (查询条件) [ExporterHeader(DisplayName = "厂内零件号")] //全部业务都显示 (查询条件)
public string PartCode { get; set; } public string PartCode { get; set; }
[ExporterHeader(DisplayName = "零件描述")] //全部业务都显示 [ExporterHeader(DisplayName = "零件描述")] //全部业务都显示
public string MaterialDesc { get; set; } public string MaterialDesc { get; set; }
[ExporterHeader(DisplayName = "生产码")] //全部业务都显示 JIS业务叫生产码,其他业务叫标识号 (查询条件) [ExporterHeader(DisplayName = "生产码")] //全部业务都显示 JIS业务叫生产码,其他业务叫标识号 (查询条件)
public string PN { get; set; } public string PN { get; set; }
[ExporterHeader(DisplayName = "结算数量")] //全部业务都显示 [ExporterHeader(DisplayName = "结算数量")] //全部业务都显示
@ -70,7 +65,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[ExporterHeader(DisplayName = "SA号")] [ExporterHeader(DisplayName = "SA号")]
public string ContractDocID { set; get; } public string ContractDocID { set; get; }
/// <summary> /// <summary>
/// 版本 /// 版本
/// </summary> /// </summary>
@ -82,7 +76,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary> /// <summary>
/// 结算单号(发票分组号) /// 结算单号(发票分组号)
/// </summary> /// </summary>
public string InvGroupNum { get; set; } public string InvGroupNum { get; set; }
/// <summary> /// <summary>
/// 金额 /// 金额
@ -92,7 +86,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
public class BBAC_CAN_SA_DETAIL_EXP_DTO public class BBAC_CAN_SA_DETAIL_EXP_DTO
{ {
[ExporterHeader(DisplayName = "关联结算单号")] //全部业务都有显示 [ExporterHeader(DisplayName = "关联结算单号")] //全部业务都有显示
public string SettleBillNum { get; set; } public string SettleBillNum { get; set; }
[ExporterHeader(DisplayName = "发票分组号")] //全部业务都显示 (默认) [ExporterHeader(DisplayName = "发票分组号")] //全部业务都显示 (默认)
@ -183,24 +176,20 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
public class BBAC_CAN_SA_DETAIL_REQ_DTO : RequestInputBase public class BBAC_CAN_SA_DETAIL_REQ_DTO : RequestInputBase
{ {
//[Display(Name = "发票分组号")] //[Display(Name = "发票分组号")]
//public string BillNum { get; set; } //public string BillNum { get; set; }
//[Display(Name = "LU")] //[Display(Name = "LU")]
//public string LU { get; set; } //public string LU { get; set; }
//[Display(Name = "生产码")] //[Display(Name = "生产码")]
//public string PN { get; set; } //public string PN { get; set; }
//[Display(Name = "结算数量")] //[Display(Name = "结算数量")]
//public decimal Qty { get; set; } //public decimal Qty { get; set; }
//[Display(Name = "结算分组号")] //[Display(Name = "结算分组号")]
//public string GroupNum { get; set; } //public string GroupNum { get; set; }
}
}
} }

24
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_NOT_SA_DTO.cs

@ -1,17 +1,11 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.Collections.Generic; using Magicodes.ExporterAndImporter.Core;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
{ {
public class BBAC_NOT_SA_DETAIL_DTO : EntityDto<Guid> public class BBAC_NOT_SA_DETAIL_DTO : EntityDto<Guid>
{ {
/// <summary> /// <summary>
@ -21,8 +15,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary> /// <summary>
///工厂地点 ///工厂地点
/// </summary> /// </summary>
public string Site { get; set; } public string Site { get; set; }
/// <summary> /// <summary>
/// 版本 /// 版本
/// </summary> /// </summary>
@ -65,9 +59,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// </summary> /// </summary>
public string PartCode { get; set; } public string PartCode { get; set; }
} }
public class BBAC_NOT_SA_DETAIL_EXP_DTO public class BBAC_NOT_SA_DETAIL_EXP_DTO
{ {
@ -110,7 +101,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[ExporterHeader(DisplayName = "物料描述")] [ExporterHeader(DisplayName = "物料描述")]
public string MaterialDesc { get; set; } public string MaterialDesc { get; set; }
[ExporterHeader(DisplayName = "生产码")] [ExporterHeader(DisplayName = "生产码")]
public string PN { get; set; } public string PN { get; set; }
public string KeyCode { get; set; } public string KeyCode { get; set; }
@ -130,7 +120,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
//[Display(Name = "关联结算单号")] //[Display(Name = "关联结算单号")]
//public string SettleBillNum { get; set; } //public string SettleBillNum { get; set; }
////[Display(Name = "业务类别")] ////[Display(Name = "业务类别")]
////public string Category { get; set; } ////public string Category { get; set; }
////[Display(Name = "是否退货")] ////[Display(Name = "是否退货")]
@ -159,9 +149,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
//[Display(Name = "结算分组号")] //[Display(Name = "结算分组号")]
//public string GroupNum { get; set; } //public string GroupNum { get; set; }
}
}
} }

14
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_PD_DTO.cs

@ -1,10 +1,8 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
{ {
@ -39,12 +37,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "地点")] [Display(Name = "地点")]
public string Site { get; set; } public string Site { get; set; }
[Display(Name = "状态")]
[Display(Name="状态")]
public EnumBillState State { set; get; } public EnumBillState State { set; get; }
} }
public class BBAC_PD_EXP_DTO public class BBAC_PD_EXP_DTO
{ {
@ -142,8 +137,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// 替换生产码 /// 替换生产码
/// </summary> /// </summary>
public string REPN { get; set; } public string REPN { get; set; }
/// <summary> /// <summary>
/// 客户零件号 /// 客户零件号
/// </summary> /// </summary>
@ -240,9 +234,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// </summary> /// </summary>
public string BillNum { get; set; } public string BillNum { get; set; }
} }
} }
} }

457
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_SA_DTO.cs

@ -1,239 +1,238 @@
using System; using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq;
using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Core;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary>
/// BBAC结算单
/// </summary>
public class BBAC_SA_DTO : EntityDto<Guid>
{
/// <summary>
/// 期间
/// </summary>
[Display(Name = "期间")]
public int Version { get; set; }
/// <summary>
/// 结算单据
/// </summary>
[Display(Name = "结算单据")]
public string BillNum { get; set; }
/// <summary>
/// 出库单号
/// </summary>
[Display(Name = "出库单号")]
public string DNBillNum { get; set; }
/// <summary>
/// 1、新建 2、已有出库3、已有扣减寄售库
/// </summary>
[Display(Name = "状态")]
public string State { get; set; }
/// <summary>
/// 明细记录行数
/// </summary>
[Display(Name = "明细记录行数")]
public string RecordCount { get; set; }
/// <summary>
/// 工厂地点
/// </summary>
[Display(Name = "工厂地点")]
public string Site { get; set; }
/// <summary>
/// 业务类型
/// </summary>
[Display(Name = "业务类型")]
public EnumBusinessType BusinessType { get; set; }
}
/// <summary>
/// BBAC结算明细
/// </summary>
public class BBAC_SA_DETAIL_DTO : AuditedAggregateRoot<Guid>
{
/// <summary>
/// 结算单
/// </summary>
public string BillNum { set; get; }
/// <summary>
/// 期间
/// </summary>
public int Version { set; get; }
/// <summary>
/// 结算分组号
/// </summary>
public string GroupNum { get; set; }
/// <summary>
/// 生产号
/// </summary>
public string PN { get; set; }
/// <summary>
/// 客户物料号
/// </summary>
public string LU { get; set; }
/// <summary>
/// 数量
/// </summary>
public string Qty { get; set; }
/// <summary>
/// 结算日期
/// </summary>
public string SettleDate { set; get; }
/// <summary>
/// 单价
/// </summary>
public decimal Price { set; get; }
/// <summary>
/// 厂内物料号
/// </summary>
public string PartCode { get; set; }
}
/// <summary>
/// BBAC结算导入请求
/// </summary>
public class BBACSaImportRequestDto
{
/// <summary>
/// 文件
/// </summary>
public IFormFileCollection Files { get; set; }
/// <summary>
/// 期间
/// </summary>
[Display(Name = "期间")]
public int Version { get; set; }
/// <summary>
/// 地点
/// </summary>
[Display(Name = "地点")]
[Required(ErrorMessage = "{0}必须填写")]
public string Site { get; set; }
}
/// <summary>
/// BBAC结算明细导入
/// </summary>
[Importer(HeaderRowIndex = 3)]
public class BBAC_SA_DETAIL_IMPORT_DTO
{
/// <summary>
/// 结算日期
/// </summary>
[Display(Name = "Posting Date")]
[ImporterHeader(Name = "Posting Date")]
public string SettleDate { set; get; }
/// <summary>
/// 结算分组号
/// </summary>
[Display(Name = "Reference")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "Reference")]
public string GroupNum { get; set; }
/// <summary>
/// 客户零件号
/// </summary>
[Display(Name = "Material")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "Material")]
public string LU { get; set; }
/// <summary>
/// 数量
/// </summary>
[Display(Name = "结算数量")]
[ImporterHeader(Name = "GR Quantity")]
public decimal Qty { get; set; }
/// <summary>
/// 生产号
/// </summary>
[Display(Name = "External Call Number")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "External Call Number")]
public string PN { get; set; }
/// <summary>
/// Movement Type
/// MovementType = 967,代表退货需要标记为负数
/// MovementType = 966,代表正常发货标记正数
/// </summary>
[Display(Name = "Movement Type")]
[ImporterHeader(Name = "Movement Type")]
public string MovementType { get; set; }
/// <summary>
/// Contract Doc ID
/// </summary>
[Display(Name = "Contract Doc ID")]
[ImporterHeader(Name = "Contract Doc ID")]
public string ContractDocID { get; set; }
}
/// <summary>
/// 结算明细导出请求
/// </summary>
public class BBAC_SA_DETAIL_EXPORT_REQUEST_DTO
{
/// <summary>
/// 结算单号
/// </summary>
[Display(Name = "结算单号")]
[Required(ErrorMessage = "{0}不能为空")]
public string BillNum { set; get; }
}
/// <summary>
/// 结算明细导出
/// </summary>
public class BBAC_SA_DETAIL_EXPORT_DTO
{ {
/// <summary> /// <summary>
/// 结算单号 /// BBAC结算单
/// </summary> /// </summary>
[Display(Name = "结算单号")] public class BBAC_SA_DTO : EntityDto<Guid>
[ExporterHeader(DisplayName = "结算单号")] {
public string BillNum { set; get; } /// <summary>
/// 期间
/// <summary> /// </summary>
/// 结算日期 [Display(Name = "期间")]
/// </summary> public int Version { get; set; }
[Display(Name = "结算日期")]
[ExporterHeader(DisplayName = "结算日期")] /// <summary>
public DateTime SettleDate { set; get; } /// 结算单据
/// </summary>
/// <summary> [Display(Name = "结算单据")]
/// 发货单号 public string BillNum { get; set; }
/// </summary>
[Display(Name = "发货单号")] /// <summary>
[ExporterHeader(DisplayName = "发货单号")] /// 出库单号
public string PN { get; set; } /// </summary>
[Display(Name = "出库单号")]
/// <summary> public string DNBillNum { get; set; }
/// 零件号
/// </summary> /// <summary>
[Display(Name = "零件号")] /// 1、新建 2、已有出库3、已有扣减寄售库
[ExporterHeader(DisplayName = "零件号")] /// </summary>
public string LU { get; set; } [Display(Name = "状态")]
public string State { get; set; }
/// <summary>
/// 数量 /// <summary>
/// </summary> /// 明细记录行数
[Display(Name = "数量")] /// </summary>
[ExporterHeader(DisplayName = "数量")] [Display(Name = "明细记录行数")]
public decimal Qty { get; set; } public string RecordCount { get; set; }
/// <summary> /// <summary>
/// 结算分组 /// 工厂地点
/// </summary> /// </summary>
[Display(Name = "结算分组")] [Display(Name = "工厂地点")]
[ExporterHeader(DisplayName = "结算分组")] public string Site { get; set; }
public string GroupNum { get; set; }
/// <summary>
/// 业务类型
/// </summary>
[Display(Name = "业务类型")]
public EnumBusinessType BusinessType { get; set; }
}
/// <summary>
/// BBAC结算明细
/// </summary>
public class BBAC_SA_DETAIL_DTO : AuditedAggregateRoot<Guid>
{
/// <summary>
/// 结算单
/// </summary>
public string BillNum { set; get; }
/// <summary>
/// 期间
/// </summary>
public int Version { set; get; }
/// <summary>
/// 结算分组号
/// </summary>
public string GroupNum { get; set; }
/// <summary>
/// 生产号
/// </summary>
public string PN { get; set; }
/// <summary>
/// 客户物料号
/// </summary>
public string LU { get; set; }
/// <summary>
/// 数量
/// </summary>
public string Qty { get; set; }
/// <summary>
/// 结算日期
/// </summary>
public string SettleDate { set; get; }
/// <summary>
/// 单价
/// </summary>
public decimal Price { set; get; }
/// <summary>
/// 厂内物料号
/// </summary>
public string PartCode { get; set; }
}
/// <summary>
/// BBAC结算导入请求
/// </summary>
public class BBACSaImportRequestDto
{
/// <summary>
/// 文件
/// </summary>
public IFormFileCollection Files { get; set; }
/// <summary>
/// 期间
/// </summary>
[Display(Name = "期间")]
public int Version { get; set; }
/// <summary>
/// 地点
/// </summary>
[Display(Name = "地点")]
[Required(ErrorMessage = "{0}必须填写")]
public string Site { get; set; }
}
/// <summary>
/// BBAC结算明细导入
/// </summary>
[Importer(HeaderRowIndex = 3)]
public class BBAC_SA_DETAIL_IMPORT_DTO
{
/// <summary>
/// 结算日期
/// </summary>
[Display(Name = "Posting Date")]
[ImporterHeader(Name = "Posting Date")]
public string SettleDate { set; get; }
/// <summary>
/// 结算分组号
/// </summary>
[Display(Name = "Reference")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "Reference")]
public string GroupNum { get; set; }
/// <summary>
/// 客户零件号
/// </summary>
[Display(Name = "Material")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "Material")]
public string LU { get; set; }
/// <summary>
/// 数量
/// </summary>
[Display(Name = "结算数量")]
[ImporterHeader(Name = "GR Quantity")]
public decimal Qty { get; set; }
/// <summary>
/// 生产号
/// </summary>
[Display(Name = "External Call Number")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "External Call Number")]
public string PN { get; set; }
/// <summary>
/// Movement Type
/// MovementType = 967,代表退货需要标记为负数
/// MovementType = 966,代表正常发货标记正数
/// </summary>
[Display(Name = "Movement Type")]
[ImporterHeader(Name = "Movement Type")]
public string MovementType { get; set; }
/// <summary>
/// Contract Doc ID
/// </summary>
[Display(Name = "Contract Doc ID")]
[ImporterHeader(Name = "Contract Doc ID")]
public string ContractDocID { get; set; }
}
/// <summary>
/// 结算明细导出请求
/// </summary>
public class BBAC_SA_DETAIL_EXPORT_REQUEST_DTO
{
/// <summary>
/// 结算单号
/// </summary>
[Display(Name = "结算单号")]
[Required(ErrorMessage = "{0}不能为空")]
public string BillNum { set; get; }
}
/// <summary>
/// 结算明细导出
/// </summary>
public class BBAC_SA_DETAIL_EXPORT_DTO
{
/// <summary>
/// 结算单号
/// </summary>
[Display(Name = "结算单号")]
[ExporterHeader(DisplayName = "结算单号")]
public string BillNum { set; get; }
/// <summary>
/// 结算日期
/// </summary>
[Display(Name = "结算日期")]
[ExporterHeader(DisplayName = "结算日期")]
public DateTime SettleDate { set; get; }
/// <summary>
/// 发货单号
/// </summary>
[Display(Name = "发货单号")]
[ExporterHeader(DisplayName = "发货单号")]
public string PN { get; set; }
/// <summary>
/// 零件号
/// </summary>
[Display(Name = "零件号")]
[ExporterHeader(DisplayName = "零件号")]
public string LU { get; set; }
/// <summary>
/// 数量
/// </summary>
[Display(Name = "数量")]
[ExporterHeader(DisplayName = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 结算分组
/// </summary>
[Display(Name = "结算分组")]
[ExporterHeader(DisplayName = "结算分组")]
public string GroupNum { get; set; }
}
} }

799
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_SE_DETAIL_DTO.cs

@ -1,436 +1,437 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Entities.BQ.Syncs; using Win.Sfs.SettleAccount.Entities.BQ.Syncs;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary>
/// BBAC发运
/// </summary>
public class BBAC_SE_DETAIL_DTO : EntityDto<Guid>
{ {
/// <summary> /// <summary>
/// 期间 /// BBAC发运
/// </summary> /// </summary>
public int Version { set; get; } public class BBAC_SE_DETAIL_DTO : EntityDto<Guid>
/// <summary> {
/// 发货时间 /// <summary>
/// </summary> /// 期间
public DateTime ShippingDate { set; get; } /// </summary>
/// <summary> public int Version { set; get; }
/// 发运单号 /// <summary>
/// </summary> /// 发货时间
public string WmsBillNum { set; get; } /// </summary>
/// <summary> public DateTime ShippingDate { set; get; }
/// 客户零件号 /// <summary>
/// </summary> /// 发运单号
public string LU { get; set; } /// </summary>
/// <summary> public string WmsBillNum { set; get; }
/// 厂内零件号 /// <summary>
/// </summary> /// 客户零件号
public string FactoryPartCode { get; set; } /// </summary>
/// <summary> public string LU { get; set; }
/// 生产号 /// <summary>
/// </summary> /// 厂内零件号
public string PN { get; set; } /// </summary>
/// <summary> public string FactoryPartCode { get; set; }
/// 组合键值(PN+LU) /// <summary>
/// </summary> /// 生产号
public string KeyCode { get; set; } /// </summary>
/// <summary> public string PN { get; set; }
/// 数量 /// <summary>
/// </summary> /// 组合键值(PN+LU)
public decimal Qty { get; set; } /// </summary>
/// <summary> public string KeyCode { get; set; }
/// UID /// <summary>
/// </summary> /// 数量
[Display(Name = "UID")] /// </summary>
[DisplayName("UID")] public decimal Qty { get; set; }
public long UID { get; set; } /// <summary>
/// <summary> /// UID
/// JIT订单号 /// </summary>
/// </summary> [Display(Name = "UID")]
[Display(Name = "JIT订单号")] [DisplayName("UID")]
[DisplayName("JIT订单号")] public long UID { get; set; }
public string JISNum { get; set; } /// <summary>
/// <summary> /// JIT订单号
/// JIT排序生产码 /// </summary>
/// </summary> [Display(Name = "JIT订单号")]
[Display(Name = "JIT排序生产码")] [DisplayName("JIT订单号")]
public string VinCode { get; set; } public string JISNum { get; set; }
/// <summary> /// <summary>
/// JIT排序生产码类型 /// JIT排序生产码
/// </summary> /// </summary>
[Display(Name = "JIT排序生产码类型")] [Display(Name = "JIT排序生产码")]
public string CodeType { get; set; } public string VinCode { get; set; }
/// <summary> /// <summary>
/// 订单零件号 /// JIT排序生产码类型
/// </summary> /// </summary>
[Display(Name = "订单零件号")] [Display(Name = "JIT排序生产码类型")]
public string PartCode { get; set; } public string CodeType { get; set; }
/// <summary> /// <summary>
/// 订单零件号 /// 订单零件号
/// </summary> /// </summary>
[Display(Name = "订单零件号")] [Display(Name = "订单零件号")]
public string RealPartCode { get; set; } public string PartCode { get; set; }
/// <summary> /// <summary>
/// 批次 /// 订单零件号
/// </summary> /// </summary>
[Display(Name = "批次")] [Display(Name = "订单零件号")]
public string Batch { get; set; } public string RealPartCode { get; set; }
/// <summary> /// <summary>
/// 客户零件号 /// 批次
/// </summary> /// </summary>
[Display(Name = "客户零件号")] [Display(Name = "批次")]
public string CustPartCode { get; set; } public string Batch { get; set; }
/// <summary> /// <summary>
/// 订单序号 /// 客户零件号
/// </summary> /// </summary>
[Display(Name = "订单序号")] [Display(Name = "客户零件号")]
public string Seq { get; set; } public string CustPartCode { get; set; }
/// <summary> /// <summary>
/// 订单时间 /// 订单序号
/// </summary> /// </summary>
[Display(Name = "订单时间")] [Display(Name = "订单序号")]
public DateTime AssembleData { get; set; } public string Seq { get; set; }
/// <summary> /// <summary>
/// 发货条码 /// 订单时间
/// </summary> /// </summary>
[Display(Name = "发货条码")] [Display(Name = "订单时间")]
public string DeliverCode { get; set; } public DateTime AssembleData { get; set; }
/// <summary> /// <summary>
/// 发货单号 /// 发货条码
/// </summary> /// </summary>
[Display(Name = "发货单号")] [Display(Name = "发货条码")]
public string BillNum { get; set; } public string DeliverCode { get; set; }
/// <summary> /// <summary>
/// 发货时间 /// 发货单号
/// </summary> /// </summary>
[Display(Name = "发货时间")] [Display(Name = "发货单号")]
public DateTime? BillTime { get; set; } public string BillNum { get; set; }
/// <summary> /// <summary>
/// 发货人 /// 发货时间
/// </summary> /// </summary>
[Display(Name = "发货人")] [Display(Name = "发货时间")]
public string Oper { get; set; } public DateTime? BillTime { get; set; }
/// <summary> /// <summary>
/// 客户位置 /// 发货人
/// </summary> /// </summary>
[Display(Name = "客户位置")] [Display(Name = "发货人")]
public string Position { get; set; } public string Oper { get; set; }
/// <summary> /// <summary>
/// 工厂 /// 客户位置
/// </summary> /// </summary>
[Display(Name = "工厂")] [Display(Name = "客户位置")]
public string Factory { get; set; } public string Position { get; set; }
/// <summary> /// <summary>
/// MES配置码 /// 工厂
/// </summary> /// </summary>
[Display(Name = "MES配置码")] [Display(Name = "工厂")]
public string MESConfigCode { get; set; } public string Factory { get; set; }
/// <summary> /// <summary>
/// 目标库位 /// MES配置码
/// </summary> /// </summary>
[Display(Name = "目标库位")] [Display(Name = "MES配置码")]
public string ToLoc { get; set; } public string MESConfigCode { get; set; }
/// <summary> /// <summary>
/// 单据类型 /// 目标库位
/// </summary> /// </summary>
public EnumBillType BillType { get; set; } [Display(Name = "目标库位")]
/// <summary> public string ToLoc { get; set; }
/// 子单据类型 /// <summary>
/// </summary> /// 单据类型
[Display(Name = "子单据类型")] /// </summary>
public EnumSubBillType SubBillType { get; set; } public EnumBillType BillType { get; set; }
/// <summary> /// <summary>
/// 事务类型 /// 子单据类型
/// </summary> /// </summary>
[Display(Name = "事务类型")] [Display(Name = "子单据类型")]
public EnumDelTransType TransType { get; set; } public EnumSubBillType SubBillType { get; set; }
/// <summary> /// <summary>
/// 发运主类型 /// 事务类型
/// </summary> /// </summary>
[Display(Name = "发运主类型")] [Display(Name = "事务类型")]
public EnumDeliverBjBmpBillType DeliverBillType { get; set; } public EnumDelTransType TransType { get; set; }
/// <summary> /// <summary>
/// 发运子类型 /// 发运主类型
/// </summary> /// </summary>
[Display(Name = "发运子类型")] [Display(Name = "发运主类型")]
public EnumDeliverSubBillType DeliverSubBillType { get; set; } public EnumDeliverBjBmpBillType DeliverBillType { get; set; }
/// <summary> /// <summary>
/// 单据性质 /// 发运子类型
/// </summary> /// </summary>
[Display(Name = "单据性质")] [Display(Name = "发运子类型")]
public string BillCharacter { get; set; } public EnumDeliverSubBillType DeliverSubBillType { get; set; }
/// <summary> /// <summary>
/// 原生产码 /// 单据性质
/// </summary> /// </summary>
[Display(Name = "原生产码")] [Display(Name = "单据性质")]
public string OrigiCode { get; set; } public string BillCharacter { get; set; }
/// <summary> /// <summary>
/// 描述 /// 原生产码
/// </summary> /// </summary>
[Display(Name = "描述")] [Display(Name = "原生产码")]
public string PartDesc { get; set; } public string OrigiCode { get; set; }
/// <summary> /// <summary>
/// 备注 /// 描述
/// </summary> /// </summary>
[Display(Name = "备注")] [Display(Name = "描述")]
public string Remark { get; set; } public string PartDesc { get; set; }
/// <summary> /// <summary>
/// 业务类型 /// 备注
/// </summary> /// </summary>
[Display(Name = "业务类型")] [Display(Name = "备注")]
public EnumProTpe ProType { get; set; } public string Remark { get; set; }
/// <summary> /// <summary>
/// JIS排序单号 /// 业务类型
/// </summary> /// </summary>
[Display(Name = "JIS排序单号")] [Display(Name = "业务类型")]
public string OrderNum { get; set; } public EnumProTpe ProType { get; set; }
/// <summary> /// <summary>
/// JIS实际生产码 /// JIS排序单号
/// </summary> /// </summary>
[Display(Name = "JIS实际生产码")] [Display(Name = "JIS排序单号")]
public string RealCode { get; set; } public string OrderNum { get; set; }
/// <summary> /// <summary>
/// 来源库位 /// JIS实际生产码
/// </summary> /// </summary>
[Display(Name = "来源库位")] [Display(Name = "JIS实际生产码")]
public string FromLoc { get; set; } public string RealCode { get; set; }
/// <summary> /// <summary>
/// 参照订单生产码 /// 来源库位
/// </summary> /// </summary>
[Display(Name = "参照订单生产码")] [Display(Name = "来源库位")]
public string RefVinCode { get; set; } public string FromLoc { get; set; }
/// <summary> /// <summary>
/// 发货关联单号 /// 参照订单生产码
/// </summary> /// </summary>
[Display(Name = "发货关联单号")] [Display(Name = "参照订单生产码")]
public string RefBillNum { get; set; } public string RefVinCode { get; set; }
/// <summary> /// <summary>
/// Erp目标库位 /// 发货关联单号
/// </summary> /// </summary>
[Display(Name = "Erp目标库位")] [Display(Name = "发货关联单号")]
public string ErpToLoc { get; set; } public string RefBillNum { get; set; }
/// <summary> /// <summary>
/// 塑件唯一码 /// Erp目标库位
/// </summary> /// </summary>
[Display(Name = "塑件唯一码")] [Display(Name = "Erp目标库位")]
public string UniqueCode { get; set; } public string ErpToLoc { get; set; }
/// <summary> /// <summary>
/// PJS顺序号 /// 塑件唯一码
/// </summary> /// </summary>
[Display(Name = "PJS顺序号")] [Display(Name = "塑件唯一码")]
public string PjsNum { get; set; } public string UniqueCode { get; set; }
/// <summary> /// <summary>
/// 虚拟小总成 /// PJS顺序号
/// </summary> /// </summary>
[Display(Name = "虚拟小总成")] [Display(Name = "PJS顺序号")]
public string MatchNumber { get; set; } public string PjsNum { get; set; }
/// <summary> /// <summary>
/// 状态 /// 虚拟小总成
/// </summary> /// </summary>
[Display(Name = "状态")] [Display(Name = "虚拟小总成")]
public EnumBillState State { get; set; } public string MatchNumber { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 状态
/// </summary> /// </summary>
[Display(Name = "创建时间")] [Display(Name = "状态")]
public DateTime CreateTime { get; set; } public EnumBillState State { get; set; }
/// <summary> /// <summary>
/// 是否有EDI数据 /// 创建时间
/// </summary> /// </summary>
[Display(Name = "是否有EDI数据")] [Display(Name = "创建时间")]
public bool IsHaveEdiData { get; set; } public DateTime CreateTime { get; set; }
} /// <summary>
/// 是否有EDI数据
/// </summary>
[Display(Name = "是否有EDI数据")]
public bool IsHaveEdiData { get; set; }
}
/// <summary>
/// 导出
/// </summary>
public class BBAC_SE_DETAIL_EXPORT_DTO
{
/// <summary> /// <summary>
/// 发货单号 /// 导出
/// </summary> /// </summary>
[Display(Name = "发货单号")] public class BBAC_SE_DETAIL_EXPORT_DTO
[ExporterHeader(DisplayName = "发货单号")] {
public string WmsBillNum { get; set; } /// <summary>
/// 发货单号
/// </summary>
[Display(Name = "发货单号")]
[ExporterHeader(DisplayName = "发货单号")]
public string WmsBillNum { get; set; }
/// <summary> /// <summary>
/// 单据编号 /// 单据编号
/// </summary> /// </summary>
[Display(Name = "单据编号")] [Display(Name = "单据编号")]
[ExporterHeader(DisplayName = "单据编号")] [ExporterHeader(DisplayName = "单据编号")]
public string Num { get; set; } public string Num { get; set; }
/// <summary> /// <summary>
/// 发货时间 /// 发货时间
/// </summary> /// </summary>
[Display(Name = "发货时间")] [Display(Name = "发货时间")]
[ExporterHeader(DisplayName = "发货时间")] [ExporterHeader(DisplayName = "发货时间")]
public DateTime BillTime { get; set; } public DateTime BillTime { get; set; }
/// <summary> /// <summary>
/// 发货人 /// 发货人
/// </summary> /// </summary>
[Display(Name = "发货人")] [Display(Name = "发货人")]
[ExporterHeader(DisplayName = "发货人")] [ExporterHeader(DisplayName = "发货人")]
public string Oper { get; set; } public string Oper { get; set; }
/// <summary> /// <summary>
/// 排序单号 /// 排序单号
/// </summary> /// </summary>
[Display(Name = "排序单号")] [Display(Name = "排序单号")]
[ExporterHeader(DisplayName = "排序单号")] [ExporterHeader(DisplayName = "排序单号")]
public string OrderNum { get; set; } public string OrderNum { get; set; }
/// <summary> /// <summary>
/// 订单序号 /// 订单序号
/// </summary> /// </summary>
[Display(Name = "订单序号")] [Display(Name = "订单序号")]
[ExporterHeader(DisplayName = "订单序号")] [ExporterHeader(DisplayName = "订单序号")]
public string Seq { get; set; } public string Seq { get; set; }
/// <summary> /// <summary>
/// 实际生产码 /// 实际生产码
/// </summary> /// </summary>
[Display(Name = "实际生产码")] [Display(Name = "实际生产码")]
[ExporterHeader(DisplayName = "实际生产码")] [ExporterHeader(DisplayName = "实际生产码")]
public string RealCode { get; set; } public string RealCode { get; set; }
/// <summary> /// <summary>
/// 订单生产码 /// 订单生产码
/// </summary> /// </summary>
[Display(Name = "订单生产码")] [Display(Name = "订单生产码")]
[ExporterHeader(DisplayName = "订单生产码")] [ExporterHeader(DisplayName = "订单生产码")]
public string VinCode { get; set; } public string VinCode { get; set; }
/// <summary> /// <summary>
/// 生产码类型 /// 生产码类型
/// </summary> /// </summary>
[Display(Name = "生产码类型")] [Display(Name = "生产码类型")]
[ExporterHeader(DisplayName = "生产码类型")] [ExporterHeader(DisplayName = "生产码类型")]
public string CodeType { get; set; } public string CodeType { get; set; }
/// <summary> /// <summary>
/// 实际零件号 /// 实际零件号
/// </summary> /// </summary>
[Display(Name = "实际零件号")] [Display(Name = "实际零件号")]
[ExporterHeader(DisplayName = "实际零件号")] [ExporterHeader(DisplayName = "实际零件号")]
public string RealPartCode { get; set; } public string RealPartCode { get; set; }
/// <summary> /// <summary>
/// 零件号 /// 零件号
/// </summary> /// </summary>
[Display(Name = "零件号")] [Display(Name = "零件号")]
[ExporterHeader(DisplayName = "零件号")] [ExporterHeader(DisplayName = "零件号")]
public string PartCode { get; set; } public string PartCode { get; set; }
/// <summary> /// <summary>
/// 批次 /// 批次
/// </summary> /// </summary>
[Display(Name = "批次")] [Display(Name = "批次")]
[ExporterHeader(DisplayName = "批次")] [ExporterHeader(DisplayName = "批次")]
public string Batch { get; set; } public string Batch { get; set; }
/// <summary> /// <summary>
/// MES配置码 /// MES配置码
/// </summary> /// </summary>
[Display(Name = "MES配置码")] [Display(Name = "MES配置码")]
[ExporterHeader(DisplayName = "MES配置码")] [ExporterHeader(DisplayName = "MES配置码")]
public string MESConfigCode { get; set; } public string MESConfigCode { get; set; }
/// <summary> /// <summary>
/// 来源库位 /// 来源库位
/// </summary> /// </summary>
[Display(Name = "来源库位")] [Display(Name = "来源库位")]
[ExporterHeader(DisplayName = "来源库位")] [ExporterHeader(DisplayName = "来源库位")]
public string FromLoc { get; set; } public string FromLoc { get; set; }
/// <summary> /// <summary>
/// 目标库位 /// 目标库位
/// </summary> /// </summary>
[Display(Name = "目标库位")] [Display(Name = "目标库位")]
[ExporterHeader(DisplayName = "目标库位")] [ExporterHeader(DisplayName = "目标库位")]
public string ToLoc { get; set; } public string ToLoc { get; set; }
/// <summary> /// <summary>
/// 参照订单生产码 /// 参照订单生产码
/// </summary> /// </summary>
[Display(Name = "参照订单生产码")] [Display(Name = "参照订单生产码")]
[ExporterHeader(DisplayName = "参照订单生产码")] [ExporterHeader(DisplayName = "参照订单生产码")]
public string RefVinCode { get; set; } public string RefVinCode { get; set; }
/// <summary> /// <summary>
/// 单据性质 /// 单据性质
/// </summary> /// </summary>
[Display(Name = "单据性质")] [Display(Name = "单据性质")]
[ExporterHeader(DisplayName = "单据性质")] [ExporterHeader(DisplayName = "单据性质")]
public string BillCharacter { get; set; } public string BillCharacter { get; set; }
/// <summary> /// <summary>
/// 发货关联单号 /// 发货关联单号
/// </summary> /// </summary>
[Display(Name = "发货关联单号")] [Display(Name = "发货关联单号")]
[ExporterHeader(DisplayName = "发货关联单号")] [ExporterHeader(DisplayName = "发货关联单号")]
public string RefBillNum { get; set; } public string RefBillNum { get; set; }
/// <summary> /// <summary>
/// Erp目标库位 /// Erp目标库位
/// </summary> /// </summary>
[Display(Name = "Erp目标库位")] [Display(Name = "Erp目标库位")]
[ExporterHeader(DisplayName = "Erp目标库位")] [ExporterHeader(DisplayName = "Erp目标库位")]
public string ErpToLoc { get; set; } public string ErpToLoc { get; set; }
/// <summary> /// <summary>
/// 原生产码 /// 原生产码
/// </summary> /// </summary>
[Display(Name = "原生产码")] [Display(Name = "原生产码")]
[ExporterHeader(DisplayName = "原生产码")] [ExporterHeader(DisplayName = "原生产码")]
public string OrigiCode { get; set; } public string OrigiCode { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
[Display(Name = "备注")] [Display(Name = "备注")]
[ExporterHeader(DisplayName = "备注")] [ExporterHeader(DisplayName = "备注")]
public string Remark { get; set; } public string Remark { get; set; }
/// <summary> /// <summary>
/// 塑件唯一码 /// 塑件唯一码
/// </summary> /// </summary>
[Display(Name = "塑件唯一码")] [Display(Name = "塑件唯一码")]
[ExporterHeader(DisplayName = "塑件唯一码")] [ExporterHeader(DisplayName = "塑件唯一码")]
public string UniqueCode { get; set; } public string UniqueCode { get; set; }
/// <summary> /// <summary>
/// PJS顺序号 /// PJS顺序号
/// </summary> /// </summary>
[Display(Name = "PJS顺序号")] [Display(Name = "PJS顺序号")]
[ExporterHeader(DisplayName = "PJS顺序号")] [ExporterHeader(DisplayName = "PJS顺序号")]
public string PjsNum { get; set; } public string PjsNum { get; set; }
/// <summary> /// <summary>
/// 虚拟小总成 /// 虚拟小总成
/// </summary> /// </summary>
[Display(Name = "虚拟小总成")] [Display(Name = "虚拟小总成")]
[ExporterHeader(DisplayName = "虚拟小总成")] [ExporterHeader(DisplayName = "虚拟小总成")]
public string MatchNumber { get; set; } public string MatchNumber { get; set; }
/// <summary> /// <summary>
/// 发货条码 /// 发货条码
/// </summary> /// </summary>
[Display(Name = "发货条码")] [Display(Name = "发货条码")]
[ExporterHeader(DisplayName = "发货条码")] [ExporterHeader(DisplayName = "发货条码")]
public string DeliverCode { get; set; } public string DeliverCode { get; set; }
/// <summary> /// <summary>
/// 客户位置 /// 客户位置
/// </summary> /// </summary>
[Display(Name = "客户位置")] [Display(Name = "客户位置")]
[ExporterHeader(DisplayName = "客户位置")] [ExporterHeader(DisplayName = "客户位置")]
public string Position { get; set; } public string Position { get; set; }
}
} }

9
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/BBAC_SE_EDI_DTO.cs

@ -1,6 +1,6 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
@ -34,9 +34,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "生产码")] [Display(Name = "生产码")]
public string PN { get; set; } public string PN { get; set; }
/// <summary> /// <summary>
/// 日顺序号 /// 日顺序号
/// </summary> /// </summary>
@ -71,7 +68,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary> /// <summary>
/// 导出 /// 导出
/// </summary> /// </summary>
public class BBAC_SE_EDI_EXPORT_DTO public class BBAC_SE_EDI_EXPORT_DTO
{ {
/// <summary> /// <summary>
/// LU+生产码 /// LU+生产码
@ -87,8 +84,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[ExporterHeader(DisplayName = "期间")] [ExporterHeader(DisplayName = "期间")]
public int Version { get; set; } public int Version { get; set; }
[Display(Name = "原客户零件号")] [Display(Name = "原客户零件号")]
public string CustomerPartCodeNoSpace { set; get; } public string CustomerPartCodeNoSpace { set; get; }

69
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/EdiSeCompareRequestDto.cs

@ -1,41 +1,42 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary>
/// Edi与发运对比请求Dto
/// </summary>
public class EdiSeCompareRequestDto
{ {
/// <summary> /// <summary>
/// 期间 /// Edi与发运对比请求Dto
/// </summary>
[Display(Name = "期间")]
[Required(ErrorMessage = "{0}不能为空")]
public string Version { get; set; }
/// <summary>
/// 零件号
/// </summary>
[Display(Name = "零件号")]
public string LU { get; set; }
/// <summary>
/// 通用码
/// </summary>
[Display(Name = "通用码")]
public string PN { get; set; }
/// <summary>
/// 发运开始时间
/// </summary>
[Display(Name = "发运开始时间")]
public DateTime? SeStartDateTime { get; set; }
/// <summary>
/// 发运结束时间
/// </summary>
[Display(Name = "发运结束时间")]
public DateTime? SeEndDateTime { get; set; }
/// <summary>
/// 业务类型
/// </summary> /// </summary>
public EnumBusinessType BusinessType { get; set; } public class EdiSeCompareRequestDto
{
/// <summary>
/// 期间
/// </summary>
[Display(Name = "期间")]
[Required(ErrorMessage = "{0}不能为空")]
public string Version { get; set; }
/// <summary>
/// 零件号
/// </summary>
[Display(Name = "零件号")]
public string LU { get; set; }
/// <summary>
/// 通用码
/// </summary>
[Display(Name = "通用码")]
public string PN { get; set; }
/// <summary>
/// 发运开始时间
/// </summary>
[Display(Name = "发运开始时间")]
public DateTime? SeStartDateTime { get; set; }
/// <summary>
/// 发运结束时间
/// </summary>
[Display(Name = "发运结束时间")]
public DateTime? SeEndDateTime { get; set; }
/// <summary>
/// 业务类型
/// </summary>
public EnumBusinessType BusinessType { get; set; }
}
} }

48
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_CAN_SA_DTO.cs

@ -1,13 +1,8 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using Magicodes.ExporterAndImporter.Core;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
{ {
@ -48,8 +43,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary> /// <summary>
///工厂地点 ///工厂地点
/// </summary> /// </summary>
public string Site { get; set; } public string Site { get; set; }
/// <summary> /// <summary>
/// 版本 /// 版本
/// </summary> /// </summary>
@ -95,20 +90,9 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
public decimal Amt { get; set; } public decimal Amt { get; set; }
public string InvBillNum { get; set; } public string InvBillNum { get; set; }
public string PartCode { get; set; } public string PartCode { get; set; }
} }
public class HBPO_CAN_SA_DETAIL_EXP_DTO public class HBPO_CAN_SA_DETAIL_EXP_DTO
@ -164,25 +148,25 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
public string PartCode { get; set; } public string PartCode { get; set; }
} }
public class HBPO_CAN_SA_REQ_DTO : RequestInputBase public class HBPO_CAN_SA_REQ_DTO : RequestInputBase
{ {
//[Display(Name = "期间")] //[Display(Name = "期间")]
//public int Version { get; set; } //public int Version { get; set; }
//[Display(Name = "结算单据")] //[Display(Name = "结算单据")]
//public string BillNum { get; set; } //public string BillNum { get; set; }
//[Display(Name = "关联结算单号")] //[Display(Name = "关联结算单号")]
//public string SettleBillNum { get; set; } //public string SettleBillNum { get; set; }
//[Display(Name = "状态")] //[Display(Name = "状态")]
//public string State { get; set; } //public string State { get; set; }
} }
public class HBPO_CAN_SA_DETAIL_REQ_DTO : RequestInputBase public class HBPO_CAN_SA_DETAIL_REQ_DTO : RequestInputBase
{ {
//[Display(Name = "关联结算单号")] //[Display(Name = "关联结算单号")]
//public string SettleBillNum { get; set; } //public string SettleBillNum { get; set; }
////[Display(Name = "业务类别")] ////[Display(Name = "业务类别")]
////public string Category { get; set; } ////public string Category { get; set; }
////[Display(Name = "是否退货")] ////[Display(Name = "是否退货")]
@ -211,9 +195,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
//[Display(Name = "结算分组号")] //[Display(Name = "结算分组号")]
//public string GroupNum { get; set; } //public string GroupNum { get; set; }
}
}
} }

20
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_NOT_SA_DTO.cs

@ -1,17 +1,11 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.Collections.Generic; using Magicodes.ExporterAndImporter.Core;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
{ {
public class HBPO_NOT_SA_DETAIL_DTO : EntityDto<Guid> public class HBPO_NOT_SA_DETAIL_DTO : EntityDto<Guid>
{ {
/// <summary> /// <summary>
@ -21,8 +15,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary> /// <summary>
///工厂地点 ///工厂地点
/// </summary> /// </summary>
public string Site { get; set; } public string Site { get; set; }
/// <summary> /// <summary>
/// 版本 /// 版本
/// </summary> /// </summary>
@ -119,14 +113,13 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[ExporterHeader(DisplayName = "厂内零件号")] [ExporterHeader(DisplayName = "厂内零件号")]
public string PartCode { get; set; } public string PartCode { get; set; }
} }
public class HBPO_NOT_SA_DETAIL_REQ_DTO : RequestInputBase public class HBPO_NOT_SA_DETAIL_REQ_DTO : RequestInputBase
{ {
//[Display(Name = "关联结算单号")] //[Display(Name = "关联结算单号")]
//public string SettleBillNum { get; set; } //public string SettleBillNum { get; set; }
////[Display(Name = "业务类别")] ////[Display(Name = "业务类别")]
////public string Category { get; set; } ////public string Category { get; set; }
////[Display(Name = "是否退货")] ////[Display(Name = "是否退货")]
@ -156,11 +149,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
//[Display(Name = "结算分组号")] //[Display(Name = "结算分组号")]
//public string GroupNum { get; set; } //public string GroupNum { get; set; }
//public string PartCode { get; set; } //public string PartCode { get; set; }
} }
} }

7
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_PD_DTO.cs

@ -1,6 +1,6 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
@ -35,8 +35,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "地点")] [Display(Name = "地点")]
public string Site { get; set; } public string Site { get; set; }
[Display(Name = "状态")] [Display(Name = "状态")]
public EnumBillState State { set; get; } public EnumBillState State { set; get; }
@ -215,7 +213,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[ExporterHeader(DisplayName = "LU")] [ExporterHeader(DisplayName = "LU")]
public string LU { get; set; } public string LU { get; set; }
[ExporterHeader(DisplayName = "物料描述")] [ExporterHeader(DisplayName = "物料描述")]
public string MaterialDesc{ get; set; } public string MaterialDesc { get; set; }
/// <summary> /// <summary>
/// 生产码 /// 生产码
/// </summary> /// </summary>
@ -262,7 +260,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// </summary> /// </summary>
public string BillNum { get; set; } public string BillNum { get; set; }
} }
} }

505
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_SA_DTO.cs

@ -5,276 +5,277 @@ using Microsoft.AspNetCore.Http;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary>
/// HBPO结算单
/// </summary>
public class HBPO_SA_DTO : EntityDto<Guid>
{ {
/// <summary> /// <summary>
/// 期间 /// HBPO结算单
/// </summary> /// </summary>
[Display(Name = "期间")] public class HBPO_SA_DTO : EntityDto<Guid>
public int Version { get; set; } {
/// <summary> /// <summary>
/// 结算单据 /// 期间
/// </summary> /// </summary>
[Display(Name = "结算单据")] [Display(Name = "期间")]
public string BillNum { get; set; } public int Version { get; set; }
/// <summary> /// <summary>
/// 出库单号 /// 结算单据
/// </summary> /// </summary>
[Display(Name = "出库单号")] [Display(Name = "结算单据")]
public string DNBillNum { get; set; } public string BillNum { get; set; }
/// <summary> /// <summary>
/// 1、新建 2、已有出库3、已有扣减寄售库 /// 出库单号
/// </summary> /// </summary>
[Display(Name = "状态")] [Display(Name = "出库单号")]
public string State { get; set; } public string DNBillNum { get; set; }
/// <summary> /// <summary>
/// 明细记录行数 /// 1、新建 2、已有出库3、已有扣减寄售库
/// </summary> /// </summary>
[Display(Name = "明细记录行数")] [Display(Name = "状态")]
public string RecordCount { get; set; } public string State { get; set; }
/// <summary> /// <summary>
/// 地点码 /// 明细记录行数
/// </summary> /// </summary>
[Display(Name = "地点码")] [Display(Name = "明细记录行数")]
public string Site { get; set; } public string RecordCount { get; set; }
/// <summary> /// <summary>
/// 地点 /// 地点码
/// </summary> /// </summary>
[Display(Name = "地点")] [Display(Name = "地点码")]
public string Place { get; set; } public string Site { get; set; }
/// <summary> /// <summary>
/// 业务类型 /// 地点
/// </summary> /// </summary>
[Display(Name = "业务类型")] [Display(Name = "地点")]
public EnumBusinessType BusinessType { get; set; } public string Place { get; set; }
} /// <summary>
/// 业务类型
/// </summary>
[Display(Name = "业务类型")]
public EnumBusinessType BusinessType { get; set; }
}
/// <summary>
/// HBPO结算明细
/// </summary>
public class HBPO_SA_DETAIL_DTO : AuditedAggregateRoot<Guid>
{
/// <summary>
/// 结算单
/// </summary>
public string BillNum { set; get; }
/// <summary>
/// 期间
/// </summary>
public int Version { set; get; }
/// <summary> /// <summary>
/// 结算分组号 /// HBPO结算明细
/// </summary> /// </summary>
public string GroupNum { get; set; } public class HBPO_SA_DETAIL_DTO : AuditedAggregateRoot<Guid>
/// <summary> {
/// 生产号 /// <summary>
/// </summary> /// 结算单
public string PN { get; set; } /// </summary>
/// <summary> public string BillNum { set; get; }
/// 客户物料号 /// <summary>
/// </summary> /// 期间
public string LU { get; set; } /// </summary>
/// <summary> public int Version { set; get; }
/// 数量 /// <summary>
/// </summary> /// 结算分组号
public string Qty { get; set; } /// </summary>
/// <summary> public string GroupNum { get; set; }
/// 结算日期 /// <summary>
/// </summary> /// 生产号
public string SettleDate { set; get; } /// </summary>
/// <summary> public string PN { get; set; }
/// 单价 /// <summary>
/// </summary> /// 客户物料号
public decimal Price { set; get; } /// </summary>
/// <summary> public string LU { get; set; }
/// 厂内物料号 /// <summary>
/// </summary> /// 数量
public string PartCode { get; set; } /// </summary>
} public string Qty { get; set; }
/// <summary>
/// 结算日期
/// </summary>
public string SettleDate { set; get; }
/// <summary>
/// 单价
/// </summary>
public decimal Price { set; get; }
/// <summary>
/// 厂内物料号
/// </summary>
public string PartCode { get; set; }
}
/// <summary>
/// HBPO结算导入请求
/// </summary>
public class HBPOSaImportRequestDto
{
/// <summary>
/// 文件
/// </summary>
public IFormFileCollection Files { get; set; }
/// <summary>
/// 业务类别
/// </summary>
public EnumBusinessType BusinessType { get; set; }
/// <summary> /// <summary>
/// 期间 /// HBPO结算导入请求
/// </summary> /// </summary>
[Display(Name = "期间")] public class HBPOSaImportRequestDto
public int Version { get; set; } {
} /// <summary>
/// 文件
/// </summary>
public IFormFileCollection Files { get; set; }
/// <summary>
/// 业务类别
/// </summary>
public EnumBusinessType BusinessType { get; set; }
/// <summary>
/// 期间
/// </summary>
[Display(Name = "期间")]
public int Version { get; set; }
}
/// <summary>
/// HBPO结算明细导入
/// </summary>
public class HBPO_SA_DETAIL_IMPORT_DTO
{
/// <summary>
/// 结算日期
/// </summary>
[Display(Name = "ReceiveDate")]
[ImporterHeader(Name = "ReceiveDate", Format = "yyyy/MM/dd HH:mm:ss")]
public DateTime SettleDate { set; get; }
/// <summary>
/// 结算分组号
/// </summary>
[Display(Name = "DeliveryNode")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "DeliveryNode")]
public string GroupNum { get; set; }
/// <summary>
/// 到货日期
/// </summary>
[Display(Name = "DeliveryDate")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "DeliveryDate", Format = "MM/yyyy/dd HH:mm:ss")]
public DateTime? DeliveryDate { get; set; }
/// <summary>
/// 客户零件号
/// </summary>
[Display(Name = "PartNumber")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "PartNumber")]
public string LU { get; set; }
/// <summary>
/// 结算数量
/// </summary>
[Display(Name = "结算数量")]
[ImporterHeader(Name = "Qty")]
public decimal Qty { get; set; }
/// <summary> /// <summary>
/// 地点 /// HBPO结算明细导入
/// </summary> /// </summary>
[Display(Name = "地点")] public class HBPO_SA_DETAIL_IMPORT_DTO
[Required(ErrorMessage = "{0}不能为空")] {
[ImporterHeader(Name = "filename")] /// <summary>
public string Place { get; set; } /// 结算日期
/// <summary> /// </summary>
/// 生产号 [Display(Name = "ReceiveDate")]
/// </summary> [ImporterHeader(Name = "ReceiveDate", Format = "yyyy/MM/dd HH:mm:ss")]
[Display(Name = "productionNumber")] public DateTime SettleDate { set; get; }
[Required(ErrorMessage = "{0}不能为空")] /// <summary>
[ImporterHeader(Name = "productionNumber")] /// 结算分组号
public string PN { get; set; } /// </summary>
} [Display(Name = "DeliveryNode")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "DeliveryNode")]
public string GroupNum { get; set; }
/// <summary>
/// 到货日期
/// </summary>
[Display(Name = "DeliveryDate")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "DeliveryDate", Format = "MM/yyyy/dd HH:mm:ss")]
public DateTime? DeliveryDate { get; set; }
/// <summary>
/// 客户零件号
/// </summary>
[Display(Name = "PartNumber")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "PartNumber")]
public string LU { get; set; }
/// <summary>
/// 结算数量
/// </summary>
[Display(Name = "结算数量")]
[ImporterHeader(Name = "Qty")]
public decimal Qty { get; set; }
/// <summary>
/// 地点
/// </summary>
[Display(Name = "地点")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "filename")]
public string Place { get; set; }
/// <summary>
/// 生产号
/// </summary>
[Display(Name = "productionNumber")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "productionNumber")]
public string PN { get; set; }
}
/// <summary>
/// 买单件HBPO导入
/// </summary>
public class MaiDanJianHBPOImportDto
{
/// <summary>
/// 结算日期
/// </summary>
[Display(Name = "买单日期")]
[ImporterHeader(Name = "买单日期")]
public DateTime SettleDate { set; get; }
/// <summary>
/// 客户零件号
/// </summary>
[Display(Name = "零件号")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "零件号")]
public string LU { get; set; }
/// <summary>
/// 生产号
/// </summary>
[Display(Name = "现产品生产号")]
[ImporterHeader(Name = "现产品生产号")]
[Required(ErrorMessage = "{0}不能为空")]
public string PN { get; set; }
/// <summary>
/// 数量
/// </summary>
[Display(Name = "数量")]
[ImporterHeader(Name = "数量")]
public decimal Qty { get; set; }
/// <summary> /// <summary>
/// 结算分组号 /// 买单件HBPO导入
/// </summary> /// </summary>
[Display(Name = "五联单号")] public class MaiDanJianHBPOImportDto
[ImporterHeader(Name = "五联单号")] {
[Required(ErrorMessage = "{0}不能为空")] /// <summary>
public string GroupNum { get; set; } /// 结算日期
/// <summary> /// </summary>
/// 地点 [Display(Name = "买单日期")]
/// </summary> [ImporterHeader(Name = "买单日期")]
[Display(Name = "地点")] public DateTime SettleDate { set; get; }
[ImporterHeader(Name = "地点")] /// <summary>
[Required(ErrorMessage = "{0}不能为空")] /// 客户零件号
public string Place { get; set; } /// </summary>
} [Display(Name = "零件号")]
[Required(ErrorMessage = "{0}不能为空")]
[ImporterHeader(Name = "零件号")]
public string LU { get; set; }
/// <summary>
/// 生产号
/// </summary>
[Display(Name = "现产品生产号")]
[ImporterHeader(Name = "现产品生产号")]
[Required(ErrorMessage = "{0}不能为空")]
public string PN { get; set; }
/// <summary>
/// 数量
/// </summary>
[Display(Name = "数量")]
[ImporterHeader(Name = "数量")]
public decimal Qty { get; set; }
/// <summary>
/// 结算分组号
/// </summary>
[Display(Name = "五联单号")]
[ImporterHeader(Name = "五联单号")]
[Required(ErrorMessage = "{0}不能为空")]
public string GroupNum { get; set; }
/// <summary>
/// 地点
/// </summary>
[Display(Name = "地点")]
[ImporterHeader(Name = "地点")]
[Required(ErrorMessage = "{0}不能为空")]
public string Place { get; set; }
}
/// <summary>
/// 结算明细导出请求
/// </summary>
public class HBPO_SA_DETAIL_EXPORT_REQUEST_DTO
{
/// <summary> /// <summary>
/// 结算单号 /// 结算明细导出请求
/// </summary> /// </summary>
[Display(Name = "结算单号")] public class HBPO_SA_DETAIL_EXPORT_REQUEST_DTO
[Required(ErrorMessage = "{0}不能为空")] {
public string BillNum { set; get; } /// <summary>
} /// 结算单号
/// </summary>
[Display(Name = "结算单号")]
[Required(ErrorMessage = "{0}不能为空")]
public string BillNum { set; get; }
}
/// <summary>
/// 结算明细导出
/// </summary>
public class HBPO_SA_DETAIL_EXPORT_DTO
{
/// <summary> /// <summary>
/// 结算单号 /// 结算明细导出
/// </summary> /// </summary>
[Display(Name = "结算单号")] public class HBPO_SA_DETAIL_EXPORT_DTO
[ExporterHeader(DisplayName = "结算单号")] {
public string BillNum { set; get; } /// <summary>
/// 结算单号
/// </summary>
[Display(Name = "结算单号")]
[ExporterHeader(DisplayName = "结算单号")]
public string BillNum { set; get; }
/// <summary> /// <summary>
/// 结算日期 /// 结算日期
/// </summary> /// </summary>
[Display(Name = "结算日期")] [Display(Name = "结算日期")]
[ExporterHeader(DisplayName = "结算日期")] [ExporterHeader(DisplayName = "结算日期")]
public DateTime SettleDate { set; get; } public DateTime SettleDate { set; get; }
/// <summary> /// <summary>
/// 发货单号 /// 发货单号
/// </summary> /// </summary>
[Display(Name = "发货单号")] [Display(Name = "发货单号")]
[ExporterHeader(DisplayName = "发货单号")] [ExporterHeader(DisplayName = "发货单号")]
public string PN { get; set; } public string PN { get; set; }
/// <summary> /// <summary>
/// 零件号 /// 零件号
/// </summary> /// </summary>
[Display(Name = "零件号")] [Display(Name = "零件号")]
[ExporterHeader(DisplayName = "零件号")] [ExporterHeader(DisplayName = "零件号")]
public string LU { get; set; } public string LU { get; set; }
/// <summary> /// <summary>
/// 数量 /// 数量
/// </summary> /// </summary>
[Display(Name = "数量")] [Display(Name = "数量")]
[ExporterHeader(DisplayName = "数量")] [ExporterHeader(DisplayName = "数量")]
public decimal Qty { get; set; } public decimal Qty { get; set; }
/// <summary> /// <summary>
/// 结算分组 /// 结算分组
/// </summary> /// </summary>
[Display(Name = "结算分组")] [Display(Name = "结算分组")]
[ExporterHeader(DisplayName = "结算分组")] [ExporterHeader(DisplayName = "结算分组")]
public string GroupNum { get; set; } public string GroupNum { get; set; }
}
} }

797
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_SE_DETAIL_DTO.cs

@ -5,432 +5,433 @@ using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Entities.BQ.Syncs; using Win.Sfs.SettleAccount.Entities.BQ.Syncs;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary>
/// HBPO发运单
/// </summary>
public class HBPO_SE_DETAIL_DTO : EntityDto<Guid>
{ {
/// <summary> /// <summary>
/// 期间 /// HBPO发运单
/// </summary> /// </summary>
public int Version { set; get; } public class HBPO_SE_DETAIL_DTO : EntityDto<Guid>
/// <summary> {
/// 发货时间 /// <summary>
/// </summary> /// 期间
public DateTime ShippingDate { set; get; } /// </summary>
/// <summary> public int Version { set; get; }
/// 发运单号 /// <summary>
/// </summary> /// 发货时间
public string WmsBillNum { set; get; } /// </summary>
/// <summary> public DateTime ShippingDate { set; get; }
/// 客户零件号 /// <summary>
/// </summary> /// 发运单号
public string LU { get; set; } /// </summary>
/// <summary> public string WmsBillNum { set; get; }
/// 厂内零件号 /// <summary>
/// </summary> /// 客户零件号
public string FactoryPartCode { get; set; } /// </summary>
/// <summary> public string LU { get; set; }
/// 生产号 /// <summary>
/// </summary> /// 厂内零件号
public string PN { get; set; } /// </summary>
/// <summary> public string FactoryPartCode { get; set; }
/// 组合键值(PN+LU) /// <summary>
/// </summary> /// 生产号
public string KeyCode { get; set; } /// </summary>
/// <summary> public string PN { get; set; }
/// 数量 /// <summary>
/// </summary> /// 组合键值(PN+LU)
public decimal Qty { get; set; } /// </summary>
/// <summary> public string KeyCode { get; set; }
/// UID /// <summary>
/// </summary> /// 数量
[Display(Name = "UID")] /// </summary>
[DisplayName("UID")] public decimal Qty { get; set; }
public long UID { get; set; } /// <summary>
/// <summary> /// UID
/// JIT订单号 /// </summary>
/// </summary> [Display(Name = "UID")]
[Display(Name = "JIT订单号")] [DisplayName("UID")]
[DisplayName("JIT订单号")] public long UID { get; set; }
public string JISNum { get; set; } /// <summary>
/// <summary> /// JIT订单号
/// JIT排序生产码 /// </summary>
/// </summary> [Display(Name = "JIT订单号")]
[Display(Name = "JIT排序生产码")] [DisplayName("JIT订单号")]
public string VinCode { get; set; } public string JISNum { get; set; }
/// <summary> /// <summary>
/// JIT排序生产码类型 /// JIT排序生产码
/// </summary> /// </summary>
[Display(Name = "JIT排序生产码类型")] [Display(Name = "JIT排序生产码")]
public string CodeType { get; set; } public string VinCode { get; set; }
/// <summary> /// <summary>
/// 订单零件号 /// JIT排序生产码类型
/// </summary> /// </summary>
[Display(Name = "订单零件号")] [Display(Name = "JIT排序生产码类型")]
public string PartCode { get; set; } public string CodeType { get; set; }
/// <summary> /// <summary>
/// 订单零件号 /// 订单零件号
/// </summary> /// </summary>
[Display(Name = "订单零件号")] [Display(Name = "订单零件号")]
public string RealPartCode { get; set; } public string PartCode { get; set; }
/// <summary> /// <summary>
/// 批次 /// 订单零件号
/// </summary> /// </summary>
[Display(Name = "批次")] [Display(Name = "订单零件号")]
public string Batch { get; set; } public string RealPartCode { get; set; }
/// <summary> /// <summary>
/// 客户零件号 /// 批次
/// </summary> /// </summary>
[Display(Name = "客户零件号")] [Display(Name = "批次")]
public string CustPartCode { get; set; } public string Batch { get; set; }
/// <summary> /// <summary>
/// 订单序号 /// 客户零件号
/// </summary> /// </summary>
[Display(Name = "订单序号")] [Display(Name = "客户零件号")]
public string Seq { get; set; } public string CustPartCode { get; set; }
/// <summary> /// <summary>
/// 订单时间 /// 订单序号
/// </summary> /// </summary>
[Display(Name = "订单时间")] [Display(Name = "订单序号")]
public DateTime AssembleData { get; set; } public string Seq { get; set; }
/// <summary> /// <summary>
/// 发货条码 /// 订单时间
/// </summary> /// </summary>
[Display(Name = "发货条码")] [Display(Name = "订单时间")]
public string DeliverCode { get; set; } public DateTime AssembleData { get; set; }
/// <summary> /// <summary>
/// 发货单号 /// 发货条码
/// </summary> /// </summary>
[Display(Name = "发货单号")] [Display(Name = "发货条码")]
public string BillNum { get; set; } public string DeliverCode { get; set; }
/// <summary> /// <summary>
/// 发货时间 /// 发货单号
/// </summary> /// </summary>
[Display(Name = "发货时间")] [Display(Name = "发货单号")]
public DateTime? BillTime { get; set; } public string BillNum { get; set; }
/// <summary> /// <summary>
/// 发货人 /// 发货时间
/// </summary> /// </summary>
[Display(Name = "发货人")] [Display(Name = "发货时间")]
public string Oper { get; set; } public DateTime? BillTime { get; set; }
/// <summary> /// <summary>
/// 客户位置 /// 发货人
/// </summary> /// </summary>
[Display(Name = "客户位置")] [Display(Name = "发货人")]
public string Position { get; set; } public string Oper { get; set; }
/// <summary> /// <summary>
/// 工厂 /// 客户位置
/// </summary> /// </summary>
[Display(Name = "工厂")] [Display(Name = "客户位置")]
public string Factory { get; set; } public string Position { get; set; }
/// <summary> /// <summary>
/// MES配置码 /// 工厂
/// </summary> /// </summary>
[Display(Name = "MES配置码")] [Display(Name = "工厂")]
public string MESConfigCode { get; set; } public string Factory { get; set; }
/// <summary> /// <summary>
/// 目标库位 /// MES配置码
/// </summary> /// </summary>
[Display(Name = "目标库位")] [Display(Name = "MES配置码")]
public string ToLoc { get; set; } public string MESConfigCode { get; set; }
/// <summary> /// <summary>
/// 单据类型 /// 目标库位
/// </summary> /// </summary>
public EnumBillType BillType { get; set; } [Display(Name = "目标库位")]
/// <summary> public string ToLoc { get; set; }
/// 子单据类型 /// <summary>
/// </summary> /// 单据类型
[Display(Name = "子单据类型")] /// </summary>
public EnumSubBillType SubBillType { get; set; } public EnumBillType BillType { get; set; }
/// <summary> /// <summary>
/// 事务类型 /// 子单据类型
/// </summary> /// </summary>
[Display(Name = "事务类型")] [Display(Name = "子单据类型")]
public EnumDelTransType TransType { get; set; } public EnumSubBillType SubBillType { get; set; }
/// <summary> /// <summary>
/// 发运主类型 /// 事务类型
/// </summary> /// </summary>
[Display(Name = "发运主类型")] [Display(Name = "事务类型")]
public EnumDeliverBjBmpBillType DeliverBillType { get; set; } public EnumDelTransType TransType { get; set; }
/// <summary> /// <summary>
/// 发运子类型 /// 发运主类型
/// </summary> /// </summary>
[Display(Name = "发运子类型")] [Display(Name = "发运主类型")]
public EnumDeliverSubBillType DeliverSubBillType { get; set; } public EnumDeliverBjBmpBillType DeliverBillType { get; set; }
/// <summary> /// <summary>
/// 单据性质 /// 发运子类型
/// </summary> /// </summary>
[Display(Name = "单据性质")] [Display(Name = "发运子类型")]
public string BillCharacter { get; set; } public EnumDeliverSubBillType DeliverSubBillType { get; set; }
/// <summary> /// <summary>
/// 原生产码 /// 单据性质
/// </summary> /// </summary>
[Display(Name = "原生产码")] [Display(Name = "单据性质")]
public string OrigiCode { get; set; } public string BillCharacter { get; set; }
/// <summary> /// <summary>
/// 描述 /// 原生产码
/// </summary> /// </summary>
[Display(Name = "描述")] [Display(Name = "原生产码")]
public string PartDesc { get; set; } public string OrigiCode { get; set; }
/// <summary> /// <summary>
/// 备注 /// 描述
/// </summary> /// </summary>
[Display(Name = "备注")] [Display(Name = "描述")]
public string Remark { get; set; } public string PartDesc { get; set; }
/// <summary> /// <summary>
/// 业务类型 /// 备注
/// </summary> /// </summary>
[Display(Name = "业务类型")] [Display(Name = "备注")]
public EnumProTpe ProType { get; set; } public string Remark { get; set; }
/// <summary> /// <summary>
/// JIS排序单号 /// 业务类型
/// </summary> /// </summary>
[Display(Name = "JIS排序单号")] [Display(Name = "业务类型")]
public string OrderNum { get; set; } public EnumProTpe ProType { get; set; }
/// <summary> /// <summary>
/// JIS实际生产码 /// JIS排序单号
/// </summary> /// </summary>
[Display(Name = "JIS实际生产码")] [Display(Name = "JIS排序单号")]
public string RealCode { get; set; } public string OrderNum { get; set; }
/// <summary> /// <summary>
/// 来源库位 /// JIS实际生产码
/// </summary> /// </summary>
[Display(Name = "来源库位")] [Display(Name = "JIS实际生产码")]
public string FromLoc { get; set; } public string RealCode { get; set; }
/// <summary> /// <summary>
/// 参照订单生产码 /// 来源库位
/// </summary> /// </summary>
[Display(Name = "参照订单生产码")] [Display(Name = "来源库位")]
public string RefVinCode { get; set; } public string FromLoc { get; set; }
/// <summary> /// <summary>
/// 发货关联单号 /// 参照订单生产码
/// </summary> /// </summary>
[Display(Name = "发货关联单号")] [Display(Name = "参照订单生产码")]
public string RefBillNum { get; set; } public string RefVinCode { get; set; }
/// <summary> /// <summary>
/// Erp目标库位 /// 发货关联单号
/// </summary> /// </summary>
[Display(Name = "Erp目标库位")] [Display(Name = "发货关联单号")]
public string ErpToLoc { get; set; } public string RefBillNum { get; set; }
/// <summary> /// <summary>
/// 塑件唯一码 /// Erp目标库位
/// </summary> /// </summary>
[Display(Name = "塑件唯一码")] [Display(Name = "Erp目标库位")]
public string UniqueCode { get; set; } public string ErpToLoc { get; set; }
/// <summary> /// <summary>
/// PJS顺序号 /// 塑件唯一码
/// </summary> /// </summary>
[Display(Name = "PJS顺序号")] [Display(Name = "塑件唯一码")]
public string PjsNum { get; set; } public string UniqueCode { get; set; }
/// <summary> /// <summary>
/// 虚拟小总成 /// PJS顺序号
/// </summary> /// </summary>
[Display(Name = "虚拟小总成")] [Display(Name = "PJS顺序号")]
public string MatchNumber { get; set; } public string PjsNum { get; set; }
/// <summary> /// <summary>
/// 状态 /// 虚拟小总成
/// </summary> /// </summary>
[Display(Name = "状态")] [Display(Name = "虚拟小总成")]
public EnumBillState State { get; set; } public string MatchNumber { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 状态
/// </summary> /// </summary>
[Display(Name = "创建时间")] [Display(Name = "状态")]
public DateTime CreateTime { get; set; } public EnumBillState State { get; set; }
/// <summary> /// <summary>
/// 是否有EDI数据 /// 创建时间
/// </summary> /// </summary>
[Display(Name = "是否有EDI数据")] [Display(Name = "创建时间")]
public bool IsHaveEdiData { get; set; } public DateTime CreateTime { get; set; }
} /// <summary>
/// 是否有EDI数据
/// </summary>
[Display(Name = "是否有EDI数据")]
public bool IsHaveEdiData { get; set; }
}
/// <summary>
/// 导出
/// </summary>
public class HBPO_SE_DETAIL_EXPORT_DTO
{
/// <summary> /// <summary>
/// 发货单号 /// 导出
/// </summary> /// </summary>
[Display(Name = "发货单号")] public class HBPO_SE_DETAIL_EXPORT_DTO
[ExporterHeader(DisplayName = "发货单号")] {
public string WmsBillNum { get; set; } /// <summary>
/// 发货单号
/// </summary>
[Display(Name = "发货单号")]
[ExporterHeader(DisplayName = "发货单号")]
public string WmsBillNum { get; set; }
/// <summary> /// <summary>
/// 单据编号 /// 单据编号
/// </summary> /// </summary>
[Display(Name = "单据编号")] [Display(Name = "单据编号")]
[ExporterHeader(DisplayName = "单据编号")] [ExporterHeader(DisplayName = "单据编号")]
public string Num { get; set; } public string Num { get; set; }
/// <summary> /// <summary>
/// 发货时间 /// 发货时间
/// </summary> /// </summary>
[Display(Name = "发货时间")] [Display(Name = "发货时间")]
[ExporterHeader(DisplayName = "发货时间")] [ExporterHeader(DisplayName = "发货时间")]
public DateTime BillTime { get; set; } public DateTime BillTime { get; set; }
/// <summary> /// <summary>
/// 发货人 /// 发货人
/// </summary> /// </summary>
[Display(Name = "发货人")] [Display(Name = "发货人")]
[ExporterHeader(DisplayName = "发货人")] [ExporterHeader(DisplayName = "发货人")]
public string Oper { get; set; } public string Oper { get; set; }
/// <summary> /// <summary>
/// 排序单号 /// 排序单号
/// </summary> /// </summary>
[Display(Name = "排序单号")] [Display(Name = "排序单号")]
[ExporterHeader(DisplayName = "排序单号")] [ExporterHeader(DisplayName = "排序单号")]
public string OrderNum { get; set; } public string OrderNum { get; set; }
/// <summary> /// <summary>
/// 订单序号 /// 订单序号
/// </summary> /// </summary>
[Display(Name = "订单序号")] [Display(Name = "订单序号")]
[ExporterHeader(DisplayName = "订单序号")] [ExporterHeader(DisplayName = "订单序号")]
public string Seq { get; set; } public string Seq { get; set; }
/// <summary> /// <summary>
/// 实际生产码 /// 实际生产码
/// </summary> /// </summary>
[Display(Name = "实际生产码")] [Display(Name = "实际生产码")]
[ExporterHeader(DisplayName = "实际生产码")] [ExporterHeader(DisplayName = "实际生产码")]
public string RealCode { get; set; } public string RealCode { get; set; }
/// <summary> /// <summary>
/// 订单生产码 /// 订单生产码
/// </summary> /// </summary>
[Display(Name = "订单生产码")] [Display(Name = "订单生产码")]
[ExporterHeader(DisplayName = "订单生产码")] [ExporterHeader(DisplayName = "订单生产码")]
public string VinCode { get; set; } public string VinCode { get; set; }
/// <summary> /// <summary>
/// 生产码类型 /// 生产码类型
/// </summary> /// </summary>
[Display(Name = "生产码类型")] [Display(Name = "生产码类型")]
[ExporterHeader(DisplayName = "生产码类型")] [ExporterHeader(DisplayName = "生产码类型")]
public string CodeType { get; set; } public string CodeType { get; set; }
/// <summary> /// <summary>
/// 实际零件号 /// 实际零件号
/// </summary> /// </summary>
[Display(Name = "实际零件号")] [Display(Name = "实际零件号")]
[ExporterHeader(DisplayName = "实际零件号")] [ExporterHeader(DisplayName = "实际零件号")]
public string RealPartCode { get; set; } public string RealPartCode { get; set; }
/// <summary> /// <summary>
/// 零件号 /// 零件号
/// </summary> /// </summary>
[Display(Name = "零件号")] [Display(Name = "零件号")]
[ExporterHeader(DisplayName = "零件号")] [ExporterHeader(DisplayName = "零件号")]
public string PartCode { get; set; } public string PartCode { get; set; }
/// <summary> /// <summary>
/// 批次 /// 批次
/// </summary> /// </summary>
[Display(Name = "批次")] [Display(Name = "批次")]
[ExporterHeader(DisplayName = "批次")] [ExporterHeader(DisplayName = "批次")]
public string Batch { get; set; } public string Batch { get; set; }
/// <summary> /// <summary>
/// MES配置码 /// MES配置码
/// </summary> /// </summary>
[Display(Name = "MES配置码")] [Display(Name = "MES配置码")]
[ExporterHeader(DisplayName = "MES配置码")] [ExporterHeader(DisplayName = "MES配置码")]
public string MESConfigCode { get; set; } public string MESConfigCode { get; set; }
/// <summary> /// <summary>
/// 来源库位 /// 来源库位
/// </summary> /// </summary>
[Display(Name = "来源库位")] [Display(Name = "来源库位")]
[ExporterHeader(DisplayName = "来源库位")] [ExporterHeader(DisplayName = "来源库位")]
public string FromLoc { get; set; } public string FromLoc { get; set; }
/// <summary> /// <summary>
/// 目标库位 /// 目标库位
/// </summary> /// </summary>
[Display(Name = "目标库位")] [Display(Name = "目标库位")]
[ExporterHeader(DisplayName = "目标库位")] [ExporterHeader(DisplayName = "目标库位")]
public string ToLoc { get; set; } public string ToLoc { get; set; }
/// <summary> /// <summary>
/// 参照订单生产码 /// 参照订单生产码
/// </summary> /// </summary>
[Display(Name = "参照订单生产码")] [Display(Name = "参照订单生产码")]
[ExporterHeader(DisplayName = "参照订单生产码")] [ExporterHeader(DisplayName = "参照订单生产码")]
public string RefVinCode { get; set; } public string RefVinCode { get; set; }
/// <summary> /// <summary>
/// 单据性质 /// 单据性质
/// </summary> /// </summary>
[Display(Name = "单据性质")] [Display(Name = "单据性质")]
[ExporterHeader(DisplayName = "单据性质")] [ExporterHeader(DisplayName = "单据性质")]
public string BillCharacter { get; set; } public string BillCharacter { get; set; }
/// <summary> /// <summary>
/// 发货关联单号 /// 发货关联单号
/// </summary> /// </summary>
[Display(Name = "发货关联单号")] [Display(Name = "发货关联单号")]
[ExporterHeader(DisplayName = "发货关联单号")] [ExporterHeader(DisplayName = "发货关联单号")]
public string RefBillNum { get; set; } public string RefBillNum { get; set; }
/// <summary> /// <summary>
/// Erp目标库位 /// Erp目标库位
/// </summary> /// </summary>
[Display(Name = "Erp目标库位")] [Display(Name = "Erp目标库位")]
[ExporterHeader(DisplayName = "Erp目标库位")] [ExporterHeader(DisplayName = "Erp目标库位")]
public string ErpToLoc { get; set; } public string ErpToLoc { get; set; }
/// <summary> /// <summary>
/// 原生产码 /// 原生产码
/// </summary> /// </summary>
[Display(Name = "原生产码")] [Display(Name = "原生产码")]
[ExporterHeader(DisplayName = "原生产码")] [ExporterHeader(DisplayName = "原生产码")]
public string OrigiCode { get; set; } public string OrigiCode { get; set; }
/// <summary> /// <summary>
/// 备注 /// 备注
/// </summary> /// </summary>
[Display(Name = "备注")] [Display(Name = "备注")]
[ExporterHeader(DisplayName = "备注")] [ExporterHeader(DisplayName = "备注")]
public string Remark { get; set; } public string Remark { get; set; }
/// <summary> /// <summary>
/// 塑件唯一码 /// 塑件唯一码
/// </summary> /// </summary>
[Display(Name = "塑件唯一码")] [Display(Name = "塑件唯一码")]
[ExporterHeader(DisplayName = "塑件唯一码")] [ExporterHeader(DisplayName = "塑件唯一码")]
public string UniqueCode { get; set; } public string UniqueCode { get; set; }
/// <summary> /// <summary>
/// PJS顺序号 /// PJS顺序号
/// </summary> /// </summary>
[Display(Name = "PJS顺序号")] [Display(Name = "PJS顺序号")]
[ExporterHeader(DisplayName = "PJS顺序号")] [ExporterHeader(DisplayName = "PJS顺序号")]
public string PjsNum { get; set; } public string PjsNum { get; set; }
/// <summary> /// <summary>
/// 虚拟小总成 /// 虚拟小总成
/// </summary> /// </summary>
[Display(Name = "虚拟小总成")] [Display(Name = "虚拟小总成")]
[ExporterHeader(DisplayName = "虚拟小总成")] [ExporterHeader(DisplayName = "虚拟小总成")]
public string MatchNumber { get; set; } public string MatchNumber { get; set; }
/// <summary> /// <summary>
/// 发货条码 /// 发货条码
/// </summary> /// </summary>
[Display(Name = "发货条码")] [Display(Name = "发货条码")]
[ExporterHeader(DisplayName = "发货条码")] [ExporterHeader(DisplayName = "发货条码")]
public string DeliverCode { get; set; } public string DeliverCode { get; set; }
/// <summary> /// <summary>
/// 客户位置 /// 客户位置
/// </summary> /// </summary>
[Display(Name = "客户位置")] [Display(Name = "客户位置")]
[ExporterHeader(DisplayName = "客户位置")] [ExporterHeader(DisplayName = "客户位置")]
public string Position { get; set; } public string Position { get; set; }
}
} }

2
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/HBPO_SE_EDI_DTO.cs

@ -1,6 +1,6 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos

24
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/INVOICE_GRP_DTO.cs

@ -1,11 +1,7 @@
using Magicodes.ExporterAndImporter.Core;
using SettleAccount.Domain.BQ;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using Magicodes.ExporterAndImporter.Core;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.Shared.Constant; using Win.Sfs.Shared.Constant;
@ -202,7 +198,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
public decimal PreTaxDiff { get; set; } public decimal PreTaxDiff { get; set; }
//[ImporterHeader(Name = "税后金额", FixAllSpace = true)] //[ImporterHeader(Name = "税后金额", FixAllSpace = true)]
//[Required(ErrorMessage = "{0}是必填项")] //[Required(ErrorMessage = "{0}是必填项")]
@ -275,7 +271,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
} }
public class UNSETTLED_DETAIL_DTO public class UNSETTLED_DETAIL_DTO
{ {
[Display(Name ="结算分组号")] [Display(Name = "结算分组号")]
public string GroupNum { set; get; } public string GroupNum { set; get; }
[Display(Name = "零件号")] [Display(Name = "零件号")]
public string LU { set; get; } public string LU { set; get; }
@ -447,7 +443,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// </summary> /// </summary>
[Display(Name = "业务分类")] [Display(Name = "业务分类")]
public string BussiessType { get; set; } public string BussiessType { get; set; }
/// <summary> /// <summary>
///扩展字段3 ///扩展字段3
@ -465,7 +461,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
public class INVOICE_WAIT_DETAIL_DTO public class INVOICE_WAIT_DETAIL_DTO
{ {
@ -531,7 +527,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// </summary> /// </summary>
//[Display(Name = "SA号")] //[Display(Name = "SA号")]
//public string Extend1 { get; set; } //public string Extend1 { get; set; }
/// <summary> /// <summary>
///扩展字段3 ///扩展字段3
/// </summary> /// </summary>
@ -543,7 +539,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "价格结束日期")] [Display(Name = "价格结束日期")]
public DateTime EndDate { get; set; } public DateTime EndDate { get; set; }
[Display(Name = "扩展字段", AutoGenerateField = false)] [Display(Name = "扩展字段", AutoGenerateField = false)]
public Dictionary<string, object> ExtraProperties { get; set; } public Dictionary<string, object> ExtraProperties { get; set; }
@ -566,7 +562,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
} }
public class INVOICE_MAP_GROUP_DTO public class INVOICE_MAP_GROUP_DTO
{ {
@ -662,7 +658,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
public string InvGroupNum { get; set; } public string InvGroupNum { get; set; }
} }
public class INVOICE_NOT_SETTLE_DTO public class INVOICE_NOT_SETTLE_DTO
{ {
[Display(Name = "金税发票")] [Display(Name = "金税发票")]
public string RealInvBillNum { get; set; } public string RealInvBillNum { get; set; }
@ -736,7 +732,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "不可结数量")] [Display(Name = "不可结数量")]
public string Qty { get; set; } public string Qty { get; set; }
} }

235
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_ADJ_DETAIL_DTO.cs

@ -1,134 +1,117 @@
using System; using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
public class PUB_ADJ_DETAIL_DTO : EntityDto<Guid>
{
[Display(Name = "金税发票")]
public string RealInvBillNum { get; set; }
///// <summary>
/////作废发票号
///// </summary>
//[Display(Name = "作废发票号")]
//public string OldInvBillNum { get; set; }
/// <summary>
///发票号
/// </summary>
[Display(Name = "发票号")]
public string InvBillNum { get; set; }
/// <summary>
/// 下线日期
/// </summary>
[Display(Name = "下线日期")]
public DateTime SettleDate { get; set; }
//[Display(Name = "发票分组号")]
//public string InvGroupNum { get; set; }
[Display(Name = "零件号")]
public string LU { get; set; }
[Display(Name = "标识号")]
public string PN { get; set; }
[Display(Name = "数量")]
public decimal Qty { get; set; }
[Display(Name = "结算分组")]
public string GroupNum { get; set; }
[Display(Name = "键值")]
public string KeyCode { get; set; }
[Display(Name = "价格")]
public decimal Price { get; set; }
}
public class PUB_ADJ_DETAIL_EXP_DTO
{ {
/// <summary> public class PUB_ADJ_DETAIL_DTO : EntityDto<Guid>
///发票号 {
/// </summary>
[Display(Name = "发票号")] [Display(Name = "金税发票")]
public string OldInvBillNum { get; set; } public string RealInvBillNum { get; set; }
///// <summary>
[Display(Name = "新发票号")] /////作废发票号
public string InvBillNum { get; set; } ///// </summary>
//[Display(Name = "作废发票号")]
[Display(Name = "下线日期")] //public string OldInvBillNum { get; set; }
public DateTime SettleDate { get; set; } /// <summary>
///发票号
[Display(Name = "零件号")] /// </summary>
public string LU { get; set; } [Display(Name = "发票号")]
[Display(Name = "标识号")] public string InvBillNum { get; set; }
public string PN { get; set; } /// <summary>
[Display(Name = "数量")] /// 下线日期
public decimal Qty { get; set; } /// </summary>
[Display(Name = "结算分组号")] [Display(Name = "下线日期")]
public string GroupNum { get; set; } public DateTime SettleDate { get; set; }
public string PartCode { get; set; }
//[Display(Name = "发票分组号")]
//public string InvGroupNum { get; set; }
[Display(Name = "零件号")]
public string LU { get; set; }
[Display(Name = "标识号")]
public string PN { get; set; }
[Display(Name = "数量")]
public decimal Qty { get; set; }
[Display(Name = "结算分组")]
public string GroupNum { get; set; }
[Display(Name = "键值")]
public string KeyCode { get; set; }
[Display(Name = "价格")]
public decimal Price { get; set; }
}
public class PUB_ADJ_DETAIL_EXP_DTO
{
/// <summary>
///发票号
/// </summary>
[Display(Name = "发票号")]
public string OldInvBillNum { get; set; }
[Display(Name = "新发票号")]
public string InvBillNum { get; set; }
[Display(Name = "下线日期")]
public DateTime SettleDate { get; set; }
[Display(Name = "零件号")]
public string LU { get; set; }
[Display(Name = "标识号")]
public string PN { get; set; }
[Display(Name = "数量")]
public decimal Qty { get; set; }
[Display(Name = "结算分组号")]
public string GroupNum { get; set; }
public string PartCode { get; set; }
}
public class PUB_ADJ_DETAIL_IMP_DTO
{
/// <summary>
///发票号
/// </summary>
[ImporterHeader(Name = "发票号")]
public string OldInvBillNum { get; set; }
[ImporterHeader(Name = "下线日期")]
public DateTime SettleDate { get; set; }
[ImporterHeader(Name = "零件号")]
public string LU { get; set; }
[ImporterHeader(Name = "厂内零件号")]
public string PartCode { get; set; }
[ImporterHeader(Name = "标识号")]
public string PN { get; set; }
[ImporterHeader(Name = "数量")]
public decimal Qty { get; set; }
[ImporterHeader(Name = "结算分组号")]
public string GroupNum { get; set; }
}
public class PUB_ADJ_DETAIL_REQ_DTO : RequestInputBase
{
/// <summary>
///发票号
/// </summary>
[Display(Name = "发票号")]
public string OldInvBillNum { get; set; }
[Display(Name = "下线日期")]
public DateTime SettleDate { get; set; }
[Display(Name = "零件号")]
public string LU { get; set; }
[Display(Name = "标识号")]
public string PN { get; set; }
[Display(Name = "数量")]
public decimal Qty { get; set; }
[Display(Name = "结算分组号")]
public string GroupNum { get; set; }
}
} }
public class PUB_ADJ_DETAIL_IMP_DTO
{
/// <summary>
///发票号
/// </summary>
[ImporterHeader(Name = "发票号")]
public string OldInvBillNum { get; set; }
[ImporterHeader(Name = "下线日期")]
public DateTime SettleDate { get; set; }
[ImporterHeader(Name = "零件号")]
public string LU { get; set; }
[ImporterHeader(Name = "厂内零件号")]
public string PartCode { get; set; }
[ImporterHeader(Name = "标识号")]
public string PN { get; set; }
[ImporterHeader(Name = "数量")]
public decimal Qty { get; set; }
[ImporterHeader(Name = "结算分组号")]
public string GroupNum { get; set; }
}
public class PUB_ADJ_DETAIL_REQ_DTO : RequestInputBase
{
/// <summary>
///发票号
/// </summary>
[Display(Name = "发票号")]
public string OldInvBillNum { get; set; }
[Display(Name = "下线日期")]
public DateTime SettleDate { get; set; }
[Display(Name = "零件号")]
public string LU { get; set; }
[Display(Name = "标识号")]
public string PN { get; set; }
[Display(Name = "数量")]
public decimal Qty { get; set; }
[Display(Name = "结算分组号")]
public string GroupNum { get; set; }
}

33
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_CAN_SA_DTO.cs

@ -1,14 +1,8 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq; using Magicodes.ExporterAndImporter.Core;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.SettleAccount.Entities.Materials;
using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
{ {
@ -62,7 +56,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "发票分组号")] [Display(Name = "发票分组号")]
public string InvGroupNum { get; set; } public string InvGroupNum { get; set; }
} }
public class PUB_CAN_SA_DETAIL_DTO : EntityDto<Guid> public class PUB_CAN_SA_DETAIL_DTO : EntityDto<Guid>
{ {
@ -116,12 +109,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "行号")] [Display(Name = "行号")]
public int IndexNum { get; set; } public int IndexNum { get; set; }
} }
public class PUB_CAN_SA_DETAIL_EXP_DTO public class PUB_CAN_SA_DETAIL_EXP_DTO
{ {
@ -162,20 +151,11 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[ExporterHeader(DisplayName = "物料描述")] [ExporterHeader(DisplayName = "物料描述")]
public string MaterialDesc { set; get; } public string MaterialDesc { set; get; }
[ExporterHeader(DisplayName= "客户零件号")] [ExporterHeader(DisplayName = "客户零件号")]
public string PartCode { get; set; } public string PartCode { get; set; }
} }
public class PUB_CAN_SA_DETAIL_REQ_DTO : RequestInputBase public class PUB_CAN_SA_DETAIL_REQ_DTO : RequestInputBase
{ {
@ -210,16 +190,7 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "发货单号、交付单号")] [Display(Name = "发货单号、交付单号")]
public string PN { get; set; } public string PN { get; set; }
} }
} }

32
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_NOT_SA_DTO.cs

@ -1,13 +1,7 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.Shared.Filter;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
{ {
@ -55,8 +49,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
} }
public class PUB_NOT_SA_DETAIL_EXP_DTO public class PUB_NOT_SA_DETAIL_EXP_DTO
{ {
@ -103,40 +95,26 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
} }
public class PUB_NOT_SA_DETAIL_REQ_DTO : RequestInputBase public class PUB_NOT_SA_DETAIL_REQ_DTO : RequestInputBase
{ {
//[Display(Name = "工厂地点")] //[Display(Name = "工厂地点")]
//public string Site { get; set; } //public string Site { get; set; }
//[Display(Name = "业务分类")] //[Display(Name = "业务分类")]
//public EnumBusinessType BusinessType { get; set; } //public EnumBusinessType BusinessType { get; set; }
//public int Version { get; set; } //public int Version { get; set; }
//public string SettleBillNum { get; set; } //public string SettleBillNum { get; set; }
//public string InvGroupNum { get; set; } //public string InvGroupNum { get; set; }
//public string LU { get; set; } //public string LU { get; set; }
//public string PN { get; set; } //public string PN { get; set; }
//public string GroupNum { get; set; } //public string GroupNum { get; set; }
} }
} }

8
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_PD_DTO.cs

@ -1,6 +1,6 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Bases; using Win.Sfs.SettleAccount.Bases;
@ -37,9 +37,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
[Display(Name = "业务类型")] [Display(Name = "业务类型")]
public EnumBusinessType BusinessType { get; set; } public EnumBusinessType BusinessType { get; set; }
[Display(Name = "状态")] [Display(Name = "状态")]
public EnumBillState State { set; get; } public EnumBillState State { set; get; }
@ -165,8 +162,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
} }
public class PUB_PD_DETAIL_EXP_DTO public class PUB_PD_DETAIL_EXP_DTO
{ {
@ -264,7 +259,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// </summary> /// </summary>
public string BillNum { get; set; } public string BillNum { get; set; }
} }
} }

1047
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_SA_DTO.cs

File diff suppressed because it is too large

749
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PUB_SE_DETAIL_DTO.cs

@ -5,385 +5,386 @@ using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Entities.BQ.Syncs; using Win.Sfs.SettleAccount.Entities.BQ.Syncs;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary>
/// PUB发运数据
/// </summary>
public class PUB_SE_DETAIL_DTO : EntityDto<Guid>
{ {
/// <summary> /// <summary>
/// 期间 /// PUB发运数据
/// </summary> /// </summary>
public int Version { set; get; } public class PUB_SE_DETAIL_DTO : EntityDto<Guid>
/// <summary> {
/// 发货时间 /// <summary>
/// </summary> /// 期间
public DateTime ShippingDate { set; get; } /// </summary>
/// <summary> public int Version { set; get; }
/// 发运单号 /// <summary>
/// </summary> /// 发货时间
public string WmsBillNum { set; get; } /// </summary>
/// <summary> public DateTime ShippingDate { set; get; }
/// 客户零件号 /// <summary>
/// </summary> /// 发运单号
public string LU { get; set; } /// </summary>
/// <summary> public string WmsBillNum { set; get; }
/// 厂内零件号 /// <summary>
/// </summary> /// 客户零件号
public string FactoryPartCode { get; set; } /// </summary>
/// <summary> public string LU { get; set; }
/// 生产号 /// <summary>
/// </summary> /// 厂内零件号
public string PN { get; set; } /// </summary>
/// <summary> public string FactoryPartCode { get; set; }
/// 组合键值(PN+LU) /// <summary>
/// </summary> /// 生产号
public string KeyCode { get; set; } /// </summary>
/// <summary> public string PN { get; set; }
/// 数量 /// <summary>
/// </summary> /// 组合键值(PN+LU)
public decimal Qty { get; set; } /// </summary>
/// <summary> public string KeyCode { get; set; }
/// UID /// <summary>
/// </summary> /// 数量
[Display(Name = "UID")] /// </summary>
[DisplayName("UID")] public decimal Qty { get; set; }
public long UID { get; set; } /// <summary>
/// <summary> /// UID
/// 发货单号 /// </summary>
/// </summary> [Display(Name = "UID")]
[Display(Name = "发货单号")] [DisplayName("UID")]
public string BillNum { get; set; } public long UID { get; set; }
/// <summary> /// <summary>
/// 发货时间 /// 发货单号
/// </summary> /// </summary>
[Display(Name = "发货时间")] [Display(Name = "发货单号")]
public DateTime BillTime { get; set; } public string BillNum { get; set; }
/// <summary> /// <summary>
/// 订单时间 /// 发货时间
/// </summary> /// </summary>
[Display(Name = "订单时间")] [Display(Name = "发货时间")]
public DateTime AssembleData { get; set; } public DateTime BillTime { get; set; }
/// <summary> /// <summary>
/// 零件号 /// 订单时间
/// </summary> /// </summary>
[Display(Name = "零件号")] [Display(Name = "订单时间")]
public string PartCode { get; set; } public DateTime AssembleData { get; set; }
/// <summary> /// <summary>
/// 批次 /// 零件号
/// </summary> /// </summary>
[Display(Name = "批次")] [Display(Name = "零件号")]
public string Batch { get; set; } public string PartCode { get; set; }
/// <summary> /// <summary>
/// 客户零件号 /// 批次
/// </summary> /// </summary>
[Display(Name = "客户零件号")] [Display(Name = "批次")]
public string CustPartCode { get; set; } public string Batch { get; set; }
/// <summary> /// <summary>
/// 发货人 /// 客户零件号
/// </summary> /// </summary>
[Display(Name = "发货人")] [Display(Name = "客户零件号")]
public string Oper { get; set; } public string CustPartCode { get; set; }
/// <summary> /// <summary>
/// DN单据号 /// 发货人
/// </summary> /// </summary>
[Display(Name = "DN单据号")] [Display(Name = "发货人")]
public string DnBillNum { get; set; } public string Oper { get; set; }
/// <summary> /// <summary>
/// DN单据时间 /// DN单据号
/// </summary> /// </summary>
[Display(Name = "DN单据时间")] [Display(Name = "DN单据号")]
public DateTime DnBillTime { get; set; } public string DnBillNum { get; set; }
/// <summary> /// <summary>
/// DN单添加人 /// DN单据时间
/// </summary> /// </summary>
[Display(Name = "DN单添加人")] [Display(Name = "DN单据时间")]
public string DnOper { get; set; } public DateTime DnBillTime { get; set; }
/// <summary> /// <summary>
/// 交付索引 /// DN单添加人
/// </summary> /// </summary>
[Display(Name = "交付索引")] [Display(Name = "DN单添加人")]
public string DeliveryIndex { get; set; } public string DnOper { get; set; }
/// <summary> /// <summary>
/// 客户 /// 交付索引
/// </summary> /// </summary>
[Display(Name = "客户")] [Display(Name = "交付索引")]
public string CustId { get; set; } public string DeliveryIndex { get; set; }
/// <summary> /// <summary>
/// 发货仓库 /// 客户
/// </summary> /// </summary>
[Display(Name = "发货仓库")] [Display(Name = "客户")]
public string DeliveryHose { get; set; } public string CustId { get; set; }
/// <summary> /// <summary>
/// 来源库位 /// 发货仓库
/// </summary> /// </summary>
[Display(Name = "来源库位")] [Display(Name = "发货仓库")]
public string FromLocCode { get; set; } public string DeliveryHose { get; set; }
/// <summary> /// <summary>
/// 来源仓库 /// 来源库位
/// </summary> /// </summary>
[Display(Name = "来源仓库")] [Display(Name = "来源库位")]
public string FromHose { get; set; } public string FromLocCode { get; set; }
/// <summary> /// <summary>
/// 来源ERP库存 /// 来源仓库
/// </summary> /// </summary>
[Display(Name = "来源ERP库存")] [Display(Name = "来源仓库")]
public string FromErpLocCode { get; set; } public string FromHose { get; set; }
/// <summary> /// <summary>
/// 目标库位 /// 来源ERP库存
/// </summary> /// </summary>
[Display(Name = "目标库位")] [Display(Name = "来源ERP库存")]
public string ToLocCode { get; set; } public string FromErpLocCode { get; set; }
/// <summary> /// <summary>
/// 目标仓库 /// 目标库位
/// </summary> /// </summary>
[Display(Name = "目标仓库")] [Display(Name = "目标库位")]
public string ToHose { get; set; } public string ToLocCode { get; set; }
/// <summary> /// <summary>
/// 目标Erp库位 /// 目标仓库
/// </summary> /// </summary>
[Display(Name = "目标Erp库位")] [Display(Name = "目标仓库")]
public string ToErpLocCode { get; set; } public string ToHose { get; set; }
/// <summary> /// <summary>
/// 状态 /// 目标Erp库位
/// </summary> /// </summary>
[Display(Name = "状态")] [Display(Name = "目标Erp库位")]
public EnumBillState State { get; set; } public string ToErpLocCode { get; set; }
/// <summary> /// <summary>
/// 备注 /// 状态
/// </summary> /// </summary>
[Display(Name = "备注")] [Display(Name = "状态")]
public string Remark { get; set; } public EnumBillState State { get; set; }
/// <summary> /// <summary>
/// 单据类型 /// 备注
/// </summary> /// </summary>
[Display(Name = "单据类型")] [Display(Name = "备注")]
public EnumBillType BillType { get; set; } public string Remark { get; set; }
/// <summary> /// <summary>
/// 子单据类型 /// 单据类型
/// </summary> /// </summary>
[Display(Name = "子单据类型")] [Display(Name = "单据类型")]
public EnumSubBillType SubBillType { get; set; } public EnumBillType BillType { get; set; }
/// <summary> /// <summary>
/// 业务类型 /// 子单据类型
/// </summary> /// </summary>
[Display(Name = "业务类型")] [Display(Name = "子单据类型")]
public EnumProTpe ProType { get; set; } public EnumSubBillType SubBillType { get; set; }
/// <summary> /// <summary>
/// 事务类型 /// 业务类型
/// </summary> /// </summary>
[Display(Name = "事务类型")] [Display(Name = "业务类型")]
public EnumDelTransType TransType { get; set; } public EnumProTpe ProType { get; set; }
/// <summary> /// <summary>
/// 发运主类型 /// 事务类型
/// </summary> /// </summary>
[Display(Name = "发运主类型")] [Display(Name = "事务类型")]
public EnumDeliverBjBmpBillType DeliverBillType { get; set; } public EnumDelTransType TransType { get; set; }
/// <summary> /// <summary>
/// 发运子类型 /// 发运主类型
/// </summary> /// </summary>
[Display(Name = "发运子类型")] [Display(Name = "发运主类型")]
public EnumDeliverSubBillType DeliverSubBillType { get; set; } public EnumDeliverBjBmpBillType DeliverBillType { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 发运子类型
/// </summary> /// </summary>
[Display(Name = "创建时间")] [Display(Name = "发运子类型")]
public DateTime CreateTime { get; set; } public EnumDeliverSubBillType DeliverSubBillType { get; set; }
} /// <summary>
/// 创建时间
/// </summary>
[Display(Name = "创建时间")]
public DateTime CreateTime { get; set; }
}
/// <summary>
/// 查询
/// </summary>
public class PUB_SE_DETAIL_RequestDto : RequestDto
{
/// <summary> /// <summary>
/// 业务类别 /// 查询
/// </summary> /// </summary>
public EnumBusinessType BusinessType { get; set; } public class PUB_SE_DETAIL_RequestDto : RequestDto
} {
/// <summary>
/// 业务类别
/// </summary>
public EnumBusinessType BusinessType { get; set; }
}
/// <summary>
/// 导出
/// </summary>
public class PUB_SE_DETAIL_EXPORT_DTO
{
/// <summary>
/// 期间
/// </summary>
[ExporterHeader(DisplayName = "期间")]
public int Version { set; get; }
/// <summary>
/// 发货时间
/// </summary>
[ExporterHeader(DisplayName = "发货时间")]
public DateTime ShippingDate { set; get; }
/// <summary>
/// 发运单号
/// </summary>
[ExporterHeader(DisplayName = "发运单号")]
public string WmsBillNum { set; get; }
/// <summary>
/// 客户零件号
/// </summary>
[ExporterHeader(DisplayName = "客户零件号")]
public string LU { get; set; }
/// <summary>
/// 厂内零件号
/// </summary>
[ExporterHeader(DisplayName = "厂内零件号")]
public string FactoryPartCode { get; set; }
/// <summary> /// <summary>
/// 生产号 /// 导出
/// </summary> /// </summary>
[ExporterHeader(DisplayName = "生产号")] public class PUB_SE_DETAIL_EXPORT_DTO
public string PN { get; set; } {
/// <summary> /// <summary>
/// 组合键值(PN+LU) /// 期间
/// </summary> /// </summary>
[ExporterHeader(DisplayName = "组合键值")] [ExporterHeader(DisplayName = "期间")]
public string KeyCode { get; set; } public int Version { set; get; }
/// <summary> /// <summary>
/// 数量 /// 发货时间
/// </summary> /// </summary>
[ExporterHeader(DisplayName = "数量")] [ExporterHeader(DisplayName = "发货时间")]
public decimal Qty { get; set; } public DateTime ShippingDate { set; get; }
/// <summary> /// <summary>
/// UID /// 发运单号
/// </summary> /// </summary>
[Display(Name = "UID")] [ExporterHeader(DisplayName = "发运单号")]
[ExporterHeader(DisplayName = "UID")] public string WmsBillNum { set; get; }
public long UID { get; set; } /// <summary>
/// <summary> /// 客户零件号
/// 发货单号 /// </summary>
/// </summary> [ExporterHeader(DisplayName = "客户零件号")]
[Display(Name = "发货单号")] public string LU { get; set; }
[ExporterHeader(DisplayName = "发货单号")] /// <summary>
public string BillNum { get; set; } /// 厂内零件号
/// <summary> /// </summary>
/// 发货时间 [ExporterHeader(DisplayName = "厂内零件号")]
/// </summary> public string FactoryPartCode { get; set; }
[Display(Name = "发货时间")] /// <summary>
[ExporterHeader(DisplayName = "发货时间")] /// 生产号
public DateTime BillTime { get; set; } /// </summary>
/// <summary> [ExporterHeader(DisplayName = "生产号")]
/// 订单时间 public string PN { get; set; }
/// </summary> /// <summary>
[Display(Name = "订单时间")] /// 组合键值(PN+LU)
[ExporterHeader(DisplayName = "订单时间")] /// </summary>
public DateTime AssembleData { get; set; } [ExporterHeader(DisplayName = "组合键值")]
/// <summary> public string KeyCode { get; set; }
/// 零件号 /// <summary>
/// </summary> /// 数量
[Display(Name = "零件号")] /// </summary>
[ExporterHeader(DisplayName = "零件号")] [ExporterHeader(DisplayName = "数量")]
public string PartCode { get; set; } public decimal Qty { get; set; }
/// <summary> /// <summary>
/// 批次 /// UID
/// </summary> /// </summary>
[Display(Name = "批次")] [Display(Name = "UID")]
[ExporterHeader(DisplayName = "批次")] [ExporterHeader(DisplayName = "UID")]
public string Batch { get; set; } public long UID { get; set; }
/// <summary> /// <summary>
/// 客户零件号 /// 发货单号
/// </summary> /// </summary>
[Display(Name = "客户零件号")] [Display(Name = "发货单号")]
[ExporterHeader(DisplayName = "客户零件号")] [ExporterHeader(DisplayName = "发货单号")]
public string CustPartCode { get; set; } public string BillNum { get; set; }
/// <summary> /// <summary>
/// 发货人 /// 发货时间
/// </summary> /// </summary>
[Display(Name = "发货人")] [Display(Name = "发货时间")]
[ExporterHeader(DisplayName = "发货人")] [ExporterHeader(DisplayName = "发货时间")]
public string Oper { get; set; } public DateTime BillTime { get; set; }
/// <summary> /// <summary>
/// DN单据号 /// 订单时间
/// </summary> /// </summary>
[Display(Name = "DN单据号")] [Display(Name = "订单时间")]
[ExporterHeader(DisplayName = "DN单据号")] [ExporterHeader(DisplayName = "订单时间")]
public string DnBillNum { get; set; } public DateTime AssembleData { get; set; }
/// <summary> /// <summary>
/// DN单据时间 /// 零件号
/// </summary> /// </summary>
[Display(Name = "DN单据时间")] [Display(Name = "零件号")]
[ExporterHeader(DisplayName = "DN单据时间")] [ExporterHeader(DisplayName = "零件号")]
public DateTime DnBillTime { get; set; } public string PartCode { get; set; }
/// <summary> /// <summary>
/// DN单添加人 /// 批次
/// </summary> /// </summary>
[Display(Name = "DN单添加人")] [Display(Name = "批次")]
[ExporterHeader(DisplayName = "DN单添加人")] [ExporterHeader(DisplayName = "批次")]
public string DnOper { get; set; } public string Batch { get; set; }
/// <summary> /// <summary>
/// 交付索引 /// 客户零件号
/// </summary> /// </summary>
[Display(Name = "交付索引")] [Display(Name = "客户零件号")]
[ExporterHeader(DisplayName = "交付索引")] [ExporterHeader(DisplayName = "客户零件号")]
public string DeliveryIndex { get; set; } public string CustPartCode { get; set; }
/// <summary> /// <summary>
/// 客户 /// 发货人
/// </summary> /// </summary>
[Display(Name = "客户")] [Display(Name = "发货人")]
[ExporterHeader(DisplayName = "客户")] [ExporterHeader(DisplayName = "发货人")]
public string CustId { get; set; } public string Oper { get; set; }
/// <summary> /// <summary>
/// 发货仓库 /// DN单据号
/// </summary> /// </summary>
[Display(Name = "发货仓库")] [Display(Name = "DN单据号")]
[ExporterHeader(DisplayName = "发货仓库")] [ExporterHeader(DisplayName = "DN单据号")]
public string DeliveryHose { get; set; } public string DnBillNum { get; set; }
/// <summary> /// <summary>
/// 来源库位 /// DN单据时间
/// </summary> /// </summary>
[Display(Name = "来源库位")] [Display(Name = "DN单据时间")]
[ExporterHeader(DisplayName = "来源库位")] [ExporterHeader(DisplayName = "DN单据时间")]
public string FromLocCode { get; set; } public DateTime DnBillTime { get; set; }
/// <summary> /// <summary>
/// 来源仓库 /// DN单添加人
/// </summary> /// </summary>
[Display(Name = "来源仓库")] [Display(Name = "DN单添加人")]
[ExporterHeader(DisplayName = "来源仓库")] [ExporterHeader(DisplayName = "DN单添加人")]
public string FromHose { get; set; } public string DnOper { get; set; }
/// <summary> /// <summary>
/// 来源ERP库存 /// 交付索引
/// </summary> /// </summary>
[Display(Name = "来源ERP库存")] [Display(Name = "交付索引")]
[ExporterHeader(DisplayName = "来源ERP库存")] [ExporterHeader(DisplayName = "交付索引")]
public string FromErpLocCode { get; set; } public string DeliveryIndex { get; set; }
/// <summary> /// <summary>
/// 目标库位 /// 客户
/// </summary> /// </summary>
[Display(Name = "目标库位")] [Display(Name = "客户")]
[ExporterHeader(DisplayName = "目标库位")] [ExporterHeader(DisplayName = "客户")]
public string ToLocCode { get; set; } public string CustId { get; set; }
/// <summary> /// <summary>
/// 目标仓库 /// 发货仓库
/// </summary> /// </summary>
[Display(Name = "目标仓库")] [Display(Name = "发货仓库")]
[ExporterHeader(DisplayName = "目标仓库")] [ExporterHeader(DisplayName = "发货仓库")]
public string ToHose { get; set; } public string DeliveryHose { get; set; }
/// <summary> /// <summary>
/// 目标Erp库位 /// 来源库位
/// </summary> /// </summary>
[Display(Name = "目标Erp库位")] [Display(Name = "来源库位")]
[ExporterHeader(DisplayName = "目标Erp库位")] [ExporterHeader(DisplayName = "来源库位")]
public string ToErpLocCode { get; set; } public string FromLocCode { get; set; }
/// <summary> /// <summary>
/// 状态 /// 来源仓库
/// </summary> /// </summary>
[Display(Name = "状态")] [Display(Name = "来源仓库")]
[ExporterHeader(DisplayName = "状态")] [ExporterHeader(DisplayName = "来源仓库")]
public EnumBillState State { get; set; } public string FromHose { get; set; }
/// <summary> /// <summary>
/// 备注 /// 来源ERP库存
/// </summary> /// </summary>
[Display(Name = "备注")] [Display(Name = "来源ERP库存")]
[ExporterHeader(DisplayName = "备注")] [ExporterHeader(DisplayName = "来源ERP库存")]
public string Remark { get; set; } public string FromErpLocCode { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 目标库位
/// </summary> /// </summary>
[Display(Name = "创建时间")] [Display(Name = "目标库位")]
[ExporterHeader(DisplayName = "创建时间")] [ExporterHeader(DisplayName = "目标库位")]
public DateTime CreateTime { get; set; } public string ToLocCode { get; set; }
/// <summary>
/// 目标仓库
/// </summary>
[Display(Name = "目标仓库")]
[ExporterHeader(DisplayName = "目标仓库")]
public string ToHose { get; set; }
/// <summary>
/// 目标Erp库位
/// </summary>
[Display(Name = "目标Erp库位")]
[ExporterHeader(DisplayName = "目标Erp库位")]
public string ToErpLocCode { get; set; }
/// <summary>
/// 状态
/// </summary>
[Display(Name = "状态")]
[ExporterHeader(DisplayName = "状态")]
public EnumBillState State { get; set; }
/// <summary>
/// 备注
/// </summary>
[Display(Name = "备注")]
[ExporterHeader(DisplayName = "备注")]
public string Remark { get; set; }
/// <summary>
/// 创建时间
/// </summary>
[Display(Name = "创建时间")]
[ExporterHeader(DisplayName = "创建时间")]
public DateTime CreateTime { get; set; }
}
} }

95
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/PURCHASE_PRICE_DTO.cs

@ -3,63 +3,64 @@ using System.ComponentModel.DataAnnotations;
using Magicodes.ExporterAndImporter.Core; using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos; namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
/// <summary>
/// 采购价格单
/// </summary>
public class PURCHASE_PRICE_DTO : EntityDto<Guid>
{ {
/// <summary> /// <summary>
/// 零件号 /// 采购价格单
/// </summary> /// </summary>
[Display(Name = "零件号")] public class PURCHASE_PRICE_DTO : EntityDto<Guid>
public string LU { get; set; } {
/// <summary>
/// 零件号
/// </summary>
[Display(Name = "零件号")]
public string LU { get; set; }
/// <summary> /// <summary>
/// 价格 /// 价格
/// </summary> /// </summary>
[Display(Name = "价格")] [Display(Name = "价格")]
public decimal Price { get; set; } public decimal Price { get; set; }
} }
/// <summary>
/// 导入
/// </summary>
public class PURCHASE_PRICE_IMPORT_DTO
{
/// <summary> /// <summary>
/// 零件号 /// 导入
/// </summary> /// </summary>
[Display(Name = "零件号")] public class PURCHASE_PRICE_IMPORT_DTO
[Required(ErrorMessage = "{0}是必填项")] {
[ImporterHeader(Name = "零件号")] /// <summary>
public string LU { get; set; } /// 零件号
/// </summary>
[Display(Name = "零件号")]
[Required(ErrorMessage = "{0}是必填项")]
[ImporterHeader(Name = "零件号")]
public string LU { get; set; }
/// <summary> /// <summary>
/// 价格 /// 价格
/// </summary> /// </summary>
[Display(Name = "价格")] [Display(Name = "价格")]
[ImporterHeader(Name = "价格")] [ImporterHeader(Name = "价格")]
public decimal Price { get; set; } public decimal Price { get; set; }
} }
/// <summary>
/// 导出
/// </summary>
public class PURCHASE_PRICE_EXPORT_DTO
{
/// <summary> /// <summary>
/// 零件号 /// 导出
/// </summary> /// </summary>
[Display(Name = "零件号")] public class PURCHASE_PRICE_EXPORT_DTO
[ExporterHeader(DisplayName = "零件号")] {
public string LU { get; set; } /// <summary>
/// 零件号
/// </summary>
[Display(Name = "零件号")]
[ExporterHeader(DisplayName = "零件号")]
public string LU { get; set; }
/// <summary> /// <summary>
/// 价格 /// 价格
/// </summary> /// </summary>
[Display(Name = "价格")] [Display(Name = "价格")]
[ExporterHeader(DisplayName = "价格")] [ExporterHeader(DisplayName = "价格")]
public decimal Price { get; set; } public decimal Price { get; set; }
}
} }

2
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/RequestDto.cs

@ -1,4 +1,4 @@
using Win.Sfs.Shared.DtoBase; using Win.Sfs.Shared.DtoBase;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos
{ {

91
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/SaSeCompareRequestDto.cs

@ -1,51 +1,52 @@
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
namespace Win.Sfs.SettleAccount.Entities.BQ; namespace Win.Sfs.SettleAccount.Entities.BQ
/// <summary>
/// 结算与发运对比请求Dto
/// </summary>
public class SaSeCompareRequestDto
{ {
/// <summary> /// <summary>
/// 期间 /// 结算与发运对比请求Dto
/// </summary> /// </summary>
[Display(Name = "期间")] public class SaSeCompareRequestDto
[Required(ErrorMessage = "{0}不能为空")] {
public string Version { get; set; } /// <summary>
/// <summary> /// 期间
/// 零件号 /// </summary>
/// </summary> [Display(Name = "期间")]
[Display(Name = "零件号")] [Required(ErrorMessage = "{0}不能为空")]
public string LU { get; set; } public string Version { get; set; }
/// <summary> /// <summary>
/// 通用码 /// 零件号
/// </summary> /// </summary>
[Display(Name = "通用码")] [Display(Name = "零件号")]
public string PN { get; set; } public string LU { get; set; }
/// <summary> /// <summary>
/// 发运开始时间 /// 通用码
/// </summary> /// </summary>
[Display(Name = "发运开始时间")] [Display(Name = "通用码")]
public DateTime? SeStartDateTime { get; set; } public string PN { get; set; }
/// <summary> /// <summary>
/// 发运结束时间 /// 发运开始时间
/// </summary> /// </summary>
[Display(Name = "发运结束时间")] [Display(Name = "发运开始时间")]
public DateTime? SeEndDateTime { get; set; } public DateTime? SeStartDateTime { get; set; }
/// <summary> /// <summary>
/// 下线开始时间 /// 发运结束时间
/// </summary> /// </summary>
[Display(Name = "下线开始时间")] [Display(Name = "发运结束时间")]
public DateTime? DownLineStartDateTime { get; set; } public DateTime? SeEndDateTime { get; set; }
/// <summary> /// <summary>
/// 下线结束时间 /// 下线开始时间
/// </summary> /// </summary>
[Display(Name = "下线结束时间")] [Display(Name = "下线开始时间")]
public DateTime? DownLineEndDateTime { get; set; } public DateTime? DownLineStartDateTime { get; set; }
/// <summary> /// <summary>
/// 业务类型 /// 下线结束时间
/// </summary> /// </summary>
public EnumBusinessType BusinessType { get; set; } [Display(Name = "下线结束时间")]
public DateTime? DownLineEndDateTime { get; set; }
/// <summary>
/// 业务类型
/// </summary>
public EnumBusinessType BusinessType { get; set; }
}
} }

2
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/Dtos/TB_RePartsRelationship_DTO.cs

@ -1,6 +1,6 @@
using Magicodes.ExporterAndImporter.Core;
using System; using System;
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations;
using Magicodes.ExporterAndImporter.Core;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos namespace Win.Sfs.SettleAccount.Entities.BQ.Dtos

16
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_BA_SERVICE.cs

@ -1,10 +1,5 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Boms;
using Win.Sfs.SettleAccount.Entities.BQ.Dtos; using Win.Sfs.SettleAccount.Entities.BQ.Dtos;
namespace Win.Sfs.SettleAccount.Entities.BQ namespace Win.Sfs.SettleAccount.Entities.BQ
@ -12,7 +7,6 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
public interface IBBAC_BA_SERVICE public interface IBBAC_BA_SERVICE
{ {
Task<bool> GenerateInvoice(INVOICE_GRP_REQ_DTO input); Task<bool> GenerateInvoice(INVOICE_GRP_REQ_DTO input);
Task<PagedResultDto<INVOICE_GRP_DTO>> MainQueryAsync(INVOICE_GRP_REQ_DTO input); Task<PagedResultDto<INVOICE_GRP_DTO>> MainQueryAsync(INVOICE_GRP_REQ_DTO input);
@ -21,15 +15,5 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
Task<bool> RejectAsync(INVOICE_GRP_REQ_DTO input); Task<bool> RejectAsync(INVOICE_GRP_REQ_DTO input);
} }
} }

8
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_CAN_SA_SERVICE.cs

@ -1,7 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
@ -9,14 +5,12 @@ using Win.Sfs.SettleAccount.Entities.BQ.Dtos;
namespace Win.Sfs.SettleAccount.Entities.BQ namespace Win.Sfs.SettleAccount.Entities.BQ
{ {
public interface IBBAC_CAN_SA_SERVICE:ITransientDependency public interface IBBAC_CAN_SA_SERVICE : ITransientDependency
{ {
Task<bool> GenerateInvoice(BBAC_CAN_SA_REQ_DTO input); Task<bool> GenerateInvoice(BBAC_CAN_SA_REQ_DTO input);
Task<PagedResultDto<BBAC_CAN_SA_DTO>> MainQueryAsync(BBAC_CAN_SA_REQ_DTO input); Task<PagedResultDto<BBAC_CAN_SA_DTO>> MainQueryAsync(BBAC_CAN_SA_REQ_DTO input);
Task<PagedResultDto<BBAC_CAN_SA_DETAIL_DTO>> DetailQueryAsync(BBAC_CAN_SA_DETAIL_REQ_DTO input); Task<PagedResultDto<BBAC_CAN_SA_DETAIL_DTO>> DetailQueryAsync(BBAC_CAN_SA_DETAIL_REQ_DTO input);
Task<string> ExportAsync(BBAC_CAN_SA_REQ_DTO input); Task<string> ExportAsync(BBAC_CAN_SA_REQ_DTO input);
} }
} }

4
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_NOT_SA_SERVICE.cs

@ -1,7 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Entities.BQ.Dtos; using Win.Sfs.SettleAccount.Entities.BQ.Dtos;

14
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_PD_SERVICE.cs

@ -1,17 +1,8 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Entities.BQ.Dtos;
namespace Win.Sfs.SettleAccount.Entities.BQ namespace Win.Sfs.SettleAccount.Entities.BQ
{ {
public interface IBBAC_PD_SERVICE public interface IBBAC_PD_SERVICE
{ {
//Task<bool> GenerateInvoice(BBAC_CAN_SA_REQ_DTO input); //Task<bool> GenerateInvoice(BBAC_CAN_SA_REQ_DTO input);
//Task<PagedResultDto<BBAC_CAN_SA_DTO>> MainQueryAsync(BBAC_CAN_SA_REQ_DTO input); //Task<PagedResultDto<BBAC_CAN_SA_DTO>> MainQueryAsync(BBAC_CAN_SA_REQ_DTO input);
//Task<PagedResultDto<BBAC_CAN_SA_DETAIL_DTO>> DetailQueryAsync(BBAC_CAN_SA_DETAIL_REQ_DTO input); //Task<PagedResultDto<BBAC_CAN_SA_DETAIL_DTO>> DetailQueryAsync(BBAC_CAN_SA_DETAIL_REQ_DTO input);
@ -20,10 +11,5 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
//Task<string> ExportAsync(BBAC_CAN_SA_REQ_DTO input); //Task<string> ExportAsync(BBAC_CAN_SA_REQ_DTO input);
} }
} }

6
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IBBAC_SE_EDI_SERVICE.cs

@ -1,9 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Win.Sfs.SettleAccount.Entities.BQ namespace Win.Sfs.SettleAccount.Entities.BQ
{ {
public interface IBBAC_SE_EDI_SERVICE public interface IBBAC_SE_EDI_SERVICE

6
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IHBPO_BA_SERVICE.cs

@ -1,9 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Win.Sfs.SettleAccount.Entities.BQ namespace Win.Sfs.SettleAccount.Entities.BQ
{ {
public interface IHBPO_BA_SERVICE public interface IHBPO_BA_SERVICE

20
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IHBPO_CAN_SA_SERVICE.cs

@ -1,23 +1,18 @@
using SettleAccount.Bases;
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using SettleAccount.Bases;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Domain.Entities;
using Win.Sfs.SettleAccount.Bases;
using Win.Sfs.SettleAccount.Entities.BQ.Dtos; using Win.Sfs.SettleAccount.Entities.BQ.Dtos;
namespace Win.Sfs.SettleAccount.Entities.BQ namespace Win.Sfs.SettleAccount.Entities.BQ
{ {
public interface ICAN_SA_SERVICE<TEntity, TEntityDto, TEntityDetailDto, TRequestMainInput, TRequestDetailInput, TExportDto> public interface ICAN_SA_SERVICE<TEntity, TEntityDto, TEntityDetailDto, TRequestMainInput, TRequestDetailInput, TExportDto>
where TEntity : SA_CAN_BASE where TEntity : SA_CAN_BASE
where TEntityDto : class, IEntityDto<Guid>, new() where TEntityDto : class, IEntityDto<Guid>, new()
where TEntityDetailDto : class, IEntityDto<Guid>, new() where TEntityDetailDto : class, IEntityDto<Guid>, new()
where TRequestMainInput : PagedAndSortedResultRequestDto where TRequestMainInput : PagedAndSortedResultRequestDto
where TRequestDetailInput : PagedAndSortedResultRequestDto where TRequestDetailInput : PagedAndSortedResultRequestDto
{ {
Task<bool> GenerateInvoice(TRequestMainInput input); Task<bool> GenerateInvoice(TRequestMainInput input);
@ -25,13 +20,8 @@ namespace Win.Sfs.SettleAccount.Entities.BQ
Task<PagedResultDto<TEntityDetailDto>> DetailQueryAsync(TRequestDetailInput input); Task<PagedResultDto<TEntityDetailDto>> DetailQueryAsync(TRequestDetailInput input);
Task<string> ExportAsync(TRequestMainInput input); Task<string> ExportAsync(TRequestMainInput input);
// List<ErrorData> ISettlementOrderCheckRule<TEntity>(List<TEntity> p_list, Configuation config) where TEntity : ISABASE
//bList<ErrorData> ISettlementOrderCheckState<TEntity>(List<TEntity> p_list) where TEntity:ISABASE
// List<ErrorData> ISettlementOrderCheckRule<TEntity>(List<TEntity> p_list, Configuation config) where TEntity : ISABASE
//bList<ErrorData> ISettlementOrderCheckState<TEntity>(List<TEntity> p_list) where TEntity:ISABASE
} }

4
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IHBPO_NOT_SA_SERVICE.cs

@ -1,7 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Win.Sfs.SettleAccount.Entities.BQ.Dtos; using Win.Sfs.SettleAccount.Entities.BQ.Dtos;

6
code/src/Modules/SettleAccount/src/SettleAccount.Application.Contracts/Entities/BQ/IHBPO_PD_SERVICE.cs

@ -1,9 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Win.Sfs.SettleAccount.Entities.BQ namespace Win.Sfs.SettleAccount.Entities.BQ
{ {
public interface IHBPO_PD_SERVICE public interface IHBPO_PD_SERVICE

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

Loading…
Cancel
Save