修改分垛上位机业务

dev
liulb@mesnac.com 1 year ago
parent 25500efc4a
commit 40d5270dc2

@ -78,7 +78,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -263,7 +263,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -332,7 +332,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -389,6 +389,9 @@
},
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.Tasks\\Aucma.Core.Tasks.csproj"
},
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.TemperatureTask\\Aucma.Core.TemperatureTask.csproj": {
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.TemperatureTask\\Aucma.Core.TemperatureTask.csproj"
}
}
}
@ -424,7 +427,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -486,7 +489,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -548,7 +551,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -607,7 +610,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -666,7 +669,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -751,7 +754,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -816,7 +819,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -893,7 +896,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -954,7 +957,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -1015,7 +1018,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -1077,7 +1080,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -1142,7 +1145,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -1210,7 +1213,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -1272,7 +1275,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
@ -1337,7 +1340,66 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
},
"D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.TemperatureTask\\Aucma.Core.TemperatureTask.csproj": {
"version": "1.0.0",
"restore": {
"projectUniqueName": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.TemperatureTask\\Aucma.Core.TemperatureTask.csproj",
"projectName": "Aucma.Core.TemperatureTask",
"projectPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.TemperatureTask\\Aucma.Core.TemperatureTask.csproj",
"packagesPath": "C:\\Users\\admin\\.nuget\\packages\\",
"outputPath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Aucma.Core.TemperatureTask\\obj\\",
"projectStyle": "PackageReference",
"configFilePaths": [
"C:\\Users\\admin\\AppData\\Roaming\\NuGet\\NuGet.Config",
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
],
"originalTargetFrameworks": [
"net6.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"projectReferences": {
"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"
}
}
}
},
"warningProperties": {
"warnAsError": [
"NU1605"
]
}
},
"frameworks": {
"net6.0": {
"targetAlias": "net6.0",
"imports": [
"net461",
"net462",
"net47",
"net471",
"net472",
"net48",
"net481"
],
"assetTargetFallback": true,
"warn": true,
"frameworkReferences": {
"Microsoft.NETCore.App": {
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
}

@ -7,7 +7,7 @@
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\admin\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.7.0</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.8.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\admin\.nuget\packages\" />

@ -15,7 +15,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.Api")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.Api")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.Api")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
657de05911c5c4d0cacaf803801b5cfb9cac90ef
6595f7ba4e0a05ad222d8d47acb1a5dea054ac8fd23612b0d9b2c1a982a2210f

@ -10,6 +10,8 @@ build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Api
build_property.RootNamespace = Admin.Core.Api
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Api\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
build_property.RazorLangVersion = 6.0
build_property.SupportLocalizedComponentNames =
build_property.GenerateRazorMetadataSourceChecksumAttributes =

@ -4054,6 +4054,7 @@
"Aucma.Core.ScannerGun": "1.0.0",
"Aucma.Core.SheetMetalTasks": "1.0.0",
"Aucma.Core.Tasks": "1.0.0",
"Aucma.Core.TemperatureTask": "1.0.0",
"Microsoft.AspNetCore.Authentication.JwtBearer": "5.0.9"
},
"compile": {
@ -4266,6 +4267,19 @@
"runtime": {
"bin/placeholder/Aucma.Core.Tasks.dll": {}
}
},
"Aucma.Core.TemperatureTask/1.0.0": {
"type": "project",
"framework": ".NETCoreApp,Version=v6.0",
"dependencies": {
"Admin.Core.IService": "1.0.0"
},
"compile": {
"bin/placeholder/Aucma.Core.TemperatureTask.dll": {}
},
"runtime": {
"bin/placeholder/Aucma.Core.TemperatureTask.dll": {}
}
}
}
},
@ -11266,6 +11280,11 @@
"type": "project",
"path": "../Aucma.Core.Tasks/Aucma.Core.Tasks.csproj",
"msbuildProject": "../Aucma.Core.Tasks/Aucma.Core.Tasks.csproj"
},
"Aucma.Core.TemperatureTask/1.0.0": {
"type": "project",
"path": "../Aucma.Core.TemperatureTask/Aucma.Core.TemperatureTask.csproj",
"msbuildProject": "../Aucma.Core.TemperatureTask/Aucma.Core.TemperatureTask.csproj"
}
},
"projectFileDependencyGroups": {
@ -11354,7 +11373,7 @@
"privateAssets": "all"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
}

@ -1,6 +1,6 @@
{
"version": 2,
"dgSpecHash": "zUJKG1it2atk1K/36dikIrzSvbVxOeQPJzhSQ0x5AkWQABJOGsRi7jWYobYmXOtrAAYBAZom/NVKnjQPhU3kHQ==",
"dgSpecHash": "y71ivDyTYdR/IgUXlTvD3CXxLXbhiQ1Hb07ica+UKBq6fSSITCog9XyAeD/4mgcrQIw7WTZTNH1PnBd8KlSbhw==",
"success": true,
"projectFilePath": "D:\\Project\\gitea\\AUCMA\\SCADA\\Admin.Core.Api\\Admin.Core.Api.csproj",
"expectedPackageFiles": [

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.Common")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.Common")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.Common")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
3c08b2a6f95957043123cba0d01dcd1675663fc7
b599770ee407fe896e0bee7dfc7103f5198f20a80e32c8697c91799b70e146ca

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Common
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Common\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.EventBus")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.EventBus")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.EventBus")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
2af60005099f8dd0481f84ac0dfadb89cc4b6f1d
6de8b0dcfc48b128033fd3bbdc30713db3e9facb0ff8080ceed7668b8701a863

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.EventBus
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.EventBus\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -25,6 +25,7 @@
<ProjectReference Include="..\Aucma.Core.Scanner\Aucma.Core.Scanner.csproj" />
<ProjectReference Include="..\Aucma.Core.SheetMetalTasks\Aucma.Core.SheetMetalTasks.csproj" />
<ProjectReference Include="..\Aucma.Core.Tasks\Aucma.Core.Tasks.csproj" />
<ProjectReference Include="..\Aucma.Core.TemperatureTask\Aucma.Core.TemperatureTask.csproj" />
</ItemGroup>
</Project>

@ -0,0 +1,27 @@
using Aucma.Core.TemperatureTask;
using log4net;
using Microsoft.AspNetCore.Builder;
using System;
namespace Admin.Core.Extensions.Middlewares
{
public static class TemperatureTaskMildd
{
private static readonly ILog log = LogManager.GetLogger(typeof(AucamSheetMetalTaskMildd));
public static void UseTemperatureTaskMildds(this IApplicationBuilder app, IAucamTemperatureMeasurementService aucamTemperatureMeasurementService)
{
if (app == null) throw new ArgumentNullException(nameof(app));
try
{
aucamTemperatureMeasurementService.Execute();
Console.WriteLine("测温服务已开启");
}
catch (Exception e)
{
log.Error($"An error was reported when starting the job service.\n{e.Message}");
throw;
}
}
}
}

@ -0,0 +1,33 @@
using Aucma.Core.SheetMetalTasks;
using Aucma.Core.TemperatureTask;
using Microsoft.Extensions.DependencyInjection;
using System;
using System.Linq;
using System.Reflection;
namespace Admin.Core.Extensions
{
/// <summary>
/// 启动测温定时服务
/// </summary>
public static class TemperatureTaskSetup
{
public static void AddTemperatureTaskSetup(this IServiceCollection services)
{
services.AddSingleton<IAucamTemperatureMeasurementService, AucamTemperatureMeasurementService>();
var baseType = typeof(IAucamTemperatureMeasurementService);
var path = AppDomain.CurrentDomain.RelativeSearchPath ?? AppDomain.CurrentDomain.BaseDirectory;
var referencedAssemblies = System.IO.Directory.GetFiles(path, "Aucma.Core.TemperatureTask.dll").Select(Assembly.LoadFrom).ToArray();
var types = referencedAssemblies
.SelectMany(a => a.DefinedTypes)
.Select(type => type.AsType())
.Where(x => x != baseType && baseType.IsAssignableFrom(x)).ToArray();
var implementTypes = types.Where(x => x.IsClass).ToArray();
foreach (var implementType in implementTypes)
{
services.AddTransient(implementType);
}
}
}
}

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.Extensions")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.Extensions")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.Extensions")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
790ffd47e6e46a3c8a83558ad3550154a5c81377
dffc6a08829f7f9594af6c1484816eceabd35a3c35bbbd569549b474aba6e447

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Extensions
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Extensions\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.FrameWork")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.FrameWork")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.FrameWork")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
7d60a94dd38c10522cbfe4a021ccb6e9c5da0354
c439f0743b2ab061130800af9e199d9d748586e7dd45924dd104324c65f5343c

