liulb@mesnac.com
parent 536a2b12ab
commit 73a50dec3e

@ -736,41 +736,6 @@
是否执行中
</summary>
</member>
<member name="T:Admin.Core.Model.BaseQualityInspectionItemInfo">
<summary>
质检项信息
</summary>
</member>
<member name="P:Admin.Core.Model.BaseQualityInspectionItemInfo.ObjId">
<summary>
主键标识
</summary>
</member>
<member name="P:Admin.Core.Model.BaseQualityInspectionItemInfo.QualityDefectCode">
<summary>
质检项/质量缺陷编号
</summary>
</member>
<member name="P:Admin.Core.Model.BaseQualityInspectionItemInfo.QualityDefectName">
<summary>
质检项/质量缺陷名字
</summary>
</member>
<member name="P:Admin.Core.Model.BaseQualityInspectionItemInfo.ParentId">
<summary>
父级编号
</summary>
</member>
<member name="P:Admin.Core.Model.BaseQualityInspectionItemInfo.IsFlag">
<summary>
启用标识
</summary>
</member>
<member name="P:Admin.Core.Model.BaseQualityInspectionItemInfo.IsInSpection">
<summary>
成品下线是否校验0-不校验1-校验)
</summary>
</member>
<member name="T:Admin.Core.Model.BaseSpaceDetail">
<summary>
货道明细
@ -916,6 +881,11 @@
在途数量
</summary>
</member>
<member name="P:Admin.Core.Model.BaseSpaceInfo.OutRouteAmount">
<summary>
出库数量
</summary>
</member>
<member name="P:Admin.Core.Model.BaseSpaceInfo.InStoreFlag">
<summary>
入库标识:1-允许入库2-禁止入库
@ -1481,6 +1451,11 @@
任务编号
</summary>
</member>
<member name="P:Admin.Core.Model.RealTaskInfo.TaskModel">
<summary>
任务形式0-自动1-手动
</summary>
</member>
<member name="P:Admin.Core.Model.RealTaskInfo.TaskType">
<summary>
任务类型1-入库2-出库
@ -1636,22 +1611,147 @@
更新时间
</summary>
</member>
<member name="T:Admin.Core.Model.RecordOutstore">
<summary>
出库记录
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.ObjId">
<summary>
主键标识
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.StoreCode">
<summary>
仓库编号
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.StoreArea">
<summary>
仓库区域
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.SpaceCode">
<summary>
货道编号
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.MaterialCode">
<summary>
物料编号
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.MaterialName">
<summary>
物料名称
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.OutStoreAmount">
<summary>
出库数量
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.OutStoreTime">
<summary>
出库时间
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.BarCodeCode">
<summary>
物料条码编号
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.MaterialType">
<summary>
物料类型
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.ExitPattern">
<summary>
出库方式0-正常1-异常)
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.IsFlag">
<summary>
是否标识
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.CreatedBy">
<summary>
创建人
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.CreatedTime">
<summary>
创建时间
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.UpdatedBy">
<summary>
更新人
</summary>
</member>
<member name="P:Admin.Core.Model.RecordOutstore.UpdatedTime">
<summary>
更新时间
</summary>
</member>
<member name="T:Admin.Core.Model.RecordProductFinish">
<summary>
完成记录
</summary>
</member>
<member name="P:Admin.Core.Model.RecordProductFinish.ObjId">
<summary>
主键标识
</summary>
</member>
<member name="P:Admin.Core.Model.RecordProductFinish.PlanCode">
<summary>
计划编号
</summary>
</member>
<member name="P:Admin.Core.Model.RecordProductFinish.MaterialCode">
<summary>
物料编号
</summary>
</member>
<member name="P:Admin.Core.Model.RecordProductFinish.ProductlineCode">
<summary>
计划工位
</summary>
</member>
<member name="P:Admin.Core.Model.RecordProductFinish.CompleteAmount">
<summary>
完成数量
</summary>
</member>
<member name="P:Admin.Core.Model.RecordProductFinish.RecordTime">
<summary>
记录时间
</summary>
</member>
<member name="P:Admin.Core.Model.RecordProductFinish.IsFlag">
<summary>
是否标识
</summary>
</member>
<member name="T:Admin.Core.Model.SysUserInfo">
<summary>
用户信息
</summary>
</member>
<member name="P:Admin.Core.Model.SysUserInfo.userId">
<member name="P:Admin.Core.Model.SysUserInfo.UserId">
<summary>
用户Id自增主键
</summary>
</member>
<member name="P:Admin.Core.Model.SysUserInfo.userName">
<member name="P:Admin.Core.Model.SysUserInfo.UserName">
<summary>
用户名称
</summary>
</member>
<member name="P:Admin.Core.Model.SysUserInfo.password">
<member name="P:Admin.Core.Model.SysUserInfo.Password">
<summary>
用户密码
</summary>

@ -1,24 +1,20 @@
{
"format": 1,
"restore": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\Admin.Core.Api.csproj": {}
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj": {}
},
"projects": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\Admin.Core.Api.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\Admin.Core.Api.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj",
"projectName": "Admin.Core.Api",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\Admin.Core.Api.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -26,21 +22,20 @@
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\sdk\\7.0.306\\Sdks\\Microsoft.NET.Sdk.Web\\library-packs": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj"
}
}
}
@ -83,25 +78,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj",
"projectName": "Admin.Core.Common",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -115,8 +106,8 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj"
}
}
}
@ -272,25 +263,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj",
"projectName": "Admin.Core.EventBus",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.EventBus\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -304,8 +291,8 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj"
}
}
}
@ -345,25 +332,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj",
"projectName": "Admin.Core.Extensions",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Extensions\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -377,29 +360,29 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.EventBus\\Admin.Core.EventBus.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Repository\\Admin.Core.Repository.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Repository\\Admin.Core.Repository.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj"
}
}
}
@ -435,25 +418,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj",
"projectName": "Admin.Core.IRepository",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IRepository\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -467,11 +446,11 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj"
}
}
}
@ -501,25 +480,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IService\\Admin.Core.IService.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IService\\Admin.Core.IService.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj",
"projectName": "Admin.Core.IService",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IService\\Admin.Core.IService.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IService\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -533,11 +508,11 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj"
}
}
}
@ -567,25 +542,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj",
"projectName": "Admin.Core.Model",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -599,8 +570,8 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj"
}
}
}
@ -630,25 +601,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Repository\\Admin.Core.Repository.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Repository\\Admin.Core.Repository.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj",
"projectName": "Admin.Core.Repository",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Repository\\Admin.Core.Repository.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Repository\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\Admin.Core.Repository.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Repository\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -662,8 +629,8 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj"
}
}
}
@ -693,25 +660,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj",
"projectName": "Admin.Core.Serilog.Es",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Serilog.Es\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\Admin.Core.Serilog.Es.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Serilog.Es\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -782,25 +745,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj",
"projectName": "Admin.Core.Service",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -814,14 +773,14 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IRepository\\Admin.Core.IRepository.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IService\\Admin.Core.IService.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.IService\\Admin.Core.IService.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.IService\\Admin.Core.IService.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj"
}
}
}
@ -851,25 +810,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj",
"projectName": "Admin.Core.Tasks",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -883,17 +838,17 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Model\\Admin.Core.Model.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Model\\Admin.Core.Model.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj"
}
}
}
@ -929,25 +884,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj",
"projectName": "Aucma.Core.PLc",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -994,25 +945,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj",
"projectName": "Aucma.Core.RunPlc",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.RunPlc\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\Aucma.Core.RunPlc.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.RunPlc\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -1026,11 +973,11 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.PLc\\Aucma.Core.PLc.csproj"
}
}
}
@ -1060,25 +1007,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj",
"projectName": "Aucma.Core.ScannerGun",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.ScannerGun\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\Aucma.Core.ScannerGun.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.ScannerGun\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -1119,25 +1062,21 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj",
"projectName": "Aucma.Core.Scanner",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Aucma.Core.Scanner\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\Aucma.Core.Scanner.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Scanner\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -1151,8 +1090,8 @@
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Common\\Admin.Core.Common.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Common\\Admin.Core.Common.csproj"
}
}
}
@ -1188,7 +1127,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
}

@ -5,19 +5,18 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\ADMIN\.nuget\packages\;D:\mesnacSoft\c#\vs2022\sdk\NuGetPackages</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\admin\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.6.0</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.7.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\ADMIN\.nuget\packages\" />
<SourceRoot Include="D:\mesnacSoft\c#\vs2022\sdk\NuGetPackages\" />
<SourceRoot Include="C:\Users\admin\.nuget\packages\" />
</ItemGroup>
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<Import Project="$(NuGetPackageRoot)microsoft.extensions.apidescription.server\3.0.0\build\Microsoft.Extensions.ApiDescription.Server.props" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.apidescription.server\3.0.0\build\Microsoft.Extensions.ApiDescription.Server.props')" />
<Import Project="$(NuGetPackageRoot)swashbuckle.aspnetcore\5.6.3\build\Swashbuckle.AspNetCore.props" Condition="Exists('$(NuGetPackageRoot)swashbuckle.aspnetcore\5.6.3\build\Swashbuckle.AspNetCore.props')" />
</ImportGroup>
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\ADMIN\.nuget\packages\microsoft.extensions.apidescription.server\3.0.0</PkgMicrosoft_Extensions_ApiDescription_Server>
<PkgMicrosoft_Extensions_ApiDescription_Server Condition=" '$(PkgMicrosoft_Extensions_ApiDescription_Server)' == '' ">C:\Users\admin\.nuget\packages\microsoft.extensions.apidescription.server\3.0.0</PkgMicrosoft_Extensions_ApiDescription_Server>
</PropertyGroup>
</Project>

@ -9,9 +9,9 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Api
build_property.RootNamespace = Admin.Core.Api
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Admin.Core.Api\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Api\
build_property.RazorLangVersion = 6.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =
build_property.MSBuildProjectDirectory = C:\Users\ADMIN\Desktop\tuisong\Admin.Core.Api
build_property.MSBuildProjectDirectory = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Api
build_property._RazorSourceGeneratorDebug =

@ -10992,24 +10992,19 @@
]
},
"packageFolders": {
"C:\\Users\\ADMIN\\.nuget\\packages\\": {},
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages": {}
"C:\\Users\\admin\\.nuget\\packages\\": {}
},
"project": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\Admin.Core.Api.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj",
"projectName": "Admin.Core.Api",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\Admin.Core.Api.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -11017,21 +11012,20 @@
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"C:\\Program Files\\dotnet\\sdk\\7.0.306\\Sdks\\Microsoft.NET.Sdk.Web\\library-packs": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Extensions\\Admin.Core.Extensions.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Service\\Admin.Core.Service.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Service\\Admin.Core.Service.csproj"
},
"C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": {
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj"
"D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Tasks\\Admin.Core.Tasks.csproj"
}
}
}
@ -11074,7 +11068,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
}

@ -1,226 +1,226 @@
{
"version": 2,
"dgSpecHash": "xW17zWKHzOl5jet8TsOgR/SELtp0bpTf1eIZIV2OyQLIsHWmB+oXwumTOtiwFYkCdcqMSAQzB6wi6sr3ZVdAmA==",
"dgSpecHash": "m2A3blUC+st79Fwfg16JlMcQb60uKgpc/Z41+H6o6SLheL3303WpH1HxhjmZqDvwzoRr+hQBbrXsDsQNMdcyCw==",
"success": true,
"projectFilePath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\Admin.Core.Api\\Admin.Core.Api.csproj",
"projectFilePath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj",
"expectedPackageFiles": [
"C:\\Users\\ADMIN\\.nuget\\packages\\aspnetcoreratelimit\\4.0.1\\aspnetcoreratelimit.4.0.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\autofac\\6.2.0\\autofac.6.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\autofac.extensions.dependencyinjection\\7.1.0\\autofac.extensions.dependencyinjection.7.1.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\autofac.extras.dynamicproxy\\6.0.0\\autofac.extras.dynamicproxy.6.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\automapper\\10.1.1\\automapper.10.1.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\automapper.extensions.microsoft.dependencyinjection\\8.1.1\\automapper.extensions.microsoft.dependencyinjection.8.1.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\castle.core\\4.4.0\\castle.core.4.4.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\consul\\1.6.10.3\\consul.1.6.10.3.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\elasticsearch.net\\7.8.1\\elasticsearch.net.7.8.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\initq\\1.0.0.7\\initq.1.0.0.7.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\log4net\\2.0.15\\log4net.2.0.15.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.authentication.jwtbearer\\5.0.9\\microsoft.aspnetcore.authentication.jwtbearer.5.0.9.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.connections.abstractions\\5.0.9\\microsoft.aspnetcore.connections.abstractions.5.0.9.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\2.2.0\\microsoft.aspnetcore.cryptography.internal.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.dataprotection\\2.2.0\\microsoft.aspnetcore.dataprotection.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.dataprotection.abstractions\\2.2.0\\microsoft.aspnetcore.dataprotection.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.hosting.abstractions\\2.2.0\\microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.hosting.server.abstractions\\2.2.0\\microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.http\\2.2.2\\microsoft.aspnetcore.http.2.2.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.http.abstractions\\2.2.0\\microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.http.features\\5.0.9\\microsoft.aspnetcore.http.features.5.0.9.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\5.0.9\\microsoft.aspnetcore.jsonpatch.5.0.9.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.mvc.newtonsoftjson\\5.0.9\\microsoft.aspnetcore.mvc.newtonsoftjson.5.0.9.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.session\\2.2.0\\microsoft.aspnetcore.session.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.signalr.common\\5.0.9\\microsoft.aspnetcore.signalr.common.5.0.9.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.signalr.protocols.newtonsoftjson\\5.0.9\\microsoft.aspnetcore.signalr.protocols.newtonsoftjson.5.0.9.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.aspnetcore.webutilities\\2.2.0\\microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.data.sqlclient\\2.1.4\\microsoft.data.sqlclient.2.1.4.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.data.sqlclient.sni.runtime\\2.1.1\\microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.data.sqlite\\7.0.5\\microsoft.data.sqlite.7.0.5.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.data.sqlite.core\\7.0.5\\microsoft.data.sqlite.core.7.0.5.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.apidescription.server\\3.0.0\\microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\5.0.0\\microsoft.extensions.caching.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.caching.memory\\5.0.0\\microsoft.extensions.caching.memory.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.configuration\\5.0.0\\microsoft.extensions.configuration.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\5.0.0\\microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.configuration.binder\\5.0.0\\microsoft.extensions.configuration.binder.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\5.0.0\\microsoft.extensions.configuration.fileextensions.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.configuration.json\\5.0.0\\microsoft.extensions.configuration.json.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.2\\microsoft.extensions.dependencyinjection.5.0.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.dependencymodel\\3.1.6\\microsoft.extensions.dependencymodel.3.1.6.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\5.0.0\\microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\5.0.0\\microsoft.extensions.fileproviders.physical.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\5.0.0\\microsoft.extensions.filesystemglobbing.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.hosting\\2.1.0\\microsoft.extensions.hosting.2.1.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\3.1.8\\microsoft.extensions.hosting.abstractions.3.1.8.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.logging.debug\\5.0.0\\microsoft.extensions.logging.debug.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.logging.log4net.aspnetcore\\5.0.3\\microsoft.extensions.logging.log4net.aspnetcore.5.0.3.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.objectpool\\2.2.0\\microsoft.extensions.objectpool.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\5.0.0\\microsoft.extensions.options.configurationextensions.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.1\\microsoft.extensions.primitives.5.0.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.identity.client\\4.21.1\\microsoft.identity.client.4.21.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.8.0\\microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.identitymodel.logging\\6.8.0\\microsoft.identitymodel.logging.6.8.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.identitymodel.protocols\\6.8.0\\microsoft.identitymodel.protocols.6.8.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.8.0\\microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.8.0\\microsoft.identitymodel.tokens.6.8.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.net.http.headers\\2.2.0\\microsoft.net.http.headers.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.netcore.platforms\\5.0.0\\microsoft.netcore.platforms.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.win32.primitives\\4.3.0\\microsoft.win32.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\microsoft.win32.systemevents\\7.0.0\\microsoft.win32.systemevents.7.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\miniprofiler.aspnetcore\\4.2.22\\miniprofiler.aspnetcore.4.2.22.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\miniprofiler.aspnetcore.mvc\\4.2.22\\miniprofiler.aspnetcore.mvc.4.2.22.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\miniprofiler.shared\\4.2.22\\miniprofiler.shared.4.2.22.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\mysqlconnector\\2.2.5\\mysqlconnector.2.2.5.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\netstandard.library\\1.6.1\\netstandard.library.1.6.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\newtonsoft.json\\13.0.2\\newtonsoft.json.13.0.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\newtonsoft.json.bson\\1.0.2\\newtonsoft.json.bson.1.0.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\npgsql\\5.0.7\\npgsql.5.0.7.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\npoi\\2.5.5\\npoi.2.5.5.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\oracle.manageddataaccess.core\\3.21.100\\oracle.manageddataaccess.core.3.21.100.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\pipelines.sockets.unofficial\\2.2.0\\pipelines.sockets.unofficial.2.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\polly\\7.2.2\\polly.7.2.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\portable.bouncycastle\\1.8.10\\portable.bouncycastle.1.8.10.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\quartz\\3.3.3\\quartz.3.3.3.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\rabbitmq.client\\6.2.2\\rabbitmq.client.6.2.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.native.system.io.compression\\4.3.0\\runtime.native.system.io.compression.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.native.system.net.http\\4.3.0\\runtime.native.system.net.http.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\scrutor\\3.3.0\\scrutor.3.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog\\2.10.0\\serilog.2.10.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.aspnetcore\\4.1.0\\serilog.aspnetcore.4.1.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.extensions.hosting\\4.1.2\\serilog.extensions.hosting.4.1.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.extensions.logging\\3.0.1\\serilog.extensions.logging.3.0.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.formatting.compact\\1.1.0\\serilog.formatting.compact.1.1.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.formatting.elasticsearch\\8.4.1\\serilog.formatting.elasticsearch.8.4.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.settings.configuration\\3.1.0\\serilog.settings.configuration.3.1.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.sinks.console\\3.1.1\\serilog.sinks.console.3.1.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.sinks.debug\\2.0.0\\serilog.sinks.debug.2.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.sinks.elasticsearch\\8.4.1\\serilog.sinks.elasticsearch.8.4.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.sinks.file\\4.1.0\\serilog.sinks.file.4.1.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\serilog.sinks.periodicbatching\\2.1.1\\serilog.sinks.periodicbatching.2.1.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\sharpziplib\\1.3.2\\sharpziplib.1.3.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\2.1.4\\sqlitepclraw.bundle_e_sqlite3.2.1.4.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\sqlitepclraw.core\\2.1.4\\sqlitepclraw.core.2.1.4.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3\\2.1.4\\sqlitepclraw.lib.e_sqlite3.2.1.4.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\2.1.4\\sqlitepclraw.provider.e_sqlite3.2.1.4.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\sqlsugarcore\\5.1.4.100\\sqlsugarcore.5.1.4.100.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\sqlsugarcore.dm\\1.2.0\\sqlsugarcore.dm.1.2.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\sqlsugarcore.kdbndp\\7.4.0\\sqlsugarcore.kdbndp.7.4.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\stackexchange.redis\\2.2.50\\stackexchange.redis.2.2.50.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\swashbuckle.aspnetcore\\5.6.3\\swashbuckle.aspnetcore.5.6.3.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\swashbuckle.aspnetcore.filters\\7.0.2\\swashbuckle.aspnetcore.filters.7.0.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\swashbuckle.aspnetcore.filters.abstractions\\7.0.2\\swashbuckle.aspnetcore.filters.abstractions.7.0.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\5.6.3\\swashbuckle.aspnetcore.swagger.5.6.3.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\5.6.3\\swashbuckle.aspnetcore.swaggergen.5.6.3.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.1.5\\swashbuckle.aspnetcore.swaggerui.6.1.5.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.appcontext\\4.3.0\\system.appcontext.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.buffers\\4.5.0\\system.buffers.4.5.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.collections.concurrent\\4.3.0\\system.collections.concurrent.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.collections.immutable\\1.3.0\\system.collections.immutable.1.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.collections.nongeneric\\4.3.0\\system.collections.nongeneric.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.collections.specialized\\4.3.0\\system.collections.specialized.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.componentmodel\\4.3.0\\system.componentmodel.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.componentmodel.primitives\\4.3.0\\system.componentmodel.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.componentmodel.typeconverter\\4.3.0\\system.componentmodel.typeconverter.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.configuration.configurationmanager\\6.0.0\\system.configuration.configurationmanager.6.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.console\\4.3.0\\system.console.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.data.common\\4.3.0\\system.data.common.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.diagnostics.diagnosticsource\\4.7.1\\system.diagnostics.diagnosticsource.4.7.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.diagnostics.performancecounter\\6.0.1\\system.diagnostics.performancecounter.6.0.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.diagnostics.stacktrace\\4.3.0\\system.diagnostics.stacktrace.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.diagnostics.tools\\4.3.0\\system.diagnostics.tools.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.diagnostics.tracesource\\4.3.0\\system.diagnostics.tracesource.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.diagnostics.tracing\\4.3.0\\system.diagnostics.tracing.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.directoryservices\\6.0.1\\system.directoryservices.6.0.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.directoryservices.protocols\\6.0.1\\system.directoryservices.protocols.6.0.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.drawing.common\\7.0.0\\system.drawing.common.7.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.dynamic.runtime\\4.3.0\\system.dynamic.runtime.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.globalization.calendars\\4.3.0\\system.globalization.calendars.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.globalization.extensions\\4.3.0\\system.globalization.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.8.0\\system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.io.compression\\4.3.0\\system.io.compression.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.io.compression.zipfile\\4.3.0\\system.io.compression.zipfile.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.io.pipelines\\5.0.1\\system.io.pipelines.5.0.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.net.http\\4.3.0\\system.net.http.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.net.primitives\\4.3.0\\system.net.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.net.sockets\\4.3.0\\system.net.sockets.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.reflection.emit\\4.7.0\\system.reflection.emit.4.7.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.reflection.metadata\\1.4.1\\system.reflection.metadata.1.4.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime.caching\\4.7.0\\system.runtime.caching.4.7.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\4.6.0\\system.runtime.compilerservices.unsafe.4.6.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime.interopservices\\4.3.0\\system.runtime.interopservices.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime.interopservices.runtimeinformation\\4.3.0\\system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime.numerics\\4.3.0\\system.runtime.numerics.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.runtime.serialization.primitives\\4.3.0\\system.runtime.serialization.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.accesscontrol\\6.0.0\\system.security.accesscontrol.6.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.algorithms\\4.3.0\\system.security.cryptography.algorithms.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.cng\\4.5.0\\system.security.cryptography.cng.4.5.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.csp\\4.3.0\\system.security.cryptography.csp.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.encoding\\4.3.0\\system.security.cryptography.encoding.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.openssl\\4.3.0\\system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.pkcs\\4.5.0\\system.security.cryptography.pkcs.4.5.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.primitives\\4.3.0\\system.security.cryptography.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.protecteddata\\6.0.0\\system.security.cryptography.protecteddata.6.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.x509certificates\\4.3.0\\system.security.cryptography.x509certificates.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.cryptography.xml\\4.5.0\\system.security.cryptography.xml.4.5.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.permissions\\6.0.0\\system.security.permissions.6.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.text.encoding.codepages\\5.0.0\\system.text.encoding.codepages.5.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.text.encoding.extensions\\4.3.0\\system.text.encoding.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.text.encodings.web\\4.5.0\\system.text.encodings.web.4.5.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.text.json\\4.7.2\\system.text.json.4.7.2.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.text.regularexpressions\\4.3.0\\system.text.regularexpressions.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.threading.channels\\4.7.1\\system.threading.channels.4.7.1.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.threading.tasks.extensions\\4.3.0\\system.threading.tasks.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.threading.tasks.parallel\\4.3.0\\system.threading.tasks.parallel.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.threading.timer\\4.3.0\\system.threading.timer.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.xml.readerwriter\\4.3.0\\system.xml.readerwriter.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.xml.xdocument\\4.3.0\\system.xml.xdocument.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\system.xml.xmldocument\\4.3.0\\system.xml.xmldocument.4.3.0.nupkg.sha512",
"C:\\Users\\ADMIN\\.nuget\\packages\\uaparser\\3.1.47\\uaparser.3.1.47.nupkg.sha512"
"C:\\Users\\admin\\.nuget\\packages\\aspnetcoreratelimit\\4.0.1\\aspnetcoreratelimit.4.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\autofac\\6.2.0\\autofac.6.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\autofac.extensions.dependencyinjection\\7.1.0\\autofac.extensions.dependencyinjection.7.1.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\autofac.extras.dynamicproxy\\6.0.0\\autofac.extras.dynamicproxy.6.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\automapper\\10.1.1\\automapper.10.1.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\automapper.extensions.microsoft.dependencyinjection\\8.1.1\\automapper.extensions.microsoft.dependencyinjection.8.1.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\castle.core\\4.4.0\\castle.core.4.4.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\consul\\1.6.10.3\\consul.1.6.10.3.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\elasticsearch.net\\7.8.1\\elasticsearch.net.7.8.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\initq\\1.0.0.7\\initq.1.0.0.7.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\log4net\\2.0.15\\log4net.2.0.15.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.authentication.jwtbearer\\5.0.9\\microsoft.aspnetcore.authentication.jwtbearer.5.0.9.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.connections.abstractions\\5.0.9\\microsoft.aspnetcore.connections.abstractions.5.0.9.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\2.2.0\\microsoft.aspnetcore.cryptography.internal.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.dataprotection\\2.2.0\\microsoft.aspnetcore.dataprotection.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.dataprotection.abstractions\\2.2.0\\microsoft.aspnetcore.dataprotection.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.hosting.abstractions\\2.2.0\\microsoft.aspnetcore.hosting.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.hosting.server.abstractions\\2.2.0\\microsoft.aspnetcore.hosting.server.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.http\\2.2.2\\microsoft.aspnetcore.http.2.2.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.http.abstractions\\2.2.0\\microsoft.aspnetcore.http.abstractions.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.http.features\\5.0.9\\microsoft.aspnetcore.http.features.5.0.9.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.jsonpatch\\5.0.9\\microsoft.aspnetcore.jsonpatch.5.0.9.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.mvc.newtonsoftjson\\5.0.9\\microsoft.aspnetcore.mvc.newtonsoftjson.5.0.9.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.session\\2.2.0\\microsoft.aspnetcore.session.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.signalr.common\\5.0.9\\microsoft.aspnetcore.signalr.common.5.0.9.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.signalr.protocols.newtonsoftjson\\5.0.9\\microsoft.aspnetcore.signalr.protocols.newtonsoftjson.5.0.9.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.aspnetcore.webutilities\\2.2.0\\microsoft.aspnetcore.webutilities.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.data.sqlclient\\2.1.4\\microsoft.data.sqlclient.2.1.4.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.data.sqlclient.sni.runtime\\2.1.1\\microsoft.data.sqlclient.sni.runtime.2.1.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.data.sqlite\\7.0.5\\microsoft.data.sqlite.7.0.5.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.data.sqlite.core\\7.0.5\\microsoft.data.sqlite.core.7.0.5.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.apidescription.server\\3.0.0\\microsoft.extensions.apidescription.server.3.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\5.0.0\\microsoft.extensions.caching.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.caching.memory\\5.0.0\\microsoft.extensions.caching.memory.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.configuration\\5.0.0\\microsoft.extensions.configuration.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\5.0.0\\microsoft.extensions.configuration.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.configuration.binder\\5.0.0\\microsoft.extensions.configuration.binder.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.configuration.fileextensions\\5.0.0\\microsoft.extensions.configuration.fileextensions.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.configuration.json\\5.0.0\\microsoft.extensions.configuration.json.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\5.0.2\\microsoft.extensions.dependencyinjection.5.0.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\5.0.0\\microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.dependencymodel\\3.1.6\\microsoft.extensions.dependencymodel.3.1.6.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.fileproviders.abstractions\\5.0.0\\microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.fileproviders.physical\\5.0.0\\microsoft.extensions.fileproviders.physical.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.filesystemglobbing\\5.0.0\\microsoft.extensions.filesystemglobbing.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.hosting\\2.1.0\\microsoft.extensions.hosting.2.1.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.hosting.abstractions\\3.1.8\\microsoft.extensions.hosting.abstractions.3.1.8.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.logging\\5.0.0\\microsoft.extensions.logging.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\5.0.0\\microsoft.extensions.logging.abstractions.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.logging.debug\\5.0.0\\microsoft.extensions.logging.debug.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.logging.log4net.aspnetcore\\5.0.3\\microsoft.extensions.logging.log4net.aspnetcore.5.0.3.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.objectpool\\2.2.0\\microsoft.extensions.objectpool.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.options\\5.0.0\\microsoft.extensions.options.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.options.configurationextensions\\5.0.0\\microsoft.extensions.options.configurationextensions.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.extensions.primitives\\5.0.1\\microsoft.extensions.primitives.5.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.identity.client\\4.21.1\\microsoft.identity.client.4.21.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.identitymodel.jsonwebtokens\\6.8.0\\microsoft.identitymodel.jsonwebtokens.6.8.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.identitymodel.logging\\6.8.0\\microsoft.identitymodel.logging.6.8.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.identitymodel.protocols\\6.8.0\\microsoft.identitymodel.protocols.6.8.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.identitymodel.protocols.openidconnect\\6.8.0\\microsoft.identitymodel.protocols.openidconnect.6.8.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.identitymodel.tokens\\6.8.0\\microsoft.identitymodel.tokens.6.8.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.net.http.headers\\2.2.0\\microsoft.net.http.headers.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.netcore.platforms\\5.0.0\\microsoft.netcore.platforms.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.netcore.targets\\1.1.0\\microsoft.netcore.targets.1.1.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.openapi\\1.2.3\\microsoft.openapi.1.2.3.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.win32.primitives\\4.3.0\\microsoft.win32.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\microsoft.win32.systemevents\\7.0.0\\microsoft.win32.systemevents.7.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\miniprofiler.aspnetcore\\4.2.22\\miniprofiler.aspnetcore.4.2.22.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\miniprofiler.aspnetcore.mvc\\4.2.22\\miniprofiler.aspnetcore.mvc.4.2.22.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\miniprofiler.shared\\4.2.22\\miniprofiler.shared.4.2.22.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\mysqlconnector\\2.2.5\\mysqlconnector.2.2.5.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\netstandard.library\\1.6.1\\netstandard.library.1.6.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\newtonsoft.json\\13.0.2\\newtonsoft.json.13.0.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\newtonsoft.json.bson\\1.0.2\\newtonsoft.json.bson.1.0.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\npgsql\\5.0.7\\npgsql.5.0.7.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\npoi\\2.5.5\\npoi.2.5.5.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\oracle.manageddataaccess.core\\3.21.100\\oracle.manageddataaccess.core.3.21.100.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\pipelines.sockets.unofficial\\2.2.0\\pipelines.sockets.unofficial.2.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\polly\\7.2.2\\polly.7.2.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\portable.bouncycastle\\1.8.10\\portable.bouncycastle.1.8.10.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\quartz\\3.3.3\\quartz.3.3.3.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\rabbitmq.client\\6.2.2\\rabbitmq.client.6.2.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.native.system\\4.3.0\\runtime.native.system.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.native.system.io.compression\\4.3.0\\runtime.native.system.io.compression.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.native.system.net.http\\4.3.0\\runtime.native.system.net.http.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.apple.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl\\4.3.0\\runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\scrutor\\3.3.0\\scrutor.3.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog\\2.10.0\\serilog.2.10.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.aspnetcore\\4.1.0\\serilog.aspnetcore.4.1.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.extensions.hosting\\4.1.2\\serilog.extensions.hosting.4.1.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.extensions.logging\\3.0.1\\serilog.extensions.logging.3.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.formatting.compact\\1.1.0\\serilog.formatting.compact.1.1.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.formatting.elasticsearch\\8.4.1\\serilog.formatting.elasticsearch.8.4.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.settings.configuration\\3.1.0\\serilog.settings.configuration.3.1.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.sinks.console\\3.1.1\\serilog.sinks.console.3.1.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.sinks.debug\\2.0.0\\serilog.sinks.debug.2.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.sinks.elasticsearch\\8.4.1\\serilog.sinks.elasticsearch.8.4.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.sinks.file\\4.1.0\\serilog.sinks.file.4.1.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\serilog.sinks.periodicbatching\\2.1.1\\serilog.sinks.periodicbatching.2.1.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\sharpziplib\\1.3.2\\sharpziplib.1.3.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\sqlitepclraw.bundle_e_sqlite3\\2.1.4\\sqlitepclraw.bundle_e_sqlite3.2.1.4.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\sqlitepclraw.core\\2.1.4\\sqlitepclraw.core.2.1.4.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\sqlitepclraw.lib.e_sqlite3\\2.1.4\\sqlitepclraw.lib.e_sqlite3.2.1.4.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\sqlitepclraw.provider.e_sqlite3\\2.1.4\\sqlitepclraw.provider.e_sqlite3.2.1.4.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\sqlsugarcore\\5.1.4.100\\sqlsugarcore.5.1.4.100.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\sqlsugarcore.dm\\1.2.0\\sqlsugarcore.dm.1.2.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\sqlsugarcore.kdbndp\\7.4.0\\sqlsugarcore.kdbndp.7.4.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\stackexchange.redis\\2.2.50\\stackexchange.redis.2.2.50.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\swashbuckle.aspnetcore\\5.6.3\\swashbuckle.aspnetcore.5.6.3.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\swashbuckle.aspnetcore.filters\\7.0.2\\swashbuckle.aspnetcore.filters.7.0.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\swashbuckle.aspnetcore.filters.abstractions\\7.0.2\\swashbuckle.aspnetcore.filters.abstractions.7.0.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\swashbuckle.aspnetcore.swagger\\5.6.3\\swashbuckle.aspnetcore.swagger.5.6.3.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\swashbuckle.aspnetcore.swaggergen\\5.6.3\\swashbuckle.aspnetcore.swaggergen.5.6.3.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\swashbuckle.aspnetcore.swaggerui\\6.1.5\\swashbuckle.aspnetcore.swaggerui.6.1.5.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.appcontext\\4.3.0\\system.appcontext.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.buffers\\4.5.0\\system.buffers.4.5.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.collections\\4.3.0\\system.collections.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.collections.concurrent\\4.3.0\\system.collections.concurrent.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.collections.immutable\\1.3.0\\system.collections.immutable.1.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.collections.nongeneric\\4.3.0\\system.collections.nongeneric.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.collections.specialized\\4.3.0\\system.collections.specialized.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.componentmodel\\4.3.0\\system.componentmodel.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.componentmodel.primitives\\4.3.0\\system.componentmodel.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.componentmodel.typeconverter\\4.3.0\\system.componentmodel.typeconverter.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.configuration.configurationmanager\\6.0.0\\system.configuration.configurationmanager.6.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.console\\4.3.0\\system.console.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.data.common\\4.3.0\\system.data.common.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.diagnostics.debug\\4.3.0\\system.diagnostics.debug.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.diagnostics.diagnosticsource\\4.7.1\\system.diagnostics.diagnosticsource.4.7.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.diagnostics.performancecounter\\6.0.1\\system.diagnostics.performancecounter.6.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.diagnostics.stacktrace\\4.3.0\\system.diagnostics.stacktrace.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.diagnostics.tools\\4.3.0\\system.diagnostics.tools.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.diagnostics.tracesource\\4.3.0\\system.diagnostics.tracesource.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.diagnostics.tracing\\4.3.0\\system.diagnostics.tracing.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.directoryservices\\6.0.1\\system.directoryservices.6.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.directoryservices.protocols\\6.0.1\\system.directoryservices.protocols.6.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.drawing.common\\7.0.0\\system.drawing.common.7.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.dynamic.runtime\\4.3.0\\system.dynamic.runtime.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.globalization\\4.3.0\\system.globalization.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.globalization.calendars\\4.3.0\\system.globalization.calendars.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.globalization.extensions\\4.3.0\\system.globalization.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.identitymodel.tokens.jwt\\6.8.0\\system.identitymodel.tokens.jwt.6.8.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.io\\4.3.0\\system.io.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.io.compression\\4.3.0\\system.io.compression.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.io.compression.zipfile\\4.3.0\\system.io.compression.zipfile.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.io.filesystem\\4.3.0\\system.io.filesystem.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.io.filesystem.primitives\\4.3.0\\system.io.filesystem.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.io.pipelines\\5.0.1\\system.io.pipelines.5.0.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.linq\\4.3.0\\system.linq.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.linq.expressions\\4.3.0\\system.linq.expressions.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.memory\\4.5.4\\system.memory.4.5.4.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.net.http\\4.3.0\\system.net.http.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.net.primitives\\4.3.0\\system.net.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.net.sockets\\4.3.0\\system.net.sockets.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.objectmodel\\4.3.0\\system.objectmodel.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.reflection\\4.3.0\\system.reflection.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.reflection.emit\\4.7.0\\system.reflection.emit.4.7.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.reflection.emit.ilgeneration\\4.3.0\\system.reflection.emit.ilgeneration.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.reflection.emit.lightweight\\4.3.0\\system.reflection.emit.lightweight.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.reflection.extensions\\4.3.0\\system.reflection.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.reflection.metadata\\1.4.1\\system.reflection.metadata.1.4.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.reflection.primitives\\4.3.0\\system.reflection.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.reflection.typeextensions\\4.3.0\\system.reflection.typeextensions.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.resources.resourcemanager\\4.3.0\\system.resources.resourcemanager.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime\\4.3.0\\system.runtime.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime.caching\\4.7.0\\system.runtime.caching.4.7.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime.compilerservices.unsafe\\4.6.0\\system.runtime.compilerservices.unsafe.4.6.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime.extensions\\4.3.0\\system.runtime.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime.handles\\4.3.0\\system.runtime.handles.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime.interopservices\\4.3.0\\system.runtime.interopservices.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime.interopservices.runtimeinformation\\4.3.0\\system.runtime.interopservices.runtimeinformation.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime.numerics\\4.3.0\\system.runtime.numerics.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.runtime.serialization.primitives\\4.3.0\\system.runtime.serialization.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.accesscontrol\\6.0.0\\system.security.accesscontrol.6.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.algorithms\\4.3.0\\system.security.cryptography.algorithms.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.cng\\4.5.0\\system.security.cryptography.cng.4.5.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.csp\\4.3.0\\system.security.cryptography.csp.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.encoding\\4.3.0\\system.security.cryptography.encoding.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.openssl\\4.3.0\\system.security.cryptography.openssl.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.pkcs\\4.5.0\\system.security.cryptography.pkcs.4.5.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.primitives\\4.3.0\\system.security.cryptography.primitives.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.protecteddata\\6.0.0\\system.security.cryptography.protecteddata.6.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.x509certificates\\4.3.0\\system.security.cryptography.x509certificates.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.cryptography.xml\\4.5.0\\system.security.cryptography.xml.4.5.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.permissions\\6.0.0\\system.security.permissions.6.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.text.encoding\\4.3.0\\system.text.encoding.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.text.encoding.codepages\\5.0.0\\system.text.encoding.codepages.5.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.text.encoding.extensions\\4.3.0\\system.text.encoding.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.text.encodings.web\\4.5.0\\system.text.encodings.web.4.5.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.text.json\\4.7.2\\system.text.json.4.7.2.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.text.regularexpressions\\4.3.0\\system.text.regularexpressions.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.threading\\4.3.0\\system.threading.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.threading.channels\\4.7.1\\system.threading.channels.4.7.1.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.threading.tasks\\4.3.0\\system.threading.tasks.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.threading.tasks.extensions\\4.3.0\\system.threading.tasks.extensions.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.threading.tasks.parallel\\4.3.0\\system.threading.tasks.parallel.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.threading.timer\\4.3.0\\system.threading.timer.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.xml.readerwriter\\4.3.0\\system.xml.readerwriter.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.xml.xdocument\\4.3.0\\system.xml.xdocument.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\system.xml.xmldocument\\4.3.0\\system.xml.xmldocument.4.3.0.nupkg.sha512",
"C:\\Users\\admin\\.nuget\\packages\\uaparser\\3.1.47\\uaparser.3.1.47.nupkg.sha512"
],
"logs": []
}

