diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..c941e52
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1 @@
+**/wwwroot/libs/** linguist-vendored
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..f685a4e
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,262 @@
+## 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
+
+# TaskScheduling
+host/Himp.TaskScheduling.AuthServer/Logs/logs.txt
+host/Himp.TaskScheduling.HttpApi.Host/Logs/logs.txt
+host/Himp.TaskScheduling.Web.Host/Logs/logs.txt
+host/Himp.TaskScheduling.Web.Unified/Logs/logs.txt
+host/Himp.TaskScheduling.Blazor.Server.Host/Logs/logs.txt
+
+# Use abp install-libs to restore.
+**/wwwroot/libs/*
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..56af76b
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,5 @@
+{
+ "singleQuote": true,
+ "useTabs": false,
+ "tabWidth": 4
+}
diff --git a/Himp.TaskScheduling.abpmdl b/Himp.TaskScheduling.abpmdl
new file mode 100644
index 0000000..4461c22
--- /dev/null
+++ b/Himp.TaskScheduling.abpmdl
@@ -0,0 +1,111 @@
+{
+ "folders": {
+ "items": {
+ "src": {},
+ "test": {},
+ "host": {}
+ }
+ },
+ "packages": {
+ "Himp.TaskScheduling.Domain.Shared": {
+ "path": "src/Himp.TaskScheduling.Domain.Shared/Himp.TaskScheduling.Domain.Shared.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.Domain": {
+ "path": "src/Himp.TaskScheduling.Domain/Himp.TaskScheduling.Domain.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.Application.Contracts": {
+ "path": "src/Himp.TaskScheduling.Application.Contracts/Himp.TaskScheduling.Application.Contracts.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.Application": {
+ "path": "src/Himp.TaskScheduling.Application/Himp.TaskScheduling.Application.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.EntityFrameworkCore": {
+ "path": "src/Himp.TaskScheduling.EntityFrameworkCore/Himp.TaskScheduling.EntityFrameworkCore.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.MongoDB": {
+ "path": "src/Himp.TaskScheduling.MongoDB/Himp.TaskScheduling.MongoDB.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.HttpApi": {
+ "path": "src/Himp.TaskScheduling.HttpApi/Himp.TaskScheduling.HttpApi.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.HttpApi.Client": {
+ "path": "src/Himp.TaskScheduling.HttpApi.Client/Himp.TaskScheduling.HttpApi.Client.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.TestBase": {
+ "path": "test/Himp.TaskScheduling.TestBase/Himp.TaskScheduling.TestBase.abppkg",
+ "folder": "test"
+ },
+ "Himp.TaskScheduling.EntityFrameworkCore.Tests": {
+ "path": "test/Himp.TaskScheduling.EntityFrameworkCore.Tests/Himp.TaskScheduling.EntityFrameworkCore.Tests.abppkg",
+ "folder": "test"
+ },
+ "Himp.TaskScheduling.MongoDB.Tests": {
+ "path": "test/Himp.TaskScheduling.MongoDB.Tests/Himp.TaskScheduling.MongoDB.Tests.abppkg",
+ "folder": "test"
+ },
+ "Himp.TaskScheduling.Domain.Tests": {
+ "path": "test/Himp.TaskScheduling.Domain.Tests/Himp.TaskScheduling.Domain.Tests.abppkg",
+ "folder": "test"
+ },
+ "Himp.TaskScheduling.Application.Tests": {
+ "path": "test/Himp.TaskScheduling.Application.Tests/Himp.TaskScheduling.Application.Tests.abppkg",
+ "folder": "test"
+ },
+ "Himp.TaskScheduling.HttpApi.Host": {
+ "path": "host/Himp.TaskScheduling.HttpApi.Host/Himp.TaskScheduling.HttpApi.Host.abppkg",
+ "folder": "host"
+ },
+ "Himp.TaskScheduling.Web": {
+ "path": "src/Himp.TaskScheduling.Web/Himp.TaskScheduling.Web.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.HttpApi.Client.ConsoleTestApp": {
+ "path": "test/Himp.TaskScheduling.HttpApi.Client.ConsoleTestApp/Himp.TaskScheduling.HttpApi.Client.ConsoleTestApp.abppkg",
+ "folder": "test"
+ },
+ "Himp.TaskScheduling.Web.Host": {
+ "path": "host/Himp.TaskScheduling.Web.Host/Himp.TaskScheduling.Web.Host.abppkg",
+ "folder": "host"
+ },
+ "Himp.TaskScheduling.AuthServer": {
+ "path": "host/Himp.TaskScheduling.AuthServer/Himp.TaskScheduling.AuthServer.abppkg",
+ "folder": "host"
+ },
+ "Himp.TaskScheduling.Host.Shared": {
+ "path": "host/Himp.TaskScheduling.Host.Shared/Himp.TaskScheduling.Host.Shared.abppkg",
+ "folder": "host"
+ },
+ "Himp.TaskScheduling.Web.Unified": {
+ "path": "host/Himp.TaskScheduling.Web.Unified/Himp.TaskScheduling.Web.Unified.abppkg",
+ "folder": "host"
+ },
+ "Himp.TaskScheduling.Blazor": {
+ "path": "src/Himp.TaskScheduling.Blazor/Himp.TaskScheduling.Blazor.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.Blazor.Host": {
+ "path": "host/Himp.TaskScheduling.Blazor.Host/Himp.TaskScheduling.Blazor.Host.abppkg",
+ "folder": "host"
+ },
+ "Himp.TaskScheduling.Blazor.Server": {
+ "path": "src/Himp.TaskScheduling.Blazor.Server/Himp.TaskScheduling.Blazor.Server.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.Blazor.WebAssembly": {
+ "path": "src/Himp.TaskScheduling.Blazor.WebAssembly/Himp.TaskScheduling.Blazor.WebAssembly.abppkg",
+ "folder": "src"
+ },
+ "Himp.TaskScheduling.Blazor.Server.Host": {
+ "path": "host/Himp.TaskScheduling.Blazor.Server.Host/Himp.TaskScheduling.Blazor.Server.Host.abppkg",
+ "folder": "host"
+ }
+ }
+}
diff --git a/Himp.TaskScheduling.abpsln b/Himp.TaskScheduling.abpsln
new file mode 100644
index 0000000..2ca2ad7
--- /dev/null
+++ b/Himp.TaskScheduling.abpsln
@@ -0,0 +1,7 @@
+{
+ "modules": {
+ "Himp.TaskScheduling": {
+ "path": "Himp.TaskScheduling.abpmdl"
+ }
+ }
+}
\ No newline at end of file
diff --git a/Himp.TaskScheduling.sln b/Himp.TaskScheduling.sln
new file mode 100644
index 0000000..c702789
--- /dev/null
+++ b/Himp.TaskScheduling.sln
@@ -0,0 +1,146 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.8.34330.188
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.Domain.Shared", "src\Himp.TaskScheduling.Domain.Shared\Himp.TaskScheduling.Domain.Shared.csproj", "{D64C1577-4929-4B60-939E-96DE1534891A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.Domain", "src\Himp.TaskScheduling.Domain\Himp.TaskScheduling.Domain.csproj", "{F2840BC7-0188-4606-9126-DADD0F5ABF7A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.Application.Contracts", "src\Himp.TaskScheduling.Application.Contracts\Himp.TaskScheduling.Application.Contracts.csproj", "{BD65D04F-08D5-40C1-8C24-77CA0BACB877}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.Application", "src\Himp.TaskScheduling.Application\Himp.TaskScheduling.Application.csproj", "{78040F9E-3501-4A40-82DF-00A597710F35}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{649A3FFA-182F-4E56-9717-E6A9A2BEC545}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "host", "host", "{E400416D-2895-4512-9D17-90681EEC7E0A}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.EntityFrameworkCore", "src\Himp.TaskScheduling.EntityFrameworkCore\Himp.TaskScheduling.EntityFrameworkCore.csproj", "{0CE86223-D31D-4315-A1F5-87BA3EE1B844}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.MongoDB", "src\Himp.TaskScheduling.MongoDB\Himp.TaskScheduling.MongoDB.csproj", "{F1C58097-4C08-4D88-8976-6B3389391481}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.HttpApi", "src\Himp.TaskScheduling.HttpApi\Himp.TaskScheduling.HttpApi.csproj", "{077AA5F8-8B61-420C-A6B5-0150A66FDB34}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.HttpApi.Client", "src\Himp.TaskScheduling.HttpApi.Client\Himp.TaskScheduling.HttpApi.Client.csproj", "{36E2735F-CEAB-44C8-A6D1-2CDAFF399751}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.TestBase", "test\Himp.TaskScheduling.TestBase\Himp.TaskScheduling.TestBase.csproj", "{C5BB573D-3030-4BCB-88B7-F6A85C32766C}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.EntityFrameworkCore.Tests", "test\Himp.TaskScheduling.EntityFrameworkCore.Tests\Himp.TaskScheduling.EntityFrameworkCore.Tests.csproj", "{527F645C-C1FC-406E-8479-81386C8ECF13}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.MongoDB.Tests", "test\Himp.TaskScheduling.MongoDB.Tests\Himp.TaskScheduling.MongoDB.Tests.csproj", "{D0AD9179-125C-40B2-A8EE-CD4C1EE24BB6}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.Domain.Tests", "test\Himp.TaskScheduling.Domain.Tests\Himp.TaskScheduling.Domain.Tests.csproj", "{E60895E5-79C4-447D-88B7-85CB5BA336A4}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.Application.Tests", "test\Himp.TaskScheduling.Application.Tests\Himp.TaskScheduling.Application.Tests.csproj", "{90CB5DC4-C040-45C7-8900-9688B26405BC}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.HttpApi.Host", "host\Himp.TaskScheduling.HttpApi.Host\Himp.TaskScheduling.HttpApi.Host.csproj", "{37B135B0-DAFE-4616-B25C-1BDF32FC44A2}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.HttpApi.Client.ConsoleTestApp", "test\Himp.TaskScheduling.HttpApi.Client.ConsoleTestApp\Himp.TaskScheduling.HttpApi.Client.ConsoleTestApp.csproj", "{1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.Host.Shared", "host\Himp.TaskScheduling.Host.Shared\Himp.TaskScheduling.Host.Shared.csproj", "{F6AC8D4A-EDD7-4514-8E8A-5BCB019864DB}"
+EndProject
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Himp.TaskScheduling.Installer", "src\Himp.TaskScheduling.Installer\Himp.TaskScheduling.Installer.csproj", "{BE39FD00-745B-4049-8161-FC129817CBE4}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D64C1577-4929-4B60-939E-96DE1534891A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D64C1577-4929-4B60-939E-96DE1534891A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BD65D04F-08D5-40C1-8C24-77CA0BACB877}.Release|Any CPU.Build.0 = Release|Any CPU
+ {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {78040F9E-3501-4A40-82DF-00A597710F35}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {78040F9E-3501-4A40-82DF-00A597710F35}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0CE86223-D31D-4315-A1F5-87BA3EE1B844}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F1C58097-4C08-4D88-8976-6B3389391481}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F1C58097-4C08-4D88-8976-6B3389391481}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F1C58097-4C08-4D88-8976-6B3389391481}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F1C58097-4C08-4D88-8976-6B3389391481}.Release|Any CPU.Build.0 = Release|Any CPU
+ {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {077AA5F8-8B61-420C-A6B5-0150A66FDB34}.Release|Any CPU.Build.0 = Release|Any CPU
+ {36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {36E2735F-CEAB-44C8-A6D1-2CDAFF399751}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C5BB573D-3030-4BCB-88B7-F6A85C32766C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {527F645C-C1FC-406E-8479-81386C8ECF13}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {527F645C-C1FC-406E-8479-81386C8ECF13}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D0AD9179-125C-40B2-A8EE-CD4C1EE24BB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D0AD9179-125C-40B2-A8EE-CD4C1EE24BB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D0AD9179-125C-40B2-A8EE-CD4C1EE24BB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D0AD9179-125C-40B2-A8EE-CD4C1EE24BB6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E60895E5-79C4-447D-88B7-85CB5BA336A4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {90CB5DC4-C040-45C7-8900-9688B26405BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {90CB5DC4-C040-45C7-8900-9688B26405BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {37B135B0-DAFE-4616-B25C-1BDF32FC44A2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F6AC8D4A-EDD7-4514-8E8A-5BCB019864DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F6AC8D4A-EDD7-4514-8E8A-5BCB019864DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F6AC8D4A-EDD7-4514-8E8A-5BCB019864DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F6AC8D4A-EDD7-4514-8E8A-5BCB019864DB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BE39FD00-745B-4049-8161-FC129817CBE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BE39FD00-745B-4049-8161-FC129817CBE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BE39FD00-745B-4049-8161-FC129817CBE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BE39FD00-745B-4049-8161-FC129817CBE4}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {D64C1577-4929-4B60-939E-96DE1534891A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ {F2840BC7-0188-4606-9126-DADD0F5ABF7A} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ {BD65D04F-08D5-40C1-8C24-77CA0BACB877} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ {78040F9E-3501-4A40-82DF-00A597710F35} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ {0CE86223-D31D-4315-A1F5-87BA3EE1B844} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ {F1C58097-4C08-4D88-8976-6B3389391481} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ {077AA5F8-8B61-420C-A6B5-0150A66FDB34} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ {36E2735F-CEAB-44C8-A6D1-2CDAFF399751} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ {C5BB573D-3030-4BCB-88B7-F6A85C32766C} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
+ {527F645C-C1FC-406E-8479-81386C8ECF13} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
+ {D0AD9179-125C-40B2-A8EE-CD4C1EE24BB6} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
+ {E60895E5-79C4-447D-88B7-85CB5BA336A4} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
+ {90CB5DC4-C040-45C7-8900-9688B26405BC} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
+ {37B135B0-DAFE-4616-B25C-1BDF32FC44A2} = {E400416D-2895-4512-9D17-90681EEC7E0A}
+ {1EDCD6D4-DF3A-4E3B-ABB6-C0D0B373EAB8} = {CCD2960C-23CC-4AB4-B84D-60C7AAA52F4D}
+ {F6AC8D4A-EDD7-4514-8E8A-5BCB019864DB} = {E400416D-2895-4512-9D17-90681EEC7E0A}
+ {BE39FD00-745B-4049-8161-FC129817CBE4} = {649A3FFA-182F-4E56-9717-E6A9A2BEC545}
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {4324B3B4-B60B-4E3C-91D8-59576B4E26DD}
+ EndGlobalSection
+EndGlobal
diff --git a/Himp.TaskScheduling.sln.DotSettings b/Himp.TaskScheduling.sln.DotSettings
new file mode 100644
index 0000000..cb0b2c9
--- /dev/null
+++ b/Himp.TaskScheduling.sln.DotSettings
@@ -0,0 +1,23 @@
+
+ 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/NuGet.Config b/NuGet.Config
new file mode 100644
index 0000000..bdc4519
--- /dev/null
+++ b/NuGet.Config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/common.props b/common.props
new file mode 100644
index 0000000..87cf88d
--- /dev/null
+++ b/common.props
@@ -0,0 +1,24 @@
+
+
+ latest
+ 0.1.0
+ $(NoWarn);CS1591
+ module
+
+
+
+
+
+ All
+ runtime; build; native; contentfiles; analyzers
+
+
+
+
+
+
+ $(NoWarn);0436
+
+
+
+
\ No newline at end of file
diff --git a/database/Dockerfile b/database/Dockerfile
new file mode 100644
index 0000000..8a4dea6
--- /dev/null
+++ b/database/Dockerfile
@@ -0,0 +1,20 @@
+FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
+COPY . .
+
+WORKDIR /templates/service/host/IdentityServerHost
+RUN dotnet restore
+RUN dotnet ef migrations script -i -o migrations-IdentityServerHost.sql
+
+WORKDIR /templates/service/host/Himp.TaskScheduling.Host
+RUN dotnet restore
+RUN dotnet ef migrations script -i -o migrations-TaskScheduling.sql
+
+FROM mcr.microsoft.com/mssql-tools AS final
+WORKDIR /src
+COPY --from=build /templates/service/host/IdentityServerHost/migrations-IdentityServerHost.sql migrations-IdentityServerHost.sql
+COPY --from=build /templates/service/host/Himp.TaskScheduling.Host/migrations-TaskScheduling.sql migrations-TaskScheduling.sql
+COPY --from=build /templates/service/database/entrypoint.sh .
+RUN /bin/bash -c "sed -i $'s/\r$//' entrypoint.sh"
+RUN chmod +x ./entrypoint.sh
+
+ENTRYPOINT ["./entrypoint.sh"]
\ No newline at end of file
diff --git a/database/entrypoint.sh b/database/entrypoint.sh
new file mode 100644
index 0000000..1fcaac5
--- /dev/null
+++ b/database/entrypoint.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+until /opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q 'SELECT name FROM master.sys.databases'; do
+>&2 echo "SQL Server is starting up"
+sleep 1
+done
+
+/opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q "CREATE DATABASE [$IdentityServer_DB]"
+/opt/mssql-tools/bin/sqlcmd -S sqlserver -U SA -P $SA_PASSWORD -Q "CREATE DATABASE [$TaskScheduling_DB]"
+
+/opt/mssql-tools/bin/sqlcmd -d $IdentityServer_DB -S sqlserver -U sa -P $SA_PASSWORD -i migrations-IdentityServerHost.sql
+/opt/mssql-tools/bin/sqlcmd -d $TaskScheduling_DB -S sqlserver -U sa -P $SA_PASSWORD -i migrations-TaskScheduling.sql
\ No newline at end of file
diff --git a/docker-compose.migrations.yml b/docker-compose.migrations.yml
new file mode 100644
index 0000000..05026a3
--- /dev/null
+++ b/docker-compose.migrations.yml
@@ -0,0 +1,13 @@
+version: '3.4'
+
+services:
+ migrations:
+ build:
+ context: ../../
+ dockerfile: templates/service/database/Dockerfile
+ depends_on:
+ - sqlserver
+ environment:
+ - IdentityServer_DB=TaskScheduling_Identity
+ - TaskScheduling_DB=TaskScheduling_ModuleDb
+ - SA_PASSWORD=yourStrong(!)Password
diff --git a/docker-compose.override.yml b/docker-compose.override.yml
new file mode 100644
index 0000000..fa88d30
--- /dev/null
+++ b/docker-compose.override.yml
@@ -0,0 +1,29 @@
+version: '3.4'
+
+services:
+ sqlserver:
+ environment:
+ - SA_PASSWORD=yourStrong(!)Password
+ - ACCEPT_EULA=Y
+ ports:
+ - "51599:1433"
+
+ identity-server:
+ environment:
+ - ASPNETCORE_URLS=http://0.0.0.0:80
+ - ConnectionStrings__Default=Server=sqlserver;Database=TaskScheduling_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
+ - ConnectionStrings__SqlServerCache=Server=sqlserver;Database=TaskScheduling_Cache;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
+ ports:
+ - "51600:80"
+
+ task-scheduling:
+ environment:
+ - ASPNETCORE_URLS=http://0.0.0.0:80
+ - ConnectionStrings__Default=Server=sqlserver;Database=TaskScheduling_ModuleDb;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
+ - ConnectionStrings__AbpSettingManagement=Server=sqlserver;Database=TaskScheduling_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
+ - ConnectionStrings__AbpPermissionManagement=Server=sqlserver;Database=TaskScheduling_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
+ - ConnectionStrings__AbpAuditLogging=Server=sqlserver;Database=TaskScheduling_Identity;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
+ - ConnectionStrings__SqlServerCache=Server=sqlserver;Database=TaskScheduling_Cache;Trusted_Connection=True;User=sa;Password=yourStrong(!)Password;Integrated Security=false
+ - AuthServer__Authority=http://identity-server
+ ports:
+ - "51601:80"
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 0000000..31a37d1
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,25 @@
+version: '3.4'
+
+services:
+ sqlserver:
+ image: mcr.microsoft.com/mssql/server
+ volumes:
+ - dbdata:/var/opt/mssql
+
+ identity-server:
+ build:
+ context: ../../
+ dockerfile: templates/service/host/IdentityServerHost/Dockerfile
+ depends_on:
+ - sqlserver
+
+ task-scheduling:
+ build:
+ context: ../../
+ dockerfile: templates/service/host/Himp.TaskScheduling.Host/Dockerfile
+ depends_on:
+ - sqlserver
+ - identity-server
+
+volumes:
+ dbdata:
\ No newline at end of file
diff --git a/src/Himp.TaskScheduling.Application.Contracts/FodyWeavers.xml b/src/Himp.TaskScheduling.Application.Contracts/FodyWeavers.xml
new file mode 100644
index 0000000..1715698
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/FodyWeavers.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/Himp.TaskScheduling.Application.Contracts/FodyWeavers.xsd b/src/Himp.TaskScheduling.Application.Contracts/FodyWeavers.xsd
new file mode 100644
index 0000000..ffa6fc4
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/FodyWeavers.xsd
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
+
+
+
+
+ A comma-separated list of error codes that can be safely ignored in assembly verification.
+
+
+
+
+ 'false' to turn off automatic generation of the XML Schema file.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp.TaskScheduling.Application.Contracts.abppkg b/src/Himp.TaskScheduling.Application.Contracts/Himp.TaskScheduling.Application.Contracts.abppkg
new file mode 100644
index 0000000..4903279
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp.TaskScheduling.Application.Contracts.abppkg
@@ -0,0 +1,3 @@
+{
+ "role": "lib.application-contracts"
+}
\ No newline at end of file
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp.TaskScheduling.Application.Contracts.csproj b/src/Himp.TaskScheduling.Application.Contracts/Himp.TaskScheduling.Application.Contracts.csproj
new file mode 100644
index 0000000..111c99f
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp.TaskScheduling.Application.Contracts.csproj
@@ -0,0 +1,17 @@
+
+
+
+
+
+ net8.0
+ enable
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/CodeConversionDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/CodeConversionDto.cs
new file mode 100644
index 0000000..1a605cd
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/CodeConversionDto.cs
@@ -0,0 +1,40 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class CodeConversionDto : EntityDto
+ {
+ ///
+ /// 原始码
+ ///
+ public string SorcCode { get; set; }
+
+ ///
+ /// 目标码
+ ///
+ public string TargetCode { get; set; }
+
+ ///
+ /// 1 规批码转制样码
+ /// 2 制样码准化验码
+ /// 3 化验码转瓶底码
+ ///
+ public int ConversionType { get; set; }
+
+ ///
+ ///
+ ///
+ public DateTime ConversionTime { get; set; }
+
+ ///
+ ///
+ ///
+ public string OperName { get; set; }
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/CodeConversionInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/CodeConversionInput.cs
new file mode 100644
index 0000000..8949577
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/CodeConversionInput.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class CodeConversionInput : PagedAndSortedResultRequestDtoExtend
+ {
+ ///
+ /// 1 规批码转制样码
+ /// 2 制样码转化验码
+ /// 3 制样码转瓶底码
+ ///
+ public int? ConversionType { get; set; }
+
+ public DateTime? Begntime { get; set; }
+
+ public DateTime? Endtime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ICodeConversionService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ICodeConversionService.cs
new file mode 100644
index 0000000..43fa202
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ICodeConversionService.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface ICodeConversionService : IApplicationService
+ {
+ Task> GetListAsync(CodeConversionInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigService.cs
new file mode 100644
index 0000000..8b8822e
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigService.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IParamConfigService : ICrudAppService
+ {
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigTaskService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigTaskService.cs
new file mode 100644
index 0000000..e4df90a
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigTaskService.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IParamConfigTaskService : IApplicationService
+ {
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task PostAsync(ParamConfigTaskCreateDto input);
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ Task> GetListAsync(ParamConfigTaskInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigValueService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigValueService.cs
new file mode 100644
index 0000000..fd977c0
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IParamConfigValueService.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IParamConfigValueService : IApplicationService
+ {
+ Task> GetListAsync(ParamConfigValueInput input);
+
+ Task> GetKeyListAsync();
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IQsCodeService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IQsCodeService.cs
new file mode 100644
index 0000000..e4a3ab5
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/IQsCodeService.cs
@@ -0,0 +1,14 @@
+using Himp.TaskScheduling.Configs;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public interface IQsCodeService
+ {
+ Task PostAsync(QsCodeInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigCreateOrUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigCreateOrUpdateDto.cs
new file mode 100644
index 0000000..d0b75b8
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigCreateOrUpdateDto.cs
@@ -0,0 +1,64 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigCreateOrUpdateDto
+ {
+ ///
+ /// 参数类别
+ /// 类
+ /// 对象
+ /// 属性
+ ///
+ public EnumParamType ParamType { get; set; }
+
+ ///
+ /// 参数编码
+ ///
+ public string ParamCodg { get; set; }
+
+ ///
+ /// 参数名称
+ ///
+ public string ParamName { get; set; }
+
+ ///
+ /// 属性Key
+ ///
+ public string? PropertyKey { get; set; }
+
+ ///
+ /// 属性类别
+ ///
+ public int? PropertyType { get; set; }
+
+ ///
+ /// 参数值
+ ///
+ public string? ParamValue { get; set; }
+
+ ///
+ /// 默认值
+ ///
+ public string? DefValue { get; set; }
+
+ ///
+ /// 有效标识
+ ///
+ public bool ValiFlag { get; set; }
+
+ ///
+ ///
+ ///
+ public string? KeyPath { get; set; }
+
+ ///
+ ///
+ ///
+ public long? ParentId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigDto.cs
new file mode 100644
index 0000000..1b7c88f
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigDto.cs
@@ -0,0 +1,70 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigDto : EntityDto
+ {
+ ///
+ /// 参数类别
+ /// 类
+ /// 对象
+ /// 属性
+ ///
+ public EnumParamType ParamType { get; set; }
+
+ ///
+ /// 参数编码
+ ///
+ public string ParamCodg { get; set; }
+
+ ///
+ /// 参数名称
+ ///
+ public string ParamName { get; set; }
+
+ ///
+ /// 属性ID
+ ///
+ public string? PropertyKey { get; set; }
+
+ ///
+ /// 属性类别
+ ///
+ public int? PropertyType { get; set; }
+
+ ///
+ /// 参数值
+ ///
+ public string? ParamValue { get; set; }
+
+ ///
+ /// 默认值
+ ///
+ public string? DefValue { get; set; }
+
+ ///
+ /// 有效标识
+ ///
+ public bool ValiFlag { get; set; }
+
+ ///
+ ///
+ ///
+ public long? ParentId { get; set; }
+
+ ///
+ /// Topic 路径
+ ///
+ public string? KeyPath { get; set; }
+
+ ///
+ ///
+ ///
+ public List Children { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigInput.cs
new file mode 100644
index 0000000..45fa830
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigInput.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigInput : PagedAndSortedResultRequestDtoExtend
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskCreateDto.cs
new file mode 100644
index 0000000..0db4fb7
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskCreateDto.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigTaskCreateDto
+ {
+ ///
+ /// 参数编码
+ ///
+ public string ParamCodg { get; set; }
+
+ ///
+ /// 属性值
+ ///
+ public string PropertyValue { get; set; }
+
+ ///
+ /// 任务类别
+ ///
+ public int TaskType { get; set; }
+
+ ///
+ ///
+ ///
+ public string OperatorName { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskDto.cs
new file mode 100644
index 0000000..8567d7b
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskDto.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigTaskDto : EntityDto
+ {
+ ///
+ /// 任务内容描述
+ ///
+ public string TaskContdesc { get; set; }
+
+ ///
+ /// 属性Key
+ ///
+ public string PropertyKey { get; set; }
+
+ ///
+ /// 属性值
+ ///
+ public string PropertyValue { get; set; }
+
+ ///
+ /// 参数
+ ///
+ public int TaskType { get; set; }
+
+ ///
+ ///
+ ///
+ public string OperatorName { get; set; }
+
+ ///
+ ///
+ ///
+ public int TaskStas { get; set; }
+
+ ///
+ ///
+ ///
+ public string TaskMsg { get; set; }
+
+ ///
+ ///
+ ///
+ public DateTime OperationTime { get; set; }
+
+ ///
+ ///
+ ///
+ public DateTime? ExecTime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskInput.cs
new file mode 100644
index 0000000..cdcb4d2
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskInput.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigTaskInput: PagedAndSortedResultRequestDtoExtend
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskUpdateDto.cs
new file mode 100644
index 0000000..2be1c2b
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigTaskUpdateDto.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigTaskUpdateDto
+ {
+ ///
+ ///
+ ///
+ public string OperatorName { get; set; }
+
+ ///
+ ///
+ ///
+ public int TaskStas { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigValueDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigValueDto.cs
new file mode 100644
index 0000000..fab63fe
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigValueDto.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigValueDto : EntityDto
+ {
+ public object Value { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigValueInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigValueInput.cs
new file mode 100644
index 0000000..5582d29
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/ParamConfigValueInput.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigValueInput
+ {
+ public List? Keys { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/QsCodeDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/QsCodeDto.cs
new file mode 100644
index 0000000..456d909
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/QsCodeDto.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling.Configs
+{
+ public class QsCodeDto
+ {
+ public string QsCode { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/QsCodeInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/QsCodeInput.cs
new file mode 100644
index 0000000..1a53f8d
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Configs/QsCodeInput.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling.Configs
+{
+ public class QsCodeInput
+ {
+ public string Code { get; set; }
+
+ public string Oper { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/AutoSamplingConditionDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/AutoSamplingConditionDto.cs
new file mode 100644
index 0000000..ae7a463
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/AutoSamplingConditionDto.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class AutoSamplingConditionDto
+ {
+ public string TipCont { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/AutoSamplingConditionInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/AutoSamplingConditionInput.cs
new file mode 100644
index 0000000..5d4e9a9
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/AutoSamplingConditionInput.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class AutoSamplingConditionInput
+ {
+ public string Key { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/DataStatisticDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/DataStatisticDto.cs
new file mode 100644
index 0000000..0efa8aa
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/DataStatisticDto.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class DataStatisticDto
+ {
+ public string Tit { get; set; }
+
+ public int Type { get; set; }
+
+ public decimal Cont { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompCreateOrUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompCreateOrUpdateDto.cs
new file mode 100644
index 0000000..6189c73
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompCreateOrUpdateDto.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class FullWaterCompCreateOrUpdateDto
+ {
+ public string Type { get; set; }
+
+ public string Index { get; set; }
+
+ public decimal Value { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompDto.cs
new file mode 100644
index 0000000..e1d2c3e
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompDto.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class FullWaterCompDto : EntityDto
+ {
+ public string Type { get; set; }
+
+ public string Index { get; set; }
+
+ public decimal Value { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompInput.cs
new file mode 100644
index 0000000..6bfc3f9
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/FullWaterCompInput.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class FullWaterCompInput : PagedAndSortedResultRequestDtoExtend
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IAutoSamplingConditionService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IAutoSamplingConditionService.cs
new file mode 100644
index 0000000..48bd4ab
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IAutoSamplingConditionService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public interface IAutoSamplingConditionService : IApplicationService
+ {
+ Task GetAsync(AutoSamplingConditionInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IDataStatisticService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IDataStatisticService.cs
new file mode 100644
index 0000000..7f775cf
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IDataStatisticService.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public interface IDataStatisticService : IApplicationService
+ {
+ Task> GetAsync();
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IDataVService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IDataVService.cs
new file mode 100644
index 0000000..43f25c7
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IDataVService.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public interface IDataVService : IApplicationService
+ {
+ Task> GetAsync();
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IFullWaterCompService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IFullWaterCompService.cs
new file mode 100644
index 0000000..def9f4d
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IFullWaterCompService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IFullWaterCompService : ICrudAppService
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IManualTestingJobRecService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IManualTestingJobRecService.cs
new file mode 100644
index 0000000..a9901cf
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IManualTestingJobRecService.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public interface IManualTestingJobRecService : IApplicationService
+ {
+ Task> GetListAsync(ManualTestingJobRecInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ISamplePreparationDatavService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ISamplePreparationDatavService.cs
new file mode 100644
index 0000000..6a488ed
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ISamplePreparationDatavService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public interface ISamplePreparationDatavService : IApplicationService
+ {
+ Task GetSampleData();
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IZYOperateRecordService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IZYOperateRecordService.cs
new file mode 100644
index 0000000..42fb117
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/IZYOperateRecordService.cs
@@ -0,0 +1,16 @@
+using Himp.TaskScheduling.Datas;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IZYOperateRecordService : IApplicationService
+ {
+ Task> GetListAsync(ZYOperateRecordInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ManualTestingJobRecDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ManualTestingJobRecDto.cs
new file mode 100644
index 0000000..79db667
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ManualTestingJobRecDto.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class ManualTestingJobRecDto : EntityDto
+ {
+ public string TestingCode { get; set; }
+
+ public string TestingProject { get; set; }
+
+ public DateTime TestingDate { get; set; }
+
+ public string Operator { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ManualTestingJobRecInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ManualTestingJobRecInput.cs
new file mode 100644
index 0000000..3950cfb
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ManualTestingJobRecInput.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ManualTestingJobRecInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public DateTime? BegnDate { get; set; }
+
+ public DateTime? EndDate { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplePreparationDatavDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplePreparationDatavDto.cs
new file mode 100644
index 0000000..15db60f
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplePreparationDatavDto.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class SamplePreparationDatavDto
+ {
+ public int Tar6 { get; set; }
+
+ public int Tar3 { get; set; }
+
+ public int Tar2 { get; set; }
+
+ public List CurWeight6 { get; set; }
+
+ public List CurWeight3 { get; set; }
+
+ public List CurWeight2 { get; set; }
+
+ public int SampleEfficiencyCur { get; set; }
+
+ public int SampleEfficiencyTotal { get; set; }
+
+ public int FinishRateCur { get; set; }
+
+ public int FinishRateTotal { get; set; }
+
+ public SamplePreparationDatavDto()
+ {
+ CurWeight6 = new List();
+ CurWeight3 = new List();
+ CurWeight2 = new List();
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplePreparationRecDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplePreparationRecDto.cs
new file mode 100644
index 0000000..6ae54dd
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplePreparationRecDto.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class SamplePreparationRecDto : EntityDto
+ {
+ public string MachineCode { get; set; }
+
+ public int AtuoSmapleFlag { get; set; }
+
+ public string SampleID { get; set; }
+
+ public string PackCode { get; set; }
+
+ public int ZYWeight { get; set; }
+
+ public int ZYType { get; set; }
+
+ public int SampleType { get; set; }
+ public int Size { get; set; }
+
+ public int Water { get; set; }
+
+ public DateTime StartTime { get; set; }
+
+ public DateTime EndTime { get; set; }
+
+ public int SampleWeight { get; set; }
+
+ public string UserName { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplingOperRecDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplingOperRecDto.cs
new file mode 100644
index 0000000..e77e3f5
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplingOperRecDto.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class SamplingOperRecDto
+ {
+ public DateTime Time { get; set; }
+
+ public string EqpName { get; set; }
+
+ public string OperDescr { get; set; }
+
+ public string OperName { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplingOperRecInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplingOperRecInput.cs
new file mode 100644
index 0000000..589b926
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/SamplingOperRecInput.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class SamplingOperRecInput: PagedAndSortedResultRequestDtoExtend
+ {
+ public DateTime? BegnDate { get; set; }
+
+ public DateTime? EndDate { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ZYOperateRecordDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ZYOperateRecordDto.cs
new file mode 100644
index 0000000..10de9a6
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ZYOperateRecordDto.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class ZYOperateRecordDto : EntityDto
+ {
+ public string Record { get; set; }
+
+ public string MachineCode { get; set; }
+
+ public string PersonId { get; set; }
+
+ public string Name { get; set; }
+
+ public DateTime DateTime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ZYOperateRecordInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ZYOperateRecordInput.cs
new file mode 100644
index 0000000..0acead2
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Datas/ZYOperateRecordInput.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ZYOperateRecordInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public DateTime? BegnTime { get; set; }
+
+ public DateTime? EndTime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecCreateDto.cs
new file mode 100644
index 0000000..aa1730f
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecCreateDto.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class EventMsgRecCreateDto
+ {
+ ///
+ /// 消息类型
+ ///
+ public string MsgTopicName { get; set; }
+
+ ///
+ /// 全路径
+ ///
+ public string TopicFullPath { get; set; }
+
+ ///
+ /// 消息内容
+ ///
+ public string MsgCont { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecDto.cs
new file mode 100644
index 0000000..a9d8e0b
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecDto.cs
@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class EventMsgRecDto : EntityDto
+ {
+ ///
+ /// 消息类型
+ ///
+ public string MsgTopicName { get; set; }
+
+ ///
+ /// 全路径
+ ///
+ public string TopicFullPath { get; set; }
+
+ ///
+ /// 消息内容
+ ///
+ public string MsgCont { get; set; }
+
+ ///
+ ///
+ ///
+ public virtual DateTime CreationTime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecInput.cs
new file mode 100644
index 0000000..587b919
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgRecInput.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class EventMsgRecInput : PagedAndSortedResultRequestDtoExtend
+ {
+ ///
+ /// 全路径
+ ///
+ public string[] TopicFullPath { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicCreateDto.cs
new file mode 100644
index 0000000..ebc1efd
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicCreateDto.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class EventMsgTopicCreateDto
+ {
+ ///
+ ///
+ ///
+ public string EventMsgTopicCodg { get; set; }
+
+ ///
+ ///
+ ///
+ public string EventMsgTopicName { get; set; }
+
+ ///
+ ///
+ ///
+ public string TopicFullPath { get; set; }
+
+ ///
+ ///
+ ///
+ public int Srtno { get; set; }
+
+ ///
+ ///
+ ///
+ public int LvIndex { get; set; }
+
+ ///
+ ///
+ ///
+ public bool DefaultFlag { get; set; }
+
+ ///
+ ///
+ ///
+ public Guid? ParentId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicDto.cs
new file mode 100644
index 0000000..1d26431
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicDto.cs
@@ -0,0 +1,46 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations.Schema;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class EventMsgTopicDto : EntityDto
+ {
+ ///
+ ///
+ ///
+ public string EventMsgTopicCodg { get; set; }
+
+ ///
+ ///
+ ///
+ public string EventMsgTopicName { get; set; }
+
+ ///
+ ///
+ ///
+ public string TopicFullPath { get; set; }
+
+ ///
+ ///
+ ///
+ public int Srtno { get; set; }
+
+ ///
+ ///
+ ///
+ public int LvIndex { get; set; }
+
+ ///
+ ///
+ ///
+ public bool DefaultFlag { get; set; }
+
+ ///
+ ///
+ ///
+ public Guid? ParentId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicInput.cs
new file mode 100644
index 0000000..fe3995e
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicInput.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class EventMsgTopicInput : PagedAndSortedResultRequestDtoExtend
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicUpdateDto.cs
new file mode 100644
index 0000000..6e0fec8
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/EventMsgTopicUpdateDto.cs
@@ -0,0 +1,44 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class EventMsgTopicUpdateDto
+ {
+ ///
+ ///
+ ///
+ public string EventMsgTopicCodg { get; set; }
+
+ ///
+ ///
+ ///
+ public string EventMsgTopicName { get; set; }
+
+ ///
+ ///
+ ///
+ public string TopicFullPath { get; set; }
+
+ ///
+ ///
+ ///
+ public int Srtno { get; set; }
+
+ ///
+ ///
+ ///
+ public int LvIndex { get; set; }
+
+ ///
+ ///
+ ///
+ public bool DefaultFlag { get; set; }
+
+ ///
+ ///
+ ///
+ public Guid? ParentId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/IEventMsgRecService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/IEventMsgRecService.cs
new file mode 100644
index 0000000..0488576
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/IEventMsgRecService.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IEventMsgRecService : IApplicationService
+ {
+ Task> GetListAsync(EventMsgRecInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/IEventMsgTopicService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/IEventMsgTopicService.cs
new file mode 100644
index 0000000..0d20891
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Msgs/IEventMsgTopicService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IEventMsgTopicService : IApplicationService
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/CmDeviceControlDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/CmDeviceControlDto.cs
new file mode 100644
index 0000000..8d32eda
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/CmDeviceControlDto.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class CmDeviceControlDto
+ {
+ ///
+ ///
+ ///
+ public string Device { get; set; }
+
+ ///
+ ///
+ ///
+ public int Enable { get; set; }
+
+ ///
+ ///
+ ///
+ public DateTime? Betime { get; set; }
+
+ ///
+ ///
+ ///
+ public DateTime? Totime { get; set; }
+
+ ///
+ ///
+ ///
+ public string? Remark { get; set; }
+
+ ///
+ ///
+ ///
+ public DateTime Uptime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/CmDeviceControlUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/CmDeviceControlUpdateDto.cs
new file mode 100644
index 0000000..9d40dc4
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/CmDeviceControlUpdateDto.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class CmDeviceControlUpdateDto
+ {
+ public int Enable { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ICmDeviceControlService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ICmDeviceControlService.cs
new file mode 100644
index 0000000..2c7f599
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ICmDeviceControlService.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface ICmDeviceControlService : IApplicationService
+ {
+ Task GetAsync(int id);
+
+ Task PutAsync(int id, CmDeviceControlUpdateDto input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/IManualSamplingTaskService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/IManualSamplingTaskService.cs
new file mode 100644
index 0000000..f26b40a
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/IManualSamplingTaskService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IManualSamplingTaskService : IApplicationService
+ {
+ Task PostAsync(ManualSamplingTaskCreateDto input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleDiscardedTaskService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleDiscardedTaskService.cs
new file mode 100644
index 0000000..082d784
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleDiscardedTaskService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface ISampleDiscardedTaskService : IApplicationService
+ {
+ Task Post(SampleDiscardedTaskCreateDto input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleObtainTaskService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleObtainTaskService.cs
new file mode 100644
index 0000000..f8296fa
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleObtainTaskService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface ISampleObtainTaskService : IApplicationService
+ {
+ Task PostAsync(SampleObtainTaskCreateDto input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISamplePreparationResultService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISamplePreparationResultService.cs
new file mode 100644
index 0000000..efe315e
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISamplePreparationResultService.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface ISamplePreparationResultService : IApplicationService
+ {
+ Task> GetListAsync(SamplePreparationResultInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISamplePreparationTaskService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISamplePreparationTaskService.cs
new file mode 100644
index 0000000..ea00bc5
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISamplePreparationTaskService.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface ISamplePreparationTaskService : IApplicationService
+ {
+ Task> GetListAsync(SamplePreparationTaskInput input);
+
+ Task PostAsync(SamplePreparationTaskCreateOrUpdateDto input);
+
+ Task PutAsync(string id, SamplePreparationTaskCreateOrUpdateDto input);
+
+ Task> GetPlanListAsync(string samplePreparationTaskId);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleTestTaskService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleTestTaskService.cs
new file mode 100644
index 0000000..e9329d0
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ISampleTestTaskService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public interface ISampleTestTaskService
+ {
+ Task> GetListAsync(SampleTestTaskInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/IStandardTestTaskService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/IStandardTestTaskService.cs
new file mode 100644
index 0000000..a8df8a2
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/IStandardTestTaskService.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public interface IStandardTestTaskService
+ {
+ Task> GetListAsync(StandardTestTaskInput input);
+
+ Task> GetItemListAsync();
+
+ Task PostAuditAsync(StandardTestTaskAuditDto input);
+
+ Task PutItemValiAsync(long id, bool valiFlag);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ManualSamplingTaskCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ManualSamplingTaskCreateDto.cs
new file mode 100644
index 0000000..7fff150
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/ManualSamplingTaskCreateDto.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ManualSamplingTaskCreateDto
+ {
+ ///
+ /// 制样码
+ ///
+ public string SampleCode { get; set; }
+
+ ///
+ /// 化验码
+ ///
+ public string TestCode { get; set; }
+
+ //瓶底码
+ public string BottomCode { get; set; }
+
+ ///
+ /// 煤样类型
+ ///
+ public string Sampletype { get; set; }
+
+ ///
+ /// 化验项目
+ ///
+ public string TestItems { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleDiscardedTaskCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleDiscardedTaskCreateDto.cs
new file mode 100644
index 0000000..b2a54e5
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleDiscardedTaskCreateDto.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SampleDiscardedTaskCreateDto
+ {
+ public string BottomCode { get; set; }
+
+ public int ManualFlag { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskCreateDto.cs
new file mode 100644
index 0000000..734bd9d
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskCreateDto.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SampleObtainTaskCreateDto
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskDto.cs
new file mode 100644
index 0000000..9d5a416
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskDto.cs
@@ -0,0 +1,100 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class SampleObtainTaskDto : EntityDto
+ {
+ ///
+ /// 任务类型
+ /// 1.人工化验
+ /// 2.抽查取样
+ ///
+ public int TaskType { get; set; }
+
+ ///
+ /// 煤样入场时间
+ ///
+ public DateTime CoalTime { get; set; }
+
+ ///
+ /// 任务状态
+ ///
+ public int TaskState { get; set; }
+
+ ///
+ /// 结束状态
+ ///
+ public bool TaskEndFlag { get; set; }
+
+ ///
+ /// 任务开始时间
+ ///
+ public DateTime TaskStartTime { get; set; }
+
+ ///
+ /// 任务结束时间
+ ///
+ public DateTime TaskEndTime { get; set; }
+
+ ///
+ /// 供应商编码
+ ///
+ public string CustCode { get; set; }
+
+ ///
+ /// 采样码
+ ///
+ public string SampleCode { get; set; }
+
+ ///
+ /// 制样码
+ ///
+ public string SamplePreparationCode { get; set; }
+
+ ///
+ /// 化验码
+ ///
+ public string AssayCode { get; set; }
+
+ ///
+ /// 抽样码
+ ///
+ public string ExtractCode { get; set; }
+
+ ///
+ /// 分样码
+ ///
+ public string SeparateCode { get; set; }
+
+ ///
+ /// 煤样类型
+ /// 1:0.2mm1(分析样)
+ ///
+ public int CoalType { get; set; }
+
+ ///
+ /// 化验项目
+ ///
+ public string[] TestItemCode { get; set; }
+
+ ///
+ /// 操作人编码
+ ///
+ public string Opercode { get; set; }
+
+ ///
+ /// 操作人名称
+ ///
+ public string Opername { get; set; }
+
+ ///
+ /// 备注
+ ///
+ public string task_remark { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskInput.cs
new file mode 100644
index 0000000..4c33640
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleObtainTaskInput.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SampleObtainTaskInput : PagedAndSortedResultRequestDtoExtend
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationPlanDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationPlanDto.cs
new file mode 100644
index 0000000..6134e67
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationPlanDto.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SamplePreparationPlanDto
+ {
+ public string Id { get; set; }
+
+ public string ParName { get; set; }
+
+ public string ParValue { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationPlanInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationPlanInput.cs
new file mode 100644
index 0000000..024ace3
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationPlanInput.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SamplePreparationPlanInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public string SamplePreparationTaskId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationResultDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationResultDto.cs
new file mode 100644
index 0000000..75a5c8a
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationResultDto.cs
@@ -0,0 +1,81 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class SamplePreparationResultDto : EntityDto
+ {
+ ///
+ ///
+ ///
+ public string SampeWay { get; set; }
+
+ ///
+ ///
+ ///
+ public string SampeEqp { get; set; }
+
+ ///
+ ///
+ ///
+ public DateTime Begtime { get; set; }
+
+ ///
+ ///
+ ///
+ public DateTime? Endtime { get; set; }
+
+ ///
+ ///
+ ///
+ public string? BottomCode61 { get; set; }
+
+ ///
+ ///
+ ///
+ public float Weight61Bottles { get; set; }
+
+ ///
+ ///
+ ///
+ public string? BottomCode62 { get; set; }
+
+ ///
+ ///
+ ///
+ public float Weight62Bottles { get; set; }
+
+ public string? BottomCode31 { get; set; }
+
+ public float Weight31Bottles { get; set; }
+
+ public string? BottomCode21 { get; set; }
+
+ public float Weight21Bottles { get; set; }
+
+ public string? BottomCode22 { get; set; }
+
+ public float Weight22Bottles { get; set; }
+
+ public float TotalCoalSampleWeight { get; set; }
+
+ ///
+ /// 3 弃料重量
+ ///
+ public float Weight6Rejects { get; set; }
+
+ ///
+ /// 2 弃料重量
+ ///
+ public float Weight3Rejects { get; set; }
+
+ ///
+ /// 2 弃料重量
+ ///
+ public float Weight2Rejects { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationResultInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationResultInput.cs
new file mode 100644
index 0000000..c43fa65
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationResultInput.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SamplePreparationResultInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public DateTime? Begntime { get; set; }
+
+ public DateTime? Endtime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskCreateOrUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskCreateOrUpdateDto.cs
new file mode 100644
index 0000000..8ec4bdd
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskCreateOrUpdateDto.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SamplePreparationTaskCreateOrUpdateDto
+ {
+ public string Id { get; set; }
+
+ ///
+ /// 制样码
+ ///
+ public string SampleCode { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskDto.cs
new file mode 100644
index 0000000..72d3a41
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskDto.cs
@@ -0,0 +1,42 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class SamplePreparationTaskDto : EntityDto
+ {
+ ///
+ /// 制样码
+ ///
+ public string SampleCode { get; set; }
+
+ ///
+ /// 任务下达时间
+ ///
+ public DateTime TaskAssgnTime { get; set; }
+
+ ///
+ /// 制样方式
+ ///
+ public string SampeWay { get; set; }
+
+ ///
+ /// 任务接收时间
+ ///
+ public DateTime? TaskRecptTime { get; set; }
+
+ ///
+ /// 最后操作时间
+ ///
+ public DateTime LastOperTime { get; set; }
+
+ ///
+ /// 任务状态
+ ///
+ public string ExecStas { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskInput.cs
new file mode 100644
index 0000000..ffb2abb
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SamplePreparationTaskInput.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SamplePreparationTaskInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public DateTime? Begntime { get; set; }
+
+ public DateTime? Endtime { get; set; }
+
+ public string? ExecStas { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestItemDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestItemDto.cs
new file mode 100644
index 0000000..6577a28
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestItemDto.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class SampleTestItemDto : EntityDto
+ {
+ public string TestItem { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskCreateDto.cs
new file mode 100644
index 0000000..0c8c02a
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskCreateDto.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ ///
+ ///
+ public class SampleTestTaskCreateDto
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskDto.cs
new file mode 100644
index 0000000..6dd3e36
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskDto.cs
@@ -0,0 +1,62 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class SampleTestTaskDto : EntityDto
+ {
+ ///
+ /// 制样码
+ ///
+ public string SampleCode { get; set; }
+
+ ///
+ /// 化验码
+ ///
+ public string TestCode { get; set; }
+
+ ///
+ /// 瓶底码
+ ///
+ public string BottomCode { get; set; }
+
+ ///
+ /// 煤样类型
+ ///
+ public string SampleType { get; set; }
+
+ ///
+ /// 测定次数
+ ///
+ public int TestCnt { get; set; }
+
+ ///
+ /// 任务下达时间
+ ///
+ public DateTime TaskAssgnTime { get; set; }
+
+ ///
+ /// 任务接收时间
+ ///
+ public DateTime? TaskRecptTime { get; set; }
+
+ ///
+ /// 最后操作时间
+ ///
+ public DateTime LastOperTime { get; set; }
+
+ ///
+ /// 化验项目
+ ///
+ public string TestItems { get; set; }
+
+ ///
+ /// 任务状态
+ ///
+ public string ExecStas { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskInput.cs
new file mode 100644
index 0000000..011d1ba
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/SampleTestTaskInput.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class SampleTestTaskInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public DateTime? Begntime { get; set; }
+
+ public DateTime? Endtime { get; set; }
+
+ public string? SampleCode { get; set; }
+
+ public string? SampleType { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestItemDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestItemDto.cs
new file mode 100644
index 0000000..e7244f4
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestItemDto.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class StandardTestItemDto : EntityDto
+ {
+ public string TestItems { get; set; }
+
+ public string SampleType { get; set; }
+
+ public bool ValiFlag { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskAuditDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskAuditDto.cs
new file mode 100644
index 0000000..bb48613
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskAuditDto.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class StandardTestTaskAuditDto
+ {
+ ///
+ ///
+ ///
+ public long[] StandardTestTaskId { get; set; }
+
+ ///
+ /// 审核人
+ ///
+ public string Aduitor { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskDto.cs
new file mode 100644
index 0000000..61e7247
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskDto.cs
@@ -0,0 +1,79 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class StandardTestTaskDto : EntityDto
+ {
+ ///
+ /// 制样码
+ ///
+ public string SampleCode { get; set; }
+
+ ///
+ /// 化验码
+ ///
+ public string TestCode { get; set; }
+
+ ///
+ /// 瓶底码
+ ///
+ public string BottomCode { get; set; }
+
+ ///
+ /// 煤样类型
+ ///
+ public string Sampletype { get; set; }
+
+ ///
+ /// 任务类别
+ ///
+ public EnumTaskType TaskType { get; set; }
+
+ ///
+ /// 制样方式
+ /// 手工
+ /// 自动
+ ///
+ public string SampeWay { get; set; }
+
+ ///
+ /// 测定次数
+ ///
+ public int TestCnt { get; set; }
+
+ ///
+ /// 任务下达时间
+ ///
+ public DateTime TaskAssgnTime { get; set; }
+
+ ///
+ /// 最后操作时间
+ ///
+ public DateTime LastOperTime { get; set; }
+
+ ///
+ /// 审核人
+ ///
+ public string? Auditor { get; set; }
+
+ ///
+ /// 审核时间
+ ///
+ public DateTime? AuditTime { get; set; }
+
+ ///
+ /// 任务状态
+ ///
+ public string ExecStas { get; set; }
+
+ ///
+ ///
+ ///
+ public List SampleTestItems { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskInput.cs
new file mode 100644
index 0000000..b1e5895
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Tasks/StandardTestTaskInput.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class StandardTestTaskInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public DateTime? Begntime { get; set; }
+
+ public DateTime? Endtime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigCreateDto.cs
new file mode 100644
index 0000000..2c0d176
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigCreateDto.cs
@@ -0,0 +1,12 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowConfigCreateDto : BizflowConfigCreateOrUpdateDto
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigCreateOrUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigCreateOrUpdateDto.cs
new file mode 100644
index 0000000..a0a33c1
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigCreateOrUpdateDto.cs
@@ -0,0 +1,45 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowConfigCreateOrUpdateDto
+ {
+ ///
+ /// 工作流模型Key
+ ///
+ public string WorkflowModelKey { get; set; }
+
+ ///
+ /// 工作流模型名称
+ ///
+ public string WorkflowModelName { get; set; }
+
+ ///
+ /// 工作流授权提供器
+ ///
+ public int WorkflowTypeProvider { get; set; }
+
+ ///
+ /// 提供值
+ ///
+ public string? ProviderKey { get; set; }
+
+ ///
+ /// 业务流程代码
+ ///
+ public string BizflowCode { get; set; }
+
+ ///
+ /// 业务流程名称
+ ///
+ public string BizflowName { get; set; }
+
+ ///
+ /// 有效标识
+ ///
+ public bool ValiFlag { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigDto.cs
new file mode 100644
index 0000000..55b68e1
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigDto.cs
@@ -0,0 +1,63 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Data;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowConfigDto : EntityDto
+ {
+ ///
+ /// 工作流模型名称
+ ///
+ public string WorkflowModelName { get; set; }
+
+ ///
+ /// 工作流模型Key
+ ///
+ public string WorkflowModelKey { get; set; }
+
+
+ ///
+ /// 工作流授权提供器
+ ///
+ public EnumWorkflowTypeProvider WorkflowTypeProvider { get; set; }
+
+ ///
+ /// 提供值
+ ///
+ public string? ProviderKey { get; set; }
+
+ ///
+ /// 业务流程代码
+ ///
+ public string BizflowCode { get; set; }
+
+ ///
+ /// 业务流程名称
+ ///
+ public string BizflowName { get; set; }
+
+ ///
+ /// 有效标识
+ ///
+ public bool ValiFlag { get; set; }
+
+ ///
+ /// 工作流授权提供器
+ ///
+ public string WorkflowTypeProviderName
+ {
+ get
+ {
+ return WorkflowTypeProvider.ToString();
+ }
+ }
+
+ ///
+ ///
+ ///
+ public List BizflowNodes { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigInput.cs
new file mode 100644
index 0000000..4436230
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigInput.cs
@@ -0,0 +1,12 @@
+using Himp.TaskScheduling;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowConfigInput : PagedAndSortedResultRequestDtoExtend
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigUpdateDto.cs
new file mode 100644
index 0000000..24bf378
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowConfigUpdateDto.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowConfigUpdateDto : BizflowConfigCreateOrUpdateDto
+ {
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeCreateDto.cs
new file mode 100644
index 0000000..58d04de
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeCreateDto.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowNodeCreateDto: BizflowNodeCreateOrUpdateBaseDto
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeCreateOrUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeCreateOrUpdateDto.cs
new file mode 100644
index 0000000..60ec43a
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeCreateOrUpdateDto.cs
@@ -0,0 +1,95 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowNodeCreateOrUpdateBaseDto
+ {
+ ///
+ ///
+ ///
+ public Guid BizflowConfigId { get; set; }
+
+ ///
+ /// 工作流节点Key
+ ///
+ public string WorkflowNodeKey { get; set; }
+
+ ///
+ /// 工作流节点名称
+ ///
+ public string WorkflowNodeName { get; set; }
+
+ ///
+ /// 流程节点类别
+ ///
+ public EnumBizflowNodeType WorkflowNodeType { get; set; }
+
+ ///
+ /// 节点序号
+ ///
+ public int WorkflowIndex { get; set; }
+
+ ///
+ /// schema
+ ///
+ public string? SchemaUI { get; set; }
+
+ ///
+ ///
+ ///
+ public string? AssigneeParName { get; set; }
+
+ ///
+ ///
+ ///
+ public string? CaudidateUsersParName { get; set; }
+
+ ///
+ ///
+ ///
+ public string? CaudidateGroupsParName { get; set; }
+
+ ///
+ ///
+ ///
+ public string[] AssigneeDefValues { get; set; }
+
+ ///
+ ///
+ ///
+ public string[] CaudidateUsersDefValues { get; set; }
+
+ ///
+ ///
+ ///
+ public string[] CaudidateGroupsDefValues { get; set; }
+
+ ///
+ /// 组件
+ ///
+ public string? Component { get; set; }
+
+ ///
+ ///
+ ///
+ public bool ValiFlag { get; set; }
+
+ ///
+ /// 可审核
+ ///
+ public bool CanAuditFlag { get; set; }
+
+ ///
+ /// 可驳回
+ ///
+ public bool CanRejectFlag { get; set; }
+
+ ///
+ /// 可编辑
+ ///
+ public bool CanEditFlag { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeDto.cs
new file mode 100644
index 0000000..097da65
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeDto.cs
@@ -0,0 +1,98 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ ///
+ ///
+ public class BizflowNodeDto : EntityDto
+ {
+ ///
+ ///
+ ///
+ public Guid BizflowConfigId { get; set; }
+
+ ///
+ /// 工作流节点Key
+ ///
+ public string WorkflowNodeKey { get; set; }
+
+ ///
+ /// 工作流节点名称
+ ///
+ public string WorkflowNodeName { get; set; }
+
+ ///
+ /// 流程节点类别
+ ///
+ public EnumBizflowNodeType WorkflowNodeType { get; set; }
+
+ ///
+ /// 节点序号
+ ///
+ public int WorkflowIndex { get; set; }
+
+ ///
+ /// schema
+ ///
+ public string? SchemaUI { get; set; }
+
+ ///
+ ///
+ ///
+ public string? AssigneeParName { get; set; }
+
+ ///
+ ///
+ ///
+ public string? CaudidateUsersParName { get; set; }
+
+ ///
+ ///
+ ///
+ public string? CaudidateGroupsParName { get; set; }
+
+ ///
+ ///
+ ///
+ public string[] AssigneeDefValues { get; set; }
+
+ ///
+ ///
+ ///
+ public string[] CaudidateUsersDefValues { get; set; }
+
+ ///
+ ///
+ ///
+ public string[] CaudidateGroupsDefValues { get; set; }
+
+ ///
+ /// 组件
+ ///
+ public string? Component { get; set; }
+
+ ///
+ ///
+ ///
+ public bool ValiFlag { get; set; }
+
+ ///
+ /// 可审核
+ ///
+ public bool CanAuditFlag { get; set; }
+
+ ///
+ /// 可驳回
+ ///
+ public bool CanRejectFlag { get; set; }
+
+ ///
+ /// 可编辑
+ ///
+ public bool CanEditFlag { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeInput.cs
new file mode 100644
index 0000000..2694bec
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeInput.cs
@@ -0,0 +1,14 @@
+using Himp.TaskScheduling;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowNodeInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public string? BizflowCode { get; set; }
+
+ public int? WorkflowIndex { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeUpdateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeUpdateDto.cs
new file mode 100644
index 0000000..2b4e45e
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/BizflowNodeUpdateDto.cs
@@ -0,0 +1,10 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class BizflowNodeUpdateDto: BizflowNodeCreateOrUpdateBaseDto
+ {
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IBizflowConfigService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IBizflowConfigService.cs
new file mode 100644
index 0000000..a1c933d
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IBizflowConfigService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IBizflowConfigService : ICrudAppService
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IBizflowNodeService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IBizflowNodeService.cs
new file mode 100644
index 0000000..bdb4c94
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IBizflowNodeService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IBizflowNodeService : ICrudAppService
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowDefinitionService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowDefinitionService.cs
new file mode 100644
index 0000000..402c809
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowDefinitionService.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IWorkflowDefinitionService : IApplicationService
+ {
+ Task> GetListAsync(ProcessDefinitionInput input);
+
+ Task PostDeployAsync(WorkflowDeployDto input);
+
+ Task PostActivateAsync(WorkflowActivateDto input);
+
+ Task DeleteAsync(string id);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowInstanceService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowInstanceService.cs
new file mode 100644
index 0000000..bb12239
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowInstanceService.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IWorkflowInstanceService : IApplicationService
+ {
+ Task> GetListAsync(WorkflowInstanceInput input);
+
+ Task PostAsync(WorkflowInstanceCreateDto input);
+
+ Task PutAsync(WorkflowInstanceExecDto input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowTodoTaskService.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowTodoTaskService.cs
new file mode 100644
index 0000000..ec060fd
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/IWorkflowTodoTaskService.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling
+{
+ public interface IWorkflowTodoTaskService : IApplicationService
+ {
+ Task> GetListAsync(WorkflowTodoTaskInput input);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessDefinitionInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessDefinitionInput.cs
new file mode 100644
index 0000000..990f987
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessDefinitionInput.cs
@@ -0,0 +1,12 @@
+using Himp.TaskScheduling;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class ProcessDefinitionInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public int? Status { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeCreateDto.cs
new file mode 100644
index 0000000..6c0c3e7
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeCreateDto.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class ProcessModelAssocTypeCreateDto
+ {
+ public string WorkflowModeId { get; set; }
+
+ public string WorkflowModelName { get; set; }
+
+ public Guid WorkflowTypeId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeDto.cs
new file mode 100644
index 0000000..38000cb
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeDto.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class ProcessModelAssocTypeDto : EntityDto
+ {
+ public string WorkflowModeId { get; set; }
+
+ public string WorkflowModelName { get; set; }
+
+ public Guid WorkflowTypeId { get; set; }
+
+ public BizflowConfigDto WorkflowType { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeInput.cs
new file mode 100644
index 0000000..e6b6f9e
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/ProcessModelAssocTypeInput.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class ProcessModelAssocTypeInput
+ {
+ public Guid WorkflowTypeId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowActivateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowActivateDto.cs
new file mode 100644
index 0000000..0f2ff01
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowActivateDto.cs
@@ -0,0 +1,11 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowActivateDto
+ {
+ public string DeploymentKey { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowArgs.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowArgs.cs
new file mode 100644
index 0000000..2e29970
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowArgs.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowArgs
+ {
+ public List ParamConfigs { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowDeployDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowDeployDto.cs
new file mode 100644
index 0000000..61048a7
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowDeployDto.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowDeployDto
+ {
+ public string Id { get; set; }
+
+ public string WorkflowName { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceCreateDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceCreateDto.cs
new file mode 100644
index 0000000..62a75ba
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceCreateDto.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowInstanceCreateDto
+ {
+ ///
+ ///
+ ///
+ public string BizFlowCode { get; set; }
+
+ public string UserId { get; set; }
+
+ public Dictionary> AssocUsers { get; set; }
+
+ public Dictionary BizPars { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceDto.cs
new file mode 100644
index 0000000..840f31c
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceDto.cs
@@ -0,0 +1,67 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Data;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowInstanceDto : IHasExtraProperties
+ {
+ ///
+ ///
+ ///
+ public string Id { get; set; }
+
+ ///
+ /// 流程模型Id
+ ///
+ public string WorkflowModelId { get; set; }
+
+ ///
+ ///
+ ///
+ public string ProcessInstanceId { get; set; }
+
+ ///
+ /// 流程实例名称
+ ///
+ public string WorkflowInstanceName { get; set; }
+
+ ///
+ /// 流程实例内容描述
+ ///
+ public string WorkflowInstanceContdesc { get; set; }
+
+ ///
+ /// 开始时间
+ ///
+ public string Begintime { get; set; }
+
+ ///
+ /// 当前节点编码
+ ///
+ public string CurrNodeCodg { get; set; }
+
+ ///
+ /// 当前节点名称
+ ///
+ public string CurrNodeName { get; set; }
+
+ ///
+ /// 状态
+ ///
+ public EnumWorkflowInstanceStas WorkflowInstanceStas { get; set; }
+
+ public string WorkflowInstanceStasName
+ {
+ get
+ {
+ return WorkflowInstanceStas.ToString();
+ }
+ }
+
+ public string? Fintime { get; set; }
+
+ public virtual ExtraPropertyDictionary ExtraProperties { get; protected set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceExecDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceExecDto.cs
new file mode 100644
index 0000000..3d191f8
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceExecDto.cs
@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowInstanceExecDto
+ {
+ ///
+ /// 流程实例Id
+ ///
+ public string ProcessInstanceId { get; set; }
+
+ ///
+ /// 用户
+ ///
+ public string? UserId { get; set; }
+
+ ///
+ /// 业务参数
+ ///
+ public Dictionary BizPars { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceInput.cs
new file mode 100644
index 0000000..4224e92
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceInput.cs
@@ -0,0 +1,18 @@
+using Himp.TaskScheduling;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowInstanceInput : PagedAndSortedResultRequestDtoExtend
+ {
+ public EnumWorkflowInstanceStas Status { get; set; }
+
+ public DateTime? Begntime { get; set; }
+
+ public DateTime? Endtime { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceStasDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceStasDto.cs
new file mode 100644
index 0000000..207a081
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowInstanceStasDto.cs
@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowInstanceStasDto
+ {
+ public int Code { get; set; }
+
+ public string Msg { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowModelDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowModelDto.cs
new file mode 100644
index 0000000..d6deab4
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowModelDto.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowModelDto : EntityDto
+ {
+ public string WorkflowModelKey { get; set; }
+
+ public string WorkflowModelName { get; set; }
+
+ public int Version { get; set; }
+
+ public string? LastUpdateTime { get; set; }
+
+ public string CreateTime { get; set; }
+
+ public EnumWorkflowModelStas? WorkflowModelStas { get; set; }
+
+ public string WorkflowModelStasName
+ {
+ get
+ {
+ if (WorkflowModelStas != null)
+ {
+ return WorkflowModelStas.ToString();
+ }
+
+ return string.Empty;
+ }
+ }
+
+ public string? DeploymentId { get; set; }
+
+ public string? DeployKey { get; set; }
+
+ public string EditorSourceExtraValueId { get; set; }
+
+ public string EditorSourceValueId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowNodeSFSchemaDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowNodeSFSchemaDto.cs
new file mode 100644
index 0000000..9358637
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowNodeSFSchemaDto.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowNodeSFSchemaDto
+ {
+ public string PropertyName { get; set; }
+
+ public string Type { get; set; }
+
+ public string Title { get; set; }
+
+ public string? Format { get; set; }
+
+ public int? MaxLength { get; set; }
+
+ public int? MinLength { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTodoTaskDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTodoTaskDto.cs
new file mode 100644
index 0000000..54330bc
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTodoTaskDto.cs
@@ -0,0 +1,62 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 工作流待办任务
+ ///
+ public class WorkflowTodoTaskDto
+ {
+ ///
+ ///
+ ///
+ public string Id { get; set; }
+
+ ///
+ /// 任务名
+ ///
+ public string TaskName { get; set; }
+
+ ///
+ /// 流程开始时间
+ ///
+ public string ProcessStartTime { get; set; }
+
+ ///
+ ///
+ ///
+ public Dictionary VariableMap { get; set; }
+
+ ///
+ ///
+ ///
+ public string ModelName { get; set; }
+
+ ///
+ ///
+ ///
+ public int SuspensionCode { get; set; }
+
+ ///
+ ///
+ ///
+ public string SuspensionState { get; set; }
+
+ ///
+ ///
+ ///
+ public string ModelId { get; set; }
+
+ ///
+ ///
+ ///
+ public string TaskId { get; set; }
+
+ ///
+ ///
+ ///
+ public string ProcessInstanceId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTodoTaskInput.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTodoTaskInput.cs
new file mode 100644
index 0000000..1ca063f
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTodoTaskInput.cs
@@ -0,0 +1,12 @@
+using Himp.TaskScheduling;
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowTodoTaskInput: PagedAndSortedResultRequestDtoExtend
+ {
+ public string UserId { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTypeStColumnDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTypeStColumnDto.cs
new file mode 100644
index 0000000..f62f14a
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Himp/TaskScheduling/Workflows/WorkflowTypeStColumnDto.cs
@@ -0,0 +1,39 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace Himp.TaskScheduling
+{
+ public class WorkflowTypeStColumnDto
+ {
+ ///
+ /// 标题
+ ///
+ public string Title { get; set; }
+
+ ///
+ /// 类型
+ ///
+ public string Type { get; set; }
+
+ ///
+ /// 编号
+ ///
+ public string Index { get; set; }
+
+ ///
+ /// 值类别
+ ///
+ public string ValueKind { get; set; }
+
+ ///
+ /// 显示列
+ ///
+ public bool ShowColumn { get; set; }
+
+ ///
+ /// 显示内容描述
+ ///
+ public bool ShowContdesc { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/PagedAndSortedResultRequestDtoExtend.cs b/src/Himp.TaskScheduling.Application.Contracts/PagedAndSortedResultRequestDtoExtend.cs
new file mode 100644
index 0000000..cf52faa
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/PagedAndSortedResultRequestDtoExtend.cs
@@ -0,0 +1,18 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ public class PagedAndSortedResultRequestDtoExtend : PagedAndSortedResultRequestDto
+ {
+ public int Pi { get; set; } = 1;
+
+ public int Ps { get; set; } = DefaultMaxResultCount;
+
+ public string? Filter { get; set; }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Permissions/TaskSchedulingPermissionDefinitionProvider.cs b/src/Himp.TaskScheduling.Application.Contracts/Permissions/TaskSchedulingPermissionDefinitionProvider.cs
new file mode 100644
index 0000000..cc4ba73
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Permissions/TaskSchedulingPermissionDefinitionProvider.cs
@@ -0,0 +1,18 @@
+using Himp.TaskScheduling.Localization;
+using Volo.Abp.Authorization.Permissions;
+using Volo.Abp.Localization;
+
+namespace Himp.TaskScheduling.Permissions;
+
+public class TaskSchedulingPermissionDefinitionProvider : PermissionDefinitionProvider
+{
+ public override void Define(IPermissionDefinitionContext context)
+ {
+ var myGroup = context.AddGroup(TaskSchedulingPermissions.GroupName, L("Permission:TaskScheduling"));
+ }
+
+ private static LocalizableString L(string name)
+ {
+ return LocalizableString.Create(name);
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Permissions/TaskSchedulingPermissions.cs b/src/Himp.TaskScheduling.Application.Contracts/Permissions/TaskSchedulingPermissions.cs
new file mode 100644
index 0000000..90d959c
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Permissions/TaskSchedulingPermissions.cs
@@ -0,0 +1,13 @@
+using Volo.Abp.Reflection;
+
+namespace Himp.TaskScheduling.Permissions;
+
+public class TaskSchedulingPermissions
+{
+ public const string GroupName = "TaskScheduling";
+
+ public static string[] GetAll()
+ {
+ return ReflectionHelper.GetPublicConstantsRecursively(typeof(TaskSchedulingPermissions));
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Samples/ISampleAppService.cs b/src/Himp.TaskScheduling.Application.Contracts/Samples/ISampleAppService.cs
new file mode 100644
index 0000000..fede057
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Samples/ISampleAppService.cs
@@ -0,0 +1,11 @@
+using System.Threading.Tasks;
+using Volo.Abp.Application.Services;
+
+namespace Himp.TaskScheduling.Samples;
+
+public interface ISampleAppService : IApplicationService
+{
+ Task GetAsync();
+
+ Task GetAuthorizedAsync();
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/Samples/SampleDto.cs b/src/Himp.TaskScheduling.Application.Contracts/Samples/SampleDto.cs
new file mode 100644
index 0000000..e056983
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/Samples/SampleDto.cs
@@ -0,0 +1,6 @@
+namespace Himp.TaskScheduling.Samples;
+
+public class SampleDto
+{
+ public int Value { get; set; }
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/TaskSchedulingApplicationContractsModule.cs b/src/Himp.TaskScheduling.Application.Contracts/TaskSchedulingApplicationContractsModule.cs
new file mode 100644
index 0000000..028d06e
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/TaskSchedulingApplicationContractsModule.cs
@@ -0,0 +1,15 @@
+using Volo.Abp.Application;
+using Volo.Abp.Modularity;
+using Volo.Abp.Authorization;
+
+namespace Himp.TaskScheduling;
+
+[DependsOn(
+ typeof(TaskSchedulingDomainSharedModule),
+ typeof(AbpDddApplicationContractsModule),
+ typeof(AbpAuthorizationModule)
+ )]
+public class TaskSchedulingApplicationContractsModule : AbpModule
+{
+
+}
diff --git a/src/Himp.TaskScheduling.Application.Contracts/TaskSchedulingRemoteServiceConsts.cs b/src/Himp.TaskScheduling.Application.Contracts/TaskSchedulingRemoteServiceConsts.cs
new file mode 100644
index 0000000..0032019
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application.Contracts/TaskSchedulingRemoteServiceConsts.cs
@@ -0,0 +1,8 @@
+namespace Himp.TaskScheduling;
+
+public class TaskSchedulingRemoteServiceConsts
+{
+ public const string RemoteServiceName = "TaskScheduling";
+
+ public const string ModuleName = "taskScheduling";
+}
diff --git a/src/Himp.TaskScheduling.Application/FodyWeavers.xml b/src/Himp.TaskScheduling.Application/FodyWeavers.xml
new file mode 100644
index 0000000..1715698
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/FodyWeavers.xml
@@ -0,0 +1,3 @@
+
+
+
\ No newline at end of file
diff --git a/src/Himp.TaskScheduling.Application/FodyWeavers.xsd b/src/Himp.TaskScheduling.Application/FodyWeavers.xsd
new file mode 100644
index 0000000..ffa6fc4
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/FodyWeavers.xsd
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 'true' to run assembly verification (PEVerify) on the target assembly after all weavers have been executed.
+
+
+
+
+ A comma-separated list of error codes that can be safely ignored in assembly verification.
+
+
+
+
+ 'false' to turn off automatic generation of the XML Schema file.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Himp.TaskScheduling.Application/Himp.TaskScheduling.Application.abppkg b/src/Himp.TaskScheduling.Application/Himp.TaskScheduling.Application.abppkg
new file mode 100644
index 0000000..412567a
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp.TaskScheduling.Application.abppkg
@@ -0,0 +1,3 @@
+{
+ "role": "lib.application"
+}
\ No newline at end of file
diff --git a/src/Himp.TaskScheduling.Application/Himp.TaskScheduling.Application.csproj b/src/Himp.TaskScheduling.Application/Himp.TaskScheduling.Application.csproj
new file mode 100644
index 0000000..61e5dcd
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp.TaskScheduling.Application.csproj
@@ -0,0 +1,24 @@
+
+
+
+
+
+ net8.0
+ enable
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/CodeConversionService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/CodeConversionService.cs
new file mode 100644
index 0000000..bc7ab6c
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/CodeConversionService.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.ObjectMapping;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 转码
+ ///
+ public class CodeConversionService : TaskSchedulingAppService, ICodeConversionService
+ {
+ private IRepository _codeConversionRepository;
+
+ ///
+ ///
+ ///
+ ///
+ public CodeConversionService(IRepository codeConversionRepository)
+ {
+ _codeConversionRepository = codeConversionRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetListAsync(CodeConversionInput input)
+ {
+ var iQuery = await _codeConversionRepository.GetQueryableAsync();
+ iQuery = iQuery.WhereIf(input.ConversionType != null, i => i.ConversionType == input.ConversionType);
+ iQuery = iQuery.WhereIf(input.Begntime != null, i => i.ConversionTime >= input.Begntime.Value.Date);
+ iQuery = iQuery.WhereIf(input.Endtime != null, i => i.ConversionTime < input.Endtime.Value.Date.AddDays(1));
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Skip((input.Pi - 1) * input.Ps).Take(input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigKeysService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigKeysService.cs
new file mode 100644
index 0000000..6dca830
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigKeysService.cs
@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigKeysService : TaskSchedulingAppService
+ {
+ private ParamConfigManager _paramConfigManager;
+
+ public ParamConfigKeysService(ParamConfigManager paramConfigManager)
+ {
+ _paramConfigManager = paramConfigManager;
+ }
+
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigService.cs
new file mode 100644
index 0000000..7c055a3
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigService.cs
@@ -0,0 +1,85 @@
+using AutoMapper.Internal.Mappers;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 参数配置
+ ///
+ public class ParamConfigService : CrudAppService, IParamConfigService
+ {
+ private IRepository _paramConfigRepository;
+
+ ///
+ ///
+ ///
+ ///
+ public ParamConfigService(IRepository paramConfigRepository) : base(paramConfigRepository)
+ {
+ _paramConfigRepository = paramConfigRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public override async Task> GetListAsync(ParamConfigInput input)
+ {
+ var iQuery = await _paramConfigRepository.GetQueryableAsync();
+ var allList = iQuery.ToList();
+ allList = allList.Where(a => a.ParentId == null).ToList();
+
+ if (!string.IsNullOrEmpty(input.Filter))
+ {
+ allList = allList.Where(a => a.ParamName.Contains(input.Filter)
+ || (a.Children!=null && a.Children.Any(aa => aa.ParamName.Contains(input.Filter)
+ || (aa.Children!=null&& aa.Children.Any(aaa => aaa.ParamName.Contains(input.Filter)))))
+ ).ToList();
+ }
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(allList);
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = allList.Count();
+ var items = allList.Skip((input.Pi - 1) * input.Ps).Take(input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+
+ public override Task CreateAsync(ParamConfigCreateOrUpdateDto input)
+ {
+ if (!string.IsNullOrEmpty(input.KeyPath) && !string.IsNullOrEmpty(input.PropertyKey))
+ {
+ RedisHelper.SetString($"TopicKeyPath:{input.PropertyKey}", input.KeyPath);
+ }
+
+ return base.CreateAsync(input);
+ }
+
+ public override Task UpdateAsync(long id, ParamConfigCreateOrUpdateDto input)
+ {
+ if (!string.IsNullOrEmpty(input.KeyPath) && !string.IsNullOrEmpty(input.PropertyKey))
+ {
+ RedisHelper.SetString($"TopicKeyPath:{input.PropertyKey}", input.KeyPath);
+ }
+
+ return base.UpdateAsync(id, input);
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigTaskService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigTaskService.cs
new file mode 100644
index 0000000..4f5239f
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigTaskService.cs
@@ -0,0 +1,83 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.ObjectMapping;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 参数配置任务
+ ///
+ public class ParamConfigTaskService : TaskSchedulingAppService, IParamConfigTaskService
+ {
+ private IRepository _paramConfigTaskRepository;
+ private IRepository _paramConfigRepository;
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public ParamConfigTaskService(IRepository paramConfigTaskRepository, IRepository paramConfigRepository)
+ {
+ _paramConfigTaskRepository = paramConfigTaskRepository;
+ _paramConfigRepository = paramConfigRepository;
+ }
+
+ ///
+ /// 获取配置参数记录
+ ///
+ ///
+ public async Task> GetListAsync(ParamConfigTaskInput input)
+ {
+ var iQuery = await _paramConfigTaskRepository.GetQueryableAsync();
+ iQuery = iQuery.OrderBy(i => i.OperationTime);
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Skip((input.Pi - 1) * input.Ps).Take(input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+
+ ///
+ /// 创建配置参数任务
+ ///
+ ///
+ ///
+ public async Task PostAsync(ParamConfigTaskCreateDto input)
+ {
+ var paramConfig = await _paramConfigRepository.GetAsync(p => p.ParamCodg == input.ParamCodg);
+
+ if (string.IsNullOrEmpty(paramConfig.PropertyKey))
+ {
+ throw new UserFriendlyException(message: "配置参数属性Key为空");
+ }
+
+ var paramConfigTask = ObjectMapper.Map(input);
+ paramConfigTask.SetPropertyKey(paramConfig.PropertyKey);
+ paramConfigTask.TaskContdesc = $"配置参数属性Key:{paramConfig.PropertyKey},值:{input.PropertyValue}";
+ paramConfigTask = await _paramConfigTaskRepository.InsertAsync(paramConfigTask);
+
+ var paramConfigTaskDto = ObjectMapper.Map(paramConfigTask);
+ RedisHelper.SetString(paramConfig.PropertyKey, input.PropertyValue);
+
+
+ return paramConfigTaskDto;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigValueService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigValueService.cs
new file mode 100644
index 0000000..ed2c12c
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/ParamConfigValueService.cs
@@ -0,0 +1,37 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ ///
+ ///
+ public class ParamConfigValueService : TaskSchedulingAppService, IParamConfigValueService
+ {
+ private ParamConfigManager _paramConfigManager;
+
+ public ParamConfigValueService(ParamConfigManager paramConfigManager)
+ {
+ _paramConfigManager = paramConfigManager;
+ }
+
+ public async Task> GetListAsync(ParamConfigValueInput input)
+ {
+ if (input.Keys == null || input.Keys.Count == 0)
+ {
+ return await _paramConfigManager.GetValues();
+ }
+
+ return await _paramConfigManager.GetValues(input.Keys);
+ }
+
+ public async Task> GetKeyListAsync()
+ {
+ return await _paramConfigManager.GetKeys();
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/QsCodeService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/QsCodeService.cs
new file mode 100644
index 0000000..c3069a2
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/QsCodeService.cs
@@ -0,0 +1,47 @@
+using Himp.RL;
+using Himp.TaskScheduling.Configs;
+using Himp.TaskScheduling.Datas;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 获取全水码
+ ///
+ public class QsCodeService : TaskSchedulingAppService, IQsCodeService
+ {
+ private readonly QsCodeRepository _qsCodeRepository;
+ private IRepository _codeConversionRepository;
+
+ public QsCodeService(QsCodeRepository qsCodeRepository
+ , IRepository codeConversionRepository)
+ {
+ _qsCodeRepository = qsCodeRepository;
+ _codeConversionRepository = codeConversionRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task PostAsync(QsCodeInput input)
+ {
+ var code = await _qsCodeRepository.GetCodeAsync(input.Oper, input.Code);
+ CodeConversion codeConversion = new CodeConversion();
+ codeConversion.ConversionTime = DateTime.Now;
+ codeConversion.ConversionType = 5;
+ codeConversion.OperName = input.Oper;
+ codeConversion.SorcCode = input.Code;
+ codeConversion.TargetCode = code;
+ await _codeConversionRepository.InsertAsync(codeConversion);
+
+ return code;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/RedisConfigService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/RedisConfigService.cs
new file mode 100644
index 0000000..1924925
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/RedisConfigService.cs
@@ -0,0 +1,32 @@
+using StackExchange.Redis;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.DependencyInjection;
+
+namespace Himp.TaskScheduling
+{
+ public class RedisConfigService : ITransientDependency
+ {
+ //private readonly IConnectionMultiplexer _redis;
+
+ //public RedisConfigService(IConnectionMultiplexer redis)
+ //{
+ // _redis = redis;
+ //}
+
+ //public async Task SetValueAsync(string key, string value)
+ //{
+ // var db = _redis.GetDatabase();
+ // await db.StringSetAsync(key, value);
+ //}
+
+ //public async Task GetValueAsync(string key)
+ //{
+ // var db = _redis.GetDatabase();
+ // return await db.StringGetAsync(key);
+ //}
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/Workers/ParamConfigWorker.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/Workers/ParamConfigWorker.cs
new file mode 100644
index 0000000..98f38dd
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Configs/Workers/ParamConfigWorker.cs
@@ -0,0 +1,28 @@
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.BackgroundWorkers;
+using Volo.Abp.Threading;
+
+namespace Himp.TaskScheduling
+{
+ public class ParamConfigWorker : AsyncPeriodicBackgroundWorkerBase
+ {
+ public ParamConfigWorker(AbpAsyncTimer timer
+ ,IServiceScopeFactory serviceScopeFactory) : base(timer, serviceScopeFactory)
+ {
+ Timer.Period = 6000; //10 minutes
+ }
+
+ protected async override Task DoWorkAsync(
+ PeriodicBackgroundWorkerContext workerContext)
+ {
+ //var obj = RedisHelper.Get("AsRb_Cmd_Code");
+ //Logger.LogInformation(obj.ToString()) ;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/AutoSamplingConditionService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/AutoSamplingConditionService.cs
new file mode 100644
index 0000000..dcd77fb
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/AutoSamplingConditionService.cs
@@ -0,0 +1,47 @@
+using Himp.RL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling.Datas
+{
+ ///
+ /// 自动制样条件
+ ///
+ public class AutoSamplingConditionService : TaskSchedulingAppService, IAutoSamplingConditionService
+ {
+ private readonly AutoSamplingNotifyRepository _autoSamplingNotifyRepository;
+ private IRepository _autoSamplingConditionRepository;
+
+ public AutoSamplingConditionService(AutoSamplingNotifyRepository autoSamplingNotifyRepository
+ , IRepository autoSamplingConditionRepository)
+ {
+ _autoSamplingNotifyRepository = autoSamplingNotifyRepository;
+ _autoSamplingConditionRepository = autoSamplingConditionRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task GetAsync(AutoSamplingConditionInput input)
+ {
+ var autoSamplingConditionList = await _autoSamplingConditionRepository.GetListAsync();
+ var names = autoSamplingConditionList.Select(s => s.ConditionName).ToList();
+ var autoSamplingFlag = await _autoSamplingNotifyRepository.GetAutoSamplingFlagAsync(names, input.Key);
+
+ if (autoSamplingFlag.Item1)
+ {
+ return new AutoSamplingConditionDto() { TipCont = $"{autoSamplingFlag.Item2}-{input.Key}-自动制样" };
+ }
+ else
+ {
+ return new AutoSamplingConditionDto() { TipCont = $"{autoSamplingFlag.Item2}-{input.Key}-手工制样" };
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataReportService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataReportService.cs
new file mode 100644
index 0000000..132acde
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataReportService.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Collections.Generic;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Himp.TaskScheduling
+{
+ public class DataReportService : TaskSchedulingAppService
+ {
+
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataStatisticService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataStatisticService.cs
new file mode 100644
index 0000000..702c48b
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataStatisticService.cs
@@ -0,0 +1,108 @@
+using Himp.RL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling.Datas
+{
+ ///
+ ///
+ ///
+ public class DataStatisticService : TaskSchedulingAppService, IDataStatisticService
+ {
+ private readonly DataStatisticRepository _dataStatisticRepository;
+
+ public DataStatisticService(DataStatisticRepository dataStatisticRepository)
+ {
+ _dataStatisticRepository = dataStatisticRepository;
+ }
+
+
+ public async Task> GetAsync()
+ {
+ var stas1Cont = await _dataStatisticRepository.GetStas1();
+ var stas2Cont = await _dataStatisticRepository.GetStas2();
+ var stas3Cont = await _dataStatisticRepository.GetStas3();
+ var stas4Cont = await _dataStatisticRepository.GetStas4();
+ var stas5Cont = await _dataStatisticRepository.GetStas5();
+ var stas61Cont = await _dataStatisticRepository.GetStas6_1();
+ var stas62Cont = await _dataStatisticRepository.GetStas6_2();
+ var stas63Cont = await _dataStatisticRepository.GetStas6_3();
+ var stas64Cont = await _dataStatisticRepository.GetStas6_4();
+ var stas8Cont = await _dataStatisticRepository.GetStas8();
+ var stas9Cont = await _dataStatisticRepository.GetStas9();
+
+ List list = new List();
+ DataStatisticDto dataStatistic1 = new DataStatisticDto();
+ dataStatistic1.Tit = "进厂数量(吨数)";
+ dataStatistic1.Type = 1;
+ dataStatistic1.Cont = (decimal)stas1Cont;
+ list.Add(dataStatistic1);
+
+ DataStatisticDto dataStatistic2 = new DataStatisticDto();
+ dataStatistic2.Tit = "计划入厂数量(吨数)";
+ dataStatistic2.Type = 2;
+ dataStatistic2.Cont = (decimal)stas2Cont;
+ list.Add(dataStatistic2);
+
+ DataStatisticDto dataStatistic3 = new DataStatisticDto();
+ dataStatistic3.Tit = "计划入厂车数";
+ dataStatistic3.Type = 3;
+ dataStatistic3.Cont = (decimal)stas3Cont;
+ list.Add(dataStatistic3);
+
+ DataStatisticDto dataStatistic4 = new DataStatisticDto();
+ dataStatistic4.Tit = "已验收车数";
+ dataStatistic4.Type = 4;
+ dataStatistic4.Cont = (decimal)stas4Cont;
+ list.Add(dataStatistic4);
+
+ DataStatisticDto dataStatistic5 = new DataStatisticDto();
+ dataStatistic5.Tit = "厂内车数";
+ dataStatistic5.Type = 5;
+ dataStatistic5.Cont = (decimal)stas5Cont;
+ list.Add(dataStatistic5);
+
+ DataStatisticDto dataStatistic61 = new DataStatisticDto();
+ dataStatistic61.Tit = "采样机采样次数-1";
+ dataStatistic61.Type = 61;
+ dataStatistic61.Cont = (decimal)stas61Cont;
+ list.Add(dataStatistic61);
+
+ DataStatisticDto dataStatistic62 = new DataStatisticDto();
+ dataStatistic62.Tit = "采样机采样次数-2";
+ dataStatistic62.Type = 62;
+ dataStatistic62.Cont = (decimal)stas62Cont;
+ list.Add(dataStatistic62);
+
+ DataStatisticDto dataStatistic63 = new DataStatisticDto();
+ dataStatistic63.Tit = "采样机采样次数-3";
+ dataStatistic63.Type = 63;
+ dataStatistic63.Cont = (decimal)stas63Cont;
+ list.Add(dataStatistic63);
+
+ DataStatisticDto dataStatistic64 = new DataStatisticDto();
+ dataStatistic64.Tit = "采样机采样次数-4";
+ dataStatistic64.Type = 64;
+ dataStatistic64.Cont = (decimal)stas64Cont;
+ list.Add(dataStatistic64);
+
+ DataStatisticDto dataStatistic8 = new DataStatisticDto();
+ dataStatistic8.Tit = "登记未入厂";
+ dataStatistic8.Type = 8;
+ dataStatistic8.Cont = (decimal)stas8Cont;
+ list.Add(dataStatistic8);
+
+ DataStatisticDto dataStatistic9 = new DataStatisticDto();
+ dataStatistic9.Tit = "登记已出厂";
+ dataStatistic9.Type = 9;
+ dataStatistic9.Cont = (decimal)stas9Cont;
+ list.Add(dataStatistic9);
+
+ return new PagedResultDto(list.Count, list);
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataVService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataVService.cs
new file mode 100644
index 0000000..4ecce3f
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/DataVService.cs
@@ -0,0 +1,86 @@
+using Himp.RL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class DataVService : TaskSchedulingAppService, IDataVService
+ {
+ private readonly DataStatisticRepository _dataStatisticRepository;
+
+ public DataVService(DataStatisticRepository dataStatisticRepository)
+ {
+ _dataStatisticRepository = dataStatisticRepository;
+ }
+
+
+ public async Task> GetAsync()
+ {
+ var stas61Cont = await _dataStatisticRepository.GetStas6_1();
+ var stas62Cont = await _dataStatisticRepository.GetStas6_2();
+ var stas63Cont = await _dataStatisticRepository.GetStas6_3();
+ var stas64Cont = await _dataStatisticRepository.GetStas6_4();
+
+ var stas11Cont = await _dataStatisticRepository.GetStas11();
+ var stas12Cont = await _dataStatisticRepository.GetStas12();
+ var stas13Cont = await _dataStatisticRepository.GetStas13();
+ var stas14Cont = await _dataStatisticRepository.GetStas14();
+
+ List list = new List();
+
+ DataStatisticDto dataStatistic61 = new DataStatisticDto();
+ dataStatistic61.Tit = "采样机采样次数-1";
+ dataStatistic61.Type = 61;
+ dataStatistic61.Cont = (decimal)stas61Cont;
+ list.Add(dataStatistic61);
+
+ DataStatisticDto dataStatistic62 = new DataStatisticDto();
+ dataStatistic62.Tit = "采样机采样次数-2";
+ dataStatistic62.Type = 62;
+ dataStatistic62.Cont = (decimal)stas62Cont;
+ list.Add(dataStatistic62);
+
+ DataStatisticDto dataStatistic63 = new DataStatisticDto();
+ dataStatistic63.Tit = "采样机采样次数-3";
+ dataStatistic63.Type = 63;
+ dataStatistic63.Cont = (decimal)stas63Cont;
+ list.Add(dataStatistic63);
+
+ DataStatisticDto dataStatistic64 = new DataStatisticDto();
+ dataStatistic64.Tit = "采样机采样次数-4";
+ dataStatistic64.Type = 64;
+ dataStatistic64.Cont = (decimal)stas64Cont;
+ list.Add(dataStatistic64);
+
+ DataStatisticDto dataStatistic11 = new DataStatisticDto();
+ dataStatistic11.Tit = "#1重磅重量";
+ dataStatistic11.Type = 4;
+ dataStatistic11.Cont = (decimal)stas11Cont;
+ list.Add(dataStatistic11);
+
+ DataStatisticDto dataStatistic12 = new DataStatisticDto();
+ dataStatistic12.Tit = "#2重磅重量";
+ dataStatistic12.Type = 4;
+ dataStatistic12.Cont = (decimal)stas12Cont;
+ list.Add(dataStatistic12);
+
+ DataStatisticDto dataStatistic13 = new DataStatisticDto();
+ dataStatistic13.Tit = "#3重磅重量";
+ dataStatistic13.Type = 4;
+ dataStatistic13.Cont = (decimal)stas13Cont;
+ list.Add(dataStatistic13);
+
+ DataStatisticDto dataStatistic14 = new DataStatisticDto();
+ dataStatistic14.Tit = "#4重磅重量";
+ dataStatistic14.Type = 4;
+ dataStatistic14.Cont = (decimal)stas14Cont;
+ list.Add(dataStatistic14);
+
+ return new PagedResultDto(list.Count, list);
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/FullWaterCompService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/FullWaterCompService.cs
new file mode 100644
index 0000000..0148c98
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/FullWaterCompService.cs
@@ -0,0 +1,51 @@
+using AutoMapper.Internal.Mappers;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ ///
+ ///
+ public class FullWaterCompService : CrudAppService, IFullWaterCompService
+ {
+ private IRepository _FullWaterCompRepository;
+
+ public FullWaterCompService(IRepository FullWaterCompRepository) : base(FullWaterCompRepository)
+ {
+ _FullWaterCompRepository = FullWaterCompRepository;
+ }
+
+ ///
+ /// 获取消息业务类别
+ ///
+ ///
+ ///
+ public override async Task> GetListAsync(FullWaterCompInput input)
+ {
+ var iQuery = await _FullWaterCompRepository.GetQueryableAsync();
+
+ if (input.SkipCount == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.SkipCount, input.MaxResultCount);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/ManualTestingJobRecService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/ManualTestingJobRecService.cs
new file mode 100644
index 0000000..82c6b9c
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/ManualTestingJobRecService.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling.Datas
+{
+ ///
+ ///
+ ///
+ public class ManualTestingJobRecService : TaskSchedulingAppService, IManualTestingJobRecService
+ {
+ private readonly IRepository _manualTestingJobRecRepository;
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public ManualTestingJobRecService(IRepository manualTestingJobRecRepository)
+ {
+ _manualTestingJobRecRepository = manualTestingJobRecRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetListAsync(ManualTestingJobRecInput input)
+ {
+ var iQuery = await _manualTestingJobRecRepository.GetQueryableAsync();
+ iQuery = iQuery.WhereIf(input.BegnDate != null, i => i.TestingDate >= input.BegnDate);
+ iQuery = iQuery.WhereIf(input.EndDate != null, i => i.TestingDate <= input.EndDate);
+ iQuery = iQuery.OrderByDescending(i => i.TestingDate);
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.Pi, input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/SamplePreparationDatavService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/SamplePreparationDatavService.cs
new file mode 100644
index 0000000..85ba0a1
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/SamplePreparationDatavService.cs
@@ -0,0 +1,61 @@
+using Himp.RL;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling.Datas
+{
+ public class SamplePreparationDatavService : TaskSchedulingAppService, ISamplePreparationDatavService
+ {
+ private readonly SamplePreparationRecRepository _samplePreparationRecRepository;
+ private IRepository _samplePreparationTask;
+
+ public SamplePreparationDatavService(SamplePreparationRecRepository samplePreparationRecRepository
+ , IRepository samplePreparationTask)
+ {
+ _samplePreparationRecRepository = samplePreparationRecRepository;
+ _samplePreparationTask = samplePreparationTask;
+ }
+
+ public async Task GetSampleData()
+ {
+ var samplePreparationRecList = await _samplePreparationRecRepository.GetAllPersonNamesAsync();
+
+ SamplePreparationDatavDto samplePreparationDatavDto = new SamplePreparationDatavDto();
+ samplePreparationDatavDto.Tar6 = 1250;
+ samplePreparationDatavDto.Tar3 = 700;
+ samplePreparationDatavDto.Tar2 = 100;
+
+ var samplePreparationTaskQuery = await _samplePreparationTask.GetQueryableAsync();
+ samplePreparationTaskQuery = samplePreparationTaskQuery.Where(s => s.LastOperTime.Date == DateTime.Now.Date);
+ samplePreparationTaskQuery = samplePreparationTaskQuery.Where(s => s.SampeWay == "自动");
+ samplePreparationTaskQuery.OrderBy(s => s.TaskAssgnTime);
+ var samplePreparationTaskList = samplePreparationTaskQuery.ToList();
+
+ foreach (var item in samplePreparationTaskList)
+ {
+ var w61 = samplePreparationRecList.FirstOrDefault(s => s.SampleID == item.SampleCode && s.SampleType == 1);
+ var w62 = samplePreparationRecList.FirstOrDefault(s => s.SampleID == item.SampleCode && s.SampleType == 2);
+ var w31 = samplePreparationRecList.FirstOrDefault(s => s.SampleID == item.SampleCode && s.SampleType == 3);
+ var w21 = samplePreparationRecList.FirstOrDefault(s => s.SampleID == item.SampleCode && s.SampleType == 4);
+ var w22 = samplePreparationRecList.FirstOrDefault(s => s.SampleID == item.SampleCode && s.SampleType == 5);
+ //item.SampleCode
+
+ if (w61 != null || w62 != null || w31 != null || w21 != null || w21 != w22)
+ {
+ samplePreparationDatavDto.CurWeight6.Add(new int[] { w61 == null ? 0 : w61.SampleWeight, w62 == null ? 0 : w62.SampleWeight });
+ samplePreparationDatavDto.CurWeight3.Add(new int[] { w31 == null ? 0 : w31.SampleWeight });
+ samplePreparationDatavDto.CurWeight2.Add(new int[] { w21 == null ? 0 : w21.SampleWeight, w22 == null ? 0 : w22.SampleWeight });
+ }
+ }
+
+ samplePreparationDatavDto.FinishRateCur = samplePreparationRecList.Count;
+ samplePreparationDatavDto.FinishRateTotal = samplePreparationTaskList.Count * 5;
+
+ return samplePreparationDatavDto;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/SamplingOperRecService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/SamplingOperRecService.cs
new file mode 100644
index 0000000..c940768
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/SamplingOperRecService.cs
@@ -0,0 +1,56 @@
+using Himp.TaskScheduling.Datas;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 制样操作记录
+ ///
+ public class SamplingOperRecService : TaskSchedulingAppService
+ {
+ private readonly IRepository _samplePreparationTaskRepository;
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public SamplingOperRecService(IRepository samplePreparationTaskRepository)
+ {
+ _samplePreparationTaskRepository = samplePreparationTaskRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetListAsync(SamplingOperRecInput input)
+ {
+ var iQuery = await _samplePreparationTaskRepository.GetQueryableAsync();
+ iQuery = iQuery.Where(i => i.TaskRecptTime.HasValue && i.TaskRecptTime.Value.Date == DateTime.Now.Date);
+ iQuery = iQuery.OrderByDescending(i => i.TaskRecptTime);
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.Pi, input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/ZYOperateRecordService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/ZYOperateRecordService.cs
new file mode 100644
index 0000000..185c954
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Datas/ZYOperateRecordService.cs
@@ -0,0 +1,56 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling.Datas
+{
+ ///
+ /// 制样机系统操作记录
+ ///
+ public class ZYOperateRecordService : TaskSchedulingAppService, IZYOperateRecordService
+ {
+ private readonly IRepository _zyOperateRecordRepository;
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public ZYOperateRecordService(IRepository zyOperateRecordRepository)
+ {
+ _zyOperateRecordRepository = zyOperateRecordRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetListAsync(ZYOperateRecordInput input)
+ {
+ var iQuery = await _zyOperateRecordRepository.GetQueryableAsync();
+ iQuery = iQuery.WhereIf(input.BegnTime.HasValue, i => i.DateTime.Date >= input.BegnTime.Value.Date);
+ iQuery = iQuery.WhereIf(input.EndTime.HasValue, i => i.DateTime.Date <= input.EndTime.Value.Date);
+ iQuery = iQuery.OrderByDescending(i => i.DateTime);
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.Pi, input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Msgs/EventMsgRecService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Msgs/EventMsgRecService.cs
new file mode 100644
index 0000000..9c0ad9d
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Msgs/EventMsgRecService.cs
@@ -0,0 +1,76 @@
+using Himp.TaskScheduling;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.ObjectMapping;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 事件消息接收
+ ///
+ public class EventMsgRecService : TaskSchedulingAppService, IEventMsgRecService
+ {
+ private readonly IRepository _msgSendRecRepository;
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public EventMsgRecService(IRepository msgSendRecRepository)
+ {
+ _msgSendRecRepository = msgSendRecRepository;
+ }
+
+ ///
+ /// 获取消息发送记录
+ ///
+ ///
+ public async Task> GetListAsync(EventMsgRecInput input)
+ {
+ if (input.TopicFullPath == null)
+ {
+ input.TopicFullPath = [];
+ }
+
+ var iQuery = await _msgSendRecRepository.GetQueryableAsync();
+ iQuery = iQuery.Where( i => input.TopicFullPath.Contains(i.TopicFullPath));
+ iQuery = iQuery.OrderByDescending(i => i.CreationTime);
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.Pi, input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task PostAsync(EventMsgRecCreateDto input)
+ {
+ var eventMsgRecvRec = ObjectMapper.Map(input);
+ eventMsgRecvRec = await _msgSendRecRepository.InsertAsync(eventMsgRecvRec);
+ var itemDto = ObjectMapper.Map(eventMsgRecvRec);
+
+ return itemDto;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Msgs/EventMsgTopicService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Msgs/EventMsgTopicService.cs
new file mode 100644
index 0000000..9112da7
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Msgs/EventMsgTopicService.cs
@@ -0,0 +1,50 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Application.Services;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 事件消息主题
+ ///
+ public class EventMsgTopicService : CrudAppService, IEventMsgTopicService
+ {
+ private IRepository _eventMsgTopicRepository;
+
+ public EventMsgTopicService(IRepository eventMsgTopicRepository) : base(eventMsgTopicRepository)
+ {
+ _eventMsgTopicRepository = eventMsgTopicRepository;
+ }
+
+ ///
+ /// 获取消息业务类别
+ ///
+ ///
+ ///
+ public override async Task> GetListAsync(EventMsgTopicInput input)
+ {
+ var iQuery = await _eventMsgTopicRepository.GetQueryableAsync();
+
+ if (input.SkipCount == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.SkipCount, input.MaxResultCount);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/CmDeviceControlService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/CmDeviceControlService.cs
new file mode 100644
index 0000000..d7275a3
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/CmDeviceControlService.cs
@@ -0,0 +1,41 @@
+using Himp.TaskScheduling.Tasks;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 设备启停控制
+ ///
+ public class CmDeviceControlService : TaskSchedulingAppService, ICmDeviceControlService
+ {
+ private IRepository _cmDeviceControlRepository;
+
+ public CmDeviceControlService(IRepository cmDeviceControlRepository)
+ {
+ _cmDeviceControlRepository = cmDeviceControlRepository;
+ }
+
+ public async Task GetAsync(int id)
+ {
+ var cmDeviceControl = await _cmDeviceControlRepository.GetAsync(id);
+ var itemDto = ObjectMapper.Map(cmDeviceControl);
+
+ return itemDto;
+ }
+
+ public async Task PutAsync(int id, CmDeviceControlUpdateDto input)
+ {
+ var cmDeviceControl = await _cmDeviceControlRepository.GetAsync(id);
+ cmDeviceControl.ENABLE = input.Enable;
+ cmDeviceControl = await _cmDeviceControlRepository.UpdateAsync(cmDeviceControl);
+ var itemDto = ObjectMapper.Map(cmDeviceControl);
+
+ return itemDto;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/ManualSamplingTaskService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/ManualSamplingTaskService.cs
new file mode 100644
index 0000000..98548a4
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/ManualSamplingTaskService.cs
@@ -0,0 +1,44 @@
+using NRules.Fluent.Dsl;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling.Tasks
+{
+ ///
+ /// 手工取样任务
+ ///
+ public class ManualSamplingTaskService : TaskSchedulingAppService, IManualSamplingTaskService
+ {
+ private IRepository _sampleTestTaskRepository;
+
+ public ManualSamplingTaskService(IRepository sampleTestTaskRepository)
+ {
+ _sampleTestTaskRepository = sampleTestTaskRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task PostAsync(ManualSamplingTaskCreateDto input)
+ {
+ SampleTestTask sampleTestTask = new SampleTestTask(input.SampleCode
+ , input.TestCode
+ , input.BottomCode
+ , input.Sampletype
+ , 2
+ , input.TestItems
+ , 1);
+
+ sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+ var itemDto = ObjectMapper.Map(sampleTestTask);
+
+ return itemDto;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleDiscardedTaskService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleDiscardedTaskService.cs
new file mode 100644
index 0000000..5ce15cf
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleDiscardedTaskService.cs
@@ -0,0 +1,47 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.ObjectMapping;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 弃样服务
+ ///
+ public class SampleDiscardedTaskService : TaskSchedulingAppService, ISampleDiscardedTaskService
+ {
+ private IRepository _sampleTestTaskRepository;
+
+ public SampleDiscardedTaskService( IRepository sampleTestTaskRepository)
+ {
+ _sampleTestTaskRepository = sampleTestTaskRepository;
+ }
+
+ ///
+ /// 弃样
+ ///
+ ///
+ ///
+ public async Task Post(SampleDiscardedTaskCreateDto input)
+ {
+ SampleTestTask sampleTestTask = new SampleTestTask();
+ sampleTestTask.SampleCode = "-";
+ sampleTestTask.TestCode = "-";
+ sampleTestTask.BottomCode = input.BottomCode;
+ sampleTestTask.SampleType = "41";
+ sampleTestTask.TestCnt = 0;
+ sampleTestTask.TaskAssgnTime = DateTime.Now;
+ sampleTestTask.LastOperTime = DateTime.Now;
+ sampleTestTask.TestItems = "";
+ sampleTestTask.ExecStas = "就绪";
+ sampleTestTask.ManualFlag = input.ManualFlag;
+ sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+ var itemDto = ObjectMapper.Map(sampleTestTask);
+
+ return itemDto;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleObtainTaskService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleObtainTaskService.cs
new file mode 100644
index 0000000..c986010
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleObtainTaskService.cs
@@ -0,0 +1,205 @@
+using AutoMapper.Internal.Mappers;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 煤样取样任务
+ ///
+ public class SampleObtainTaskService : TaskSchedulingAppService, ISampleObtainTaskService
+ {
+ private IRepository _sampleTestTaskRepository;
+
+ public SampleObtainTaskService(IRepository sampleTestTaskRepository)
+ {
+ _sampleTestTaskRepository = sampleTestTaskRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetListAsync(SampleTestTaskInput input)
+ {
+ var iQuery = await _sampleTestTaskRepository.GetQueryableAsync();
+ iQuery = iQuery.WhereIf(!string.IsNullOrEmpty(input.SampleCode) && !string.IsNullOrEmpty(input.SampleType),
+ i => i.SampleCode == input.SampleCode && i.SampleType == input.SampleType);
+ iQuery = iQuery.Where(i => i.ManualFlag == 1);
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.Pi, input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+
+ ///
+ /// 下发取样化验任务
+ ///
+ ///
+ ///
+ public async Task PostAsync(SampleObtainTaskCreateDto input)
+ {
+ #region 20240921
+
+ //SampleTestTask sampleTestTask = new SampleTestTask("C092001"
+ // , "T092001Z"
+ // , "2024092008350122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+
+ //SampleTestTask sampleTestTask = new SampleTestTask("C092008"
+ // , "T092008Z"
+ // , "2024092013080122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+
+ //SampleTestTask sampleTestTask = new SampleTestTask("C092003"
+ // , "T092003Z"
+ // , "2024092009440122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+
+ //SampleTestTask sampleTestTask = new SampleTestTask("C092009"
+ // , "T092009Z"
+ // , "2024092014240122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+
+ //SampleTestTask sampleTestTask = new SampleTestTask("C092005"
+ // , "T092005Z"
+ // , "2024092010510122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+
+ #endregion
+
+ #region 20240922
+
+ //SampleTestTask sampleTestTask = new SampleTestTask("C092412"
+ // , "T092412Z"
+ // , "2024092314580122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+
+ //sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+
+ //sampleTestTask = new SampleTestTask("C092410"
+ // , "T092410Z"
+ // , "2024092313420122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+ //sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+
+ //sampleTestTask = new SampleTestTask("C092408"
+ // , "T092408Z"
+ // , "2024092312290122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+ //sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+
+ //sampleTestTask = new SampleTestTask("C092407"
+ // , "T092407Z"
+ // , "2024092311490122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+ //sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+
+ //sampleTestTask = new SampleTestTask("C092402"
+ // , "T092402Z"
+ // , "2024092308570122"
+ // , "3"
+ // , 2
+ // , "Mad,A"
+ // , 1);
+
+ #endregion
+
+ #region 20240926
+
+ SampleTestTask sampleTestTask = new SampleTestTask("C092612"
+ , "T092612Z"
+ , "2024092514460122"
+ , "3"
+ , 2
+ , "Mad,A"
+ , 1);
+
+ sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+
+ sampleTestTask = new SampleTestTask("C092610"
+ , "T092610Z"
+ , "2024092513340122"
+ , "3"
+ , 2
+ , "Mad,A"
+ , 1);
+ sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+
+ sampleTestTask = new SampleTestTask("C092608"
+ , "T092608Z"
+ , "2024092512120122"
+ , "3"
+ , 2
+ , "Mad,A"
+ , 1);
+ sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+
+ sampleTestTask = new SampleTestTask("C092607"
+ , "T092607Z"
+ , "2024092511400122"
+ , "3"
+ , 2
+ , "Mad,A"
+ , 1);
+ sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+
+ sampleTestTask = new SampleTestTask("C092602"
+ , "T092602Z"
+ , "2024092508510122"
+ , "3"
+ , 2
+ , "Mad,A"
+ , 1);
+
+ #endregion
+
+ sampleTestTask = await _sampleTestTaskRepository.InsertAsync(sampleTestTask);
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SamplePreparationResultService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SamplePreparationResultService.cs
new file mode 100644
index 0000000..0d04748
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SamplePreparationResultService.cs
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 制样结果服务
+ ///
+ public class SamplePreparationResultService : TaskSchedulingAppService, ISamplePreparationResultService
+ {
+ private readonly IRepository _samplePreparationResultRepository;
+
+ public SamplePreparationResultService(IRepository samplePreparationResultRepository)
+ {
+ _samplePreparationResultRepository = samplePreparationResultRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetListAsync(SamplePreparationResultInput input)
+ {
+ var iQuery = await _samplePreparationResultRepository.GetQueryableAsync();
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.Pi, input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SamplePreparationTaskService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SamplePreparationTaskService.cs
new file mode 100644
index 0000000..e164370
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SamplePreparationTaskService.cs
@@ -0,0 +1,138 @@
+using NRules.Fluent.Dsl;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+using Volo.Abp.ObjectMapping;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 制样任务
+ ///
+ public class SamplePreparationTaskService : TaskSchedulingAppService, ISamplePreparationTaskService
+ {
+ private IRepository _samplePreparationTaskRepository;
+ private IRepository _samplePreparationPlanRepository;
+ private IRepository _codeConversionRepository;
+
+ public SamplePreparationTaskService(IRepository samplePreparationTaskRepository
+ ,IRepository samplePreparationPlanRepository
+ ,IRepository codeConversionRepository)
+ {
+ _samplePreparationTaskRepository = samplePreparationTaskRepository;
+ _samplePreparationPlanRepository = samplePreparationPlanRepository;
+ _codeConversionRepository = codeConversionRepository;
+ }
+
+ ///
+ /// 获取制样任务
+ ///
+ ///
+ ///
+ public async Task> GetListAsync(SamplePreparationTaskInput input)
+ {
+ var iQuery = await _samplePreparationTaskRepository.GetQueryableAsync();
+ iQuery = iQuery.WhereIf(input.Begntime != null, s => s.TaskAssgnTime >= input.Begntime);
+ iQuery = iQuery.WhereIf(input.Endtime != null, s => s.TaskAssgnTime <= input.Endtime.Value.AddDays(1));
+ iQuery = iQuery.WhereIf(!string.IsNullOrEmpty(input.ExecStas), s => s.ExecStas == input.ExecStas);
+ iQuery = iQuery.OrderByDescending(i => i.LastOperTime);
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.Pi, input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+
+ ///
+ /// 创建制样任务
+ ///
+ ///
+ ///
+ public async Task PostAsync(SamplePreparationTaskCreateOrUpdateDto input)
+ {
+ var iQuery = await _samplePreparationTaskRepository.GetQueryableAsync();
+ var existSamplePreparationTask = iQuery.FirstOrDefault(i => i.Id == input.Id);
+
+ CodeConversion codeConversion = new CodeConversion();
+ codeConversion.SorcCode = input.Id;
+ codeConversion.TargetCode = input.SampleCode;
+ codeConversion.ConversionType = 4;
+ codeConversion.ConversionTime = DateTime.Now;
+ codeConversion.OperName = "-";
+ await _codeConversionRepository.InsertAsync(codeConversion);
+
+ if (existSamplePreparationTask != null)
+ {
+ existSamplePreparationTask.SampleCode = input.SampleCode;
+ existSamplePreparationTask.LastOperTime = DateTime.Now;
+ existSamplePreparationTask = await _samplePreparationTaskRepository.UpdateAsync(existSamplePreparationTask);
+ var itemDto = ObjectMapper.Map(existSamplePreparationTask);
+
+ return itemDto;
+ }
+ else
+ {
+ SamplePreparationTask samplePreparationTask = new SamplePreparationTask(input.Id, input.SampleCode);
+ samplePreparationTask = await _samplePreparationTaskRepository.InsertAsync(samplePreparationTask);
+ var itemDto = ObjectMapper.Map(samplePreparationTask);
+
+ return itemDto;
+ }
+ }
+
+ ///
+ /// 重新下发制样任务
+ ///
+ ///
+ ///
+ ///
+ public async Task PutAsync(string id, SamplePreparationTaskCreateOrUpdateDto input)
+ {
+ if (id == input.Id)
+ {
+ var samplePreparationTask = await _samplePreparationTaskRepository.GetAsync(id);
+ samplePreparationTask.ReSet(input.SampleCode);
+ samplePreparationTask = await _samplePreparationTaskRepository.UpdateAsync(samplePreparationTask);
+ var itemDto = ObjectMapper.Map(samplePreparationTask);
+ return itemDto;
+ }
+ else
+ {
+ SamplePreparationTask samplePreparationTask = new SamplePreparationTask(input.Id, input.SampleCode);
+ samplePreparationTask = await _samplePreparationTaskRepository.InsertAsync(samplePreparationTask);
+ var itemDto = ObjectMapper.Map(samplePreparationTask);
+ return itemDto;
+ }
+
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetPlanListAsync(string samplePreparationTaskId)
+ {
+ var iQuery = await _samplePreparationPlanRepository.GetQueryableAsync();
+ iQuery = iQuery.Where(i => i.Id == samplePreparationTaskId);
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return itemsDto;
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleTestTaskService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleTestTaskService.cs
new file mode 100644
index 0000000..352ac54
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/SampleTestTaskService.cs
@@ -0,0 +1,53 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Runtime.Intrinsics.Arm;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 煤样化验任务
+ ///
+ public class SampleTestTaskService : TaskSchedulingAppService, ISampleTestTaskService
+ {
+ private IRepository _sampleTestTaskRepository;
+
+ public SampleTestTaskService(IRepository sampleTestTaskRepository)
+ {
+ _sampleTestTaskRepository = sampleTestTaskRepository;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public async Task> GetListAsync(SampleTestTaskInput input)
+ {
+ var iQuery = await _sampleTestTaskRepository.GetQueryableAsync();
+ iQuery = iQuery.WhereIf(!string.IsNullOrEmpty(input.SampleCode) && !string.IsNullOrEmpty(input.SampleType),
+ i => i.SampleCode == input.SampleCode && i.SampleType == input.SampleType);
+ iQuery = iQuery.Where(i => i.ManualFlag == 0);
+
+ if (input.Pi == 0)
+ {
+ var itemsDto = ObjectMapper.Map, List>(iQuery.ToList());
+
+ return new PagedResultDto(itemsDto.Count, itemsDto);
+ }
+ else
+ {
+ var totalCount = iQuery.Count();
+ var items = iQuery.Page(input.Pi, input.Ps);
+ var itemsDto = ObjectMapper.Map, List>(items.ToList());
+
+ return new PagedResultDto(totalCount, itemsDto);
+ }
+ }
+ }
+}
diff --git a/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/StandardTestTaskService.cs b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/StandardTestTaskService.cs
new file mode 100644
index 0000000..d4b3044
--- /dev/null
+++ b/src/Himp.TaskScheduling.Application/Himp/TaskScheduling/Tasks/StandardTestTaskService.cs
@@ -0,0 +1,148 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Linq.Dynamic.Core;
+using System.Runtime.Intrinsics.Arm;
+using System.Text;
+using System.Threading.Tasks;
+using Volo.Abp.Application.Dtos;
+using Volo.Abp.Domain.Repositories;
+
+namespace Himp.TaskScheduling
+{
+ ///
+ /// 标准化验任务
+ ///
+ public class StandardTestTaskService : TaskSchedulingAppService, IStandardTestTaskService
+ {
+ private IRepository _standardTestTaskRepository;
+ private IRepository