@ -1,3 +1,5 @@
is_global = true
build_property.RootNamespace = Admin.Core.FrameWork
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.FrameWork\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -1,5 +1,6 @@
using Admin.Core.Model;
using Admin.Core.Model.Model_New;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
@ -10,5 +11,17 @@ namespace Admin.Core.IRepository
/// </summary>
public interface ITemperatureHistoryRepository : IBaseRepository<TemperatureHistory>
{
/// <summary>
/// 传递时间时间 调用存储过程 获取测温历史记录
/// </summary>
/// <param name="startTime">起始时间</param>
/// <returns></returns>
List<TemperatureHistory> QueryTemperatureHistory(DateTime startTime);
/// <summary>
/// 传递条码 调用存储过程 获取测温历史记录
/// </summary>
/// <param name="barCode">条码</param>
/// <returns></returns>
List<TemperatureHistory> QueryTemperatureHistory(string barCode);
}
}

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.IRepository")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.IRepository")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.IRepository")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
80bb097f76aa594dc58289065a284d1acbd8bdff
b15ed3d62aa91c5139d415717d5d02b2369ed1631e05498b732534010ba56d6f

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.IRepository
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.IRepository\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -1,6 +1,7 @@
using Admin.Core.IService;
using Admin.Core.Model;
using Admin.Core.Model.ViewModels;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
@ -11,6 +12,18 @@ namespace Admin.Core.IService
/// </summary>
public interface ITemperatureHistoryServices : IBaseServices<TemperatureHistory>
{
/// <summary>
/// 根据起始时间查询 测温历史记录
/// </summary>
/// <param name="startTime"></param>
/// <returns></returns>
List<TemperatureHistory> QueryTemperatureHistory(DateTime startTime);
/// <summary>
///根据条码查询历史记录
/// </summary>
/// <param name="barCode"></param>
/// <returns></returns>
List<TemperatureHistory> QueryTemperatureHistory(string barCode);
}
}

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.IService")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.IService")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.IService")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
51b8351ca3dc5fa8344fbf501d63c1eff37c8f9c
b960962ff5ee8813163b448cfec6d88ec854758ac69b93268364326dae441531

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.IService
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.IService\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.Model")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.Model")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.Model")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
ef9752cf3f9e33d53832c154eeba975830dced91
3c40f91aa5e16ca4d3191d787932e032eb151c5fa525bf72ef5053c26bc878bd

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Model
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Model\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -3,6 +3,7 @@ using Admin.Core.Extensions;
using Admin.Core.IService.ISys;
using Admin.Core.Tasks;
using Aucma.Core.RunPlc;
using Aucma.Core.Scanner;
using Aucma.Core.ScannerGun;
using Aucma.Core.Tasks;
using Autofac;
@ -59,7 +60,7 @@ namespace Admin.Core.RealTimeService
//任务调度
//services.AddJobSetup();
//任务
// services.AddAucmaTaskSetup();
services.AddScannerSetup();
services.AddScannerGunSetup();
//支持编码大全 例如:支持 System.Text.Encoding.GetEncoding("GB2312") System.Text.Encoding.GetEncoding("GB18030")
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
@ -81,7 +82,7 @@ namespace Admin.Core.RealTimeService
/// </summary>
/// <param name="app"></param>
/// <param name="env"></param>
public void Configure(IApplicationBuilder app, IScannerGunService scannerGun)//, IRunPlcService plc, ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter
public void Configure(IApplicationBuilder app, IScannerService scaner)//, IRunPlcService plc, ISysTasksQzService tasksQzService, ISchedulerCenter schedulerCenter
{
// 使用静态文件
app.UseStaticFiles();
@ -89,7 +90,7 @@ namespace Admin.Core.RealTimeService
//app.UsePlcMildd(plc);
// 开启QuartzNetJob调度服务
//app.UseQuartzJobMildd(tasksQzService, schedulerCenter);
app.UseScannerGunMildd(scannerGun);
app.UseScannerMildd(scaner);
}

@ -167,6 +167,9 @@
"ScannerGun": {
"Enabled": true
},
"Scanner": {
"Enabled": true
},
"AucamTask": {
"Enabled": false
}

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.RealTimeService")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.RealTimeService")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.RealTimeService")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
0868e6bde5b49a65a126b91d794e990427a11761
ffe85bc2871e10e4f4deabf6433e768a4eb932a7d3809316277215a444c9f5c2

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.RealTimeService
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.RealTimeService\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -1,19 +1,50 @@
using Admin.Core.IRepository;
using Admin.Core.Model;
using Admin.Core.Model.Model_New;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Admin.Core.Repository
{
/// <summary>
/// TemperatureHistoryRepository
/// 测温存储过程
/// </summary>
public class TemperatureHistoryRepository : BaseRepository<TemperatureHistory>, ITemperatureHistoryRepository
{
public TemperatureHistoryRepository(IUnitOfWork unitOfWork) : base(unitOfWork)
{
}
#region 传递时间时间 调用存储过程 获取测温历史记录
/// <summary>
/// 传递的参数为信息起始时间,该存储过程会提取从起始时间开始按时间排序的 2000 条数据
/// </summary>
/// <returns></returns>
public List<TemperatureHistory> QueryTemperatureHistory(DateTime startTime)
{
var s = new SugarParameter("@p", startTime);
var res = new SugarParameter("@History", null, true);//设置为output
var list = Db.CopyNew().Ado.UseStoredProcedure().SqlQuery<TemperatureHistory>("Data_ForMES2", s);
return list;
}
#endregion
#region 传递条码 调用存储过程 获取测温历史记录
/// <summary>
/// 调用存储过程 获取测温历史记录
/// </summary>
/// <returns></returns>
public List<TemperatureHistory> QueryTemperatureHistory(string barCode)
{
string startTime = string.Empty;
string endTime = string.Empty;
var s = new SugarParameter("@p", barCode);
var res = new SugarParameter("@History", null, true);//设置为output
var list = Db.CopyNew().Ado.UseStoredProcedure().SqlQuery<TemperatureHistory>("Data_ForMES", s);
return list;
}
#endregion
}
}

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.Repository")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.Repository")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.Repository")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
046606c52f7e20e88e6dd5ffc01e33664c4b9ff8
fe7c924978ded9c3cdf0f9f7492dccb0324b897050d32f2dd46ac8439851acac

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Repository
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Repository\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.Serilog.Es")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.Serilog.Es")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.Serilog.Es")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
dbec6c73777a8ebf7006f00f1928199755951ac1
a9badd67957e2093975a45f0b8bdf4f368d78415c81f5178dbc72c651233d914

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Serilog.Es
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Serilog.Es\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -14,15 +14,35 @@ using System.Threading.Tasks;
namespace Admin.Core.Service
{
public class TemperatureHistoryServices : BaseServices<TemperatureHistory>,ITemperatureHistoryServices
public class TemperatureHistoryServices : BaseServices<TemperatureHistory>, ITemperatureHistoryServices
{
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(TemperatureHistoryServices));
private readonly IBaseRepository<TemperatureHistory> _dal;
private readonly ITemperatureHistoryRepository _temperatureHistoryRepository;
public TemperatureHistoryServices(IBaseRepository<TemperatureHistory> dal)
public TemperatureHistoryServices(IBaseRepository<TemperatureHistory> dal, ITemperatureHistoryRepository temperatureHistoryRepository)
{
this._dal = dal;
base.BaseDal = dal;
_temperatureHistoryRepository = temperatureHistoryRepository;
}
/// <summary>
/// 传递时间时间 调用存储过程 获取测温历史记录
/// </summary>
/// <param name="startTime">开始时间</param>
/// <returns></returns>
public List<TemperatureHistory> QueryTemperatureHistory(DateTime startTime)
{
return _temperatureHistoryRepository.QueryTemperatureHistory(startTime);
}
/// <summary>
/// 传递条码 调用存储过程 获取测温历史记录
/// </summary>
/// <param name="barCode">条码</param>
/// <returns></returns>
public List<TemperatureHistory> QueryTemperatureHistory(string barCode)
{
return _temperatureHistoryRepository.QueryTemperatureHistory(barCode);
}
}
}

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.Service")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.Service")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.Service")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
ff8a17c10bdbb7dcf5bd28c26639be5ea4bbf542
41f96c06a6699d16272c9fa5c9313083b66b4d92c03c2e18edcec976d22fe73a

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Service
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Service\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("Admin.Core.Tasks")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("Admin.Core.Tasks")]
[assembly: System.Reflection.AssemblyTitleAttribute("Admin.Core.Tasks")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
da4240456d30e56fa6c5e71babf5565adb3e1436
b257f613a7d6a7d318c3b07b1b243b35b2419d441e95c4ece51dc9f3c406b9c8

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = Admin.Core.Tasks
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\Admin.Core.Tasks\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -85,9 +85,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aucma.Core.HwPLc", "Aucma.C
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aucam.Core.TemperatureService", "Aucam.Core.TemperatureService\Aucam.Core.TemperatureService.csproj", "{87B08C88-4258-4D57-B9E5-EC6C7F3899BC}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aucma.Core.PrintTo", "Aucma.Core.PrintTo\Aucma.Core.PrintTo.csproj", "{AC2B98A8-09CF-42A5-93B5-DF74185B8D3A}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aucma.Core.PrintTo", "Aucma.Core.PrintTo\Aucma.Core.PrintTo.csproj", "{AC2B98A8-09CF-42A5-93B5-DF74185B8D3A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aucma.Core.SheetMetalTasks", "Aucma.Core.SheetMetalTasks\Aucma.Core.SheetMetalTasks.csproj", "{F78F41F3-8B38-4CA1-A254-C18CCDCA8291}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Aucma.Core.SheetMetalTasks", "Aucma.Core.SheetMetalTasks\Aucma.Core.SheetMetalTasks.csproj", "{F78F41F3-8B38-4CA1-A254-C18CCDCA8291}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Aucma.Core.TemperatureTask", "Aucma.Core.TemperatureTask\Aucma.Core.TemperatureTask.csproj", "{F427E68F-100D-4136-8761-F2C9CB0E7940}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@ -223,6 +225,10 @@ Global
{F78F41F3-8B38-4CA1-A254-C18CCDCA8291}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F78F41F3-8B38-4CA1-A254-C18CCDCA8291}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F78F41F3-8B38-4CA1-A254-C18CCDCA8291}.Release|Any CPU.Build.0 = Release|Any CPU
{F427E68F-100D-4136-8761-F2C9CB0E7940}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F427E68F-100D-4136-8761-F2C9CB0E7940}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F427E68F-100D-4136-8761-F2C9CB0E7940}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F427E68F-100D-4136-8761-F2C9CB0E7940}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -263,6 +269,7 @@ Global
{87B08C88-4258-4D57-B9E5-EC6C7F3899BC} = {FA2FF2A3-135E-4CA2-9042-76BB71623D5A}
{AC2B98A8-09CF-42A5-93B5-DF74185B8D3A} = {BD987F3A-4E6C-4C47-B28F-1671F875EAE3}
{F78F41F3-8B38-4CA1-A254-C18CCDCA8291} = {F8FB57F6-5465-4E60-B052-D3A63C3C56AE}
{F427E68F-100D-4136-8761-F2C9CB0E7940} = {F8FB57F6-5465-4E60-B052-D3A63C3C56AE}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {8047AB56-042B-4AE4-B06A-34137067A86A}

