注塑喷涂
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

160 lines
6.2 KiB

6 months ago
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using MESClassLibrary.BLL.Log;
using MESClassLibrary.Model;
namespace MESClassLibrary.DAL.Injection
{
public class InjectionDownRecordDAL
{
public static string TableName = "tb_Injection_DownRecord";
public bool AddInfo(InjectionDownRecordModel md)
{
try
{
#region 添加数据
string sql = "";
SqlParameter[] param = null;
sql = " IF NOT EXISTS (SELECT * FROM tb_Injection_DownRecord WHERE StationID=@StationID AND EndTime IS NULL ) INSERT INTO " + TableName + " ([ID] ,[StationID] ,[DownType],[DownReason],[Des],[StartTime]";
sql += ") VALUES (";
sql += "@ID,";
sql += "@StationID,";
sql += "@DownType,";
sql += "@DownReason,";
sql += "@Des,";
sql += "@StartTime)";
#region 添加参数
param = new SqlParameter[6];
param[0] = new SqlParameter("@ID", SqlDbType.VarChar);
param[0].Value = md.ID;
param[1] = new SqlParameter("@StationID", SqlDbType.VarChar);
param[1].Value = md.StationID;
param[2] = new SqlParameter("@DownType", SqlDbType.VarChar);
param[2].Value = md.DownType;
param[3] = new SqlParameter("@DownReason", SqlDbType.VarChar);
param[3].Value = md.DownReason;
param[4] = new SqlParameter("@Des", SqlDbType.VarChar);
param[4].Value = md.Des;
param[5] = new SqlParameter("@StartTime", SqlDbType.DateTime);
param[5].Value = md.StartTime;
#endregion
SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql, param);
#endregion
return true;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
public bool UpdateInfo(InjectionDownRecordModel md)
{
try
{
#region 添加数据
//string sql = @"update " + TableName + " set EndTime=@EndTime WHERE [StationID]=@StationID AND EndTime IS NULL ";
string sql = @"update " + TableName + " set DownType=@DownType,DownReason=@DownReason,Des=@Des WHERE ID=(select top 1 ID from tb_Injection_DownRecord where [StationID]=@StationID AND EndTime IS NULL order by StartTime DESC)";
SqlParameter[] param = null;
#region 添加参数
param = new SqlParameter[4];
param[0] = new SqlParameter("@StationID", SqlDbType.VarChar);
param[0].Value = md.StationID;
param[1] = new SqlParameter("@DownType", SqlDbType.VarChar);
param[1].Value = md.DownType;
param[2] = new SqlParameter("@DownReason", SqlDbType.VarChar);
param[2].Value = md.DownReason;
param[3] = new SqlParameter("@Des", SqlDbType.VarChar);
param[3].Value = md.Des;
#endregion
SqlHelper.ExecuteNonQuery(SqlHelper.GetConnSting(), CommandType.Text, sql, param);
#endregion
return true;
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return false;
}
}
public DataTable SearchByTime(string StartTime, string EndTime)
{
try
{
string sql = @" SELECT * FROM dbo.tb_Injection_DownRecord ";
sql += " where StationID is not null and StartTime>='" + StartTime + "' and EndTime<='" + EndTime + "'";
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
public DataTable SearchChangeRecord(string StartTime, string EndTime, string ModelId)
{
try
{
string sql = @" SELECT s.StationNo,m.PrintDate,d.StartTime,d.DownTime,d.EndTime,m.ModelSumCount,m.ModelPrintCount,d.remark1 FROM (SELECT * FROM [dbo].[tb_ModelCount] WHERE ";
sql += "ModelID = '" + ModelId + "' and PrintDate>= '"+ StartTime + "' and PrintDate<= '"+ EndTime + "') as m ";
sql += "left join (SELECT* FROM [dbo].[tb_Injection_DownRecord] where StationID is not null and StartTime>='" + StartTime + "' and EndTime<='" + EndTime + "') as d on m.StationID = d.StationID left join tb_Station s on d.StationID = s.StationID";
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
//故障停机查询
public DataTable SearchRepaorByTime(string StartTime, string EndTime)
{
try
{
string sql = @" SELECT d.StationID,s.StationNo,d.StartTime,d.EndTime,d.DownTime,d.Des,d.Remark1,d.Remark2,d.Remark3 FROM dbo.tb_Injection_DownRecord d ";
sql += " left join tb_Station s on d.StationID = s.StationID ";
sql += " where d.StationID is not null and d.StartTime>='" + StartTime + "' and d.EndTime<='" + EndTime + "' and d.DownType='F1F851FB-8913-40B7-A992-F28A3FD25054' order by d.StartTime";
return SqlHelper.ExecuteDataset(SqlHelper.GetConnSting(), CommandType.Text, sql, null).Tables[0];
}
catch (Exception ex)
{
LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod());
return null;
}
}
}
}