557 lines
30 KiB
C#
557 lines
30 KiB
C#
using Global;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using static DtWebApiDT.DataAccess;
|
|
//using static SqlManage.ExecSql;
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
namespace DTTest
|
|
{
|
|
/// <summary>
|
|
/// 对于数据库的操作
|
|
/// </summary>
|
|
public partial class SqlOperation
|
|
{
|
|
public class SqlSignalTree
|
|
{
|
|
|
|
public static DataTable Select_Connect()
|
|
{
|
|
string sql =
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP.ProjectCode + "'" +
|
|
@" SELECT [DeviceCode],[Name],[IP],[DeviceType],[IsEnable],[Explain] FROM [SignalViewer]" +
|
|
$" WHERE [ProjectCode] = @ProjectCode AND [Varieties] = '{ Type_Device.Connect}' OR [Varieties] = '{ Type_Device.ConnectRobot}'" +
|
|
$" ORDER BY [IP]";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
return ds.Tables[0];
|
|
}
|
|
public static DataTable Select_Connect(string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
@" SELECT [DeviceCode],[Name],[IP],[DeviceType],[IsEnable],[Explain] FROM [SignalViewer]" +
|
|
$" WHERE [ProjectCode] = @ProjectCode AND [Varieties] = '{ Type_Device.Connect}' OR [Varieties] = '{ Type_Device.ConnectRobot}'" +
|
|
$" ORDER BY [IP]";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
return ds.Tables[0];
|
|
}
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="deviceCode">OutGUID.Get_CS_GUID() </param>
|
|
/// <param name="connName"></param>
|
|
/// <param name="connType"></param>
|
|
/// <param name="connSvr"></param>
|
|
/// <param name="connDescribe"></param>
|
|
/// <param name="PP_ProjectCode"></param>
|
|
/// <param name="type_Device">Type_Device.Connect</param>
|
|
public static void Insert_Connect(string deviceCode,string connName, string connType, string connSvr, string connDescribe,string PP_ProjectCode, string type_Device)
|
|
{
|
|
string datetime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + deviceCode + "'" +
|
|
@" DECLARE @DevicePid NVARCHAR(50) = '" + 0 + "'" +
|
|
@" DECLARE @Varieties NVARCHAR(50) = '" + type_Device + "'" +
|
|
@" DECLARE @Name NVARCHAR(50) = '" + connName + "'" +
|
|
@" DECLARE @IP NVARCHAR(50) = '" + connSvr + "'" +
|
|
@" DECLARE @DeviceType NVARCHAR(50) = '" + connType + "'" +
|
|
@" DECLARE @IsEnable BIT = '" + 1 + "'" +
|
|
@" DECLARE @Explain NVARCHAR(50) = '" + connDescribe + "'" +
|
|
@" DECLARE @OperationTime NVARCHAR(50) = '" + datetime + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" INSERT INTO [SignalViewer]([DeviceCode],[DevicePid],[Varieties],[Name],[IP],[DeviceType],[IsEnable],[Explain],[OperationTime],[ProjectCode])" +
|
|
$" VALUES(@DeviceCode,@DevicePid,@Varieties,@Name,@IP,@DeviceType,@IsEnable,@Explain,@OperationTime,@ProjectCode)";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds2, out string errorMessage);
|
|
}
|
|
|
|
public static void Update_Connect(string connCode,string connName, string connType, string connSvr, string connDescribe,bool isEnable, string PP_ProjectCode)
|
|
{
|
|
string getdate = " '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "' ";
|
|
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + connCode + "'" +
|
|
@" DECLARE @Name NVARCHAR(50) = '" + connName + "'" +
|
|
@" DECLARE @IP NVARCHAR(50) = '" + connSvr + "'" +
|
|
@" DECLARE @DeviceType NVARCHAR(50) = '" + connType + "'" +
|
|
@" DECLARE @IsEnable BIT = '" + isEnable.ToString() + "'" +
|
|
@" DECLARE @Explain NVARCHAR(50) = '" + connDescribe + "'" +
|
|
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
@" UPDATE [SignalViewer]" +
|
|
@" SET [Name] = @Name,[IP] = @IP,[DeviceType] = @DeviceType,[IsEnable] = @IsEnable,[Explain] = @Explain,[OperationTime] = "+getdate +
|
|
@" WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
public static void DeleteDeviceTree(string connCode, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + connCode + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
@" DELETE [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
|
|
/****************************************************************************************************************************/
|
|
/****************************************************************************************************************************/
|
|
/****************************************************************************************************************************/
|
|
/****************************************************************************************************************************/
|
|
/****************************************************************************************************************************/
|
|
|
|
|
|
/// <summary>
|
|
/// 创建信号
|
|
/// </summary>
|
|
/// <param name="opCode"></param>
|
|
/// <param name="tagName"></param>
|
|
/// <param name="signalType">Signal SignalRobot</param>
|
|
/// <returns></returns>
|
|
public static void CreateSignal(string tagName, string PP_ProjectCode,string signalType)
|
|
{
|
|
var tagID = SqlOperation.OutGUID.Get_CS_GUID();
|
|
var memory = false;
|
|
var type = "BOOL";
|
|
var robotSignalName = "";
|
|
var address = "0.0";
|
|
var region = "Q";
|
|
var isEnable = true;
|
|
var resources = "";
|
|
var explain = "";
|
|
var name = "";
|
|
if (tagName.Length < 1)
|
|
{
|
|
name = "手动新增信号" + tagID;
|
|
}
|
|
else
|
|
{
|
|
name = tagName;
|
|
}
|
|
|
|
var sql =
|
|
@" DECLARE @TagID NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @Memory BIT = '" + memory.ToString() + "'" +
|
|
@" DECLARE @Type NVARCHAR(50) = '" + type + "'" +
|
|
@" DECLARE @RobotSignalName NVARCHAR(50) = '" + robotSignalName + "'" +
|
|
@" DECLARE @Address NVARCHAR(50) = '" + address + "'" +
|
|
@" DECLARE @Region NVARCHAR(50) = '" + region + "'" +
|
|
@" DECLARE @IsEnable BIT = '" + isEnable.ToString() + "'" +
|
|
@" DECLARE @Resources NVARCHAR(50) = '" + resources + "'" +
|
|
@" DECLARE @Explain NVARCHAR(50) = '" + explain + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
@" DECLARE @Name NVARCHAR(50) = '" + name + "'" +
|
|
@" DECLARE @Varieties NVARCHAR(50) = '" + signalType + "'" +
|
|
|
|
@" DECLARE @SequenceNo_MaxAddOne INT = (SELECT ISNULL(MAX([SequenceNo]),0) + 1 FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode) " +
|
|
|
|
@" INSERT INTO [SignalViewer]([ProjectCode],[Checked],[DeviceCode],[Memory],[Type],[RobotSignalName],[Address],[Region],[Resources],[Explain],[SequenceNo] ,[Input],[Output],[LogicalBlock],[Force],[ForceValue],[IsEnable],[IsMonitor],[Name],[Varieties])" +
|
|
@" VALUES(@ProjectCode,'True',@TagID,@Memory,@Type,@RobotSignalName,@Address,@Region,@Resources,@Explain,@SequenceNo_MaxAddOne,'0','0','无','False','0',@IsEnable,'True',@Name,@Varieties)";
|
|
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds2, out string errorMessage);
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 导入数据标增加和修改数据
|
|
///(导表的时候使用的)
|
|
/// </summary>
|
|
/// <param name="memory"></param>
|
|
/// <param name="type"></param>
|
|
/// <param name="address"></param>
|
|
/// <param name="iecFormat"></param>
|
|
/// <param name="resources"></param>
|
|
/// <param name="explain"></param>
|
|
public static void AddOrUpdateSignal(string signalName, bool memory, string type, string robotSignalName, string address, string region,
|
|
bool isEnable, string resources, string explain, string PP_ProjectCode)
|
|
{
|
|
//string sql =
|
|
// @" DECLARE @DeviceCode NVARCHAR(50) = '" + signalName + "'" +
|
|
// @" DECLARE @Memory BIT = '" + memory + "'" +
|
|
// @" DECLARE @Type NVARCHAR(50) = '" + type + "'" +
|
|
// @" DECLARE @RobotSignalName NVARCHAR(50) = '" + robotSignalName + "'" +
|
|
// @" DECLARE @Address NVARCHAR(50) = '" + address + "'" +
|
|
// @" DECLARE @Region NVARCHAR(50) = '" + region + "'" +
|
|
// @" DECLARE @IsEnable BIT = '" + isEnable.ToString () + "'" +
|
|
// @" DECLARE @Resources NVARCHAR(50) = '" + resources + "'" +
|
|
// @" DECLARE @Explain NVARCHAR(50) = '" + explain + "'" +
|
|
// @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP.ProjectCode + "'" +
|
|
|
|
// @" IF ((SELECT COUNT(1) FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [SignalName] = @DeviceCode) > 0 )" +
|
|
// @" BEGIN" +
|
|
// @" UPDATE [SignalViewer] SET [Type] = @Type,[Address] = @Address,[Region] = @Region,[Resources] = '被修改的',[Explain] = @Explain WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode" +
|
|
// @" END ELSE BEGIN" +
|
|
// @" INSERT INTO [SignalViewer]([ProjectCode],[Checked],[DeviceCode],[Memory],[Type],[RobotSignalName],[Address],[Region],[Resources],[Explain] ,[Input],[Output],[LogicalBlock],[Force],[ForceValue],[IsEnable],[IsMonitor])" +
|
|
// @" VALUES(@ProjectCode,'False',@DeviceCode,@Memory,@Type,@RobotSignalName,@Address,@Region,@Resources,@Explain,'0','0','无','False','0',@IsEnable,'True')" +
|
|
// @" END";
|
|
//ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询信号,按名称
|
|
/// 2021.10.6.llx
|
|
/// 2021.11.17.LLX
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static DataTable SelectSignal_UseSignalName(string signalName,bool isChecked, string PP_ProjectCode)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var sql = "";
|
|
if (isChecked)//查询仿真信号
|
|
{
|
|
sql =
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
$" SELECT [Name],[Input],[Output],[Force],[ForceValue]" +
|
|
$" ,CASE WHEN CHARINDEX('DB',[Region]) = 1 THEN ([Region] + '.'+ [Address]) ELSE ([Region] + [Address]) END AS 'IECFormat'" +
|
|
$" ,[RobotSignalName]+[RobotAddress] as [RobotSignalName],[Varieties],[LogicalBlock],[DeviceCode] FROM [SignalViewer]" +
|
|
$" WHERE [ProjectCode] = @ProjectCode AND ([Varieties] = '{Type_Device.Signal}' OR [Varieties] = '{Type_Device.SignalRobot}') AND [Checked] = 'True' AND [Name] like '%{signalName}%'" +
|
|
$" ORDER BY [SequenceNo]";
|
|
}
|
|
else//查询信号视图
|
|
{
|
|
sql =
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
$" SELECT [SequenceNo],[Checked],[DeviceCode],[DevicePid],[Varieties],[Name],[Type]" +
|
|
$" ,CASE WHEN CHARINDEX('DB',[Region]) = 1 THEN ([Region] + '.'+ [Address]) ELSE ([Region] + [Address]) END AS 'IECFormat'" +
|
|
$" ,[Address],[Explain],[OperationTime],[Resources],[Memory],[RobotSignalName],[RobotAddress] ,[ID],[IsEnable],[IsMonitor],[Region] FROM [SignalViewer]" +
|
|
$" WHERE [ProjectCode] = @ProjectCode AND ([Varieties] = '{Type_Device.Signal}' OR [Varieties] = '{Type_Device.SignalRobot}') AND [Name] like '%{signalName}%'" +
|
|
$" ORDER BY [SequenceNo]";
|
|
}
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
try
|
|
{
|
|
dt = ds.Tables[0];
|
|
}
|
|
catch
|
|
{
|
|
|
|
}
|
|
return dt;
|
|
}
|
|
|
|
|
|
//public static DataTable SelectSignal_UseSignalName(string signalName, bool isChecked, string PP_ProjectCode)
|
|
//{
|
|
// var sql = "";
|
|
// if (isChecked)//查询仿真信号
|
|
// {
|
|
// sql =
|
|
// @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
// $" SELECT [Name],[Input],[Output],[Force],[ForceValue]" +
|
|
// $" ,CASE WHEN CHARINDEX('DB',[Region]) = 1 THEN ([Region] + '.'+ [Address]) ELSE ([Region] + [Address]) END AS 'IECFormat'" +
|
|
// $" ,[RobotSignalName]+[RobotAddress]as [RobotSignalName],[Varieties],[LogicalBlock],[DeviceCode] FROM [SignalViewer]" +
|
|
// $" WHERE [ProjectCode] = @ProjectCode AND ([Varieties] = '{Type_Device.Signal}' OR [Varieties] = '{Type_Device.SignalRobot}') AND [Checked] = 'True' AND [Name] like '%{signalName}%'" +
|
|
// $" ORDER BY [SequenceNo]";
|
|
// }
|
|
// else//查询信号视图
|
|
// {
|
|
// sql =
|
|
// @" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
// $" SELECT [SequenceNo],[Checked],[DeviceCode],[DevicePid],[Name],[Type]" +
|
|
// $" ,CASE WHEN CHARINDEX('DB',[Region]) = 1 THEN ([Region] + '.'+ [Address]) ELSE ([Region] + [Address]) END AS 'IECFormat'" +
|
|
// $" ,[Address],[Explain],[OperationTime],[Resources],[Memory],[RobotSignalName]+[RobotAddress] as [RobotSignalName],[Varieties],[ID],[IsEnable],[IsMonitor],[Region] FROM [SignalViewer]" +
|
|
// $" WHERE [ProjectCode] = @ProjectCode AND ([Varieties] = '{Type_Device.Signal}' OR [Varieties] = '{Type_Device.SignalRobot}') AND [Name] like '%{signalName}%'" +
|
|
// $" ORDER BY [SequenceNo]";
|
|
// }
|
|
// ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
// return ds.Tables[0];
|
|
//}
|
|
/// <summary>
|
|
/// 修改信号参数
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static void UpdateSignal(string tagID, bool checkedThis, bool memory, string type, string robotSignalName,string robotAddress, string address,
|
|
bool isEnable, string sName, string explain, bool isMonitor, string PP_ProjectCode)
|
|
{
|
|
//robotAddress
|
|
string getdate = " '" + DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss") + "' ";
|
|
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @Checked BIT = '" + checkedThis + "'" +
|
|
@" DECLARE @Memory BIT = '" + memory + "'" +
|
|
@" DECLARE @Type NVARCHAR(50) = '" + type + "'" +
|
|
@" DECLARE @RobotSignalName NVARCHAR(50) = '" + robotSignalName + "'" +
|
|
@" DECLARE @RobotAddress NVARCHAR(50) = '" + robotAddress + "'" +
|
|
@" DECLARE @Address NVARCHAR(50) = '" + address + "'" +
|
|
@" DECLARE @IsEnable BIT = '" + isEnable.ToString () + "'" +
|
|
@" DECLARE @Name NVARCHAR(500) = '" + sName + "'" +
|
|
@" DECLARE @Explain NVARCHAR(500) = '" + explain + "'" +
|
|
@" DECLARE @IsMonitor BIT = '" + isMonitor.ToString() + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" UPDATE [SignalViewer] " +
|
|
@" SET[Checked] = @Checked,[Memory] = @Memory,[Type] = @Type," +
|
|
@" [RobotSignalName] = @RobotSignalName,[RobotAddress] = @RobotAddress,[Address] = @Address,[IsEnable] = @IsEnable," +
|
|
$" [Name] = @Name,[Explain] = @Explain,[OperationTime] = "+getdate +
|
|
$" ,[IsMonitor] = @IsMonitor" +
|
|
@" WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 删除信号
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static void DeleteSignal(int sequenceNo, string tagID, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @TagID NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
@" DECLARE @SequenceNo INT = " + sequenceNo + " " +
|
|
|
|
$" DELETE FROM [ProcesslLabelList] WHERE [ProjectCode] = @ProjectCode AND [ExecCode] = @TagID" +
|
|
$" DELETE FROM [TagTriggerHandler] WHERE [ProjectCode] = @ProjectCode AND [TagID]= @TagID" +
|
|
$" DELETE FROM [DeviceSignalSimTree] WHERE [ProjectCode] = @ProjectCode AND [TagID]= @TagID" +
|
|
@" DELETE FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @TagID" +
|
|
|
|
@" UPDATE [SignalViewer] SET[SequenceNo] = [SequenceNo] - 1 WHERE [ProjectCode] = @ProjectCode AND [SequenceNo] > @SequenceNo";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 2021.11.19.LLX
|
|
/// </summary>
|
|
/// <param name="checkedThis"></param>
|
|
/// <returns></returns>
|
|
public static void UpdateSignalChecked(string tagID,bool checkedThis, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @Checked BIT = '" + checkedThis + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" UPDATE [SignalViewer] SET[Checked] = @Checked WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改地址区域
|
|
/// 2021.11.19.LLX
|
|
/// </summary>
|
|
/// <param name="tagID"></param>
|
|
/// <param name="region"></param>
|
|
public static void UpdateSignalRegion(string tagID, string region, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @Region NVARCHAR(50) = '" + region + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" UPDATE [SignalViewer] SET[Region] = @Region WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 修改资源代码
|
|
/// 2022.02.17.LLX
|
|
/// </summary>
|
|
/// <param name="tagID"></param>
|
|
/// <param name="region"></param>
|
|
public static void UpdateSignalResources(string tagID, string modelCode, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @Resources NVARCHAR(50) = '" + modelCode + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" UPDATE [SignalViewer] SET[Resources] = @Resources WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
/// <summary>
|
|
/// 2021.6.15
|
|
/// 2021.11.17.LLX
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static DataTable SelectSignalForOpc( string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
$" SELECT * FROM [SignalViewer]" +
|
|
$" WHERE [ProjectCode] = '{PP_ProjectCode}' AND [Varieties] = '{Type_Device.Signal}' AND [IsEnable] = 'True'";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
return ds.Tables[0];
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询信号SelectSignalForFindSignalName
|
|
/// 2021.8.20
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public static Dictionary<String, String> SelectSignalForFindSignalName(string PP_ProjectCode)
|
|
{
|
|
var dc = new Dictionary<String, String>();
|
|
var dt = SelectSignalForOpc( PP_ProjectCode);
|
|
var count = dt.Rows.Count;
|
|
if (count > 0)
|
|
{
|
|
for (int i = 0; i < count; i++)
|
|
{
|
|
var tagID = dt.Rows[i]["DeviceCode"].ToString();
|
|
var tagName = dt.Rows[i]["Explain"].ToString();
|
|
if (!dc.ContainsKey(tagID))
|
|
{
|
|
dc.Add(tagID, tagName);
|
|
}
|
|
|
|
}
|
|
}
|
|
return dc;
|
|
}
|
|
|
|
|
|
/******************************************************************************************************/
|
|
/******************************************************************************************************/
|
|
/******************************************************************************************************/
|
|
|
|
/// <summary>
|
|
/// 信号点上移
|
|
/// </summary>
|
|
/// <param name="craftCode"></param>
|
|
public static void MoveUpSignal(int sequenceNo, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
|
|
@" DECLARE @SequenceNo INT = " + sequenceNo + "" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" DECLARE @TagID_Curr NVARCHAR(50)" +
|
|
@" DECLARE @TagID_Up NVARCHAR(50)" +
|
|
|
|
@" DECLARE @SequenceNo_Up INT" +
|
|
@" SELECT @SequenceNo_Up = MAX([SequenceNo]) FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [SequenceNo] < @SequenceNo" +
|
|
|
|
@" SELECT @TagID_Curr = [DeviceCode] FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [SequenceNo] = @SequenceNo" +
|
|
@" SELECT @TagID_Up = [DeviceCode] FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [SequenceNo] = @SequenceNo_Up" +
|
|
|
|
@" UPDATE [SignalViewer] SET [SequenceNo] = @SequenceNo - 1 WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @TagID_Curr" +
|
|
@" UPDATE [SignalViewer] SET [SequenceNo] = @SequenceNo WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @TagID_Up";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// 信号点下移
|
|
/// </summary>
|
|
/// <param name="craftCode"></param>
|
|
/// <param name="sequenceNo"></param>
|
|
public static void MoveDownSignal(int sequenceNo, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
|
|
@" DECLARE @SequenceNo INT = " + sequenceNo + "" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" DECLARE @TagID_Curr NVARCHAR(50)" +
|
|
@" DECLARE @TagID_Down NVARCHAR(50)" +
|
|
|
|
@" DECLARE @SequenceNo_Down INT" +
|
|
@" SELECT @SequenceNo_Down = MIN([SequenceNo]) FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [SequenceNo] > @SequenceNo" +
|
|
|
|
@" SELECT @TagID_Curr = [DeviceCode] FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [SequenceNo] = @SequenceNo" +
|
|
@" SELECT @TagID_Down = [DeviceCode] FROM [SignalViewer] WHERE [ProjectCode] = @ProjectCode AND [SequenceNo] = @SequenceNo_Down" +
|
|
|
|
@" UPDATE [SignalViewer] SET [SequenceNo] = @SequenceNo + 1 WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @TagID_Curr" +
|
|
@" UPDATE [SignalViewer] SET [SequenceNo] = @SequenceNo WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @TagID_Down";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
/******************************************************************************************************/
|
|
/******************************************************************************************************/
|
|
/******************************************************************************************************/
|
|
|
|
/// <summary>
|
|
/// 修改仿真信号
|
|
/// 属性
|
|
/// 2021.10.7.LLX
|
|
/// </summary>
|
|
/// <param name="tagID"></param>
|
|
/// <param name="force"></param>
|
|
/// <returns></returns>
|
|
public static void UpdateSimSignal(string tagID, int force, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @Force INT = " + force + "" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" UPDATE [SignalViewer] SET [Force] = @Force" +
|
|
@" WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteDataset(sql, PP.ConnectionStr, out DataSet ds, out string errorMessage);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 修改仿真信号的值
|
|
/// 强制值
|
|
/// </summary>
|
|
/// <param name="tagID"></param>
|
|
/// <param name="forceValue"></param>
|
|
/// <returns></returns>
|
|
public static void UpdateSimSignal_ForceValue(string tagID, string forceValue, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @ForceValue NVARCHAR(50) = '" + forceValue + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" UPDATE [SignalViewer] SET [ForceValue] = @ForceValue" +
|
|
@" WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteNonQuery(sql, PP.ConnectionStr, out string errorMessage);
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 修改信号连接
|
|
/// 2021.11.18.LLX
|
|
/// </summary>
|
|
/// <param name="tagID"></param>
|
|
/// <param name="forceValue"></param>
|
|
public static void UpdateSimSignal_Connect(string tagID, string connectCode, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @DevicePid NVARCHAR(50) = '" + connectCode + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" UPDATE [SignalViewer] SET [DevicePid] = @DevicePid" +
|
|
@" WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteNonQuery(sql, PP.ConnectionStr, out string errorMessage);
|
|
}
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
/// <param name="tagID"></param>
|
|
/// <param name="connectCode"></param>
|
|
public static void UpdateSignal_DataType(string tagID, string signalType, string PP_ProjectCode)
|
|
{
|
|
string sql =
|
|
@" DECLARE @DeviceCode NVARCHAR(50) = '" + tagID + "'" +
|
|
@" DECLARE @Type NVARCHAR(50) = '" + signalType + "'" +
|
|
@" DECLARE @ProjectCode NVARCHAR(50) = '" + PP_ProjectCode + "'" +
|
|
|
|
@" UPDATE [SignalViewer] SET [Type] = @Type" +
|
|
@" WHERE [ProjectCode] = @ProjectCode AND [DeviceCode] = @DeviceCode";
|
|
ExecuteNonQuery(sql, PP.ConnectionStr, out string errorMessage);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|