客户设备数据隔离业务v2

dev-0829
ccongli 1 year ago
parent c1aeddc8b2
commit 03e6436f6f

@ -25,6 +25,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Newtonsoft.Json; using Newtonsoft.Json;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using VOL.Core.Utilities;
namespace VOL.Data.Services namespace VOL.Data.Services
{ {
@ -33,6 +34,8 @@ namespace VOL.Data.Services
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IData_MachineRepository _repository;//访问数据库 private readonly IData_MachineRepository _repository;//访问数据库
private WebResponseContent webResponse = new WebResponseContent();
[ActivatorUtilitiesConstructor] [ActivatorUtilitiesConstructor]
public Data_MachineService( public Data_MachineService(
IData_MachineRepository dbRepository, IData_MachineRepository dbRepository,
@ -83,6 +86,27 @@ namespace VOL.Data.Services
return machineList; return machineList;
} }
// 重写Add方法
public override WebResponseContent Add(SaveModel saveDataModel) {
Dictionary<string, object> mapData = saveDataModel.MainData;
mapData.TryGetValue("CreateID", out var userId);
mapData.TryGetValue("CreateDate", out var CreateDate);
AddOnExecuting = (Data_Machine data_Machine, object list) =>
{
if (userId != null)
{
data_Machine.CreateID = (int?)userId;
}
if (CreateDate != null)
{
data_Machine.CreateDate = (DateTime?)CreateDate;
}
return webResponse.OK();
};
return base.Add(saveDataModel);
}
// 测试使用 // 测试使用
public void testQuery() { public void testQuery() {
//List<Data_Machine> data_Machines = _repository.DbContext.Set<Data_Machine>().ToList(); //List<Data_Machine> data_Machines = _repository.DbContext.Set<Data_Machine>().ToList();

@ -5,6 +5,7 @@ using VOL.Core.Services;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using Autofac.Core; using Autofac.Core;
using VOL.Core.Extensions.AutofacManager; using VOL.Core.Extensions.AutofacManager;
using System.Reflection.PortableExecutable;
namespace VOL.Data.Services.modbus namespace VOL.Data.Services.modbus
{ {
@ -138,7 +139,9 @@ namespace VOL.Data.Services.modbus
{ "cut_rate", machine.cut_rate ?? 0M}, { "cut_rate", machine.cut_rate ?? 0M},
{ "main_rate", machine.main_rate ?? 0M}, { "main_rate", machine.main_rate ?? 0M},
{ "run_time_total", machine.run_time_total ?? 0}, { "run_time_total", machine.run_time_total ?? 0},
{ "quantity_total", machine.quantity_total ?? 0} { "quantity_total", machine.quantity_total ?? 0},
{ "CreateID", machine.CreateID},
{ "CreateDate", machine.CreateDate},
}; };
model.MainData = mapData; model.MainData = mapData;
try { try {
@ -182,7 +185,9 @@ namespace VOL.Data.Services.modbus
{ "yield_1", produce.yield_1 ?? 1M }, { "yield_1", produce.yield_1 ?? 1M },
{ "yield_2", produce.yield_2 ?? 0M }, { "yield_2", produce.yield_2 ?? 0M },
{ "yield_3", produce.yield_3 ?? 0M }, { "yield_3", produce.yield_3 ?? 0M },
{ "oee", produce.oee ?? 0.95M } // 默认95% { "oee", produce.oee ?? 0.95M }, // 默认95%
{ "CreateID", produce.CreateID},
{ "CreateDate", produce.CreateDate},
}; };
model.MainData = mapData; model.MainData = mapData;
try try

@ -27,6 +27,8 @@ namespace VOL.Data.Services
private readonly IHttpContextAccessor _httpContextAccessor; private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IData_ProduceRepository _repository;//访问数据库 private readonly IData_ProduceRepository _repository;//访问数据库
private WebResponseContent webResponse = new WebResponseContent();
[ActivatorUtilitiesConstructor] [ActivatorUtilitiesConstructor]
public Data_ProduceService( public Data_ProduceService(
IData_ProduceRepository dbRepository, IData_ProduceRepository dbRepository,
@ -167,5 +169,27 @@ namespace VOL.Data.Services
resultMap.Add("dataMap", dataMap); resultMap.Add("dataMap", dataMap);
return resultMap; return resultMap;
} }
// 重写Add方法
public override WebResponseContent Add(SaveModel saveDataModel)
{
Dictionary<string, object> mapData = saveDataModel.MainData;
mapData.TryGetValue("CreateID", out var userId);
mapData.TryGetValue("CreateDate", out var CreateDate);
AddOnExecuting = (Data_Produce data_Produce, object list) =>
{
if (userId != null)
{
data_Produce.CreateID = (int?)userId;
}
if (CreateDate != null)
{
data_Produce.CreateDate = (DateTime?)CreateDate;
}
return webResponse.OK();
};
return base.Add(saveDataModel);
}
} }
} }

