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#

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() : "";
}
}
}