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.

262 lines
9.1 KiB

using Module.Common;
using Module.DB.DBUtility;
using Module.DB.Model;
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Module.DB.SQLServerDAL
{
public class AssignmentInfo
{
private int pageSize = 20;
public bool AddAssignmentInfo(AssignmentRecord assignmentRecord)
{
try
{
bool bRes = false;
#region 数据更新操作字符串
string strResult = SQLHelper.GetInsertSQL<AssignmentRecord>("t_assignment_record", assignmentRecord, "f_id");
SQLServerHelper sHelper = new SQLServerHelper();
int iRes = sHelper.ExecuteNonQuerySQL(strResult);
#endregion 数据更新操作字符串
if (iRes != 0)
{
bRes = true;
}
return bRes;
}
catch (Exception ex)
{
ex.ToString();
return false;
}
}
public void DeleteAssignmentInfo(string startTime, string endTime, string track)
{
try
{
string strSql = "";
strSql += "DELETE FROM t_assignment_record" + " ";
strSql += "WHERE f_start_time >='" + startTime + "'" + " ";
strSql += "AND f_start_time <='" + endTime + "'";
strSql += "AND f_track_no ='" + track + "'";
SQLServerHelper sHelper = new SQLServerHelper();
sHelper.ExecuteNonQuerySQL(strSql);
}
catch (Exception ex)
{
ex.ToString();
}
}
public void DeleteAllAssignmentInfo(string startTime, string endTime)
{
try
{
string strSql = "";
strSql += "DELETE FROM t_assignment_record" + " ";
strSql += "WHERE f_start_time >='" + startTime + "'" + " ";
strSql += "AND f_start_time <='" + endTime + "'";
SQLServerHelper sHelper = new SQLServerHelper();
sHelper.ExecuteNonQuerySQL(strSql);
}
catch (Exception ex)
{
ex.ToString();
}
}
public List<AssignmentRecord> GetList1(string startTime, string endTime, int page, ref int total)
{
try
{
var list = new List<AssignmentRecord>();
string selectSql = "SELECT * FROM t_assignment_record where f_id > 0 ";
string countSql = "SELECT count(*) FROM t_assignment_record where f_id > 0 ";
if (!String.IsNullOrEmpty(startTime))
{
selectSql += String.Format(" and f_start_time >= '{0}'", startTime);
countSql += String.Format(" and f_start_time >= '{0}'", startTime);
}
if (!String.IsNullOrEmpty(endTime))
{
selectSql += String.Format(" and f_start_time <= '{0}'", endTime);
countSql += String.Format(" and f_start_time <= '{0}'", endTime);
}
int skipNumber = (page - 1) * pageSize;
selectSql += String.Format(" ORDER BY f_id DESC offset {0} row fetch next {1} row only", skipNumber, pageSize);
SQLServerHelper sHelper = new SQLServerHelper();
total = sHelper.ExecuteScalar(countSql);
DataTable dtResult = sHelper.QuerySql(selectSql);
int rownum = dtResult.Rows.Count;
if (rownum > 0)
{
for (var i = 0; i < rownum; i++)
{
var assignmentInfo = new AssignmentRecord();
var temp = dtResult.Rows[i];
assignmentInfo.f_id = Convert.ToInt32(temp["f_id"]);
assignmentInfo.f_track_no = Convert.ToInt32(temp["f_track_no"]);
assignmentInfo.f_start_time = temp["f_start_time"].ToString();
assignmentInfo.f_end_time = temp["f_end_time"].ToString();
assignmentInfo.f_status = temp["f_status"].ToString();
assignmentInfo.f_wafer = Convert.ToInt32(temp["f_wafer"]);
assignmentInfo.f_job_name = temp["f_job_name"].ToString();
assignmentInfo.f_recipe_no = temp["f_recipe_no"].ToString();
assignmentInfo.f_user = temp["f_user"].ToString();
list.Add(assignmentInfo);
}
}
return list;
}
catch (Exception ex)
{
ex.ToString();
return new List<AssignmentRecord>();
}
}
/// <summary>
/// 日志只保存三个月
/// </summary>
public static void Dele()
{
while (PublicParams.T1StartCollected)
{
try
{
string sql = " delete from t_alarm_record where DATEDIFF(d,f_create_time ,getdate())>90";
SQLServerHelper sHelper = new SQLServerHelper();
sHelper.ExecuteNonQuerySQL(sql);
Thread.Sleep(24 * 60 * 60 * 1000);
}
catch (Exception ex)
{
ex.ToString();
}
}
}
/// <summary>
/// 报警只保存三个月
/// </summary>
public static void Delel()
{
while (PublicParams.T1StartCollected)
{
try
{
string sql = " delete from t_assignment_record where DATEDIFF(d,f_end_time ,getdate())>90";
SQLServerHelper sHelper = new SQLServerHelper();
sHelper.ExecuteNonQuerySQL(sql);
Thread.Sleep( 60* 24 * 60 * 1000-10000);
}
catch (Exception ex)
{
ex.ToString();
}
}
}
public List<AssignmentRecord> GetList(string startTime, string endTime, string track, int page, ref int total)
{
try
{
var list = new List<AssignmentRecord>();
string countSql = "SELECT count(*) FROM t_assignment_record where f_id > 0 ";
string querySql = "";
if (!String.IsNullOrEmpty(startTime))
{
querySql += String.Format(" and f_start_time >= '{0}'", startTime);
}
if (!String.IsNullOrEmpty(endTime))
{
querySql += String.Format(" and f_start_time <= '{0}'", endTime);
}
if (!String.IsNullOrEmpty(track) && !track.Equals("全部"))
{
querySql += String.Format(" and f_track_no = {0}", track);
}
int skipNumber = (page - 1) * pageSize;
string lastSql = String.Format("SELECT TOP {0} * FROM t_assignment_record WHERE( f_id NOT IN(SELECT TOP {1} f_id FROM t_assignment_record where f_id > 0 {2} ORDER BY f_id)) {3} ORDER BY f_id DESC", pageSize, skipNumber, querySql, querySql);
SQLServerHelper sHelper = new SQLServerHelper();
total = sHelper.ExecuteScalar(countSql + querySql);
DataTable dtResult = sHelper.QuerySql(lastSql);
int rownum = dtResult.Rows.Count;
if (rownum > 0)
{
for (var i = 0; i < rownum; i++)
{
var assignmentInfo = new AssignmentRecord();
var temp = dtResult.Rows[i];
assignmentInfo.f_id = Convert.ToInt32(temp["f_id"]);
assignmentInfo.f_track_no = Convert.ToInt32(temp["f_track_no"]);
assignmentInfo.f_start_time = temp["f_start_time"].ToString();
assignmentInfo.f_end_time =temp["f_end_time"].ToString();
assignmentInfo.f_status = temp["f_status"].ToString();
assignmentInfo.f_wafer = Convert.ToInt32(temp["f_wafer"]);
assignmentInfo.f_job_name = temp["f_job_name"].ToString();
assignmentInfo.f_recipe_no = temp["f_recipe_no"].ToString();
assignmentInfo.f_user = temp["f_user"].ToString();
list.Add(assignmentInfo);
}
}
return list;
}
catch (Exception ex)
{
ex.ToString();
return new List<AssignmentRecord>();
}
}
}
}