@ -37,4 +37,8 @@
<ProjectReference Include="..\Admin.Core.Extensions\Admin.Core.Extensions.csproj" />
</ItemGroup>
<ItemGroup>
<Folder Include="Log\" />
</ItemGroup>
</Project>

@ -1,9 +1,11 @@
using Admin.Core.Common;
using Admin.Core.Extensions;
using Admin.Core.Extensions.Middlewares;
using Admin.Core.IService.ISys;
using Admin.Core.Tasks;
using Aucma.Core.RunPlc;
using Aucma.Core.Tasks;
using Aucma.Core.TemperatureTask;
using Autofac;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
@ -57,8 +59,8 @@ namespace Aucam.Core.TemperatureService
//注册业务服务
AddServices(services);
//任务调度
services.AddJobSetup();
//测温读取服务
services.AddTemperatureTaskSetup();
//支持编码大全 例如:支持 System.Text.Encoding.GetEncoding("GB2312") System.Text.Encoding.GetEncoding("GB18030")
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
@ -80,15 +82,12 @@ namespace Aucam.Core.TemperatureService
/// </summary>
/// <param name="app"></param>
/// <param name="env"></param>
public void Configure(IApplicationBuilder app, ISysTasksQzService tasksQzService,
ISchedulerCenter schedulerCenter)
public void Configure(IApplicationBuilder app, IAucamTemperatureMeasurementService aucamTemperatureMeasurementService)
{
// 使用静态文件
app.UseStaticFiles();
// 然后是授权中间件
//app.UseAuthorization();
// 开启QuartzNetJob调度服务
app.UseQuartzJobMildd(tasksQzService, schedulerCenter);
// 注入测温读取中间件
app.UseTemperatureTaskMildds(aucamTemperatureMeasurementService);
}

