141 lines
6.1 KiB
C#
141 lines
6.1 KiB
C#
using Step.Database.Redis;
|
|
using Step.Model.DTOModels;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Step.Database.Controllers
|
|
{
|
|
public static class RedisController
|
|
{
|
|
private const string redisNotificationAddress = "Machine:ProductionProcesses:%NN%:Notification";
|
|
private const string redisProdNameAddress = "Machine:ProductionProcesses:%NN%:Name";
|
|
private const string redisRepsTargetAddress = "Machine:ProductionProcesses:%NN%:Programs:01:RepsTarget";
|
|
private const string redisRepsDoneAddress = "Machine:ProductionProcesses:%NN%:Programs:01:RepsDone";
|
|
private const string redisAlmCurr = "AdpConf:Plc:Condition:Curr";
|
|
private const string redisAlmIt = "AdpConf:Plc:Condition:It";
|
|
private const string redisAlmEn = "AdpConf:Plc:Condition:En";
|
|
|
|
private const string startTimestamp = "Machine:ProductionProcesses:%NN%:Programs:01:StartTime";
|
|
private const string endTimestamp = "Machine:ProductionProcesses:%NN%:Programs:01:EndTime";
|
|
|
|
private const string notification = "Machine:ProductionProcesses:%NN%:Notification";
|
|
|
|
private const string partIdPath = "Machine:ProductionProcesses:%NN%:Programs:01:PartId";
|
|
|
|
private const string maintenanceTitlePath = "Machine:Maintenences:%NN%:Title";
|
|
private const string maintenanceCompletionPath = "Machine:Maintenences:%NN%:Completion";
|
|
private const string maintenanceDescriptionPath = "Machine:Maintenences:%NN%:Description";
|
|
private const string currentUserPath = "Machine:Hmi:User";
|
|
private const string toolNamePath = "Machine:OperatingGroups:%NN%:ToolName";
|
|
|
|
private const string machineMessagePath = "Machine:Messages";
|
|
|
|
|
|
public static void WriteProductionNotification(uint ProductionProcess, string Notification)
|
|
{
|
|
string redisHash = redUtil.man.redHash(redisNotificationAddress).Replace("%NN%", ProductionProcess.ToString("00"));
|
|
redUtil.man.setRSV(redisHash, Notification);
|
|
}
|
|
|
|
public static void WriteProductionName(uint ProductionProcess, string Name)
|
|
{
|
|
string redisHash = redUtil.man.redHash(redisProdNameAddress).Replace("%NN%", ProductionProcess.ToString("00"));
|
|
redUtil.man.setRSV(redisHash, Name);
|
|
}
|
|
|
|
public static void WriteProductionRepsTarget(uint ProductionProcess, string RepsTarget)
|
|
{
|
|
string redisHash = redUtil.man.redHash(redisRepsTargetAddress).Replace("%NN%", ProductionProcess.ToString("00"));
|
|
redUtil.man.setRSV(redisHash, RepsTarget);
|
|
}
|
|
|
|
public static void WriteProductionRepsDone(uint ProductionProcess, string RepsDone)
|
|
{
|
|
string redisHash = redUtil.man.redHash(redisRepsDoneAddress).Replace("%NN%", ProductionProcess.ToString("00"));
|
|
redUtil.man.setRSV(redisHash, RepsDone);
|
|
}
|
|
|
|
public static bool WriteAlarmsConfigCurr(Dictionary<string, string> alarms)
|
|
{
|
|
string redisHash = redUtil.man.redHash(redisAlmCurr);
|
|
return redUtil.man.redSaveHashDict(redisHash, alarms);
|
|
}
|
|
|
|
public static bool WriteAlarmsConfigEn(Dictionary<string, string> alarms)
|
|
{
|
|
string redisHash = redUtil.man.redHash(redisAlmEn);
|
|
return redUtil.man.redSaveHashDict(redisHash, alarms);
|
|
}
|
|
|
|
public static bool WriteAlarmsConfigIt(Dictionary<string, string> alarms)
|
|
{
|
|
string redisHash = redUtil.man.redHash(redisAlmIt);
|
|
return redUtil.man.redSaveHashDict(redisHash, alarms);
|
|
}
|
|
|
|
public static bool WriteStartProgram(uint process)
|
|
{
|
|
string redisHash = redUtil.man.redHash(startTimestamp).Replace("%NN%", process.ToString("00"));
|
|
return redUtil.man.setRSV(redisHash, DateTime.Now.ToString());
|
|
}
|
|
|
|
public static bool WriteEndProgram(uint process)
|
|
{
|
|
string redisHash = redUtil.man.redHash(endTimestamp).Replace("%NN%", process.ToString("00"));
|
|
return redUtil.man.setRSV(redisHash, DateTime.Now.ToString());
|
|
}
|
|
|
|
public static bool WriteNotification(uint process, string textNotification)
|
|
{
|
|
string redisHash = redUtil.man.redHash(notification).Replace("%NN%", process.ToString("00"));
|
|
return redUtil.man.setRSV(redisHash, textNotification);
|
|
}
|
|
|
|
public static bool WritePartId(uint process, string partId)
|
|
{
|
|
string redisHash = redUtil.man.redHash(partIdPath).Replace("%NN%", process.ToString("00"));
|
|
return redUtil.man.setRSV(redisHash, partId);
|
|
}
|
|
|
|
|
|
public static bool WriteMaintenance(int maintenanceId, string maintenanceTitle, int maintenanceCompleition, string maintenanceDescription)
|
|
{
|
|
string redisHash = redUtil.man.redHash(maintenanceTitlePath).Replace("%NN%", maintenanceId.ToString());
|
|
var status = redUtil.man.setRSV(redisHash, maintenanceTitle);
|
|
|
|
if (!status)
|
|
return status;
|
|
|
|
redisHash = redUtil.man.redHash(maintenanceCompletionPath).Replace("%NN%", maintenanceId.ToString());
|
|
status = redUtil.man.setRSV(redisHash, maintenanceCompleition.ToString());
|
|
|
|
if (!status)
|
|
return status;
|
|
|
|
redisHash = redUtil.man.redHash(maintenanceDescriptionPath).Replace("%NN%", maintenanceId.ToString());
|
|
return redUtil.man.setRSV(redisHash, maintenanceDescription);
|
|
}
|
|
|
|
public static bool WriteCurrentUser(int userId)
|
|
{
|
|
string redisHash = redUtil.man.redHash(currentUserPath);
|
|
return redUtil.man.setRSV(redisHash, userId.ToString());
|
|
}
|
|
|
|
public static bool WriteToolName(int spindleId, string toolName)
|
|
{
|
|
string redisHash = redUtil.man.redHash(toolNamePath).Replace("%NN%", spindleId.ToString("00"));
|
|
return redUtil.man.setRSV(redisHash, toolName);
|
|
}
|
|
|
|
public static bool SendMessage(DTOMessageModel message)
|
|
{
|
|
string redisHash = redUtil.man.redHash(machineMessagePath);
|
|
return redUtil.man.setJson(redisHash, message);
|
|
}
|
|
}
|
|
}
|