diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.gitattributes b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.gitattributes
deleted file mode 100644
index c941e5266..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.gitattributes
+++ /dev/null
@@ -1 +0,0 @@
-**/wwwroot/libs/** linguist-vendored
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.gitignore b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.gitignore
deleted file mode 100644
index 244de251e..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.gitignore
+++ /dev/null
@@ -1,265 +0,0 @@
-## Ignore Visual Studio temporary files, build results, and
-## files generated by popular Visual Studio add-ons.
-
-# User-specific files
-*.suo
-*.user
-*.userosscache
-*.sln.docstates
-
-# User-specific files (MonoDevelop/Xamarin Studio)
-*.userprefs
-
-# Build results
-[Dd]ebug/
-[Dd]ebugPublic/
-[Rr]elease/
-[Rr]eleases/
-x64/
-x86/
-bld/
-[Bb]in/
-[Oo]bj/
-[Ll]og/
-
-# Visual Studio 2015 cache/options directory
-.vs/
-# Uncomment if you have tasks that create the project's static files in wwwroot
-#wwwroot/
-
-# MSTest test Results
-[Tt]est[Rr]esult*/
-[Bb]uild[Ll]og.*
-
-# NUNIT
-*.VisualState.xml
-TestResult.xml
-
-# Build Results of an ATL Project
-[Dd]ebugPS/
-[Rr]eleasePS/
-dlldata.c
-
-# DNX
-project.lock.json
-artifacts/
-
-*_i.c
-*_p.c
-*_i.h
-*.ilk
-*.meta
-*.obj
-*.pch
-*.pdb
-*.pgc
-*.pgd
-*.rsp
-*.sbr
-*.tlb
-*.tli
-*.tlh
-*.tmp
-*.tmp_proj
-*.log
-*.vspscc
-*.vssscc
-.builds
-*.pidb
-*.svclog
-*.scc
-
-# Chutzpah Test files
-_Chutzpah*
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opendb
-*.opensdf
-*.sdf
-*.cachefile
-*.VC.db
-*.VC.VC.opendb
-
-# Visual Studio profiler
-*.psess
-*.vsp
-*.vspx
-*.sap
-
-# TFS 2012 Local Workspace
-$tf/
-
-# Guidance Automation Toolkit
-*.gpState
-
-# ReSharper is a .NET coding add-in
-_ReSharper*/
-*.[Rr]e[Ss]harper
-*.DotSettings.user
-
-# JustCode is a .NET coding add-in
-.JustCode
-
-# TeamCity is a build add-in
-_TeamCity*
-
-# DotCover is a Code Coverage Tool
-*.dotCover
-
-# NCrunch
-_NCrunch_*
-.*crunch*.local.xml
-nCrunchTemp_*
-
-# MightyMoose
-*.mm.*
-AutoTest.Net/
-
-# Web workbench (sass)
-.sass-cache/
-
-# Installshield output folder
-[Ee]xpress/
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish/
-
-# Publish Web Output
-*.[Pp]ublish.xml
-*.azurePubxml
-# TODO: Comment the next line if you want to checkin your web deploy settings
-# but database connection strings (with potential passwords) will be unencrypted
-*.pubxml
-*.publishproj
-
-# Microsoft Azure Web App publish settings. Comment the next line if you want to
-# checkin your Azure Web App publish settings, but sensitive information contained
-# in these scripts will be unencrypted
-PublishScripts/
-
-# NuGet Packages
-*.nupkg
-# The packages folder can be ignored because of Package Restore
-**/packages/*
-# except build/, which is used as an MSBuild target.
-!**/packages/build/
-# Uncomment if necessary however generally it will be regenerated when needed
-#!**/packages/repositories.config
-# NuGet v3's project.json files produces more ignoreable files
-*.nuget.props
-*.nuget.targets
-
-# Microsoft Azure Build Output
-csx/
-*.build.csdef
-
-# Microsoft Azure Emulator
-ecf/
-rcf/
-
-# Windows Store app package directories and files
-AppPackages/
-BundleArtifacts/
-Package.StoreAssociation.xml
-_pkginfo.txt
-
-# Visual Studio cache files
-# files ending in .cache can be ignored
-*.[Cc]ache
-# but keep track of directories ending in .cache
-!*.[Cc]ache/
-
-# Others
-ClientBin/
-~$*
-*~
-*.dbmdl
-*.dbproj.schemaview
-*.pfx
-*.publishsettings
-node_modules/
-orleans.codegen.cs
-
-# Since there are multiple workflows, uncomment next line to ignore bower_components
-# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
-#bower_components/
-
-# RIA/Silverlight projects
-Generated_Code/
-
-# Backup & report files from converting an old project file
-# to a newer Visual Studio version. Backup files are not needed,
-# because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
-UpgradeLog*.htm
-
-# SQL Server files
-*.mdf
-*.ldf
-
-# Business Intelligence projects
-*.rdl.data
-*.bim.layout
-*.bim_*.settings
-
-# Microsoft Fakes
-FakesAssemblies/
-
-# GhostDoc plugin setting file
-*.GhostDoc.xml
-
-# Node.js Tools for Visual Studio
-.ntvs_analysis.dat
-
-# Visual Studio 6 build log
-*.plg
-
-# Visual Studio 6 workspace options file
-*.opt
-
-# Visual Studio LightSwitch build output
-**/*.HTMLClient/GeneratedArtifacts
-**/*.DesktopClient/GeneratedArtifacts
-**/*.DesktopClient/ModelManifest.xml
-**/*.Server/GeneratedArtifacts
-**/*.Server/ModelManifest.xml
-_Pvt_Extensions
-
-# Paket dependency manager
-.paket/paket.exe
-paket-files/
-
-# FAKE - F# Make
-.fake/
-
-# JetBrains Rider
-.idea/
-*.sln.iml
-
-# Job
-src/WinIn.FasterZ.Job.Web/Logs/*
-src/WinIn.FasterZ.Job.Web/Logs/*
-src/WinIn.FasterZ.Job.AuthServer/Logs/*
-src/WinIn.FasterZ.Job.HttpApi.Host/Logs/*
-src/WinIn.FasterZ.Job.HttpApi.HostWithIds/Logs/*
-src/WinIn.FasterZ.Job.DbMigrator/Logs/*
-src/WinIn.FasterZ.Job.Blazor.Server/Logs/*
-src/WinIn.FasterZ.Job.Blazor.Server.Tiered/Logs/*
-
-# Use abp install-libs to restore.
-**/wwwroot/libs/*
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.prettierrc b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.prettierrc
deleted file mode 100644
index 56af76bd9..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/.prettierrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "singleQuote": true,
- "useTabs": false,
- "tabWidth": 4
-}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/NuGet.Config b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/NuGet.Config
deleted file mode 100644
index bdc451971..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/NuGet.Config
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln
deleted file mode 100644
index d60820944..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln
+++ /dev/null
@@ -1,102 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio Version 17
-VisualStudioVersion = 17.6.33801.468
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.Domain", "src\WinIn.FasterZ.Job.Domain\WinIn.FasterZ.Job.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.Application", "src\WinIn.FasterZ.Job.Application\WinIn.FasterZ.Job.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.EntityFrameworkCore", "src\WinIn.FasterZ.Job.EntityFrameworkCore\WinIn.FasterZ.Job.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.Domain.Shared", "src\WinIn.FasterZ.Job.Domain.Shared\WinIn.FasterZ.Job.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.Application.Contracts", "src\WinIn.FasterZ.Job.Application.Contracts\WinIn.FasterZ.Job.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.HttpApi", "src\WinIn.FasterZ.Job.HttpApi\WinIn.FasterZ.Job.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.HttpApi.Client", "src\WinIn.FasterZ.Job.HttpApi.Client\WinIn.FasterZ.Job.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.Web", "src\WinIn.FasterZ.Job.Web\WinIn.FasterZ.Job.Web.csproj", "{6FE54035-9C11-4702-A5E2-D16F23101468}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.AuthServer", "src\WinIn.FasterZ.Job.AuthServer\WinIn.FasterZ.Job.AuthServer.csproj", "{073C361E-B8F4-49F5-93CC-72A3FF49C026}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.HttpApi.Host", "src\WinIn.FasterZ.Job.HttpApi.Host\WinIn.FasterZ.Job.HttpApi.Host.csproj", "{E6D5BF0E-DE92-4D82-A352-EF04B37CB11C}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WinIn.FasterZ.Job.DbMigrator", "src\WinIn.FasterZ.Job.DbMigrator\WinIn.FasterZ.Job.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Host", "Host", "{B3AEF08A-2B34-4E84-BC99-0E85320DCD86}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Release|Any CPU = Release|Any CPU
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU
- {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU
- {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.Build.0 = Release|Any CPU
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.Build.0 = Release|Any CPU
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU
- {6FE54035-9C11-4702-A5E2-D16F23101468}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6FE54035-9C11-4702-A5E2-D16F23101468}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6FE54035-9C11-4702-A5E2-D16F23101468}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6FE54035-9C11-4702-A5E2-D16F23101468}.Release|Any CPU.Build.0 = Release|Any CPU
- {073C361E-B8F4-49F5-93CC-72A3FF49C026}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {073C361E-B8F4-49F5-93CC-72A3FF49C026}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {073C361E-B8F4-49F5-93CC-72A3FF49C026}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {073C361E-B8F4-49F5-93CC-72A3FF49C026}.Release|Any CPU.Build.0 = Release|Any CPU
- {E6D5BF0E-DE92-4D82-A352-EF04B37CB11C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E6D5BF0E-DE92-4D82-A352-EF04B37CB11C}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E6D5BF0E-DE92-4D82-A352-EF04B37CB11C}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E6D5BF0E-DE92-4D82-A352-EF04B37CB11C}.Release|Any CPU.Build.0 = Release|Any CPU
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- {6FE54035-9C11-4702-A5E2-D16F23101468} = {B3AEF08A-2B34-4E84-BC99-0E85320DCD86}
- {073C361E-B8F4-49F5-93CC-72A3FF49C026} = {B3AEF08A-2B34-4E84-BC99-0E85320DCD86}
- {E6D5BF0E-DE92-4D82-A352-EF04B37CB11C} = {B3AEF08A-2B34-4E84-BC99-0E85320DCD86}
- {AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0}
- EndGlobalSection
- GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F}
- EndGlobalSection
-EndGlobal
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln.DotSettings b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln.DotSettings
deleted file mode 100644
index cb0b2c919..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/WinIn.FasterZ.Job.sln.DotSettings
+++ /dev/null
@@ -1,23 +0,0 @@
-
- True
- WARNING
- WARNING
- WARNING
- WARNING
- WARNING
- WARNING
- WARNING
- WARNING
- Required
- Required
- Required
- Required
- False
- True
- False
- False
- True
- False
- False
- SQL
-
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/common.props b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/common.props
deleted file mode 100644
index 7e89c3a06..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/common.props
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
- latest
- 1.0.0
- $(NoWarn);CS1591
- app
-
-
-
-
- $(NoWarn);0436
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/CreateUpdateBaseDto/CreateUpdateBaseDto.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/CreateUpdateBaseDto/CreateUpdateBaseDto.cs
deleted file mode 100644
index 84c5406d9..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/CreateUpdateBaseDto/CreateUpdateBaseDto.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System;
-using Volo.Abp.Application.Dtos;
-
-namespace WinIn.FasterZ.Job.AppBase.CreateUpdateBaseDto;
-
-public class CreateUpdateBaseDto : EntityDto
-{
-}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/Condition.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/Condition.cs
deleted file mode 100644
index d7e1b489a..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/Condition.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-using System.Collections.Generic;
-
-namespace WinIn.FasterZ.Job.AppBase.Filters;
-
-public class Condition
-{
- public ICollection Filters { get; set; } = new List();
-}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/EnumFilterAction.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/EnumFilterAction.cs
deleted file mode 100644
index e1da75b09..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/EnumFilterAction.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-using System.ComponentModel;
-
-namespace WinIn.FasterZ.Job.AppBase.Filters;
-
-///
-/// 过滤条件
-///
-public enum EnumFilterAction
-{
- ///
- /// equal
- ///
- [Description("等于")] Equal = 0,
-
- ///
- /// Not equal
- ///
- [Description("不等于")] NotEqual = 1,
-
- ///
- /// Bigger
- ///
- [Description("大于")] BiggerThan = 2,
-
- ///
- /// Smaller
- ///
- [Description("小于")] SmallThan = 3,
-
- ///
- /// Bigger or equal
- ///
- [Description("大于等于")] BiggerThanOrEqual = 4,
-
- ///
- /// Small or equal
- ///
- [Description("小于等于")] SmallThanOrEqual = 5,
-
- ///
- /// Like
- ///
- [Description("类似于")] Like = 6,
-
- ///
- /// Not like
- ///
- [Description("不类似于")] NotLike = 7,
-
- ///
- /// Contained in
- /// List items = new List();
- /// string value = JsonSerializer.Serialize(items);//转成Json字符串
- /// FilterCondition filterCondition = new FilterCondition() { Column = "Name", Value = value, Action = EnumFilterAction.In, Logic = EnumFilterLogic.And };
- ///
- [Description("包含于")] In = 8,
-
- ///
- /// Not contained in
- ///
- [Description("不包含于")] NotIn = 9,
-}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/EnumFilterLogic.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/EnumFilterLogic.cs
deleted file mode 100644
index 009e5481c..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/EnumFilterLogic.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-namespace WinIn.FasterZ.Job.AppBase.Filters;
-
-///
-/// 过滤逻辑
-///
-public enum EnumFilterLogic
-{
- ///
- /// 与
- ///
- And = 0,
-
- ///
- /// 或
- ///
- Or = 1
-}
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/Filter.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/Filter.cs
deleted file mode 100644
index c18403b17..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/Filter.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-namespace WinIn.FasterZ.Job.AppBase.Filters;
-
-public class Filter
-{
- public Filter()
- {
- Logic = "And";
- }
-
- public Filter(string column, string value,
- string action = "==",
- string logic = "And")
- {
- Column = column;
- Action = action;
- Value = value;
- Logic = logic;
- }
-
- ///
- /// 过滤条件之间的逻辑关系:AND和OR
- ///
- public string? Logic { get; set; } = "And";
-
- ///
- /// 过滤条件中使用的数据列
- ///
- public string? Column { get; set; }
-
- ///
- /// 过滤条件中的操作:==,!=,>,<,>=,<=,In,NotIn,Like,NotLike
- /// Equal、NotEqual、BiggerThan、SmallThan、BiggerThanOrEqual、SmallThanOrEqual、In、NotIn
- ///
- public string? Action { get; set; } = "==";
-
- ///
- /// 过滤条件中的操作的值
- ///
- public string? Value { get; set; }
-}
\ No newline at end of file
diff --git a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/FilterExtensions.cs b/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/FilterExtensions.cs
deleted file mode 100644
index 37bd596a2..000000000
--- a/WinIn.FasterZ.Wms.Be/WinIn.FasterZ.Job/src/WinIn.FasterZ.Job.Application.Contracts/AppBase/Filters/FilterExtensions.cs
+++ /dev/null
@@ -1,370 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Linq;
-using System.Linq.Expressions;
-using System.Text.Json;
-using Volo.Abp;
-
-namespace WinIn.FasterZ.Job.AppBase.Filters;
-
-public static class FilterExtensions
-{
- public static Expression> ToLambda(this string jsonFilter)
- {
- if (string.IsNullOrWhiteSpace(jsonFilter))
- {
- return p => true;
- }
-
- var filterConditions = JsonSerializer.Deserialize>(jsonFilter);
- return filterConditions.ToLambda();
- }
-
- public static Expression> ToLambda(this Filter filter)
- {
- var filterConditions = new List { filter };
- return filterConditions.ToLambda();
- }
-
- public static Expression> ToLambda(this ICollection filterConditionList)
- {
- Expression> condition = null;
- try
- {
- if (!filterConditionList.Any())
- {
- //创建默认表达式
- return p => true;
- }
-
- foreach (var filterCondition in filterConditionList)
- {
- var tempCondition = CreateLambda(filterCondition);
- if (condition == null)
- {
- condition = tempCondition;
- }
- else
- {
- condition = filterCondition.Logic switch
- {
- "And" => condition.And(tempCondition),
- "Or" => condition.Or(tempCondition),
- _ => condition
- };
- }
- }
- }
- catch (Exception ex)
- {
- throw new Exception($"获取筛选条件异常:{ex.Message}");
- }
-
- return condition;
- }
-
- private static Expression> CreateLambda(Filter filter)
- {
- Expression> expression = p => false;
- try
- {
- var parameter = Expression.Parameter(typeof(T), "p"); //创建参数p
- var member = Expression.PropertyOrField(parameter, filter.Column); //创建表达式中的属性或字段
-
- ConstantExpression constant = null;
- //var propertyType = member.Type; //取属性类型,常量constant按此类型进行转换
- //constant = Expression.Constant(filterCondition.Value);//创建常数
-
- if (filter.Action != "In" && filter.Action != "NotIn")
- {
- constant = CreateConstantExpression(member.Type, filter.Value);
- }
-
- switch (filter.Action.ToLower())
- {
- case "==":
- expression = Expression.Lambda>(Expression.Equal(member, constant), parameter);
- break;
-
- case "!=":
- expression = Expression.Lambda>(Expression.NotEqual(member, constant), parameter);
- break;
-
- case ">":
- expression = Expression.Lambda>(Expression.GreaterThan(member, constant), parameter);
- break;
-
- case "<":
- expression = Expression.Lambda>(Expression.LessThan(member, constant), parameter);
- break;
-
- case ">=":
- expression =
- Expression.Lambda>(Expression.GreaterThanOrEqual(member, constant), parameter);
- break;
-
- case "<=":
- expression =
- Expression.Lambda>(Expression.LessThanOrEqual(member, constant), parameter);
- break;
-
- case "like":
- expression = GetExpressionLikeMethod("Contains", filter);
- break;
-
- case "notlike":
- expression = GetExpressionNotLikeMethod("Contains", filter);
- break;
-
- case "in":
- expression = GetExpressionInMethod("Contains", member.Type, filter);
- break;
-
- case "notin":
- expression = GetExpressionNotInMethod("Contains", member.Type, filter);
- break;
- }
- }
- catch (Exception ex)
- {
- throw new UserFriendlyException(ex.Message);
- }
-
- return expression;
- }
-
- ///
- ///
- ///
- ///
- ///
- private static ConstantExpression CreateConstantExpression(Type propertyType, string value)
- {
- ConstantExpression constant = null;
- try
- {
- if (propertyType.IsGenericType &&
- propertyType.GetGenericTypeDefinition() == typeof(Nullable<>))
- {
-
- var objValue = Convert.ChangeType(ChangeTypeReturnValue(value, propertyType.GetGenericArguments()[0]),
- propertyType.GetGenericArguments()[0],
- CultureInfo.InvariantCulture);
-
- constant = Expression.Constant(objValue, propertyType);
- }
- else if (propertyType.IsEnum)
- {
- var enumValue = (Enum)Enum.Parse(propertyType, value, true);
- constant = Expression.Constant(enumValue, propertyType);
- }
- else
- {
- constant = propertyType.Name switch
- {
- "Guid" => Expression.Constant(Guid.Parse(value)),
- _ => Expression.Constant(Convert.ChangeType(value, propertyType, CultureInfo.InvariantCulture))
- };
- }
- }
- catch (Exception ex)
- {
- throw new Exception($"获取ConstantExpression异常:{ex.Message}");
- }
-
- return constant;
- }
-
- private static Expression> GetExpressionLikeMethod(string methodName, Filter filter)
- {
- var parameterExpression = Expression.Parameter(typeof(T), "p");
- // MethodCallExpression methodExpression = GetMethodExpression(methodName, filterCondition.Column, filterCondition.Value, parameterExpression);
- var methodExpression = GetMethodExpression(methodName, filter.Column, filter.Value,
- parameterExpression);
- return Expression.Lambda>(methodExpression, parameterExpression);
- }
-
- private static Expression> GetExpressionNotLikeMethod(string methodName, Filter filter)
- {
- var parameterExpression = Expression.Parameter(typeof(T), "p");
- var methodExpression = GetMethodExpression(methodName, filter.Column, filter.Value,
- parameterExpression);
- var notMethodExpression = Expression.Not(methodExpression);
- return Expression.Lambda>(notMethodExpression, parameterExpression);
- }
-
- ///
- /// 生成guidList.Contains(p=>p.GUId);
- /// 除String类型,其他类型涉及到类型转换.如GUID
- ///
- ///
- /// Contains
- /// PropertyType/typeof(GUId)
- /// PropertyName/PropertyValue
- ///
- private static Expression> GetExpressionInMethod(string methodName, Type propertyType,
- Filter filter)
- {
- var parameterExpression = Expression.Parameter(typeof(T), "p");
- var lstType = typeof(List<>).MakeGenericType(propertyType);
-
- //转换枚举
- //if (propertyType.IsEnum)
- //{
- // var valueArrayStrings = JsonSerializer.Deserialize>(filter.Value);
- // List