@ -6,9 +6,11 @@ using Aucma.Core.HwPLc;
using Aucma.Core.Scanner;
using log4net;
using Microsoft.Extensions.DependencyInjection;
using StackExchange.Profiling.Internal;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Printing;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@ -31,102 +33,171 @@ namespace Aucma.Core.Palletiz.Business
}
#endregion
#region 初始化对象
private readonly IBaseSpaceInfoServices? _baseSpaceInfoServices;
private readonly ICodeBindingRecordServices? _codeBindingServices;
private readonly IRecordInStoreServices? _recordInstoreServices;
#endregion
public InstoreBusiness()
{
_baseSpaceInfoServices = App.ServiceProvider.GetService<IBaseSpaceInfoServices>();
_codeBindingServices = App.ServiceProvider.GetService<ICodeBindingRecordServices>();
_recordInstoreServices = App.ServiceProvider.GetService<IRecordInStoreServices>();
MvCodeHelper.HandlePalletizDelegateEvent += ScannerInStore;//注册扫码器扫码后业务处理事件
}
#region 接口引用
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(InstoreBusiness));
#endregion
#region 变量定义
public readonly List<ScannerModel> allScanners = Appsettings.app<ScannerModel>("ScannerServer").ToList();
public readonly string storeCodeA = Appsettings.app("StoreInfo", "PalletizStoreCodeA");//分垛库A
public readonly string storeCodeB = Appsettings.app("StoreInfo", "PalletizStoreCodeB");//分垛库B
private static bool flagA = true;
private static bool flagB = true;
#endregion
#region 事件
#region 更新提醒信息
/// <summary>
/// 日志事件
/// </summary>
public delegate void LogInStoreInfoDelegate(string message, string color);
public static event LogInStoreInfoDelegate LogInStoreInfoDelegateEvent;
#endregion
#region 更新扫码信息
/// <summary>
/// 刷新扫码信息——图表和表格
/// </summary>
public delegate void ResherStoreInfoDelegate();
public static event ResherStoreInfoDelegate ResherStoreInfoDelegateEvent;
#endregion
#region 接口引用
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(InstoreBusiness));
private readonly IBaseSpaceInfoServices? _baseSpaceInfoServices = App.ServiceProvider.GetService<IBaseSpaceInfoServices>();
private readonly ICodeBindingRecordServices? _codeBindingServices = App.ServiceProvider.GetService<ICodeBindingRecordServices>();
private readonly IRecordInStoreServices? _recordInstoreServices = App.ServiceProvider.GetService<IRecordInStoreServices>();
#endregion
#region Test
[Obsolete("正式环境下使用ScannerInStore(string SNCode,string IP)")]
public void test()
{
// B240101 8302501416 0001 SN:16160030000000910999
// B240101 8302501416 0001 SN:16160030000000910999
Task.Run(async () =>
{
Thread.Sleep(3000);
await InStore("16160030000000910999", "192.168.1.19");
});
}
#endregion
#region 扫码入库
/// <summary>
/// 扫码入库
/// </summary>
/// <param name="SNCode">成品码</param>
/// <param name="IP">扫码器IP</param>
public void ScannerInStore(string SNCode,string IP)
{
Task.Run(async () =>
{
Thread.Sleep(3000);
await InStore(SNCode, IP);
});
}
#endregion
#region 扫码入库处理
/// <summary>
///
/// 扫码入库处理
/// </summary>
/// <param name="SNCode">成品码</param>
/// <param name="scannerIp">扫码器ip</param>
/// <returns></returns>
public async Task InStore(string SNCode,string scannerIp)
public async Task InStore(string SNCode, string scannerIp)
{
Console.WriteLine($"上位机接收到扫码器传入的成品码:{SNCode};扫码器IP:{scannerIp}");
LogInStoreInfoDelegateEvent?.Invoke($"上位机接收到扫码器传入的成品码:{SNCode};扫码器IP:{scannerIp}","White");
bool plcResult = false;// plc下发结果
List<int> spaceNumList = new List<int>();// 下发plc的货道号
RecordInStore recordInstore = new RecordInStore();// 入库记录
try
{
{
// 刷新页面
List<ScannerModel> allScanners = Appsettings.app<ScannerModel>("ScannerServer").ToList();
ScannerModel model = allScanners.FirstOrDefault(x => x.Ip == scannerIp);
// plc下发结果
bool plcResult = false;
// 下发plc的货道号
List<int> spaceNumList = new List<int>();
// 入库记录
RecordInStore recordInstore = new RecordInStore();
ScannerModel model = allScanners.First(x => x.Ip == scannerIp);
Console.WriteLine($"上位机获取配置的扫码器【IP:{model.ToJson()}》名称:{model.Name}】");
LogInStoreInfoDelegateEvent?.Invoke($"上位机获取配置的扫码器【IP:{model.ToJson()}》名称:{model.Name}】","White");
//1.根据成品码找货道
List<BaseSpaceInfo> spaceList = getSpaceBySNCode(SNCode,recordInstore);
List<BaseSpaceInfo>? spaceList = GetSpaceBySNCode(SNCode, recordInstore);
Console.WriteLine($"上位机获取配置的货道数量【{spaceList.Count}】");
// 根据货道信息判断下发plc信号
if (spaceList == null || spaceList.Count==0)
if (spaceList == null || spaceList.Count == 0)
{
logHelper.Error("未找到匹配货道,请手动入库!");
// 刷新页面提示信息
Console.WriteLine("未找到匹配货道,请手动入库!");
LogInStoreInfoDelegateEvent?.Invoke("未找到匹配货道,请手动入库!", "White");
return;
}
// 过滤货道,找到最终需要下发的货道
BaseSpaceInfo finalSpace = FilterSpace(spaceList);
Console.WriteLine($"上位机获取需要下发的货道【货道名称:{finalSpace.SpaceName}》货道库存:{finalSpace.SpaceStock}》货道状态:{finalSpace.SpaceStatus}》货道类型:{finalSpace.SpaceType}》所属仓库:{finalSpace.StoreCode}】");
LogInStoreInfoDelegateEvent?.Invoke($"是否为大产品:【{finalSpace.IsTwoSpace}】", "White");
Console.WriteLine($"是否为大产品:【{finalSpace.IsTwoSpace}】");
LogInStoreInfoDelegateEvent?.Invoke($"下发的货道:【货道名称:{finalSpace.SpaceName}", "White");
// 大产品占两道
if (finalSpace.IsTwoSpace == 1)
{
spaceNumList.Add(int.Parse(finalSpace.SpaceCode.Substring(5, 3)));
spaceNumList.Add(int.Parse(getOtherSpace(finalSpace, spaceList).SpaceCode.Substring(5, 3)));
plcResult = sendAndAnswerPlc(scannerIp, spaceList[0].RotationRange, spaceNumList);
spaceNumList.Add(int.Parse(GetOtherSpace(finalSpace, spaceList).SpaceCode.Substring(5, 3)));
plcResult = SendAndAnswerPlc(scannerIp, spaceList[0].RotationRange, spaceNumList);
recordInstore.SpaceCode = finalSpace.SpaceCode;
recordInstore.StoreCode = finalSpace.StoreCode;
// 更新货道信息,大产品last存objId大的储存上一个货道的主键 如货道7,8存8
BaseSpaceInfo otherSpace = getOtherSpace(finalSpace, spaceList);
BaseSpaceInfo otherSpace = GetOtherSpace(finalSpace, spaceList);
Console.WriteLine($"大产品入库信息:【{finalSpace.ToJson()}】【{spaceList.ToJson()}】");
if (otherSpace != null)
{
updateSapceList(otherSpace.ObjId,spaceList);
UpdateSapceList(otherSpace.ObjId, spaceList);
Console.WriteLine("更新货道信息成功!");
LogInStoreInfoDelegateEvent?.Invoke("更新货道信息成功!", "White");
}
}
else
{
// last不等于自己可以先入自己否则入另一条货道
if (isOddNumber(finalSpace))
if (IsOddNumber(finalSpace))
{
spaceNumList.Add(int.Parse(finalSpace.SpaceCode.Substring(5, 3)));
spaceNumList.Add(0);
plcResult = sendAndAnswerPlc(scannerIp, finalSpace.RotationRange, spaceNumList);
updateSapceList(finalSpace.ObjId, spaceList);
plcResult = SendAndAnswerPlc(scannerIp, finalSpace.RotationRange, spaceNumList);
UpdateSapceList(finalSpace.ObjId, spaceList);
Console.WriteLine("更新货道信息成功!");
LogInStoreInfoDelegateEvent?.Invoke("更新货道信息成功!", "White");
}
else
{
spaceNumList.Add(0);
spaceNumList.Add(int.Parse(finalSpace.SpaceCode.Substring(5, 3)));
plcResult = sendAndAnswerPlc(scannerIp, finalSpace.RotationRange, spaceNumList);
updateSapceList(finalSpace.ObjId, spaceList);
plcResult = SendAndAnswerPlc(scannerIp, finalSpace.RotationRange, spaceNumList);//给PLC下传入库信号
UpdateSapceList(finalSpace.ObjId, spaceList);
Console.WriteLine("更新货道信息成功!");
LogInStoreInfoDelegateEvent?.Invoke("更新货道信息成功!", "White");
}
}
if (plcResult==true)
if (plcResult == true)
{
// 更新入库记录,刷新界面
#region 添加入库记录
@ -136,13 +207,15 @@ namespace Aucma.Core.Palletiz.Business
recordInstore.InStoreTime = DateTime.Now;
recordInstore.CreatedTime = DateTime.Now;
recordInstore.UpdateTime = DateTime.Now;
_ = _recordInstoreServices.AddAsync(recordInstore).Result;
await _recordInstoreServices.AddAsync(recordInstore);
#endregion
}
else
{
// 界面提示手动入库
LogInStoreInfoDelegateEvent?.Invoke("界面提示手动入库!", "Red");
}
}
@ -152,55 +225,68 @@ namespace Aucma.Core.Palletiz.Business
return;
}
}
#region 根据成品码找货道
/// <summary>
/// 根据成品码找货道
/// </summary>
/// <param name="SNCode"></param>
/// <returns></returns>
private List<BaseSpaceInfo> getSpaceBySNCode(string SNCode, RecordInStore recordInstore)
private List<BaseSpaceInfo>? GetSpaceBySNCode(string SNCode, RecordInStore recordInstore)
{
try
{
CodeBindingRecord bindingRecord = _codeBindingServices.Query(c => c.ProductCode.Equals(SNCode)).FirstOrDefault();
if (bindingRecord == null) return null;
{
CodeBindingRecord bindingRecord = _codeBindingServices.FirstAsync(c => c.ProductCode.Equals(SNCode)).Result;
if (bindingRecord == null) return null;
recordInstore.BarCodeCode = bindingRecord.BoxCode;
recordInstore.MaterialCode = bindingRecord.BoxCode;
recordInstore.MaterialType = bindingRecord.BoxCode.Substring(7, 10);
recordInstore.MaterialType = bindingRecord.BoxCode.Substring(7, 10);
recordInstore.MaterialName = bindingRecord.BoxName;
string mType = bindingRecord.BoxCode.Substring(7, 10);
List<BaseSpaceInfo> bsInfo = _baseSpaceInfoServices.Query(s => (s.MaterialType.Equals(mType) && (s.StoreCode.Equals(storeCodeA)) || s.StoreCode.Equals(storeCodeB)));
return _baseSpaceInfoServices.Query(s => s.MaterialType.Equals(bindingRecord.BoxCode.Substring(7, 10)) && (s.StoreCode.Equals(storeCodeA) || s.StoreCode.Equals(storeCodeB)) ).OrderBy(x=>x.ObjId).ToList();
if (bsInfo.Count > 0)
return bsInfo.OrderBy(x => x.ObjId).ToList();
else
return null;
}
catch (Exception ex)
{
logHelper.Error(ex.Message.ToString());
Console.WriteLine(ex.Message.ToString());
return null;
}
}
#endregion
private BaseSpaceInfo FilterSpace(List<BaseSpaceInfo> spaceInfos)
{
if (spaceInfos.Count == 1 || string.IsNullOrEmpty(spaceInfos[0].LastSpace))
BaseSpaceInfo spaceInfo = spaceInfos.First();
if (spaceInfos.Count == 1 || string.IsNullOrEmpty(spaceInfo.LastSpace))
{
return spaceInfos[0];
return spaceInfo;
}
List<BaseSpaceInfo> spaceList = spaceInfos.Where(s=>s.ObjId> int.Parse(spaceInfos[0].LastSpace)).ToList();
if(spaceList==null|| spaceList.Count == 0)
List<BaseSpaceInfo> spaceList = spaceInfos.Where(s => s.ObjId > int.Parse(spaceInfo.LastSpace)).ToList();
if (spaceList == null || spaceList.Count == 0)
{
return spaceInfos[0];
return spaceInfo;
}
else
{
return spaceList[0];
return spaceInfo;
}
}
/// <summary>
/// 大产品占据两条货道,根据一条货道找到另一条货道
/// </summary>
/// <param name="spaceInfo"></param>
private BaseSpaceInfo getOtherSpace(BaseSpaceInfo spaceInfo,List<BaseSpaceInfo> spaceList)
private BaseSpaceInfo GetOtherSpace(BaseSpaceInfo spaceInfo, List<BaseSpaceInfo> spaceList)
{
try
{
@ -228,18 +314,20 @@ namespace Aucma.Core.Palletiz.Business
catch (Exception ex)
{
logHelper.Error(ex.Message.ToString());
Console.WriteLine($"大产品根据一条货道找到另一条货道异常:{ex.Message}");
return null;
}
}
/// <summary>
/// 判断货道编号是否为奇数
/// </summary>
/// <param name="space"></param>
/// <returns></returns>
private bool isOddNumber(BaseSpaceInfo space)
private bool IsOddNumber(BaseSpaceInfo space)
{
int num = int.Parse(space.SpaceCode.Substring(5, 3));
if(num % 2 == 0)
if (num % 2 == 0)
{
return false;
}
@ -248,25 +336,27 @@ namespace Aucma.Core.Palletiz.Business
return true;
}
}
/// <summary>
/// 将该物料的所有货道列表的last修改为上次入库货道objId
/// </summary>
/// <param name="objId"></param>
/// <param name="spaceList"></param>
/// <returns></returns>
private bool updateSapceList(int objId,List<BaseSpaceInfo> spaceList)
private bool UpdateSapceList(int objId, List<BaseSpaceInfo> spaceList)
{
foreach(BaseSpaceInfo space in spaceList)
foreach (BaseSpaceInfo space in spaceList)
{
space.LastSpace = objId.ToString();
}
return _baseSpaceInfoServices.UpdateAsync(spaceList).Result;
return _baseSpaceInfoServices.UpdateAsync(spaceList).Result;
}
#endregion
#region plc信号下发
#region 下发plc入库信号
/// <summary>
/// 下发plc入库信号
/// </summary>
@ -274,17 +364,17 @@ namespace Aucma.Core.Palletiz.Business
/// <param name="range">转向角度</param>
/// <param name="spaceNum">货道号int集合</param>
/// <returns></returns>
private bool sendAndAnswerPlc(string scannerIp,int range,List<int> spaceNum)
private bool SendAndAnswerPlc(string scannerIp, int range, List<int> spaceNum)
{
bool result = false;
try
{
PlcModel obj = getPlcByScanner(scannerIp);
PlcModel obj = GetPlcByScanner(scannerIp);
if (obj != null)
{
if (sendPlc(obj, range, spaceNum))
if (SendPlc(obj, range, spaceNum))
{
result = waitAnswerPlc(obj);
result = WaitAnswerPlc(obj);
}
}
else
@ -300,7 +390,11 @@ namespace Aucma.Core.Palletiz.Business
logHelper.Error(ex.Message.ToString());
return result;
}
}
}
#endregion
#region 下发plc信号
/// <summary>
/// 下发plc信号
/// </summary>
@ -308,7 +402,7 @@ namespace Aucma.Core.Palletiz.Business
/// <param name="range"></param>
/// <param name="spaceNum"></param>
/// <returns></returns>
private bool sendPlc(PlcModel obj, int range, List<int> spaceNum)
private bool SendPlc(PlcModel obj, int range, List<int> spaceNum)
{
try
{
@ -320,16 +414,18 @@ namespace Aucma.Core.Palletiz.Business
if (DateTime.Now > targetTime) // plc超最大时限无反馈
{
logHelper.Error("等待plc放行反馈信号超时");
Console.WriteLine("等待plc放行反馈信号超时");
return false;
}
// 应答字允许下发
Console.WriteLine($"读取应答字是否下传成功!【{obj.plc.ReadInt32("D102")}】");
if (obj.plc.ReadInt32("D102") == 1)
{
//旋转角度
obj.plc.WriteInt32("D110", range);
//货道号
obj.plc.WriteInt32("D112", spaceNum[0]);
obj.plc.WriteInt32("D114", spaceNum[1]);
//obj.plc.WriteInt32("D110", range);//旋转角度暂时不赋值由PLC转向
obj.plc.WriteInt32("D112", spaceNum[0]); //货道号
obj.plc.WriteInt32("D114", spaceNum[1]); //货道号
Console.WriteLine($"plc信号货道信号下发成功!【D112:{spaceNum[0]}】D114:{spaceNum[1]}");
result = true;
break;
}
@ -343,12 +439,16 @@ namespace Aucma.Core.Palletiz.Business
return false;
}
}
#endregion
#region 等待plc信号反馈
/// <summary>
/// 等待plc信号反馈
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
private bool waitAnswerPlc(PlcModel obj)
private bool WaitAnswerPlc(PlcModel obj)
{
try
{
@ -380,24 +480,104 @@ namespace Aucma.Core.Palletiz.Business
}
}
#endregion
#region 根据扫码器ip确定是属于哪个plc
/// <summary>
/// 根据扫码器ip确定是属于哪个plc
/// </summary>
/// <param name="scannerIp"></param>
/// <returns></returns>
private PlcModel getPlcByScanner(string scannerIp)
private PlcModel GetPlcByScanner(string scannerIp)
{
PlcModel obj = null;
ScannerModel model = allScanners.FirstOrDefault(x => x.Ip == scannerIp);
if (model.Id < 3)
{
obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("APlc"));
obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("InStoreAPlc"));
}
else
{
obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("BPlc"));
obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("InStoreBPlc"));
}
return obj;
}
#endregion
#endregion
#region 手动写入货道号给PLC数据
/// <summary>
/// 手动写入PLC数据
/// </summary>
/// <returns></returns>
public static bool WritePlc(Models.StackInfoModel tempStackInfo)
{
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("InStorePlc"));
//写入PLC
if (obj.plc.IsConnected)
{
//1、判断是否为大产品、占用两个货道 上位机两条道设置为相同型号
if (tempStackInfo.IsLargeProducts)
{
obj.plc.WriteInt16("D7000", tempStackInfo.BinNo.ToString());//写入货道
obj.plc.WriteInt16("D7100", tempStackInfo.BinNo.ToString());//写入货道
}
else
{
//判断入库货道
if (tempStackInfo.BinNo / 2 == 0)
{
obj.plc.WriteInt16("D7000", tempStackInfo.BinNo.ToString());//写入货道
obj.plc.WriteInt16("D7100", "0");//写入货道
}
else
{
obj.plc.WriteInt16("D7000", "0");//写入货道
obj.plc.WriteInt16("D7100", tempStackInfo.BinNo.ToString());//写入货道
}
}
obj.plc.WriteInt16("D7020", "1");//同时写入应答字
Console.WriteLine("手动写入PLC成功");
do
{
#region 1号区域码垛——A
int responseWord1 = obj.plc.ReadInt16("D7020");//读取1号区域码垛 等待应答字回去
Console.WriteLine($"获取应答信号:{responseWord1}");
if (responseWord1 == 2)
{
//清空货道
obj.plc.WriteInt16("D7000", "0");
obj.plc.WriteInt16("D7100", "0");
flagA = false;
}
#endregion
} while (flagA);
}
//更新货道
return false;
}
private static void GetResposeB()
{
var obj = PlcHelper.melsecList.FirstOrDefault(d => d.EquipName.Equals("InStorePlc"));
//写入PLC
if (obj.plc.IsConnected)
{
do
{
#region 2号区域码垛——B
int responseWord2 = obj.plc.ReadInt16("D7120");//读取1号区域码垛 等待应答字回去
Console.WriteLine("手动写入PLC成功");
if (responseWord2 == 2)
{
obj.plc.WriteInt16("D7000", "0");//清空
}
#endregion
} while (flagA);
}
}
#endregion
}