@ -10,6 +10,7 @@ using VOL.WebApi.Utils;
using VOL.Entity.DomainModels; using VOL.Entity.DomainModels;
using System.Collections.Generic; using System.Collections.Generic;
using Microsoft.Extensions.Primitives; using Microsoft.Extensions.Primitives;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
/// <summary> /// <summary>
// 尼可尼数据采集 // 尼可尼数据采集
@ -51,20 +52,22 @@ namespace VOL.WebApi.Controllers.Data
{ {
var headers = _httpContextAccessor.HttpContext.Request.Headers; var headers = _httpContextAccessor.HttpContext.Request.Headers;
headers.TryGetValue("USER-DEVICE-ID", out StringValues deviceIdStr); headers.TryGetValue("USER-DEVICE-ID", out StringValues deviceIdStr);
try if (1 == 1) {
{ try
_service = new ModbusTcpService("192.168.1.99", 502); {
Console.WriteLine("siemens modbus tcp connected..."); _service = new ModbusTcpService("192.168.1.99", 502);
} Console.WriteLine("siemens modbus tcp connected...");
catch (Exception) }
{ catch (Exception)
Console.WriteLine("siemens modbus tcp connect failed"); {
return Content("siemens modbus tcp connect failed!"); Console.WriteLine("siemens modbus tcp connect failed");
} return Content("siemens modbus tcp connect failed!");
if (!_service.isConnected) }
{ if (!_service.isConnected)
Console.WriteLine("siemens modbus tcp disconnect!"); {
return Content("siemens modbus tcp disconnect!"); Console.WriteLine("siemens modbus tcp disconnect!");
return Content("siemens modbus tcp disconnect!");
}
} }
// 切削倍率 17136 1 // 切削倍率 17136 1
//_service.readData(1, 6435, "int16"); // 运行时长 分钟 //_service.readData(1, 6435, "int16"); // 运行时长 分钟
@ -95,7 +98,15 @@ namespace VOL.WebApi.Controllers.Data
{ {
if (success) if (success)
{ {
Dictionary<string, Dictionary<string, object>> dataMap = _dataService.readSiemensData(_service); Dictionary<string, Dictionary<string, object>> dataMap = new();
if (1 == 1)
{
dataMap = _dataService.readSiemensData(_service);
}
else {
dataMap.Add("produce", new Dictionary<string, object>());
dataMap.Add("machine", new Dictionary<string, object>());
}
message = saveSourceData(dataMap, deviceId); message = saveSourceData(dataMap, deviceId);
} }
else else
@ -111,7 +122,10 @@ namespace VOL.WebApi.Controllers.Data
} }
finally finally
{ {
_service.disConnent(); if (_service != null)
{
_service.disConnent();
}
} }
return Content(message); return Content(message);
} }
@ -127,22 +141,25 @@ namespace VOL.WebApi.Controllers.Data
{ {
var headers = _httpContextAccessor.HttpContext.Request.Headers; var headers = _httpContextAccessor.HttpContext.Request.Headers;
headers.TryGetValue("USER-DEVICE-ID", out StringValues deviceIdStr); headers.TryGetValue("USER-DEVICE-ID", out StringValues deviceIdStr);
try if (1 == 1)
{
_service = new ModbusTcpService("192.168.1.100", 502);
Console.WriteLine("GSK modbus tcp connected...");
}
catch (Exception)
{ {
Console.WriteLine("GSK modbus tcp connect failed"); try
return Content("GSK modbus tcp connect failed!"); {
} _service = new ModbusTcpService("192.168.1.100", 502);
if (!_service.isConnected) Console.WriteLine("GSK modbus tcp connected...");
{ }
Console.WriteLine("GSK modbus tcp disconnect!"); catch (Exception)
return Content("GSK modbus tcp disconnect!"); {
Console.WriteLine("GSK modbus tcp connect failed");
return Content("GSK modbus tcp connect failed!");
}
if (!_service.isConnected)
{
Console.WriteLine("GSK modbus tcp disconnect!");
return Content("GSK modbus tcp disconnect!");
}
} }
//_service.readData(1, 6429, "int16"); // 程序编号 //_service.readData(1, 6429, "int16"); // 程序编号
//_service.readData(1, 6435, "int16"); // 通讯状态 5通讯正常 15通讯断线 //_service.readData(1, 6435, "int16"); // 通讯状态 5通讯正常 15通讯断线
//_service.readData(1, 6430, "int16"); //_service.readData(1, 6430, "int16");
@ -178,7 +195,16 @@ namespace VOL.WebApi.Controllers.Data
{ {
if (success) if (success)
{ {
Dictionary<string, Dictionary<string, object>> dataMap = _dataService.readGSKData(_service); Dictionary<string, Dictionary<string, object>> dataMap = new();
if (1 == 1)
{
dataMap = _dataService.readGSKData(_service);
}
else
{
dataMap.Add("produce", new Dictionary<string, object>());
dataMap.Add("machine", new Dictionary<string, object>());
}
message = saveSourceData(dataMap, deviceId); message = saveSourceData(dataMap, deviceId);
} }
else else
@ -193,7 +219,10 @@ namespace VOL.WebApi.Controllers.Data
} }
finally finally
{ {
_service.disConnent(); if (_service != null)
{
_service.disConnent();
}
} }
return Content(message); return Content(message);
} }

Loading…
Cancel
Save