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.
228 lines
8.5 KiB
228 lines
8.5 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using ICSSoft.Frame.Data.Entity;
|
|
|
|
|
|
namespace ICSSoft.Frame.Data.DAL
|
|
{
|
|
public class ICSEQPWeeklyMaintenanceDAL
|
|
{
|
|
/// <summary>
|
|
/// 批量删除
|
|
/// </summary>
|
|
/// <param name="listID"></param>
|
|
/// <param name="dsconn"></param>
|
|
public static void DeleteById(List<string> listID, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var lines = db.ICSEQPWeeklyMaintenance.Where(a => listID.Contains(a.ID));
|
|
db.ICSEQPWeeklyMaintenance.DeleteAllOnSubmit(lines);
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
finally
|
|
{
|
|
db.Connection.Close();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 单行新增
|
|
/// </summary>
|
|
/// <param name="info"></param>
|
|
/// <param name="dsconn"></param>
|
|
public static void Add(ICSEQPWeeklyMaintenance info, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var line = db.ICSEQPWeeklyMaintenance.SingleOrDefault(a => a.EQPID == info.EQPID && a.DATEDIFFID == info.DATEDIFFID);
|
|
if (line != null)
|
|
{
|
|
throw new Exception("此设备的对应时间段已经维护!");
|
|
}
|
|
var list = db.ICSEQPWeeklyMaintenance.Where(a => a.EQPID == info.EQPID).ToList();
|
|
var lineDateCurrent = db.ICSDateDiff.SingleOrDefault(a => a.ID == info.DATEDIFFID);
|
|
foreach (ICSEQPWeeklyMaintenance item in list)
|
|
{
|
|
var lineDateEx = db.ICSDateDiff.SingleOrDefault(a => a.ID == item.DATEDIFFID);
|
|
if (lineDateEx.TYPE != "RPS")
|
|
{
|
|
continue;
|
|
}
|
|
if (lineDateEx.BEGINTIME > lineDateCurrent.ENDTIME || lineDateEx.ENDTIME < lineDateCurrent.BEGINTIME)
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("维护时间段(" + lineDateCurrent.BEGINTIME + "~" + lineDateCurrent.ENDTIME
|
|
+ ")与已有时间段(" + lineDateEx.BEGINTIME + "~" + lineDateEx.ENDTIME
|
|
+ ")有重叠");
|
|
}
|
|
}
|
|
db.ICSEQPWeeklyMaintenance.InsertOnSubmit(info);
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
finally
|
|
{
|
|
db.Connection.Close();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 单行修改
|
|
/// </summary>
|
|
/// <param name="info"></param>
|
|
/// <param name="dsconn"></param>
|
|
public static void Modify(ICSEQPWeeklyMaintenance info, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var line = db.ICSEQPWeeklyMaintenance.SingleOrDefault(a => a.ID == info.ID);
|
|
if (line == null)
|
|
{
|
|
throw new Exception("记录已被删除!");
|
|
}
|
|
var list = db.ICSEQPWeeklyMaintenance.Where(a => a.EQPID == info.EQPID).ToList();
|
|
var lineDateCurrent = db.ICSDateDiff.SingleOrDefault(a => a.ID == info.DATEDIFFID);
|
|
foreach (ICSEQPWeeklyMaintenance item in list)
|
|
{
|
|
var lineDateEx = db.ICSDateDiff.SingleOrDefault(a => a.ID == item.DATEDIFFID);
|
|
if (lineDateEx.TYPE != "RPS")
|
|
{
|
|
continue;
|
|
}
|
|
if (lineDateEx.BEGINTIME > lineDateCurrent.ENDTIME || lineDateEx.ENDTIME < lineDateCurrent.BEGINTIME)
|
|
{
|
|
continue;
|
|
}
|
|
else
|
|
{
|
|
throw new Exception("维护时间段(" + lineDateCurrent.BEGINTIME + "~" + lineDateCurrent.ENDTIME
|
|
+ ")与已有时间段(" + lineDateEx.BEGINTIME + "~" + lineDateEx.ENDTIME
|
|
+ ")有重叠");
|
|
}
|
|
}
|
|
line.DATEDIFFID = info.DATEDIFFID;
|
|
line.MTIME = info.MTIME;
|
|
line.MUSERName = info.MUSERName;
|
|
line.Available = info.Available;
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
finally
|
|
{
|
|
db.Connection.Close();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 单设备一次性维护多个时间段
|
|
/// </summary>
|
|
/// <param name="EQPID">设备id</param>
|
|
/// <param name="Available">启用</param>
|
|
/// <param name="listDATEDIFFID">时间段id</param>
|
|
/// <param name="MUSERName">用户名</param>
|
|
/// <param name="MTIME">维护时间</param>
|
|
/// <param name="WorkPoint">站点</param>
|
|
/// <param name="dsconn">conn</param>
|
|
public static void Edit4OneEQ(string EQPID, bool Available, List<string> listDATEDIFFID, string MUSERName, DateTime MTIME, string WorkPoint, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var linesDel = db.ICSEQPWeeklyMaintenance.Where(a => a.EQPID == EQPID);
|
|
db.ICSEQPWeeklyMaintenance.DeleteAllOnSubmit(linesDel);
|
|
List<ICSEQPWeeklyMaintenance> linesInsert = new List<ICSEQPWeeklyMaintenance>();
|
|
foreach (var DATEDIFFID in listDATEDIFFID)
|
|
{
|
|
ICSEQPWeeklyMaintenance line = new ICSEQPWeeklyMaintenance();
|
|
line.EQPID = EQPID;
|
|
line.DATEDIFFID = DATEDIFFID;
|
|
line.MTIME = MTIME;
|
|
line.MUSERName = MUSERName;
|
|
line.WorkPoint = WorkPoint;
|
|
line.Available = Available;
|
|
linesInsert.Add(line);
|
|
}
|
|
db.ICSEQPWeeklyMaintenance.InsertAllOnSubmit(linesInsert);
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
finally
|
|
{
|
|
db.Connection.Close();
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 批量导入
|
|
/// </summary>
|
|
/// <param name="list"></param>
|
|
/// <param name="WorkPoint"></param>
|
|
/// <param name="dsconn"></param>
|
|
public static void Import(List<ICSEQPWeeklyMaintenance> list, string WorkPoint, string dsconn)
|
|
{
|
|
throw new Exception("暂不支持");
|
|
}
|
|
|
|
public static void Edit4OneEQ(string EQPID, List<ICSEQPWeeklyMaintenance> list, string dsconn)
|
|
{
|
|
FramDataContext db = new FramDataContext(dsconn);
|
|
db.Connection.Open();
|
|
db.Transaction = db.Connection.BeginTransaction();
|
|
try
|
|
{
|
|
var linesDel = db.ICSEQPWeeklyMaintenance.Where(a => a.EQPID == EQPID);
|
|
db.ICSEQPWeeklyMaintenance.DeleteAllOnSubmit(linesDel);
|
|
db.ICSEQPWeeklyMaintenance.InsertAllOnSubmit(list);
|
|
db.SubmitChanges();
|
|
db.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
db.Transaction.Rollback();
|
|
throw ex;
|
|
}
|
|
finally
|
|
{
|
|
db.Connection.Close();
|
|
}
|
|
}
|
|
}
|
|
}
|