@ -1,5 +1,7 @@
using Admin.Core.Model;
using Admin.Core.Model.Model_New;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Admin.Core.IRepository
{
@ -8,5 +10,7 @@ namespace Admin.Core.IRepository
/// </summary>
public interface IExecutePlanInfoRepository : IBaseRepository<ExecutePlanInfo>
{
Task<List<dynamic>> GetStationMaterialStats(string stationCode);
Task<List<dynamic>> GetStationHourAmount(string stationCode);
}
}

@ -1,4 +1,6 @@
using Admin.Core.Model;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Admin.Core.IRepository
{
@ -7,5 +9,6 @@ namespace Admin.Core.IRepository
/// </summary>
public interface IProductPlanInfoRepository : IBaseRepository<ProductPlanInfo>
{
}
}

@ -0,0 +1,11 @@
using Admin.Core.Model;
namespace Admin.Core.IRepository
{
/// <summary>
/// IRecordProductFinishRepository
/// </summary>
public interface IRecordProductFinishRepository : IBaseRepository<RecordProductFinish>
{
}
}

@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.IRepository
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Admin.Core.IRepository\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.IRepository\

@ -18,5 +18,12 @@ namespace Admin.Core.IService
/// <param name="materialType"></param>
/// <returns></returns>
Task<BaseBomInfo> GetChildenBomInfoByMaterialCode(string materialCode, string materialType);
/// <summary>
/// 根据物料编号获取BOM信息
/// </summary>
/// <param name="materialCode"></param>
/// <returns></returns>
Task<BaseBomInfo> GetBomInfoByMaterialCode(string materialCode);
}
}

@ -1,5 +1,7 @@
using Admin.Core.IService;
using Admin.Core.Model;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Admin.Core.IService
{
@ -8,5 +10,49 @@ namespace Admin.Core.IService
/// </summary>
public interface IBaseSpaceDetailServices : IBaseServices<BaseSpaceDetail>
{
/// <summary>
/// 通过货道号获取货道明细
/// </summary>
/// <param name="storeCode"></param>
/// <param name="spaceCode"></param>
/// <returns></returns>
Task<List<BaseSpaceDetail>> GetSpaceDetailsBySpaceCode(string storeCode, string spaceCode);
/// <summary>
/// 通过物料编号获取货道明细
/// </summary>
/// <param name="materialCode"></param>
/// <returns></returns>
Task<BaseSpaceDetail> GetSpaceDetailByMaterialCode(string materialCode);
/// <summary>
/// 根据物料类型获取可用的货道明细
/// </summary>
/// <param name="storeCode"></param>
/// <param name="materialType"></param>
/// <returns></returns>
Task<List<BaseSpaceDetail>> GetSpaceDetailsByMaterialTypeAsync(string storeCode, string materialType);
/// <summary>
/// 添加货道明细
/// </summary>
/// <param name="spaceDetail"></param>
/// <returns></returns>
Task<bool> InsertSpaceDetail(BaseSpaceDetail spaceDetail);
/// <summary>
/// 修改货道明细
/// </summary>
/// <param name="spaceDetail"></param>
/// <returns></returns>
Task<bool> UpdateSpaceDetail(BaseSpaceDetail spaceDetail);
/// <summary>
/// 根据物料编号删除货道明细
/// </summary>
/// <param name="materialCode"></param>
/// <returns></returns>
Task<bool> DeleteSpaceDetailByMaterialCode(string materialCode);
}
}

@ -24,7 +24,7 @@ namespace Admin.Core.IService
/// <param name="store"></param>
/// <param name="materialType"></param>
/// <returns></returns>
Task<BaseSpaceInfo> OutStoreGetSpaceInfoByMaterialCode(string store, string materialCode);
Task<List<BaseSpaceInfo>> OutStoreGetSpaceInfoByMaterialCode(string store, string materialCode);
/// <summary>
/// 通过货道编号获取货道信息
@ -41,6 +41,26 @@ namespace Admin.Core.IService
/// <returns></returns>
Task<bool> UpdateSpaceInfo(BaseSpaceInfo spaceInfo);
/// <summary>
///
/// </summary>
/// <param name="shellStoreCode"></param>
/// <param name="linerStoreCode"></param>
/// <returns></returns>
List<dynamic> GetMaterialStock(string shellStoreCode, string linerStoreCode);
/// <summary>
/// 通过物料类型获取货道信息,如果没有返回空白货道
/// </summary>
/// <param name="storeCode"></param>
/// <param name="materialType"></param>
/// <returns></returns>
List<BaseSpaceInfo> GetBaseSpaceInfosByMaterialType(string storeCode, string materialType);
/// <summary>
/// 获取空货道:未分配物料型号的空白货道
/// </summary>
/// <returns></returns>
List<BaseSpaceInfo> GetEmptySpaceInfo(string store);
}
}

@ -1,4 +1,5 @@
using Admin.Core.Model;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Admin.Core.IService
@ -8,9 +9,104 @@ namespace Admin.Core.IService
/// </summary>
public interface IExecutePlanInfoServices : IBaseServices<ExecutePlanInfo>
{
/// <summary>
/// 计划上移
/// </summary>
/// <param name="id"></param>
/// <param name="station"></param>
/// <returns></returns>
Task<bool> PlanMoveUp(string id,string station);
/// <summary>
/// 计划下移
/// </summary>
/// <param name="id"></param>
/// <param name="station"></param>
/// <returns></returns>
Task<bool> PlanMoveDown(string id, string station);
/// <summary>
/// 删除计划
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
Task<bool> ExecPlanDelete(string id);
/// <summary>
/// 下发计划
/// </summary>
/// <param name="sm"></param>
/// <returns></returns>
Task<ExecutePlanInfo> PlanNextPass(ExecutePlanInfo sm);
#region 出入库操作
/// <summary>
/// 通过产线工位获取执行计划
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
Task<List<ExecutePlanInfo>> GetExecutePlanInfosByProductLineCode(string productLineCode);
/// <summary>
/// 通过生产计划编号获取执行计划
/// </summary>
/// <param name="productPlanCode"></param>
/// <returns></returns>
Task<List<ExecutePlanInfo>> GetExecutePlanInfosByProductPlanCode(string productPlanCode);
/// <summary>
/// 通过执行计划编号获取执行计划
/// </summary>
/// <param name="executePlanCode"></param>
/// <returns></returns>
Task<ExecutePlanInfo> GetExecutePlanInfoByPlanCode(string executePlanCode);
/// <summary>
/// 通过产线工位获取执行顺序(默认+1
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
Task<int> GetExecuteOrderByProductLineCode(string productLineCode);
/// <summary>
/// 新增执行计划
/// </summary>
/// <param name="executePlanInfo"></param>
/// <returns></returns>
Task<bool> InsertExecutePlanInfo(ExecutePlanInfo executePlanInfo);
/// <summary>
/// 修改执行计划
/// </summary>
/// <param name="executePlanInfo"></param>
/// <returns></returns>
Task<bool> UpdateExecutePlanInfo(ExecutePlanInfo executePlanInfo);
/// <summary>
/// 批量修改执行计划
/// </summary>
/// <param name="executePlanInfos"></param>
/// <returns></returns>
Task<bool> UpdateRangeExecutePlanInfo(List<ExecutePlanInfo> executePlanInfos);
/// <summary>
/// 根据执行计划编号删除执行计划
/// </summary>
/// <param name="executePlanCode"></param>
/// <returns></returns>
Task<bool> DeleteExecutePlanInfoByPlanCode(string executePlanCode);
/// <summary>
/// 获取工位小时产量
/// </summary>
/// <param name="stationCode"></param>
/// <returns></returns>
Task<List<dynamic>> GetStationHourAmount(string stationCode);
/// <summary>
/// 获取物料型号统计
/// </summary>
/// <param name="stationCode"></param>
/// <returns></returns>
Task<List<dynamic>> GetStationMaterialStats(string stationCode);
#endregion
}
}

@ -16,6 +16,36 @@ namespace Admin.Core.IService
/// </summary>
/// <returns></returns>
Task<List<PlanMaintenanceView>> QueryPlanInfo(string station);
#region 货道出入库
/// <summary>
/// 通过产线工位获取生产计划
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
Task<List<ProductPlanInfo>> GetProductPlanInfosByProductLineCode(string productLineCode);
/// <summary>
/// 通过计划编号获取计划信息
/// </summary>
/// <param name="planCode"></param>
/// <returns></returns>
Task<ProductPlanInfo> GetProductPlanByPlanCode(string planCode);
/// <summary>
/// 添加生产计划
/// </summary>
/// <param name="productPlanInfo"></param>
/// <returns></returns>
Task<bool> InsertProductPlanInfo(ProductPlanInfo productPlanInfo);
/// <summary>
/// 修改生产计划
/// </summary>
/// <param name="productPlanInfo"></param>
/// <returns></returns>
Task<bool> UpdateProductPlanInfo(ProductPlanInfo productPlanInfo);
#endregion
}
}

@ -1,5 +1,5 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Model;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Admin.Core.IService
@ -9,6 +9,75 @@ namespace Admin.Core.IService
/// </summary>
public interface IRealTaskInfoServices : IBaseServices<RealTaskInfo>
{
Task<RealTaskInfo> FirstAsync();
/// <summary>
/// 添加任务信息
/// </summary>
/// <param name="taskInfo"></param>
/// <returns></returns>
Task<bool> AddTaskInfo(RealTaskInfo taskInfo);
/// <summary>
/// 更新任务信息
/// </summary>
/// <param name="taskInfo"></param>
/// <returns></returns>
Task<bool> UpdateTaskInfo(RealTaskInfo taskInfo);
/// <summary>
/// 批量修改任务信息
/// </summary>
/// <param name="taskInfos"></param>
/// <returns></returns>
Task<bool> UpdateRangeTaskInfo(List<RealTaskInfo> taskInfos);
/// <summary>
/// 删除任务信息
/// </summary>
/// <param name="taskInfo"></param>
Task<bool> DeleteTaskInfo(string taskCode, string storeCode = null);
/// <summary>
/// 通过任务编号更新任务状态
/// </summary>
/// <param name="taskCode"></param>
/// <param name="taskStatus"></param>
/// <returns></returns>
Task<bool> UpdateTaskStatusByTaskCode(string taskCode, int taskStatus);
/// <summary>
/// 通过仓库编号获取待执行的任务信息,根据时间依次获取
/// </summary>
/// <param name="storeCode"></param>
/// <returns></returns>
Task<RealTaskInfo> GetTaskInfoByStoreCode(string storeCode, int taskType);
/// <summary>
/// 通过任务号获取任务信息
/// </summary>
/// <param name="taskCode"></param>
/// <returns></returns>
Task<RealTaskInfo> GetTaskInfoByTaskCode(string taskCode, string storeCode);
/// <summary>
/// 通过仓库编号获取任务
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskType"></param>
/// <returns></returns>
Task<List<RealTaskInfo>> GetTaskInfosByStoreCode(string[] storeCode, int taskType);
Task<List<RealTaskInfo>> GetTaskInfosByTaskCode(string taskCode);
Task<bool> DeleteTaskInfoById(int id);
/// <summary>
/// 获取指定状态的任务列表
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskType"></param>
/// <param name="taskStatus">0返回所有状态1-待执行2-执行中3-已完成</param>
/// <returns></returns>
Task<List<RealTaskInfo>> GetTaskInfosByTaskStatus(string[] storeCode, int taskType, int taskStatus);
}
}

@ -1,5 +1,4 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Model;
using Admin.Core.Model.ViewModels;
using System;
using System.Collections.Generic;
@ -8,9 +7,9 @@ using System.Threading.Tasks;
namespace Admin.Core.IService
{
/// <summary>
/// IRecordInstoreServices
/// IRecordInStoreServices
/// </summary>
public interface IRecordInstoreServices : IBaseServices<RecordInstore>
public interface IRecordInStoreServices : IBaseServices<RecordInstore>
{
/// <summary>
/// 开启事务记录信息

@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.IService
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Admin.Core.IService\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.IService\

@ -92,6 +92,11 @@ namespace Admin.Core.Model
/// </summary>
[SugarColumn(ColumnName = "ONROUTE_AMOUNT")]
public int OnRouteAmount { get; set; }
/// <summary>
/// 出库数量
/// </summary>
[SugarColumn(ColumnName = "OUTROUTE_AMOUNT")]
public int OutRouteAmount { get; set; }
/// <summary>
/// 入库标识:1-允许入库2-禁止入库

@ -24,7 +24,11 @@ namespace Admin.Core.Model
/// </summary>
[SugarColumn(ColumnName = "TASK_CODE")]
public string TaskCode { get; set; }
/// <summary>
/// 任务形式0-自动1-手动
/// </summary>
[SugarColumn(ColumnName = "TASK_MODEL")]
public int TaskModel { get; set; }
/// <summary>
/// 任务类型1-入库2-出库
/// </summary>

@ -0,0 +1,97 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Admin.Core.Model
{
/// <summary>
/// 出库记录
/// </summary>
[SugarTable("RECORD_OUTSTORE", "AUCMA_MES")]
public class RecordOutstore
{
/// <summary>
/// 主键标识
///</summary>
[SugarColumn(ColumnName = "OBJ_ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_RECORD_OUTSTORE")]
public decimal ObjId { get; set; }
/// <summary>
/// 仓库编号
///</summary>
[SugarColumn(ColumnName = "STORE_CODE")]
public string StoreCode { get; set; }
/// <summary>
/// 仓库区域
///</summary>
[SugarColumn(ColumnName = "STORE_AREA")]
public string StoreArea { get; set; }
/// <summary>
/// 货道编号
///</summary>
[SugarColumn(ColumnName = "SPACE_CODE")]
public string SpaceCode { get; set; }
/// <summary>
/// 物料编号
///</summary>
[SugarColumn(ColumnName = "MATERIAL_CODE")]
public string MaterialCode { get; set; }
/// <summary>
/// 物料名称
///</summary>
[SugarColumn(ColumnName = "MATERIAL_NAME")]
public string MaterialName { get; set; }
/// <summary>
/// 出库数量
///</summary>
[SugarColumn(ColumnName = "OUT_STORE_AMOUNT")]
public decimal? OutStoreAmount { get; set; }
/// <summary>
/// 出库时间
///</summary>
[SugarColumn(ColumnName = "OUT_STORE_TIME")]
public DateTime? OutStoreTime { get; set; }
/// <summary>
/// 物料条码编号
///</summary>
[SugarColumn(ColumnName = "BARCODE_CODE")]
public string BarCodeCode { get; set; }
/// <summary>
/// 物料类型
///</summary>
[SugarColumn(ColumnName = "MATERIAL_TYPE")]
public string MaterialType { get; set; }
/// <summary>
/// 出库方式0-正常1-异常)
///</summary>
[SugarColumn(ColumnName = "EXIT_PATTERN")]
public short? ExitPattern { get; set; }
/// <summary>
/// 是否标识
///</summary>
[SugarColumn(ColumnName = "IS_FLAG")]
public decimal? IsFlag { get; set; }
/// <summary>
/// 创建人
///</summary>
[SugarColumn(ColumnName = "CREATED_BY")]
public string CreatedBy { get; set; }
/// <summary>
/// 创建时间
///</summary>
[SugarColumn(ColumnName = "CREATED_TIME")]
public DateTime? CreatedTime { get; set; }
/// <summary>
/// 更新人
///</summary>
[SugarColumn(ColumnName = "UPDATED_BY")]
public string UpdatedBy { get; set; }
/// <summary>
/// 更新时间
///</summary>
[SugarColumn(ColumnName = "UPDATED_TIME")]
public DateTime? UpdatedTime { get; set; }
}
}

@ -0,0 +1,52 @@
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Admin.Core.Model
{
/// <summary>
/// 完成记录
///</summary>
[SugarTable("RECORD_PRODUCTFINISH", "AUCMA_MES")]
public class RecordProductFinish
{
/// <summary>
/// 主键标识
///</summary>
[SugarColumn(ColumnName = "OBJ_ID", IsPrimaryKey = true, OracleSequenceName = "SEQ_RECORD_PRODUCTFINISH")]
public decimal ObjId { get; set; }
/// <summary>
/// 计划编号
///</summary>
[SugarColumn(ColumnName = "PLAN_CODE")]
public string PlanCode { get; set; }
/// <summary>
/// 物料编号
///</summary>
[SugarColumn(ColumnName = "MATERIAL_CODE")]
public string MaterialCode { get; set; }
/// <summary>
/// 计划工位
///</summary>
[SugarColumn(ColumnName = "PRODUCTLINE_CODE")]
public string ProductlineCode { get; set; }
/// <summary>
/// 完成数量
///</summary>
[SugarColumn(ColumnName = "COMPLETE_AMOUNT")]
public decimal? CompleteAmount { get; set; }
/// <summary>
/// 记录时间
///</summary>
[SugarColumn(ColumnName = "RECORD_TIME")]
public DateTime? RecordTime { get; set; }
/// <summary>
/// 是否标识
///</summary>
[SugarColumn(ColumnName = "IS_FLAG")]
public decimal? IsFlag { get; set; }
}
}

@ -18,19 +18,19 @@ namespace Admin.Core.Model
/// 用户Id自增主键
///</summary>
[SugarColumn(ColumnName = "USER_ID", IsPrimaryKey = true, IsIdentity = true)]
public int userId { get; set; }
public int UserId { get; set; }
/// <summary>
/// 用户名称
///</summary>
[SugarColumn(ColumnName = "USER_NAME")]
public string userName { get; set; }
public string UserName { get; set; }
/// <summary>
/// 用户密码
///</summary>
[SugarColumn(ColumnName = "PASSWORD")]
public string password { get; set; }
public string Password { get; set; }
}
}

@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Model
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Admin.Core.Model\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Model\

@ -1,8 +1,10 @@
using Admin.Core.Model;
using Admin.Core.Model.Model_New;
using Admin.Core.Repository;
using Admin.Core.IRepository;
using Admin.Core.Model;
using SqlSugar;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Admin.Core.IRepository
namespace Admin.Core.Repository
{
/// <summary>
/// ExecutePlanInfoRepository
@ -12,5 +14,15 @@ namespace Admin.Core.IRepository
public ExecutePlanInfoRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
{
}
public async Task<List<dynamic>> GetStationMaterialStats(string stationCode)
{
return await Db.Queryable<dynamic>().AS("GET_STATION_MATERIALSTATS").Where("PRODUCTLINE_CODE = @stationCode", new { stationCode = stationCode }).ToListAsync();
}
public async Task<List<dynamic>> GetStationHourAmount(string stationCode)
{
return await Db.Queryable<dynamic>().AS("GET_STATION_HOURAMOUNT").Where("PRODUCTLINE_CODE = @stationCode", new { stationCode = stationCode }).ToListAsync();
}
}
}

@ -1,5 +1,10 @@
using Admin.Core.Model;
using Admin.Core.Repository;
using Microsoft.IdentityModel.Logging;
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Threading.Tasks;
namespace Admin.Core.IRepository
{
@ -12,5 +17,7 @@ namespace Admin.Core.IRepository
{
}
}
}

@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Repository
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Admin.Core.Repository\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Repository\

@ -22,6 +22,20 @@ namespace Admin.Core.Service
base.BaseDal = dal;
}
public async Task<BaseBomInfo> GetBomInfoByMaterialCode(string materialCode)
{
BaseBomInfo bomInfo = null;
try
{
bomInfo = await _dal.FirstAsync(x => x.MaterialCode == materialCode);
}
catch (Exception ex)
{
logHelper.Error("根据物料编号获取BOM信息异常", ex);
}
return bomInfo;
}
public async Task<BaseBomInfo> GetChildenBomInfoByMaterialCode(string materialCode, string materialType)
{
BaseBomInfo bomInfo = null;

@ -1,17 +1,156 @@
using Admin.Core.IRepository;
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Model.Model_New;
using System.Collections.Generic;
using System.Linq.Expressions;
using System;
using log4net;
using StackExchange.Profiling.Internal;
using Admin.Core.Common;
using System.Threading.Tasks;
namespace Admin.Core.Service
{
public class BaseSpaceDetailServices : BaseServices<BaseSpaceDetail>, IBaseSpaceDetailServices
{
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(BaseSpaceDetailServices));
private readonly IBaseRepository<BaseSpaceDetail> _dal;
public BaseSpaceDetailServices(IBaseRepository<BaseSpaceDetail> dal)
{
this._dal = dal;
base.BaseDal = dal;
}
/// <summary>
/// 根据物料编号删除货道明细
/// </summary>
/// <param name="materialCode"></param>
/// <returns></returns>
public async Task<bool> DeleteSpaceDetailByMaterialCode(string materialCode)
{
bool result = false;
try
{
BaseSpaceDetail spaceDetail =await this.GetSpaceDetailByMaterialCode(materialCode);
result = _dal.Delete(spaceDetail);
}
catch (Exception ex)
{
logHelper.Error("根据物料编号删除货道明细异常", ex);
}
return result;
}
/// <summary>
/// 通过物料编号获取货道明细
/// </summary>
/// <param name="materialCode"></param>
/// <returns></returns>
public async Task<BaseSpaceDetail> GetSpaceDetailByMaterialCode(string materialCode)
{
BaseSpaceDetail spaceDetail = null;
try
{
Expression<Func<BaseSpaceDetail, bool>> exp = s1 => true;
exp = exp.And(x => x.MaterialCode == materialCode);
spaceDetail =await _dal.FirstAsync(exp);
logHelper.Info($"根据物料编号{materialCode};获取到的货道明细信息:{spaceDetail.ToJson()}");
}
catch (Exception ex)
{
logHelper.Error("通过物料编号获取货道明细", ex);
}
return spaceDetail;
}
/// <summary>
/// 根据物料类型获取可用的货道明细
/// </summary>
/// <param name="storeCode"></param>
/// <param name="materialType"></param>
/// <returns></returns>
public async Task<List<BaseSpaceDetail>> GetSpaceDetailsByMaterialTypeAsync(string storeCode, string materialType)
{
List<BaseSpaceDetail> spaceDetails = null;
try
{
Expression<Func<BaseSpaceDetail, bool>> exp = s1 => true;
exp = exp.And(x => x.StoreCode == storeCode && x.MaterialType == materialType && x.IsFlag != 1);
spaceDetails = await _dal.QueryAsync(exp);
logHelper.Info($"根据仓库编号:{storeCode};物料类型:{materialType};获取到的货道明细:{spaceDetails}");
}
catch (Exception ex)
{
logHelper.Error("通过物料类型获取货道明细异常", ex);
}
return spaceDetails;
}
/// <summary>
/// 通过货道号获取货道明细
/// </summary>
/// <param name="storeCode"></param>
/// <param name="spaceCode"></param>
/// <returns></returns>
public async Task<List<BaseSpaceDetail>> GetSpaceDetailsBySpaceCode(string storeCode, string spaceCode)
{
List<BaseSpaceDetail> spaceDetails = null;
try
{
Expression<Func<BaseSpaceDetail, bool>> exp = s1 => true;
exp = exp.And(x => x.StoreCode == storeCode && x.SpaceCode == spaceCode);
spaceDetails =await _dal.QueryAsync(exp);
logHelper.Info($"根据仓库编号:{storeCode};货道编号:{spaceCode};获取到的执货道明细:{spaceDetails.ToJson()}");
}
catch (Exception ex)
{
logHelper.Error("通过货道号获取货道明细异常", ex);
}
return spaceDetails;
}
/// <summary>
/// 添加货道明细
/// </summary>
/// <param name="spaceDetail"></param>
/// <returns></returns>
public async Task<bool> InsertSpaceDetail(BaseSpaceDetail spaceDetail)
{
bool result = false;
try
{
int r=await _dal.AddAsync(spaceDetail);
if (r > 0) { result = true; }
}
catch (Exception ex)
{
logHelper.Error("添加货道明细异常", ex);
}
return result;
}
/// <summary>
/// 更新货道明细
/// </summary>
/// <param name="spaceDetail"></param>
/// <returns></returns>
public async Task<bool> UpdateSpaceDetail(BaseSpaceDetail spaceDetail)
{
bool result = false;
try
{
result =await _dal.UpdateAsync(spaceDetail);
}
catch (Exception ex)
{
logHelper.Error("更新货道明细异常", ex);
}
return result;
}
}
}

@ -119,10 +119,9 @@ namespace Admin.Core.Service
/// <param name="store"></param>
/// <param name="materialType"></param>
/// <returns></returns>
public async Task<BaseSpaceInfo> OutStoreGetSpaceInfoByMaterialCode(string store, string materialType)
public async Task<List<BaseSpaceInfo>> OutStoreGetSpaceInfoByMaterialCode(string store, string materialType)
{
BaseSpaceInfo spaceInfo = null;
List<BaseSpaceInfo> spaceInfos;
List<BaseSpaceInfo> spaceInfos = null;
try
{
//Expression<Func<BaseSpaceInfo, bool>> exp = s1 => true;
@ -135,7 +134,7 @@ namespace Admin.Core.Service
{
logHelper.Error("出库通过物料类型获取货道信息异常", ex);
}
return spaceInfo;
return spaceInfos;
}
#endregion
@ -202,8 +201,24 @@ namespace Admin.Core.Service
}
return result;
}
#endregion
public List<dynamic> GetMaterialStock(string shellStoreCode, string linerStoreCode)
{
throw new NotImplementedException();
}
public List<BaseSpaceInfo> GetBaseSpaceInfosByMaterialType(string storeCode, string materialType)
{
throw new NotImplementedException();
}
List<BaseSpaceInfo> IBaseSpaceInfoServices.GetEmptySpaceInfo(string store)
{
throw new NotImplementedException();
}
}
}