@ -11,9 +11,20 @@ namespace Aucma.Core.Palletiz.Models
/// </summary>
public class StackInfoModel
{
/// <summary>
/// 成品码
/// </summary>
public string? SNCode { get; set; }
public int LevelNo { get; set; }
public int BinNo { get; set; }
public int PortNo { get; set; }
/// <summary>
/// 范围
/// </summary>
public int RangeNo { get; set; }
/// <summary>
/// 是否为大产品
/// </summary>
public bool IsLargeProducts { get; set; }
}
}

@ -1,4 +1,5 @@
using Aucma.Core.Palletiz.Models;
using Aucma.Core.Palletiz.Business;
using Aucma.Core.Palletiz.Models;
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using log4net;
@ -18,10 +19,11 @@ namespace Aucma.Core.Palletiz.ViewModels
private int RangeNo = 1;
#endregion
public static StackInfoModel TempStackInfo = new StackInfoModel();
public static StackInfoModel tempStackInfo = new StackInfoModel();
public HandPalletizViewModel() {
PromptInfo("请选择信息下传......", "White");
PromptInfo("请选择信息下传......", "White");
}
#region 分垛信息下传
@ -31,34 +33,41 @@ namespace Aucma.Core.Palletiz.ViewModels
[RelayCommand]
public void Save()
{
PromptInfo("分垛信息下传中......", "White");
DialogResult cr = MessageBox.Show("是否确认下传分垛信息?", "系统提醒", MessageBoxButtons.OKCancel);
if (cr != DialogResult.OK)
try
{
return;
}
TempStackInfo.LevelNo = LevelNo;
TempStackInfo.BinNo = (BinNo - 1) * 2 + PortNo + ((LevelNo - 1) * 10);
TempStackInfo.PortNo = PortNo;
TempStackInfo.RangeNo = RangeNo;
PromptInfo("分垛信息下传中......", "White");
DialogResult cr = MessageBox.Show("是否确认下传分垛信息?", "系统提醒", MessageBoxButtons.OKCancel);
if (cr != DialogResult.OK)
{
return;
}
tempStackInfo.LevelNo = LevelNo;
tempStackInfo.BinNo = (BinNo - 1) * 2 + PortNo + ((LevelNo - 1) * 10);
tempStackInfo.PortNo = PortNo;
tempStackInfo.RangeNo = RangeNo;
bool backResult = true;// ControlStackingScan.DownLoadInInfo(TempStackInfo);
if (backResult)
{
PromptInfo("分垛信息下传成功!", "White");
bool backResult = InstoreBusiness.WritePlc(tempStackInfo);
if (backResult)
{
PromptInfo("分垛信息下传成功!", "White");
}
else
{
PromptInfo("分垛信息下传失败!", "Red");
}
}
else
catch (Exception ex)
{
PromptInfo("分垛信息下传失败!", "Red");
PromptInfo($"分垛信息下传失败:{ex.Message}", "Red");
}
}
#endregion
#region 提示信息
private string msgTxt;
private string? msgTxt;
public string MsgTxt
public string? MsgTxt
{
get => msgTxt;
set => SetProperty(ref msgTxt, value);

@ -11,27 +11,30 @@ using Aucma.Core.Palletiz.Business;
using Admin.Core.Model;
using System.Windows.Documents;
using System.Windows.Interop;
using Admin.Core.Common;
/*
*
*
* 2024-02-28
*/
namespace Aucma.Core.Palletiz.ViewModels
{
public partial class IndexPageViewModel : ObservableObject
{
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(IndexPageViewModel));
private InstoreBusiness inStoreBusiness = InstoreBusiness.Instance;//初始化业务执行类
public IndexPageViewModel()
{
//StationName = "成品分垛入库";
StationName = Appsettings.app("StoreInfo", "StationName");//分垛库A
//MaterialName = "SC-AUCMA-农夫山泉SC";
//OrderNo = "8512365486";
//BeginTime = DateTime.Now.ToString("yyyy-mm-dd HH:mm:ss");
TotalEnterStoreNum = 0;
InitEveryDayMethod();
MsgInfo = "提示信息";
//ControlStackingScan.HandPalletizDelegateEvent += PromptInfo;
PromptInfo("提示信息","White");
InstoreBusiness.LogInStoreInfoDelegateEvent += PromptInfo;//成品入库提示信息
InitEveryDayMethod();//图表信息初始化
}
#region 扫描信息

@ -31,57 +31,48 @@
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" VerticalAlignment="Center" HorizontalAlignment="Center" >
<TextBlock Text="手动分垛" FontSize="25" Foreground="#FFFFFF" Margin="10,0,0,0"/>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="所属仓库:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,50,0" VerticalAlignment="Center" />
<Button x:Name="btn_A" Content="A 库" FontSize="20" Background="Lime" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Cursor="Hand" Click="btn_A_Click" >
</Button>
<Button x:Name="btn_B" Content="B 库" FontSize="20" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Margin="20 0" Click="btn_B_Click">
</Button>
<TextBlock Text="成品码:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,50,0" VerticalAlignment="Center" />
<TextBox x:Name="txtBarCode" FontSize="20" Foreground="white" Height="50" Width="400" Style="{x:Null}" Margin="20 0" />
</StackPanel>
<StackPanel Grid.Row="2" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="目的货道:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,50,0" VerticalAlignment="Center" />
<Button x:Name="btn_space1" Content="1" FontSize="18" Background="Lime" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="0 0 10 0" Click="btn_space1_Click">
</Button>
<Button x:Name="btn_space2" Content="2" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space2_Click">
</Button>
<Button x:Name="btn_space3" Content="3" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space3_Click">
</Button>
<Button x:Name="btn_space4" Content="4" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space4_Click">
</Button>
<Button x:Name="btn_space5" Content="5" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space5_Click">
</Button>
<Button x:Name="btn_space6" Content="6" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space6_Click">
</Button>
<TextBlock Text="所属仓库:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,50,0" VerticalAlignment="Center" />
<Button x:Name="btn_A" Content="A 库" FontSize="20" Background="Lime" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Cursor="Hand" Click="btn_A_Click" />
<Button x:Name="btn_B" Content="B 库" FontSize="20" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Margin="20 0" Click="btn_B_Click"/>
</StackPanel>
<StackPanel Grid.Row="3" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="目的货道:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,50,0" VerticalAlignment="Center" />
<Button x:Name="btn_space1" Content="1" FontSize="18" Background="Lime" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="0 0 10 0" Click="btn_space1_Click"/>
<Button x:Name="btn_space2" Content="2" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space2_Click"/>
<Button x:Name="btn_space3" Content="3" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space3_Click"/>
<Button x:Name="btn_space4" Content="4" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space4_Click"/>
<Button x:Name="btn_space5" Content="5" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space5_Click"/>
<Button x:Name="btn_space6" Content="6" FontSize="18" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="45" RenderTransformOrigin="0.5,0.5" Margin="10 0" Click="btn_space6_Click"/>
</StackPanel>
<StackPanel Grid.Row="4" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="货道分流:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,50,0" VerticalAlignment="Center" />
<Button x:Name="btn_left" Content="左 道" FontSize="20" Background="Lime" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Click="btn_left_Click" >
</Button>
<Button x:Name="btn_right" Content="右 道" FontSize="20" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Margin="20 0" Click="btn_right_Click">
</Button>
</StackPanel>
<StackPanel Grid.Row="4" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<StackPanel Grid.Row="5" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="转向角度:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,50,0" VerticalAlignment="Center" />
<Button x:Name="btn_range90" Content="90度" FontSize="20" Background="Lime" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Click="btn_range90_Click" >
</Button>
<Button x:Name="btn_range180" Content="180度" FontSize="20" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Margin="20 0" Click="btn_range180_Click">
</Button>
<Button x:Name="btn_range270" Content="270度" FontSize="20" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Click="btn_range270_Click" >
</Button>
<Button x:Name="btn_range90" Content="90度" FontSize="20" Background="Lime" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Click="btn_range90_Click" />
<Button x:Name="btn_range180" Content="180度" FontSize="20" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Margin="20 0" Click="btn_range180_Click"/>
<Button x:Name="btn_range270" Content="270度" FontSize="20" Background="DarkCyan" BorderBrush="#FF36B5C1" Foreground="white" Height="50" Width="103" RenderTransformOrigin="0.5,0.5" Click="btn_range270_Click" />
</StackPanel>
<StackPanel Grid.Row="5" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<StackPanel Grid.Row="6" Orientation="Horizontal" VerticalAlignment="Center" Margin="50,0,0,0">
<TextBlock Text="提示信息:" FontSize="20" Foreground="#FFFFFF" Margin="10,0,50,0" VerticalAlignment="Center" />
<TextBlock Text="{Binding MsgTxt}" Foreground="{Binding MsgColor,Mode=TwoWay}" FontWeight="Bold" FontSize="20" Width="500" Height="35">
</TextBlock>
<TextBlock Text="{Binding MsgTxt}" Foreground="{Binding MsgColor,Mode=TwoWay}" FontWeight="Bold" FontSize="20" Width="400" Height="35"/>
</StackPanel>
<StackPanel Grid.Row="6" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0 0 10 0">
<StackPanel Grid.Row="7" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="0 0 10 0">
<Button Content="保 存" FontSize="20" Command="{Binding SaveCommand}" Background="#FF36B5C1" BorderBrush="#FF36B5C1" Foreground="white" Margin="0,0,10,0" Height="50" Width="100" />
<Button Content="取 消" FontSize="20" Command="{Binding CloseWindowCommand}" CommandParameter="{Binding ElementName=window}" Background="#FF9900" Foreground="white" Margin="10,0,0,0" Height="50" BorderBrush="#FF9900" Width="100" Click="Button_Click_1" />
</StackPanel>

@ -109,7 +109,7 @@
<TextBlock Text="当前工位" Foreground="White" FontSize="20"/>
</Border>
<Border Grid.Row="1" Grid.RowSpan="3" Grid.Column="0" Background="#1157b9">
<TextBlock Text="产品分垛" Foreground="White" FontWeight="Bold" FontSize="30"/>
<TextBlock Text="{Binding StationName}" Foreground="White" FontWeight="Bold" FontSize="30"/>
</Border>
<Border Grid.Row="0" Grid.Column="1" Background="#1157b9">
<TextBlock Text="产品条码" Foreground="White" FontSize="20"/>

@ -168,7 +168,7 @@
"Enabled": true
},
"QuartzNetJob": {
"Enabled": true
"Enabled": false
},
"Scanner": { //
"Enabled": true
@ -204,15 +204,23 @@
"PLCServer": [
{
"Id": 1,
"EquipName": "APlc",
"EquipName": "InStoreAPlc",
"PlcType": "Melsec",
"Enabled": true,
"IP": "127.0.0.1",
"Port": 6000
},
{
"Id": 2,
"EquipName": "InStoreBPlc",
"PlcType": "Melsec",
"Enabled": true,
"IP": "127.0.0.1",
"Port": 6001
}
],
"StoreInfo": {
"StationName": "成品分垛入库",
"StationName": "成品分垛库",
"PalletizStoreCodeA": "FDK-001",
"PalletizStoreCodeB": "FDK-002",
"ProductlineCode": "CX_02"

@ -29,15 +29,15 @@ namespace Aucma.Core.Scanner
#endregion
#region 委托事件
#region 条码绑定上位机委托事件
/// <summary>
/// code1扫码信息刷新
/// </summary>
/// <param name="Code1"></param>
public delegate void BindingReceiveCode(string code,string ip);
public delegate void BindingReceiveCode(string code, string ip);
public static event BindingReceiveCode? BindingReceiveCodeEvent;
#endregion
#region 成品下线上位机委托事件
@ -50,17 +50,25 @@ namespace Aucma.Core.Scanner
public static bool m_bGrabbing = true;
#endregion
#region 泡前库扫码
/// <summary>
/// 泡前库扫码
/// </summary>
/// <param name="Code1"></param>
public delegate Task PQKReceiveCode(string code1);
public static event PQKReceiveCode? PQKReceiveCodeEvent;
public static event PQKReceiveCode? PQKReceiveCodeEvent;
#endregion
#region 分垛处理事件
/// <summary>
/// 成品编码
/// </summary>
/// <param name="SNCode">成品码</param>
/// <param name="IP">扫码器IP</param>
public delegate void HandlePalletizDelegate(string SNCode,string IP);
public static event HandlePalletizDelegate? HandlePalletizDelegateEvent;
#endregion
#endregion
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(MvCodeHelper));
// 获取到的所有设备
@ -103,10 +111,10 @@ namespace Aucma.Core.Scanner
{
try
{
List<ScannerModel> allScanners = Appsettings.app<ScannerModel>("ScannerServer").ToList();
List<ScannerModel> allScanners = Appsettings.app<ScannerModel>("ScannerServer").ToList();
if (allScanners == null || allScanners.Count == 0) return;
// log.Info("获取扫码器设备列表,进入DeviceListAcq()方法");
System.GC.Collect();
m_stDeviceList.nDeviceNum = 0;
@ -120,7 +128,7 @@ namespace Aucma.Core.Scanner
if (0 == m_stDeviceList.nDeviceNum)
{
// log.Info("获取扫码器数量为0请检查扫码器连接:");
// log.Info("获取扫码器数量为0请检查扫码器连接:");
return;
}
@ -138,7 +146,7 @@ namespace Aucma.Core.Scanner
// 获取ip
string ip = ((stGigEDeviceInfo.nCurrentIp & 0xff000000) >> 24) + "." + ((stGigEDeviceInfo.nCurrentIp & 0x00ff0000) >> 16) + "." + ((stGigEDeviceInfo.nCurrentIp & 0x0000ff00) >> 8) + "." + (stGigEDeviceInfo.nCurrentIp & 0x000000ff);
ScannerModel model = allScanners.FirstOrDefault(x => x.Ip == ip);
if(model==null)
if (model == null)
{
// 如果没有在配置文件配置该相机,不连接它,避免占用其他上位机相机
continue;
@ -148,10 +156,10 @@ namespace Aucma.Core.Scanner
nRet = m_cMyDevice.MV_CODEREADER_CreateHandle_NET(ref stDevInfo);//创建设备
if (MvCodeReader.MV_CODEREADER_OK != nRet)
{
// log.Error("创建第" + i + "个扫码器设备失败,ip:" + ip);
// log.Error("创建第" + i + "个扫码器设备失败,ip:" + ip);
return;
}
// log.Info("创建第" + i + "个扫码器设备成功,ip:" + ip);
// log.Info("创建第" + i + "个扫码器设备成功,ip:" + ip);
// 打开设备
nRet = m_cMyDevice.MV_CODEREADER_OpenDevice_NET();
if (MvCodeReader.MV_CODEREADER_OK != nRet)
@ -161,18 +169,18 @@ namespace Aucma.Core.Scanner
return;
}
//设置触发模式
nRet = m_cMyDevice.MV_CODEREADER_SetEnumValue_NET("TriggerMode", (uint)MvCodeReader.MV_CODEREADER_TRIGGER_MODE.MV_CODEREADER_TRIGGER_MODE_ON);
nRet = m_cMyDevice.MV_CODEREADER_SetEnumValue_NET("TriggerMode", (uint)MvCodeReader.MV_CODEREADER_TRIGGER_MODE.MV_CODEREADER_TRIGGER_MODE_ON);
if (MvCodeReader.MV_CODEREADER_OK != nRet)
{
log.Error("Set TriggerMode On Fail!");
return;
}
//添加到集合
m_cMyDevices.Add(m_cMyDevice, ip);
}
}
}
@ -237,13 +245,13 @@ namespace Aucma.Core.Scanner
if (hashmap.Value.Equals(Appsettings.app("Middleware", "Scanner1", "Ip")))
{
#region 条码绑定业务处理
// ReceiveCode1Event?.Invoke(strCode);
// ReceiveCode1Event?.Invoke(strCode);
#endregion
}
else if (hashmap.Value.Equals(Appsettings.app("Middleware", "Scanner2", "Ip"))) // 扫码器2处理扫码器2的业务
{
#region 条码绑定业务处理
// ReceiveCode2Event?.Invoke(strCode);
// ReceiveCode2Event?.Invoke(strCode);
#endregion
}
@ -285,7 +293,7 @@ namespace Aucma.Core.Scanner
foreach (KeyValuePair<MvCodeReader, string> hashmap in m_cMyDevices)
{
nRet = hashmap.Key.MV_CODEREADER_StartGrabbing_NET();
nRet = hashmap.Key.MV_CODEREADER_StartGrabbing_NET();
while (m_bGrabbing)
{
// 光电触发了有图像
@ -303,6 +311,7 @@ namespace Aucma.Core.Scanner
{
// string strCode = System.Text.Encoding.Default.GetString(stBcrResult.stBcrInfoEx2[i].chCode);
string strCode = Encoding.UTF8.GetString(stBcrResult.stBcrInfoEx2[i].chCode);
Console.WriteLine("bIsValidUTF8:: Get CodeNum: " + "CodeNum[" + i.ToString() + "], CodeString[" + strCode.Trim().TrimEnd('\0') + "]");
log.Info("bIsValidUTF8:: Get CodeNum: " + "CodeNum[" + i.ToString() + "], CodeString[" + strCode.Trim().TrimEnd('\0') + "]");
}
else
@ -313,15 +322,17 @@ namespace Aucma.Core.Scanner
Array.Copy(stBcrResult.stBcrInfoEx2[i].chCode, buffer, 22);
}
string strCode = Encoding.GetEncoding("UTF-8").GetString(buffer).Trim().TrimEnd('\0');
Console.WriteLine("相机ip:" + hashmap.Value + " Get CodeNum: " + "CodeNum[" + i.ToString() + "], CodeString[" + strCode + "]");
log.Info("相机ip:" + hashmap.Value + " Get CodeNum: " + "CodeNum[" + i.ToString() + "], CodeString[" + strCode + "]");
if (!string.IsNullOrEmpty(strCode) && !strCode.Equals(lastCodeStr))
{
// DoorReceiveCodeDelegateEvent?.Invoke(strCode);//箱门匹配扫码器
// 获取到条码处理业务
Console.WriteLine(strCode,hashmap.Value);
// 泡前库业务处理
// PQKReceiveCodeEvent(strCode);
// DoorReceiveCodeDelegateEvent?.Invok'e(strCode);//箱门匹配扫码器
// 获取到条码处理业务
Console.WriteLine($"条码:{strCode}");
HandlePalletizDelegateEvent?.Invoke(strCode, hashmap.Value);//成品扫码入分垛库
Console.WriteLine(strCode, hashmap.Value);
// 泡前库业务处理
// PQKReceiveCodeEvent(strCode);
lastCodeStr = strCode;
}
}
@ -506,8 +517,6 @@ namespace Aucma.Core.Scanner
}
#endregion
}
}

