fangdawei
2 years ago
1417 changed files with 1687 additions and 342711 deletions
@ -1 +0,0 @@ |
|||||
**/wwwroot/libs/** linguist-vendored |
|
@ -1,262 +0,0 @@ |
|||||
## Ignore Visual Studio temporary files, build results, and |
|
||||
## files generated by popular Visual Studio add-ons. |
|
||||
|
|
||||
# User-specific files |
|
||||
*.suo |
|
||||
*.user |
|
||||
*.userosscache |
|
||||
*.sln.docstates |
|
||||
|
|
||||
# User-specific files (MonoDevelop/Xamarin Studio) |
|
||||
*.userprefs |
|
||||
|
|
||||
# Build results |
|
||||
[Dd]ebug/ |
|
||||
[Dd]ebugPublic/ |
|
||||
[Rr]elease/ |
|
||||
[Rr]eleases/ |
|
||||
x64/ |
|
||||
x86/ |
|
||||
bld/ |
|
||||
[Bb]in/ |
|
||||
[Oo]bj/ |
|
||||
[Ll]og/ |
|
||||
|
|
||||
# Visual Studio 2015 cache/options directory |
|
||||
.vs/ |
|
||||
# Uncomment if you have tasks that create the project's static files in wwwroot |
|
||||
#wwwroot/ |
|
||||
|
|
||||
# MSTest test Results |
|
||||
[Tt]est[Rr]esult*/ |
|
||||
[Bb]uild[Ll]og.* |
|
||||
|
|
||||
# NUNIT |
|
||||
*.VisualState.xml |
|
||||
TestResult.xml |
|
||||
|
|
||||
# Build Results of an ATL Project |
|
||||
[Dd]ebugPS/ |
|
||||
[Rr]eleasePS/ |
|
||||
dlldata.c |
|
||||
|
|
||||
# DNX |
|
||||
project.lock.json |
|
||||
artifacts/ |
|
||||
|
|
||||
*_i.c |
|
||||
*_p.c |
|
||||
*_i.h |
|
||||
*.ilk |
|
||||
*.meta |
|
||||
*.obj |
|
||||
*.pch |
|
||||
*.pdb |
|
||||
*.pgc |
|
||||
*.pgd |
|
||||
*.rsp |
|
||||
*.sbr |
|
||||
*.tlb |
|
||||
*.tli |
|
||||
*.tlh |
|
||||
*.tmp |
|
||||
*.tmp_proj |
|
||||
*.log |
|
||||
*.vspscc |
|
||||
*.vssscc |
|
||||
.builds |
|
||||
*.pidb |
|
||||
*.svclog |
|
||||
*.scc |
|
||||
|
|
||||
# Chutzpah Test files |
|
||||
_Chutzpah* |
|
||||
|
|
||||
# Visual C++ cache files |
|
||||
ipch/ |
|
||||
*.aps |
|
||||
*.ncb |
|
||||
*.opendb |
|
||||
*.opensdf |
|
||||
*.sdf |
|
||||
*.cachefile |
|
||||
*.VC.db |
|
||||
*.VC.VC.opendb |
|
||||
|
|
||||
# Visual Studio profiler |
|
||||
*.psess |
|
||||
*.vsp |
|
||||
*.vspx |
|
||||
*.sap |
|
||||
|
|
||||
# TFS 2012 Local Workspace |
|
||||
$tf/ |
|
||||
|
|
||||
# Guidance Automation Toolkit |
|
||||
*.gpState |
|
||||
|
|
||||
# ReSharper is a .NET coding add-in |
|
||||
_ReSharper*/ |
|
||||
*.[Rr]e[Ss]harper |
|
||||
*.DotSettings.user |
|
||||
|
|
||||
# JustCode is a .NET coding add-in |
|
||||
.JustCode |
|
||||
|
|
||||
# TeamCity is a build add-in |
|
||||
_TeamCity* |
|
||||
|
|
||||
# DotCover is a Code Coverage Tool |
|
||||
*.dotCover |
|
||||
|
|
||||
# NCrunch |
|
||||
_NCrunch_* |
|
||||
.*crunch*.local.xml |
|
||||
nCrunchTemp_* |
|
||||
|
|
||||
# MightyMoose |
|
||||
*.mm.* |
|
||||
AutoTest.Net/ |
|
||||
|
|
||||
# Web workbench (sass) |
|
||||
.sass-cache/ |
|
||||
|
|
||||
# Installshield output folder |
|
||||
[Ee]xpress/ |
|
||||
|
|
||||
# DocProject is a documentation generator add-in |
|
||||
DocProject/buildhelp/ |
|
||||
DocProject/Help/*.HxT |
|
||||
DocProject/Help/*.HxC |
|
||||
DocProject/Help/*.hhc |
|
||||
DocProject/Help/*.hhk |
|
||||
DocProject/Help/*.hhp |
|
||||
DocProject/Help/Html2 |
|
||||
DocProject/Help/html |
|
||||
|
|
||||
# Click-Once directory |
|
||||
publish/ |
|
||||
|
|
||||
# Publish Web Output |
|
||||
*.[Pp]ublish.xml |
|
||||
*.azurePubxml |
|
||||
# TODO: Comment the next line if you want to checkin your web deploy settings |
|
||||
# but database connection strings (with potential passwords) will be unencrypted |
|
||||
*.pubxml |
|
||||
*.publishproj |
|
||||
|
|
||||
# Microsoft Azure Web App publish settings. Comment the next line if you want to |
|
||||
# checkin your Azure Web App publish settings, but sensitive information contained |
|
||||
# in these scripts will be unencrypted |
|
||||
PublishScripts/ |
|
||||
|
|
||||
# NuGet Packages |
|
||||
*.nupkg |
|
||||
# The packages folder can be ignored because of Package Restore |
|
||||
**/packages/* |
|
||||
# except build/, which is used as an MSBuild target. |
|
||||
!**/packages/build/ |
|
||||
# Uncomment if necessary however generally it will be regenerated when needed |
|
||||
#!**/packages/repositories.config |
|
||||
# NuGet v3's project.json files produces more ignoreable files |
|
||||
*.nuget.props |
|
||||
*.nuget.targets |
|
||||
|
|
||||
# Microsoft Azure Build Output |
|
||||
csx/ |
|
||||
*.build.csdef |
|
||||
|
|
||||
# Microsoft Azure Emulator |
|
||||
ecf/ |
|
||||
rcf/ |
|
||||
|
|
||||
# Windows Store app package directories and files |
|
||||
AppPackages/ |
|
||||
BundleArtifacts/ |
|
||||
Package.StoreAssociation.xml |
|
||||
_pkginfo.txt |
|
||||
|
|
||||
# Visual Studio cache files |
|
||||
# files ending in .cache can be ignored |
|
||||
*.[Cc]ache |
|
||||
# but keep track of directories ending in .cache |
|
||||
!*.[Cc]ache/ |
|
||||
|
|
||||
# Others |
|
||||
ClientBin/ |
|
||||
~$* |
|
||||
*~ |
|
||||
*.dbmdl |
|
||||
*.dbproj.schemaview |
|
||||
*.pfx |
|
||||
*.publishsettings |
|
||||
node_modules/ |
|
||||
orleans.codegen.cs |
|
||||
|
|
||||
# Since there are multiple workflows, uncomment next line to ignore bower_components |
|
||||
# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) |
|
||||
#bower_components/ |
|
||||
|
|
||||
# RIA/Silverlight projects |
|
||||
Generated_Code/ |
|
||||
|
|
||||
# Backup & report files from converting an old project file |
|
||||
# to a newer Visual Studio version. Backup files are not needed, |
|
||||
# because we have git ;-) |
|
||||
_UpgradeReport_Files/ |
|
||||
Backup*/ |
|
||||
UpgradeLog*.XML |
|
||||
UpgradeLog*.htm |
|
||||
|
|
||||
# SQL Server files |
|
||||
*.mdf |
|
||||
*.ldf |
|
||||
|
|
||||
# Business Intelligence projects |
|
||||
*.rdl.data |
|
||||
*.bim.layout |
|
||||
*.bim_*.settings |
|
||||
|
|
||||
# Microsoft Fakes |
|
||||
FakesAssemblies/ |
|
||||
|
|
||||
# GhostDoc plugin setting file |
|
||||
*.GhostDoc.xml |
|
||||
|
|
||||
# Node.js Tools for Visual Studio |
|
||||
.ntvs_analysis.dat |
|
||||
|
|
||||
# Visual Studio 6 build log |
|
||||
*.plg |
|
||||
|
|
||||
# Visual Studio 6 workspace options file |
|
||||
*.opt |
|
||||
|
|
||||
# Visual Studio LightSwitch build output |
|
||||
**/*.HTMLClient/GeneratedArtifacts |
|
||||
**/*.DesktopClient/GeneratedArtifacts |
|
||||
**/*.DesktopClient/ModelManifest.xml |
|
||||
**/*.Server/GeneratedArtifacts |
|
||||
**/*.Server/ModelManifest.xml |
|
||||
_Pvt_Extensions |
|
||||
|
|
||||
# Paket dependency manager |
|
||||
.paket/paket.exe |
|
||||
paket-files/ |
|
||||
|
|
||||
# FAKE - F# Make |
|
||||
.fake/ |
|
||||
|
|
||||
# JetBrains Rider |
|
||||
.idea/ |
|
||||
*.sln.iml |
|
||||
|
|
||||
# NewJit |
|
||||
src/WY.NewJit.Web/Logs/* |
|
||||
src/WY.NewJit.Web.Host/Logs/* |
|
||||
src/WY.NewJit.IdentityServer/Logs/* |
|
||||
src/WY.NewJit.HttpApi.Host/Logs/* |
|
||||
src/WY.NewJit.HttpApi.HostWithIds/Logs/* |
|
||||
src/WY.NewJit.DbMigrator/Logs/* |
|
||||
src/WY.NewJit.Blazor.Server/Logs/* |
|
||||
src/WY.NewJit.Blazor.Server.Tiered/Logs/* |
|
@ -1,5 +0,0 @@ |
|||||
{ |
|
||||
"singleQuote": true, |
|
||||
"useTabs": false, |
|
||||
"tabWidth": 4 |
|
||||
} |
|
@ -1,6 +0,0 @@ |
|||||
<?xml version="1.0" encoding="utf-8"?> |
|
||||
<configuration> |
|
||||
<packageSources> |
|
||||
<add key="BlazoriseMyGet" value="https://www.myget.org/F/blazorise/api/v3/index.json" /> |
|
||||
</packageSources> |
|
||||
</configuration> |
|
@ -1,137 +0,0 @@ |
|||||
|
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00 |
|
||||
# Visual Studio Version 16 |
|
||||
VisualStudioVersion = 16.0.29020.237 |
|
||||
MinimumVisualStudioVersion = 10.0.40219.1 |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Domain", "src\WY.NewJit.Domain\WY.NewJit.Domain.csproj", "{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Application", "src\WY.NewJit.Application\WY.NewJit.Application.csproj", "{1A94A50E-06DC-43C1-80B5-B662820EC3EB}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.EntityFrameworkCore", "src\WY.NewJit.EntityFrameworkCore\WY.NewJit.EntityFrameworkCore.csproj", "{C956DD76-69C8-4A9C-83EA-D17DF83340FD}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Web", "src\WY.NewJit.Web\WY.NewJit.Web.csproj", "{068855E8-9240-4F1A-910B-CF825794513B}" |
|
||||
EndProject |
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{CA9AC87F-097E-4F15-8393-4BC07735A5B0}" |
|
||||
EndProject |
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{04DBDB01-70F4-4E06-B468-8F87850B22BE}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Application.Tests", "test\WY.NewJit.Application.Tests\WY.NewJit.Application.Tests.csproj", "{50B2631D-129C-47B3-A587-029CCD6099BC}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Web.Tests", "test\WY.NewJit.Web.Tests\WY.NewJit.Web.Tests.csproj", "{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.EntityFrameworkCore.DbMigrations", "src\WY.NewJit.EntityFrameworkCore.DbMigrations\WY.NewJit.EntityFrameworkCore.DbMigrations.csproj", "{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Domain.Shared", "src\WY.NewJit.Domain.Shared\WY.NewJit.Domain.Shared.csproj", "{42F719ED-8413-4895-B5B4-5AB56079BC66}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Application.Contracts", "src\WY.NewJit.Application.Contracts\WY.NewJit.Application.Contracts.csproj", "{520659C8-C734-4298-A3DA-B539DB9DFC0B}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.HttpApi", "src\WY.NewJit.HttpApi\WY.NewJit.HttpApi.csproj", "{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.HttpApi.Client", "src\WY.NewJit.HttpApi.Client\WY.NewJit.HttpApi.Client.csproj", "{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.EntityFrameworkCore.Tests", "test\WY.NewJit.EntityFrameworkCore.Tests\WY.NewJit.EntityFrameworkCore.Tests.csproj", "{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.TestBase", "test\WY.NewJit.TestBase\WY.NewJit.TestBase.csproj", "{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.Domain.Tests", "test\WY.NewJit.Domain.Tests\WY.NewJit.Domain.Tests.csproj", "{E512F4D9-9375-480F-A2F6-A46509F9D824}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.HttpApi.Client.ConsoleTestApp", "test\WY.NewJit.HttpApi.Client.ConsoleTestApp\WY.NewJit.HttpApi.Client.ConsoleTestApp.csproj", "{EF480016-9127-4916-8735-D2466BDBC582}" |
|
||||
EndProject |
|
||||
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WY.NewJit.DbMigrator", "src\WY.NewJit.DbMigrator\WY.NewJit.DbMigrator.csproj", "{AA94D832-1CCC-4715-95A9-A483F23A1A5D}" |
|
||||
EndProject |
|
||||
Global |
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution |
|
||||
Debug|Any CPU = Debug|Any CPU |
|
||||
Release|Any CPU = Release|Any CPU |
|
||||
EndGlobalSection |
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution |
|
||||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{068855E8-9240-4F1A-910B-CF825794513B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{068855E8-9240-4F1A-910B-CF825794513B}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{068855E8-9240-4F1A-910B-CF825794513B}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{068855E8-9240-4F1A-910B-CF825794513B}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{50B2631D-129C-47B3-A587-029CCD6099BC}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{50B2631D-129C-47B3-A587-029CCD6099BC}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{42F719ED-8413-4895-B5B4-5AB56079BC66}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{42F719ED-8413-4895-B5B4-5AB56079BC66}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{520659C8-C734-4298-A3DA-B539DB9DFC0B}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{520659C8-C734-4298-A3DA-B539DB9DFC0B}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{4164BDF7-F527-4E85-9CE6-E3C2D7426A27}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{3B5A0094-670D-4BB1-BFDD-61B88A8773DC}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{91853F21-9CD9-4132-BC29-A7D5D84FFFE7}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{E512F4D9-9375-480F-A2F6-A46509F9D824}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{E512F4D9-9375-480F-A2F6-A46509F9D824}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{EF480016-9127-4916-8735-D2466BDBC582}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{EF480016-9127-4916-8735-D2466BDBC582}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
{AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU |
|
||||
{AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Debug|Any CPU.Build.0 = Debug|Any CPU |
|
||||
{AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.ActiveCfg = Release|Any CPU |
|
||||
{AA94D832-1CCC-4715-95A9-A483F23A1A5D}.Release|Any CPU.Build.0 = Release|Any CPU |
|
||||
EndGlobalSection |
|
||||
GlobalSection(SolutionProperties) = preSolution |
|
||||
HideSolutionNode = FALSE |
|
||||
EndGlobalSection |
|
||||
GlobalSection(NestedProjects) = preSolution |
|
||||
{554AD327-6DBA-4F8F-96F8-81CE7A0C863F} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{1A94A50E-06DC-43C1-80B5-B662820EC3EB} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{C956DD76-69C8-4A9C-83EA-D17DF83340FD} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{068855E8-9240-4F1A-910B-CF825794513B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{50B2631D-129C-47B3-A587-029CCD6099BC} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} |
|
||||
{5F1B28C6-8D0C-4155-92D0-252F7EA5F674} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} |
|
||||
{0372FA84-C517-4EB3-9A9F-B9ACAC0CA5E0} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{42F719ED-8413-4895-B5B4-5AB56079BC66} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{520659C8-C734-4298-A3DA-B539DB9DFC0B} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{4164BDF7-F527-4E85-9CE6-E3C2D7426A27} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{3B5A0094-670D-4BB1-BFDD-61B88A8773DC} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
{1FE30EB9-74A9-47F5-A9F6-7B1FAB672D81} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} |
|
||||
{91853F21-9CD9-4132-BC29-A7D5D84FFFE7} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} |
|
||||
{E512F4D9-9375-480F-A2F6-A46509F9D824} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} |
|
||||
{EF480016-9127-4916-8735-D2466BDBC582} = {04DBDB01-70F4-4E06-B468-8F87850B22BE} |
|
||||
{AA94D832-1CCC-4715-95A9-A483F23A1A5D} = {CA9AC87F-097E-4F15-8393-4BC07735A5B0} |
|
||||
EndGlobalSection |
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution |
|
||||
SolutionGuid = {28315BFD-90E7-4E14-A2EA-F3D23AF4126F} |
|
||||
EndGlobalSection |
|
||||
EndGlobal |
|
@ -1,23 +0,0 @@ |
|||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> |
|
||||
<s:Boolean x:Key="/Default/CodeEditing/Intellisense/CodeCompletion/IntelliSenseCompletingCharacters/CSharpCompletingCharacters/UpgradedFromVSSettings/@EntryValue">True</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceDoWhileStatementBraces/@EntryIndexedValue">WARNING</s:String> |
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceFixedStatementBraces/@EntryIndexedValue">WARNING</s:String> |
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceForeachStatementBraces/@EntryIndexedValue">WARNING</s:String> |
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceForStatementBraces/@EntryIndexedValue">WARNING</s:String> |
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceIfStatementBraces/@EntryIndexedValue">WARNING</s:String> |
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceLockStatementBraces/@EntryIndexedValue">WARNING</s:String> |
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceUsingStatementBraces/@EntryIndexedValue">WARNING</s:String> |
|
||||
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=EnforceWhileStatementBraces/@EntryIndexedValue">WARNING</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_FOR/@EntryValue">Required</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_FOREACH/@EntryValue">Required</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_IFELSE/@EntryValue">Required</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_FOR_WHILE/@EntryValue">Required</s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpCodeStyle/BRACES_REDUNDANT/@EntryValue">False</s:Boolean> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/Generate/=Implementations/@KeyIndexDefined">True</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=Async/@EntryIndexedValue">False</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Generate/=Implementations/Options/=Mutable/@EntryIndexedValue">False</s:String> |
|
||||
<s:Boolean x:Key="/Default/CodeStyle/Generate/=Overrides/@KeyIndexDefined">True</s:Boolean> |
|
||||
<s:String x:Key="/Default/CodeStyle/Generate/=Overrides/Options/=Async/@EntryIndexedValue">False</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Generate/=Overrides/Options/=Mutable/@EntryIndexedValue">False</s:String> |
|
||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/Abbreviations/=SQL/@EntryIndexedValue">SQL</s:String> |
|
||||
</wpf:ResourceDictionary> |
|
@ -1,8 +0,0 @@ |
|||||
<Project> |
|
||||
<PropertyGroup> |
|
||||
<LangVersion>latest</LangVersion> |
|
||||
<Version>1.0.0</Version> |
|
||||
<NoWarn>$(NoWarn);CS1591;CS0436</NoWarn> |
|
||||
<AbpProjectType>app</AbpProjectType> |
|
||||
</PropertyGroup> |
|
||||
</Project> |
|
@ -1,16 +0,0 @@ |
|||||
using System; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.Books |
|
||||
{ |
|
||||
public class BookDto : EntityDto<Guid> |
|
||||
{ |
|
||||
public string Name { get; set; } |
|
||||
|
|
||||
public BookType Type { get; set; } |
|
||||
|
|
||||
public DateTime PublishDate { get; set; } |
|
||||
|
|
||||
public float Price { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,22 +0,0 @@ |
|||||
using System; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
|
|
||||
namespace WY.NewJit.Books |
|
||||
{ |
|
||||
public class CreateUpdateBookDto |
|
||||
{ |
|
||||
[Required] |
|
||||
[StringLength(128)] |
|
||||
public string Name { get; set; } |
|
||||
|
|
||||
[Required] |
|
||||
public BookType Type { get; set; } = BookType.Undefined; |
|
||||
|
|
||||
[Required] |
|
||||
[DataType(DataType.Date)] |
|
||||
public DateTime PublishDate { get; set; } = DateTime.Now; |
|
||||
|
|
||||
[Required] |
|
||||
public float Price { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,16 +0,0 @@ |
|||||
using System; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using Volo.Abp.Application.Services; |
|
||||
|
|
||||
namespace WY.NewJit.Books |
|
||||
{ |
|
||||
public interface IBookAppService : |
|
||||
ICrudAppService< //定义了常见的CRUD方法:GetAsync,GetListAsync,CreateAsync,UpdateAsync和DeleteAsync
|
|
||||
BookDto, //Used to show books
|
|
||||
Guid, //Primary key of the book entity
|
|
||||
PagedAndSortedResultRequestDto, //Used for paging/sorting
|
|
||||
CreateUpdateBookDto> //Used to create/update a book
|
|
||||
{ |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,40 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class AssemblyCfgErp2PartDto : EntityDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// Erp总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid ErpAssemblyId { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 零件ID
|
|
||||
/// </summary>
|
|
||||
public Guid PartId { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 是否Key件
|
|
||||
/// </summary>
|
|
||||
public bool IsKey { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
|
|
@ -1,49 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// ERP总成
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "总成信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class AssemblyCfgErpDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// ERP总成编码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "ERP总成编码")] |
|
||||
[ImporterHeader(Name = "ERP总成编码")] |
|
||||
public string ErpAssemblyCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// ERP总成名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "ERP总成名称")] |
|
||||
[ImporterHeader(Name = "ERP总成名称")] |
|
||||
public string ErpAssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// ERP总成版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "ERP总成版本")] |
|
||||
[ImporterHeader(Name = "ERP总成版本")] |
|
||||
public int ErpAssemblyVersion { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型")] |
|
||||
[ImporterHeader(Name = "车型")] |
|
||||
public virtual string VehicleModel { get; set; } |
|
||||
|
|
||||
|
|
||||
public List<AssemblyCfgPartDto> Details { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,45 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 总成和零件关系表
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "ERP总成-结算件子表", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class AssemblyCfgPartDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件代码")] |
|
||||
[ImporterHeader(Name = "客户零件代码")] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件数量")] |
|
||||
[ImporterHeader(Name = "客户零件数量")] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 是否Key件
|
|
||||
/// </summary>
|
|
||||
public bool IsKey { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
|
|
@ -1,40 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class AssemblyCfgVehicle2PartDto : EntityDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 整车总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid VehicleAssemblyId { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 零件ID
|
|
||||
/// </summary>
|
|
||||
public Guid PartId { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 是否Key件
|
|
||||
/// </summary>
|
|
||||
public bool IsKey { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
|
|
@ -1,46 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdateAssemblyCfgErpDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// ERP总成编码
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(20)] |
|
||||
public string ErpAssemblyCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// ERP总成名称
|
|
||||
/// </summary>
|
|
||||
[StringLength(50)] |
|
||||
public string ErpAssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型
|
|
||||
/// </summary>
|
|
||||
[StringLength(20)] |
|
||||
public virtual string VehicleModel { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 是否覆盖上一个版本
|
|
||||
/// </summary>
|
|
||||
public bool IsCover { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上一个版本的ERP总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid? PreviousVersionId { get; set; } |
|
||||
|
|
||||
public List<CreateUpdateAssemblyCfgPartDto> Details { get; set; } |
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,37 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdateAssemblyCfgPartDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[StringLength(200)] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 是否Key件
|
|
||||
/// </summary>
|
|
||||
public bool IsKey { get; set; } |
|
||||
|
|
||||
} |
|
||||
|
|
||||
} |
|
@ -1,27 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryAssemblyCfgErpDto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// ERP总成编码
|
|
||||
/// </summary>
|
|
||||
public string ErpAssemblyCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成名称
|
|
||||
/// </summary>
|
|
||||
public string ErpAssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,73 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using Volo.Abp.Application.Services; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
public interface IAssemblyCfgErpAppService : IApplicationService |
|
||||
{ |
|
||||
#region 总成和产品关系
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="assemblyCfgId">主键</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<AssemblyCfgErpDto>> GetErpAssemblyListAsync(QueryAssemblyCfgErpDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<AssemblyCfgErpDto>> GetErpAssemblyAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateErpAssemblyAsync(CreateUpdateAssemblyCfgErpDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdateErpAssemblyAsync(Guid id, CreateUpdateAssemblyCfgErpDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteErpAssemblyAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出ERP总成
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
Task<ObjectResultDto<string>> ExportErpAssemblyAsync(QueryAssemblyCfgErpDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 校验ERP总成
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
//Task<ObjectResultDto> CheckErpAssembly(CreateUpdateAssemblyCfgErpDto input);
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 系统初始化时使用,去掉重复的ERP总成
|
|
||||
/// </summary>
|
|
||||
/// <param name="takeCount"></param>
|
|
||||
/// <returns></returns>
|
|
||||
Task<ObjectResultDto> RemoveRepeatErpAssembly(int takeCount); |
|
||||
|
|
||||
|
|
||||
#endregion
|
|
||||
} |
|
||||
} |
|
@ -1,51 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
public interface IAssemblyCfgPartAppService |
|
||||
{ |
|
||||
#region 产品和零件关系
|
|
||||
|
|
||||
/// 取实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="assemblyProductID">主键</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<ListResultDto<AssemblyCfgPartDto>> GetPartListAsync(Guid assemblyProductID); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<AssemblyCfgPartDto>> GetPartAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreatePartAsync(CreateUpdateAssemblyCfgPartDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdatePartAsync(Guid id, CreateUpdateAssemblyCfgPartDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeletePartAsync(string id); |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,17 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData.AssemblyCfgs |
|
||||
{ |
|
||||
public interface IAssemblyCfgVehicleAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 根据整车总成Id取Erp总成列表
|
|
||||
/// </summary>W
|
|
||||
/// <param name="vehicleAssemblyId">整车总成Id</param>
|
|
||||
/// <returns>Erp总成列表</returns>
|
|
||||
Task<List<AssemblyCfgErpDto>> GetErpAssemblyListAsync(Guid vehicleAssemblyId); |
|
||||
} |
|
||||
} |
|
@ -1,31 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 通用字典信息DTO
|
|
||||
/// </summary>
|
|
||||
[Serializable] |
|
||||
public class DicItemDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 字典类别代码
|
|
||||
/// </summary>
|
|
||||
public string DicTypeCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 字典项代码
|
|
||||
/// </summary>
|
|
||||
public string DicItemCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 字典项名称
|
|
||||
/// </summary>
|
|
||||
public string DicItemName { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,22 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
public interface IDicAppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据字典类型名称取通用字典信息列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="dicTypeName">字典类型名称</param>
|
|
||||
/// <returns>返回符合条件字典信息列表</returns>
|
|
||||
Task<ListResultDto<DicItemDto>> GetDicListAsync(string dicTypeName); |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,33 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdateExcludePartCfgDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 车型代码
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(20)] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 客户零件号
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 排除原因
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(200)] |
|
||||
public string ExcludeReason { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,52 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class ExcludePartCfgDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 车型代码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 客户零件号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件号")] |
|
||||
[ImporterHeader(Name = "客户零件号")] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 排除原因
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "排除原因")] |
|
||||
[ImporterHeader(Name = "排除原因")] |
|
||||
public string ExcludeReason { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型名称")] |
|
||||
[ImporterHeader(Name = "车型名称")] |
|
||||
public string VehicleModelName { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 客户零件名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件名称")] |
|
||||
[ImporterHeader(Name = "客户零件名称")] |
|
||||
public string PartName { get; set; } |
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,21 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryExcludePartCfgDto : PagedAndSortedBase//: PagedAndSortedResultRequestDto
|
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 车型代码
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 客户零件号
|
|
||||
/// </summary>
|
|
||||
public string PartCode { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,66 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
public interface IExcludePartCfgAppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<ExcludePartCfgDto>> GetListAsync(QueryExcludePartCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<ExcludePartCfgDto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateExcludePartCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdateExcludePartCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryExcludePartCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,47 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdateLogRemindDto |
|
||||
{ |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常)
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public LogTypeEnum LogType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志标题
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(200)] |
|
||||
public string LogTitle { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志描述
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(4000)] |
|
||||
public string LogDesc { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 严重程度(1 轻微 2 一般、3 严重)
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public SeriousLevelEnum SeriousLevel { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志状态
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public virtual LogStatusEnum LogStatus { get; set; } |
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,54 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "日志提醒", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class LogRemindDto: AuditedEntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "日志类别")] |
|
||||
[ImporterHeader(Name = "日志类别")] |
|
||||
public LogTypeEnum LogType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志标题
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "日志标题")] |
|
||||
[ImporterHeader(Name = "日志标题")] |
|
||||
public string LogTitle { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "日志描述")] |
|
||||
[ImporterHeader(Name = "日志描述")] |
|
||||
public string LogDesc { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 严重程度(1 轻微 2 一般、3 严重)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "严重程度")] |
|
||||
[ImporterHeader(Name = "严重程度")] |
|
||||
public SeriousLevelEnum SeriousLevel { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志状态
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "日志状态")] |
|
||||
[ImporterHeader(Name = "日志状态")] |
|
||||
public virtual LogStatusEnum LogStatus { get; set; } |
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,32 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryLogRemindDto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 日志类别(1 报文传输异常、2 报文转换异常、3 报文解析、校验异常)
|
|
||||
/// </summary>
|
|
||||
public LogTypeEnum LogType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志标题
|
|
||||
/// </summary>
|
|
||||
public string LogTitle { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 严重程度(1 轻微 2 一般、3 严重)
|
|
||||
/// </summary>
|
|
||||
public SeriousLevelEnum SeriousLevel { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志状态 0 1 2
|
|
||||
/// </summary>
|
|
||||
public LogStatusEnum LogStatus { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,81 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
public interface ILogRemindAppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<LogRemindDto>> GetListAsync(QueryLogRemindDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<LogRemindDto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateLogRemindDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdateLogRemindDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryLogRemindDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 执行处理
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DoProcessAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 执行忽略
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DoIgnoreAsync(Guid id); |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,64 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdatePartCfgDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件编码
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public string PartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 零件名称
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(200)] |
|
||||
public string PartName { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 零件类型(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[StringLength(10)] |
|
||||
public string PartType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 零件子类型(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public virtual string PartChildType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[StringLength(200)] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
#region 派格扩展
|
|
||||
/// <summary>
|
|
||||
/// 门板代号
|
|
||||
/// </summary>
|
|
||||
public string DoorPlankCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// SAP物料号
|
|
||||
/// </summary>
|
|
||||
public string SAPMaterialNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲)
|
|
||||
/// </summary>
|
|
||||
public string MaterialDescription { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大小量纲(大小量纲、物料描述字段值同时存在时,优先显示大小量纲)
|
|
||||
/// </summary>
|
|
||||
public string DaXiaoLiangGang { get; set; } |
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,73 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class PartCfgDto: AuditedEntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件编码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "零件编码")] |
|
||||
[ImporterHeader(Name = "零件编码")] |
|
||||
public string PartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 零件名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "零件名称")] |
|
||||
[ImporterHeader(Name = "零件名称")] |
|
||||
public string PartName { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 零件类型(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "零件类型")] |
|
||||
[ImporterHeader(Name = "零件类型")] |
|
||||
public string PartType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 零件子类型(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "零件子类型")] |
|
||||
[ImporterHeader(Name = "零件子类型")] |
|
||||
public virtual string PartChildType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
#region 派格扩展
|
|
||||
/// <summary>
|
|
||||
/// 门板代号
|
|
||||
/// </summary>
|
|
||||
public string DoorPlankCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// SAP物料号
|
|
||||
/// </summary>
|
|
||||
public string SAPMaterialNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 物料描述(大小量纲、物料描述字段值同时存在时,优先显示大小量纲)
|
|
||||
/// </summary>
|
|
||||
public string MaterialDescription { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大小量纲(大小量纲、物料描述字段值同时存在时,优先显示大小量纲)
|
|
||||
/// </summary>
|
|
||||
public string DaXiaoLiangGang { get; set; } |
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,31 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryPartCfgDto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件编码
|
|
||||
/// </summary>
|
|
||||
public string PartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 零件名称
|
|
||||
/// </summary>
|
|
||||
public string PartName { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 零件类型(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string PartType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 零件子类型(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string PartChildType { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,66 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
public interface IPartCfgAppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<PartCfgDto>> GetListAsync(QueryPartCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<PartCfgDto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdatePartCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdatePartCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryPartCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,33 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdatePartSwitchDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件编码
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public virtual string SourcePartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 切换为零件编码
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public virtual string TargetPartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 生效开始时间
|
|
||||
/// </summary>
|
|
||||
public virtual DateTime? ActiveBeginTime { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 生效结束时间
|
|
||||
/// </summary>
|
|
||||
public virtual DateTime? ActiveEndTime { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,57 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class PartSwitchDto: AuditedEntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件编码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "零件编码")] |
|
||||
[ImporterHeader(Name = "零件编码")] |
|
||||
public virtual string SourcePartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 零件名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "零件名称")] |
|
||||
[ImporterHeader(Name = "零件名称")] |
|
||||
public virtual string SourcePartName { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 切换为零件编码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "切换为零件编码")] |
|
||||
[ImporterHeader(Name = "切换为零件编码")] |
|
||||
public virtual string TargetPartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 切换为零件名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "切换为零件名称")] |
|
||||
[ImporterHeader(Name = "切换为零件名称")] |
|
||||
public virtual string TargetPartName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生效开始时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "生效开始时间")] |
|
||||
[ImporterHeader(Name = "生效开始时间")] |
|
||||
public virtual DateTime? ActiveBeginTime { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 生效结束时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "生效结束时间")] |
|
||||
[ImporterHeader(Name = "生效结束时间")] |
|
||||
public virtual DateTime? ActiveEndTime { get; set; } |
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,34 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryPartSwitchDto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件编码
|
|
||||
/// </summary>
|
|
||||
public virtual string SourcePartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 零件名称
|
|
||||
/// </summary>
|
|
||||
public virtual string SourcePartName { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 切换为零件编码
|
|
||||
/// </summary>
|
|
||||
public virtual string TargetPartCode { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 切换为零件名称
|
|
||||
/// </summary>
|
|
||||
public virtual string TargetPartName { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 是否有效
|
|
||||
/// </summary>
|
|
||||
public virtual bool? IsValid { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,66 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
public interface IPartSwitchAppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<PartSwitchDto>> GetListAsync(QueryPartSwitchDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<PartSwitchDto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdatePartSwitchDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdatePartSwitchDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryPartSwitchDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,128 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "M100单据", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class BillM100Dto: AuditedEntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 流水号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "流水号")] |
|
||||
[ImporterHeader(Name = "流水号")] |
|
||||
public int? SerialNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "大众顺序号")] |
|
||||
[ImporterHeader(Name = "大众顺序号")] |
|
||||
public int? HostSN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "KNR")] |
|
||||
[ImporterHeader(Name = "KNR")] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "底牌号")] |
|
||||
[ImporterHeader(Name = "底牌号")] |
|
||||
public string VIN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成ID")] |
|
||||
[ImporterHeader(Name = "总成ID")] |
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "上线时间")] |
|
||||
[ImporterHeader(Name = "上线时间")] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = " 生产线")] |
|
||||
[ImporterHeader(Name = " 生产线")] |
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "版本")] |
|
||||
[ImporterHeader(Name = "版本")] |
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "接收时间")] |
|
||||
[ImporterHeader(Name = "接收时间")] |
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布;-1 预批量)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "单据状态")] |
|
||||
[ImporterHeader(Name = "单据状态")] |
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 涂装重复单据包含的零件列表
|
|
||||
/// </summary>
|
|
||||
public List<BillM100PartDto> BillM100Parts { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 手工操作类型:0 none,1 手工添加,2 手工修改
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "手工操作类型")] |
|
||||
[ImporterHeader(Name = "手工操作类型")] |
|
||||
public ManualOperationTypeEnum OperationType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 手工操作员
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "手工操作员")] |
|
||||
[ImporterHeader(Name = "手工操作员")] |
|
||||
public string Operator { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 手工操作日期
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "手工操作日期")] |
|
||||
[ImporterHeader(Name = "手工操作日期")] |
|
||||
public DateTime? OperationTime { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,38 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "M100单据包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class BillM100PartDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件代码")] |
|
||||
[ImporterHeader(Name = "客户零件代码")] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件数量")] |
|
||||
[ImporterHeader(Name = "客户零件数量")] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,105 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdateBillM100Dto |
|
||||
{ |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 流水号#
|
|
||||
/// </summary>
|
|
||||
public int? SerialNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public int? HostSN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号#
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public string VIN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布)
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(200)] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 涂装重复单据包含的零件列表
|
|
||||
/// </summary>
|
|
||||
public virtual List<CreateUpdateBillM100PartDto> BillM100Parts { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 手工操作类型:0 none,1 手工添加,2 手工修改
|
|
||||
/// </summary>
|
|
||||
public ManualOperationTypeEnum OperationType { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 手工操作员
|
|
||||
/// </summary>
|
|
||||
public string Operator { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 手工操作日期
|
|
||||
/// </summary>
|
|
||||
public DateTime? OperationTime { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,32 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdateBillM100PartDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[StringLength(200)] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,19 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using WY.NewJit.MsgBaseData; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public class CreateUpdateNewM100Dto |
|
||||
{ |
|
||||
public CreateUpdateBillM100Dto M100Bill { get; set; } |
|
||||
|
|
||||
public List<CreateUpdateAssemblyCfgErpDto> ErpAssemblyList { get; set; } |
|
||||
|
|
||||
public CreateUpdateNewM100Dto() |
|
||||
{ |
|
||||
ErpAssemblyList = new List<CreateUpdateAssemblyCfgErpDto>(); |
|
||||
} |
|
||||
} |
|
||||
} |
|
@ -1,18 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public class MenBanPrintInfo |
|
||||
{ |
|
||||
public PrintTypeEnum PrintType { get; set; } |
|
||||
} |
|
||||
|
|
||||
public enum PrintTypeEnum |
|
||||
{ |
|
||||
初次打印, |
|
||||
重新打印, |
|
||||
补打 |
|
||||
} |
|
||||
} |
|
@ -1,19 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using WY.NewJit.MsgBaseData; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public class NewM100Dto |
|
||||
{ |
|
||||
public BillM100Dto M100Bill { get; set; } |
|
||||
|
|
||||
public List<AssemblyCfgErpDto> ErpAssemblyList { get; set; } |
|
||||
|
|
||||
public NewM100Dto() |
|
||||
{ |
|
||||
ErpAssemblyList = new List<AssemblyCfgErpDto>(); |
|
||||
} |
|
||||
} |
|
||||
} |
|
@ -1,104 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryBillM100Dto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 流水号起
|
|
||||
/// </summary>
|
|
||||
public int? SerialNumBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 流水号止
|
|
||||
/// </summary>
|
|
||||
public int? SerialNumEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号起
|
|
||||
/// </summary>
|
|
||||
public int? HostSNBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号止
|
|
||||
/// </summary>
|
|
||||
public int? HostSNEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR起
|
|
||||
/// </summary>
|
|
||||
public string KNRBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR止
|
|
||||
/// </summary>
|
|
||||
public string KNREnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号起
|
|
||||
/// </summary>
|
|
||||
public string VINBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号止
|
|
||||
/// </summary>
|
|
||||
public string VINEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeEnd { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布)
|
|
||||
/// </summary>
|
|
||||
public BillStatusEnum? BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 是否单据维护
|
|
||||
/// </summary>
|
|
||||
public bool? IsBillMaintenance { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,139 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "M100单据查询结果", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class ResultBillM100Dto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 流水号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "流水号")] |
|
||||
[ImporterHeader(Name = "流水号")] |
|
||||
public int? SerialNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "大众顺序号")] |
|
||||
[ImporterHeader(Name = "大众顺序号")] |
|
||||
public int? HostSN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "KNR")] |
|
||||
[ImporterHeader(Name = "KNR")] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "底牌号")] |
|
||||
[ImporterHeader(Name = "底牌号")] |
|
||||
public string VIN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成ID")] |
|
||||
[ImporterHeader(Name = "总成ID")] |
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "上线时间")] |
|
||||
[ImporterHeader(Name = "上线时间")] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "版本")] |
|
||||
[ImporterHeader(Name = "版本")] |
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "接收时间")] |
|
||||
[ImporterHeader(Name = "接收时间")] |
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "单据状态")] |
|
||||
[ImporterHeader(Name = "单据状态")] |
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
///// <summary>
|
|
||||
///// 涂装重复单据包含的零件列表
|
|
||||
///// </summary>
|
|
||||
//public List<BillM100PartDto> M100BillParts { get; set; }
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成名称")] |
|
||||
[ImporterHeader(Name = "总成名称")] |
|
||||
public string AssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型名称(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型名称")] |
|
||||
[ImporterHeader(Name = "车型名称")] |
|
||||
public string VehicleModelName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// R100总成名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "R100总成名称")] |
|
||||
[ImporterHeader(Name = "R100总成名称")] |
|
||||
public string R100AssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// R100上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "R100上线时间")] |
|
||||
[ImporterHeader(Name = "R100上线时间")] |
|
||||
public DateTime? R100OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 打印时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "打印时间")] |
|
||||
[ImporterHeader(Name = "打印时间")] |
|
||||
public virtual DateTime? PrintTime { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,12 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public class ZhuHuBanPrintInfo |
|
||||
{ |
|
||||
public PrintTypeEnum PrintType { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,82 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public interface IBillM100AppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<ResultBillM100Dto>> GetListAsync(QueryBillM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<BillM100Dto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateBillM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdateBillM100Dto input); |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryBillM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 打印门板
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> PrintMenBan(MenBanPrintInfo input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 打印柱护板
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> PrintZhuHuBan(ZhuHuBanPrintInfo input); |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,76 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.MsgBaseData; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public interface INewM100AppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<ResultBillM100Dto>> GetListAsync(QueryBillM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<NewM100Dto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateNewM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdateNewM100Dto input); |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryBillM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据KNR取ERP总成列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="knr"></param>
|
|
||||
/// <returns></returns>
|
|
||||
Task<ListResultDto<AssemblyCfgErpDto>> GetErpAssemblyListAsync(string knr); |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,94 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "R100单据", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class BillR100Dto: AuditedEntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "大众顺序号")] |
|
||||
[ImporterHeader(Name = "大众顺序号")] |
|
||||
public int? HostSN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "KNR")] |
|
||||
[ImporterHeader(Name = "KNR")] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成ID")] |
|
||||
[ImporterHeader(Name = "总成ID")] |
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "上线时间")] |
|
||||
[ImporterHeader(Name = "上线时间")] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "接收时间")] |
|
||||
[ImporterHeader(Name = "接收时间")] |
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = " 生产线")] |
|
||||
[ImporterHeader(Name = " 生产线")] |
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "版本")] |
|
||||
[ImporterHeader(Name = "版本")] |
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "单据状态")] |
|
||||
[ImporterHeader(Name = "单据状态")] |
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 焊装重复单据包含的零件列表
|
|
||||
/// </summary>
|
|
||||
public List<BillR100PartDto> BillR100Parts { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,38 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "R100单据包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class BillR100PartDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件代码")] |
|
||||
[ImporterHeader(Name = "客户零件代码")] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件数量")] |
|
||||
[ImporterHeader(Name = "客户零件数量")] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,80 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdateBillR100Dto |
|
||||
{ |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public int? HostSN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布)
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(200)] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 焊装重复单据包含的零件列表
|
|
||||
/// </summary>
|
|
||||
public List<CreateUpdateBillR100PartDto> BillR100Parts { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,32 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel.DataAnnotations; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class CreateUpdateBillR100PartDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
[StringLength(100)] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[Required] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[StringLength(200)] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,77 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryBillR100Dto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 大众顺序号起
|
|
||||
/// </summary>
|
|
||||
public int? HostSNBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号止
|
|
||||
/// </summary>
|
|
||||
public int? HostSNEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR起
|
|
||||
/// </summary>
|
|
||||
public string KNRBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR止
|
|
||||
/// </summary>
|
|
||||
public string KNREnd { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布)
|
|
||||
/// </summary>
|
|
||||
public BillStatusEnum? BillStatus { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,123 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "R100单据查询结果", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class ResultBillR100Dto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "KNR")] |
|
||||
[ImporterHeader(Name = "KNR")] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 一个或多个ERP总成编码(逗号分隔)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成编码")] |
|
||||
[ImporterHeader(Name = "总成编码")] |
|
||||
public string ErpAssemblyCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 一个或多个ERP总成名称(逗号分隔)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成名称")] |
|
||||
[ImporterHeader(Name = "总成名称")] |
|
||||
public string ErpAssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// ERP总成数量
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成数量")] |
|
||||
[ImporterHeader(Name = "总成数量")] |
|
||||
public int ErpAssemblyNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "大众顺序号")] |
|
||||
[ImporterHeader(Name = "大众顺序号")] |
|
||||
public int? HostSN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "上线时间")] |
|
||||
[ImporterHeader(Name = "上线时间")] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "接收时间")] |
|
||||
[ImporterHeader(Name = "接收时间")] |
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "生产线")] |
|
||||
[ImporterHeader(Name = "生产线")] |
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "版本")] |
|
||||
[ImporterHeader(Name = "版本")] |
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "单据状态")] |
|
||||
[ImporterHeader(Name = "单据状态")] |
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成名称
|
|
||||
/// </summary>
|
|
||||
public string AssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型名称(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 打印时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "打印时间")] |
|
||||
[ImporterHeader(Name = "打印时间")] |
|
||||
public virtual DateTime? PrintTime { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,74 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public interface IBillR100AppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<ResultBillR100Dto>> GetListAsync(QueryBillR100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<BillR100Dto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateBillR100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdateBillR100Dto input); |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryBillR100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出包含ERP总成编码的信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportErpAssemblyCodeAsync(QueryBillR100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,33 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public interface IR100M100CompareAppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<ResultCompareDto>> GetListAsync(QueryCompareDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryCompareDto input); |
|
||||
|
|
||||
|
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,114 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryCompareDto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 流水号起
|
|
||||
/// </summary>
|
|
||||
public int? SerialNumBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 流水号止
|
|
||||
/// </summary>
|
|
||||
public int? SerialNumEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号起
|
|
||||
/// </summary>
|
|
||||
public int? HostSNBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号止
|
|
||||
/// </summary>
|
|
||||
public int? HostSNEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR起
|
|
||||
/// </summary>
|
|
||||
public string KNRBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR止
|
|
||||
/// </summary>
|
|
||||
public string KNREnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号起
|
|
||||
/// </summary>
|
|
||||
public string VINBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号止
|
|
||||
/// </summary>
|
|
||||
public string VINEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeEnd { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布)
|
|
||||
/// </summary>
|
|
||||
public BillStatusEnum? BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 是否单据维护
|
|
||||
/// </summary>
|
|
||||
public bool? IsBillMaintenance { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 有焊装无总装
|
|
||||
/// </summary>
|
|
||||
public bool HasR100NotHasM100 { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 有焊装有总装
|
|
||||
/// </summary>
|
|
||||
public bool HasR100HasM100 { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,116 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "焊装总装对比", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class ResultCompareDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "大众顺序号")] |
|
||||
[ImporterHeader(Name = "大众顺序号")] |
|
||||
public int? HostSN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "KNR")] |
|
||||
[ImporterHeader(Name = "KNR")] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// R100单据状态
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "R100单据状态")] |
|
||||
[ImporterHeader(Name = "R100单据状态")] |
|
||||
public string R100BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// R100上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "R100上线时间")] |
|
||||
[ImporterHeader(Name = "R100上线时间")] |
|
||||
public DateTime? R100OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// R100接收时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "R100接收时间")] |
|
||||
[ImporterHeader(Name = "R100接收时间")] |
|
||||
public DateTime? R100ReceiveTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "版本")] |
|
||||
[ImporterHeader(Name = "版本")] |
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
//---------------------------M100
|
|
||||
/// <summary>
|
|
||||
/// 流水号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "流水号")] |
|
||||
[ImporterHeader(Name = "流水号")] |
|
||||
public int? SerialNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "底牌号")] |
|
||||
[ImporterHeader(Name = "底牌号")] |
|
||||
public string VIN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// M100上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "M100上线时间")] |
|
||||
[ImporterHeader(Name = "M100上线时间")] |
|
||||
public DateTime? M100OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// M100接收时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "M100接收时间")] |
|
||||
[ImporterHeader(Name = "M100接收时间")] |
|
||||
public DateTime? M100ReceiveTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// M100单据状态【0 空;1 未匹配;2 已匹配;3 已发布】
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "M100单据状态")] |
|
||||
[ImporterHeader(Name = "M100单据状态")] |
|
||||
public BillStatusEnum M100BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// R100一个或多个ERP总成编码(逗号分隔)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "R100总成编码")] |
|
||||
[ImporterHeader(Name = "R100总成编码")] |
|
||||
public string R100ErpAssemblyCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// R100一个或多个ERP总成名称(逗号分隔)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "R100总成名称")] |
|
||||
[ImporterHeader(Name = "R100总成名称")] |
|
||||
public string R100ErpAssemblyName { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,85 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Collections.ObjectModel; |
|
||||
using System.Linq; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Domain.Entities.Auditing; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 涂装重复单据
|
|
||||
/// </summary>
|
|
||||
[Serializable] |
|
||||
public class CreateUpdateRepeatM100Dto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 报文接收ID,对应报文接收表主键
|
|
||||
/// </summary>
|
|
||||
public Guid MessageFileReceiveID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 流水号#
|
|
||||
/// </summary>
|
|
||||
public int? SerialNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
public int? HostSN { get; set; } |
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号#
|
|
||||
/// </summary>
|
|
||||
public string VIN { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】
|
|
||||
/// </summary>
|
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
public virtual string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 涂装重复单据包含的零件列表
|
|
||||
/// </summary>
|
|
||||
public virtual List<CreateUpdateRepeatM100PartDto> M100RepeatParts { get; set; } |
|
||||
|
|
||||
public CreateUpdateRepeatM100Dto() |
|
||||
{ } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,35 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Linq; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Domain.Entities.Auditing; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 涂装重复单据和零件关系表
|
|
||||
/// </summary>
|
|
||||
[Serializable] |
|
||||
public class CreateUpdateRepeatM100PartDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
public CreateUpdateRepeatM100PartDto() |
|
||||
{ } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,87 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryRepeatM100Dto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 大众顺序号起
|
|
||||
/// </summary>
|
|
||||
public int? HostSNBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号止
|
|
||||
/// </summary>
|
|
||||
public int? HostSNEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR起
|
|
||||
/// </summary>
|
|
||||
public string KNRBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR止
|
|
||||
/// </summary>
|
|
||||
public string KNREnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号起
|
|
||||
/// </summary>
|
|
||||
public string VINBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号止
|
|
||||
/// </summary>
|
|
||||
public string VINEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
//public Guid? AssemblyID { get; set; }
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeEnd { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeEnd { get; set; } |
|
||||
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,115 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "M100重复报文", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class RepeatM100Dto: AuditedEntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 流水号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "流水号")] |
|
||||
[ImporterHeader(Name = "流水号")] |
|
||||
public int? SerialNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "大众顺序号")] |
|
||||
[ImporterHeader(Name = "大众顺序号")] |
|
||||
public int? HostSN { get; set; } |
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "KNR")] |
|
||||
[ImporterHeader(Name = "KNR")] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "底牌号")] |
|
||||
[ImporterHeader(Name = "底牌号")] |
|
||||
public string VIN { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成ID")] |
|
||||
[ImporterHeader(Name = "总成ID")] |
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "上线时间")] |
|
||||
[ImporterHeader(Name = "上线时间")] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "接收时间")] |
|
||||
[ImporterHeader(Name = "接收时间")] |
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "生产线")] |
|
||||
[ImporterHeader(Name = "生产线")] |
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "版本")] |
|
||||
[ImporterHeader(Name = "版本")] |
|
||||
public string Version { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "单据状态")] |
|
||||
[ImporterHeader(Name = "单据状态")] |
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 涂装重复单据包含的零件列表
|
|
||||
/// </summary>
|
|
||||
public List<RepeatM100PartDto> M100RepeatParts { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成名称")] |
|
||||
[ImporterHeader(Name = "总成名称")] |
|
||||
public string AssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型名称(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型名称")] |
|
||||
[ImporterHeader(Name = "车型名称")] |
|
||||
public string VehicleModelName { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,38 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "M100重复报文包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class RepeatM100PartDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件代码")] |
|
||||
[ImporterHeader(Name = "客户零件代码")] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件数量")] |
|
||||
[ImporterHeader(Name = "客户零件数量")] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,58 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public interface IRepeatM100AppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<RepeatM100Dto>> GetListAsync(QueryRepeatM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<RepeatM100Dto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateRepeatM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryRepeatM100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,51 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
public interface IRepeatR100AppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<RepeatR100Dto>> GetListAsync(QueryRepeatR100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<RepeatR100Dto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryRepeatR100Dto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,76 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryRepeatR100Dto : PagedAndSortedBase |
|
||||
{ |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号起
|
|
||||
/// </summary>
|
|
||||
public int? HostSNBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号止
|
|
||||
/// </summary>
|
|
||||
public int? HostSNEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR起
|
|
||||
/// </summary>
|
|
||||
public string KNRBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR止
|
|
||||
/// </summary>
|
|
||||
public string KNREnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
//public Guid? AssemblyID { get; set; }
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeEnd { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 接收时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? ReceiveTimeEnd { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,101 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "R100重复报文", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class RepeatR100Dto: AuditedEntityDto<Guid> |
|
||||
{ |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "大众顺序号")] |
|
||||
[ImporterHeader(Name = "大众顺序号")] |
|
||||
public int? HostSN { get; set; } |
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "KNR")] |
|
||||
[ImporterHeader(Name = "KNR")] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成ID")] |
|
||||
[ImporterHeader(Name = "总成ID")] |
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "上线时间")] |
|
||||
[ImporterHeader(Name = "上线时间")] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 接收时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "接收时间")] |
|
||||
[ImporterHeader(Name = "接收时间")] |
|
||||
public DateTime? ReceiveTime { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "版本")] |
|
||||
[ImporterHeader(Name = "版本")] |
|
||||
public string Version { get; set; } |
|
||||
/// <summary>
|
|
||||
/// 单据状态【0 空;1 未匹配;2 已匹配;3 已发布】【暂不用所以不用枚举】
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "单据状态")] |
|
||||
[ImporterHeader(Name = "单据状态")] |
|
||||
public BillStatusEnum BillStatus { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 涂装重复单据包含的零件列表
|
|
||||
/// </summary>
|
|
||||
public List<RepeatR100PartDto> R100RepeatParts { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成名称")] |
|
||||
[ImporterHeader(Name = "总成名称")] |
|
||||
public string AssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型名称(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型名称")] |
|
||||
[ImporterHeader(Name = "车型名称")] |
|
||||
public string VehicleModelName { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,38 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "R100重复报文包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class RepeatR100PartDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件代码")] |
|
||||
[ImporterHeader(Name = "客户零件代码")] |
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件数量")] |
|
||||
[ImporterHeader(Name = "客户零件数量")] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "描述")] |
|
||||
[ImporterHeader(Name = "描述")] |
|
||||
public string Description { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,23 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using WY.NewJit.MsgBaseData; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class AddAssemblyCfgDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 单据ID
|
|
||||
/// </summary>
|
|
||||
public Guid BillID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 扫描点:R100 M100
|
|
||||
/// </summary>
|
|
||||
public string ScanPoint { get; set; } |
|
||||
|
|
||||
public List<CreateUpdateAssemblyCfgErpDto> ErpAssemblyCfgList { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,16 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
public class BatchParseParam |
|
||||
{ |
|
||||
public int TakeCount { get; set; } |
|
||||
|
|
||||
public DateTime? BeginDate { get; set; } |
|
||||
|
|
||||
public DateTime? EndDate { get; set; } |
|
||||
} |
|
||||
|
|
||||
} |
|
@ -1,21 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryBillInfoDto |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 单据ID
|
|
||||
/// </summary>
|
|
||||
public Guid BillID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 扫描点:R100 M100
|
|
||||
/// </summary>
|
|
||||
public string ScanPoint { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,95 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class QueryUnknownAssemblyDto : PagedAndSortedBase |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 扫描点:R100 M100
|
|
||||
/// </summary>
|
|
||||
public string ScanPoint { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号起
|
|
||||
/// </summary>
|
|
||||
public int? HostSNBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号止
|
|
||||
/// </summary>
|
|
||||
public int? HostSNEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR起
|
|
||||
/// </summary>
|
|
||||
public string KNRBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// KNR止
|
|
||||
/// </summary>
|
|
||||
public string KNREnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号起
|
|
||||
/// </summary>
|
|
||||
public string VINBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号止
|
|
||||
/// </summary>
|
|
||||
public string VINEnd { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成ID
|
|
||||
/// </summary>
|
|
||||
public Guid? AssemblyID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间起
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeBegin { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间止
|
|
||||
/// </summary>
|
|
||||
public DateTime? OnlineTimeEnd { get; set; } |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
///// <summary>
|
|
||||
///// 接收时间起
|
|
||||
///// </summary>
|
|
||||
//public DateTime? ReceiveTimeBegin { get; set; }
|
|
||||
|
|
||||
///// <summary>
|
|
||||
///// 接收时间止
|
|
||||
///// </summary>
|
|
||||
//public DateTime? ReceiveTimeEnd { get; set; }
|
|
||||
|
|
||||
///// <summary>
|
|
||||
///// 单据状态(0 空;1 未匹配;2 已匹配;3 已发布)
|
|
||||
///// </summary>
|
|
||||
//public BillStatusEnum? BillStatus { get; set; }
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,100 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "未知总成", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class ResultUnknownAssemblyDto : EntityDto<Guid> |
|
||||
{ |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 大众顺序号
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "大众顺序号")] |
|
||||
[ImporterHeader(Name = "大众顺序号")] |
|
||||
public int? HostSN { get; set; } |
|
||||
/// <summary>
|
|
||||
/// KNR
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "KNR")] |
|
||||
[ImporterHeader(Name = "KNR")] |
|
||||
public string KNR { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 底牌号#
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "底牌号")] |
|
||||
[ImporterHeader(Name = "底牌号")] |
|
||||
public string VIN { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型代码(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型代码")] |
|
||||
[ImporterHeader(Name = "车型代码")] |
|
||||
public string VehicleModelCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 生产线(派格按生产线分类)
|
|
||||
/// </summary>
|
|
||||
public virtual string ProductLine { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 车型名称(取通用字典)
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "车型名称")] |
|
||||
[ImporterHeader(Name = "车型名称")] |
|
||||
public string VehicleModelName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 扫描点
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "扫描点")] |
|
||||
[ImporterHeader(Name = "扫描点")] |
|
||||
public string ScanPoint { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 上线时间
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "上线时间")] |
|
||||
[ImporterHeader(Name = "上线时间")] |
|
||||
public DateTime? OnlineTime { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 版本
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "版本")] |
|
||||
[ImporterHeader(Name = "版本")] |
|
||||
public string Version { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成名称
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "总成名称")] |
|
||||
[ImporterHeader(Name = "总成名称")] |
|
||||
public string AssemblyName { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "客户零件数量")] |
|
||||
[ImporterHeader(Name = "客户零件数量")] |
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 文件名
|
|
||||
/// </summary>
|
|
||||
[ExporterHeader(DisplayName = "文件名")] |
|
||||
[ImporterHeader(Name = "文件名")] |
|
||||
public string FileName { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,21 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
[Serializable] |
|
||||
public class ToParseInParam |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 是否选中全部
|
|
||||
/// </summary>
|
|
||||
public bool IsSelectAll { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 部分选中列表
|
|
||||
/// </summary>
|
|
||||
public List<Guid> UnknownAssemblyIdList { get; set; } |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,42 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "M100重复报文", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class UnknownAssemblyDto: AuditedEntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 单据ID
|
|
||||
/// </summary>
|
|
||||
public Guid BillID { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 扫描点:R100 M100
|
|
||||
/// </summary>
|
|
||||
public string ScanPoint { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
public string Description { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 未知总成包含的零件列表
|
|
||||
/// </summary>
|
|
||||
public List<UnknownAssemblyPartDto> UnknownAssemblyParts { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,32 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件查询结果DTO
|
|
||||
/// </summary>
|
|
||||
[ExcelExporter(Name = "M100重复报文包含的零件信息", AutoFitAllColumn = true, MaxRowNumberOnASheet = 1000)] //一个Sheet最大允许的行数,设置了之后将输出多个Sheet
|
|
||||
[Serializable] |
|
||||
public class UnknownAssemblyPartDto : EntityDto<Guid> |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 客户零件代码
|
|
||||
/// </summary>
|
|
||||
public string PartCode { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 客户零件数量
|
|
||||
/// </summary>
|
|
||||
public double? PartNum { get; set; } |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 描述
|
|
||||
/// </summary>
|
|
||||
public string Description { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,79 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck.UnknownAssemblys |
|
||||
{ |
|
||||
public interface IUnknownAssemblyAppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
Task<PagedResultDto<ResultUnknownAssemblyDto>> GetListAsync(QueryUnknownAssemblyDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
Task<ObjectResultDto<UnknownAssemblyDto>> GetAsync(Guid id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> DeleteAsync(string id); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto<string>> ExportAsync(QueryUnknownAssemblyDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ImportAsync(Byte[] input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加总成:根据未知总成中的结算件生成新的总成【客户端自己构造】
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">总成、分总成、零件三级关系实体</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> AddAssemblyAsync(AddAssemblyCfgDto input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 重新解析
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">总成、分总成、零件三级关系实体</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
Task<ObjectResultDto> ToParseAsync(ToParseInParam input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 系统初始化时使用,批量解析
|
|
||||
/// </summary>
|
|
||||
/// <param name="takeCount"></param>
|
|
||||
/// <returns></returns>
|
|
||||
ObjectResultDto<string> BatchParseAsync(BatchParseParam input); |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据vin从天合mes系统中取erp总成编码列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="vin"></param>
|
|
||||
/// <returns></returns>
|
|
||||
Task<ObjectResultDto<List<string>>> GetErpAssemblyCodeByMesAsync(string vin); |
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,15 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
|
|
||||
namespace WY.NewJit.MsgConversion |
|
||||
{ |
|
||||
public interface IMsgConversionAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 报文转换
|
|
||||
/// </summary>
|
|
||||
/// <param name="messageReceiveId"></param>
|
|
||||
void DoConversionMessage(Guid messageReceiveId); |
|
||||
} |
|
||||
} |
|
@ -1,17 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using System.Threading.Tasks; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgTransmission |
|
||||
{ |
|
||||
public interface IMsgTransmissionAppService |
|
||||
{ |
|
||||
#region 接口方法
|
|
||||
ObjectResultDto TransmissionMessageAsync(TransmissionParamDto input); |
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,16 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.EventBus; |
|
||||
using WY.NewJit.MsgBaseData; |
|
||||
|
|
||||
namespace WY.NewJit.MsgTransmission.TianHe |
|
||||
{ |
|
||||
[EventName("WY.NewJit.SettleAccountFis.AssemblySync")] |
|
||||
public class AssemblySyncEto |
|
||||
{ |
|
||||
public AssemblySyncOperationTypeEnum OperationType { get; set; } |
|
||||
|
|
||||
public List<CreateUpdateAssemblyCfgErpDto> AssemblyCfgList { get; set; } |
|
||||
} |
|
||||
} |
|
@ -1,17 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.ComponentModel; |
|
||||
using System.Text; |
|
||||
|
|
||||
namespace WY.NewJit.MsgTransmission.TianHe |
|
||||
{ |
|
||||
public enum AssemblySyncOperationTypeEnum |
|
||||
{ |
|
||||
[Description("添加")] |
|
||||
Add, |
|
||||
[Description("修改")] |
|
||||
Update, |
|
||||
[Description("删除")] |
|
||||
Delete |
|
||||
} |
|
||||
} |
|
@ -1,33 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using System.Text; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
|
|
||||
namespace WY.NewJit.MsgTransmission |
|
||||
{ |
|
||||
public class TransmissionParamDto : EntityDto |
|
||||
{ |
|
||||
private int _takeRecordCount = 2; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 读取记录数
|
|
||||
/// </summary>
|
|
||||
public int TakeRecordCount |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return _takeRecordCount; |
|
||||
} |
|
||||
set |
|
||||
{ |
|
||||
_takeRecordCount = value; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
public TransmissionParamDto(int takeRecordCount) |
|
||||
{ |
|
||||
_takeRecordCount = takeRecordCount; |
|
||||
} |
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,29 +0,0 @@ |
|||||
using Volo.Abp.Account; |
|
||||
using Volo.Abp.FeatureManagement; |
|
||||
using Volo.Abp.Identity; |
|
||||
using Volo.Abp.Modularity; |
|
||||
using Volo.Abp.ObjectExtending; |
|
||||
using Volo.Abp.PermissionManagement; |
|
||||
using Volo.Abp.SettingManagement; |
|
||||
using Volo.Abp.TenantManagement; |
|
||||
|
|
||||
namespace WY.NewJit |
|
||||
{ |
|
||||
[DependsOn( |
|
||||
typeof(NewJitDomainSharedModule), |
|
||||
typeof(AbpAccountApplicationContractsModule), |
|
||||
typeof(AbpFeatureManagementApplicationContractsModule), |
|
||||
typeof(AbpIdentityApplicationContractsModule), |
|
||||
typeof(AbpPermissionManagementApplicationContractsModule), |
|
||||
typeof(AbpSettingManagementApplicationContractsModule), |
|
||||
typeof(AbpTenantManagementApplicationContractsModule), |
|
||||
typeof(AbpObjectExtendingModule) |
|
||||
)] |
|
||||
public class NewJitApplicationContractsModule : AbpModule |
|
||||
{ |
|
||||
public override void PreConfigureServices(ServiceConfigurationContext context) |
|
||||
{ |
|
||||
NewJitDtoExtensions.Configure(); |
|
||||
} |
|
||||
} |
|
||||
} |
|
@ -1,29 +0,0 @@ |
|||||
using Volo.Abp.Identity; |
|
||||
using Volo.Abp.ObjectExtending; |
|
||||
using Volo.Abp.Threading; |
|
||||
|
|
||||
namespace WY.NewJit |
|
||||
{ |
|
||||
public static class NewJitDtoExtensions |
|
||||
{ |
|
||||
private static readonly OneTimeRunner OneTimeRunner = new OneTimeRunner(); |
|
||||
|
|
||||
public static void Configure() |
|
||||
{ |
|
||||
OneTimeRunner.Run(() => |
|
||||
{ |
|
||||
/* You can add extension properties to DTOs |
|
||||
* defined in the depended modules. |
|
||||
* |
|
||||
* Example: |
|
||||
* |
|
||||
* ObjectExtensionManager.Instance |
|
||||
* .AddOrUpdateProperty<IdentityRoleDto, string>("Title"); |
|
||||
* |
|
||||
* See the documentation for more: |
|
||||
* https://docs.abp.io/en/abp/latest/Object-Extensions
|
|
||||
*/ |
|
||||
}); |
|
||||
} |
|
||||
} |
|
||||
} |
|
@ -1,22 +0,0 @@ |
|||||
using WY.NewJit.Localization; |
|
||||
using Volo.Abp.Authorization.Permissions; |
|
||||
using Volo.Abp.Localization; |
|
||||
|
|
||||
namespace WY.NewJit.Permissions |
|
||||
{ |
|
||||
public class NewJitPermissionDefinitionProvider : PermissionDefinitionProvider |
|
||||
{ |
|
||||
public override void Define(IPermissionDefinitionContext context) |
|
||||
{ |
|
||||
var myGroup = context.AddGroup(NewJitPermissions.GroupName); |
|
||||
|
|
||||
//Define your own permissions here. Example:
|
|
||||
//myGroup.AddPermission(NewJitPermissions.MyPermission1, L("Permission:MyPermission1"));
|
|
||||
} |
|
||||
|
|
||||
private static LocalizableString L(string name) |
|
||||
{ |
|
||||
return LocalizableString.Create<NewJitResource>(name); |
|
||||
} |
|
||||
} |
|
||||
} |
|
@ -1,10 +0,0 @@ |
|||||
namespace WY.NewJit.Permissions |
|
||||
{ |
|
||||
public static class NewJitPermissions |
|
||||
{ |
|
||||
public const string GroupName = "NewJit"; |
|
||||
|
|
||||
//Add your own permission names. Example:
|
|
||||
//public const string MyPermission1 = GroupName + ".MyPermission1";
|
|
||||
} |
|
||||
} |
|
@ -1,34 +0,0 @@ |
|||||
<Project Sdk="Microsoft.NET.Sdk"> |
|
||||
|
|
||||
<Import Project="..\..\common.props" /> |
|
||||
|
|
||||
<PropertyGroup> |
|
||||
<TargetFramework>netstandard2.0</TargetFramework> |
|
||||
<RootNamespace>WY.NewJit</RootNamespace> |
|
||||
</PropertyGroup> |
|
||||
|
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> |
|
||||
<DocumentationFile>D:\~LYF\~源码\新版JIT或JIS系统\src\Modules\新版JIT或JIS系统服务端\src\WY.NewJit.Application.Contracts\WY.NewJit.Application.Contracts.xml</DocumentationFile> |
|
||||
<WarningLevel>0</WarningLevel> |
|
||||
</PropertyGroup> |
|
||||
|
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'"> |
|
||||
<DocumentationFile>D:\~LYF\~源码\新版JIT或JIS系统\src\Modules\新版JIT或JIS系统服务端\src\WY.NewJit.Application.Contracts\WY.NewJit.Application.Contracts.xml</DocumentationFile> |
|
||||
</PropertyGroup> |
|
||||
|
|
||||
<ItemGroup> |
|
||||
<ProjectReference Include="..\WY.NewJit.Domain.Shared\WY.NewJit.Domain.Shared.csproj" /> |
|
||||
</ItemGroup> |
|
||||
|
|
||||
<ItemGroup> |
|
||||
<PackageReference Include="Magicodes.IE.Excel" Version="2.5.4.9" /> |
|
||||
<PackageReference Include="Volo.Abp.ObjectExtending" Version="4.3.3" /> |
|
||||
<PackageReference Include="Volo.Abp.Account.Application.Contracts" Version="4.3.3" /> |
|
||||
<PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="4.3.3" /> |
|
||||
<PackageReference Include="Volo.Abp.PermissionManagement.Application.Contracts" Version="4.3.3" /> |
|
||||
<PackageReference Include="Volo.Abp.TenantManagement.Application.Contracts" Version="4.3.3" /> |
|
||||
<PackageReference Include="Volo.Abp.FeatureManagement.Application.Contracts" Version="4.3.3" /> |
|
||||
<PackageReference Include="Volo.Abp.SettingManagement.Application.Contracts" Version="4.3.3" /> |
|
||||
</ItemGroup> |
|
||||
|
|
||||
</Project> |
|
File diff suppressed because it is too large
@ -1,27 +0,0 @@ |
|||||
using System; |
|
||||
using Volo.Abp.Application.Dtos; |
|
||||
using Volo.Abp.Application.Services; |
|
||||
using Volo.Abp.Domain.Repositories; |
|
||||
using WY.NewJit.Books; |
|
||||
|
|
||||
namespace Acme.BookStore.Books |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// BookAppService使用IObjectMapper将Book对象转换为BookDto对象, 将CreateUpdateBookDto对象转换为Book对象
|
|
||||
/// </summary>
|
|
||||
public class BookAppService : |
|
||||
CrudAppService< |
|
||||
Book, //The Book entity
|
|
||||
BookDto, //Used to show books
|
|
||||
Guid, //Primary key of the book entity
|
|
||||
PagedAndSortedResultRequestDto, //Used for paging/sorting
|
|
||||
CreateUpdateBookDto>, //Used to create/update a book
|
|
||||
IBookAppService //implement the IBookAppService
|
|
||||
{ |
|
||||
public BookAppService(IRepository<Book, Guid> repository) |
|
||||
: base(repository) |
|
||||
{ |
|
||||
|
|
||||
} |
|
||||
} |
|
||||
} |
|
@ -1,461 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
using WY.NewJit.Common; |
|
||||
using WY.NewJit.EntityFrameworkCore; |
|
||||
using Shouldly; |
|
||||
using Volo.Abp.BlobStoring; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 总成配置应用服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/assembly-cfg-erp")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] |
|
||||
public class AssemblyCfgErpAppService : ApplicationService, IAssemblyCfgErpAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// ERP总成仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<AssemblyCfgErp, Guid> _assemblyCfgErpRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 结算件仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<AssemblyCfgPart, Guid> _assemblyCfgPartRepos; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<AssemblyCfgErpAppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Dapper仓储
|
|
||||
/// </summary>
|
|
||||
private readonly NewJitDapperRepository _newJitDapperRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// BLOB存储
|
|
||||
/// </summary>
|
|
||||
private readonly IBlobContainer<OurFileContainer> _blobContainer; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 总成领域服务
|
|
||||
/// </summary>
|
|
||||
private readonly AssemblyDomainService _assemblyDomainService; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public AssemblyCfgErpAppService( |
|
||||
IRepository<AssemblyCfgErp, Guid> assemblyCfgErpRepository, |
|
||||
ILogger<AssemblyCfgErpAppService> logger, |
|
||||
NewJitDapperRepository newJitDapperRepository, |
|
||||
IRepository<AssemblyCfgPart, Guid> assemblyCfgPartRepos, |
|
||||
IBlobContainer<OurFileContainer> blobContainer, |
|
||||
AssemblyDomainService assemblyDomainService |
|
||||
) |
|
||||
{ |
|
||||
_assemblyCfgErpRepository = assemblyCfgErpRepository; |
|
||||
_logger = logger; |
|
||||
_newJitDapperRepository = newJitDapperRepository; |
|
||||
_assemblyCfgPartRepos = assemblyCfgPartRepos; |
|
||||
_blobContainer = blobContainer; |
|
||||
_assemblyDomainService = assemblyDomainService; |
|
||||
} |
|
||||
|
|
||||
#region 私有方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取实体列表
|
|
||||
/// </summary>
|
|
||||
private async Task<PagedResultDto<AssemblyCfgErpDto>> QueryByConditionAsync(QueryAssemblyCfgErpDto input, PagedAndSortedBase page) |
|
||||
{ |
|
||||
PagedResultDto<AssemblyCfgErpDto> ret = new PagedResultDto<AssemblyCfgErpDto>(); |
|
||||
|
|
||||
string sqlCnt = @"
|
|
||||
select * from |
|
||||
( |
|
||||
select count(*) as cnt |
|
||||
from FisAssemblyCfgErp a |
|
||||
where IsDeleted <> 1 and PreviousVersionId is null {0} |
|
||||
) t |
|
||||
";
|
|
||||
|
|
||||
string sql = @"
|
|
||||
select * from |
|
||||
( |
|
||||
select ROW_NUMBER() OVER(order by a.[CreationTime]) as row_number, |
|
||||
a.* |
|
||||
from FisAssemblyCfgErp a |
|
||||
where IsDeleted <> 1 and PreviousVersionId is null {0} |
|
||||
) t where row_number between {1} and {2} |
|
||||
";
|
|
||||
string where = ""; |
|
||||
if (!string.IsNullOrEmpty(input.ErpAssemblyName)) |
|
||||
{ |
|
||||
where += string.Format(" and a.ErpAssemblyName like '%{0}%'", input.ErpAssemblyName); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.ErpAssemblyCode)) |
|
||||
{ |
|
||||
where += string.Format(" and a.ErpAssemblyCode like '%{0}%'", input.ErpAssemblyCode); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.VehicleModelCode)) |
|
||||
{ |
|
||||
where += string.Format(" and a.VehicleModel = '{0}'", input.VehicleModelCode); |
|
||||
} |
|
||||
sqlCnt = string.Format(sqlCnt, where); |
|
||||
ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync<int>(sqlCnt); |
|
||||
|
|
||||
//计算分页
|
|
||||
int fromRec = page.SkipCount + 1; |
|
||||
int ToRec = page.SkipCount + page.MaxResultCount; |
|
||||
sql = string.Format(sql, where, fromRec, ToRec); |
|
||||
var lst = await _newJitDapperRepository.GetListBySqlAsync<AssemblyCfgErpDto>(sql); |
|
||||
ret.Items = lst; |
|
||||
return ret; |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 两个集合比较
|
|
||||
/// </summary>
|
|
||||
/// <param name="sourceLst"></param>
|
|
||||
/// <param name="targetLst"></param>
|
|
||||
/// <returns></returns>
|
|
||||
private bool CompareTwoCollection(List<AssemblyCfgPart> sourceLst, List<AssemblyCfgPart> targetLst) |
|
||||
{ |
|
||||
if (sourceLst == null || targetLst == null || sourceLst.Count == 0 || targetLst.Count == 0) |
|
||||
{ |
|
||||
return false; |
|
||||
} |
|
||||
if (sourceLst.Count != targetLst.Count) |
|
||||
{ |
|
||||
return false; |
|
||||
} |
|
||||
//将目标对象转换成和源对象一样的类型 AssemblyCfgErp2PartDto to BillM100Part
|
|
||||
var srcOrdLst = sourceLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); |
|
||||
var tarOrdLst = targetLst.OrderBy(itm => itm.PartCode).ThenBy(itm => itm.PartNum).ToList(); |
|
||||
|
|
||||
bool isEqual = srcOrdLst.SequenceEqual(tarOrdLst, new AssemblyCfgPartListEquality()); |
|
||||
return isEqual; |
|
||||
} |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
#region 公共方法
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<PagedResultDto<AssemblyCfgErpDto>> GetErpAssemblyListAsync(QueryAssemblyCfgErpDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetErpAssemblyListAsync 进入"); |
|
||||
try |
|
||||
{ |
|
||||
PagedResultDto<AssemblyCfgErpDto> ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetErpAssemblyListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new PagedResultDto<AssemblyCfgErpDto>(0, new List<AssemblyCfgErpDto>()); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpGet] |
|
||||
[Route("{id}")]//obj/
|
|
||||
public virtual async Task<ObjectResultDto<AssemblyCfgErpDto>> GetErpAssemblyAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); |
|
||||
ObjectResultDto<AssemblyCfgErpDto> ret = new ObjectResultDto<AssemblyCfgErpDto>(); |
|
||||
try |
|
||||
{ |
|
||||
AssemblyCfgErp sourceObj = await _assemblyCfgErpRepository.GetAsync(id); |
|
||||
AssemblyCfgErpDto targetObj = ObjectMapper.Map<AssemblyCfgErp, AssemblyCfgErpDto>(sourceObj); |
|
||||
ret.Item = targetObj; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpPost] |
|
||||
[UnitOfWork] |
|
||||
[Route("")]//create
|
|
||||
public virtual async Task<ObjectResultDto<Guid>> CreateErpAssemblyAsync(CreateUpdateAssemblyCfgErpDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); |
|
||||
ObjectResultDto<Guid> ret = new ObjectResultDto<Guid>(); |
|
||||
try |
|
||||
{ |
|
||||
int maxVer = _assemblyCfgErpRepository.Any() ? _assemblyCfgErpRepository.Max(itm => itm.ErpAssemblyVersion) : 0; |
|
||||
|
|
||||
AssemblyCfgErp obj = ObjectMapper.Map<CreateUpdateAssemblyCfgErpDto, AssemblyCfgErp>(input); |
|
||||
obj.SetErpAssemblyVersion(++maxVer); |
|
||||
foreach (var childObj in obj.Details) |
|
||||
{ |
|
||||
childObj.SetId(GuidGenerator.Create()); |
|
||||
} |
|
||||
|
|
||||
AssemblyCfgErp obj2 = await _assemblyCfgErpRepository.InsertAsync(obj); |
|
||||
ret.Item = obj2.Id; //返回添加对象的主键
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id"></param>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpPut] |
|
||||
[UnitOfWork] |
|
||||
[Route("{id}")]//update/
|
|
||||
public virtual async Task<ObjectResultDto> UpdateErpAssemblyAsync(Guid id, CreateUpdateAssemblyCfgErpDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
AssemblyCfgErp targetObj = await _assemblyCfgErpRepository.GetAsync(id); |
|
||||
await _assemblyCfgPartRepos.DeleteManyAsync(targetObj.Details); //先删除子实体列表
|
|
||||
ObjectMapper.Map<CreateUpdateAssemblyCfgErpDto, AssemblyCfgErp>(input, targetObj); |
|
||||
await _assemblyCfgErpRepository.UpdateAsync(targetObj); |
|
||||
await _assemblyCfgPartRepos.InsertManyAsync(targetObj.Details); //再添加子实体列表
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpDelete] |
|
||||
[Route("{id}")]//delete/
|
|
||||
public virtual async Task<ObjectResultDto> DeleteErpAssemblyAsync(string id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
List<Guid> idLst = ServerHelper.GetGuidListByStr(id); |
|
||||
foreach (Guid item in idLst) |
|
||||
{ |
|
||||
var sourceObj = await _assemblyCfgErpRepository.GetAsync(item); |
|
||||
if (sourceObj != null) |
|
||||
{ |
|
||||
await _assemblyCfgPartRepos.DeleteManyAsync(sourceObj.Details); |
|
||||
await _assemblyCfgErpRepository.DeleteAsync(item); |
|
||||
} |
|
||||
} |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork(false)] |
|
||||
[HttpPost] |
|
||||
[Route("export")] |
|
||||
public virtual async Task<ObjectResultDto<string>> ExportErpAssemblyAsync(QueryAssemblyCfgErpDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "ExportErpAssemblyAsync 进入"); |
|
||||
ObjectResultDto<string> ret = new ObjectResultDto<string>(); |
|
||||
try |
|
||||
{ |
|
||||
input.SkipCount = 0; |
|
||||
input.MaxResultCount = 50000; |
|
||||
PagedResultDto<AssemblyCfgErpDto> query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); |
|
||||
List<AssemblyCfgErpDto> items = query.Items.ToList(); |
|
||||
//将实体列表转换成excel文件流
|
|
||||
IExporter exporter = new ExcelExporter(); |
|
||||
byte[] byteArr = await exporter.ExportAsByteArray<AssemblyCfgErpDto>(items); |
|
||||
byteArr.ShouldNotBeNull(); |
|
||||
//将excel文件流保存到服务器端文件系统
|
|
||||
string fileName = string.Format("ERP总成配置_{0}.xlsx", Guid.NewGuid().ToString()); |
|
||||
await _blobContainer.SaveAsync(fileName, byteArr); |
|
||||
|
|
||||
ret.Item = fileName; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "ExportErpAssemblyAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 校验ERP总成:是否版本覆盖
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
//[UnitOfWork]
|
|
||||
//[HttpPost]
|
|
||||
//[Route("check")]
|
|
||||
//public virtual async Task<ObjectResultDto> CheckErpAssembly(CreateUpdateAssemblyCfgErpDto input)
|
|
||||
//{
|
|
||||
// _logger.LogDebug(_errorMessagePrefix + "CheckErpAssembly 进入");
|
|
||||
|
|
||||
// ObjectResultDto ret = new ObjectResultDto();
|
|
||||
// if (input.IsCover == true && input.PreviousVersionId != null)
|
|
||||
// {
|
|
||||
// Guid gu = (Guid)input.PreviousVersionId;
|
|
||||
// await _assemblyCfgErpRepository.GetAsync(gu);
|
|
||||
// }
|
|
||||
// else
|
|
||||
// {
|
|
||||
// Guid gu = (Guid)input.PreviousVersionId;
|
|
||||
// await _assemblyCfgErpRepository.GetAsync(gu);
|
|
||||
// }
|
|
||||
// _logger.LogDebug(_errorMessagePrefix + "CheckErpAssembly 完成");
|
|
||||
|
|
||||
// return ret;
|
|
||||
//}
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 系统初始化时使用,去掉重复的ERP总成
|
|
||||
/// </summary>
|
|
||||
/// <param name="takeCount"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpPost] |
|
||||
[Route("remove-repeat")] |
|
||||
public virtual async Task<ObjectResultDto> RemoveRepeatErpAssembly(int takeCount) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "RemoveRepeatErpAssembly 进入"); |
|
||||
|
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
await _newJitDapperRepository.ExecuteSqlAsync("update FisAssemblyCfgErp set PreviousVersionId = null", null, true); |
|
||||
|
|
||||
//取Erp总成
|
|
||||
List<AssemblyCfgErp> allLst = await _assemblyCfgErpRepository.GetListAsync(true); |
|
||||
|
|
||||
List<AssemblyCfgErp> ordLst = allLst.OrderByDescending(itm => itm.ErpAssemblyVersion).ToList(); |
|
||||
|
|
||||
foreach (AssemblyCfgErp ordItm in ordLst) |
|
||||
{ |
|
||||
var filterLst = allLst.Where(itm => itm.ErpAssemblyVersion < ordItm.ErpAssemblyVersion); |
|
||||
foreach (AssemblyCfgErp filterItm in filterLst) |
|
||||
{ |
|
||||
//if (filterItm.PreviousVersionId != null)
|
|
||||
//{
|
|
||||
// continue;
|
|
||||
//}
|
|
||||
bool isSame = CompareTwoCollection(ordItm.Details, filterItm.Details); |
|
||||
if (isSame) |
|
||||
{ |
|
||||
await _assemblyDomainService.UpdatePreviousVersionId(filterItm.Id, ordItm.Id); //更新历史数据PreviousVersionId字段
|
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
_logger.LogDebug(_errorMessagePrefix + "RemoveRepeatErpAssembly 完成"); |
|
||||
|
|
||||
ret.Status = true; |
|
||||
return ret; |
|
||||
|
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "RemoveRepeatErpAssembly 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 同步ERP总成(从结算系统)(天合版本)
|
|
||||
/// </summary>
|
|
||||
/// <param name="takeRecordCount"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpPost] |
|
||||
[Route("sync-erp-assembly")] |
|
||||
public virtual void SyncErpAssemblyAsync(int takeRecordCount) |
|
||||
{ |
|
||||
_assemblyDomainService.SyncErpAssemblyAsync(takeRecordCount).GetAwaiter().GetResult(); |
|
||||
RemoveRepeatErpAssembly(takeRecordCount).GetAwaiter().GetResult(); |
|
||||
} |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,205 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 总成配置应用服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/assembly-cfg-part")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] |
|
||||
public class AssemblyCfgPartAppService : ApplicationService, IAssemblyCfgPartAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<AssemblyCfgPart, Guid> _assemblyCfgPartRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<AssemblyCfgPartAppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public AssemblyCfgPartAppService( |
|
||||
IRepository<AssemblyCfgPart, Guid> assemblyCfgPartRepository, |
|
||||
ILogger<AssemblyCfgPartAppService> logger |
|
||||
) |
|
||||
{ |
|
||||
_assemblyCfgPartRepository = assemblyCfgPartRepository; |
|
||||
_logger = logger; |
|
||||
} |
|
||||
|
|
||||
#region 公共方法
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据ID获取实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="erpAssemblyId">Erp总成Id</param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<ListResultDto<AssemblyCfgPartDto>> GetPartListAsync(Guid erpAssemblyId) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); |
|
||||
try |
|
||||
{ |
|
||||
var query = _assemblyCfgPartRepository.Where(itm => itm.Id != Guid.Empty); |
|
||||
List<AssemblyCfgPart> lst = await query.ToListAsync(); |
|
||||
|
|
||||
List<AssemblyCfgPartDto> items = |
|
||||
ObjectMapper.Map<List<AssemblyCfgPart>, List<AssemblyCfgPartDto>>(lst); |
|
||||
|
|
||||
return new ListResultDto<AssemblyCfgPartDto>(items); |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new ListResultDto<AssemblyCfgPartDto>(new List<AssemblyCfgPartDto>()); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpGet] |
|
||||
[Route("{id}")]//obj/
|
|
||||
public virtual async Task<ObjectResultDto<AssemblyCfgPartDto>> GetPartAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); |
|
||||
ObjectResultDto<AssemblyCfgPartDto> ret = new ObjectResultDto<AssemblyCfgPartDto>(); |
|
||||
try |
|
||||
{ |
|
||||
AssemblyCfgPart sourceObj = await _assemblyCfgPartRepository.GetAsync(id); |
|
||||
AssemblyCfgPartDto targetObj = ObjectMapper.Map<AssemblyCfgPart, AssemblyCfgPartDto>(sourceObj); |
|
||||
ret.Item = targetObj; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpPost] |
|
||||
[UnitOfWork] |
|
||||
[Route("")]//create
|
|
||||
public virtual async Task<ObjectResultDto<Guid>> CreatePartAsync(CreateUpdateAssemblyCfgPartDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); |
|
||||
ObjectResultDto<Guid> ret = new ObjectResultDto<Guid>(); |
|
||||
try |
|
||||
{ |
|
||||
AssemblyCfgPart obj = ObjectMapper.Map<CreateUpdateAssemblyCfgPartDto, AssemblyCfgPart>(input); |
|
||||
AssemblyCfgPart obj2 = await _assemblyCfgPartRepository.InsertAsync(obj); |
|
||||
ret.Item = obj2.Id; //返回添加对象的主键
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id"></param>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[HttpPut] |
|
||||
[UnitOfWork] |
|
||||
[Route("{id}")]//update/
|
|
||||
public virtual async Task<ObjectResultDto> UpdatePartAsync(Guid id, CreateUpdateAssemblyCfgPartDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
AssemblyCfgPart targetObj = await _assemblyCfgPartRepository.GetAsync(id); |
|
||||
ObjectMapper.Map<CreateUpdateAssemblyCfgPartDto, AssemblyCfgPart>(input, targetObj); |
|
||||
await _assemblyCfgPartRepository.UpdateAsync(targetObj); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id"></param>
|
|
||||
/// <returns></returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpDelete] |
|
||||
[Route("{id}")]//delete/
|
|
||||
public virtual async Task<ObjectResultDto> DeletePartAsync(string id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
List<Guid> idLst = ServerHelper.GetGuidListByStr(id); |
|
||||
await _assemblyCfgPartRepository.DeleteManyAsync(idLst, true); |
|
||||
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,141 +0,0 @@ |
|||||
using System; |
|
||||
using System.Collections.Generic; |
|
||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
using WY.NewJit.Common; |
|
||||
using WY.NewJit.EntityFrameworkCore; |
|
||||
using Shouldly; |
|
||||
using Volo.Abp.BlobStoring; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData.AssemblyCfgs |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 总成配置应用服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/assembly-cfg-vehicle")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] |
|
||||
public class AssemblyCfgVehicleAppService : ApplicationService, IAssemblyCfgVehicleAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// ERP总成仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<AssemblyCfgErp, Guid> _assemblyCfgErpRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 结算件仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<AssemblyCfgPart, Guid> _assemblyCfgPartRepos; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<AssemblyCfgVehicleAppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Dapper仓储
|
|
||||
/// </summary>
|
|
||||
private readonly NewJitDapperRepository _newJitDapperRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// BLOB存储
|
|
||||
/// </summary>
|
|
||||
private readonly IBlobContainer<OurFileContainer> _blobContainer; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 整车总成配置仓库
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<AssemblyCfgVehicle, Guid> _assemblyCfgVehicleRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Erp总成应用服务
|
|
||||
/// </summary>
|
|
||||
private readonly AssemblyCfgErpAppService _assemblyCfgErpAppService; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public AssemblyCfgVehicleAppService( |
|
||||
IRepository<AssemblyCfgErp, Guid> assemblyCfgProductRepository, |
|
||||
ILogger<AssemblyCfgVehicleAppService> logger, |
|
||||
NewJitDapperRepository newJitDapperRepository, |
|
||||
IRepository<AssemblyCfgPart, Guid> assemblyCfgPartRepos, |
|
||||
IBlobContainer<OurFileContainer> blobContainer, |
|
||||
IRepository<AssemblyCfgVehicle, Guid> assemblyCfgVehicleRepository, |
|
||||
AssemblyCfgErpAppService assemblyCfgErpAppService |
|
||||
) |
|
||||
{ |
|
||||
_assemblyCfgErpRepository = assemblyCfgProductRepository; |
|
||||
_logger = logger; |
|
||||
_newJitDapperRepository = newJitDapperRepository; |
|
||||
_assemblyCfgPartRepos = assemblyCfgPartRepos; |
|
||||
_blobContainer = blobContainer; |
|
||||
_assemblyCfgVehicleRepository = assemblyCfgVehicleRepository; |
|
||||
_assemblyCfgErpAppService = assemblyCfgErpAppService; |
|
||||
} |
|
||||
|
|
||||
#region 公共方法
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据Id获取实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="vehicleAssemblyId">整车总成ID</param>
|
|
||||
/// <returns>Erp总成实体列表</returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<List<AssemblyCfgErpDto>> GetErpAssemblyListAsync(Guid vehicleAssemblyId) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetErpAssemblyListAsync 进入"); |
|
||||
List<AssemblyCfgErpDto> ret = new List<AssemblyCfgErpDto>(); |
|
||||
try |
|
||||
{ |
|
||||
AssemblyCfgVehicle vobj = await _assemblyCfgVehicleRepository.GetAsync(vehicleAssemblyId); |
|
||||
if (vobj != null && vobj.AssemblyCfgVehicleChilds != null && vobj.AssemblyCfgVehicleChilds.Count > 0) |
|
||||
{ |
|
||||
List<AssemblyCfgVehicleChild> vehicleChildLst = vobj.AssemblyCfgVehicleChilds; |
|
||||
|
|
||||
foreach (AssemblyCfgVehicleChild vehicleChildItem in vehicleChildLst) |
|
||||
{ |
|
||||
ObjectResultDto<AssemblyCfgErpDto> erpAssemblyObj = await _assemblyCfgErpAppService.GetErpAssemblyAsync(vehicleChildItem.ErpAssemblyId); |
|
||||
ret.Add(erpAssemblyObj.Item); |
|
||||
} |
|
||||
return ret; |
|
||||
} |
|
||||
else |
|
||||
{ |
|
||||
return new List<AssemblyCfgErpDto>(); |
|
||||
} |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetErpAssemblyListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new List<AssemblyCfgErpDto>(); |
|
||||
} |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,95 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using Volo.Abp.Domain.Repositories.Dapper; |
|
||||
using WY.NewJit.EntityFrameworkCore; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
using WY.NewJit.Common; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 通用字典应用服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/dic")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] |
|
||||
public class DicAppService : ApplicationService, IDicAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 字典领域服务
|
|
||||
/// </summary>
|
|
||||
private readonly DicDomainService _dicDomainService; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<PartCfgAppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public DicAppService( |
|
||||
DicDomainService dicDomainService, |
|
||||
ILogger<PartCfgAppService> logger |
|
||||
) |
|
||||
{ |
|
||||
_dicDomainService = dicDomainService; |
|
||||
_logger = logger; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#region 公共方法
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据字典类型名称取通用字典信息列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="dicTypeName">字典类型名称</param>
|
|
||||
/// <returns>返回符合条件字典信息列表</returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<ListResultDto<DicItemDto>> GetDicListAsync(string dicTypeName) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetDicListAsync 进入"); |
|
||||
try |
|
||||
{ |
|
||||
List<DicItem> lst = _dicDomainService.GetDicItems(dicTypeName); |
|
||||
|
|
||||
List<DicItemDto> items = |
|
||||
ObjectMapper.Map<List<DicItem>, List<DicItemDto>>(lst); |
|
||||
|
|
||||
return new ListResultDto<DicItemDto>(items); |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetDicListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new ListResultDto<DicItemDto>(new List<DicItemDto>()); |
|
||||
} |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,370 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using WY.NewJit.EntityFrameworkCore; |
|
||||
using WY.NewJit.Common; |
|
||||
using Shouldly; |
|
||||
using Volo.Abp.BlobStoring; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 排除零件配置服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/exclude-part-cfg")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] |
|
||||
public class ExcludePartCfgAppService : ApplicationService, IExcludePartCfgAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<ExcludePartCfg, Guid> _excludePartCfgRepository; |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<ExcludePartCfgAppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 通用字典领域服务
|
|
||||
/// </summary>
|
|
||||
private DicDomainService _dicDomainSrv; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 零件仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<PartCfg, Guid> _partCfgRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Dapper仓储
|
|
||||
/// </summary>
|
|
||||
private readonly NewJitDapperRepository _newJitDapperRepository; |
|
||||
/// <summary>
|
|
||||
/// BLOB存储
|
|
||||
/// </summary>
|
|
||||
private readonly IBlobContainer<OurFileContainer> _blobContainer; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public ExcludePartCfgAppService( |
|
||||
IRepository<ExcludePartCfg, Guid> excludePartCfgRepository, |
|
||||
ILogger<ExcludePartCfgAppService> logger, |
|
||||
DicDomainService dicDomainSrv, |
|
||||
IRepository<PartCfg, Guid> partCfgRepository, |
|
||||
NewJitDapperRepository newJitDapperRepository, |
|
||||
IBlobContainer<OurFileContainer> blobContainer |
|
||||
) |
|
||||
{ |
|
||||
_excludePartCfgRepository = excludePartCfgRepository; |
|
||||
_logger = logger; |
|
||||
_dicDomainSrv = dicDomainSrv; |
|
||||
_partCfgRepository = partCfgRepository; |
|
||||
_newJitDapperRepository = newJitDapperRepository; |
|
||||
_blobContainer = blobContainer; |
|
||||
} |
|
||||
|
|
||||
#region 私有方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取实体列表
|
|
||||
/// </summary>
|
|
||||
private async Task<PagedResultDto<ExcludePartCfgDto>> QueryByConditionAsync(QueryExcludePartCfgDto input, PagedAndSortedBase page) |
|
||||
{ |
|
||||
PagedResultDto<ExcludePartCfgDto> ret = new PagedResultDto<ExcludePartCfgDto>(); |
|
||||
|
|
||||
string sqlCnt = @"
|
|
||||
with d as |
|
||||
( |
|
||||
select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') |
|
||||
) |
|
||||
select * from |
|
||||
( |
|
||||
select count(*) as cnt |
|
||||
from FisExcludePartCfg e |
|
||||
left join d on e.VehicleModelCode = d.DicItemCode |
|
||||
left join FisPartCfg p on e.PartCode = p.PartCode |
|
||||
where e.IsDeleted <> 1 {0} |
|
||||
) t |
|
||||
";
|
|
||||
string sql = @"
|
|
||||
with d as |
|
||||
( |
|
||||
select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') |
|
||||
) |
|
||||
select * from |
|
||||
( |
|
||||
select ROW_NUMBER() OVER({3}) as row_number, |
|
||||
e.*, d.DicItemName as VehicleModelName, p.PartName |
|
||||
from FisExcludePartCfg e |
|
||||
left join d on e.VehicleModelCode = d.DicItemCode |
|
||||
left join FisPartCfg p on e.PartCode = p.PartCode |
|
||||
where e.IsDeleted <> 1 {0} |
|
||||
) t where row_number between {1} and {2} |
|
||||
";
|
|
||||
string where = ""; |
|
||||
if (!string.IsNullOrEmpty(input.VehicleModelCode)) |
|
||||
{ |
|
||||
where += string.Format(" and VehicleModelCode like '%{0}%'", input.VehicleModelCode); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.PartCode)) |
|
||||
{ |
|
||||
where += string.Format(" and e.PartCode like '%{0}%'", input.PartCode); |
|
||||
} |
|
||||
#region 排序
|
|
||||
string order = "order by e.VehicleModelCode, e.PartCode"; |
|
||||
if (string.IsNullOrEmpty(page.Sorting) == false) |
|
||||
{ |
|
||||
string[] arr = page.Sorting.Split(" "); |
|
||||
if (arr.Length == 2) |
|
||||
{ |
|
||||
string sortField = ""; |
|
||||
string sortType = ""; |
|
||||
if (arr[0].EquaIgnoreCase("PartCode")) |
|
||||
{ |
|
||||
sortField = "e." + arr[0]; |
|
||||
} |
|
||||
else |
|
||||
{ |
|
||||
sortField = arr[0]; |
|
||||
} |
|
||||
if (arr[1] == "ascending") |
|
||||
{ |
|
||||
sortType = "asc"; |
|
||||
} |
|
||||
else if (arr[1] == "descending") |
|
||||
{ |
|
||||
sortType = "desc"; |
|
||||
} |
|
||||
order = $"order by {sortField} {sortType}"; |
|
||||
} |
|
||||
} |
|
||||
#endregion
|
|
||||
sqlCnt = string.Format(sqlCnt, where); |
|
||||
ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync<int>(sqlCnt); |
|
||||
|
|
||||
//计算分页
|
|
||||
int fromRec = page.SkipCount + 1; |
|
||||
int ToRec = page.SkipCount + page.MaxResultCount; |
|
||||
sql = string.Format(sql, where, fromRec, ToRec, order); |
|
||||
var lst = await _newJitDapperRepository.GetListBySqlAsync<ExcludePartCfgDto>(sql); |
|
||||
ret.Items = lst; |
|
||||
return ret; |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
#region 公共方法
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<PagedResultDto<ExcludePartCfgDto>> GetListAsync(QueryExcludePartCfgDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); |
|
||||
try |
|
||||
{ |
|
||||
PagedResultDto<ExcludePartCfgDto> ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new PagedResultDto<ExcludePartCfgDto>(0, new List<ExcludePartCfgDto>()); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
[HttpGet] |
|
||||
[Route("{id}")]//obj/
|
|
||||
public virtual async Task<ObjectResultDto<ExcludePartCfgDto>> GetAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); |
|
||||
ObjectResultDto<ExcludePartCfgDto> ret = new ObjectResultDto<ExcludePartCfgDto>(); |
|
||||
try |
|
||||
{ |
|
||||
ExcludePartCfg sourceObj = await _excludePartCfgRepository.GetAsync(id); |
|
||||
ExcludePartCfgDto targetObj = ObjectMapper.Map<ExcludePartCfg, ExcludePartCfgDto>(sourceObj); |
|
||||
ret.Item = targetObj; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPost] |
|
||||
[UnitOfWork] |
|
||||
[Route("")]//create
|
|
||||
public virtual async Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateExcludePartCfgDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); |
|
||||
ObjectResultDto<Guid> ret = new ObjectResultDto<Guid>(); |
|
||||
try |
|
||||
{ |
|
||||
ExcludePartCfg obj = ObjectMapper.Map<CreateUpdateExcludePartCfgDto, ExcludePartCfg>(input); |
|
||||
ExcludePartCfg obj2 = await _excludePartCfgRepository.InsertAsync(obj); |
|
||||
ret.Item = obj2.Id; //返回添加对象的主键
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPut] |
|
||||
[UnitOfWork] |
|
||||
[Route("{id}")]//update/
|
|
||||
public virtual async Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdateExcludePartCfgDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
ExcludePartCfg targetObj = await _excludePartCfgRepository.GetAsync(id); |
|
||||
ObjectMapper.Map<CreateUpdateExcludePartCfgDto, ExcludePartCfg>(input, targetObj); |
|
||||
await _excludePartCfgRepository.UpdateAsync(targetObj); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpDelete] |
|
||||
[Route("{id}")]//delete/
|
|
||||
public virtual async Task<ObjectResultDto> DeleteAsync(string id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
List<Guid> idLst = ServerHelper.GetGuidListByStr(id); |
|
||||
await _excludePartCfgRepository.DeleteManyAsync(idLst, true); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork(false)] |
|
||||
[HttpPost] |
|
||||
[Route("export")] |
|
||||
public virtual async Task<ObjectResultDto<string>> ExportAsync(QueryExcludePartCfgDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); |
|
||||
ObjectResultDto<string> ret = new ObjectResultDto<string>(); |
|
||||
try |
|
||||
{ |
|
||||
input.SkipCount = 0; |
|
||||
input.MaxResultCount = 50000; |
|
||||
PagedResultDto<ExcludePartCfgDto> query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); |
|
||||
List<ExcludePartCfgDto> items = query.Items.ToList(); |
|
||||
//将实体列表转换成excel文件流
|
|
||||
IExporter exporter = new ExcelExporter(); |
|
||||
byte[] byteArr = await exporter.ExportAsByteArray<ExcludePartCfgDto>(items); |
|
||||
byteArr.ShouldNotBeNull(); |
|
||||
//将excel文件流保存到服务器端文件系统
|
|
||||
string fileName = string.Format("排除零件配置_{0}.xlsx", Guid.NewGuid().ToString()); |
|
||||
await _blobContainer.SaveAsync(fileName, byteArr); |
|
||||
|
|
||||
ret.Item = fileName; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("import")] |
|
||||
public virtual async Task<ObjectResultDto> ImportAsync(byte[] input) |
|
||||
{ |
|
||||
throw new NotImplementedException("暂不实现所有导入"); |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,376 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using Volo.Abp.Domain.Repositories.Dapper; |
|
||||
using WY.NewJit.EntityFrameworkCore; |
|
||||
using WY.NewJit.Common; |
|
||||
using Shouldly; |
|
||||
using Volo.Abp.BlobStoring; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 日志提醒应用服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/log-remind")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] |
|
||||
public class LogRemindAppService : ApplicationService, ILogRemindAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<LogRemind, Guid> _logRemindRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<LogRemindAppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Dapper仓储
|
|
||||
/// </summary>
|
|
||||
private readonly NewJitDapperRepository _newJitDapperRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// BLOB存储
|
|
||||
/// </summary>
|
|
||||
private readonly IBlobContainer<OurFileContainer> _blobContainer; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public LogRemindAppService( |
|
||||
IRepository<LogRemind, Guid> logRemindRepository, |
|
||||
ILogger<LogRemindAppService> logger, |
|
||||
NewJitDapperRepository newJitDapperRepository, |
|
||||
IBlobContainer<OurFileContainer> blobContainer |
|
||||
) |
|
||||
{ |
|
||||
_logRemindRepository = logRemindRepository; |
|
||||
_logger = logger; |
|
||||
_newJitDapperRepository = newJitDapperRepository; |
|
||||
_blobContainer = blobContainer; |
|
||||
} |
|
||||
|
|
||||
#region 私有方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
private IQueryable<LogRemind> QueryByCondition(QueryLogRemindDto input) |
|
||||
{ |
|
||||
StringBuilder strBuild = new StringBuilder("1=1"); |
|
||||
if (input.LogType != LogTypeEnum.None) |
|
||||
{ |
|
||||
strBuild.AppendFormat(" and LogType = {0}", ((int)input.LogType).ToString()); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.LogTitle)) |
|
||||
{ |
|
||||
strBuild.AppendFormat(" and LogTitle.Contains(\"{0}\")", input.LogTitle); |
|
||||
} |
|
||||
if (input.SeriousLevel != SeriousLevelEnum.None) |
|
||||
{ |
|
||||
strBuild.AppendFormat(" and SeriousLevel = {0}", ((int)input.SeriousLevel).ToString()); |
|
||||
} |
|
||||
var qry1 = _logRemindRepository.Where(strBuild.ToString()); |
|
||||
if (input.LogStatus != LogStatusEnum.None) |
|
||||
{ |
|
||||
qry1 = qry1.Where(itm => itm.LogStatus == input.LogStatus); |
|
||||
} |
|
||||
return qry1; |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
#region 公共方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<PagedResultDto<LogRemindDto>> GetListAsync(QueryLogRemindDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); |
|
||||
var page = (PagedAndSortedBase)input; |
|
||||
try |
|
||||
{ |
|
||||
IQueryable<LogRemind> qry1 = QueryByCondition(input); |
|
||||
if (string.IsNullOrEmpty(page.Sorting)) |
|
||||
{ |
|
||||
page.Sorting = "CreationTime"; |
|
||||
} |
|
||||
if (qry1.Count() == 0) |
|
||||
{ |
|
||||
return new PagedResultDto<LogRemindDto>(0, new List<LogRemindDto>()); |
|
||||
} |
|
||||
var query = qry1 |
|
||||
.OrderBy(page.Sorting) |
|
||||
.Skip(page.SkipCount) |
|
||||
.Take(page.MaxResultCount); |
|
||||
|
|
||||
int totalCount = await query.CountAsync(); |
|
||||
List<LogRemind> lst = await query.ToListAsync(); |
|
||||
|
|
||||
List<LogRemindDto> items = |
|
||||
ObjectMapper.Map<List<LogRemind>, List<LogRemindDto>>(lst); |
|
||||
|
|
||||
return new PagedResultDto<LogRemindDto>(totalCount, items); |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new PagedResultDto<LogRemindDto>(0, new List<LogRemindDto>()); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
[HttpGet] |
|
||||
[Route("{id}")]//obj/
|
|
||||
public virtual async Task<ObjectResultDto<LogRemindDto>> GetAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); |
|
||||
ObjectResultDto<LogRemindDto> ret = new ObjectResultDto<LogRemindDto>(); |
|
||||
try |
|
||||
{ |
|
||||
LogRemind sourceObj = await _logRemindRepository.GetAsync(id); |
|
||||
LogRemindDto targetObj = ObjectMapper.Map<LogRemind, LogRemindDto>(sourceObj); |
|
||||
ret.Item = targetObj; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPost] |
|
||||
[UnitOfWork] |
|
||||
[Route("")]//create
|
|
||||
public virtual async Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateLogRemindDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); |
|
||||
ObjectResultDto<Guid> ret = new ObjectResultDto<Guid>(); |
|
||||
try |
|
||||
{ |
|
||||
LogRemind obj = ObjectMapper.Map<CreateUpdateLogRemindDto, LogRemind>(input); |
|
||||
LogRemind obj2 = await _logRemindRepository.InsertAsync(obj); |
|
||||
ret.Item = obj2.Id; //返回添加对象的主键
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPut] |
|
||||
[UnitOfWork] |
|
||||
[Route("{id}")]//update/
|
|
||||
public virtual async Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdateLogRemindDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
LogRemind targetObj = await _logRemindRepository.GetAsync(id); |
|
||||
ObjectMapper.Map<CreateUpdateLogRemindDto, LogRemind>(input, targetObj); |
|
||||
await _logRemindRepository.UpdateAsync(targetObj); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpDelete] |
|
||||
[Route("{id}")]//delete/
|
|
||||
public virtual async Task<ObjectResultDto> DeleteAsync(string id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
List<Guid> idLst = ServerHelper.GetGuidListByStr(id); |
|
||||
await _logRemindRepository.DeleteManyAsync(idLst, true); |
|
||||
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork(false)] |
|
||||
[HttpPost] |
|
||||
[Route("export")] |
|
||||
public virtual async Task<ObjectResultDto<string>> ExportAsync(QueryLogRemindDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); |
|
||||
ObjectResultDto<string> ret = new ObjectResultDto<string>(); |
|
||||
try |
|
||||
{ |
|
||||
IQueryable<LogRemind> query = QueryByCondition(input); |
|
||||
List<LogRemind> lst = await query.ToListAsync(); |
|
||||
List<LogRemindDto> items = |
|
||||
ObjectMapper.Map<List<LogRemind>, List<LogRemindDto>>(lst); |
|
||||
//将实体列表转换成excel文件流
|
|
||||
IExporter exporter = new ExcelExporter(); |
|
||||
byte[] byteArr = await exporter.ExportAsByteArray<LogRemindDto>(items); |
|
||||
byteArr.ShouldNotBeNull(); |
|
||||
//将excel文件流保存到服务器端文件系统
|
|
||||
string fileName = string.Format("日志提醒_{0}.xlsx", Guid.NewGuid().ToString()); |
|
||||
await _blobContainer.SaveAsync(fileName, byteArr); |
|
||||
|
|
||||
ret.Item = fileName; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("import")] |
|
||||
public virtual async Task<ObjectResultDto> ImportAsync(byte[] input) |
|
||||
{ |
|
||||
throw new NotImplementedException("暂不实现所有导入"); |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 执行处理
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("do-process")] |
|
||||
public virtual async Task<ObjectResultDto> DoProcessAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DoProcessAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
LogRemind obj = await _logRemindRepository.GetAsync(id); |
|
||||
obj.LogStatus = LogStatusEnum.Process; |
|
||||
await _logRemindRepository.UpdateAsync(obj); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DoProcessAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 执行忽略
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("do-ignore")] |
|
||||
public virtual async Task<ObjectResultDto> DoIgnoreAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DoIgnoreAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
LogRemind obj = await _logRemindRepository.GetAsync(id); |
|
||||
obj.LogStatus = LogStatusEnum.Ignore; |
|
||||
await _logRemindRepository.UpdateAsync(obj); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DoIgnoreAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,318 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using Volo.Abp.Domain.Repositories.Dapper; |
|
||||
using WY.NewJit.EntityFrameworkCore; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
using WY.NewJit.Common; |
|
||||
using Shouldly; |
|
||||
using Volo.Abp.BlobStoring; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件管理应用服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/part-cfg")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] |
|
||||
public class PartCfgAppService : ApplicationService, IPartCfgAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<PartCfg, Guid> _partCfgRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<PartCfgAppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Dapper仓储
|
|
||||
/// </summary>
|
|
||||
private readonly NewJitDapperRepository _newJitDapperRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// BLOB存储
|
|
||||
/// </summary>
|
|
||||
private readonly IBlobContainer<OurFileContainer> _blobContainer; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public PartCfgAppService( |
|
||||
IRepository<PartCfg, Guid> partCfgRepository, |
|
||||
ILogger<PartCfgAppService> logger, |
|
||||
NewJitDapperRepository newJitDapperRepository, |
|
||||
IBlobContainer<OurFileContainer> blobContainer |
|
||||
) |
|
||||
{ |
|
||||
_partCfgRepository = partCfgRepository; |
|
||||
_logger = logger; |
|
||||
_newJitDapperRepository = newJitDapperRepository; |
|
||||
_blobContainer = blobContainer; |
|
||||
} |
|
||||
|
|
||||
#region 私有方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
private IQueryable<PartCfg> QueryByCondition(QueryPartCfgDto input) |
|
||||
{ |
|
||||
IQueryable<PartCfg> ret = _partCfgRepository.Where(itm => 1 == 1); |
|
||||
if (!string.IsNullOrEmpty(input.PartCode)) |
|
||||
{ |
|
||||
ret = ret.Where(itm => itm.PartCode.Contains(input.PartCode)); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.PartName)) |
|
||||
{ |
|
||||
ret = ret.Where(itm => itm.PartName.Contains(input.PartName)); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.PartType)) |
|
||||
{ |
|
||||
ret = ret.Where(itm => itm.PartType == input.PartType); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.PartChildType)) |
|
||||
{ |
|
||||
ret = ret.Where(itm => itm.PartChildType == input.PartChildType); |
|
||||
} |
|
||||
return ret; |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
#region 公共方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<PagedResultDto<PartCfgDto>> GetListAsync(QueryPartCfgDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); |
|
||||
try |
|
||||
{ |
|
||||
var page = (PagedAndSortedBase)input; |
|
||||
IQueryable<PartCfg> qry1 = QueryByCondition(input); |
|
||||
if (string.IsNullOrEmpty(page.Sorting)) |
|
||||
{ |
|
||||
page.Sorting = "PartCode"; |
|
||||
} |
|
||||
if (qry1.Count() == 0) |
|
||||
{ |
|
||||
return new PagedResultDto<PartCfgDto>(0, new List<PartCfgDto>()); |
|
||||
} |
|
||||
var query = qry1 |
|
||||
.OrderBy(page.Sorting) |
|
||||
.Skip(page.SkipCount) |
|
||||
.Take(page.MaxResultCount); |
|
||||
|
|
||||
int totalCount = await qry1.CountAsync(); //返回总记录数而不是当前页记录数
|
|
||||
List<PartCfg> lst = await query.ToListAsync(); |
|
||||
|
|
||||
List<PartCfgDto> items = |
|
||||
ObjectMapper.Map<List<PartCfg>, List<PartCfgDto>>(lst); |
|
||||
|
|
||||
return new PagedResultDto<PartCfgDto>(totalCount, items); |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new PagedResultDto<PartCfgDto>(0, new List<PartCfgDto>()); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
[HttpGet] |
|
||||
[Route("{id}")]//obj/
|
|
||||
public virtual async Task<ObjectResultDto<PartCfgDto>> GetAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); |
|
||||
ObjectResultDto<PartCfgDto> ret = new ObjectResultDto<PartCfgDto>(); |
|
||||
try |
|
||||
{ |
|
||||
PartCfg sourceObj = await _partCfgRepository.GetAsync(id); |
|
||||
PartCfgDto targetObj = ObjectMapper.Map<PartCfg, PartCfgDto>(sourceObj); |
|
||||
ret.Item = targetObj; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPost] |
|
||||
[UnitOfWork] |
|
||||
[Route("")]//create
|
|
||||
public virtual async Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdatePartCfgDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); |
|
||||
ObjectResultDto<Guid> ret = new ObjectResultDto<Guid>(); |
|
||||
try |
|
||||
{ |
|
||||
PartCfg obj = ObjectMapper.Map<CreateUpdatePartCfgDto, PartCfg>(input); |
|
||||
PartCfg obj2 = await _partCfgRepository.InsertAsync(obj); |
|
||||
ret.Item = obj2.Id; //返回添加对象的主键
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPut] |
|
||||
[UnitOfWork] |
|
||||
[Route("{id}")]//update/
|
|
||||
public virtual async Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdatePartCfgDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
PartCfg targetObj = await _partCfgRepository.GetAsync(id); |
|
||||
ObjectMapper.Map<CreateUpdatePartCfgDto, PartCfg>(input, targetObj); |
|
||||
await _partCfgRepository.UpdateAsync(targetObj); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpDelete] |
|
||||
[Route("{id}")]//delete/
|
|
||||
public virtual async Task<ObjectResultDto> DeleteAsync(string id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
List<Guid> idLst = ServerHelper.GetGuidListByStr(id); |
|
||||
await _partCfgRepository.DeleteManyAsync(idLst, true); |
|
||||
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork(false)] |
|
||||
[HttpPost] |
|
||||
[Route("export")] |
|
||||
public virtual async Task<ObjectResultDto<string>> ExportAsync(QueryPartCfgDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); |
|
||||
ObjectResultDto<string> ret = new ObjectResultDto<string>(); |
|
||||
try |
|
||||
{ |
|
||||
IQueryable<PartCfg> query = QueryByCondition(input); |
|
||||
List<PartCfg> lst = await query.ToListAsync(); |
|
||||
List<PartCfgDto> items = |
|
||||
ObjectMapper.Map<List<PartCfg>, List<PartCfgDto>>(lst); |
|
||||
//将实体列表转换成excel文件流
|
|
||||
IExporter exporter = new ExcelExporter(); |
|
||||
byte[] byteArr = await exporter.ExportAsByteArray<PartCfgDto>(items); |
|
||||
byteArr.ShouldNotBeNull(); |
|
||||
//将excel文件流保存到服务器端文件系统
|
|
||||
string fileName = string.Format("零件配置_{0}.xlsx", Guid.NewGuid().ToString()); |
|
||||
await _blobContainer.SaveAsync(fileName, byteArr); |
|
||||
|
|
||||
ret.Item = fileName; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("import")] |
|
||||
public virtual async Task<ObjectResultDto> ImportAsync(byte[] input) |
|
||||
{ |
|
||||
throw new NotImplementedException("暂不实现所有导入"); |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,342 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using Volo.Abp.Domain.Repositories.Dapper; |
|
||||
using WY.NewJit.EntityFrameworkCore; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
using WY.NewJit.Common; |
|
||||
using Shouldly; |
|
||||
using Volo.Abp.BlobStoring; |
|
||||
|
|
||||
namespace WY.NewJit.MsgBaseData |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 零件切换应用服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/part-switch")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.基础数据)] |
|
||||
public class PartSwitchAppService : ApplicationService, IPartSwitchAppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<PartSwitch, Guid> _partCfgRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<PartSwitchAppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Dapper仓储
|
|
||||
/// </summary>
|
|
||||
private readonly NewJitDapperRepository _newJitDapperRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// BLOB存储
|
|
||||
/// </summary>
|
|
||||
private readonly IBlobContainer<OurFileContainer> _blobContainer; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public PartSwitchAppService( |
|
||||
IRepository<PartSwitch, Guid> partCfgRepository, |
|
||||
ILogger<PartSwitchAppService> logger, |
|
||||
NewJitDapperRepository newJitDapperRepository, |
|
||||
IBlobContainer<OurFileContainer> blobContainer |
|
||||
) |
|
||||
{ |
|
||||
_partCfgRepository = partCfgRepository; |
|
||||
_logger = logger; |
|
||||
_newJitDapperRepository = newJitDapperRepository; |
|
||||
_blobContainer = blobContainer; |
|
||||
} |
|
||||
|
|
||||
#region 私有方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns></returns>
|
|
||||
private async Task<PagedResultDto<PartSwitchDto>> QueryByConditionAsync(QueryPartSwitchDto input, PagedAndSortedBase page) |
|
||||
{ |
|
||||
PagedResultDto<PartSwitchDto> ret = new PagedResultDto<PartSwitchDto>(); |
|
||||
|
|
||||
string sqlCnt = @"
|
|
||||
select * from |
|
||||
( |
|
||||
select count(*) as cnt |
|
||||
from PartSwitch a |
|
||||
left join PartCfg c1 on a.SourcePartCode = c1.PartCode |
|
||||
left join PartCfg c2 on a.TargetPartCode = c2.PartCode |
|
||||
where IsDeleted <> 1 {0} |
|
||||
) t |
|
||||
";
|
|
||||
|
|
||||
string sql = @"
|
|
||||
select * from |
|
||||
( |
|
||||
select ROW_NUMBER() OVER(order by a.[CreationTime]) as row_number, |
|
||||
a.*, c1.PartName as SourcePartName, c2.PartName as TargetPartName |
|
||||
from PartSwitch a |
|
||||
left join PartCfg c1 on a.SourcePartCode = c1.PartCode |
|
||||
left join PartCfg c2 on a.TargetPartCode = c2.PartCode |
|
||||
where IsDeleted <> 1 {0} |
|
||||
) t where row_number between {1} and {2} |
|
||||
";
|
|
||||
string where = ""; |
|
||||
if (!string.IsNullOrEmpty(input.SourcePartCode)) |
|
||||
{ |
|
||||
where += string.Format(" and a.SourcePartCode like '%{0}%'", input.SourcePartCode); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.SourcePartName)) |
|
||||
{ |
|
||||
where += string.Format(" and c1.SourcePartName like '%{0}%'", input.SourcePartName); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.TargetPartCode)) |
|
||||
{ |
|
||||
where += string.Format(" and a.TargetPartCode like '%{0}%'", input.TargetPartCode); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.TargetPartName)) |
|
||||
{ |
|
||||
where += string.Format(" and c2.TargetPartName like '%{0}%'", input.TargetPartName); |
|
||||
} |
|
||||
if (input.IsValid != null) |
|
||||
{ |
|
||||
if (input.IsValid == true) |
|
||||
{ |
|
||||
//有效//??
|
|
||||
} |
|
||||
else |
|
||||
{ |
|
||||
//无效
|
|
||||
} |
|
||||
} |
|
||||
sqlCnt = string.Format(sqlCnt, where); |
|
||||
ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync<int>(sqlCnt); |
|
||||
|
|
||||
//计算分页
|
|
||||
int fromRec = page.SkipCount + 1; |
|
||||
int ToRec = page.SkipCount + page.MaxResultCount; |
|
||||
sql = string.Format(sql, where, fromRec, ToRec); |
|
||||
var lst = await _newJitDapperRepository.GetListBySqlAsync<PartSwitchDto>(sql); |
|
||||
ret.Items = lst; |
|
||||
return ret; |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
#region 公共方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<PagedResultDto<PartSwitchDto>> GetListAsync(QueryPartSwitchDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); |
|
||||
try |
|
||||
{ |
|
||||
PagedResultDto<PartSwitchDto> ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetErpAssemblyListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new PagedResultDto<PartSwitchDto>(0, new List<PartSwitchDto>()); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
[HttpGet] |
|
||||
[Route("{id}")]//obj/
|
|
||||
public virtual async Task<ObjectResultDto<PartSwitchDto>> GetAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); |
|
||||
ObjectResultDto<PartSwitchDto> ret = new ObjectResultDto<PartSwitchDto>(); |
|
||||
try |
|
||||
{ |
|
||||
PartSwitch sourceObj = await _partCfgRepository.GetAsync(id); |
|
||||
PartSwitchDto targetObj = ObjectMapper.Map<PartSwitch, PartSwitchDto>(sourceObj); |
|
||||
ret.Item = targetObj; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPost] |
|
||||
[UnitOfWork] |
|
||||
[Route("")]//create
|
|
||||
public virtual async Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdatePartSwitchDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); |
|
||||
ObjectResultDto<Guid> ret = new ObjectResultDto<Guid>(); |
|
||||
try |
|
||||
{ |
|
||||
PartSwitch obj = ObjectMapper.Map<CreateUpdatePartSwitchDto, PartSwitch>(input); |
|
||||
PartSwitch obj2 = await _partCfgRepository.InsertAsync(obj); |
|
||||
ret.Item = obj2.Id; //返回添加对象的主键
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPut] |
|
||||
[UnitOfWork] |
|
||||
[Route("{id}")]//update/
|
|
||||
public virtual async Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdatePartSwitchDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
PartSwitch targetObj = await _partCfgRepository.GetAsync(id); |
|
||||
ObjectMapper.Map<CreateUpdatePartSwitchDto, PartSwitch>(input, targetObj); |
|
||||
await _partCfgRepository.UpdateAsync(targetObj); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpDelete] |
|
||||
[Route("{id}")]//delete/
|
|
||||
public virtual async Task<ObjectResultDto> DeleteAsync(string id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
List<Guid> idLst = ServerHelper.GetGuidListByStr(id); |
|
||||
await _partCfgRepository.DeleteManyAsync(idLst, true); |
|
||||
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork(false)] |
|
||||
[HttpPost] |
|
||||
[Route("export")] |
|
||||
public virtual async Task<ObjectResultDto<string>> ExportAsync(QueryPartSwitchDto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); |
|
||||
ObjectResultDto<string> ret = new ObjectResultDto<string>(); |
|
||||
try |
|
||||
{ |
|
||||
input.SkipCount = 0; |
|
||||
input.MaxResultCount = 50000; |
|
||||
PagedResultDto<PartSwitchDto> query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); |
|
||||
List<PartSwitchDto> lst = query.Items.ToList(); |
|
||||
//将实体列表转换成excel文件流
|
|
||||
IExporter exporter = new ExcelExporter(); |
|
||||
byte[] byteArr = await exporter.ExportAsByteArray<PartSwitchDto>(lst); |
|
||||
byteArr.ShouldNotBeNull(); |
|
||||
//将excel文件流保存到服务器端文件系统
|
|
||||
string fileName = string.Format("零件切换_{0}.xlsx", Guid.NewGuid().ToString()); |
|
||||
await _blobContainer.SaveAsync(fileName, byteArr); |
|
||||
|
|
||||
ret.Item = fileName; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("import")] |
|
||||
public virtual async Task<ObjectResultDto> ImportAsync(byte[] input) |
|
||||
{ |
|
||||
throw new NotImplementedException("暂不实现所有导入"); |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
} |
|
||||
} |
|
@ -1,480 +0,0 @@ |
|||||
using Magicodes.ExporterAndImporter.Core; |
|
||||
using Magicodes.ExporterAndImporter.Excel; |
|
||||
using Microsoft.EntityFrameworkCore; |
|
||||
using Microsoft.Extensions.Logging; |
|
||||
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; |
|
||||
using Volo.Abp.Uow; |
|
||||
using Volo.Abp.Domain.Repositories.Dapper; |
|
||||
using WY.NewJit.EntityFrameworkCore; |
|
||||
using WY.NewJit.Common; |
|
||||
using Shouldly; |
|
||||
using Volo.Abp.BlobStoring; |
|
||||
using Microsoft.AspNetCore.Mvc; |
|
||||
|
|
||||
namespace WY.NewJit.MsgCheck |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// M100单据管理应用服务实现
|
|
||||
/// </summary>
|
|
||||
[Route("api/newjit/bill-m100")] |
|
||||
[ApiExplorerSettings(GroupName = SwaggerGroupConsts.报文解析及校验)] |
|
||||
public class BillM100AppService : ApplicationService, IBillM100AppService |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// 仓储
|
|
||||
/// </summary>
|
|
||||
private readonly IRepository<BillM100, Guid> _billM100Repository; |
|
||||
|
|
||||
private readonly IRepository<BillM100Part, Guid> _billM100PartRepository; |
|
||||
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 日志
|
|
||||
/// </summary>
|
|
||||
private ILogger<BillM100AppService> _logger; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Dapper仓储
|
|
||||
/// </summary>
|
|
||||
private readonly NewJitDapperRepository _newJitDapperRepository; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// BLOB存储
|
|
||||
/// </summary>
|
|
||||
private readonly IBlobContainer<OurFileContainer> _blobContainer; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 错误信息前缀
|
|
||||
/// </summary>
|
|
||||
private string _errorMessagePrefix |
|
||||
{ |
|
||||
get |
|
||||
{ |
|
||||
return System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name + "."; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 构造函数
|
|
||||
/// </summary>
|
|
||||
public BillM100AppService( |
|
||||
IRepository<BillM100, Guid> BillM100Repository, |
|
||||
IRepository<BillM100Part, Guid> BillM100PartRepository, |
|
||||
ILogger<BillM100AppService> logger, |
|
||||
NewJitDapperRepository newJitDapperRepository, |
|
||||
IBlobContainer<OurFileContainer> blobContainer |
|
||||
) |
|
||||
{ |
|
||||
_billM100Repository = BillM100Repository; |
|
||||
_billM100PartRepository = BillM100PartRepository; |
|
||||
_logger = logger; |
|
||||
_newJitDapperRepository = newJitDapperRepository; |
|
||||
_blobContainer = blobContainer; |
|
||||
} |
|
||||
|
|
||||
#region 私有方法
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取实体列表
|
|
||||
/// </summary>
|
|
||||
private async Task<PagedResultDto<ResultBillM100Dto>> QueryByConditionAsync(QueryBillM100Dto input, PagedAndSortedBase page) |
|
||||
{ |
|
||||
PagedResultDto<ResultBillM100Dto> ret = new PagedResultDto<ResultBillM100Dto>(); |
|
||||
|
|
||||
string sqlCnt = @"
|
|
||||
with d as |
|
||||
( |
|
||||
select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') |
|
||||
) |
|
||||
, r as |
|
||||
( |
|
||||
select rr.KNR, aa.AssemblyName, rr.OnlineTime from FisBillR100 rr left join FisAssemblyCfgVehicle aa on rr.AssemblyID = aa.Id |
|
||||
) |
|
||||
select * from |
|
||||
( |
|
||||
select count(*) as cnt |
|
||||
from FisBillM100 b |
|
||||
left join d on b.VehicleModelCode = d.DicItemCode |
|
||||
left join FisAssemblyCfgVehicle a on b.AssemblyID = a.Id |
|
||||
left join r on b.KNR = r.KNR |
|
||||
where 1=1 {0} |
|
||||
) t |
|
||||
";
|
|
||||
|
|
||||
string sql = @"
|
|
||||
with d as |
|
||||
( |
|
||||
select * from FisDicItem where DicTypeCode in (select DicTypeCode from FisDicType where DicTypeName = '车型') |
|
||||
) |
|
||||
, r as |
|
||||
( |
|
||||
select rr.KNR, aa.AssemblyName, rr.OnlineTime from FisBillR100 rr left join FisAssemblyCfgVehicle aa on rr.AssemblyID = aa.Id |
|
||||
) |
|
||||
select * from |
|
||||
( |
|
||||
select ROW_NUMBER() OVER(order by b.SerialNum, b.HostSN) as row_number, |
|
||||
b.*, d.DicItemName as VehicleModelName, a.AssemblyName, r.AssemblyName as R100AssemblyName, r.OnlineTime as R100OnlineTime |
|
||||
from FisBillM100 b |
|
||||
left join d on b.VehicleModelCode = d.DicItemCode |
|
||||
left join FisAssemblyCfgVehicle a on b.AssemblyID = a.Id |
|
||||
left join r on b.KNR = r.KNR |
|
||||
where 1=1 {0} |
|
||||
) t where row_number between {1} and {2} |
|
||||
";
|
|
||||
string where = ""; |
|
||||
//if (!string.IsNullOrEmpty(input.VehicleModelCode))
|
|
||||
//{
|
|
||||
// where += string.Format(" and d.DicItemName = '{0}'", input.VehicleModelCode);
|
|
||||
//}
|
|
||||
if (input.SerialNumBegin != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.SerialNum >= {0}", input.SerialNumBegin); |
|
||||
} |
|
||||
if (input.SerialNumEnd != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.SerialNum <= {0}", input.SerialNumEnd); |
|
||||
} |
|
||||
if (input.HostSNBegin != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.HostSN >= {0}", input.HostSNBegin); |
|
||||
} |
|
||||
if (input.HostSNEnd != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.HostSN <= {0}", input.HostSNEnd); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.KNRBegin)) |
|
||||
{ |
|
||||
where += string.Format(" and b.KNR >= '{0}'", input.KNRBegin); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.KNREnd)) |
|
||||
{ |
|
||||
where += string.Format(" and b.KNR <= '{0}'", input.KNREnd); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.VINBegin)) |
|
||||
{ |
|
||||
where += string.Format(" and b.VIN >= '{0}'", input.VINBegin); |
|
||||
} |
|
||||
if (!string.IsNullOrEmpty(input.VINEnd)) |
|
||||
{ |
|
||||
where += string.Format(" and b.VIN <= '{0}'", input.VINEnd); |
|
||||
} |
|
||||
if (input.AssemblyID != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.AssemblyID = '{0}'", input.AssemblyID.ToString()); |
|
||||
} |
|
||||
if (input.OnlineTimeBegin != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.OnlineTime >= '{0}'", ((DateTime)input.OnlineTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); |
|
||||
} |
|
||||
if (input.OnlineTimeEnd != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.OnlineTime <= '{0}'", ((DateTime)input.OnlineTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); |
|
||||
} |
|
||||
if (input.VehicleModelCode != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.VehicleModelCode like '%{0}%'", input.VehicleModelCode); |
|
||||
} |
|
||||
if (input.ProductLine != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.ProductLine = '{0}'", input.ProductLine); |
|
||||
} |
|
||||
if (input.Version != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.Version like '%{0}%'", input.Version); |
|
||||
} |
|
||||
if (input.ReceiveTimeBegin != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.ReceiveTime >= '{0}'", ((DateTime)input.ReceiveTimeBegin).ToString("yyyy-MM-dd HH:mm:ss")); |
|
||||
} |
|
||||
if (input.ReceiveTimeEnd != null) |
|
||||
{ |
|
||||
where += string.Format(" and b.ReceiveTime <= '{0}'", ((DateTime)input.ReceiveTimeEnd).ToString("yyyy-MM-dd HH:mm:ss")); |
|
||||
} |
|
||||
if (input.BillStatus != null && input.BillStatus != BillStatusEnum.None) |
|
||||
{ |
|
||||
where += string.Format(" and b.BillStatus = {0}", ((int)input.BillStatus).ToString()); |
|
||||
} |
|
||||
where += " and b.BillStatus in (2,3)"; //单据状态是已生效、已发布
|
|
||||
if (input.IsBillMaintenance == true) //M100单据信息维护模块使用
|
|
||||
{ |
|
||||
where += " and b.Operator is not null"; |
|
||||
} |
|
||||
|
|
||||
sqlCnt = string.Format(sqlCnt, where); |
|
||||
ret.TotalCount = await _newJitDapperRepository.GetSingleBySqlAsync<int>(sqlCnt); |
|
||||
|
|
||||
//计算分页
|
|
||||
int fromRec = page.SkipCount + 1; |
|
||||
int ToRec = page.SkipCount + page.MaxResultCount; |
|
||||
sql = string.Format(sql, where, fromRec, ToRec); |
|
||||
var lst = await _newJitDapperRepository.GetListBySqlAsync<ResultBillM100Dto>(sql); |
|
||||
ret.Items = lst; |
|
||||
return ret; |
|
||||
} |
|
||||
#endregion
|
|
||||
|
|
||||
#region 公共方法
|
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 根据筛选条件获取分页实体列表
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">输入查询条件</param>
|
|
||||
/// <param name="page">输入分页条件</param>
|
|
||||
/// <returns>返回符合条件的排序分页列表</returns>
|
|
||||
[HttpGet] |
|
||||
[UnitOfWork(false)] |
|
||||
[Route("list")] |
|
||||
public virtual async Task<PagedResultDto<ResultBillM100Dto>> GetListAsync(QueryBillM100Dto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetListAsync 进入"); |
|
||||
try |
|
||||
{ |
|
||||
PagedResultDto<ResultBillM100Dto> ret = await QueryByConditionAsync(input, (PagedAndSortedBase)input); |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
string errMsg = _errorMessagePrefix + "GetListAsync 执行出错:" + ex; |
|
||||
_logger.LogError(errMsg); |
|
||||
return new PagedResultDto<ResultBillM100Dto>(0, new List<ResultBillM100Dto>()); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 按主键获取唯一实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">主键</param>
|
|
||||
/// <returns>实体信息</returns>
|
|
||||
[HttpGet] |
|
||||
[Route("{id}")]//obj/
|
|
||||
public virtual async Task<ObjectResultDto<BillM100Dto>> GetAsync(Guid id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "GetAsync 进入"); |
|
||||
ObjectResultDto<BillM100Dto> ret = new ObjectResultDto<BillM100Dto>(); |
|
||||
try |
|
||||
{ |
|
||||
BillM100 sourceObj = await _billM100Repository.GetAsync(id); |
|
||||
BillM100Dto targetObj = ObjectMapper.Map<BillM100, BillM100Dto>(sourceObj); |
|
||||
ret.Item = targetObj; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "GetAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 添加实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">添加内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPost] |
|
||||
[UnitOfWork] |
|
||||
[Route("")]//create
|
|
||||
public virtual async Task<ObjectResultDto<Guid>> CreateAsync(CreateUpdateBillM100Dto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "CreateAsync 进入"); |
|
||||
ObjectResultDto<Guid> ret = new ObjectResultDto<Guid>(); |
|
||||
try |
|
||||
{ |
|
||||
//取M100单据 最大流水号
|
|
||||
int billMaxSN = _billM100Repository.Max(itm => itm.SerialNum) ?? 0; |
|
||||
|
|
||||
BillM100 obj = ObjectMapper.Map<CreateUpdateBillM100Dto, BillM100>(input); |
|
||||
#region 主子表主键Id赋值
|
|
||||
foreach (var item in obj.BillM100Parts) |
|
||||
{ |
|
||||
item.SetId(GuidGenerator.Create()); |
|
||||
} |
|
||||
#endregion
|
|
||||
obj.SetSerialNum(++billMaxSN); |
|
||||
BillM100 obj2 = await _billM100Repository.InsertAsync(obj); |
|
||||
ret.Item = obj2.Id; //返回添加对象的主键
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "CreateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 修改实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">更新主键</param>
|
|
||||
/// <param name="input">修改内容</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[HttpPut] |
|
||||
[UnitOfWork] |
|
||||
[Route("{id}")]//update/
|
|
||||
public virtual async Task<ObjectResultDto> UpdateAsync(Guid id, CreateUpdateBillM100Dto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "UpdateAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
BillM100 targetObj = await _billM100Repository.GetAsync(id); |
|
||||
await _billM100PartRepository.DeleteManyAsync(targetObj.BillM100Parts); //先删除子实体列表
|
|
||||
ObjectMapper.Map<CreateUpdateBillM100Dto, BillM100>(input, targetObj); |
|
||||
await _billM100Repository.UpdateAsync(targetObj); |
|
||||
await _billM100PartRepository.InsertManyAsync(targetObj.BillM100Parts); //再添加子实体列表
|
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "UpdateAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 删除实体
|
|
||||
/// </summary>
|
|
||||
/// <param name="id">删除主键</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpDelete] |
|
||||
[Route("{id}")]//delete/
|
|
||||
public virtual async Task<ObjectResultDto> DeleteAsync(string id) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "DeleteAsync 进入"); |
|
||||
ObjectResultDto ret = new ObjectResultDto(); |
|
||||
try |
|
||||
{ |
|
||||
List<Guid> idLst = ServerHelper.GetGuidListByStr(id); |
|
||||
foreach (Guid item in idLst) |
|
||||
{ |
|
||||
BillM100 sourceObj = await _billM100Repository.GetAsync(item); |
|
||||
if (sourceObj != null) |
|
||||
{ |
|
||||
await _billM100PartRepository.DeleteManyAsync(sourceObj.BillM100Parts); |
|
||||
await _billM100Repository.DeleteAsync(item); |
|
||||
} |
|
||||
} |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "DeleteAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导出信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导出查询条件</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork(false)] |
|
||||
[HttpPost] |
|
||||
[Route("export")] |
|
||||
public virtual async Task<ObjectResultDto<string>> ExportAsync(QueryBillM100Dto input) |
|
||||
{ |
|
||||
_logger.LogDebug(_errorMessagePrefix + "ExportAsync 进入"); |
|
||||
ObjectResultDto<string> ret = new ObjectResultDto<string>(); |
|
||||
try |
|
||||
{ |
|
||||
input.SkipCount = 0; |
|
||||
input.MaxResultCount = 50000; |
|
||||
PagedResultDto<ResultBillM100Dto> query = await QueryByConditionAsync(input, (PagedAndSortedBase)input); |
|
||||
List<ResultBillM100Dto> items = query.Items.ToList(); |
|
||||
//将实体列表转换成excel文件流
|
|
||||
IExporter exporter = new ExcelExporter(); |
|
||||
byte[] byteArr = await exporter.ExportAsByteArray<ResultBillM100Dto>(items); |
|
||||
byteArr.ShouldNotBeNull(); |
|
||||
//将excel文件流保存到服务器端文件系统
|
|
||||
string fileName = string.Format("单据M100_{0}.xlsx", Guid.NewGuid().ToString()); |
|
||||
await _blobContainer.SaveAsync(fileName, byteArr); |
|
||||
|
|
||||
ret.Item = fileName; |
|
||||
return ret; |
|
||||
} |
|
||||
catch (Exception ex) |
|
||||
{ |
|
||||
ret.Status = false; |
|
||||
ret.Message = _errorMessagePrefix + "ExportAsync 执行出错:" + ex; |
|
||||
_logger.LogError(ret.Message); |
|
||||
return ret; |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 导入信息
|
|
||||
/// </summary>
|
|
||||
/// <param name="input">导入文件流</param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("import")] |
|
||||
public virtual async Task<ObjectResultDto> ImportAsync(byte[] input) |
|
||||
{ |
|
||||
throw new NotImplementedException("暂不实现所有导入"); |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 打印门板
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("print-menban")] |
|
||||
public virtual async Task<ObjectResultDto> PrintMenBan(MenBanPrintInfo input) |
|
||||
{ |
|
||||
//??待开发
|
|
||||
/* |
|
||||
* 发货排序单中的“装箱单号”是自增号 |
|
||||
* 装箱单号规则 1开头,11位,自增顺序号 |
|
||||
* 发货排序单:提供重新打印功能;提供针对重新解析后单据的补打功能 |
|
||||
* 排序单默认打印2份 |
|
||||
*/ |
|
||||
//先打印门板, 后打印柱护板,打印完成柱护板后,更新“已打印”状态
|
|
||||
return null; |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// 打印柱护板
|
|
||||
/// </summary>
|
|
||||
/// <param name="input"></param>
|
|
||||
/// <returns>执行成功返回真</returns>
|
|
||||
[UnitOfWork] |
|
||||
[HttpPost] |
|
||||
[Route("print-zhuhuban")] |
|
||||
public virtual async Task<ObjectResultDto> PrintZhuHuBan(ZhuHuBanPrintInfo input) |
|
||||
{ |
|
||||
//??待开发
|
|
||||
//生成打印单号
|
|
||||
//PrintBillNum
|
|
||||
//将导出的单据状态更新为“已打印”
|
|
||||
string where = " and 1 = 2"; |
|
||||
if (where.Length > 0) |
|
||||
{ |
|
||||
string updateSql = "update b set BillStatus = 2, PrintTime = GETDATE() from FisBillM100 b where 1=1"; |
|
||||
updateSql = string.Format(updateSql, where); |
|
||||
await _newJitDapperRepository.ExecuteSqlAsync(updateSql); |
|
||||
} |
|
||||
return null; |
|
||||
} |
|
||||
|
|
||||
|
|
||||
#endregion
|
|
||||
} |
|
||||
} |
|
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue