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.

277 lines
13 KiB
C#

using Mesnac.Action.Compressor.entity;
using Mesnac.Action.Compressor.Entity;
using Mesnac.Codd.Session;
using Mesnac.Compressor.Unity;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
namespace Mesnac.Action.Compressor.SubStation
{
public class SubStationHelper
{
public void InsertDeviceOeeInfo(string DeviceID, int CompleteCount,int QtyCount)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
try
{
dbHelper.ClearParameter();
dbHelper.CommandType = System.Data.CommandType.Text;
string sqlstr = string.Empty;
string strSql = "INSERT INTO SCADA_PRAMERTER_VALUE(DeviceID, CompleteCount, QtyCount) VALUES(@DeviceID,@CompleteCount,@QtyCount)";
dbHelper.CommandText = strSql;
dbHelper.AddParameter("@CompleteCount", CompleteCount);
dbHelper.AddParameter("@QtyCount", QtyCount);
dbHelper.AddParameter("@DeviceID", DeviceID);
dbHelper.ExecuteNonQuery();
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString()));
return;
}
}
public void InsertDeviceStateInfo(string DeviceID, string DeviceState,string LineID)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
try
{
dbHelper.ClearParameter();
dbHelper.CommandType = System.Data.CommandType.Text;
string sqlstr = string.Empty;
string strSql = "INSERT INTO base_Device_State(DeviceID, DeviceState,LineID) VALUES(@DeviceID,@DeviceState,@LineID)";
dbHelper.CommandText = strSql;
dbHelper.AddParameter("@DeviceState", DeviceState);
dbHelper.AddParameter("@LineID", LineID);
dbHelper.AddParameter("@DeviceID", DeviceID);
dbHelper.ExecuteNonQuery();
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString()));
return;
}
}
/// <summary>
/// 查询工位信息
/// </summary>
/// <returns></returns>
public static DataTable getSubstationByLineName(string LineName)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.ClearParameter();
dbHelper.CommandType = System.Data.CommandType.Text;
string sqlstr = string.Empty;
if (!String.IsNullOrEmpty(LineName))
{
sqlstr = string.Format(@"select * from T_BD_SubStation where 1 = 1 and paraCount !=0 and PLCName in ('A4','A7') ", LineName);
}
dbHelper.CommandText = sqlstr;
dbHelper.CommandType = CommandType.Text;
DataTable table = dbHelper.ToDataTable();
return table;
}
/// <summary>
/// 获取所有的工位数据
/// </summary>
public static List<TBdSubstation> GetSubstationList(string LineName)
{
DataTable table = getSubstationByLineName(LineName);
List<TBdSubstation> lst = new List<TBdSubstation>();
foreach (DataRow row in table.Rows)
{
TBdSubstation Substation = new TBdSubstation();
Substation.Id = Convert.ToInt32(Mesnac.Basic.DataProcessor.RowValue(row, "ID", String.Empty));
Substation.StationID = Convert.ToInt32(Mesnac.Basic.DataProcessor.RowValue(row, "StationID", String.Empty));
Substation.StationCode = Mesnac.Basic.DataProcessor.RowValue(row, "StationCode", String.Empty);
Substation.StationName = Mesnac.Basic.DataProcessor.RowValue(row, "StationName", String.Empty);
Substation.PLCName = Mesnac.Basic.DataProcessor.RowValue(row, "PLCName", String.Empty);
//pmtRecipe.Mixer_line = Mesnac.Basic.DataProcessor.RowValue(row, "Mixer_line", String.Empty);
//pmtRecipe.Recipe_type = Mesnac.Basic.DataProcessor.RowValue(row, "Recipe_type", 0);
//pmtRecipe.Recipe_Used = Mesnac.Basic.DataProcessor.RowValue(row, "Recipe_Used", 0);
//pmtRecipe.Recipe_Verify = Mesnac.Basic.DataProcessor.RowValue(row, "Recipe_Verify", 0);
//pmtRecipe.Total_Weight = Mesnac.Basic.DataProcessor.RowValue(row, "Total_Weight", 0.0M);
//pmtRecipe.Total_Error = Mesnac.Basic.DataProcessor.RowValue(row, "Total_Error", 0.0M);
//pmtRecipe.End_datetime = Mesnac.Basic.DataProcessor.RowValue(row, "End_datetime", String.Empty);
//pmtRecipe.Remark = Mesnac.Basic.DataProcessor.RowValue(row, "Remark", String.Empty);
//pmtRecipe.Attach_User = Mesnac.Basic.DataProcessor.RowValue(row, "Attach_User", 0);
//pmtRecipe.GroupBags = Mesnac.Basic.DataProcessor.RowValue(row, "GroupBags", 0);
//pmtRecipe.IF_FLAG = Mesnac.Basic.DataProcessor.RowValue(row, "IF_FLAG", 0);
//pmtRecipe.Validity = Mesnac.Basic.DataProcessor.RowValue(row, "Validity", 0);
lst.Add(Substation);
}
return lst;
}
public static TRpProductchangeinfo GetProductChangeInfoList(string LineName)
{
try
{
TRpProductchangeinfo TRpProductchangeinfo = new TRpProductchangeinfo();
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.CommandType = CommandType.Text;
string strSql = "SELECT top 1 * FROM T_RP_ProductChangeInfo WHERE LineName = @LineName";
dbHelper.CommandText = strSql;
dbHelper.ClearParameter();
dbHelper.AddParameter("@LineName", LineName);
DataTable table = dbHelper.ToDataTable();
if (table != null && table.Rows.Count > 0)
{
foreach (DataRow dr in table.Rows)
{
TRpProductchangeinfo = ConvertDataRowToBaseTRpProductchangeinfo(dr);
break;
}
}
return TRpProductchangeinfo;
}
catch (Exception ex)
{
return new TRpProductchangeinfo();
}
}
private static TRpProductchangeinfo ConvertDataRowToBaseTRpProductchangeinfo(DataRow dr)
{
if (dr != null)
{
TRpProductchangeinfo Productinfo = new TRpProductchangeinfo();
Productinfo.Id = Convert.ToInt32(Mesnac.Basic.DataProcessor.RowValue(dr, "id", String.Empty));
Productinfo.ProductId = Convert.ToInt32(Mesnac.Basic.DataProcessor.RowValue(dr, "ProductId", String.Empty));
Productinfo.Operator = Mesnac.Basic.DataProcessor.RowValue(dr, "Operator", String.Empty);
Productinfo.PersonInCharge = Mesnac.Basic.DataProcessor.RowValue(dr, "PersonInCharge", String.Empty);
Productinfo.LineName = Mesnac.Basic.DataProcessor.RowValue(dr, "LineName", String.Empty);
return Productinfo;
}
else
{
return null;
}
}
/// <summary>
/// 机种更换信息插库
/// </summary>
/// <param name="DeviceID"></param>
/// <param name="DeviceState"></param>
/// <param name="LineID"></param>
public static void InsertProductChangeInfo(TRpProductchangeinfo rpProductchangeinfo)
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
try
{
dbHelper.ClearParameter();
dbHelper.CommandType = System.Data.CommandType.Text;
string sqlstr = string.Empty;
string strSql = "INSERT INTO T_RP_ProductChangeInfo(ProductId, PersonInCharge,Operator,BeginTime,EndTime,InsertTime,LineName) VALUES(@ProductId, @PersonInCharge,@Operator,@BeginTime,@EndTime,@InsertTime,@LineName)";
dbHelper.CommandText = strSql;
dbHelper.AddParameter("@ProductId", rpProductchangeinfo.ProductId);
dbHelper.AddParameter("@PersonInCharge", rpProductchangeinfo.PersonInCharge);
dbHelper.AddParameter("@Operator", rpProductchangeinfo.Operator);
dbHelper.AddParameter("@BeginTime", rpProductchangeinfo.BeginTime);
dbHelper.AddParameter("@EndTime", rpProductchangeinfo.EndTime);
dbHelper.AddParameter("@InsertTime", rpProductchangeinfo.InsertTime);
dbHelper.AddParameter("@LineName", rpProductchangeinfo.LineName);
dbHelper.ExecuteNonQuery();
}
catch (Exception ex)
{
ICSharpCode.Core.LoggingService.Error(string.Format(ex.ToString()));
return;
}
}
/// <summary>
/// 更新计划切换信息表
/// </summary>
/// <param name="base_PlanInfo"></param>
/// <returns></returns>
public static bool UpdateBaseT_RP_ProductChangeInfo(TRpProductchangeinfo TRpProductchangeinfo)
{
bool iFlag = false;
string sqlstr = "";
try
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.CommandType = CommandType.Text;
sqlstr = @"update T_RP_ProductChangeInfo set ProductId = @ProductId, PersonInCharge = @PersonInCharge, EndTime = @EndTime,Operator = @Operator, InsertTime = @InsertTime, BeginTime = @BeginTime,LineName = @LineName where id = @id ";
dbHelper.ClearParameter();
dbHelper.CommandText = sqlstr;
dbHelper.AddParameter("@id", TRpProductchangeinfo.Id);
dbHelper.AddParameter("@ProductId", TRpProductchangeinfo.ProductId);
dbHelper.AddParameter("@PersonInCharge", TRpProductchangeinfo.PersonInCharge);
dbHelper.AddParameter("@EndTime", TRpProductchangeinfo.EndTime);
dbHelper.AddParameter("@Operator", TRpProductchangeinfo.Operator);
dbHelper.AddParameter("@InsertTime", TRpProductchangeinfo.InsertTime);
dbHelper.AddParameter("@BeginTime", TRpProductchangeinfo.BeginTime);
dbHelper.AddParameter("@LineName", TRpProductchangeinfo.LineName);
dbHelper.ExecuteNonQuery();
iFlag = true;
return iFlag;
}
catch (Exception ex)
{
return iFlag;
}
}
public static String GetProductTypeInfoByProductID(string ProductID)
{
string sqlstr = "";
try
{
DbHelper dbHelper = Mesnac.Basic.DataSourceFactory.Instance.GetDbHelper(Mesnac.Basic.DataSourceFactory.MCDbType.Local);
if (dbHelper == null)
{
throw new Exception(Mesnac.Basic.LanguageHelper.DataBaseConnectError);
}
dbHelper.CommandType = CommandType.Text;
string strSql = "SELECT top 1 ProductType FROM T_BD_ProductInfo WHERE ProductID = @ProductID";
dbHelper.CommandText = strSql;
dbHelper.ClearParameter();
dbHelper.AddParameter("@ProductID", ProductID);
sqlstr = dbHelper.ToScalar().ToString();
return sqlstr;
}
catch (Exception ex)
{
return sqlstr;
}
}
}
}