客户设备数据隔离业务v2

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

@ -25,6 +25,7 @@ using Microsoft.EntityFrameworkCore.Metadata.Internal;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using VOL.Core.Utilities;
namespace VOL.Data.Services
{
@ -33,6 +34,8 @@ namespace VOL.Data.Services
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IData_MachineRepository _repository;//访问数据库
private WebResponseContent webResponse = new WebResponseContent();
[ActivatorUtilitiesConstructor]
public Data_MachineService(
IData_MachineRepository dbRepository,
@ -83,6 +86,27 @@ namespace VOL.Data.Services
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() {
//List<Data_Machine> data_Machines = _repository.DbContext.Set<Data_Machine>().ToList();

@ -5,6 +5,7 @@ using VOL.Core.Services;
using Microsoft.AspNetCore.Mvc;
using Autofac.Core;
using VOL.Core.Extensions.AutofacManager;
using System.Reflection.PortableExecutable;
namespace VOL.Data.Services.modbus
{
@ -138,7 +139,9 @@ namespace VOL.Data.Services.modbus
{ "cut_rate", machine.cut_rate ?? 0M},
{ "main_rate", machine.main_rate ?? 0M},
{ "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;
try {
@ -182,7 +185,9 @@ namespace VOL.Data.Services.modbus
{ "yield_1", produce.yield_1 ?? 1M },
{ "yield_2", produce.yield_2 ?? 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;
try

@ -27,6 +27,8 @@ namespace VOL.Data.Services
private readonly IHttpContextAccessor _httpContextAccessor;
private readonly IData_ProduceRepository _repository;//访问数据库
private WebResponseContent webResponse = new WebResponseContent();
[ActivatorUtilitiesConstructor]
public Data_ProduceService(
IData_ProduceRepository dbRepository,
@ -167,5 +169,27 @@ namespace VOL.Data.Services
resultMap.Add("dataMap", dataMap);
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 System.Collections.Generic;
using Microsoft.Extensions.Primitives;
using OfficeOpenXml.FormulaParsing.Excel.Functions.Math;
/// <summary>
// 尼可尼数据采集
@ -51,20 +52,22 @@ namespace VOL.WebApi.Controllers.Data
{
var headers = _httpContextAccessor.HttpContext.Request.Headers;
headers.TryGetValue("USER-DEVICE-ID", out StringValues deviceIdStr);
try
{
_service = new ModbusTcpService("192.168.1.99", 502);
Console.WriteLine("siemens modbus tcp connected...");
}
catch (Exception)
{
Console.WriteLine("siemens modbus tcp connect failed");
return Content("siemens modbus tcp connect failed!");
}
if (!_service.isConnected)
{
Console.WriteLine("siemens modbus tcp disconnect!");
return Content("siemens modbus tcp disconnect!");
if (1 == 1) {
try
{
_service = new ModbusTcpService("192.168.1.99", 502);
Console.WriteLine("siemens modbus tcp connected...");
}
catch (Exception)
{
Console.WriteLine("siemens modbus tcp connect failed");
return Content("siemens modbus tcp connect failed!");
}
if (!_service.isConnected)
{
Console.WriteLine("siemens modbus tcp disconnect!");
return Content("siemens modbus tcp disconnect!");
}
}
// 切削倍率 17136 1
//_service.readData(1, 6435, "int16"); // 运行时长 分钟
@ -95,7 +98,15 @@ namespace VOL.WebApi.Controllers.Data
{
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);
}
else
@ -111,7 +122,10 @@ namespace VOL.WebApi.Controllers.Data
}
finally
{
_service.disConnent();
if (_service != null)
{
_service.disConnent();
}
}
return Content(message);
}
@ -127,22 +141,25 @@ namespace VOL.WebApi.Controllers.Data
{
var headers = _httpContextAccessor.HttpContext.Request.Headers;
headers.TryGetValue("USER-DEVICE-ID", out StringValues deviceIdStr);
try
{
_service = new ModbusTcpService("192.168.1.100", 502);
Console.WriteLine("GSK modbus tcp connected...");
}
catch (Exception)
if (1 == 1)
{
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!");
try
{
_service = new ModbusTcpService("192.168.1.100", 502);
Console.WriteLine("GSK modbus tcp connected...");
}
catch (Exception)
{
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, 6435, "int16"); // 通讯状态 5通讯正常 15通讯断线
//_service.readData(1, 6430, "int16");
@ -178,7 +195,16 @@ namespace VOL.WebApi.Controllers.Data
{
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);
}
else
@ -193,7 +219,10 @@ namespace VOL.WebApi.Controllers.Data
}
finally
{
_service.disConnent();
if (_service != null)
{
_service.disConnent();
}
}
return Content(message);
}

Loading…
Cancel
Save