@ -1,24 +1,34 @@
using Admin.Core.IRepository;
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Model.Model_New;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System;
using Aucma.Core.PLc;
using Admin.Core.Common;
using log4net;
using SqlSugar;
using System.Linq.Expressions;
using StackExchange.Profiling.Internal;
namespace Admin.Core.Service
{
public class ExecutePlanInfoServices : BaseServices<ExecutePlanInfo>, IExecutePlanInfoServices
{
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(ExecutePlanInfoServices));
private readonly IBaseRepository<ExecutePlanInfo> _dal;
private readonly IExecutePlanInfoRepository _executePlanInfoRepository;
private readonly IProductOrderInfoServices _productOrderInfoServices;
public ExecutePlanInfoServices(IBaseRepository<ExecutePlanInfo> dal, IProductOrderInfoServices productOrderInfoServices)
private readonly IProductPlanInfoServices _productPlanInfoServices;
public ExecutePlanInfoServices(IBaseRepository<ExecutePlanInfo> dal, IProductOrderInfoServices productOrderInfoServices,
IProductPlanInfoServices productPlanInfoServices)
{
this._dal = dal;
base.BaseDal = dal;
_productOrderInfoServices = productOrderInfoServices;
_productPlanInfoServices = productPlanInfoServices;
}
#region 计划删除
@ -45,7 +55,7 @@ namespace Admin.Core.Service
List<ExecutePlanInfo> execPlans = new List<ExecutePlanInfo>();
var list = await _dal.QueryAsync(d=>d.ProductLineCode.Equals(station));
List<ExecutePlanInfo> planInfos = (list.OrderBy(d => d.ExecuteOrder)).ToList();
if (planInfos == null) return false;
if (planInfos.Count()==0) return false;
ExecutePlanInfo planInfo = planInfos.FirstOrDefault(x => x.ObjId == int.Parse(id));
int executeOrder = planInfo.ExecuteOrder;
@ -83,7 +93,7 @@ namespace Admin.Core.Service
var list = await _dal.QueryAsync(d => d.ProductLineCode.Equals(station));
List<ExecutePlanInfo> planInfos = (list.OrderBy(d => d.ExecuteOrder)).ToList();
if (planInfos == null) return false;
if (planInfos.Count()==0) return false;
ExecutePlanInfo planInfo = planInfos.FirstOrDefault(x => x.ObjId == int.Parse(id));
int executeOrder = planInfo.ExecuteOrder;
@ -141,10 +151,239 @@ namespace Admin.Core.Service
}
catch (Exception ex)
{
logHelper.Error(ex);
}
return planInfo;
}
#endregion
/// <summary>
/// 通过产线工位获取执行顺序(默认+1
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
public async Task<int> GetExecuteOrderByProductLineCode(string productLineCode)
{
int result = 0;
try
{
Expression<Func<ExecutePlanInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.ProductLineCode == productLineCode);
List<ExecutePlanInfo> planInfos =await _dal.QueryAsync(exp);
int order = planInfos.OrderByDescending(x => x.ExecuteOrder).First().ExecuteOrder;
result = order + 1;
}
catch (Exception ex)
{
logHelper.Error("通过产线工位获取执行顺异常", ex);
}
return result;
}
/// <summary>
/// 通过执行计划编号获取执行计划
/// </summary>
/// <param name="executePlanCode"></param>
/// <returns></returns>
public async Task<ExecutePlanInfo> GetExecutePlanInfoByPlanCodeAsync(string executePlanCode)
{
ExecutePlanInfo planInfo = null;
try
{
Expression<Func<ExecutePlanInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.ExecutePlanCode == executePlanCode);
planInfo = await _dal.FirstAsync(exp);
logHelper.Info($"根据执行计划编号{executePlanCode};获取到的执行计划信息:{planInfo.ToJson()}");
}
catch (Exception ex)
{
logHelper.Error("通过执行计划编号获取执行计划异常", ex);
}
return planInfo;
}
/// <summary>
/// 通过产线工位获取执行计划
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
public async Task<List<ExecutePlanInfo>> GetExecutePlanInfosByProductLineCode(string productLineCode)
{
List<ExecutePlanInfo> planInfos = null;
try
{
Expression<Func<ExecutePlanInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.ProductLineCode == productLineCode);
planInfos =await _dal.QueryAsync(exp);
logHelper.Info($"根据产线工位编号:{productLineCode};获取到的执行计划信息:{planInfos.ToJson}");
}
catch (Exception ex)
{
logHelper.Error("通过产线工位获取执行计划异常", ex);
}
return planInfos;
}
/// <summary>
/// 通过生产计划编号获取执行计划
/// </summary>
/// <param name="productPlanCode"></param>
/// <returns></returns>
public async Task<List<ExecutePlanInfo>> GetExecutePlanInfosByProductPlanCode(string productPlanCode)
{
List<ExecutePlanInfo> planInfos = null;
try
{
Expression<Func<ExecutePlanInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.ProductPlanCode == productPlanCode);
planInfos =await _dal.QueryAsync(exp);
logHelper.Info($"根据生产计划编号:{productPlanCode};获取到的执行计划信息:{planInfos.ToJson()}");
}
catch (Exception ex)
{
logHelper.Error("通过生产计划编号获取执行计划异常", ex);
}
return planInfos;
}
/// <summary>
/// 新增执行计划
/// </summary>
/// <param name="executePlanInfo"></param>
/// <returns></returns>
public async Task<bool> InsertExecutePlanInfo(ExecutePlanInfo executePlanInfo)
{
bool result = false;
try
{
int r =await _dal.AddAsync(executePlanInfo);
if (r > 0) result = true;
}
catch (Exception ex)
{
logHelper.Error("新增执行计划异常", ex);
}
return result;
}
/// <summary>
/// 修改执行计划
/// </summary>
/// <param name="executePlanInfo"></param>
/// <returns></returns>
public async Task<bool> UpdateExecutePlanInfo(ExecutePlanInfo executePlanInfo)
{
bool result = false;
try
{
result =await _dal.UpdateAsync(executePlanInfo);
}
catch (Exception ex)
{
logHelper.Error("修改执行计划异常", ex);
}
return result;
}
/// <summary>
/// 批量修改执行计划
/// </summary>
/// <param name="executePlanInfos"></param>
/// <returns></returns>
public async Task<bool> UpdateRangeExecutePlanInfo(List<ExecutePlanInfo> executePlanInfos)
{
bool result = false;
try
{
result =await _dal.UpdateAsync(executePlanInfos);
}
catch (Exception ex)
{
logHelper.Error("修改执行计划异常", ex);
}
return result;
}
/// <summary>
/// 根据执行计划编号删除执行计划
/// </summary>
/// <param name="executePlanCode"></param>
/// <returns></returns>
public async Task<bool> DeleteExecutePlanInfoByPlanCode(string executePlanCode)
{
bool result = false;
try
{
ExecutePlanInfo planInfo =await this.GetExecutePlanInfoByPlanCodeAsync(executePlanCode);
result =await _dal.DeleteAsync(planInfo);
}
catch (Exception ex)
{
logHelper.Error("根据执行计划编号删除执行计划异常", ex);
}
return result;
}
public async Task<List<dynamic>> GetStationHourAmount(string stationCode)
{
List<dynamic> result = null;
try
{
result =await _executePlanInfoRepository.GetStationHourAmount(stationCode);
}
catch (Exception ex)
{
logHelper.Error("获取小时产量数据异常", ex);
}
return result;
}
public async Task<List<dynamic>> GetStationMaterialStats(string stationCode)
{
List<dynamic> result = null;
try
{
result = await _executePlanInfoRepository.GetStationMaterialStats(stationCode);
}
catch (Exception ex)
{
logHelper.Error("获取型号统计数据异常", ex);
}
return result;
}
/// <summary>
/// 通过执行计划编号获取执行计划
/// </summary>
/// <param name="executePlanCode"></param>
/// <returns></returns>
public async Task<ExecutePlanInfo> GetExecutePlanInfoByPlanCode(string executePlanCode)
{
ExecutePlanInfo planInfos = null;
try
{
Expression<Func<ExecutePlanInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.ProductPlanCode == executePlanCode);
planInfos = await _executePlanInfoRepository.FirstAsync(exp);
logHelper.Info($"根据生产计划编号:{executePlanCode};获取到的执行计划信息:{planInfos.ToJson()}");
}
catch (Exception ex)
{
logHelper.Error("通过生产计划编号获取执行计划异常", ex);
}
return planInfos;
}
}
}

@ -1,10 +1,15 @@
using Admin.Core.IRepository;
using Admin.Core.Common;
using Admin.Core.IRepository;
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Model.Model_New;
using log4net;
using Microsoft.IdentityModel.Logging;
using StackExchange.Profiling.Internal;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
@ -12,6 +17,7 @@ namespace Admin.Core.Service
{
public class ProductPlanInfoServices : BaseServices<ProductPlanInfo>, IProductPlanInfoServices
{
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(ProductPlanInfoServices));
private readonly IBaseRepository<ProductPlanInfo> _dal;
private readonly IBaseOrderInfoRepository _baseOrderInfoRepository;
@ -46,5 +52,100 @@ namespace Admin.Core.Service
}
#endregion
#region 通过计划编号获取计划信息
/// <summary>
/// 通过计划编号获取计划信息
/// </summary>
/// <param name="planCode"></param>
/// <returns></returns>
public async Task<ProductPlanInfo> GetProductPlanByPlanCode(string planCode)
{
ProductPlanInfo planInfo = null;
try
{
Expression<Func<ProductPlanInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.PlanCode == planCode);
planInfo = await _dal.FirstAsync(exp);
logHelper.Info($"根据计划编号{planCode};获取到的计划信息:{planInfo.ToJson()}");
}
catch (Exception ex)
{
logHelper.Error("通过计划编号获取计划信息异常", ex);
}
return planInfo;
}
#endregion
#region 通过产线工位获取生产计划
/// <summary>
/// 通过产线工位获取生产计划
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
public async Task<List<ProductPlanInfo>> GetProductPlanInfosByProductLineCode(string productLineCode)
{
List<ProductPlanInfo> planInfos = null;
try
{
Expression<Func<ProductPlanInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.ProductLineCode == productLineCode);
planInfos = await _dal.QueryAsync(exp);
logHelper.Info($"根据产线工位编号:{productLineCode};获取到的计划信息:{planInfos.ToJson()}");
}
catch (Exception ex)
{
logHelper.Error("通过产线工位获取生产计划异常", ex);
}
return planInfos;
}
#endregion
#region 添加生产计划
/// <summary>
/// 添加生产计划
/// </summary>
/// <param name="productPlanInfo"></param>
/// <returns></returns>
public async Task<bool> InsertProductPlanInfo(ProductPlanInfo productPlanInfo)
{
bool result = false;
try
{
int r = await _dal.AddAsync(productPlanInfo);
if (r > 0) result = true;
}
catch (Exception ex)
{
logHelper.Error("添加生产计划异常", ex);
}
return result;
}
#endregion
#region 修改生产计划
/// <summary>
/// 修改生产计划
/// </summary>
/// <param name="productPlanInfo"></param>
/// <returns></returns>
public async Task<bool> UpdateProductPlanInfo(ProductPlanInfo productPlanInfo)
{
bool result = false;
try
{
result = await _dal.UpdateAsync(productPlanInfo);
}
catch (Exception ex)
{
logHelper.Error("修改生产计划异常", ex);
}
return result;
}
#endregion
}
}

@ -1,12 +1,21 @@
using Admin.Core.IRepository;
using Admin.Core.IService;
using Admin.Core.Model;
using Microsoft.IdentityModel.Logging;
using System.Collections.Generic;
using System.Linq.Expressions;
using System;
using System.Threading.Tasks;
using log4net;
using Org.BouncyCastle.Asn1.Tsp;
using System.Linq;
using Admin.Core.Common;
namespace Admin.Core.Service
{
public class RealTaskInfoServices : BaseServices<RealTaskInfo>, IRealTaskInfoServices
{
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(RealTaskInfoServices));
private readonly IBaseRepository<RealTaskInfo> _dal;
private readonly IRealTaskInfoRepository _realTaskInfoRepository;
public RealTaskInfoServices(IBaseRepository<RealTaskInfo> dal, IRealTaskInfoRepository realTaskInfoRepository)
@ -20,5 +29,226 @@ namespace Admin.Core.Service
{
return _realTaskInfoRepository.FirstAsync();
}
/// <summary>
/// 添加任务信息
/// </summary>
/// <param name="taskInfo"></param>
/// <returns></returns>
public async Task<bool> AddTaskInfo(RealTaskInfo taskInfo)
{
bool result = false;
try
{
int r =await _dal.AddAsync(taskInfo);
if (r > 0) { result=true; }
}
catch (Exception ex)
{
logHelper.Error("添加任务信息异常", ex);
}
return result;
}
/// <summary>
/// 删除任务信息
/// </summary>
/// <param name="taskInfo"></param>
public async Task<bool> DeleteTaskInfo(string taskCode, string storeCode = null)
{
bool result = false;
try
{
RealTaskInfo taskInfo =await GetTaskInfoByTaskCode(taskCode, storeCode);
if (taskInfo != null)
{
result = await _dal.DeleteAsync(taskInfo);
}
}
catch (Exception ex)
{
logHelper.Error("删除任务信息异常", ex);
}
return result;
}
/// <summary>
/// 更新任务信息
/// </summary>
/// <param name="taskInfo"></param>
/// <returns></returns>
public async Task<bool> UpdateTaskInfo(RealTaskInfo taskInfo)
{
bool result = false;
try
{
result =await _dal.UpdateAsync(taskInfo);
}
catch (Exception ex)
{
logHelper.Error("更新任务信息异常", ex);
}
return result;
}
/// <summary>
/// 批量更新任务信息
/// </summary>
/// <param name="taskInfos"></param>
/// <returns></returns>
public async Task<bool> UpdateRangeTaskInfoAsync(List<RealTaskInfo> taskInfos)
{
bool result = false;
try
{
result = await _dal.UpdateAsync(taskInfos);
}
catch (Exception ex)
{
logHelper.Error("更新任务信息异常", ex);
}
return result;
}
/// <summary>
/// 通过任务编号更新任务状态
/// </summary>
/// <param name="taskCode"></param>
/// <param name="taskStatus"></param>
/// <returns></returns>
public async Task<bool> UpdateTaskStatusByTaskCode(string taskCode, int taskStatus)
{
bool result = false;
RealTaskInfo taskInfo = null;
try
{
taskInfo =await _dal.FirstAsync(x => x.TaskCode == taskCode);
if (taskInfo != null)
{
taskInfo.TaskStatus = taskStatus;
result =await _dal.UpdateAsync(taskInfo);
}
}
catch (Exception ex)
{
logHelper.Error("通过任务编号更新任务状态异常", ex);
}
return result;
}
/// <summary>
/// 通过仓库编号获取待执行的任务信息,根据时间依次获取
/// </summary>
/// <param name="storeCode"></param>
/// <returns></returns>
public async Task<RealTaskInfo> GetTaskInfoByStoreCode(string storeCode, int taskType)
{
RealTaskInfo taskInfo = null;
try
{
taskInfo = (await _dal.QueryAsync(x => x.StoreCode == storeCode && x.TaskStatus == 1 && x.TaskType == taskType)).OrderBy(x => x.CreateTime).FirstOrDefault();
}
catch (Exception ex)
{
logHelper.Error("通过仓库编号获取待执行的任务信息异常", ex);
}
return taskInfo;
}
/// <summary>
/// 根据任务号获取任务信息
/// </summary>
/// <param name="taskCode"></param>
/// <returns></returns>
public async Task<RealTaskInfo> GetTaskInfoByTaskCode(string taskCode, string storeCode)
{
RealTaskInfo taskInfo = null;
try
{
taskInfo =await _dal.FirstAsync(x => x.StoreCode == storeCode && x.TaskCode == taskCode);
}
catch (Exception ex)
{
logHelper.Error("根据任务号获取任务信息异常", ex);
}
return taskInfo;
}
/// <summary>
/// 通过仓库编号获取任务
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskType"></param>
/// <returns></returns>
public async Task<List<RealTaskInfo>> GetTaskInfosByStoreCode(string[] storeCode, int taskType)
{
List<RealTaskInfo> taskInfos = null;
try
{
Expression<Func<RealTaskInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.TaskType == taskType && x.TaskStatus != 3 && storeCode.Contains(x.StoreCode));
taskInfos = await _dal.QueryAsync(exp);
}
catch (Exception ex)
{
logHelper.Error("根据任务号获取任务信息异常", ex);
}
return taskInfos;
}
/// <summary>
/// 获取指定状态的任务列表,如果为0返回所有状态
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskType"></param>
/// <param name="taskStatus"></param>
/// <returns></returns>
public async Task<List<RealTaskInfo>> GetTaskInfosByTaskStatus(string[] storeCode, int taskType, int taskStatus)
{
List<RealTaskInfo> taskInfos = null;
try
{
Expression<Func<RealTaskInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.TaskType == taskType && storeCode.Contains(x.StoreCode));
if (taskStatus != 0)
{
exp = exp.And(x => x.TaskStatus == taskStatus);
}
taskInfos =await _dal.QueryAsync(exp);
}
catch (Exception ex)
{
logHelper.Error("获取指定状态的任务信息异常", ex);
}
return taskInfos;
}
public async Task<List<RealTaskInfo>> GetTaskInfosByTaskCode(string taskCode)
{
List<RealTaskInfo> taskInfos = null;
try
{
Expression<Func<RealTaskInfo, bool>> exp = s1 => true;
exp = exp.And(x => x.TaskCode == taskCode);
taskInfos =await _dal.QueryAsync(exp);
}
catch (Exception ex)
{
logHelper.Error("获取指定状态的任务信息异常", ex);
}
return taskInfos;
}
public async Task<bool> DeleteTaskInfoById(int id)
{
return await _dal.DeleteByIdAsync(id);
}
public Task<bool> UpdateRangeTaskInfo(List<RealTaskInfo> taskInfos)
{
throw new NotImplementedException();
}
}
}

@ -10,7 +10,7 @@ using System.Threading.Tasks;
namespace Admin.Core.Service
{
public class RecordInstoreServices : BaseServices<RecordInstore>, IRecordInstoreServices
public class RecordInstoreServices : BaseServices<RecordInstore>, IRecordInStoreServices
{
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(RecordInstoreServices));
private readonly IBaseRepository<RecordInstore> _dal;

@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Service
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Admin.Core.Service\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Service\

@ -62,13 +62,13 @@ namespace Admin.Core.Tasks
private readonly IBaseSpaceInfoServices _baseSpaceInfoServices;
private readonly IRealTaskInfoServices _realTaskInfoService;
private readonly IProductPlanInfoServices _productPlanInfoServices;
private readonly IRecordInstoreServices _recordInstoreServices;
private readonly IRecordInStoreServices _recordInstoreServices;
private readonly IBaseStoreInfoServices _baseStoreInfoServices;
private readonly IBaseSpaceDetailServices _baseSpaceDetailServices;
public Job_BoxFoamInStoreTask_Quartz(ISysTasksQzService SysTasksQzService, ISysJobLogService sysJobLogService,
IBaseSpaceInfoServices baseSpaceInfoServices, IRealTaskInfoServices realTaskInfoService,
IProductPlanInfoServices productPlanInfoServices, IRecordInstoreServices recordInstoreServices,
IProductPlanInfoServices productPlanInfoServices, IRecordInStoreServices recordInstoreServices,
IBaseStoreInfoServices baseStoreInfoServices, IBaseSpaceDetailServices IBaseSpaceDetailServices)
{
_SysTasksQzService = SysTasksQzService;

@ -81,17 +81,17 @@ namespace Admin.Core.Tasks
try
{
log.Info($"收到出库计划,物料码:{bomInfo.MaterialCode}");
BaseSpaceInfo spaceInfo = await _baseSpaceInfoServices.OutStoreGetSpaceInfoByMaterialCode(storeCode, bomInfo.MaterialCode);
if (spaceInfo != null)
{
log.Info($"匹配货道:{spaceInfo.SpaceName}");
//RefreshScanMateriaCodeEvent?.Invoke(materiaclCode, materialType, spaceInfo.spaceName, storeCode); //刷新界面扫码信息
CreateOutStoreTask(spaceInfo, bomInfo, planCode); //创建出库任务
}
else
{
//报警停线
}
//BaseSpaceInfo spaceInfo = await _baseSpaceInfoServices.OutStoreGetSpaceInfoByMaterialCode(storeCode, bomInfo.MaterialCode);
//if (spaceInfo != null)
//{
// log.Info($"匹配货道:{spaceInfo.SpaceName}");
// //RefreshScanMateriaCodeEvent?.Invoke(materiaclCode, materialType, spaceInfo.spaceName, storeCode); //刷新界面扫码信息
// CreateOutStoreTask(spaceInfo, bomInfo, planCode); //创建出库任务
//}
//else
//{
// //报警停线
//}
}
catch (Exception ex)
{

@ -79,6 +79,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aucma.Core.ProductOffLine",
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aucam.Core.PerfusionService", "Aucam.Core.PerfusionService\Aucam.Core.PerfusionService.csproj", "{BFABE9E5-C71D-42FE-94AE-934B9F74B3D0}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aucma.Scada.UI", "Aucma.Scada.UI\Aucma.Scada.UI.csproj", "{434F9CE2-2225-4893-9BA2-2681C29E9056}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -193,6 +195,10 @@ Global
{BFABE9E5-C71D-42FE-94AE-934B9F74B3D0}.Debug|Any CPU.Build.0 = Debug|Any CPU
{BFABE9E5-C71D-42FE-94AE-934B9F74B3D0}.Release|Any CPU.ActiveCfg = Release|Any CPU
{BFABE9E5-C71D-42FE-94AE-934B9F74B3D0}.Release|Any CPU.Build.0 = Release|Any CPU
{434F9CE2-2225-4893-9BA2-2681C29E9056}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{434F9CE2-2225-4893-9BA2-2681C29E9056}.Debug|Any CPU.Build.0 = Debug|Any CPU
{434F9CE2-2225-4893-9BA2-2681C29E9056}.Release|Any CPU.ActiveCfg = Release|Any CPU
{434F9CE2-2225-4893-9BA2-2681C29E9056}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -228,6 +234,7 @@ Global
{5515C937-1E2E-4111-8775-EE6898E5933A} = {BD987F3A-4E6C-4C47-B28F-1671F875EAE3}
{C70810CE-041A-4880-99B3-FFCC8B672B42} = {BD987F3A-4E6C-4C47-B28F-1671F875EAE3}
{BFABE9E5-C71D-42FE-94AE-934B9F74B3D0} = {FA2FF2A3-135E-4CA2-9042-76BB71623D5A}
{434F9CE2-2225-4893-9BA2-2681C29E9056} = {BD987F3A-4E6C-4C47-B28F-1671F875EAE3}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8047AB56-042B-4AE4-B06A-34137067A86A}

@ -17,13 +17,13 @@
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
</ResourceDictionary.MergedDictionaries>
<!--重写框架主体色-->
<SolidColorBrush x:Key="PrimaryHueLightBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueLightForegroundBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueLightBrush" Color="#4285DE" />
<SolidColorBrush x:Key="PrimaryHueLightForegroundBrush" Color="#4285DE" />
<SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#4285DE" />
<!--字体颜色设置-->
<SolidColorBrush x:Key="PrimaryHueMidForegroundBrush" Color="#DDFFFFFF" />
<SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueDarkForegroundBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueMidForegroundBrush" Color="White" />
<SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="White" />
<SolidColorBrush x:Key="PrimaryHueDarkForegroundBrush" Color="White" />
</ResourceDictionary>
</Application.Resources>
</Application>

@ -21,7 +21,11 @@
<ItemGroup>
<None Remove="appsettings.json" />
<None Remove="Assets\Images\background.jpg" />
<None Remove="Assets\Images\Green.png" />
<None Remove="Assets\Images\headbg.jpg" />
<None Remove="Assets\Images\headbg.png" />
<None Remove="Assets\Images\Icon.png" />
<None Remove="Assets\Images\logo.png" />
<None Remove="Assets\Images\Newlog.png" />
<None Remove="Assets\Images\Red.png" />
@ -42,6 +46,10 @@
</ItemGroup>
<ItemGroup>
<Resource Include="Assets\Images\background.jpg" />
<Resource Include="Assets\Images\headbg.jpg" />
<Resource Include="Assets\Images\headbg.png" />
<Resource Include="Assets\Images\Icon.png" />
<Resource Include="Assets\Images\Newlog.png" />
</ItemGroup>
@ -55,10 +63,6 @@
</Resource>
</ItemGroup>
<ItemGroup>
<Folder Include="Log\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.1.0" />
<PackageReference Include="MaterialDesignThemes" Version="4.8.0" />
@ -72,4 +76,10 @@
<ProjectReference Include="..\Admin.Core.Extensions\Admin.Core.Extensions.csproj" />
</ItemGroup>
<ItemGroup>
<Page Update="Assets\Styles\DefaultStyles.xaml">
<SubType>Designer</SubType>
</Page>
</ItemGroup>
</Project>

@ -22,11 +22,11 @@ namespace Aucma.Core.BoxFoam.ViewModels
{
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(EnterWarehouseStatisticsPageViewModel));
List<MaterialComplateInfo> materialComplateInfos = new List<MaterialComplateInfo>();
public readonly IRecordInstoreServices? _recordInstoreServices;
public readonly IRecordInStoreServices? _recordInstoreServices;
public EnterWarehouseStatisticsPageViewModel()
{
_recordInstoreServices = App.ServiceProvider.GetService<IRecordInstoreServices>();
_recordInstoreServices = App.ServiceProvider.GetService<IRecordInStoreServices>();
LoadDataAsync();
}

@ -20,11 +20,11 @@ namespace Aucma.Core.BoxFoam.ViewModels
{
private ObservableCollection<dynamic> listItems = new ObservableCollection<dynamic>();
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(IndexPageViewModel));
public readonly IRecordInstoreServices? _recordInstoreServices;
public readonly IRecordInStoreServices? _recordInstoreServices;
public IndexPageViewModel()
{
_recordInstoreServices = App.ServiceProvider.GetService<IRecordInstoreServices>();
_recordInstoreServices = App.ServiceProvider.GetService<IRecordInStoreServices>();
Job_BoxFoamInStoreTask_Quartz.RefreshDataGridDelegateEvent += LoadData;//刷新底部列表
// Job_TestTask_Quartz.DataGridDelegateEvent += ExecMethod;//刷新日志
Job_BoxFoamInStoreTask_Quartz.RefreshScanMateriaCodeEvent += RefreshScanInfo;//扫码信息刷新

@ -9,7 +9,7 @@ namespace Aucma.Core.BoxFoam.ViewModels
public partial class RealTimeInventoryPageViewModel : ObservableObject
{
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(RealTimeInventoryPageViewModel));
public readonly IRecordInstoreServices? _recordInstoreServices;
public readonly IRecordInStoreServices? _recordInstoreServices;
private BeforeFoamingPageView beforeFoaming = new BeforeFoamingPageView();
private AfterFoamingPageView afterFoaming = new AfterFoamingPageView();
public RealTimeInventoryPageViewModel()

@ -10,26 +10,93 @@
d:DesignHeight="450" d:DesignWidth="800">
<UserControl.Resources>
<cvt:MultiBindingConverter x:Key="QueryConvert"></cvt:MultiBindingConverter>
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#dddddd"/>
</Style>
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
<Setter Property="Foreground" Value="White"/>
</Style>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<!--<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<!--<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>-->
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
</Style>
</UserControl.Resources>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="5 5 5 5">
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="5 20 5 5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.8*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="数据统计" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="数据统计" FontSize="25" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid Margin="10,5">
@ -38,13 +105,12 @@
<RowDefinition Height="8*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Center">
<TextBlock Text="开始时间" Margin="10 0" Foreground="Gray" FontSize="15" VerticalAlignment="Center"/>
<TextBlock Text="开始时间" Margin="10 0" Foreground="White" FontSize="15" VerticalAlignment="Center"/>
<DatePicker
x:Name="BeginTime"
Width="200" Margin="10 0" Text="2023-10-09"
materialDesign:CalendarAssist.IsHeaderVisible="False"
materialDesign:HintAssist.Hint="开始日期">
<DatePicker.SelectedDate>
Width="200" Margin="10 0" Text="2023-10-09" BorderBrush="White"
materialDesign:CalendarAssist.IsHeaderVisible="False" >
<DatePicker.SelectedDate >
<Binding
Path="FutureValidatingDate"
UpdateSourceTrigger="PropertyChanged">
@ -54,12 +120,11 @@
</DatePicker.SelectedDate>
</DatePicker>
<TextBlock Text="结束时间" Margin="10 0" Foreground="Gray" FontSize="15" VerticalAlignment="Center"/>
<TextBlock Text="结束时间" Margin="10 0" Foreground="White" FontSize="15" VerticalAlignment="Center"/>
<DatePicker
x:Name="EndTime" Margin="10 0" Text="2023-10-09"
Width="200"
materialDesign:CalendarAssist.IsHeaderVisible="False"
materialDesign:HintAssist.Hint="结束日期">
materialDesign:CalendarAssist.IsHeaderVisible="False" BorderBrush="White">
<DatePicker.SelectedDate>
<Binding
Path="FutureValidatingDate"
@ -88,7 +153,7 @@
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
Foreground="White" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding No}" Header="序号" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" Visibility="Collapsed"/>
<DataGridTextColumn Binding="{Binding PlanCode}" Header="计划编号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>

@ -12,9 +12,137 @@
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#dddddd"/>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<!--<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<!--<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>-->
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
<!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式换行换色-->
<!--<Style TargetType="DataGridRow">
<Setter Property="Height" Value="30"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#e7e7e7"/>
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#f2f2f2" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f1ef9f" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
</Style.Triggers>
</Style>-->
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
<!-- 重写Slider的模板 -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Slider}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
<KeyBinding Gesture="Down" Command="{x:Static Slider.DecreaseSmall}" />
<KeyBinding Gesture="PageUp" Command="{x:Static Slider.IncreaseLarge}" />
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
<Border x:Name="TrackBackground" Visibility="Collapsed">
<Rectangle x:Name="PART_SelectionRange" Visibility="Collapsed" />
</Border>
<Thumb x:Name="Thumb" Visibility="Collapsed" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
@ -34,12 +162,10 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,3,5" >
<TextBlock Text="扫描信息" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource MaterialDesignHeadline6TextBlock}" FontWeight="Bold"/>
</Border>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,3,5" >
<TextBlock Text="扫描信息" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource MaterialDesignHeadline6TextBlock}" FontWeight="Bold"/>
</Border>
<!--扫描信息-->
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,3,5">
<Grid>
@ -63,28 +189,28 @@
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="物料条码" FontSize="15" Foreground="Gray" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 30 0"/>
<TextBox FontSize="15" Text="{Binding MaterialBarCode,Mode=TwoWay}" Foreground="Gray" Width="200" IsReadOnly="True" Margin="0 0 10 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
<TextBox FontSize="15" Text="{Binding BeginTime,Mode=TwoWay}" Foreground="Gray" Width="200" IsReadOnly="True" Margin="10 0 0 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="物料条码" FontSize="15" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 30 0"/>
<TextBox FontSize="15" Text="{Binding MaterialBarCode,Mode=TwoWay}" BorderBrush="White" Foreground="White" Width="200" IsReadOnly="True" Margin="0 0 10 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
<TextBox FontSize="15" Text="{Binding BeginTime,Mode=TwoWay}" BorderBrush="White" Foreground="White" Width="200" IsReadOnly="True" Margin="10 0 0 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="物料编码" FontSize="15" Foreground="Gray" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 30 0"/>
<TextBox FontSize="15" Text="{Binding MaterialCode,Mode=TwoWay}" Foreground="Gray" Width="420" IsReadOnly="True" Margin="0 0 0 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
<TextBlock Text="物料编码" FontSize="15" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 30 0"/>
<TextBox FontSize="15" Text="{Binding MaterialCode,Mode=TwoWay}" BorderBrush="White" Foreground="White" Width="420" IsReadOnly="True" Margin="0 0 0 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
</StackPanel>
<StackPanel Grid.Row="2" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="物料名称" FontSize="15" Foreground="Gray" HorizontalAlignment="Left"/>
<TextBox FontSize="15" Text="{Binding MaterialName,Mode=TwoWay}" Foreground="Gray" Width="420" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="物料名称" FontSize="15" Foreground="White" HorizontalAlignment="Left"/>
<TextBox FontSize="15" Text="{Binding MaterialName,Mode=TwoWay}" BorderBrush="White" Foreground="White" Width="420" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Row="3" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="目的信息" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding Destination,Mode=TwoWay}" Foreground="Gray" Width="420" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="目的信息" FontSize="15" Foreground="White"/>
<TextBox FontSize="15" Text="{Binding Destination,Mode=TwoWay}" BorderBrush="White" Foreground="White" Width="420" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Row="4" Grid.RowSpan="2" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="提示信息" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15"
MinHeight="70" MaxHeight="100" MinWidth="420" IsReadOnly="True" Foreground="Gray"
<TextBlock Text="提示信息" FontSize="15" Foreground="White"/>
<TextBox FontSize="15" BorderBrush="White"
MinHeight="70" MaxHeight="100" MinWidth="420" IsReadOnly="True" Foreground="White"
VerticalAlignment="Top" Margin="30 0 0 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"
AcceptsReturn="True" Text="{Binding Prompt,Mode=TwoWay}"
IsEnabled="{Binding Path=IsChecked, ElementName=MaterialDesignOutlinedTextBoxEnabledComboBox}"
@ -100,33 +226,33 @@
</Border>
<!--日志信息-->
<Border Grid.Row="0" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="3,1,3,5">
<Border Grid.Row="0" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="#1157b9" Margin="3,1,3,5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,1,5" >
<TextBlock Text="日志信息" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource MaterialDesignHeadline6TextBlock}" />
<TextBlock Text="日志信息" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource MaterialDesignHeadline6TextBlock}" />
</Border>
<!--日志信息-->
<Border x:Name="HeightHelperPanel" Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="25,1,5,5">
<ListBox MinHeight="60"
Height="{Binding Path=ActualHeight, ElementName=HeightHelperPanel}" x:Name="listBox" ItemsSource="{Binding LogInfoListBox}" Foreground="Gray" Background="Transparent" BorderBrush="Transparent" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"/>
Height="{Binding Path=ActualHeight, ElementName=HeightHelperPanel}" x:Name="listBox" ItemsSource="{Binding LogInfoListBox}" Foreground="White" Background="Transparent" BorderBrush="Transparent" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"/>
</Border>
</Grid>
</Border>
<!--扫描记录-->
<Border Grid.Row="1" Grid.ColumnSpan="2" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="3,1,3,5">
<Border Grid.Row="1" Grid.ColumnSpan="2" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="#1157b9" Margin="3,1,3,5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="扫描记录" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource MaterialDesignHeadline6TextBlock}" />
<TextBlock Text="扫描记录" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" Style="{StaticResource MaterialDesignHeadline6TextBlock}" />
</Border>
<!--计划列表-->
@ -142,7 +268,7 @@
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
Foreground="White" >
<!--修改选中字体颜色-->
<DataGrid.Columns>
<!--<DataGridTextColumn Binding="{Binding No}" Header="编号" Width="auto" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>-->

@ -5,13 +5,16 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
Background="#ffffff"
Title="澳柯玛生产控制系统"
MinHeight="700" MinWidth="1300" WindowState="Maximized"
Title="澳柯玛箱体发泡控制系统"
d:DesignHeight="800"
d:DesignWidth="1000"
MinHeight="1080" MinWidth="1920" WindowState="Maximized"
WindowStartupLocation="CenterScreen"
>
<Border CornerRadius="5" >
<Window.Background>
<ImageBrush ImageSource="/Assets/images/background.jpg" />
</Window.Background>
<Border Margin="5" Background="Transparent" CornerRadius="10" >
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
@ -21,45 +24,44 @@
<RowDefinition Height="6*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<DockPanel Grid.Row="0">
<materialDesign:ColorZone Padding="15 10 0 0"
materialDesign:ElevationAssist.Elevation="Dp4"
DockPanel.Dock="Top"
Mode="PrimaryMid">
<DockPanel Height="60" >
<StackPanel Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="澳柯玛箱体发泡控制系统" FontSize="45" Foreground="White" FontWeight="Bold"/>
</StackPanel>
<Image Height="46" VerticalAlignment="Top" Source="/Assets/Images/Newlog.png" />
<StackPanel Height="50" Margin="15 0 0 0" >
<StackPanel Orientation="Horizontal" >
<TextBlock Text="澳柯玛生产控制系统" Foreground="White" FontSize="30" HorizontalAlignment="Center" VerticalAlignment="Center" />
</StackPanel>
</StackPanel>
<!--右侧信息-->
<DockPanel HorizontalAlignment="Right" VerticalAlignment="Stretch">
<TextBlock x:Name="TestTB" Text="白班" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
<TextBlock Text="|" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="loginUser" Text="李四" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
</DockPanel>
</DockPanel>
<StackPanel Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="白班" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,30,0"/>
<TextBlock Grid.Column="1" Text="|" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,30,0"/>
<TextBlock Grid.Column="2" Text="SCADA" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,10,0"/>
</Grid>
</StackPanel>
</Grid>
</Border>
</materialDesign:ColorZone>
</DockPanel>
<DockPanel Grid.Row="1">
<!--<ScrollViewer x:Name="MainScrollViewer"
materialDesign:ScrollViewerAssist.IsAutoHideEnabled="True">-->
<ContentControl Content="{Binding UserContent}" Height="auto" />
<!--</ScrollViewer>-->
</DockPanel>
<Border Grid.Row="1" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,25,2,2">
<ContentControl Content="{Binding UserContent}"/>
</Border>
<DockPanel Grid.Row="2" Margin="5 0 5 3">
<Border BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="1" Height="50" Orientation="Horizontal" Margin="5 0" HorizontalAlignment="Left">
<Button Content="实时监控" x:Name="FirstPage" Command="{Binding SwitchPagesCommand}" CommandParameter="{Binding Name,ElementName=FirstPage}" Margin="5 0" />
@ -76,23 +78,25 @@
<ImageBrush x:Name="PlcStatus" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="PLCState" Text="PLC连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="PLCState" Text="PLC连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
<Border Width="30" Height="30" CornerRadius="15">
<Border.Background>
<ImageBrush x:Name="PlcStatusImage" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="DB" Text="数据库连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="DB" Text="数据库连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
<Border Width="30" Height="30" CornerRadius="15">
<Border.Background>
<ImageBrush x:Name="BarCodeStatus" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="BarCodeStatusTxt" Text="扫描器连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="BarCodeStatusTxt" Text="扫描器连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
</StackPanel>
</Grid>
</Border>
</DockPanel>
</Grid>
</Border>
</Window>

