using DataEntity.Share;
|
using DataRWDAL.Device;
|
using HxEnum;
|
using MySql.Data.MySqlClient;
|
using System;
|
using System.Collections.ObjectModel;
|
using System.Data;
|
using XCommon.Log;
|
using XCommon.MySql;
|
using DataRWDAL.Base;
|
using SqlSugar;
|
using System.Dynamic;
|
using DataRWDAL;
|
|
namespace XImagingXhandler.XDAL
|
{
|
/// <summary>
|
/// 菜单库表操作类
|
/// </summary>
|
public class MethodDB : BaseDB
|
{
|
#region 从数据库获取工作站已实现的方法信息数据
|
/// <summary>
|
/// 从数据库获取工作站已实现的方法信息数据
|
/// </summary>
|
/// <returns>实现的方法信息数据实体集合</returns>
|
public static ObservableCollection<Method> GetMethodFromdb()
|
{
|
using (var db = GetInstance())
|
{
|
return new ObservableCollection<Method>(db.Queryable<Method>().Where(it => it.method_status.Equals(1)).OrderBy(it => it.method_id, SqlSugar.OrderByType.Asc).ToList());
|
}
|
}
|
#endregion
|
|
#region 从数据库获取工作站已实现的方法信息数据---根据当前使用的设备
|
/// <summary>
|
/// 从数据库获取工作站已实现的方法信息数据---根据当前使用的设备
|
/// </summary>
|
/// <returns>符合条件实现的方法信息数据实体集合</returns>
|
public static ObservableCollection<Method> GetMethodFromdb(string deviceName, bool isAddDevice = true)
|
{
|
ObservableCollection<Method> methods = new ObservableCollection<Method>();
|
string sqlstr = "";
|
|
try
|
{
|
using (var db = GetInstance())
|
{
|
var query = db.Queryable("softwarersmethod", "t").AddJoinInfo("method", "l", "t.method_id=l.method_id and l.method_status=1", JoinType.Inner)
|
.AddJoinInfo("softwareinformation", "lt", "lt.software_information_id=t.software_information_id and lt.software_device_number='" + deviceName + "'", JoinType.Inner)
|
.Select("l.*");
|
var a = query.ToList();
|
foreach (ExpandoObject epo in a)
|
{
|
Method lq = epo.ToEntity<Method>();
|
methods.Add(lq);
|
}
|
if (isAddDevice)
|
{
|
// 根据项目ID,获取设备列表
|
var lstDevice = DeviceConfigDB.GetDeviceConfigListByProjectId(Shared.SoftwareInformation.software_information_id);
|
foreach (var deviceItem in lstDevice)
|
{
|
Method m = new Method();
|
m.method_id = deviceItem.Id == null ? "0": deviceItem.Id;
|
m.method_name = deviceItem.Name;
|
m.method_status = EnumManagement.GetEnumValue(MethodStatusEnum.Valid); // 有效
|
m.method_content = deviceItem.Name;
|
m.method_Tipcontent = string.Empty;
|
m.method_ico = deviceItem.EquipmentImg; // 设备图片
|
m.method_group_id = EnumManagement.GetEnumValue(MethodGroupEnum.ThirdPart); // 第三方设备
|
m.method_support = EnumManagement.GetEnumValue(MethodSupportEnum.Support); // 支持
|
m.method_type = EnumManagement.GetEnumValue(MethodTypeEnum.SingleStep); // 单指令
|
|
//MethodEx mEx = new MethodEx(m);
|
//mEx.device = deviceItem;
|
|
methods.Add(m);
|
}
|
}
|
}
|
}
|
catch (MySqlException me)
|
{
|
LoggerHelper.ErrorLog("执行:" + sqlstr, me);
|
}
|
|
return methods;
|
}
|
#endregion
|
|
#region 更新method
|
public static int UpdateMethodIntodb(Method method)
|
{
|
int iResult = 0;
|
string sqlstr = "";
|
MySqlConnection mysqlcon = MySqlUtity.GetConnection();
|
|
// add
|
MySqlCommand sqlcom = new MySqlCommand();
|
sqlstr = sqlcom.CommandText = @"
|
update method SET " +
|
"method_status=" + method.method_status + " where method_id='" + method.method_id + "'";
|
MySqlParameter[] commandParameters = new MySqlParameter[]{
|
};
|
try
|
{
|
iResult = MySqlUtity.ExecuteNonQuery(mysqlcon.ConnectionString, CommandType.Text, sqlcom.CommandText, commandParameters);
|
}
|
catch (Exception ex)
|
{
|
LoggerHelper.ErrorLog("执行:" + sqlstr, ex);
|
}
|
|
return iResult;
|
}
|
#endregion
|
}
|
}
|