@ -10,15 +10,6 @@ namespace Aucma.Core.Scanner
{
private static readonly log4net.ILog log = LogManager.GetLogger(typeof(ScannerService));
#region 分垛处理事件
/// <summary>
/// 分垛委托
/// </summary>
/// <param name="productNo">产品编码</param>
public delegate void HandlePalletizDelegate(string productNo);
public static event HandlePalletizDelegate? HandlePalletizDelegateEvent;
#endregion
public async Task StartScannerAsync()
{
try

@ -0,0 +1,112 @@
using Admin.Core.IService;
using Admin.Core.Model;
using log4net;
using StackExchange.Profiling.Internal;
/// <summary>
/// 测温数据采集
/// </summary>
namespace Aucma.Core.TemperatureTask
{
public class AucamTemperatureMeasurementService: IAucamTemperatureMeasurementService
{
public delegate Task RefreshBoxFoamDataDelegate();
public static event RefreshBoxFoamDataDelegate? RefreshBoxFoamDataDelegateEvent;
private static readonly log4net.ILog logHelper = LogManager.GetLogger(typeof(AucamTemperatureMeasurementService));
private readonly IBoxTemperatureMeasurementHistoryServices _boxTMHistoryServices;
private readonly ITemperatureHistoryServices _temperatureHistoryServices;
public AucamTemperatureMeasurementService(ITemperatureHistoryServices temperatureHistoryServices, IBoxTemperatureMeasurementHistoryServices boxTMHistoryServices)
{
_boxTMHistoryServices = boxTMHistoryServices;
_temperatureHistoryServices = temperatureHistoryServices;
}
public void Execute()
{
while (true)
{
Task.Run(async () =>
{
await Run();
});
Thread.Sleep(1000);
}
}
#region 采集任务处理
/// <summary>
/// 采集任务处理
/// </summary>
/// <returns></returns>
public async Task Run()
{
try
{
DateTime dt=DateTime.Now;
Console.WriteLine($"开始读取测温数据》起始时间:{dt}");
var list = _temperatureHistoryServices.QueryTemperatureHistory(dt);
Console.WriteLine($"时间:{dt};读取数据个数:{list.Count()}");
Console.WriteLine($"读取到的数据:{list.ToJson()}");
List<BoxTemperatureMeasurementHistory> historyList = new List<BoxTemperatureMeasurementHistory>();
foreach (var item in list)
{
BoxTemperatureMeasurementHistory dest = new BoxTemperatureMeasurementHistory();
dest.LineNo = item.Line_No;
dest.Gongwno = item.Gongwno;
dest.Cpno = item.Cpno;
dest.Cpmodel = item.CpModel;
dest.Factorymodel = item.FactoryModel;
dest.Voltage = item.Voltage;
dest.Point2 = item.Point2;
dest.TestTime = item.TestTime;
dest.TestedTime = item.TestedTime;
dest.Etemp = item.Etemp;
dest.BeginDatetime = item.BeginDateTime;
dest.CpResult = item.CpResult;
dest.EndDateTime = item.EndDateTime;
dest.UserName = item.UserName;
dest.Remark = item.Remark;
dest.TestNo = item.TestNo;
dest.Temp_Mes = item.Temp_Mes;
dest.Power_Mes = item.Power_Mes;
dest.Part_Mes = item.Part_Mes;
dest.ErrorCode_Mes = item.ErrorCode_Mes;
dest.T1Name = item.T1Name;
dest.T2Name = item.T2Name;
dest.T3Name = item.T3Name;
dest.T4Name = item.T4Name;
dest.T5Name = item.T5Name;
dest.T6Name = item.T6Name;
dest.IsOrder = item.IsOrder;
dest.LowV_Time = item.LowV_Time;
dest.LowV_PowerMin = item.LowV_PowerMin;
dest.LowV_PowerMax = item.LowV_PowerMax;
dest.LowV_PowerFact = item.LowV_PowerFact;
dest.LowVoltage = item.LowVoltage;
historyList.Add(dest);
}
Console.WriteLine($"映射个数:{historyList.Count()}");
var result = await _boxTMHistoryServices.AddAsync(historyList);
if (result > 0)
{
if (list == null) return;
list.ForEach(x => x.flag = 1);
await _temperatureHistoryServices.UpdateAsync(list);
Console.WriteLine("保存测温系统成功");
}
}
catch (Exception ex)
{
logHelper.Error($"测温数据处理异常:{ex.Message}");
Console.WriteLine($"测温数据处理异常:{ex.Message}");
}
}
#endregion
}
}

@ -0,0 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Admin.Core.IService\Admin.Core.IService.csproj" />
</ItemGroup>
</Project>

@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
/**
*
*
*
* */
namespace Aucma.Core.TemperatureTask
{
public interface IAucamTemperatureMeasurementService
{
void Execute();
}
}

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

@ -14,7 +14,7 @@ using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("HwControlLib")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+25500efc4a462e818da602852d62739817648ebd")]
[assembly: System.Reflection.AssemblyProductAttribute("HwControlLib")]
[assembly: System.Reflection.AssemblyTitleAttribute("HwControlLib")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]

@ -1 +1 @@
42cf648ef8280b16e9d1d1de3415777f5d872126
dae99803a2b8dd8cf4e00f8d697b76bdddce480c657b26637da592321a63c71f

@ -9,3 +9,5 @@ build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = HwControlLib
build_property.ProjectDir = D:\Project\gitea\AUCMA\SCADA\HwControlLib\
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =

@ -13,7 +13,7 @@ TRACE;DEBUG;NET;NET6_0;NETCOREAPP
1204305769
71208292394
194-2067936865
194-428966090
Themes\Generic.xaml;
False

@ -58,7 +58,7 @@
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
}

@ -7,7 +7,7 @@
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\admin\.nuget\packages\</NuGetPackageFolders>
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.7.0</NuGetToolVersion>
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">6.8.1</NuGetToolVersion>
</PropertyGroup>
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
<SourceRoot Include="C:\Users\admin\.nuget\packages\" />

@ -64,7 +64,7 @@
"privateAssets": "none"
}
},
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\7.0.402\\RuntimeIdentifierGraph.json"
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\8.0.102\\RuntimeIdentifierGraph.json"
}
}
}

@ -1,6 +1,6 @@
{
"version": 2,
"dgSpecHash": "vdyWe2SVons+Y6get5R5Z1bsudk/C2JG+/yY8r3PrvTCQlFwmP/yYc/iedeQUqhixJt2UKO0GhNSvd1iLTRIlw==",
"dgSpecHash": "horyZh3yrrV/Wx/ob3RmZ4jVsznw7JeDlczy9SVraJOxYtrdNCFtGJURBxDUIslzvFW/ls//Q1DJ8T0khoQRUg==",
"success": true,
"projectFilePath": "D:\\Project\\gitea\\AUCMA\\SCADA\\HwControlLib\\HwControlLib.csproj",
"expectedPackageFiles": [],

Loading…
Cancel
Save