@ -9,31 +9,132 @@
<UserControl.Resources>
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#dddddd"/>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<!--<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<!--<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>-->
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
<!-- 重写Slider的模板 -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Slider}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
<KeyBinding Gesture="Down" Command="{x:Static Slider.DecreaseSmall}" />
<KeyBinding Gesture="PageUp" Command="{x:Static Slider.IncreaseLarge}" />
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
<Border x:Name="TrackBackground" Visibility="Collapsed">
<Rectangle x:Name="PART_SelectionRange" Visibility="Collapsed" />
</Border>
<Thumb x:Name="Thumb" Visibility="Collapsed" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid Margin="5">
<Grid Margin="5 10 5 5">
<Grid.RowDefinitions>
<RowDefinition Height="0.2*"/>
<RowDefinition/>
<RowDefinition Height="2*"/>
</Grid.RowDefinitions>
<UniformGrid Grid.Row="0">
<Button Width="100"
Content="叫号出库"
IsEnabled="{Binding DataContext.ControlsEnabled, RelativeSource={RelativeSource FindAncestor, AncestorType=Window}}"
Style="{StaticResource MaterialDesignRaisedButton}" />
</UniformGrid>
<UniformGrid Grid.Row="1" Margin="5">
<DataGrid Grid.Row="0" ItemsSource="{Binding RealTimeDataGrid}" Background="#00000000"
ColumnHeaderHeight="35"
<UniformGrid Grid.Row="0" Margin="5">
<DataGrid Grid.Row="0" ItemsSource="{Binding RealTimeDataGrid}"
ColumnHeaderHeight="35" Foreground="white"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
>
<!--修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding No}" Header="编号" Width="*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
@ -46,13 +147,13 @@
</DataGrid.Columns>
</DataGrid>
</UniformGrid>
<UniformGrid Grid.Row="2" Margin="5 20 5 5">
<UniformGrid Grid.Row="1" Margin="5 20 5 5">
<DataGrid Grid.Row="0" ItemsSource="{Binding PlanInfoDataGrid}" Background="#00000000"
ColumnHeaderHeight="35" HeadersVisibility="None"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
Foreground="white" >
<!--修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding No}" Header="编号" Width="*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>

@ -14,7 +14,7 @@
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="泡后库实时库存" FontSize="18" FontWeight="Bold" Foreground="#0288d1"/>
<TextBlock Text="泡后库实时库存" FontSize="18" FontWeight="Bold" Foreground="White"/>
</StackPanel>
<StackPanel Grid.Row="1" Margin="5,5">
<ScrollViewer x:Name="MainScrollViewer" materialDesign:ScrollViewerAssist.IsAutoHideEnabled="True">

@ -13,7 +13,7 @@
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="泡前库实时库存" FontSize="18" FontWeight="Bold" Foreground="#0288d1"/>
<TextBlock Text="泡前库实时库存" FontSize="18" FontWeight="Bold" Foreground="White"/>
</StackPanel>
<StackPanel Grid.Row="1" Margin="5,5">
<ScrollViewer x:Name="MainScrollViewer" materialDesign:ScrollViewerAssist.IsAutoHideEnabled="True">

@ -5,17 +5,145 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Aucma.Core.BoxFoam.Views.UserPage"
mc:Ignorable="d"
Background="White"
Background="#4285DE"
Title="货道明细" Height="450" Width="800">
<Window.Resources>
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#dddddd"/>
</Style>
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<!--<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<!--<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>-->
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Trigger>
</Style.Triggers>
</Style>
<!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式换行换色-->
<!--<Style TargetType="DataGridRow">
<Setter Property="Height" Value="30"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#e7e7e7"/>
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#f2f2f2" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f1ef9f" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
</Style.Triggers>
</Style>-->
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
<!-- 重写Slider的模板 -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Slider}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
<KeyBinding Gesture="Down" Command="{x:Static Slider.DecreaseSmall}" />
<KeyBinding Gesture="PageUp" Command="{x:Static Slider.IncreaseLarge}" />
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
<Border x:Name="TrackBackground" Visibility="Collapsed">
<Rectangle x:Name="PART_SelectionRange" Visibility="Collapsed" />
</Border>
<Thumb x:Name="Thumb" Visibility="Collapsed" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Window.Resources>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="5,5" x:Name="SpaceDetailPanel">
@ -26,7 +154,7 @@
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
Foreground="White" >
<!--修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding SpaceCode}" Header="货道" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>

@ -14,4 +14,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Aucma.Core.BoxFoam
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Aucma.Core.BoxFoam\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Aucma.Core.BoxFoam\

@ -17,13 +17,16 @@
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
</ResourceDictionary.MergedDictionaries>
<!--重写框架主体色-->
<SolidColorBrush x:Key="PrimaryHueLightBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueLightForegroundBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueLightBrush" Color="#4285DE" />
<SolidColorBrush x:Key="PrimaryHueLightForegroundBrush" Color="#4285DE" />
<SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#4285DE" />
<SolidColorBrush x:Key="SecondaryAccentBrush" Color="#4285DE" />
<SolidColorBrush x:Key="SecondaryAccentForegroundBrush" Color="#4285DE" />
<!--字体颜色设置-->
<SolidColorBrush x:Key="PrimaryHueMidForegroundBrush" Color="#DDFFFFFF" />
<SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueDarkForegroundBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueMidForegroundBrush" Color="White" />
<SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="White" />
<SolidColorBrush x:Key="PrimaryHueDarkForegroundBrush" Color="White" />
</ResourceDictionary>
</Application.Resources>
</Application>

@ -21,7 +21,11 @@
<ItemGroup>
<None Remove="appsettings.json" />
<None Remove="Assets\Images\background.jpg" />
<None Remove="Assets\Images\Green.png" />
<None Remove="Assets\Images\headbg.jpg" />
<None Remove="Assets\Images\headbg.png" />
<None Remove="Assets\Images\Icon.png" />
<None Remove="Assets\Images\logo.png" />
<None Remove="Assets\Images\Newlog.png" />
<None Remove="Assets\Images\Red.png" />
@ -42,6 +46,10 @@
</ItemGroup>
<ItemGroup>
<Resource Include="Assets\Images\background.jpg" />
<Resource Include="Assets\Images\headbg.jpg" />
<Resource Include="Assets\Images\headbg.png" />
<Resource Include="Assets\Images\Icon.png" />
<Resource Include="Assets\Images\Newlog.png" />
</ItemGroup>
@ -75,4 +83,10 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Page Update="Assets\Styles\DefaultStyles.xaml">
<SubType>Designer</SubType>
</Page>
</ItemGroup>
</Project>

@ -11,6 +11,7 @@ using LiveCharts.Wpf;
using Admin.Core.IService;
using Microsoft.Extensions.DependencyInjection;
using System.Threading.Tasks;
using System.Windows.Media;
/*
*
*/
@ -52,6 +53,7 @@ namespace Aucma.Core.DoorFoam.ViewModels
column.DataLabels = true;
column.Title = "型号";
column.Values = achievement;
column.Foreground = Brushes.White;
ModelStatistics.Add(column);
@ -74,6 +76,7 @@ namespace Aucma.Core.DoorFoam.ViewModels
column2.DataLabels = true;
column2.Title = "产量";
column2.Values = achievement2;
column2.Foreground = Brushes.White;
Achievement.Add(column2);
}

@ -17,7 +17,7 @@
<Setter Property="Background" Value="#dddddd"/>
</Style>
</UserControl.Resources>
<Grid Margin="1 5 1 0">
<Grid Margin="0 15 0 0">
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
@ -33,9 +33,9 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,3,5" >
<TextBlock Text="发泡信息" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,3,5" >
<TextBlock Text="发泡信息" FontSize="20" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<!--扫描信息-->
@ -60,23 +60,23 @@
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="工位名称" FontSize="15" Foreground="Gray" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 30 0"/>
<TextBox FontSize="15" Text="{Binding StationName}" Foreground="Gray" Width="300" IsReadOnly="True" Margin="0 0 10 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
<TextBlock Text="工位名称" FontSize="15" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" Margin="0 0 30 0"/>
<TextBox FontSize="15" Text="{Binding StationName}" Foreground="White" BorderBrush="White" Width="300" IsReadOnly="True" Margin="0 0 10 0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="订单编码" FontSize="15" Foreground="Gray" HorizontalAlignment="Left"/>
<TextBox FontSize="15" Text="{Binding OrderNo}" Foreground="Gray" Width="300" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="订单编码" FontSize="15" Foreground="White" HorizontalAlignment="Left"/>
<TextBox FontSize="15" Text="{Binding OrderNo}" Foreground="White" BorderBrush="White" Width="300" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Row="2" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="产品型号" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding MaterialName}" Foreground="Gray" Width="300" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="产品型号" FontSize="15" Foreground="White"/>
<TextBox FontSize="15" Text="{Binding MaterialName}" Foreground="White" BorderBrush="White" Width="300" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Row="3" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="开始时间" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding BeginTime}" Foreground="Gray" Width="300" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="开始时间" FontSize="15" Foreground="White"/>
<TextBox FontSize="15" Text="{Binding BeginTime}" Foreground="White" BorderBrush="White" Width="300" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
</Grid>
</Border>
@ -86,24 +86,35 @@
</Border>
<!--日志信息-->
<Border Grid.Row="0" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="3,1,3,5">
<Border Grid.Row="0" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="#1157b9" Margin="3,1,3,5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,1,5" >
<TextBlock Text="小时产量" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="小时产量" FontSize="20" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<!--小时产量-->
<Border x:Name="HeightHelperPanel" Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="25,1,5,5">
<lvc:CartesianChart Series="{Binding Achievement, UpdateSourceTrigger=PropertyChanged}">
<lvc:CartesianChart.AxisX>
<lvc:Axis Labels="{Binding ProductionHourList}" FontSize="15"/>
<lvc:Axis Labels="{Binding ProductionHourList}" FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1.5" StrokeDashArray="0" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis FontSize="15"/>
<lvc:Axis FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1" StrokeDashArray="3" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
</Border>
@ -117,8 +128,8 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="型号统计" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="型号统计" FontSize="20" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<!--型号统计-->
<Border x:Name="ScanPanel" Grid.Row="1" Grid.Column="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
@ -130,10 +141,20 @@
<UniformGrid Grid.Row="0">
<lvc:CartesianChart Series="{Binding ModelStatistics, UpdateSourceTrigger=PropertyChanged}">
<lvc:CartesianChart.AxisX>
<lvc:Axis Labels="{Binding MaterialNameList}" FontSize="15"/>
<lvc:Axis Labels="{Binding MaterialNameList}" FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1.5" StrokeDashArray="0" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis FontSize="15"/>
<lvc:Axis FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1" StrokeDashArray="3" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
</UniformGrid>

@ -5,12 +5,16 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
Background="#ffffff"
Title="澳柯玛生产控制系统"
MinHeight="700" MinWidth="1300" WindowState="Maximized"
WindowStartupLocation="CenterScreen">
<Border CornerRadius="5" >
Title="澳柯玛门体发泡系统"
d:DesignHeight="800"
d:DesignWidth="1000"
MinHeight="1080" MinWidth="1920" WindowState="Maximized" WindowStyle="None"
WindowStartupLocation="CenterScreen" >
<Window.Background>
<ImageBrush ImageSource="/Assets/images/background.jpg" />
</Window.Background>
<Border Margin="5" Background="Transparent" CornerRadius="10" >
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
@ -20,45 +24,44 @@
<RowDefinition Height="6*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<DockPanel Grid.Row="0">
<materialDesign:ColorZone Padding="15 10 0 0"
materialDesign:ElevationAssist.Elevation="Dp4"
DockPanel.Dock="Top"
Mode="PrimaryMid">
<DockPanel Height="60" >
<StackPanel Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="澳柯玛门体发泡系统" FontSize="45" Foreground="White" FontWeight="Bold"/>
</StackPanel>
<Image Height="46" VerticalAlignment="Top" Source="/Assets/Images/Newlog.png" />
<StackPanel Height="50" Margin="15 0 0 0" >
<StackPanel Orientation="Horizontal" >
<TextBlock Text="澳柯玛生产控制系统" Foreground="White" FontSize="30" HorizontalAlignment="Center" VerticalAlignment="Center" />
</StackPanel>
</StackPanel>
<!--右侧信息-->
<DockPanel HorizontalAlignment="Right" VerticalAlignment="Stretch">
<TextBlock x:Name="TestTB" Text="白班" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
<TextBlock Text="|" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="loginUser" Text="李四" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
</DockPanel>
</DockPanel>
<StackPanel Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="白班" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,30,0"/>
<TextBlock Grid.Column="1" Text="|" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,30,0"/>
<TextBlock Grid.Column="2" Text="SCADA" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,10,0"/>
</Grid>
</StackPanel>
</Grid>
</materialDesign:ColorZone>
</DockPanel>
</Border>
<DockPanel Grid.Row="1">
<!--<ScrollViewer x:Name="MainScrollViewer"
materialDesign:ScrollViewerAssist.IsAutoHideEnabled="True">-->
<ContentControl Content="{Binding UserContent}" Height="auto" />
<!--</ScrollViewer>-->
</DockPanel>
<Border Grid.Row="1" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,25,2,2">
<ContentControl Content="{Binding UserContent}"/>
</Border>
<DockPanel Grid.Row="2" Margin="5 0 5 3">
<Border BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="1" Height="50" Orientation="Horizontal" Margin="5 0" HorizontalAlignment="Left">
<Button Content="实时监控" x:Name="FirstPage" Command="{Binding SwitchPagesCommand}" CommandParameter="{Binding Name,ElementName=FirstPage}" Margin="5 0" />
@ -73,25 +76,25 @@
<ImageBrush x:Name="PlcStatus" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="PLCState" Text="PLC连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="PLCState" Text="PLC连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
<Border Width="30" Height="30" CornerRadius="15">
<Border.Background>
<ImageBrush x:Name="PlcStatusImage" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="DB" Text="数据库连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="DB" Text="数据库连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
<Border Width="30" Height="30" CornerRadius="15">
<Border.Background>
<ImageBrush x:Name="BarCodeStatus" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="BarCodeStatusTxt" Text="扫描器连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="BarCodeStatusTxt" Text="扫描器连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
</StackPanel>
</Grid>
</Border>
</DockPanel>
</Grid>
</Border>
</Window>
</Window>

@ -12,111 +12,89 @@
<UserControl.Resources>
<cvt:MultiBindingConverter x:Key="QueryConvert"></cvt:MultiBindingConverter>
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<!--列头标题栏样式-->
<!--<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>
<Setter Property="BorderThickness" Value="1" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="30"/>
<Setter Property="FontSize" Value="14"/>
</Style>-->
<!--单元格样式-->
<!--<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>-->
<!--<Style TargetType="TextBlock" x:Key="centerAlignmentStyle">
<Setter Property="Foreground" Value="Gray"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="TextWrapping" Value="Wrap"/>
</Style>-->
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式换行换色-->
<!--<Style TargetType="DataGridRow">
<Setter Property="Height" Value="30"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#e7e7e7" />
--><!--ffe14d--><!--
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#f2f2f2" />
--><!--f1ef9f--><!--
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f1ef9f" />
</Trigger>-->
<!--<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>-->
<!--</Style.Triggers>
</Style>-->
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--但由于DataGridTextColumn不能从FrameworkElement或FrameworkContentElement继承而无法使用-->
<!--<Style TargetType="DataGridTextColumn">
<Setter Property="ElementStyle">
<Setter.Value>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
</Style>
</Setter.Value>
</Setter>
</Style>-->
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="#dddddd"/>
</Trigger>
</Style.Triggers>
<!--网格线颜色-->
<!--<Style TargetType="DataGrid">-->
<!--该属性指示是否允许用户调整列宽度-->
<!--<Setter Property="CanUserResizeColumns" Value="false" />
<Setter Property="Background" Value="#F4F4F4" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="SelectionUnit" Value="FullRow" />
<Setter Property="VerticalScrollBarVisibility" Value="Auto" />
<Setter Property="HorizontalScrollBarVisibility" Value="Auto" />
<Setter Property="RowHeaderWidth" Value="0" />
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#d6c79b" />
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#d6c79b" />
</Setter.Value>
</Setter>
</Style>-->
</Style>
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
</Style>
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Background" Value="#0288d1" />
</Style>
</UserControl.Resources>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="2" CornerRadius="5" Background="Transparent" Margin="5">
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="2" CornerRadius="5" Background="Transparent" Margin="5 15 5 5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.8*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="CadetBlue" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="数据统计" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="CadetBlue" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="数据统计" FontSize="25" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="Green" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid Margin="10,5">
@ -125,12 +103,11 @@
<RowDefinition Height="8*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Center">
<TextBlock Text="开始时间" Margin="10 0" Foreground="Gray" FontSize="15" VerticalAlignment="Center"/>
<TextBlock Text="开始时间" Margin="10 0" Foreground="White" FontSize="15" VerticalAlignment="Center"/>
<DatePicker
x:Name="BeginTime"
Width="200" Margin="10 0" Text="2023-10-09"
materialDesign:CalendarAssist.IsHeaderVisible="False"
materialDesign:HintAssist.Hint="开始日期">
Width="200" Margin="10 0" Text="2023-10-09" BorderBrush="White"
materialDesign:CalendarAssist.IsHeaderVisible="False">
<DatePicker.SelectedDate>
<Binding
Path="FutureValidatingDate"
@ -141,15 +118,15 @@
</DatePicker.SelectedDate>
</DatePicker>
<TextBlock Text="结束时间" Margin="10 0" Foreground="Gray" FontSize="15" VerticalAlignment="Center"/>
<TextBlock Text="结束时间" Margin="10 0" Foreground="White" FontSize="15" VerticalAlignment="Center"/>
<DatePicker
x:Name="EndTime" Margin="10 0" Text="2023-10-09"
Width="200"
Width="200" BorderBrush="White"
materialDesign:CalendarAssist.IsHeaderVisible="False"
materialDesign:HintAssist.Hint="结束日期">
>
<DatePicker.SelectedDate>
<Binding
Path="FutureValidatingDate"
Path="FutureValidatingDate"
UpdateSourceTrigger="PropertyChanged">
<Binding.ValidationRules>
</Binding.ValidationRules>
@ -168,12 +145,12 @@
</Button>
</WrapPanel>
<UniformGrid Grid.Row="1">
<DataGrid Grid.Row="0" ItemsSource="{Binding DoorDataGrid}" Background="#00000000"
<DataGrid Grid.Row="0" ItemsSource="{Binding DoorDataGrid}"
ColumnHeaderHeight="35"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
Foreground="White" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding No}" Header="序号" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTextColumn Binding="{Binding PlanCode}" Header="计划编号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>

@ -14,4 +14,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Aucma.Core.DoorFoam
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Aucma.Core.DoorFoam\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Aucma.Core.DoorFoam\

@ -21,7 +21,11 @@
<ItemGroup>
<None Remove="appsettings.json" />
<None Remove="Assets\Images\background.jpg" />
<None Remove="Assets\Images\Green.png" />
<None Remove="Assets\Images\headbg.jpg" />
<None Remove="Assets\Images\headbg.png" />
<None Remove="Assets\Images\Icon.png" />
<None Remove="Assets\Images\logo.png" />
<None Remove="Assets\Images\Newlog.png" />
<None Remove="Assets\Images\Red.png" />
@ -42,6 +46,10 @@
</ItemGroup>
<ItemGroup>
<Resource Include="Assets\Images\background.jpg" />
<Resource Include="Assets\Images\headbg.jpg" />
<Resource Include="Assets\Images\headbg.png" />
<Resource Include="Assets\Images\Icon.png" />
<Resource Include="Assets\Images\Newlog.png" />
</ItemGroup>
@ -55,10 +63,6 @@
</Resource>
</ItemGroup>
<ItemGroup>
<Folder Include="Log\" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.1.0" />
<PackageReference Include="LiveCharts.Wpf.Core" Version="0.9.8" />
@ -79,4 +83,10 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Page Update="Assets\Styles\DefaultStyles.xaml">
<SubType>Designer</SubType>
</Page>
</ItemGroup>
</Project>

