You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
3.9 KiB
C#
101 lines
3.9 KiB
C#
using Estsh.Client.Common.HttpClientUtil;
|
|
using System.Collections;
|
|
using System.Text;
|
|
|
|
namespace Estsh.Client
|
|
{
|
|
public class RFIDApp
|
|
{
|
|
private HttpClientHelper httpClient = null;
|
|
public RFIDApp(HttpClientHelper _httpClient)
|
|
{
|
|
httpClient = _httpClient;
|
|
}
|
|
|
|
public List<dynamic> GetRFIDOperationType(int terminalID, string paramName)
|
|
{
|
|
lock (httpClient)
|
|
{
|
|
string sqlstring = "SELECT top 1 operation_type FROM dbo.sys_terminal_params WHERE terminal_id = @terminalID AND param_name = @paramName";
|
|
|
|
Dictionary<string, object> values = new Dictionary<string, object>(2);
|
|
values.Add("@terminalID", terminalID);
|
|
values.Add("@paramName", paramName);
|
|
|
|
return httpClient.GetEntityList(sqlstring.ToString(), values);
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 读取PLC值
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public string ReadyPlc(string pointName, int terminalID)
|
|
{
|
|
StringBuilder SqlStringBuilder = new StringBuilder(1024);
|
|
SqlStringBuilder.Append(" SELECT a.point_value FROM dbo.opc_point a ");
|
|
SqlStringBuilder.Append(" LEFT JOIN dbo.sys_terminal_params b ON a.point_name=b.param_value ");
|
|
SqlStringBuilder.Append(" WHERE param_name=@pointName AND terminal_id=@terminalID ");
|
|
Dictionary<string, object> ht = new Dictionary<string, object>(2);
|
|
ht.Add("@pointName", pointName);
|
|
ht.Add("@terminalID", terminalID);
|
|
object obj = httpClient.GetScalar(SqlStringBuilder.ToString(), ht);
|
|
|
|
return obj != null && obj != DBNull.Value ? obj.ToString().ToUpper() : string.Empty;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 发送值到PLC
|
|
/// </summary>
|
|
/// <param name="pointName"></param>
|
|
/// <param name="pointValue"></param>
|
|
/// <returns></returns>
|
|
public bool UpdatePLC(string pointName, int terminID, string pointValue)
|
|
{
|
|
lock (httpClient)
|
|
{
|
|
string sqlstring = @"update opc_point set point_value = @pointValue,point_flag1=101,update_time=GETDATE() where point_name IN (
|
|
SELECT param_value FROM sys_terminal_params(NOLOCK) WHERE param_name=@pointName AND terminal_id=@terminID ) ";
|
|
|
|
Dictionary<string, object> values = new Dictionary<string, object>(3);
|
|
values.Add("@pointName", pointName);
|
|
values.Add("@terminID", terminID);
|
|
values.Add("@pointValue", pointValue);
|
|
|
|
if (httpClient.Execute(sqlstring.ToString(), values) > 0)
|
|
{
|
|
return true;
|
|
}
|
|
else
|
|
{
|
|
return false;
|
|
}
|
|
|
|
}
|
|
}
|
|
public string validataLimit(string paramName)
|
|
{
|
|
lock (httpClient)
|
|
{
|
|
StringBuilder querySen = new StringBuilder(1024);
|
|
querySen.AppendLine("SELECT param_value ");
|
|
querySen.AppendLine("FROM sys_base ");
|
|
querySen.AppendLine("WHERE ( param_name = @paramName ) ");
|
|
|
|
Dictionary<string, object> ht = new Dictionary<string, object>(1);
|
|
ht.Add("@paramName", paramName);
|
|
|
|
object obj = httpClient.GetScalar(querySen.ToString(), ht);
|
|
|
|
return obj != null && obj != DBNull.Value ? obj.ToString().ToUpper() : string.Empty;
|
|
}
|
|
}
|
|
public string getPartLocation(string sn)
|
|
{
|
|
string sql = "SELECT b.part_location FROM dbo.g_sn_status a LEFT JOIN dbo.sys_part b ON a.part_id=b.part_id WHERE a.serial_number ='" + sn + "'";
|
|
object obj = httpClient.GetScalar(sql);
|
|
return obj != null && obj != DBNull.Value ? obj.ToString().ToUpper() : "";
|
|
}
|
|
}
|
|
}
|