@ -4,6 +4,7 @@ using log4net;
using LiveCharts.Wpf;
using LiveCharts;
using System.Collections.Generic;
using System.Windows.Media;
/*
*
@ -93,7 +94,7 @@ namespace Aucma.Core.Palletiz.ViewModels
column.DataLabels = true;
column.Title = "型号";
column.Values = achievement;
column.Foreground = Brushes.White;
ModelStatistics.Add(column);
@ -116,7 +117,7 @@ namespace Aucma.Core.Palletiz.ViewModels
column2.DataLabels = true;
column2.Title = "产量";
column2.Values = achievement2;
column2.Foreground = Brushes.White;
Achievement.Add(column2);
}

@ -12,13 +12,118 @@
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#dddddd"/>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="#dddddd"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
<!-- 重写Slider的模板 -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Slider}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
<KeyBinding Gesture="Down" Command="{x:Static Slider.DecreaseSmall}" />
<KeyBinding Gesture="PageUp" Command="{x:Static Slider.IncreaseLarge}" />
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
<Border x:Name="TrackBackground" Visibility="Collapsed">
<Rectangle x:Name="PART_SelectionRange" Visibility="Collapsed" />
</Border>
<Thumb x:Name="Thumb" Visibility="Collapsed" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Background" Value="#0288d1" />
</Style>
</UserControl.Resources>
<Grid Margin="5">
<Grid Margin="5 15 5 5">
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
@ -52,67 +157,67 @@
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Grid.Row="0" Grid.Column="0" Background="#0288d1">
<Border Grid.Row="0" Grid.Column="0" Background="#1157b9">
<TextBlock Text="当前工位" Foreground="White"/>
</Border>
<Border Grid.Row="1" Grid.RowSpan="3" Grid.Column="0" Background="#0288d1">
<TextBlock Text="产品下线扫描" Foreground="White" FontWeight="Bold" FontSize="18"/>
<Border Grid.Row="1" Grid.RowSpan="3" Grid.Column="0" Background="#1157b9">
<TextBlock Text="产品下线扫描" Foreground="White" FontWeight="Bold" FontSize="25"/>
</Border>
<Border Grid.Row="0" Grid.Column="1" Background="#0288d1">
<Border Grid.Row="0" Grid.Column="1" Background="#1157b9">
<TextBlock Text="产品条码" Foreground="White" />
</Border>
<Border Grid.Row="1" Grid.Column="1" Background="#0288d1">
<Border Grid.Row="1" Grid.Column="1" Background="#1157b9">
<TextBlock Text="产品型号" Foreground="White" />
</Border>
<Border Grid.Row="2" Grid.Column="1" Background="#0288d1">
<Border Grid.Row="2" Grid.Column="1" Background="#1157b9">
<TextBlock Text="订单数量" Foreground="White" />
</Border>
<Border Grid.Row="3" Grid.Column="1" Background="#0288d1">
<Border Grid.Row="3" Grid.Column="1" Background="#1157b9">
<TextBlock Text="提示信息" Foreground="White" />
</Border>
<Border Grid.Row="0" Grid.Column="2">
<TextBlock Text="312799000093D8U0050"/>
<TextBlock Text="312799000093D8U0050" Foreground="White" />
</Border>
<Border Grid.Row="1" Grid.Column="2">
<TextBlock Text="SC-279,C,特许"/>
<TextBlock Text="SC-279,C,特许" Foreground="White" />
</Border>
<Border Grid.Row="2" Grid.Column="2">
<TextBlock Text="76"/>
<TextBlock Text="76" Foreground="White" />
</Border>
<Border Grid.Row="3" Grid.Column="2" Grid.ColumnSpan="3">
<TextBlock Text="获取信息成功3127991000093D8U0050 返回值 : Y.上传条码失败E,条码重复,上传条码失败E,条码重复上传"/>
<TextBlock Text="获取信息成功3127991000093D8U0050 返回值 : Y.上传条码失败E,条码重复,上传条码失败E,条码重复上传" Foreground="White" />
</Border>
<Border Grid.Row="0" Grid.Column="3" Background="#0288d1">
<Border Grid.Row="0" Grid.Column="3" Background="#1157b9">
<TextBlock Text="扫描时间" Foreground="White" />
</Border>
<Border Grid.Row="1" Grid.Column="3" Background="#0288d1">
<Border Grid.Row="1" Grid.Column="3" Background="#1157b9">
<TextBlock Text="订单编号" Foreground="White" />
</Border>
<Border Grid.Row="2" Grid.Column="3" Background="#0288d1">
<Border Grid.Row="2" Grid.Column="3" Background="#1157b9">
<TextBlock Text="订单已上传" Foreground="White" />
</Border>
<Border Grid.Row="0" Grid.Column="4">
<TextBlock Text="2023-08-29 13:10:53"/>
<TextBlock Text="2023-08-29 13:10:53" Foreground="White" />
</Border>
<Border Grid.Row="1" Grid.Column="4">
<TextBlock Text="000011203687"/>
<TextBlock Text="000011203687" Foreground="White" />
</Border>
<Border Grid.Row="2" Grid.Column="4">
<TextBlock Text="48"/>
<TextBlock Text="48" Foreground="White" />
</Border>
<Border Grid.Row="0" Grid.Column="5" Background="#0288d1">
<Border Grid.Row="0" Grid.Column="5" Background="#1157b9">
<TextBlock Text="实际产量" Foreground="White" />
</Border>
<Border Grid.Row="1" Grid.RowSpan="2" Grid.Column="5">
<TextBlock Text="255"/>
<TextBlock Text="255" Foreground="White" FontSize="40" FontWeight="Bold"/>
</Border>
<Border Grid.Row="4" Grid.Column="5">
<!--<Border Grid.Row="4" Grid.Column="5">
<WrapPanel HorizontalAlignment="Center" VerticalAlignment="Center">
<RadioButton Content="A库" Margin="5 0"/>
<RadioButton Content="B库" Margin="5 0"/>
</WrapPanel>
</Border>
</Border>-->
</Grid>
</Border>
<Border Grid.Row="1">
@ -120,7 +225,7 @@
<Grid.Resources>
<Style TargetType="Border">
<Setter Property="BorderBrush" Value="#0288d1"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="BorderThickness" Value="1 0 0 1"/>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
@ -128,21 +233,31 @@
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Grid.Column="0" >
<Grid>
<Grid >
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="当日小时产量统计" FontSize="15" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0 0 0 1" CornerRadius="0" Margin="1,1,5,5" Background="#1157b9" >
<TextBlock Text="当日小时产量统计" FontSize="15" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" >
<lvc:CartesianChart Series="{Binding Achievement, UpdateSourceTrigger=PropertyChanged}" >
<Border Grid.Row="1" >
<lvc:CartesianChart Series="{Binding Achievement, UpdateSourceTrigger=PropertyChanged}">
<lvc:CartesianChart.AxisX>
<lvc:Axis Labels="{Binding ProductionHourList}" FontSize="15"/>
<lvc:Axis Labels="{Binding ProductionHourList}" FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1.5" StrokeDashArray="0" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis FontSize="15"/>
<lvc:Axis FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1" StrokeDashArray="3" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
</Border>
@ -154,16 +269,26 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="当日型号产量统计" FontSize="15" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0 0 0 1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="当日型号产量统计" FontSize="15" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" >
<Border Grid.Row="1" >
<lvc:CartesianChart Series="{Binding ModelStatistics, UpdateSourceTrigger=PropertyChanged}" Margin="5">
<lvc:CartesianChart.AxisX>
<lvc:Axis Labels="{Binding MaterialNameList}" FontSize="15"/>
<lvc:Axis Labels="{Binding MaterialNameList}" FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1.5" StrokeDashArray="0" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis FontSize="15"/>
<lvc:Axis FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1" StrokeDashArray="3" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
</Border>
@ -172,15 +297,14 @@
</Grid>
</Border>
<Border Grid.Row="2">
<DataGrid Grid.Row="0" ItemsSource="{Binding PlanInfoDataGrid}" Background="#00000000"
<DataGrid Grid.Row="0" ItemsSource="{Binding PlanInfoDataGrid}"
ColumnHeaderHeight="35" Height="{Binding Path=ActualHeight, ElementName=ScanPanel}"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Auto"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
Foreground="White" >
<!--修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding PlanCode}" Header="产品条码" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding MaterialBarCode}" Header="产品型号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="产品编码" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />

@ -5,13 +5,15 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
Background="#ffffff"
Title="澳柯玛生产控制系统"
MinHeight="700" MinWidth="1300" WindowState="Maximized"
WindowStartupLocation="CenterScreen"
d:DesignHeight="800"
d:DesignWidth="1000"
MinHeight="1080" MinWidth="1920" WindowState="Maximized"
WindowStartupLocation="CenterScreen" WindowStyle="None"
>
<Border CornerRadius="5" >
<Window.Background>
<ImageBrush ImageSource="/Assets/images/background.jpg" />
</Window.Background>
<Border Margin="5" Background="Transparent" CornerRadius="10" >
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
@ -21,45 +23,44 @@
<RowDefinition Height="6*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<DockPanel Grid.Row="0">
<materialDesign:ColorZone Padding="15 10 0 0"
materialDesign:ElevationAssist.Elevation="Dp4"
DockPanel.Dock="Top"
Mode="PrimaryMid">
<DockPanel Height="60" >
<StackPanel Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="澳柯玛产品分垛控制系统" FontSize="45" Foreground="White" FontWeight="Bold"/>
</StackPanel>
<Image Height="46" VerticalAlignment="Top" Source="/Assets/Images/Newlog.png" />
<StackPanel Height="50" Margin="15 0 0 0" >
<StackPanel Orientation="Horizontal" >
<TextBlock Text="澳柯玛生产控制系统" Foreground="White" FontSize="30" HorizontalAlignment="Center" VerticalAlignment="Center" />
</StackPanel>
</StackPanel>
<!--右侧信息-->
<DockPanel HorizontalAlignment="Right" VerticalAlignment="Stretch">
<TextBlock x:Name="TestTB" Text="白班" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
<TextBlock Text="|" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="loginUser" Text="李四" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
</DockPanel>
</DockPanel>
<StackPanel Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="白班" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,30,0"/>
<TextBlock Grid.Column="1" Text="|" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,30,0"/>
<TextBlock Grid.Column="2" Text="SCADA" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,10,0"/>
</Grid>
</StackPanel>
</Grid>
</materialDesign:ColorZone>
</DockPanel>
</Border>
<DockPanel Grid.Row="1">
<!--<ScrollViewer x:Name="MainScrollViewer"
materialDesign:ScrollViewerAssist.IsAutoHideEnabled="True">-->
<ContentControl Content="{Binding UserContent}" Height="auto" />
<!--</ScrollViewer>-->
</DockPanel>
<Border Grid.Row="1" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,25,2,2">
<ContentControl Content="{Binding UserContent}"/>
</Border>
<DockPanel Grid.Row="2" Margin="5 0 5 3">
<Border BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition Height="*" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<StackPanel Grid.Row="1" Height="50" Orientation="Horizontal" Margin="5 0" HorizontalAlignment="Left">
<Button Content="实时监控" x:Name="FirstPage" Command="{Binding SwitchPagesCommand}" CommandParameter="{Binding Name,ElementName=FirstPage}" Margin="5 0" />
@ -74,23 +75,23 @@
<ImageBrush x:Name="PlcStatus" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="PLCState" Text="PLC连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="PLCState" Text="PLC连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
<Border Width="30" Height="30" CornerRadius="15">
<Border.Background>
<ImageBrush x:Name="PlcStatusImage" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="DB" Text="数据库连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="DB" Text="数据库连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
<Border Width="30" Height="30" CornerRadius="15">
<Border.Background>
<ImageBrush x:Name="BarCodeStatus" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="BarCodeStatusTxt" Text="扫描器连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="BarCodeStatusTxt" Text="扫描器连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
</StackPanel>
</Grid>
</Border>
</DockPanel>
</Grid>
</Border>

@ -11,30 +11,129 @@
<UserControl.Resources>
<cvt:MultiBindingConverter x:Key="QueryConvert"></cvt:MultiBindingConverter>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<!--<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<!--<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>-->
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="30"/>
<Setter Property="FontSize" Value="14"/>
</Style>
</UserControl.Resources>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="2" CornerRadius="5" Background="Transparent" Margin="5">
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="#dddddd"/>
</Trigger>
</Style.Triggers>
</Style>
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
<!-- 重写Slider的模板 -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Slider}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
<KeyBinding Gesture="Down" Command="{x:Static Slider.DecreaseSmall}" />
<KeyBinding Gesture="PageUp" Command="{x:Static Slider.IncreaseLarge}" />
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
<Border x:Name="TrackBackground" Visibility="Collapsed">
<Rectangle x:Name="PART_SelectionRange" Visibility="Collapsed" />
</Border>
<Thumb x:Name="Thumb" Visibility="Collapsed" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type DatePickerTextBox}">
<Setter Property="Background" Value="#0288d1" />
</Style>
</UserControl.Resources>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.8*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="扫描记录" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="扫描记录" FontSize="25" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid Margin="10,5">
@ -43,12 +142,11 @@
<RowDefinition Height="8*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Center">
<TextBlock Text="开始时间" Margin="10 0" Foreground="Gray" FontSize="15" VerticalAlignment="Center"/>
<TextBlock Text="开始时间" Margin="10 0" Foreground="White" FontSize="15" VerticalAlignment="Center"/>
<DatePicker
x:Name="BeginTime"
Width="200" Margin="10 0" Text="2023-10-09"
materialDesign:CalendarAssist.IsHeaderVisible="False"
materialDesign:HintAssist.Hint="开始日期">
Width="200" Margin="10 0" Text="2023-10-09" BorderBrush="White"
materialDesign:CalendarAssist.IsHeaderVisible="False">
<DatePicker.SelectedDate>
<Binding
Path="FutureValidatingDate"
@ -59,12 +157,11 @@
</DatePicker.SelectedDate>
</DatePicker>
<TextBlock Text="结束时间" Margin="10 0" Foreground="Gray" FontSize="15" VerticalAlignment="Center"/>
<TextBlock Text="结束时间" Margin="10 0" Foreground="White" FontSize="15" VerticalAlignment="Center"/>
<DatePicker
x:Name="EndTime" Margin="10 0" Text="2023-10-09"
Width="200"
materialDesign:CalendarAssist.IsHeaderVisible="False"
materialDesign:HintAssist.Hint="结束日期">
Width="200" BorderBrush="White"
materialDesign:CalendarAssist.IsHeaderVisible="False">
<DatePicker.SelectedDate>
<Binding
Path="FutureValidatingDate"
@ -93,16 +190,7 @@
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
<!--表头剧中-->
<!--<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center">
<Setter Property="BorderThickness" Value="1" />
</Setter>
</Style>
</DataGrid.ColumnHeaderStyle>-->
<!--修改选中字体颜色-->
Foreground="White" >
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding No}" Header="序号" />
<DataGridTextColumn Binding="{Binding ProductPlanCode}" Header="计划编号" Width="1*" />

@ -14,4 +14,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Aucma.Core.Palletiz
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Aucma.Core.Palletiz\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Aucma.Core.Palletiz\

@ -115,7 +115,8 @@
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch" VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
@ -124,10 +125,12 @@
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}" Style="{StaticResource RepeatButtonStyle}">
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}" Style="{StaticResource RepeatButtonStyle}">
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
@ -147,9 +150,9 @@
<ColumnDefinition Width="1.8*"/>
<ColumnDefinition />
</Grid.ColumnDefinitions>
<UniformGrid Grid.Column="0" Margin="3" >
<Border BorderBrush="#0288d1" BorderThickness="1" Padding="5" CornerRadius="5">
<Grid>
<UniformGrid Grid.Column="0" Margin="10" >
<Border BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent">
<Grid Margin="3">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
<RowDefinition />
@ -157,16 +160,14 @@
<WrapPanel Grid.Row="0" Margin="5 5 0 0">
<Label Content="查询条件" Width="60" VerticalAlignment="Center" Foreground="white" />
<TextBox x:Name="queryParam" Text="" Style="{x:Null}" Width="200" HorizontalAlignment="Left" VerticalContentAlignment="Center" />
<Button Content="查询" Background="#4285DE" Margin="9,0,4,0" Width="100" Command="{Binding QueryStringCommand}" CommandParameter="{Binding ElementName=queryParam,Path=Text}">
</Button>
<Button Content="查询" Background="#4285DE" Margin="9,0,4,0" Width="100" Command="{Binding QueryStringCommand}" CommandParameter="{Binding ElementName=queryParam,Path=Text}"/>
</WrapPanel>
<UniformGrid Grid.Row="1" Margin="5 5 0 0" x:Name="HeightPanel">
<!--
AlternationCount="2" 表示两行交替显示背景色;
AutoGenerateColumns="False" 表示不让DataGrid自动生成列。如果设置成true则效果 多出了不需要的列;
HorizontalAlignment="Left" 不显示多余的空白列;
-->
-->
<DataGrid x:Name="dgvMH" Height="{Binding Path=ActualHeight, ElementName=HeightPanel}"
HorizontalAlignment="Center" VerticalAlignment="Top" AlternationCount="2" RowHeaderWidth="0"
ItemsSource="{Binding Datalist}" ColumnWidth="*" AutoGenerateColumns="False" IsReadOnly="True" CanUserAddRows="False" SelectionMode="Single"
@ -190,8 +191,8 @@
</Grid>
</Border>
</UniformGrid>
<UniformGrid Grid.Column="1" Margin="0 5 3 3">
<Border BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5">
<UniformGrid Grid.Column="1" Margin="0 5 3 5">
<Border BorderBrush="#0288d1" BorderThickness="1" Margin="0 0 0 5" CornerRadius="5">
<Grid Margin="0 30">
<Grid.RowDefinitions>
<RowDefinition Height="auto"/>
@ -223,9 +224,9 @@
<!--<TextBox x:Name="PlanAmount" Foreground="white" Text="{Binding SelectedItem.StandardAmount, ElementName=dgvMH}" Margin="15 0 0 0" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="{Binding Path=ActualWidth, ElementName=ProductNo}"
materialDesign:HintAssist.Hint="打印数量"/>-->
<Slider x:Name="PlanAmount" Minimum="0" Maximum="500" Value="{Binding SelectedItem.StandardAmount, ElementName=dgvMH}" Foreground="white" Height="30" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="15 0 0 0" FontSize="15" Width="340"/>
<TextBlock Text="1~500" Width="50" Margin="10 0 0 0" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="1~500" Width="50" Margin="10 0 0 0" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center" />
</WrapPanel>
<Border Grid.Row="4" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Margin="30 5" >
<Border Grid.Row="4" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Margin="100 5" >
<StackPanel >
<WrapPanel Height="300">
<RadioButton Content="内胆码-L" Foreground="white" FontSize="15" x:Name="内胆" Margin="10 5" Command="{Binding RadioQueryCommand}" CommandParameter="{Binding Name, ElementName=内胆}"/>

@ -24,18 +24,18 @@
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<DockPanel Grid.Row="0" VerticalAlignment="Top" Background="Red">
<StackPanel Height="100" >
<DockPanel Grid.Row="0" VerticalAlignment="Top">
<StackPanel Height="100">
<StackPanel.Background>
<ImageBrush Stretch="UniformToFill" ImageSource="/Assets/Images/headbg.png"/>
<ImageBrush Stretch="Fill" ImageSource="/Assets/Images/headbg.png" />
</StackPanel.Background>
<StackPanel HorizontalAlignment="Center" Margin="0 5 0 0" >
<TextBlock Text="澳柯玛生产控制系统" Margin="0" Foreground="White" FontSize="35" HorizontalAlignment="Center" VerticalAlignment="Center" />
<StackPanel HorizontalAlignment="Center" Margin="0 3 0 0" >
<TextBlock Text="澳柯玛生产控制系统" Margin="0" Foreground="White" FontSize="45" HorizontalAlignment="Center" VerticalAlignment="Center" />
</StackPanel>
<WrapPanel HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0 -30 20 0">
<TextBlock x:Name="TestTB" Text="白班" VerticalAlignment="Center" Foreground="White" FontSize="15" />
<TextBlock x:Name="TestTB" Text="白班" VerticalAlignment="Center" Foreground="White" FontSize="25" Margin="5 0"/>
<TextBlock Text="|" VerticalAlignment="Center" Foreground="White" FontSize="15" />
<TextBlock x:Name="loginUser" Text="李四" VerticalAlignment="Center" Foreground="White" FontSize="15" />
<TextBlock x:Name="loginUser" Text="李四" VerticalAlignment="Center" Foreground="White" FontSize="25" Margin="5 0"/>
</WrapPanel>
</StackPanel>
</DockPanel>

@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Aucma.Core.ProductOffLine.Models
{
public class SelectQualityModel
{
/// <summary>
/// 序号
/// </summary>
public int No { get; set; }
/// <summary>
/// 物料成品主键
/// </summary>
public int ObjId { get; set; }
/// <summary>
/// 物料编号
/// </summary>
public string? MaterialCode { get; set; }
/// <summary>
/// 物料名称
/// </summary>
public string? MaterialName { get; set; }
/// <summary>
/// 货道编号
/// </summary>
public string? SpaceCode { get; set; }
}
}

@ -48,12 +48,10 @@ namespace Aucma.Core.ProductOffLine.ViewModels
{
_productOffLineServices = App.ServiceProvider.GetService<IProductOffLineServices>();
_baseOrderInfoServices = App.ServiceProvider.GetService<IBaseOrderInfoServices>();
_productPlanInfoServices = App.ServiceProvider.GetService<IProductPlanInfoServices>();
// MvCodeHelper.ReceiveCodeEvent += ReceiveCode;
_productPlanInfoServices = App.ServiceProvider.GetService<IProductPlanInfoServices>();
MvCodeHelper.ReceiveCodeEvent += ReceiveCode;
// test33();
// ReceiveCode("12345", 1);
ReceiveCode("12345", 1);
StartPlcTimer();
InitEveryDayMethod();
test2();

@ -1,47 +1,32 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Service;
using Admin.Core.Model;
using Aucma.Core.ProductOffLine.Models;
using Aucma.Core.ProductOffLine.Views;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
namespace Aucma.Core.ProductOffLine.ViewModels
{
public partial class QualityPageViewModel : ObservableObject
{
private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices;
public QualityPageViewModel() {
QualityPageView.getAllQualityEvent += test;
_baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService<IBaseQualityInspectionItemInfoServices>();
AutoDirectionCommand = new RelayCommand(DirectionEdit);
SelectQualityCommand = new RelayCommand(SelectQuality);
init();
LoadData();
}
public async Task<List<BaseQualityInspectionItemInfo>> test()
{
List<BaseQualityInspectionItemInfo> list = await _baseQualityInspectionItemInfoServices.query();
return list;
}
public async void init()
{
await _baseQualityInspectionItemInfoServices.query();
public void init()
{
}
List<MaterialComplateInfo> materialComplateInfos = new List<MaterialComplateInfo>();

@ -2,16 +2,13 @@
using Admin.Core.Model;
using Admin.Core.Service;
using Aucma.Core.ProductOffLine.Models;
using Aucma.Core.ProductOffLine.Views;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Microsoft.Extensions.DependencyInjection;
using NPOI.POIFS.Properties;
using NPOI.SS.Formula.Functions;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
@ -27,80 +24,42 @@ namespace Aucma.Core.ProductOffLine.ViewModels
{
public partial class SelectQualityViewModel : ObservableObject
{
public ICommand QueryCommand { get; set; }
public ICommand SaveCommand { get; set; }
private readonly IBaseQualityInspectionItemInfoServices? _baseQualityInspectionItemInfoServices;
private readonly IBaseMaterialInfoServices? _baseMaterialInfoServices;
public SelectQualityViewModel() {
_baseQualityInspectionItemInfoServices = App.ServiceProvider.GetService<IBaseQualityInspectionItemInfoServices>();
QueryCommand = new RelayCommand(ExecuteQuery);
_baseMaterialInfoServices = App.ServiceProvider.GetService<IBaseMaterialInfoServices>();
QueryCommand = new RelayCommand(ExecuteQuery);
SaveCommand = new RelayCommand(ExecuteSave);
Init();
Init();
}
/// <summary>
/// 3.查询BASE_MATERIALINFO表存在的成品类型以供修改
/// </summary>
public async void Init()
{
ExecuteQuery();
public void Init()
{
}
private async void ExecuteQuery()
{
List<BaseQualityInspectionItemInfo> list = await _baseQualityInspectionItemInfoServices.query();
qualityItemGrid.Clear();
for (int i = 0; i < list.Count; i++)
{
qualityItemGrid.Add(new QualityInspectionModel() { No = i + 1, ObjId = list[i].ObjId, QualityDefectCode = list[i].QualityDefectCode, QualityDefectName = list[i].QualityDefectName, IsInSpection = list[i].IsInSpection == "0" ? "否" : "是" });
}
}
private async void ExecuteSave()
{
List<BaseQualityInspectionItemInfo> list = new List<BaseQualityInspectionItemInfo>();
// 处理保存按钮点击事件
foreach (QualityInspectionModel item in qualityItemGrid)
{
if ((!"是".Equals(item.IsInSpection) && !"否".Equals(item.IsInSpection)))
{
MessageBox.Show("质检编号:" + item.QualityDefectCode + " 质检名称:" + item.QualityDefectName + " 是否质检应该是或者否");
return;
}
list.Add(new BaseQualityInspectionItemInfo()
{
ObjId = item.ObjId,
QualityDefectCode = item.QualityDefectCode,
QualityDefectName = item.QualityDefectName,
ParentId ="0",
IsFlag = 0,
IsInSpection = item.IsInSpection == "是"?"1":"0"
}) ;
}
bool result = await _baseQualityInspectionItemInfoServices.UpdateAsync(list);
if (result)
{
MessageBox.Show("保存成功");
}
else
{
MessageBox.Show("保存失败");
}
}
#region 初始化datagrid
private ObservableCollection<QualityInspectionModel> qualityItemGrid = new ObservableCollection<QualityInspectionModel>();
public ObservableCollection<QualityInspectionModel> QualityItemGrid
private ObservableCollection<DirectionEditModel> materialDataGrid = new ObservableCollection<DirectionEditModel>();
public ObservableCollection<DirectionEditModel> MaterialDataGrid
{
get { return qualityItemGrid; }
get { return materialDataGrid; }
set
{
qualityItemGrid = value;
materialDataGrid = value;
OnPropertyChanged();//属性通知
}
}

@ -51,8 +51,7 @@
<Border Grid.Row="1" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,25,2,2">
<ContentControl Content="{Binding UserContent}"/>
</Border>
<DockPanel Grid.Row="2" Margin="5 0 5 3">
<Border BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<Grid>

@ -19,7 +19,7 @@
<Setter Property="Height" Value="30"/>
<Setter Property="FontSize" Value="14"/>
</Style>
</UserControl.Resources>
<Border Grid.Row="0" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="2" CornerRadius="5" Background="Transparent" Margin="5">
<Grid>
@ -48,8 +48,8 @@
<RadioButton Content="B库" Margin="5 0" Foreground="White" />
</WrapPanel>
</Border>
<Button Content="自动方向设置" Command="{Binding AutoDirectionCommand}" Margin="100,0,0,0" Background="Blue" Foreground="White"/>
<Button Content="质检项设置" Command="{Binding SelectQualityCommand}" Margin="50,0,0,0" Background="Blue" Foreground="White" Width="120" VerticalAlignment="Top" HorizontalAlignment="Left"/>
<Button Content="自动方向设置" Command="{Binding AutoDirectionCommand}" Margin="100,0,0,0" Background="Blue" Foreground="White" />
<Button Content="质检项设置" Command="{Binding SelectQualityCommand}" Background="Blue" Foreground="White" Width="120" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</WrapPanel>
</Grid>
<Grid Grid.Row="2">
@ -64,6 +64,7 @@
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False"
Foreground="#FFFFFF" SelectedItem="{Binding SelectedDataItem}" >
<!-- 表头剧中-->
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center">
@ -81,9 +82,9 @@
<DataGridTextColumn Binding="{Binding No}" Header="序号" Width="1*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="产品条码" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="产品名称" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn x:Name="quality1" Binding="{Binding MaterialCode}" Header="内胆预装检漏" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn x:Name="quality2" Binding="{Binding MaterialName}" Header="成品检漏" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn x:Name="quality3" Binding="{Binding SpaceCode}" Header="终检" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding MaterialCode}" Header="内胆预装检漏" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding MaterialName}" Header="成品检漏" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding SpaceCode}" Header="终检" Width="*"/>
</DataGrid.Columns>
</DataGrid>

@ -1,8 +1,4 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Service;
using Aucma.Core.ProductOffLine.ViewModels;
using Microsoft.Extensions.DependencyInjection;
using Aucma.Core.ProductOffLine.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
@ -25,35 +21,10 @@ namespace Aucma.Core.ProductOffLine.Views
/// </summary>
public partial class QualityPageView : UserControl
{
public delegate Task<List<BaseQualityInspectionItemInfo>> getAllQuality();
public static event getAllQuality getAllQualityEvent;
public QualityPageView()
{
InitializeComponent();
QualityPageViewModel viewmodel = new QualityPageViewModel();
this.DataContext = viewmodel;
qualityItem();
}
public async void qualityItem()
{
List<BaseQualityInspectionItemInfo> list = await getAllQualityEvent?.Invoke();
foreach (BaseQualityInspectionItemInfo item in list)
{
foreach (var column in qualityGrid.Columns)
{
DataGridColumn dataGridColumn = column as DataGridColumn;
if (dataGridColumn.Header.ToString().Equals(item.QualityDefectName) && "0".Equals(item.IsInSpection))
{
dataGridColumn.Visibility = Visibility.Collapsed;
}
}
}
// this.quality1.Visibility = Visibility.Collapsed;
this.DataContext = new QualityPageViewModel();
}
}

@ -4,16 +4,18 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:Aucma.Core.ProductOffLine.Views"
mc:Ignorable="d" Title="质检项目设置" Height="650" Width="600" Name="window" Background="White" ResizeMode="NoResize" Topmost="True"
mc:Ignorable="d"
Title="质检项目设置" Height="650" Width="900" Name="window" Background="White"
ResizeMode="NoResize" Topmost="True"
>
<Border Margin="5" Background="#1254AB" CornerRadius="10">
<Border.Effect>
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="8*"/>
<ColumnDefinition Width="87*"/>
<ColumnDefinition Width="803*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
@ -26,50 +28,13 @@
<!--计划列表-->
<Border Grid.Row="1" BorderBrush="#1254AB" BorderThickness="3" CornerRadius="5" Background="Transparent" Margin="1,1,5,5" Grid.ColumnSpan="2">
<DataGrid Name="qualityItemGrid" ItemsSource="{Binding QualityItemGrid}" Background="Transparent"
<DataGrid x:Name="dataShow" ItemsSource="{Binding Items}" AutoGenerateColumns="False" Background="Transparent"
FontSize="15" ColumnHeaderHeight="35"
RowHeight="31" AutoGenerateColumns="False" RowHeaderWidth="0"
RowHeight="31" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Auto" BorderThickness="0" CanUserAddRows="False"
Foreground="#FFFFFF" SelectedItem="{Binding SelectedDataItem}" >
<DataGrid.ColumnHeaderStyle>
<Style TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center">
</Setter>
<Setter Property="Background" Value="Transparent" />
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.CellStyle>
<Style TargetType="DataGridCell">
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
</DataGrid.CellStyle>
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding No}" Header="序号" Width="1*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding QualityDefectCode}" Header="质检编号" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding QualityDefectName}" Header="质检名称" Width="2*" IsReadOnly="True"/>
<DataGridTextColumn x:Name="test11" Binding="{Binding IsInSpection}" Header="是否校验" Width="*" />
</DataGrid.Columns>
Foreground="#FFFFFF">
</DataGrid>
<!--<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border x:Name="levelControl" VerticalAlignment="Center" >
<StackPanel >
<TextBlock x:Name="txtName" TextWrapping="Wrap" Text="{Binding MaterialName}" ToolTip="{Binding MaterialName}" />
<TextBlock Text="{Binding IsExec}" Visibility="Collapsed" />
</StackPanel>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsExec}" Value="2">
<Setter TargetName="txtName" Property="Foreground" Value="Green" ></Setter>
-->
<!--<Setter TargetName="levelControl" Property="Background" Value="Green" ></Setter>-->
<!--
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>-->
</Border>
</Grid>

@ -1,9 +1,4 @@
using Admin.Core.IRepository;
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Repository;
using Admin.Core.Service;
using Aucma.Core.ProductOffLine.ViewModels;
using Aucma.Core.ProductOffLine.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
@ -13,7 +8,6 @@ using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
@ -26,15 +20,10 @@ namespace Aucma.Core.ProductOffLine.Views
/// </summary>
public partial class SelectQualityView : Window
{
public SelectQualityView()
{
InitializeComponent();
SelectQualityViewModel viewModel = new SelectQualityViewModel();
this.DataContext = viewModel;
InitializeComponent();
this.DataContext = new SelectQualityViewModel();
}
}
}

@ -17,13 +17,13 @@
<ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.Lime.xaml" />
</ResourceDictionary.MergedDictionaries>
<!--重写框架主体色-->
<SolidColorBrush x:Key="PrimaryHueLightBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueLightForegroundBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueLightBrush" Color="#4285DE" />
<SolidColorBrush x:Key="PrimaryHueLightForegroundBrush" Color="#4285DE" />
<SolidColorBrush x:Key="PrimaryHueMidBrush" Color="#4285DE" />
<!--字体颜色设置-->
<SolidColorBrush x:Key="PrimaryHueMidForegroundBrush" Color="#DDFFFFFF" />
<SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueDarkForegroundBrush" Color="#0288d1" />
<SolidColorBrush x:Key="PrimaryHueMidForegroundBrush" Color="White" />
<SolidColorBrush x:Key="PrimaryHueDarkBrush" Color="White" />
<SolidColorBrush x:Key="PrimaryHueDarkForegroundBrush" Color="White" />
</ResourceDictionary>
</Application.Resources>
</Application>

@ -21,10 +21,10 @@
<ItemGroup>
<None Remove="appsettings.json" />
<None Remove="Assets\Images\Green.png" />
<None Remove="Assets\Images\logo.png" />
<None Remove="Assets\Images\Newlog.png" />
<None Remove="Assets\Images\Red.png" />
<None Remove="Assets\Images\background.jpg" />
<None Remove="Assets\Images\headbg.jpg" />
<None Remove="Assets\Images\headbg.png" />
<None Remove="Assets\Images\Icon.png" />
<None Remove="Log4net.config" />
</ItemGroup>
@ -42,6 +42,10 @@
</ItemGroup>
<ItemGroup>
<Resource Include="Assets\Images\background.jpg" />
<Resource Include="Assets\Images\headbg.jpg" />
<Resource Include="Assets\Images\headbg.png" />
<Resource Include="Assets\Images\Icon.png" />
<Resource Include="Assets\Images\Newlog.png" />
</ItemGroup>

@ -18,6 +18,9 @@
</Compile>
</ItemGroup>
<ItemGroup>
<Page Update="Assets\Styles\DefaultStyles.xaml">
<SubType>Designer</SubType>
</Page>
<Page Update="Views\IndexPage.xaml">
<SubType>Designer</SubType>
</Page>

@ -16,9 +16,10 @@ using Admin.Core.Tasks;
using CommunityToolkit.Mvvm.Messaging;
using LiveCharts;
using LiveCharts.Wpf;
using Admin.Core.Service;
using Admin.Core.Model;
using System.Reflection.Metadata.Ecma335;
using System.Windows.Media;
using log4net;
using Admin.Core.Common;
/*
*
*
@ -28,6 +29,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
public partial class IndexPageViewModel : ObservableObject
{
protected readonly IExecutePlanInfoServices? _taskExecutionServices;
int k = 100;
public IndexPageViewModel()
@ -36,15 +38,17 @@ namespace Aucma.Core.SheetMetal.ViewModels
StationName = "U壳/侧板钣金生产";
Job_SheetMetalTask_Quartz.SmEverDayDelegateEvent += InitEveryDayMethod;
//Job_SheetMetalTask_Quartz.SmEverDayDelegateEvent += InitEveryDayMethod;
Job_SheetMetalTask_Quartz.SmShowDelegateEvent += UpdatePlanSHow;//计划内容展示
WeakReferenceMessenger.Default.Register<string>(this, Recive);
Task.Run(async () =>
{
await LoadData();
await InitExecMethod();
await InitEveryDayMethod();
});
InitEveryDayMethod();
}
#region 订单统计
@ -69,7 +73,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
/// 每日生产
/// </summary>
/// <returns></returns>
private async Task InitEveryDayMethod()
private void InitEveryDayMethod()
{
ChartValues<double> achievement = new ChartValues<double>();
Random random = new Random();
@ -82,7 +86,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
column.DataLabels = true;
column.Title = "型号";
column.Values = achievement;
column.Foreground = Brushes.White;
ModelStatistics.Add(column);
@ -105,11 +109,11 @@ namespace Aucma.Core.SheetMetal.ViewModels
column2.DataLabels = true;
column2.Title = "产量";
column2.Values = achievement2;
column2.Foreground = Brushes.White;
Achievement.Add(column2);
await InitExecMethod();
//await InitExecMethod();
}
@ -120,7 +124,7 @@ namespace Aucma.Core.SheetMetal.ViewModels
#region 加载DataGrid数据
private async Task LoadData()
{
var list= await _taskExecutionServices.QueryAsync(d=>d.ProductLineCode.Equals("1001"));
var list= await _taskExecutionServices.QueryAsync(d=>d.ProductLineCode.Contains("1001"));
var execList= list.OrderBy(d=>d.ExecuteOrder);
foreach (var item in execList)
{
@ -144,10 +148,10 @@ namespace Aucma.Core.SheetMetal.ViewModels
/// 向上
/// </summary>
[RelayCommand]
private async Task MoveUp(string info)
private async Task MoveUp(string Id)
{
string station = "1001";
bool result = await _taskExecutionServices.PlanMoveUp(info, station);
string stationCode = Appsettings.app("StoreInfo", "StationCode");
bool result = await _taskExecutionServices.PlanMoveUp(Id, stationCode);
if (result)
{
PlanInfoDataGrid.Clear();
@ -161,10 +165,10 @@ namespace Aucma.Core.SheetMetal.ViewModels
/// 向下
/// </summary>
[RelayCommand]
private async Task MoveDown(string info)
private async Task MoveDown(string Id)
{
string station = "1001";
bool result = await _taskExecutionServices.PlanMoveDown(info, station);
string stationCode = Appsettings.app("StoreInfo", "StationCode");
bool result = await _taskExecutionServices.PlanMoveDown(Id, stationCode);
if (result)
{
PlanInfoDataGrid.Clear();
@ -178,12 +182,12 @@ namespace Aucma.Core.SheetMetal.ViewModels
/// 删除
/// </summary>
[RelayCommand]
private async Task DeletePlan(string info)
private async Task DeletePlan(string Id)
{
MessageBoxResult msg = MessageBox.Show("确定要删除吗?", "系统提醒", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
if (MessageBoxResult.Yes == msg)
{
bool result = await _taskExecutionServices.ExecPlanDelete(info);
bool result = await _taskExecutionServices.ExecPlanDelete(Id);
if (result)
{
PlanInfoDataGrid.Clear();
@ -204,12 +208,12 @@ namespace Aucma.Core.SheetMetal.ViewModels
/// 下传计划
/// </summary>
[RelayCommand]
private async Task NextPass(string info)
private async Task NextPass(string Id)
{
MessageBoxResult msg = MessageBox.Show("确定要下发计划吗?", "系统提醒", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
if (MessageBoxResult.Yes != msg) return;
var model = await _taskExecutionServices.FirstAsync(d => d.ObjId == int.Parse(info));
var model = await _taskExecutionServices.FirstAsync(d => d.ObjId == int.Parse(Id));
if (model.ExecuteStatus == 2)
{
MessageBox.Show("该计划正在执行中,请勿重复下传", "系统信息");
@ -414,10 +418,10 @@ namespace Aucma.Core.SheetMetal.ViewModels
/// </summary>
/// <param name="recipient"></param>
/// <param name="message"></param>
private void Recive(object recipient, object message)
private async void Recive(object recipient, object message)
{
PlanInfoDataGrid.Clear();
LoadData();
await LoadData();
}
#endregion

@ -12,13 +12,153 @@
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="DataGridColumnHeader">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#dddddd"/>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<!--<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<!--<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>-->
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="#dddddd"/>
</Trigger>
</Style.Triggers>
</Style>
<!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式换行换色-->
<!--<Style TargetType="DataGridRow">
<Setter Property="Height" Value="30"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#e7e7e7"/>
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#f2f2f2" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f1ef9f" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
</Style.Triggers>
</Style>-->
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
<!-- 重写Slider的模板 -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Slider}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
<KeyBinding Gesture="Down" Command="{x:Static Slider.DecreaseSmall}" />
<KeyBinding Gesture="PageUp" Command="{x:Static Slider.IncreaseLarge}" />
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
<Border x:Name="TrackBackground" Visibility="Collapsed">
<Rectangle x:Name="PART_SelectionRange" Visibility="Collapsed" />
</Border>
<Thumb x:Name="Thumb" Visibility="Collapsed" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Grid Margin="5,5">
<Grid Margin="0,15 0 0">
<Grid.Resources>
<Style TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="FontFamily" Value="微软雅黑"/>
</Style>
<Style TargetType="Border">
<Setter Property="BorderBrush" Value="#0288d1"/>
<Setter Property="BorderThickness" Value="1"/>
</Style>
</Grid.Resources>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
@ -27,15 +167,15 @@
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<!--计划执行-->
<Border Grid.Row="0" Grid.Column="0" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="计划执行" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="计划执行" FontSize="20" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<!--计划执行-->
@ -57,28 +197,28 @@
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="工位名称" FontSize="15" Foreground="Gray" />
<TextBox FontSize="15" Text="{Binding StationName}" Foreground="Gray" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
<TextBlock Text="工位名称" FontSize="15" Foreground="White" />
<TextBox FontSize="15" Text="{Binding StationName}" Foreground="White" BorderBrush="White" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" />
</StackPanel>
<StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="订单编号" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding OrderCode}" Foreground="Gray" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="订单编号" FontSize="15" Foreground="White"/>
<TextBox FontSize="15" Text="{Binding OrderCode}" Foreground="White" BorderBrush="White" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Row="2" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="计划编号" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding PlanCode}" Foreground="Gray" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="计划编号" FontSize="15" Foreground="White"/>
<TextBox FontSize="15" Text="{Binding PlanCode}" Foreground="White" BorderBrush="White" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Row="3" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="产品型号" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding ProductModel}" Foreground="Gray" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="产品型号" FontSize="15" Foreground="White"/>
<TextBox FontSize="15" Text="{Binding ProductModel}" Foreground="White" BorderBrush="White" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
<StackPanel Grid.Row="4" Grid.Column="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="开始时间" FontSize="15" Foreground="Gray"/>
<TextBox FontSize="15" Text="{Binding BeginTime}" Foreground="Gray" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
<TextBlock Text="开始时间" FontSize="15" Foreground="White"/>
<TextBox FontSize="15" Text="{Binding BeginTime}" Foreground="White" BorderBrush="White" Width="200" IsReadOnly="True" Margin="30,0,0,0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center"/>
</StackPanel>
</Grid>
</Border>
@ -101,12 +241,12 @@
<RowDefinition Height="7*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<TextBlock Text="计划数量" FontSize="15" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="计划数量" FontSize="15" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<lvc:Gauge Margin="5" Uses360Mode="True" From="0" To="{Binding PlanMaxNum,Mode=TwoWay}"
Value="{Binding PlanNum,Mode=TwoWay}"
Foreground="#0288d1"/>
Foreground="White"/>
</Border>
</Grid>
</Border>
@ -118,12 +258,12 @@
<RowDefinition Height="7*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<TextBlock Text="实际数量" FontSize="15" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="实际数量" FontSize="15" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<lvc:Gauge Margin="5" Uses360Mode="True" From="0" To="{Binding PlanMaxNum,Mode=TwoWay}"
<lvc:Gauge GaugeBackground="Green" Margin="5" Uses360Mode="True" From="0" To="{Binding PlanMaxNum,Mode=TwoWay}"
Value="{Binding RealQuantity,Mode=TwoWay}"
Foreground="#0288d1"/>
Foreground="White"/>
</Border>
</Grid>
</Border>
@ -134,11 +274,11 @@
<RowDefinition Height="2*"/>
<RowDefinition Height="7*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<TextBlock Text="差异数量" FontSize="15" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<TextBlock Text="差异数量" FontSize="15" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<lvc:Gauge Margin="5" Uses360Mode="True" From="0" To="{Binding PlanMaxNum,Mode=TwoWay}"
<Border Grid.Row="1" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<lvc:Gauge GaugeBackground="Red" Margin="5" Uses360Mode="True" From="0" To="{Binding PlanMaxNum,Mode=TwoWay}"
Value="{Binding DiffQuantity,Mode=TwoWay}"
Foreground="Red"/>
</Border>
@ -151,13 +291,13 @@
<RowDefinition Height="2*"/>
<RowDefinition Height="7*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="CadetBlue" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<TextBlock Text="完成率" FontSize="15" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<TextBlock Text="完成率" FontSize="15" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="CadetBlue" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<lvc:Gauge Margin="5" Uses360Mode="True" From="0" To="100"
<Border Grid.Row="1" BorderThickness="0" CornerRadius="0" Background="Transparent" Margin="1,1,0,0" >
<lvc:Gauge GaugeBackground="Orange" Margin="5" Uses360Mode="True" From="0" To="100"
Value="{Binding CompletionRate,Mode=TwoWay}"
Foreground="#0288d1"/>
Foreground="White"/>
</Border>
</Grid>
</Border>
@ -176,20 +316,30 @@
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="当日产量" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="当日产量" FontSize="20" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<!--日产量-->
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid Margin="10,10">
<lvc:CartesianChart Series="{Binding Achievement, UpdateSourceTrigger=PropertyChanged}">
<lvc:CartesianChart Series="{Binding Achievement, UpdateSourceTrigger=PropertyChanged}" Foreground="Red" >
<lvc:CartesianChart.AxisX>
<lvc:Axis Labels="{Binding ProductionHourList}" FontSize="15"/>
<lvc:Axis Labels="{Binding ProductionHourList}" FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1.5" StrokeDashArray="0" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis FontSize="15"/>
<lvc:Axis FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1" StrokeDashArray="3" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
</Grid>
@ -205,12 +355,12 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="计划列表" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="计划列表" FontSize="20" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<!--计划列表-->
<Border Grid.Row="1" Grid.Column="0" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Border Grid.Row="1" Grid.Column="0" Background="Transparent" Margin="1,1,5,5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="6*"/>
@ -218,116 +368,47 @@
</Grid.RowDefinitions>
<DataGrid Grid.Row="0" ItemsSource="{Binding PlanInfoDataGrid}" Background="#00000000"
ColumnHeaderHeight="35"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
ColumnHeaderHeight="35"
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False"
SelectionMode="Single" IsReadOnly="True"
Foreground="White">
<DataGrid.Columns >
<DataGridTextColumn Binding="{Binding ID}" Header="主键" Width="auto" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" Visibility="Hidden" />
<DataGridTextColumn Binding="{Binding PlanCode}" Header="计划编号" Width="auto" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" Visibility="Hidden" />
<DataGridTextColumn Binding="{Binding ID}" Header="主键" Width="auto" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" Visibility="Hidden" />
<DataGridTextColumn Binding="{Binding PlanCode}" Header="计划编号" Width="auto" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" Visibility="Hidden" />
<!--<DataGridTextColumn Binding="{Binding IsExec}" x:Name="ExecControl" Header="执行" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />-->
<!--<DataGridTextColumn Binding="{Binding MaterialName}" Header="产品型号" Width="3.5*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />-->
<DataGridTemplateColumn Header="产品型号" Width="3.5*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border x:Name="levelControl" VerticalAlignment="Center" >
<StackPanel >
<TextBlock x:Name="txtName" TextWrapping="Wrap" Text="{Binding MaterialName}" ToolTip="{Binding MaterialName}" />
<TextBlock Text="{Binding IsExec}" Visibility="Collapsed" />
</StackPanel>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsExec}" Value="2">
<Setter TargetName="txtName" Property="Foreground" Value="Green" ></Setter>
<!--<Setter TargetName="levelControl" Property="Background" Value="Green" ></Setter>-->
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="计划" Width="0.95*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border x:Name="levelControl" VerticalAlignment="Center">
<StackPanel >
<TextBlock x:Name="txtName" TextWrapping="Wrap" Text="{Binding TaskAmount}" ToolTip="{Binding TaskAmount}" />
<TextBlock Text="{Binding IsExec}" Visibility="Collapsed" />
</StackPanel>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsExec}" Value="2">
<Setter TargetName="txtName" Property="Visibility" Value="Collapsed" ></Setter>
<Setter TargetName="txtName" Property="Foreground" Value="Green" ></Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="完成" Width="0.95*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border x:Name="levelControl" VerticalAlignment="Center">
<StackPanel >
<TextBlock x:Name="txtName" TextWrapping="Wrap" Text="{Binding CompleteAmount}" ToolTip="{Binding CompleteAmount}" />
<TextBlock Text="{Binding IsExec}" Visibility="Collapsed" />
</StackPanel>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsExec}" Value="2">
<Setter TargetName="txtName" Property="Foreground" Value="Green" ></Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTemplateColumn Header="开始时间" Width="2*" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Border x:Name="levelControl" VerticalAlignment="Center">
<StackPanel >
<TextBlock x:Name="txtName" TextWrapping="Wrap" Text="{Binding BeginTime,StringFormat=\{0:MM-dd HH:mm\}}" ToolTip="{Binding BeginTime}" MinWidth="20" />
<TextBlock Text="{Binding IsExec}" Visibility="Collapsed" />
</StackPanel>
</Border>
<DataTemplate.Triggers>
<DataTrigger Binding="{Binding IsExec}" Value="2">
<Setter TargetName="txtName" Property="Foreground" Value="Green" ></Setter>
</DataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<!--<DataGridTextColumn Binding="{Binding TaskAmount}" Header="计划" Width="0.95*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding MaterialName}" Header="产品型号" Width="3.5*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}" />
<DataGridTextColumn Binding="{Binding TaskAmount}" Header="计划" Width="0.95*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding CompleteAmount}" Header="完成" Width="0.95*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTextColumn Binding="{Binding BeginTime ,StringFormat=\{0:MM-dd HH:mm\}}" Header="开始时间" Width="1.7*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>-->
<DataGridTextColumn Binding="{Binding BeginTime ,StringFormat=\{0:MM-dd HH:mm\}}" Header="开始时间" Width="1.7*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
<DataGridTemplateColumn Header="操作" Width="4*" >
<DataGridTemplateColumn Header="操作" Width="5*" >
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<WrapPanel>
<Button Content="上移" FontSize="12" CommandParameter="{Binding ID}" Margin="0 2 0 2" Command="{Binding DataContext.MoveUpCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid }}" />
<Button Content="下移" FontSize="12" CommandParameter="{Binding ID}" Margin="2 2 0 2" Command="{Binding DataContext.MoveDownCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid }}" />
<Button Content="删除" FontSize="12" CommandParameter="{Binding ID}" Margin="2 2 0 2" Command="{Binding DataContext.DeletePlanCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid }}" />
<Button Content="删除" FontSize="12" CommandParameter="{Binding ID}" Margin="2 2 0 2" Background="#FF0033" BorderBrush="#FF0033" Command="{Binding DataContext.DeletePlanCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid }}" />
<Button Content="下传" FontSize="12" CommandParameter="{Binding ID}" Margin="2 2 0 2" Command="{Binding DataContext.NextPassCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid }}" />
<Button Content="下后板" FontSize="12" CommandParameter="{Binding ID}" Margin="2 2 0 2" Command="{Binding DataContext.NextPassCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid }}" />
<Button Content="下箱壳" FontSize="12" CommandParameter="{Binding ID}" Margin="2 2 0 2" Command="{Binding DataContext.NextPassCommand, RelativeSource={RelativeSource Mode=FindAncestor,AncestorType=DataGrid }}" />
</WrapPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0,0,0,1">
<StackPanel Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Right" Margin="0,0,20,0">
<TextBlock Text="执行方式" VerticalAlignment="Center" Foreground="Gray" FontSize="15" Margin="20,0,0,0"/>
<ComboBox Text="{Binding MaterialTypeCombox}" Width="200" Height="25" Margin="10 0 0 0" Foreground="Black" VerticalAlignment="Center" FontSize="15">
<TextBlock Text="执行方式" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="20,0,0,0"/>
<ComboBox Text="{Binding MaterialTypeCombox}" Width="200" Height="25" Margin="10 0 0 0" VerticalAlignment="Center" FontSize="15">
<ComboBoxItem Content="手动" IsSelected="True"/>
<ComboBoxItem Content="自动" />
</ComboBox>
<Button Content="计划维护" Command="{Binding SplitPlanCommand}" Margin="20,0,0,0" BorderBrush="DeepSkyBlue" BorderThickness="1" />
</StackPanel>
</Border>
@ -343,8 +424,8 @@
<RowDefinition Height="1*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="型号统计" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="型号统计" FontSize="20" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<!--型号统计-->
@ -352,10 +433,20 @@
<Grid Margin="10,10">
<lvc:CartesianChart Series="{Binding ModelStatistics, UpdateSourceTrigger=PropertyChanged}">
<lvc:CartesianChart.AxisX>
<lvc:Axis Labels="{Binding MaterialNameList}" FontSize="15"/>
<lvc:Axis Labels="{Binding MaterialNameList}" FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1.5" StrokeDashArray="0" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisX>
<lvc:CartesianChart.AxisY>
<lvc:Axis FontSize="15"/>
<lvc:Axis FontSize="15">
<lvc:Axis.Separator>
<lvc:Separator Visibility="Hidden" StrokeThickness="1" StrokeDashArray="3" Stroke="#404F56" >
</lvc:Separator>
</lvc:Axis.Separator>
</lvc:Axis>
</lvc:CartesianChart.AxisY>
</lvc:CartesianChart>
</Grid>

@ -7,18 +7,18 @@
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="5">
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="5 15 5 5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.8*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="系统日志" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="系统日志" FontSize="25" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid Margin="10,10">
<ListBox Grid.Row="1" x:Name="listBox" ItemsSource="{Binding LogInfoListBox}" Foreground="Gray" Background="Transparent" BorderBrush="Transparent" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"/>
<ListBox Grid.Row="1" x:Name="listBox" ItemsSource="{Binding LogInfoListBox}" Foreground="White" Background="Transparent" BorderBrush="Transparent" ScrollViewer.HorizontalScrollBarVisibility="Hidden" ScrollViewer.VerticalScrollBarVisibility="Hidden"/>
</Grid>
</Border>
</Grid>

@ -5,13 +5,15 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
mc:Ignorable="d"
Background="White"
Title="澳柯玛生产控制系统"
MinHeight="700" MinWidth="1100" WindowState="Maximized"
WindowStartupLocation="CenterScreen"
>
<Border CornerRadius="5" >
Title="澳柯玛生产控制系统" Icon="/Assets/images/Icon.png"
d:DesignHeight="800"
d:DesignWidth="1000"
MinHeight="1080" MinWidth="1800" WindowState="Maximized" WindowStyle="None"
WindowStartupLocation="CenterScreen" >
<Window.Background>
<ImageBrush ImageSource="/Assets/images/background.jpg" />
</Window.Background>
<Border Margin="5" Background="Transparent" CornerRadius="10" >
<Border.Effect>
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
@ -21,41 +23,40 @@
<RowDefinition Height="6*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,2">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="7*"/>
<ColumnDefinition Width="2*"/>
</Grid.ColumnDefinitions>
<DockPanel Grid.Row="0">
<materialDesign:ColorZone Padding="15 10 0 0"
materialDesign:ElevationAssist.Elevation="Dp4"
DockPanel.Dock="Top"
Mode="PrimaryMid">
<DockPanel Height="60" >
<StackPanel Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Center">
<TextBlock Text="澳柯玛钣金控制系统" FontSize="45" Foreground="White" FontWeight="Bold"/>
</StackPanel>
<Image Height="46" VerticalAlignment="Top" Source="/Assets/Images/Newlog.png" />
<StackPanel Height="50" Margin="15 0 0 0" >
<StackPanel Orientation="Horizontal">
<TextBlock Text="澳柯玛生产控制系统" Foreground="White" FontSize="30" HorizontalAlignment="Center" VerticalAlignment="Center" />
</StackPanel>
</StackPanel>
<!--右侧信息-->
<DockPanel HorizontalAlignment="Right" VerticalAlignment="Stretch">
<TextBlock x:Name="TestTB" Text="白班" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
<TextBlock Text="|" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="loginUser" Text="李四" VerticalAlignment="Center" Foreground="White" FontSize="15" Margin="10,0"/>
</DockPanel>
</DockPanel>
<StackPanel Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<TextBlock Grid.Column="0" Text="白班" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,30,0"/>
<TextBlock Grid.Column="1" Text="|" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,30,0"/>
<TextBlock Grid.Column="2" Text="SCADA" FontSize="25" Foreground="White" FontWeight="Bold" Margin="0,0,10,0"/>
</Grid>
</StackPanel>
</Grid>
</materialDesign:ColorZone>
</DockPanel>
</Border>
<DockPanel Grid.Row="1">
<!--<ScrollViewer x:Name="MainScrollViewer"
materialDesign:ScrollViewerAssist.IsAutoHideEnabled="True">-->
<ContentControl Content="{Binding UserContent}" Height="auto" />
<!--</ScrollViewer>-->
</DockPanel>
<Border Grid.Row="1" BorderBrush="Red" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="2,25,2,2">
<ContentControl Content="{Binding UserContent}"/>
</Border>
<DockPanel Grid.Row="2" >
<Border BorderBrush="#0288d1" Margin="5" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<DockPanel Grid.Row="2" Margin="5 0 5 3">
<Border BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Stretch" VerticalAlignment="Bottom">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
@ -75,23 +76,23 @@
<ImageBrush x:Name="PlcStatus" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="PLCState" Text="PLC连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="PLCState" Text="PLC连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
<Border Width="30" Height="30" CornerRadius="15">
<Border.Background>
<ImageBrush x:Name="PlcStatusImage" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="DB" Text="数据库连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="DB" Text="数据库连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
<Border Width="30" Height="30" CornerRadius="15">
<Border.Background>
<ImageBrush x:Name="BarCodeStatus" ImageSource="/Assets/Images/Green.png"/>
</Border.Background>
</Border>
<TextBlock x:Name="BarCodeStatusTxt" Text="扫描器连接成功" VerticalAlignment="Center" Foreground="Green" FontSize="15" Margin="10,0"/>
<TextBlock x:Name="BarCodeStatusTxt" Text="扫描器连接成功" VerticalAlignment="Center" Foreground="white" FontSize="15" Margin="10,0"/>
</StackPanel>
</Grid>
</Border>
</DockPanel>
</Grid>
</Border>

@ -7,18 +7,92 @@
xmlns:local="clr-namespace:Aucma.Core.SheetMetal.Views"
x:Class="Aucma.Core.SheetMetal.Views.SplitPlanView"
mc:Ignorable="d"
Background="White"
Background="#1152AC"
Title="计划维护" MinHeight="600" MinWidth="1000">
<Window.Resources>
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style x:Key="ColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="Background" Value="#dddddd"/>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<!--<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<!--<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>-->
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="White" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="#dddddd"/>
</Trigger>
</Style.Triggers>
</Style>
<!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式换行换色-->
<!--<Style TargetType="DataGridRow">
<Setter Property="Height" Value="30"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#e7e7e7"/>
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#f2f2f2" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f1ef9f" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
</Style.Triggers>
</Style>-->
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
@ -44,7 +118,8 @@
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch" VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
@ -53,10 +128,12 @@
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}" Style="{StaticResource RepeatButtonStyle}">
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}" Style="{StaticResource RepeatButtonStyle}">
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
@ -71,6 +148,7 @@
</Style>
</Window.Resources>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Margin="5">
<Grid>
<Grid.RowDefinitions>
@ -78,7 +156,7 @@
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Margin="1,1,5,5" >
<TextBlock Text="计划维护" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<TextBlock Text="计划维护" FontSize="25" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Margin="1,1,5,5">
<Grid>
@ -92,8 +170,8 @@
<RowDefinition Height="auto"/>
<RowDefinition />
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" Margin="5 5 0 0">
<Label Content="查询条件" Width="60" VerticalAlignment="Center" />
<WrapPanel Grid.Row="0" Margin="5">
<Label Content="查询条件" Width="60" VerticalAlignment="Center" Foreground="White" />
<TextBox x:Name="queryParam" Text="" Style="{x:Null}" Width="200" HorizontalAlignment="Left" VerticalContentAlignment="Center" />
<Button Content="查询" Margin="9,0,4,0" Width="100" Command="{Binding QueryPlanCommand}" CommandParameter="{Binding Text, ElementName=queryParam}"/>
</WrapPanel>
@ -104,7 +182,7 @@
GridLinesVisibility="None" VerticalAlignment="Stretch"
ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Visible"
BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" SelectedItem="{Binding SelectedCells, Mode=OneWayToSource}">
Foreground="White" SelectedItem="{Binding SelectedCells, Mode=OneWayToSource}">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding No}" Header="序号" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>
@ -131,32 +209,32 @@
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 15">
<TextBlock Text="计划编码" FontSize="15" Foreground="Gray" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox x:Name="PlanCode" Text="{Binding SelectedItem.PlanCode, ElementName=dgvMH}" IsReadOnly="True" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="15 0 0 0" MinWidth="200"
<TextBlock Text="计划编码" FontSize="15" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox x:Name="PlanCode" Foreground="White" Text="{Binding SelectedItem.PlanCode, ElementName=dgvMH}" IsReadOnly="True" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" Margin="15 0 0 0" MinWidth="200"
materialDesign:HintAssist.Hint="计划编码" />
</WrapPanel>
<WrapPanel Grid.Row="1" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 15">
<TextBlock Text="订单编码" FontSize="15" Foreground="Gray" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox x:Name="OrderCode" Text="{Binding SelectedItem.OrderCode, ElementName=dgvMH}" IsReadOnly="True" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Margin="15 0 0 0" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"
<TextBlock Text="订单编码" FontSize="15" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox x:Name="OrderCode" Foreground="White" Text="{Binding SelectedItem.OrderCode, ElementName=dgvMH}" IsReadOnly="True" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" Margin="15 0 0 0" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"
materialDesign:HintAssist.Hint="订单编码" />
</WrapPanel>
<WrapPanel Grid.Row="2" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 5">
<TextBlock Text="物料编码" FontSize="15" Foreground="Gray" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox x:Name="OrderNo" Text="{Binding SelectedItem.MaterialCode, ElementName=dgvMH}" IsReadOnly="True" Margin="15 0 0 0 " FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"
<TextBlock Text="物料编码" FontSize="15" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox x:Name="OrderNo" Foreground="White" Text="{Binding SelectedItem.MaterialCode, ElementName=dgvMH}" IsReadOnly="True" Margin="15 0 0 0 " FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"
materialDesign:HintAssist.Hint="物料编码" />
</WrapPanel>
<WrapPanel Grid.Row="3" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 15">
<TextBlock Text="物料名称" FontSize="15" Foreground="Gray" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox x:Name="MaterialName" Text="{Binding SelectedItem.MaterialName, ElementName=dgvMH}" IsReadOnly="True" Margin="15 0 0 0" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"
<TextBlock Text="物料名称" FontSize="15" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBox x:Name="MaterialName" Foreground="White" Text="{Binding SelectedItem.MaterialName, ElementName=dgvMH}" IsReadOnly="True" Margin="15 0 0 0" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Left" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"
materialDesign:HintAssist.Hint="物料名称" />
</WrapPanel>
<WrapPanel Grid.Row="4" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 15">
<TextBlock Text="可拆分数量" FontSize="15" Foreground="Gray" HorizontalAlignment="Center" VerticalAlignment="Center" />
<TextBlock Text="可拆分数" FontSize="15" Foreground="White" HorizontalAlignment="Center" VerticalAlignment="Center" />
<!--<TextBox x:Name="SpliteResidueAmount" Text="{Binding SelectedItem.SpliteResidueAmount, ElementName=dgvMH}" Margin="15 0 0 0" materialDesign:HintAssist.Hint="可拆分数量" FontSize="15" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"/>-->
<Slider x:Name="SpliteResidueAmount" Minimum="0" Maximum="100" Value="90" Foreground="white" Height="30" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="15 0 0 0" FontSize="15" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"/>
<Slider x:Name="SpliteResidueAmount" Minimum="0" Maximum="100" Value="{Binding SelectedItem.SpliteResidueAmount, ElementName=dgvMH}" Foreground="white" Height="30" VerticalContentAlignment="Center" HorizontalContentAlignment="Center" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="15 0 0 0" FontSize="15" Width="{Binding Path=ActualWidth, ElementName=PlanCode}"/>
</WrapPanel>
<WrapPanel Grid.Row="5" HorizontalAlignment="Center" VerticalAlignment="Center" Margin="0 15">
<Button Content="手动创建" Margin="5" Command="{Binding CreateTaskCommand}" CommandParameter="{Binding Text, ElementName=OrderCode}"/>

@ -15,17 +15,147 @@
<Style x:Key="DataGridTextColumnCenterSytle" TargetType="{x:Type TextBlock}">
<Setter Property="VerticalAlignment" Value="Center" />
</Style>
<Style TargetType="DataGrid">
<!--网格线颜色-->
<Setter Property="CanUserResizeColumns" Value="false"/>
<Setter Property="Background" Value="#1152AC" />
<Setter Property="BorderBrush" Value="#4285DE" />
<Setter Property="Foreground" Value="White"/>
<Setter Property="HorizontalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#4285DE"/>
</Setter.Value>
</Setter>
<Setter Property="VerticalGridLinesBrush">
<Setter.Value>
<SolidColorBrush Color="#1152AC"/>
</Setter.Value>
</Setter>
</Style>
<!--列头标题栏样式-->
<Style TargetType="DataGridColumnHeader">
<!--<Setter Property="HorizontalContentAlignment" Value="Center"/>
<Setter Property="VerticalContentAlignment" Value="Center"/>-->
<!--<Setter Property="Background" Value="#dddddd"/>
<Setter Property="Foreground" Value="Black"/>-->
<!--<Setter Property="BorderThickness" Value="1" />-->
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="BorderBrush" Value="#dddddd" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="White"/>
</Style>
<!--单元格样式-->
<Style TargetType="DataGridCell">
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
<Setter Property="BorderThickness" Value="0" />
<Setter Property="BorderBrush" Value="Gray" />
<Setter Property="Height" Value="40"/>
<Setter Property="FontSize" Value="12"/>
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridCell}">
<Grid Background="{TemplateBinding Background}" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#4285DE"/>
<Setter Property="Foreground" Value="#dddddd"/>
</Trigger>
</Style.Triggers>
</Style>
<!--背景色改变必须先设置cellStyle 因为cellStyle会覆盖rowStyle样式换行换色-->
<!--<Style TargetType="DataGridRow">
<Setter Property="Height" Value="30"/>
<Style.Triggers>
<Trigger Property="AlternationIndex" Value="0">
<Setter Property="Background" Value="#e7e7e7"/>
</Trigger>
<Trigger Property="AlternationIndex" Value="1">
<Setter Property="Background" Value="#f2f2f2" />
</Trigger>
<Trigger Property="IsMouseOver" Value="True">
<Setter Property="Background" Value="#f1ef9f" />
</Trigger>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
<Trigger Property="IsFocused" Value="True">
<Setter Property="Background" Value="#05c4ff"/>
</Trigger>
</Style.Triggers>
</Style>-->
<Style TargetType="{x:Type Slider}">
<Style.Resources>
<!-- 重写重复触发按钮的样式 -->
<Style x:Key="RepeatButtonStyle" TargetType="{x:Type RepeatButton}">
<Setter Property="Focusable" Value="false" />
<Setter Property="IsTabStop" Value="false" />
<Setter Property="Padding" Value="0" />
<Setter Property="Width" Value="30" />
</Style>
</Style.Resources>
<Setter Property="Stylus.IsPressAndHoldEnabled" Value="false" />
<Setter Property="SmallChange" Value="1" />
<!-- 重写Slider的模板 -->
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Slider}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<TextBox Grid.RowSpan="2" Height="Auto" Margin="0" Padding="0" VerticalAlignment="Stretch"
VerticalContentAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent}, Path=Value}">
<!-- 给TextBox绑定上下命令 -->
<TextBox.InputBindings>
<KeyBinding Gesture="Up" Command="{x:Static Slider.IncreaseSmall}" />
<KeyBinding Gesture="Down" Command="{x:Static Slider.DecreaseSmall}" />
<KeyBinding Gesture="PageUp" Command="{x:Static Slider.IncreaseLarge}" />
<KeyBinding Gesture="PageDown" Command="{x:Static Slider.DecreaseLarge}" />
</TextBox.InputBindings>
</TextBox>
<RepeatButton Grid.Row="0" Grid.Column="1" Command="{x:Static Slider.IncreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M4,0 L0,4 8,4 Z" Fill="Black" />
</RepeatButton>
<RepeatButton Grid.Row="1" Grid.Column="1" Command="{x:Static Slider.DecreaseSmall}"
Style="{StaticResource RepeatButtonStyle}">
<Path Data="M0,0 L4,4 8,0 Z" Fill="Black" />
</RepeatButton>
<!-- 由于Slider的内部实现要求存在这些必要组件,所以必须保留,但是设置为隐藏即可 -->
<Border x:Name="TrackBackground" Visibility="Collapsed">
<Rectangle x:Name="PART_SelectionRange" Visibility="Collapsed" />
</Border>
<Thumb x:Name="Thumb" Visibility="Collapsed" />
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</UserControl.Resources>
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="5">
<Border Grid.Row="1" Grid.Column="1" BorderBrush="#0288d1" BorderThickness="1" CornerRadius="5" Background="Transparent" Margin="5 15 5 5">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="0.8*"/>
<RowDefinition Height="9*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<TextBlock Text="数据统计" FontSize="20" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
<Border Grid.Row="0" BorderBrush="#0288d1" BorderThickness="0,0,0,1" CornerRadius="0" Background="#1157b9" Margin="1,1,5,5" >
<TextBlock Text="数据统计" FontSize="25" FontWeight="Bold" Foreground="White" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
<Border Grid.Row="1" BorderBrush="#0288d1" BorderThickness="0" CornerRadius="5" Background="Transparent" Margin="1,1,5,5">
<Grid Margin="10,5">
@ -34,12 +164,11 @@
<RowDefinition Height="8*"/>
</Grid.RowDefinitions>
<WrapPanel Grid.Row="0" HorizontalAlignment="Left" VerticalAlignment="Center">
<TextBlock Text="开始时间" Margin="10 0" Foreground="Gray" FontSize="15" VerticalAlignment="Center"/>
<TextBlock Text="开始时间" Margin="10 0" Foreground="White" FontSize="15" VerticalAlignment="Center"/>
<DatePicker
x:Name="BeginTime"
x:Name="BeginTime"
Width="200" Margin="10 0" Text="2023-10-09"
materialDesign:CalendarAssist.IsHeaderVisible="False"
materialDesign:HintAssist.Hint="开始日期">
materialDesign:CalendarAssist.IsHeaderVisible="False">
<DatePicker.SelectedDate>
<Binding
Path="FutureValidatingDate"
@ -50,12 +179,11 @@
</DatePicker.SelectedDate>
</DatePicker>
<TextBlock Text="结束时间" Margin="10 0" Foreground="Gray" FontSize="15" VerticalAlignment="Center"/>
<TextBlock Text="结束时间" Margin="10 0" Foreground="White" FontSize="15" VerticalAlignment="Center"/>
<DatePicker
x:Name="EndTime" Margin="10 0" Text="2023-10-09"
Width="200"
materialDesign:CalendarAssist.IsHeaderVisible="False"
materialDesign:HintAssist.Hint="结束日期">
Width="200"
materialDesign:CalendarAssist.IsHeaderVisible="False">
<DatePicker.SelectedDate>
<Binding
Path="FutureValidatingDate"
@ -84,7 +212,7 @@
RowHeight="50" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False" SelectionMode="Single" IsReadOnly="True"
Foreground="Gray" >
Foreground="White" >
<DataGrid.Columns>
<!--<DataGridTextColumn Binding="{Binding No}" Header="序号" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>-->
<DataGridTextColumn Binding="{Binding ProductPlanCode}" Header="计划编号" Width="1*" ElementStyle="{StaticResource DataGridTextColumnCenterSytle}"/>

@ -115,6 +115,9 @@
"Enabled": true
}
},
"StoreInfo": {
"StationCode": "1001"
},
"PLCServer": [
{
"Id": 1,

@ -14,4 +14,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Aucma.Core.SheetMetal
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\Aucma.Core.SheetMetal\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Aucma.Core.SheetMetal\

@ -0,0 +1,350 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Aucma.Scada.UI.Common;
using Aucma.Scada.UI.ViewModel;
using log4net;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace Aucma.Scada.UI.PlanBusiness
{
/// <summary>
/// 组装计划业务逻辑
/// </summary>
public sealed class AssemblyPlanBusiness
{
#region 单例实现
private static readonly Lazy<AssemblyPlanBusiness> lazy = new Lazy<AssemblyPlanBusiness>(() => new AssemblyPlanBusiness());
public static AssemblyPlanBusiness Instance
{
get
{
return lazy.Value;
}
}
#endregion
#region 对象引用
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(AssemblyPlanBusiness));
private AppConfig appConfig = AppConfig.Instance;
#endregion
#region 接口引用
/// <summary>
/// 生产计划
/// </summary>
private IProductPlanInfoServices? _productPlanInfoService;
/// <summary>
/// 执行计划
/// </summary>
private IExecutePlanInfoServices? _executePlanInfoService;
/// <summary>
/// BOM信息
/// </summary>
private IBaseBomInfoServices? _bomInfoService;
/// <summary>
/// 货道明细
/// </summary>
private IBaseSpaceDetailServices? _spaceDetailService;
#endregion
#region 委托事件
/// <summary>
/// 刷新执行计划
/// </summary>
/// <param name="taskInfos"></param>
public delegate void RefreshExecutePlanInfo(List<ExecutePlanInfo> executePlanInfos);
public event RefreshExecutePlanInfo RefreshExecutePlanInfoEvent;
/// <summary>
/// 下传执行计划
/// </summary>
/// <param name="planInfo"></param>
public delegate void NextPassExecutePlanInfo(ExecutePlanInfo planInfo);
public event NextPassExecutePlanInfo NextPassExecutePlanInfoEvent;
#endregion
private AssemblyPlanBusiness()
{
_productPlanInfoService = App.ServiceProvider.GetService<IProductPlanInfoServices>();
_executePlanInfoService = App.ServiceProvider.GetService<IExecutePlanInfoServices>();
_bomInfoService = App.ServiceProvider.GetService<IBaseBomInfoServices>();
_spaceDetailService = App.ServiceProvider.GetService<IBaseSpaceDetailServices>();
}
/// <summary>
/// 根据产线工位编号获取生产计划
/// </summary>
/// <param name="productLineCode"></param>
/// <returns></returns>
public async Task<List<ProductPlanInfo>> GetProductPlanInfosByProductLineCode(string orderCode)
{
List<ProductPlanInfo> productPlanInfos = null;
try
{
productPlanInfos =await _productPlanInfoService.GetProductPlanInfosByProductLineCode(appConfig.stationCode);
if(productPlanInfos.Count>0 )
{
if(!string.IsNullOrEmpty(orderCode))
{
productPlanInfos = productPlanInfos.Where(x=>x.OrderCode.Contains(orderCode)).ToList();
}
}
}
catch (Exception ex)
{
logHelper.Error("根据产线工位编号获取生产计划异常", ex);
}
return productPlanInfos;
}
/// <summary>
/// 根据产线工位编号获取执行计划
/// </summary>
/// <returns></returns>
public async Task<List<ExecutePlanInfo>> GetEexecutePlanInfosByProductLineCode()
{
List<ExecutePlanInfo> planInfos = null;
try
{
planInfos =(await _executePlanInfoService.GetExecutePlanInfosByProductLineCode(appConfig.stationCode)).OrderBy(x => x.ExecuteOrder).ToList();
if (planInfos != null)
{
planInfos = planInfos.Where(x => x.ExecuteStatus != 3).ToList();
RefreshExecutePlanInfoEvent?.Invoke(planInfos);
}
}
catch (Exception ex)
{
logHelper.Error("根据产线工位编号获取执行计划异常", ex);
}
return planInfos;
}
/// <summary>
/// 判断库存
/// </summary>
/// <param name="planInfo">生产计划</param>
/// <param name="transmitAmount">下达数量</param>
/// <param name="materialType">BOM类型</param>
/// <param name="storeCode"></param>
/// <returns></returns>
public async Task<bool> JudgmentStock(ProductPlanInfo planInfo,int transmitAmount, string materialType,string storeCode)
{
bool result = false;
try
{
var shellBomInfo =await _bomInfoService.GetChildenBomInfoByMaterialCode(planInfo.MaterialCode, materialType);
if(shellBomInfo != null)
{
materialType = shellBomInfo.MaterialCode;
List<BaseSpaceDetail> spaceDetails =await _spaceDetailService.GetSpaceDetailsByMaterialTypeAsync(storeCode, materialType);
if (spaceDetails.Count > transmitAmount)
{
result = true;
}
}
}
catch (Exception ex)
{
logHelper.Error("计划下达判断库存异常", ex);
}
return result;
}
/// <summary>
/// 根据生产计划下达执行计划
/// </summary>
/// <param name="productPlanCode"></param>
/// <param name="transmitAmount"></param>
public async Task<bool> PlanTransmitByProductPlan(string productPlanCode, int transmitAmount)
{
bool result = false;
try
{
var productPlanInfo =await _productPlanInfoService.GetProductPlanByPlanCode(productPlanCode);
if (productPlanInfo != null)
{
ExecutePlanInfo executePlanInfo = new ExecutePlanInfo();
executePlanInfo.ExecutePlanCode = System.Guid.NewGuid().ToString("N");
executePlanInfo.ProductPlanCode = productPlanInfo.PlanCode;
executePlanInfo.ProductLineCode = productPlanInfo.ProductLineCode;
executePlanInfo.OrderCode = productPlanInfo.OrderCode;
executePlanInfo.MaterialCode = productPlanInfo.MaterialCode;
executePlanInfo.MaterialName = productPlanInfo.MaterialName;
int lineCode=await _executePlanInfoService.GetExecuteOrderByProductLineCode(appConfig.stationCode);
executePlanInfo.ExecuteOrder = lineCode;
executePlanInfo.ExecuteStatus = 1;
executePlanInfo.PlanAmount = transmitAmount;
executePlanInfo.CreatedTime = DateTime.Now;
result =await _executePlanInfoService.InsertExecutePlanInfo(executePlanInfo);
if (result)
{
await GetEexecutePlanInfosByProductLineCode();
}
}
}
catch (Exception ex)
{
logHelper.Error("根据生产计划下达执行计划异常", ex);
}
return result;
}
/// <summary>
/// 执行计划上移
/// </summary>
/// <param name="executePlanCode"></param>
public async void ExecutePlanInfo_MoveUp(List<ExecutePlanInfo> executePlanInfos, string executePlanCode)
{
List<ExecutePlanInfo> executePlans = new List<ExecutePlanInfo>();
if (executePlanInfos != null)
{
ExecutePlanInfo planInfo = executePlanInfos.Where(x => x.ExecutePlanCode == executePlanCode).First();
int executeOrder = planInfo.ExecuteOrder;
int planIndex = executePlanInfos.IndexOf(planInfo);
if (planIndex != -1 && planIndex != 0)
{
var lastPlanInfo = executePlanInfos[planIndex - 1];
planInfo.ExecuteOrder = lastPlanInfo.ExecuteOrder;
lastPlanInfo.ExecuteOrder = executeOrder;
executePlans.Add(planInfo);
executePlans.Add(lastPlanInfo);
var result =await _executePlanInfoService.UpdateRangeExecutePlanInfo(executePlans);
if (result)
{
GetEexecutePlanInfosByProductLineCode();
}
}
}
}
/// <summary>
/// 执行计划下移
/// </summary>
/// <param name="executePlanCode"></param>
public async void ExecutePlanInfo_MoveDown(List<ExecutePlanInfo> executePlanInfos, string executePlanCode)
{
List<ExecutePlanInfo> executePlans = new List<ExecutePlanInfo>();
if (executePlanInfos != null)
{
ExecutePlanInfo planInfo = executePlanInfos.Where(x => x.ExecutePlanCode == executePlanCode).First();
int executeOrder = planInfo.ExecuteOrder;
int planIndex = executePlanInfos.IndexOf(planInfo);
if (planIndex != executePlanInfos.Count - 1)
{
var lastPlanInfo = executePlanInfos[planIndex + 1];
planInfo.ExecuteOrder = lastPlanInfo.ExecuteOrder;
lastPlanInfo.ExecuteOrder = executeOrder;
executePlans.Add(planInfo);
executePlans.Add(lastPlanInfo);
var result =await _executePlanInfoService.UpdateRangeExecutePlanInfo(executePlans);
if (result)
{
GetEexecutePlanInfosByProductLineCode();
}
}
}
}
/// <summary>
/// 根据执行计划编号删除执行计划
/// </summary>
/// <param name="planCode"></param>
/// <returns></returns>
public async Task<bool> ExecutePlanInfo_Delete(string planCode)
{
bool result =await _executePlanInfoService.DeleteExecutePlanInfoByPlanCode(planCode);
if (result)
{
await GetEexecutePlanInfosByProductLineCode();
}
return result;
}
/// <summary>
/// 下传计划
/// </summary>
/// <param name="planCode"></param>
public async Task<ExecutePlanInfo> ExecutePlanInfo_NextPass(string planCode, string nowPlanCode)
{
ExecutePlanInfo planInfo = null;
try
{
List<ExecutePlanInfo> planInfos = new List<ExecutePlanInfo>();
if (!string.IsNullOrEmpty(nowPlanCode))
{
ExecutePlanInfo nowPlanInfo =await _executePlanInfoService.GetExecutePlanInfoByPlanCode(nowPlanCode);
if (nowPlanInfo != null)
{
nowPlanInfo.ExecuteStatus = 1;
planInfos.Add(nowPlanInfo);
}
}
//获取执行计划
planInfo =await _executePlanInfoService.GetExecutePlanInfoByPlanCode(planCode);
if (planInfo != null)
{
//传给出库
NextPassExecutePlanInfoEvent?.Invoke(planInfo);
planInfo.ExecuteStatus = 2;
planInfo.BeginTime = DateTime.Now;
planInfos.Add(planInfo);
}
else
{
logHelper.Info($"执行计划下传失败,执行计划编号:{planCode}未获取到执行计划");
return planInfo;
}
if (planInfos.Count > 0)
{
var result =await _executePlanInfoService.UpdateRangeExecutePlanInfo(planInfos);
if (result)
{
GetEexecutePlanInfosByProductLineCode();
}
}
}
catch (Exception ex)
{
logHelper.Error("计划下传异常", ex);
}
return planInfo;
}
/// <summary>
/// 获取小时产量
/// </summary>
/// <returns></returns>
public async Task<List<dynamic>> GetHourAmount()
{
return await _executePlanInfoService.GetStationHourAmount(appConfig.stationCode);
}
/// <summary>
/// 获取物料型号统计
/// </summary>
/// <returns></returns>
public async Task<List<dynamic>> GetMaterialStats()
{
return await _executePlanInfoService.GetStationMaterialStats(appConfig.stationCode);
}
}
}

@ -0,0 +1,577 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Service;
using Aucma.Scada.UI.Common;
using log4net;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Aucma.Scada.UI.PlanBusiness
{
/// <summary>
/// 入库业务逻辑
/// </summary>
public sealed class InStoreBusiness
{
#region 单例实现
private static readonly Lazy<InStoreBusiness> lazy = new Lazy<InStoreBusiness>(() => new InStoreBusiness());
public static InStoreBusiness Instance
{
get
{
return lazy.Value;
}
}
#endregion
#region 对象引用
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(ExecutePlanInfoServices));
private AppConfig appConfig = AppConfig.Instance;
private InStoreTaskHandle taskHandle = InStoreTaskHandle.Instance;
private GrabImage grabImage = GrabImage.Instance;
#endregion
#region 接口引用
/// <summary>
/// 货道信息
/// </summary>
private IBaseSpaceInfoServices _spaceInfoService;
/// <summary>
/// 实时任务
/// </summary>
private IRealTaskInfoServices _taskInfoService;
private IBaseSpaceDetailServices _baseSpaceDetailService;
private IBaseBomInfoServices _baseBomInfoService;
private IRecordInStoreServices _recordInStore;
#endregion
#region 委托事件
/// <summary>
/// 初始化入库任务
/// </summary>
/// <param name="message"></param>
public delegate void RefreshInStoreTask(RealTaskInfo taskInfos, bool isFinsih = false);
public event RefreshInStoreTask RefreshInStoreTaskEvent;
/// <summary>
/// 扫码信息刷新
/// </summary>
/// <param name="materialCode"></param>
/// <param name="materialName"></param>
/// <param name="spaceName"></param>
/// <param name="materialType"></param>
public delegate void RefreshScanMateriaCode(string materialCode, string materialName, string spaceName, string materialType);
public event RefreshScanMateriaCode RefreshScanMateriaCodeEvent;
/// <summary>
/// 日志信息刷新
/// </summary>
/// <param name="message"></param>
public delegate void RefreshLogMessage(string message);
public event RefreshLogMessage RefreshLogMessageEvent;
#endregion
private InStoreBusiness()
{
_spaceInfoService = App.ServiceProvider.GetService<IBaseSpaceInfoServices>();
_taskInfoService = App.ServiceProvider.GetService<IRealTaskInfoServices>();
_baseSpaceDetailService = App.ServiceProvider.GetService<IBaseSpaceDetailServices>();
_baseBomInfoService = App.ServiceProvider.GetService<IBaseBomInfoServices>();
_recordInStore = App.ServiceProvider.GetService<IRecordInStoreServices>();
taskHandle.InStoreFinsihEvent += InStoreFinish;
taskHandle.InStoreAnswerEvent += InStoreAnswer;
grabImage.RefreshMaterialCodeStrEvent += InStore;
grabImage.RefreshLogMessageEvent += PrintLogInfoMessage;
StartPassDown();
//Task.Run(() =>
//{
// Thread.Sleep(6000);
// for (int i = 1; i < 12; i++)
// {
// InStore(appConfig.shellStoreCode, "B23600000781110900" + i.ToString().PadLeft(2, '0'));
// Thread.Sleep(1000 * 30);
// InStore(appConfig.linerStoreCode, "L23600000788110900" + i.ToString().PadLeft(2, '0'));
// Thread.Sleep(1000 * 30);
// }
//});
}
/// <summary>
/// 入库
/// </summary>
/// <param name="storeCode"></param>
/// <param name="materialType"></param>
private async void InStore(string storeCode, string materialCode)
{
try
{
PrintLogInfoMessage($"扫码成功,物料码:{materialCode}");
string materialType = SubStringMaterialCode(materialCode);
#region Delete By wenjy 2023-10-30 11:41:00 取消通过数据库获取货道数量、在途量改为通过PLC获取货道信息
//var spaceInfo = _spaceInfoService.InStoreGetSpaceInfoByMaterialType(storeCode, materialType);
#endregion
var spaceInfo = GetSpaceInfoByMaterialType(storeCode, materialType);
if (spaceInfo != null)
{
PrintLogInfoMessage($"匹配货道:{spaceInfo.SpaceName}");
spaceInfo.MaterialType = materialType;
RefreshScanMateriaCodeEvent?.Invoke(materialCode,await GetMaterialName(materialType), spaceInfo.SpaceName, storeCode); //刷新界面扫码信息
var result =await CreateInStoreTask(spaceInfo, materialCode); //创建入库任务
if (result)
{
//spaceInfo.onRouteAmount += 1; //通过PLC获取货道信息在库、在途数量时不需要修改在途数量
_spaceInfoService.UpdateSpaceInfo(spaceInfo);
}
}
else
{
//报警停线
PrintLogInfoMessage($"物料码:{materialCode};未匹配到可用货道");
}
}
catch (Exception ex)
{
PrintLogErrorMessage("入库业务异常", ex);
}
}
/// <summary>
/// 创建入库任务
/// </summary>
/// <param name="spaceInfo"></param>
private async Task<bool> CreateInStoreTask(BaseSpaceInfo spaceInfo, string materialCode)
{
bool result = false;
#region 任务赋值
RealTaskInfo realTaskInfo = new RealTaskInfo();
realTaskInfo.TaskType = 1;
realTaskInfo.TaskCode = System.Guid.NewGuid().ToString("N").Substring(0, 6);
realTaskInfo.StoreCode = spaceInfo.StoreCode;
realTaskInfo.SpaceCode = spaceInfo.SpaceCode;
realTaskInfo.MaterialType = spaceInfo.MaterialType;
realTaskInfo.MaterialCode = materialCode;
realTaskInfo.PlanAmount = 1;
realTaskInfo.TaskStatus = 1;
realTaskInfo.CreateTime = DateTime.Now;
#endregion
int r =await _taskInfoService.AddAsync(realTaskInfo);
if (r>0)
{
PrintLogInfoMessage("入库任务创建成功");
RefreshInStoreTaskEvent?.Invoke(realTaskInfo);
result = true;
}
else
{
PrintLogInfoMessage("入库任务创建失败");
}
return result;
}
#region 轮询获取入库任务下发至PLC等待PLC执行反馈完成后再次下发
private SemaphoreSlim shellSemaphore = new SemaphoreSlim(0);
private SemaphoreSlim linerSemaphore = new SemaphoreSlim(0);
/// <summary>
/// 任务下发
/// </summary>
private void StartPassDown()
{
Thread.Sleep(5000);
Task.Run(() =>
{
while (true)
{
PassDownShellTask();
Thread.Sleep(2000);
}
});
Task.Run(() =>
{
while (true)
{
PassDownLinerTaskAsync();
Thread.Sleep(2000);
}
});
}
/// <summary>
/// 依次获取箱壳任务队列进行下发
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
private async void PassDownShellTask()
{
try
{
RealTaskInfo taskInfo =await _taskInfoService.GetTaskInfoByStoreCode(appConfig.shellStoreCode, appConfig.instoreTaskType);
if (taskInfo != null)
{
PrintLogInfoMessage($"下发箱壳入库任务:{taskInfo.TaskCode};仓库{taskInfo.StoreCode};货道:{taskInfo.SpaceCode}");
if (taskHandle.SendShellTask_InStore(taskInfo))
{
PrintLogInfoMessage($"箱壳入库任务:{taskInfo.TaskCode}下发成功等待PLC执行反馈");
shellSemaphore.Wait(); //一直堵塞直到信号量释放
PrintLogInfoMessage($"箱壳入库任务:{taskInfo.TaskCode};开始执行");
taskInfo.TaskStatus = 2;
_taskInfoService.UpdateAsync(taskInfo);
RefreshInStoreTaskEvent?.Invoke(taskInfo);
}
else
{
PrintLogInfoMessage($"箱壳入库任务:{taskInfo.TaskCode}下发失败请排查PLC连接");
}
}
else
{
PrintLogInfoMessage("未获取到需要下发的箱壳入库任务");
}
}
catch (Exception ex)
{
PrintLogErrorMessage("依次获取箱壳任务队列进行下发逻辑异常", ex);
}
}
/// <summary>
/// 依次获取内胆任务队列进行下发
/// </summary>
private async Task PassDownLinerTaskAsync()
{
try
{
RealTaskInfo taskInfo = await _taskInfoService.GetTaskInfoByStoreCode(appConfig.linerStoreCode, appConfig.instoreTaskType);
if (taskInfo != null)
{
PrintLogInfoMessage($"下发内胆入库任务:{taskInfo.TaskCode};仓库{taskInfo.StoreCode};货道:{taskInfo.SpaceCode}");
if (taskHandle.SendLinerTask_InStore(taskInfo))
{
PrintLogInfoMessage($"内胆入库任务:{taskInfo.TaskCode}下发成功等待PLC执行反馈");
linerSemaphore.Wait(); //一直堵塞直到信号量释放
PrintLogInfoMessage($"内胆入库任务:{taskInfo.TaskCode};开始执行");
taskInfo.TaskStatus = 2;
_taskInfoService.UpdateAsync(taskInfo);
RefreshInStoreTaskEvent?.Invoke(taskInfo);
}
else
{
PrintLogInfoMessage($"内胆入库任务:{taskInfo.TaskCode}下发失败请排除PLC连接");
}
}
else
{
PrintLogInfoMessage("未获取到需要下发的内胆入库任务");
}
}
catch (Exception ex)
{
PrintLogErrorMessage("依次获取内胆任务队列进行下发逻辑异常", ex);
}
}
#endregion
/// <summary>
/// 入库应答PLC收到入库任务后进行应答
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskCode"></param>
private void InStoreAnswer(string storeCode, string taskCode)
{
if (storeCode == appConfig.shellStoreCode)
{
PrintLogInfoMessage("箱壳应答成功,自动释放信号量,进行下发新任务");
shellSemaphore.Release();
}
else
{
PrintLogInfoMessage("内胆应答成功,自动释放信号量,进行下发新任务");
linerSemaphore.Release();
}
}
/// <summary>
/// 入库完成
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskCode"></param>
private void InStoreFinish(string storeCode, string taskCode)
{
if (storeCode == appConfig.shellStoreCode)
{
PrintLogInfoMessage($"箱壳任务:{taskCode};执行完成");
InStoreFinishHandle(taskCode, appConfig.shellStoreCode);
}
else
{
PrintLogInfoMessage($"内胆任务:{taskCode};执行完成");
InStoreFinishHandle(taskCode, appConfig.linerStoreCode);
}
}
/// <summary>
/// 入库完成逻辑处理
/// </summary>
/// <param name="storeCode"></param>
/// <param name="spaceCode"></param>
/// <param name="materialType"></param>
private async void InStoreFinishHandle(string taskCode, string storeCode)
{
try
{
var taskInfo =await _taskInfoService.GetTaskInfoByTaskCode(taskCode, storeCode);
if (taskInfo != null)
{
var spaceInfo =await _spaceInfoService.GetSpaceInfoBySpaceCode(taskInfo.StoreCode, taskInfo.SpaceCode);
if (spaceInfo != null)
{
taskHandle.WritePlc(spaceInfo.StoreCode, spaceInfo.SpaceCode, true);
//spaceInfo.materialType = taskInfo.materialType;
spaceInfo.SpaceStock = spaceInfo.SpaceStock + 1;
spaceInfo.OnRouteAmount -= 1;
//读取PLC获取货道信息存放数量、在途数量,
#region Add By wenjy 2023-10-30 13:44:00 通过PLC获取货道信息
var item = taskHandle.ReadSpaceInfoByPlc(spaceInfo);
spaceInfo.SpaceStock = item.spaceStock;
spaceInfo.OnRouteAmount = item.onRouteAmount;
spaceInfo.SpaceStatus = item.spaceStatus;
#endregion
_spaceInfoService.UpdateSpaceInfo(spaceInfo);
#region 添加货道明细
BaseSpaceDetail spaceDetail = new BaseSpaceDetail();
spaceDetail.MaterialType = taskInfo.MaterialType;
spaceDetail.MaterialCode = taskInfo.MaterialCode;
spaceDetail.MaterialName = await GetMaterialName(taskInfo.MaterialType);
spaceDetail.StoreCode = spaceInfo.StoreCode;
spaceDetail.SpaceCode = spaceInfo.SpaceCode;
spaceDetail.MaterialAmount = 1;
await _baseSpaceDetailService.InsertSpaceDetail(spaceDetail);
#endregion
#region 添加入库记录
RecordInstore recordInstore = new RecordInstore();
recordInstore.StoreCode = taskInfo.StoreCode;
recordInstore.SpaceCode = taskInfo.SpaceCode;
recordInstore.MaterialCode = taskInfo.MaterialCode;
recordInstore.MaterialType = taskInfo.MaterialType;
recordInstore.MaterialName = await GetMaterialName(taskInfo.MaterialType);
recordInstore.InStoreAmount = 1;
recordInstore.InStoreTime = DateTime.Now;
recordInstore.BarCodeCode = taskInfo.MaterialCode;
await _recordInStore.AddAsync(recordInstore);
#endregion
}
//清除任务信息
_taskInfoService.DeleteTaskInfo(taskCode, storeCode);
}
RefreshInStoreTaskEvent?.Invoke(taskInfo, true);
}
catch (Exception ex)
{
PrintLogErrorMessage("入库完成逻辑处理异常", ex);
}
}
/// <summary>
/// 截取条码
/// </summary>
/// <param name="materialCode"></param>
/// <returns></returns>
private string SubStringMaterialCode(string materialCode)
{
string result = string.Empty;
if (!string.IsNullOrEmpty(materialCode))
{
result = materialCode.Substring(2, 10);
}
return result;
}
/// <summary>
/// 获取已创建的所有入库任务
/// </summary>
/// <returns></returns>
public async Task<List<RealTaskInfo>> GetInStoreTask()
{
return await _taskInfoService.GetTaskInfosByStoreCode(new string[] { appConfig.shellStoreCode, appConfig.linerStoreCode }, appConfig.instoreTaskType);
}
/// <summary>
/// 通过BOM获取物料名称
/// </summary>
/// <param name="materialType"></param>
/// <returns></returns>
public async Task<string> GetMaterialName(string materialType)
{
string materialName = string.Empty;
var info =await _baseBomInfoService.GetBomInfoByMaterialCode(materialType);
if (info != null)
{
materialName = info.MaterialName;
}
return materialName;
}
/// <summary>
/// 获取仓库物料库存
/// </summary>
/// <returns></returns>
public List<dynamic> GetMaterialStock()
{
return _spaceInfoService.GetMaterialStock(appConfig.shellStoreCode, appConfig.linerStoreCode);
}
#region 通过PLC读取货道信息在库、在途、货道状态
/// <summary>
/// 通过PLC读取货道信息在途数量、在库数量、货道状态)
/// </summary>
/// <param name="storeCode"></param>
/// <param name="materialType"></param>
/// <returns></returns>
private BaseSpaceInfo GetSpaceInfoByMaterialType(string storeCode, string materialType)
{
BaseSpaceInfo result = null;
try
{
List<BaseSpaceInfo> info = _spaceInfoService.GetBaseSpaceInfosByMaterialType(storeCode, materialType);
if (info != null)
{
if (info.Count > 0)
{
result = GetSpaceInfosByPlc(info);
if (result == null)
{
var list = _spaceInfoService.GetEmptySpaceInfo(storeCode);
result = GetSpaceInfosByPlc(list);
}
}
}
}
catch (Exception ex)
{
PrintLogErrorMessage("货道信息读取异常", ex);
}
return result;
}
/// <summary>
/// 读取PLC货道信息
/// </summary>
/// <param name="info"></param>
/// <returns></returns>
private BaseSpaceInfo GetSpaceInfosByPlc(List<BaseSpaceInfo> info)
{
BaseSpaceInfo result = null;
if (info != null)
{
if (info.Count > 0)
{
foreach (BaseSpaceInfo item in info)
{
var spaceInfo = taskHandle.ReadSpaceInfoByPlc(item);
item.SpaceStock = spaceInfo.spaceStock;
item.OnRouteAmount = spaceInfo.onRouteAmount;
item.SpaceStatus = spaceInfo.spaceStatus;
PrintLogInfoMessage($"通过PLC读取货道信息货道{spaceInfo.spaceName};在库数量:{item.SpaceStock};在途数量:{item.OnRouteAmount};货道状态:{item.SpaceStatus}");
}
var list = info.Where(x => x.SpaceStock > 0 ? x.SpaceCapacity > (x.SpaceStock + x.OnRouteAmount) : 1 == 1 && x.SpaceStatus == 1).ToList();
if (list.Count > 0)
{
result = list.OrderByDescending(x => x.SpaceStock).OrderBy(x => x.SpaceCode).First();
}
}
}
return result;
}
#endregion
#region 日志输出
/// <summary>
/// 日志输出,界面刷新同时记录文件
/// </summary>
/// <param name="message"></param>
private void PrintLogInfoMessage(string message)
{
RefreshLogMessageEvent?.Invoke(message);
logHelper.Info(message);
}
/// <summary>
/// 异常日志输出
/// </summary>
/// <param name="message"></param>
/// <param name="ex"></param>
private void PrintLogErrorMessage(string message, Exception ex = null)
{
RefreshLogMessageEvent?.Invoke(message);
logHelper.Error(message, ex);
}
#endregion
}
}

@ -0,0 +1,920 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Service;
using Aucma.Scada.UI.Common;
using log4net;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.IdentityModel.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Aucma.Scada.UI.PlanBusiness
{
/// <summary>
/// 出库业务逻辑
/// </summary>
public sealed class OutStoreBusiness
{
#region 单例实现
private static readonly Lazy<OutStoreBusiness> lazy = new Lazy<OutStoreBusiness>(() => new OutStoreBusiness());
public static OutStoreBusiness Instance
{
get
{
return lazy.Value;
}
}
#endregion
#region 对象引用
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(OutStoreBusiness));
private AppConfig appConfig = AppConfig.Instance;
private AssemblyPlanBusiness assemblyPlanBusiness = AssemblyPlanBusiness.Instance;
private OutStoreTaskHandle taskHandleBusiness = OutStoreTaskHandle.Instance;
#endregion
#region 接口引用
/// <summary>
/// 货道信息
/// </summary>
private IBaseSpaceInfoServices _spaceInfoService;
/// <summary>
/// 实时任务
/// </summary>
private IRealTaskInfoServices _taskInfoService;
/// <summary>
/// BOM信息
/// </summary>
private IBaseBomInfoServices _bomInfoService;
/// <summary>
/// 货道明细
/// </summary>
private IBaseSpaceDetailServices _spaceDetailService;
private IExecutePlanInfoServices _executePlanInfoService;
private IProductPlanInfoServices _productPlanInfoService;
private IRecordOutStoreServices _recordOutStoreService;
private IRecordProductFinishServices _recordProductfinishService;
#endregion
#region 委托事件
/// <summary>
/// 初始化出库任务
/// </summary>
/// <param name="message"></param>
public delegate void RefreshOutStoreTask(RealTaskInfo taskInfos);
public event RefreshOutStoreTask RefreshOutStoreTaskEvent;
/// <summary>
/// 扫码信息刷新
/// </summary>
/// <param name="materialCode"></param>
/// <param name="materialName"></param>
/// <param name="spaceName"></param>
/// <param name="storeCode"></param>
public delegate void RefreshScanMateriaCode(string materialCode, string materialName, string spaceName, string storeCode);
public event RefreshScanMateriaCode RefreshScanMateriaCodeEvent;
/// <summary>
/// 日志信息刷新
/// </summary>
/// <param name="message"></param>
public delegate void RefreshLogMessage(string message);
public event RefreshLogMessage RefreshLogMessageEvent;
public delegate void RefreshAssemblyPlanInit();
public event RefreshAssemblyPlanInit RefreshAssemblyPlanInitEvent;
public delegate void RefreshStoreStock();
public event RefreshStoreStock RefreshStoreStockEvent;
#endregion
private OutStoreBusiness()
{
//_spaceInfoService = registerServices.GetService<IBaseSpaceInfoService>();
//_taskInfoService = registerServices.GetService<IRealTaskInfoService>();
//_bomInfoService = registerServices.GetService<IBaseBomInfoService>();
//_spaceDetailService = registerServices.GetService<IBaseSpaceDetailService>();
//_executePlanInfoService = registerServices.GetService<IExecutePlanInfoService>();
//_productPlanInfoService = registerServices.GetService<IProductPlanInfoService>();
//_recordOutStoreService = registerServices.GetService<IRecordOutStoreService>();
//_recordProductfinishService = registerServices.GetService<IRecordProductfinishService>();
_spaceInfoService = App.ServiceProvider.GetService<IBaseSpaceInfoServices>();
_taskInfoService = App.ServiceProvider.GetService<IRealTaskInfoServices>();
_bomInfoService = App.ServiceProvider.GetService<IBaseBomInfoServices>();
_spaceDetailService = App.ServiceProvider.GetService<IBaseSpaceDetailServices>();
_executePlanInfoService = App.ServiceProvider.GetService<IExecutePlanInfoServices>();
_productPlanInfoService = App.ServiceProvider.GetService<IProductPlanInfoServices>();
assemblyPlanBusiness.NextPassExecutePlanInfoEvent += PlanHandle;
taskHandleBusiness.OutStoreAnswerEvent += OutStoreAnswer;
taskHandleBusiness.OutStoreFinsihEvent += OutStoreFinish;
StartPassDown();
}
/// <summary>
/// 接收下达的组装计划根据BOM获取需要出库的箱壳、内胆物料信息
/// </summary>
/// <param name="planInfo"></param>
private void PlanHandle(ExecutePlanInfo planInfo)
{
lock (string.Empty)
{
Task.Run(async () =>
{
if (planInfo != null)
{
var shellBomInfo =await _bomInfoService.GetChildenBomInfoByMaterialCode(planInfo.MaterialCode, appConfig.shellMaterialType);
var linerBomInfo =await _bomInfoService.GetChildenBomInfoByMaterialCode(planInfo.MaterialCode, appConfig.linerMaterialType);
if (shellBomInfo != null && linerBomInfo != null)
{
for (int i = 0; i < planInfo.PlanAmount - planInfo.CompleteAmount; i++)
{
string taskCode = System.Guid.NewGuid().ToString("N").Substring(0, 10);
OutStore(appConfig.shellStoreCode, shellBomInfo, planInfo.ExecutePlanCode, taskCode);
Thread.Sleep(500);
OutStore(appConfig.linerStoreCode, linerBomInfo, planInfo.ExecutePlanCode, taskCode);
Thread.Sleep(500);
}
}
else
{
PrintLogInfoMessage($"物料:{planInfo.MaterialCode}获取Bom信息为空");
}
}
});
}
}
/// <summary>
/// 解析计划创建出库任务
/// </summary>
/// <param name="storeCode"></param>
/// <param name="bomInfo"></param>
/// <param name="planCode"></param>
private async void OutStore(string storeCode, BaseBomInfo bomInfo, string planCode, string taskCode)
{
try
{
PrintLogInfoMessage($"收到出库计划,物料码:{bomInfo.MaterialCode}");
#region Delete By wenjy 2023-10-30 11:41:00 取消通过数据库获取货道数量、在途量改为通过PLC获取货道信息
//BaseSpaceInfo spaceInfo = _spaceInfoService.OutStoreGetSpaceInfoByMaterialCode(storeCode, bomInfo.materialCode);
#endregion
BaseSpaceInfo spaceInfo =await GetSpaceInfoByMaterialType(storeCode, bomInfo.MaterialCode);
if (spaceInfo != null)
{
PrintLogInfoMessage($"匹配货道:{spaceInfo.SpaceName}");
// RefreshScanMateriaCodeEvent?.Invoke(materiaclCode, materialType, spaceInfo.spaceName, storeCode); //刷新界面扫码信息
bool result =await CreateOutStoreTask(spaceInfo, planCode, taskCode); //创建出库任务
if (result)
{
PrintLogInfoMessage("出库任务创建成功");
}
else
{
PrintLogInfoMessage("出库任务创建失败");
}
}
else
{
//报警停线
PrintLogInfoMessage($"{storeCode};仓库内未获取到{bomInfo.MaterialCode}相匹配的物料及货道");
}
}
catch (Exception ex)
{
PrintLogErrorMessage("出库业务异常", ex);
}
}
/// <summary>
/// 创建出库任务
/// </summary>
/// <param name="spaceInfo"></param>
private async Task<bool> CreateOutStoreTask(BaseSpaceInfo spaceInfo, string planCode, string taksCode, int taskModel = 0)
{
bool result = false;
try
{
//获取出库的货道明细物料信息
BaseSpaceDetail spaceDetail =await GetSpaceDetailFirstOrderByCreatTime(spaceInfo);
if (spaceDetail != null)
{
#region 出库任务赋值
RealTaskInfo realTaskInfo = new RealTaskInfo();
realTaskInfo.PlanCode = planCode;
realTaskInfo.TaskType = 2;
realTaskInfo.TaskCode = taksCode;
realTaskInfo.TaskModel = taskModel;
realTaskInfo.StoreCode = spaceInfo.StoreCode;
realTaskInfo.SpaceCode = spaceInfo.SpaceCode;
realTaskInfo.SpaceName = spaceInfo.SpaceName;
realTaskInfo.MaterialType = spaceDetail.MaterialType;
realTaskInfo.MaterialCode = spaceDetail.MaterialCode;
realTaskInfo.PlanAmount = 1;
realTaskInfo.TaskStatus = 1;
realTaskInfo.CreateTime = DateTime.Now;
#endregion
result =await _taskInfoService.AddTaskInfo(realTaskInfo);
if (result)
{
PrintLogInfoMessage("出库任务创建成功");
RefreshOutStoreTaskEvent?.Invoke(realTaskInfo);
UpdateSpaceAndDetial(spaceInfo, spaceDetail);
}
else
{
PrintLogInfoMessage("出库任务创建失败");
}
}
}
catch (Exception ex)
{
PrintLogErrorMessage("出库任务创建异常", ex);
}
return result;
}
/// <summary>
/// 根据创建时间获取第一个货道明细
/// </summary>
/// <param name="spaceInfo"></param>
/// <returns></returns>
private async Task<BaseSpaceDetail> GetSpaceDetailFirstOrderByCreatTime(BaseSpaceInfo spaceInfo)
{
BaseSpaceDetail spaceDetail = null;
try
{
List<BaseSpaceDetail> spaceDetails =await _spaceDetailService.GetSpaceDetailsBySpaceCode(spaceInfo.StoreCode, spaceInfo.SpaceCode);
if (spaceDetails.Count > 0)
{
spaceDetails = spaceDetails.Where(x => x.IsFlag != 1).ToList();
if (spaceDetails.Count > 0)
{
spaceDetail = spaceDetails.OrderBy(x => x.CreatedTime).First();
}
}
}
catch (Exception ex)
{
PrintLogErrorMessage("获取货道明细信息异常", ex);
}
return spaceDetail;
}
/// <summary>
/// 任务创建完成后修改货道信息及货道明细
/// </summary>
/// <param name="spaceInfo"></param>
/// <param name="spaceDetail"></param>
private void UpdateSpaceAndDetial(BaseSpaceInfo spaceInfo, BaseSpaceDetail spaceDetail, int detailIsFlag = 1, bool stockFlag = true)
{
//任务创建完成后修改货道库存、货道明细修改物料标识物料不可用
spaceDetail.IsFlag = detailIsFlag;
var result = _spaceDetailService.UpdateSpaceDetail(spaceDetail);
//if (stockFlag)
//{
// spaceInfo.spaceStock = spaceInfo.spaceStock > 0 ? spaceInfo.spaceStock - 1 : 0;
//}
//else
//{
// spaceInfo.spaceStock = spaceInfo.spaceStock + 1;
//}
spaceInfo.OutRouteAmount += 1;
_spaceInfoService.UpdateSpaceInfo(spaceInfo);
}
#region 轮询获取出库任务下发至PLC等待PLC执行反馈完成后再次下发
private SemaphoreSlim semaphore = new SemaphoreSlim(0);
private int completedTasks = 0;
private int taskAmount = 2;
private SemaphoreSlim shellSemaphore = new SemaphoreSlim(0);
private SemaphoreSlim linerSemaphore = new SemaphoreSlim(0);
private void StartPassDown()
{
Task.Run(() =>
{
while (true)
{
PassDownShellTask();
Thread.Sleep(2000);
}
});
Task.Run(() =>
{
while (true)
{
PassDownLinerTask();
Thread.Sleep(2000);
}
});
}
/// <summary>
/// 下传箱壳出库任务至PLC
/// </summary>
private async void PassDownShellTask()
{
try
{
//获取箱壳出库任务
RealTaskInfo taskInfo =await _taskInfoService.GetTaskInfoByStoreCode(appConfig.shellStoreCode, appConfig.outstoreTaskType);
if (taskInfo != null)
{
PrintLogInfoMessage($"下发箱壳出库任务:{taskInfo.TaskCode};仓库{taskInfo.StoreCode};货道:{taskInfo.SpaceCode}");
if (taskHandleBusiness.SendShellTask_OutStore(taskInfo))
{
PrintLogInfoMessage($"箱壳出库任务:{taskInfo.TaskCode}下发成功等待PLC执行反馈");
shellSemaphore.Wait(); //一直堵塞直到信号量释放
PrintLogInfoMessage($"箱壳入库任务:{taskInfo.TaskCode};开始执行");
taskInfo.TaskStatus = 2;
_taskInfoService.UpdateTaskInfo(taskInfo);
RefreshScanMateriaCodeEvent?.Invoke(taskInfo.MaterialCode, taskInfo.MaterialType, taskInfo.SpaceName, taskInfo.StoreCode);
}
else
{
PrintLogInfoMessage($"箱壳出库任务:{taskInfo.TaskCode}下发失败请排除PLC连接");
}
}
else
{
PrintLogInfoMessage("未获取到需要下发的箱壳出库任务");
}
}
catch (Exception ex)
{
PrintLogErrorMessage("下传箱壳出库任务逻辑处理异常", ex);
}
}
/// <summary>
/// 依次获取内胆任务队列进行下发
/// </summary>
private async void PassDownLinerTask()
{
try
{
RealTaskInfo taskInfo =await _taskInfoService.GetTaskInfoByStoreCode(appConfig.linerStoreCode, appConfig.outstoreTaskType);
if (taskInfo != null)
{
PrintLogInfoMessage($"下发内胆出库任务:{taskInfo.TaskCode};仓库{taskInfo.StoreCode};货道:{taskInfo.SpaceCode}");
if (taskHandleBusiness.SendLinerTask_OutStore(taskInfo))
{
PrintLogInfoMessage($"内胆出库任务:{taskInfo.TaskCode}下发成功等待PLC执行反馈");
linerSemaphore.Wait(); //一直堵塞直到信号量释放
PrintLogInfoMessage($"内胆出库任务:{taskInfo.TaskCode};开始执行");
taskInfo.TaskStatus = 2;
_taskInfoService.UpdateTaskInfo(taskInfo);
RefreshScanMateriaCodeEvent?.Invoke(taskInfo.MaterialCode, taskInfo.MaterialType, taskInfo.SpaceName, taskInfo.StoreCode);
}
else
{
PrintLogInfoMessage($"内胆出库任务:{taskInfo.TaskCode}下发失败请排除PLC连接");
}
}
else
{
PrintLogInfoMessage("未获取到需要下发的内胆出库任务");
}
}
catch (Exception ex)
{
PrintLogErrorMessage("下传内胆出库任务逻辑处理异常", ex);
}
}
#endregion
#region 原任务下发逻辑 Delete By wenjy 2023-11-09 10:20:00 箱壳、内胆任务改为分别下发处理PLC应答后继续下发新任务
/// <summary>
/// 依次获取任务队列进行下发
/// </summary>
/// <param name="source"></param>
/// <param name="e"></param>
/*private void PassDownTaskInfo()
{
string shellCode = string.Empty;
string linerCode = string.Empty;
string taskCode = string.Empty;
string executePlanCode = string.Empty;
int iFlag = 0;
completedTasks = 0;
//获取待执行的出库任务下发至PLC,并将任务状态改为执行中
var taskInfoList = GetAwaitSendTask();
if (taskInfoList.Count > 0)
{
taskAmount = taskInfoList.Count; //下发的任务数量默认2箱壳、内胆箱壳、内胆均执行完成后才会释放信号量
foreach (var item in taskInfoList)
{
taskCode = item.taskCode;
executePlanCode = item.planCode;
if (item.storeCode == appConfig.shellStoreCode)
{
if (taskHandleBusiness.SendShellTask_OutStore(item))
{
PrintLogInfoMessage($"下发箱壳出库任务:{item.taskCode};仓库{item.storeCode};货道:{item.spaceCode}等待PLC执行反馈");
item.taskStatus = 2;
iFlag++;
}
else
{
PrintLogInfoMessage($"箱壳出库任务:{item.taskCode}下发失败请排除PLC连接");
continue;
}
shellCode = item.materialCode;
}
else if (item.storeCode == appConfig.linerStoreCode)
{
if (taskHandleBusiness.SendLinerTask_OutStore(item))
{
PrintLogInfoMessage($"下发内胆出库任务:{item.taskCode};仓库{item.storeCode};货道:{item.spaceCode}等待PLC执行反馈");
item.taskStatus = 2;
iFlag++;
}
else
{
PrintLogInfoMessage($"内胆出库任务:{item.taskCode}下发失败请排除PLC连接");
continue;
}
linerCode = item.materialCode;
}
_taskInfoService.UpdateTaskInfo(item);
}
if (iFlag == taskInfoList.Count)
{
semaphore.Wait(); //一直堵塞直到信号量释放
//PrintLogInfoMessage($"出库任务:{taskCode};应答成功,继续下发新任务");
var item = taskInfoList.First();
RefreshScanMateriaCodeEvent?.Invoke(item.materialCode, item.materialType, item.spaceName, item.storeCode);
//UpdatePlanInfo(executePlanCode);
//RefreshStoreStockEvent?.Invoke();
}
}
else
{
PrintLogInfoMessage("未获取到需要下发的出库任务");
}
Thread.Sleep(3000);
}*/
/// <summary>
/// 获取待执行的出库任务
/// </summary>
/// <returns></returns>
/*private List<RealTaskInfo> GetAwaitSendTask()
{
List<RealTaskInfo> taskInfos = new List<RealTaskInfo>();
try
{
RealTaskInfo shellTaskInfo = _taskInfoService.GetTaskInfoByStoreCode(appConfig.shellStoreCode, appConfig.outstoreTaskType);
if (shellTaskInfo != null)
{
taskInfos.Add(shellTaskInfo);
//获取与箱壳任务匹配的内胆任务
RealTaskInfo linerTaskInfo = _taskInfoService.GetTaskInfoByTaskCode(shellTaskInfo.taskCode, appConfig.linerStoreCode);
if (linerTaskInfo != null) taskInfos.Add(linerTaskInfo);
}
else
{
RealTaskInfo linerInfo = _taskInfoService.GetTaskInfoByStoreCode(appConfig.linerStoreCode, appConfig.outstoreTaskType);
if (linerInfo != null) taskInfos.Add(linerInfo);
}
//if(taskInfos.Count > 0)
//{
// taskInfos.ForEach(x => x.taskStatus = 2);
// _taskInfoService.UpdateRangeTaskInfo(taskInfos);
//}
}
catch (Exception ex)
{
PrintLogErrorMessage("获取待执行的出库任务异常", ex);
}
return taskInfos;
}*/
#endregion
#region PLC应答反馈
/// <summary>
/// 出库应答
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskCode"></param>
private void OutStoreAnswer(string storeCode, string taskCode)
{
if (storeCode == appConfig.shellStoreCode)
{
//Interlocked.Increment(ref completedTasks);
//CheckCompletedTasks();
PrintLogInfoMessage("箱壳应答成功,自动释放信号量,进行下发新任务");
shellSemaphore.Release();
}
else
{
//Interlocked.Increment(ref completedTasks);
//CheckCompletedTasks();
PrintLogInfoMessage("内胆应答成功,自动释放信号量,进行下发新任务");
linerSemaphore.Release();
}
}
/// <summary>
/// 出库完成
/// </summary>
/// <param name="storeCode"></param>
/// <param name="taskCode"></param>
private void OutStoreFinish(string storeCode, string taskCode)
{
if (storeCode == appConfig.shellStoreCode)
{
PrintLogInfoMessage($"箱壳任务:{taskCode};执行完成");
OutStoreFinishHandle(taskCode, appConfig.shellStoreCode);
}
else
{
PrintLogInfoMessage($"内胆任务:{taskCode};执行完成");
OutStoreFinishHandle(taskCode, appConfig.linerStoreCode);
}
}
/// <summary>
/// 信号量释放,根据任务完成数量,执行完成后进行释放
/// </summary>
private void CheckCompletedTasks()
{
if (completedTasks == taskAmount)
{
// 释放信号量
semaphore.Release();
}
}
#endregion
/// <summary>
/// 出库完成
/// </summary>
/// <param name="storeCode"></param>
/// <param name="spaceCode"></param>
/// <param name="materialType"></param>
private async void OutStoreFinishHandle(string taskCode, string storeCode)
{
try
{
var taskInfo =await _taskInfoService.GetTaskInfoByTaskCode(taskCode, storeCode);
if (taskInfo != null)
{
var spaceInfo =await _spaceInfoService.GetSpaceInfoBySpaceCode(taskInfo.StoreCode, taskInfo.SpaceCode);
if (spaceInfo != null)
{
taskHandleBusiness.WritePlc(spaceInfo.StoreCode, spaceInfo.SpaceCode);
//读取PLC获取货道信息存放数量、在途数量
spaceInfo.SpaceStock -= 1;
spaceInfo.OutRouteAmount -= 1;
#region Add By wenjy 2023-10-30 13:44:00 通过PLC获取货道信息
var item = taskHandleBusiness.ReadSpaceInfoByPlc(spaceInfo);
spaceInfo.SpaceStock = item.spaceStock;
spaceInfo.OnRouteAmount = item.onRouteAmount;
spaceInfo.SpaceStatus = item.spaceStatus;
#endregion
if (spaceInfo.SpaceStock == 0)
{
spaceInfo.MaterialType = string.Empty;
}
await _spaceInfoService.UpdateSpaceInfo(spaceInfo);
#region 添加出库记录
RecordOutstore recordOutstore = new RecordOutstore();
recordOutstore.StoreCode = taskInfo.StoreCode;
recordOutstore.SpaceCode = taskInfo.SpaceCode;
recordOutstore.MaterialCode = taskInfo.MaterialCode;
recordOutstore.MaterialType = taskInfo.MaterialType;
recordOutstore.MaterialName =await GetMaterialName(taskInfo.MaterialType);
recordOutstore.OutStoreAmount = 1;
recordOutstore.OutStoreTime = DateTime.Now;
_recordOutStoreService.InsertReocrdOutStoreService(recordOutstore);
#endregion
}
//更新计划信息
UpdatePlanInfo(taskInfo.PlanCode);
RefreshStoreStockEvent?.Invoke();
//清除任务信息
await _taskInfoService.DeleteTaskInfo(taskCode, storeCode);
await _spaceDetailService.DeleteSpaceDetailByMaterialCode(taskInfo.MaterialCode);
//刷新界面
RefreshScanMateriaCodeEvent?.Invoke(string.Empty, string.Empty, string.Empty, taskInfo.StoreCode);
}
}
catch (Exception ex)
{
PrintLogErrorMessage("出库完成逻辑处理异常", ex);
}
}
/// <summary>
/// 更新计划信息
/// </summary>
/// <param name="planCode"></param>
private async void UpdatePlanInfo(string planCode)
{
try
{
var executeInfo =await _executePlanInfoService.GetExecutePlanInfoByPlanCode(planCode);
if (executeInfo != null)
{
executeInfo.CompleteAmount += 1;
if (executeInfo.CompleteAmount == executeInfo.PlanAmount)
{
executeInfo.ExecuteStatus = 3;
}
await _executePlanInfoService.UpdateExecutePlanInfo(executeInfo);
var productInfo =await _productPlanInfoService.GetProductPlanByPlanCode(executeInfo.ProductPlanCode);
if (productInfo != null)
{
productInfo.CompleteAmount += 1;
if (productInfo.CompleteAmount == productInfo.PlanAmount)
{
productInfo.EndTime = DateTime.Now;
}
await _productPlanInfoService.UpdateProductPlanInfo(productInfo);
}
#region 添加完成记录
RecordProductfinish productfinish = new RecordProductfinish();
productfinish.PlanCode = executeInfo.ExecutePlanCode;
productfinish.ProductlineCode = appConfig.stationCode;
productfinish.MaterialCode = executeInfo.MaterialCode;
productfinish.CompleteAmount = 1; //目前一个箱体一个任务下发给plc
productfinish.RecordTime = DateTime.Now;
_recordProductfinishService.InsertRecordProductfinish(productfinish);
#endregion
}
RefreshAssemblyPlanInitEvent?.Invoke();
}
catch (Exception ex)
{
PrintLogErrorMessage("计划信息更新异常", ex);
}
}
/// <summary>
/// 获取出库任务
/// </summary>
/// <returns></returns>
public async Task<List<RealTaskInfo>> GetOutStoreTask()
{
var taskInfos =await _taskInfoService.GetTaskInfosByStoreCode(new string[] { appConfig.shellStoreCode, appConfig.linerStoreCode }, appConfig.outstoreTaskType);
return taskInfos;
}
/// <summary>
/// 通过任务编号删除任务
///
/// 任务删除后是否需要还原库存,如果出库完成后减少库存则不需要
///
/// </summary>
/// <param name="taskCode"></param>
/// <returns></returns>
public async Task<bool> DeleteTaskInfoByTaskCode(string taskCode)
{
bool result = false;
var info = await _taskInfoService.GetTaskInfosByTaskCode(taskCode);
if (info != null)
{
foreach (var taskInfo in info)
{
if (taskInfo.TaskStatus == 2)
{
PrintLogInfoMessage("任务正在执行中不运行删除");
continue;
}
result =await _taskInfoService.DeleteTaskInfoById(taskInfo.ObjId);
if (result)
{
var spaceDetailInfo =await _spaceDetailService.GetSpaceDetailByMaterialCode(taskInfo.MaterialCode);
if (spaceDetailInfo != null)
{
spaceDetailInfo.IsFlag = 0;
await _spaceDetailService.UpdateSpaceDetail(spaceDetailInfo);
}
}
}
}
return result;
}
/// <summary>
/// 根据货道手动出一个
/// </summary>
/// <param name="storeCode"></param>
/// <param name="spaceCode"></param>
/// <returns></returns>
public async Task<bool> OutOnlyOneBySpaceCode(string storeCode, string spaceCode)
{
bool result = false;
try
{
BaseSpaceInfo spaceInfo =await _spaceInfoService.GetSpaceInfoBySpaceCode(storeCode, spaceCode);
if (spaceInfo.SpaceStock > 0)
{
result =await this.CreateOutStoreTask(spaceInfo, System.Guid.NewGuid().ToString("N"), DateTime.Now.ToString("HH:mm:ss"), 1);
}
else
{
PrintLogInfoMessage($"仓库:{storeCode};货道:{spaceCode};出一个失败:库存不足");
}
}
catch (Exception ex)
{
logHelper.Error("根据货道出一个异常", ex);
}
return result;
}
/// <summary>
/// 手动释放信号量
/// </summary>
/// <param name="sph"></param>
private void GetAllRelese(Semaphore sph)
{
bool res = sph.WaitOne(1, false);
if (res)
{
GetAllRelese(sph);
}
}
/// <summary>
/// 通过BOM获取物料名称
/// </summary>
/// <param name="materialType"></param>
/// <returns></returns>
public async Task<string> GetMaterialName(string materialType)
{
string materialName = string.Empty;
var info =await _bomInfoService.GetBomInfoByMaterialCode(materialType);
if (info != null)
{
materialName = info.MaterialName;
}
return materialName;
}
#region 通过PLC读取货道信息
/// <summary>
/// 通过PLC读取货道信息在库数量、货道状态)
/// </summary>
/// <param name="storeCode"></param>
/// <param name="materialType"></param>
/// <returns></returns>
private async Task<BaseSpaceInfo> GetSpaceInfoByMaterialType(string storeCode, string materialType)
{
BaseSpaceInfo result = null;
try
{
List<BaseSpaceInfo> info = await _spaceInfoService.OutStoreGetSpaceInfoByMaterialCode(storeCode, materialType);
if (info != null)
{
if (info.Count > 0)
{
foreach (BaseSpaceInfo item in info)
{
var spaceInfo = taskHandleBusiness.ReadSpaceInfoByPlc(item);
item.SpaceStock = spaceInfo.spaceStock;
item.OnRouteAmount = spaceInfo.onRouteAmount;
item.SpaceStatus = spaceInfo.spaceStatus;
PrintLogInfoMessage($"通过PLC读取货道信息货道{spaceInfo.spaceName};在库数量:{item.SpaceStock};货道状态:{item.SpaceStatus}");
}
//result = info.Where(x => x.spaceStatus == 1 && x.spaceStock > 0).OrderBy(x => x.spaceStock).OrderBy(x => x.spaceCode).First();
var list = info.Where(x => x.SpaceStatus == 1 && x.SpaceStock > 0).ToList();
if (list.Count > 0)
{
result = info.OrderBy(x => x.SpaceStock).OrderBy(x => x.SpaceCode).First();
}
else
{
PrintLogInfoMessage("未获取到匹配的货道,请排查货道库存及货道状态是否可用");
}
}
}
}
catch (Exception ex)
{
PrintLogErrorMessage("货道信息读取异常", ex);
}
return result;
}
#endregion
#region 日志输出
/// <summary>
/// 日志输出,界面刷新同时记录文件
/// </summary>
/// <param name="message"></param>
private void PrintLogInfoMessage(string message)
{
RefreshLogMessageEvent?.Invoke(message);
logHelper.Info(message);
}
/// <summary>
/// 异常日志输出
/// </summary>
/// <param name="message"></param>
/// <param name="ex"></param>
private void PrintLogErrorMessage(string message, Exception ex = null)
{
RefreshLogMessageEvent?.Invoke(message);
logHelper.Error(message, ex);
}
#endregion
}
}

@ -1,9 +1,10 @@
using Admin.Core.Common;
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Service;
using Aucma.Scada.UI.Common;
using Aucma.Scada.UI.Page.AssemblyPlan;
using Aucma.Scada.UI.Page.InventoryInfo;
using Aucma.Scada.UI.PlanBusiness;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using LiveCharts;
@ -14,15 +15,14 @@ using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;
using System.Windows.Media;
namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
{
public partial class AssemblyPlanViewModel : ObservableObject
{
private AssemblyPlanBusiness assemblyPlanBusiness = AssemblyPlanBusiness.Instance;
private IExecutePlanInfoServices _executePlanInfoServices;
private AppConfig appConfig = AppConfig.Instance;
//private OutStoreBusiness outStoreBusiness = OutStoreBusiness.Instance;
public AssemblyPlanViewModel()
@ -207,42 +207,34 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
public RelayCommand MaterialStatisticsCommand { get; set; }
#endregion
#region 计划上移
/// <summary>
/// 计划上移
/// </summary>
/// <param name="obj"></param>
[RelayCommand]
public void MoveUp(string Id)
public void MoveUp(object obj)
{
string stationCode = Appsettings.app("StoreInfo", "StationCode");
_executePlanInfoServices.PlanMoveUp(Id, stationCode);
string info = obj as string;
assemblyPlanBusiness.ExecutePlanInfo_MoveUp(planInfoDataGrid.ToList(), info);
}
#endregion
#region 计划下移
/// <summary>
/// 计划下移
/// </summary>
/// <param name="obj"></param>
[RelayCommand]
public async void MoveDown(string Id)
public void MoveDown(object obj)
{
string stationCode = Appsettings.app("StoreInfo", "StationCode");
await _executePlanInfoServices.PlanMoveDown(Id, stationCode);
string info = obj as string;
assemblyPlanBusiness.ExecutePlanInfo_MoveDown(planInfoDataGrid.ToList(), info);
}
#endregion
#region 删除计划
/// <summary>
/// 删除计划
/// </summary>
/// <param name="obj"></param>
[RelayCommand]
public async void DeletePlan(string Id)
public async void DeletePlan(object obj)
{
bool result = await _executePlanInfoServices.ExecPlanDelete(Id);
string info = obj as string;
bool result =await assemblyPlanBusiness.ExecutePlanInfo_Delete(info);
if (result)
{
OrderCode = string.Empty;
@ -257,24 +249,20 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
}
}
#endregion
#region 下传计划
/// <summary>
/// 下传计划
/// </summary>
/// <param name="obj"></param>
[RelayCommand]
public async void NextPass(string Id)
public async void NextPass(object obj)
{
var model = await _executePlanInfoServices.FirstAsync(d => d.ObjId == int.Parse(Id));
if (model.ExecuteStatus == 2)
string info = obj as string;
if (info == planCode)
{
MessageBox.Show("该计划正在执行中,请勿重复下传", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
}
else
{
var result = await _executePlanInfoServices.PlanNextPass(model);
var result =await assemblyPlanBusiness.ExecutePlanInfo_NextPass(info, planCode);
if (result != null)
{
RefreshPlanExecute(result);
@ -284,12 +272,12 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
{
MessageBox.Show("执行计划下达失败", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
}
}
}
#endregion
#region 刷新DataGrid
}
public void RefreshDataGrid(List<ExecutePlanInfo> executePlanInfos)
{
PlanInfoDataGrid = new ObservableCollection<ExecutePlanInfo>();
@ -304,9 +292,6 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
RefreshStatisticsGauge(executePlanInfos);
}
#endregion
#region 出库完成刷新计划列表
/// <summary>
/// 出库完成刷新计划列表
/// </summary>
@ -323,9 +308,6 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
}));
}
#endregion
#region 柱状体加载
/// <summary>
/// 柱状体加载
/// </summary>
@ -333,54 +315,43 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
{
RefreshExecutePlan();
}
#endregion
#region 计划维护
/// <summary>
/// 计划维护
/// </summary>
[RelayCommand]
private void PlanInfoEdit()
{
PlanInfoEditWindow planInfoEditWindow = new PlanInfoEditWindow();
planInfoEditWindow.ShowDialog();
}
#endregion
#region MaterialStatistics
[RelayCommand]
private void MaterialStatistics()
{
MaterialStatisticsWindow materialStatisticsWindow = new MaterialStatisticsWindow();
materialStatisticsWindow.ShowDialog();
}
#endregion
}
#region 刷新计划执行
/// <summary>
/// 刷新计划执行
/// </summary>
/// <param name="planInfo"></param>
private void RefreshPlanExecute(ExecutePlanInfo planInfo)
{
string stationCode = Appsettings.app("StoreInfo", "StationCode");
StationName = stationCode;
StationName = appConfig.stationName;
OrderCode = planInfo.OrderCode;
PlanCode = planInfo.ExecutePlanCode;
ProductModel = planInfo.MaterialName;
DateTime dateTime = (DateTime)planInfo.BeginTime;
BeginTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss");
}
#endregion
}
#region 加载正在执行的计划
/// <summary>
/// 加载正在执行的计划
/// </summary>
private async void RefreshExecutePlan()
{
var planInfos = await _executePlanInfoServices.GetEexecutePlanInfosByProductLineCode();
var planInfos =await assemblyPlanBusiness.GetEexecutePlanInfosByProductLineCode();
if (planInfos != null)
{
@ -391,13 +362,9 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
ExecutePlanInfo planInfo = planInfos.OrderBy(x => x.ExecuteOrder).First();
RefreshPlanExecute(planInfo);
}
RefreshDataGrid(planInfos);
}
}
#endregion
#region 刷新统计图表
/// <summary>
/// 刷新统计图表
/// </summary>
@ -408,8 +375,8 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
{
if (planInfos.Count > 0)
{
PlanAmount = planInfos.Sum(x => x.PlanAmount);
ComplateAmout = planInfos.Sum(x => x.CompleteAmount);
PlanAmount = planInfos.Sum(x => x.PlanAmount).ObjToInt();
ComplateAmout = planInfos.Sum(x => x.CompleteAmount).ObjToInt();
DiffAmount = planAmount - complateAmout;
double completionRate = (double)ComplateAmout / PlanAmount * 100; // 计算完成率
CompleRoution = completionRate.ToString("0.0");
@ -428,9 +395,6 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
RefreshHourAmount();
}
#endregion
#region 刷新物料型号统计
/// <summary>
/// 刷新物料型号统计
/// </summary>
@ -440,7 +404,7 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
{
//获取物料型号统计
List<dynamic> materialStats =await _executePlanInfoServices.GetStationMaterialStats();
List<dynamic> materialStats =await assemblyPlanBusiness.GetMaterialStats();
if (materialStats != null)
{
ModelStatistics.Clear();
@ -455,16 +419,11 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
materialColumn.DataLabels = true;
materialColumn.Title = "型号";
materialColumn.Values = materialAchievement;
materialColumn.Foreground = Brushes.White;
ModelStatistics.Add(materialColumn);
}
}));
}
#endregion
#region 刷新小时产量统计
/// <summary>
/// 刷新小时产量统计
/// </summary>
@ -473,7 +432,7 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
App.Current.Dispatcher.Invoke((Action)(async () =>
{
//获取小时产量
List<dynamic> hourAmount =await _executePlanInfoServices.GetHourAmount();
List<dynamic> hourAmount =await assemblyPlanBusiness.GetHourAmount();
if (hourAmount != null)
{
Achievement.Clear();
@ -492,8 +451,7 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
}
}));
}
}
#endregion
}
}

@ -1,76 +1,53 @@
using Aucma.Scada.Business;
using Aucma.Scada.Model.domain;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using HighWayIot.Config;
using Admin.Core.Model;
using Aucma.Scada.UI.Common;
using Aucma.Scada.UI.PlanBusiness;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
{
public class QuantityIssuedViewModel : ObservableObject
public partial class QuantityIssuedViewModel : ObservableObject
{
private AssemblyPlanBusiness assemblyPlanBusiness = AssemblyPlanBusiness.Instance;
private AppConfig appConfig = AppConfig.Instance;
public QuantityIssuedViewModel(ProductPlanInfo productPlanInfo)
{
PlanInfoTransmitCommand = new RelayCommand(PlanInfoTransmit);
ClearTransmitAmountCommand = new RelayCommand(ClearTransmitAmount);
KeypadButtonCommand = new RelayCommand<object>(obj => KeypadButton(obj));
CloseWindowCommand = new RelayCommand<object>(t => CloseWindow(t));
PlanInfo = productPlanInfo;
}
private ProductPlanInfo _PlanInfo = new ProductPlanInfo();
public ProductPlanInfo PlanInfo
{
get { return _PlanInfo; }
set { _PlanInfo = value; RaisePropertyChanged(nameof(PlanInfo)); }
get => _PlanInfo;
set => SetProperty(ref _PlanInfo, value);
}
private string _TransmitAmount = string.Empty;
public string TransmitAmount
{
get { return _TransmitAmount; }
set { _TransmitAmount = value; RaisePropertyChanged(nameof(TransmitAmount)); }
get => _TransmitAmount;
set => SetProperty(ref _TransmitAmount, value);
}
public RelayCommand PlanInfoTransmitCommand { get; set; }
public RelayCommand ClearTransmitAmountCommand { get; set; }
public RelayCommand<object> KeypadButtonCommand { get;set; }
public RelayCommand<object> CloseWindowCommand { get; set; }
private void PlanInfoTransmit()
[RelayCommand]
private async void PlanInfoTransmit()
{
var productPlanInfo = _PlanInfo;
if(productPlanInfo != null)
{
var materialType = productPlanInfo.materialCode;
var materialType = productPlanInfo.MaterialCode;
bool shellResult = assemblyPlanBusiness.JudgmentStock(productPlanInfo, Convert.ToInt32(_TransmitAmount), appConfig.shellMaterialType,appConfig.shellStoreCode);
bool shellResult =await assemblyPlanBusiness.JudgmentStock(productPlanInfo, Convert.ToInt32(_TransmitAmount), appConfig.shellMaterialType,appConfig.shellStoreCode);
if (!shellResult)
{
MessageBox.Show("计划下达失败,箱壳物料库存不足", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
return;
}
bool linerResult = assemblyPlanBusiness.JudgmentStock(productPlanInfo, Convert.ToInt32(_TransmitAmount), appConfig.linerMaterialType, appConfig.linerStoreCode);
bool linerResult =await assemblyPlanBusiness.JudgmentStock(productPlanInfo, Convert.ToInt32(_TransmitAmount), appConfig.linerMaterialType, appConfig.linerStoreCode);
if (!linerResult)
{
MessageBox.Show("计划下达失败,内胆物料库存不足", "提示", MessageBoxButton.OK, MessageBoxImage.Error, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
@ -101,13 +78,13 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
return;
}
bool result = assemblyPlanBusiness.PlanTransmitByProductPlan(_PlanInfo.planCode, Convert.ToInt32(_TransmitAmount));
bool result =await assemblyPlanBusiness.PlanTransmitByProductPlan(_PlanInfo.PlanCode, Convert.ToInt32(_TransmitAmount));
if (result)
{
MessageBox.Show("执行计划维护成功", "提示", MessageBoxButton.OK, MessageBoxImage.Information, MessageBoxResult.OK, MessageBoxOptions.DefaultDesktopOnly);
}
}
[RelayCommand]
private void ClearTransmitAmount()
{
string amount = _TransmitAmount.ToString();
@ -116,14 +93,14 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
TransmitAmount = amount.Substring(0, amount.Length - 1);
}
}
[RelayCommand]
private void KeypadButton(object obj)
{
var info = obj as string;
TransmitAmount += info;
}
[RelayCommand]
private void CloseWindow(object parameter)
{
var window = parameter as Window;

@ -1,45 +1,28 @@
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using HighWayIot.Config;
using System;
using System.Collections.Generic;
using Aucma.Scada.UI.Common;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using System.Collections.ObjectModel;
using System.Collections.Specialized;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Input;
namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
{
public class SearchCriteriaViewModel : ObservableObject
public partial class SearchCriteriaViewModel : ObservableObject
{
private AppConfig appConfig = AppConfig.Instance;
public SearchCriteriaViewModel()
{
SaveSearchCriteriaCommand = new RelayCommand(SaveSearchCriteria);
CloseWindowCommand = new RelayCommand<object>(t => CloseWindow(t));
init();
}
private ObservableCollection<string> _configurations = new ObservableCollection<string>();
public ObservableCollection<string> Configurations
{
get { return _configurations; }
set
{
_configurations = value;
RaisePropertyChanged(nameof(Configurations));
}
get => _configurations;
set => SetProperty(ref _configurations, value);
}
public RelayCommand SaveSearchCriteriaCommand { get; set; }
public RelayCommand<object> CloseWindowCommand { get; set; }
[RelayCommand]
private void SaveSearchCriteria()
{
var info = _configurations.ToList();
@ -53,7 +36,7 @@ namespace Aucma.Scada.UI.ViewModel.AssemblyPlan
init();
}
[RelayCommand]
private void CloseWindow(object parameter)
{
var window = parameter as Window;

@ -1,24 +1,24 @@
using Aucma.Scada.Business;
using Aucma.Scada.Model.domain;
using Aucma.Scada.Model.dto;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.Command;
using HighWayIot.Config;
using HighWayIot.Log4net;
using Admin.Core.Model;
using Admin.Core.Service;
using Aucma.Scada.UI.Common;
using Aucma.Scada.UI.PlanBusiness;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using LiveCharts;
using LiveCharts.Wpf;
using MySqlX.XDevAPI.Common;
using log4net;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
namespace Aucma.Scada.UI.ViewModel.InStoreInfo
{
public class InStoreInfoViewModel : ObservableObject
public partial class InStoreInfoViewModel : ObservableObject
{
private LogHelper logHelper = LogHelper.Instance;
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(ExecutePlanInfoServices));
private ObservableCollection<dynamic> listItems = new ObservableCollection<dynamic>();
private ObservableCollection<RealTaskInfo> taskItems = new ObservableCollection<RealTaskInfo>();
@ -33,10 +33,6 @@ namespace Aucma.Scada.UI.ViewModel.InStoreInfo
inStoreBusiness.RefreshLogMessageEvent += PrintMessageToListBox;
outStoreBusiness.RefreshStoreStockEvent += Init;
QueryCommand = new RelayCommand(Query);
ResetCommand = new RelayCommand(Reset);
materialTypeCombox = "所有";
Init();
@ -224,62 +220,61 @@ namespace Aucma.Scada.UI.ViewModel.InStoreInfo
/// <summary>
/// 箱壳入库任务列表查询
/// </summary>
public void Query()
[RelayCommand]
public async Task Query()
{
lock (string.Empty)
try
{
try
taskItems = new ObservableCollection<RealTaskInfo>();
#region 通过数据库获取数据进行刷新
var info = await inStoreBusiness.GetInStoreTask();
if (info != null)
{
taskItems = new ObservableCollection<RealTaskInfo>();
#region 通过数据库获取数据进行刷新
var info = inStoreBusiness.GetInStoreTask();
if (info != null)
if (materialTypeCombox == "箱壳")
{
if (materialTypeCombox == "箱壳")
{
materialTypeCombox = appConfig.shellStoreCode;
}
else if (materialTypeCombox == "内胆")
{
materialTypeCombox = appConfig.linerStoreCode;
}
else if (materialTypeCombox == "所有")
{
materialTypeCombox = string.Empty;
}
materialTypeCombox = appConfig.shellStoreCode;
}
else if (materialTypeCombox == "内胆")
{
materialTypeCombox = appConfig.linerStoreCode;
}
else if (materialTypeCombox == "所有")
{
materialTypeCombox = string.Empty;
}
//info.ForEach(x => RefreshInStoreTask(x));
try
{
info = info.Where(x => !string.IsNullOrEmpty(search) ? x.MaterialCode == search : 1 == 1 && !string.IsNullOrEmpty(materialTypeCombox) ? x.StoreCode == materialTypeCombox : 1 == 1).ToList();
//info.ForEach(x => RefreshInStoreTask(x));
try
_ = App.Current.Dispatcher.BeginInvoke((Action)(async () =>
{
info = info.Where(x => !string.IsNullOrEmpty(search) ? x.materialCode == search : 1 == 1 && !string.IsNullOrEmpty(materialTypeCombox) ? x.storeCode == materialTypeCombox : 1 == 1).ToList();
App.Current.Dispatcher.BeginInvoke((Action)(() =>
foreach (var item in info)
{
foreach (var item in info)
{
item.materialType = inStoreBusiness.GetMaterialName(item.materialType);
taskItems.Add(item);
}
InstoreTask = taskItems;
}));
}
catch (Exception ex)
{
logHelper.Error("入库任务列表刷新异常", ex);
}
item.MaterialType = await inStoreBusiness.GetMaterialName(item.MaterialType);
taskItems.Add(item);
}
InstoreTask = taskItems;
}));
}
catch (Exception ex)
{
logHelper.Error("入库任务列表刷新异常", ex);
}
#endregion
}catch(Exception ex)
{
logHelper.Error("入库任务加载异常", ex);
}
#endregion
}
catch (Exception ex)
{
logHelper.Error("入库任务加载异常", ex);
}
}
/// <summary>
/// 重置
/// </summary>
[RelayCommand]
public void Reset()
{
Search = string.Empty;

@ -15,7 +15,7 @@ namespace XamlGeneratedNamespace {
/// GeneratedInternalTypeHelper
/// </summary>
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "7.0.9.0")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "7.0.12.0")]
[System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
public sealed class GeneratedInternalTypeHelper : System.Windows.Markup.InternalTypeHelper {

@ -8,4 +8,4 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = HwControlLib
build_property.ProjectDir = C:\Users\ADMIN\Desktop\tuisong\HwControlLib\
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\HwControlLib\

@ -4,7 +4,7 @@
library
C#
.cs
C:\Users\ADMIN\Desktop\tuisong\HwControlLib\obj\Debug\net6.0-windows\
D:\Project\gitea\AUCMA\SCADA\HwControlLib\obj\Debug\net6.0-windows\
HwControlLib
none
false
@ -13,8 +13,8 @@ TRACE;DEBUG;NET;NET6_0;NETCOREAPP
1204305769
71208292394
194-1976662911
194-2067936865
Themes\Generic.xaml;
True
False

@ -1,24 +1,20 @@
{
"format": 1,
"restore": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\HwControlLib\\HwControlLib.csproj": {}
"D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\HwControlLib.csproj": {}
},
"projects": {
"C:\\Users\\ADMIN\\Desktop\\tuisong\\HwControlLib\\HwControlLib.csproj": {
"D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\HwControlLib.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "C:\\Users\\ADMIN\\Desktop\\tuisong\\HwControlLib\\HwControlLib.csproj",
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\HwControlLib.csproj",
"projectName": "HwControlLib",
"projectPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\HwControlLib\\HwControlLib.csproj",
"packagesPath": "C:\\Users\\ADMIN\\.nuget\\packages\\",
"outputPath": "C:\\Users\\ADMIN\\Desktop\\tuisong\\HwControlLib\\obj\\",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\HwControlLib.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
"D:\\mesnacSoft\\c#\\vs2022\\sdk\\NuGetPackages"
],
"configFilePaths": [
"C:\\Users\\ADMIN\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
@ -62,7 +58,7 @@
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.306\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
}
}
}

@ -5,12 +5,11 @@
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\ADMIN\.nuget\packages\;D:\mesnacSoft\c#\vs2022\sdk\NuGetPackages</NuGetPackageFolders>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\admin\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.6.0</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.7.0</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\ADMIN\.nuget\packages\" />
<SourceRoot Include="D:\mesnacSoft\c#\vs2022\sdk\NuGetPackages\" />
<SourceRoot Include="C:\Users\admin\.nuget\packages\" />
</ItemGroup>
</Project>

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

Loading…
Cancel
Save