using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace Core.LgMes.Server.lgClassModel
{
///
/// 通用类模型
///
#region " GeneralModel "
[Serializable]
class GeneralModel
{
}
#endregion
#region " 实时跟踪信息模型类 TrackObjectInfo "
[Serializable]
public class TrackObjectInfo
{
public TrackObjectInfo()
{
hList = new Hashlist();
}
#region 变量定义
public Hashlist hList;
#endregion
#region 公用方法
public void ClearElement()
{
hList.Clear();
}
#region
public void Add(ref TPM_TrackObjectInfor TrackObjectInfor)
{
TPM_TrackObjectInfor tmpTrackObjectInfor = null;
tmpTrackObjectInfor = (TPM_TrackObjectInfor)hList[TrackObjectInfor.OBJECTPOS];
if (tmpTrackObjectInfor == null)
{
hList.Add(TrackObjectInfor.OBJECTPOS, TrackObjectInfor);
}
}
//当前没有信息从缓存中添加 增加协调
public void AddElement(ref TrackObjectInfo obj)
{
TPM_TrackObjectInfor tmpTrackObjectInfo = null;
int Count = obj.hList.Count;
for (int i = 0; i < Count; i++)
{
tmpTrackObjectInfo = (TPM_TrackObjectInfor)obj.hList[i];
if (tmpTrackObjectInfo != null)
{
TPM_TrackObjectInfor TrackObjectInfor = null;
TrackObjectInfor = (TPM_TrackObjectInfor)hList[tmpTrackObjectInfo.OBJECTPOS];
if (TrackObjectInfor != null)
{
TrackObjectInfor.Copy(ref tmpTrackObjectInfo);
}
else
{
TrackObjectInfor = new TPM_TrackObjectInfor();
TrackObjectInfor.Copy(ref tmpTrackObjectInfo);
hList.Add(TrackObjectInfor.OBJECTPOS, TrackObjectInfor);
}
}
}
}
//缓存中没有数据移除 移除协调
public void RemoveElement(ref TrackObjectInfo obj)
{
TPM_TrackObjectInfor tmpTrackObjectInfo = null;
int Count = hList.Count;
for (int i = 0; i < Count; i++)
{
tmpTrackObjectInfo = (TPM_TrackObjectInfor)hList[i];
if (tmpTrackObjectInfo != null)
{
TPM_TrackObjectInfor TrackObjectInfo = null;
TrackObjectInfo = (TPM_TrackObjectInfor)obj.hList[tmpTrackObjectInfo.OBJECTPOS];
if (TrackObjectInfo == null)
{
hList.Remove(tmpTrackObjectInfo.OBJECTPOS);
i = i - 1;
Count = Count - 1;
}
}
}
}
//数据协调
public void DataHarmonize(ref TrackObjectInfo obj)
{
AddElement(ref obj);
RemoveElement(ref obj);
}
#endregion
#endregion
}
#endregion
#region " 工艺计划信息 CraftPlan "
[Serializable]
public class CraftPlan
{
public CraftPlan()
{
hList = new Hashlist();
}
public Hashlist hList;
#region 公用方法
public void ClearElement()
{
hList.Clear();
}
#region
public void Add(ref JOB_CRAFTINFO PLAN)
{
JOB_CRAFTINFO tmpPLAN = null;
tmpPLAN = (JOB_CRAFTINFO)hList[PLAN.HEATNO];
if (tmpPLAN == null)
{
hList.Add(PLAN.HEATNO, PLAN);
}
}
//当前没有信息从缓存中添加 增加协调
public void AddElement(ref CraftPlan obj)
{
JOB_CRAFTINFO tmpPLAN = null;
int Count = obj.hList.Count;
for (int i = 0; i < Count; i++)
{
tmpPLAN = (JOB_CRAFTINFO)obj.hList[i];
if (tmpPLAN != null)
{
JOB_CRAFTINFO PLAN = null;
PLAN = (JOB_CRAFTINFO)hList[tmpPLAN.HEATNO];
if (PLAN != null)
{
PLAN.Copy(ref tmpPLAN);
}
else
{
PLAN = new JOB_CRAFTINFO();
PLAN.Copy(ref tmpPLAN);
hList.Add(PLAN.HEATNO, PLAN);
}
}
}
}
//缓存中没有数据移除 移除协调
public void RemoveElement(ref CraftPlan obj)
{
JOB_CRAFTINFO tmpPLAN = null;
int Count = hList.Count;
for (int i = 0; i < Count; i++)
{
tmpPLAN = (JOB_CRAFTINFO)hList[i];
if (tmpPLAN != null)
{
JOB_CRAFTINFO PLAN = null;
PLAN = (JOB_CRAFTINFO)obj.hList[tmpPLAN.HEATNO];
if (PLAN == null)
{
hList.Remove(tmpPLAN.HEATNO);
i = i - 1;
Count = Count - 1;
}
}
}
}
//数据协调
public void DataHarmonize(ref CraftPlan obj)
{
AddElement(ref obj);
RemoveElement(ref obj);
}
#endregion
#endregion
}
#endregion
#region " 工艺化学成分 CraftElement "
[Serializable]
public class CraftElement
{
public CraftElement()
{
hList = new Hashlist();
}
public Hashlist hList;
#region 公用方法
public void ClearElement()
{
hList.Clear();
}
#region
public void Add(ref JOB_CHEMELEMENT LGHXJYZ)
{
JOB_CHEMELEMENT tmpLGHXJYZ = null;
tmpLGHXJYZ = (JOB_CHEMELEMENT)hList[LGHXJYZ.CHECKNO];
if (tmpLGHXJYZ == null)
{
hList.Add(LGHXJYZ.CHECKNO, LGHXJYZ);
}
}
//当前没有信息从缓存中添加 增加协调
public void AddElement(ref CraftElement obj)
{
JOB_CHEMELEMENT tmpLGHXJYZ = null;
int Count = obj.hList.Count;
for (int i = 0; i < Count; i++)
{
tmpLGHXJYZ = (JOB_CHEMELEMENT)obj.hList[i];
if (tmpLGHXJYZ != null)
{
JOB_CHEMELEMENT LGHXJYZ = null;
LGHXJYZ = (JOB_CHEMELEMENT)hList[tmpLGHXJYZ.CHECKNO];
if (LGHXJYZ != null)
{
LGHXJYZ.Copy(ref tmpLGHXJYZ);
}
else
{
LGHXJYZ = new JOB_CHEMELEMENT();
LGHXJYZ.Copy(ref tmpLGHXJYZ);
hList.Add(LGHXJYZ.CHECKNO, LGHXJYZ);
}
}
}
}
//缓存中没有数据移除 移除协调
public void RemoveElement(ref CraftElement obj)
{
JOB_CHEMELEMENT tmpLGHXJYZ = null;
int Count = hList.Count;
for (int i = 0; i < Count; i++)
{
tmpLGHXJYZ = (JOB_CHEMELEMENT)hList[i];
if (tmpLGHXJYZ != null)
{
JOB_CHEMELEMENT LGHXJYZ = null;
LGHXJYZ = (JOB_CHEMELEMENT)obj.hList[tmpLGHXJYZ.CHECKNO];
if (LGHXJYZ == null)
{
hList.Remove(tmpLGHXJYZ.CHECKNO);
i = i - 1;
Count = Count - 1;
}
}
}
}
//数据协调
public void DataHarmonize(ref CraftElement obj)
{
AddElement(ref obj);
RemoveElement(ref obj);
}
#endregion
#endregion
}
#endregion
#region " 通用的过程添加料模型 CommonAdditive "
[Serializable]
public class CommonAdditive
{
public CommonAdditive()
{
hList = new Hashlist();
}
public Hashlist hList;
#region 公用方法
public void ClearElement()
{
hList.Clear();
}
#region
public void Add(ref STL_COMMON_ADDITIVES GCTJJ)
{
STL_COMMON_ADDITIVES tmpGCTJJ = null;
string szKey = GCTJJ.HEATNO + GCTJJ.STATIONCODE + GCTJJ.DISPOSALTIME + GCTJJ.MATERIELCODE + GCTJJ.MATERIELTYPE + GCTJJ.HOPPERNUMID;
tmpGCTJJ = (STL_COMMON_ADDITIVES)hList[szKey];
if (tmpGCTJJ == null)
{
hList.Add(szKey, GCTJJ);
}
}
//当前没有信息从缓存中添加 增加协调
public void AddElement(ref CommonAdditive obj)
{
STL_COMMON_ADDITIVES tmpGCTJJ = null;
int Count = obj.hList.Count;
for (int i = 0; i < Count; i++)
{
tmpGCTJJ = (STL_COMMON_ADDITIVES)obj.hList[i];
if (tmpGCTJJ != null)
{
string szKey = tmpGCTJJ.HEATNO + tmpGCTJJ.STATIONCODE + tmpGCTJJ.DISPOSALTIME + tmpGCTJJ.MATERIELCODE + tmpGCTJJ.MATERIELTYPE + tmpGCTJJ.HOPPERNUMID;
STL_COMMON_ADDITIVES GCTJJ = null;
GCTJJ = (STL_COMMON_ADDITIVES)hList[szKey];
if (GCTJJ != null)
{
GCTJJ.Copy(ref tmpGCTJJ);
}
else
{
GCTJJ = new STL_COMMON_ADDITIVES();
GCTJJ.Copy(ref tmpGCTJJ);
hList.Add(szKey, GCTJJ);
}
}
}
}
//缓存中没有数据移除 移除协调
public void RemoveElement(ref CommonAdditive obj)
{
STL_COMMON_ADDITIVES tmpGCTJJ = null;
int Count = hList.Count;
for (int i = 0; i < Count; i++)
{
tmpGCTJJ = (STL_COMMON_ADDITIVES)hList[i];
if (tmpGCTJJ != null)
{
string szKey = tmpGCTJJ.HEATNO + tmpGCTJJ.STATIONCODE + tmpGCTJJ.DISPOSALTIME + tmpGCTJJ.MATERIELCODE + tmpGCTJJ.MATERIELTYPE + tmpGCTJJ.HOPPERNUMID;
STL_COMMON_ADDITIVES GCTJJ = null;
GCTJJ = (STL_COMMON_ADDITIVES)obj.hList[szKey];
if (GCTJJ == null)
{
hList.Remove(szKey);
i = i - 1;
Count = Count - 1;
}
}
}
}
//数据协调
public void DataHarmonize(ref CommonAdditive obj)
{
AddElement(ref obj);
RemoveElement(ref obj);
}
#endregion
#endregion
}
#endregion
#region " 转炉过程添加剂 BofAdditive "
[Serializable]
public class BofAdditive
{
public BofAdditive()
{
hList = new Hashlist();
}
public Hashlist hList;
#region 公用方法
public void ClearElement()
{
hList.Clear();
}
#region
public void Add(ref JOB_BOF_ADDITIVES ZLGCTJJ)
{
JOB_BOF_ADDITIVES tmpZLGCTJJ = null;
string szKey = ZLGCTJJ.HEATPROCESSNO + ZLGCTJJ.MATERIELCODE + ZLGCTJJ.MATERIELTYPE + ZLGCTJJ.HOPPERNUMID;
tmpZLGCTJJ = (JOB_BOF_ADDITIVES)hList[szKey];
if (tmpZLGCTJJ == null)
{
hList.Add(szKey, ZLGCTJJ);
}
}
//当前没有信息从缓存中添加 增加协调
public void AddElement(ref BofAdditive obj)
{
JOB_BOF_ADDITIVES tmpZLGCTJJ = null;
int Count = obj.hList.Count;
for (int i = 0; i < Count; i++)
{
tmpZLGCTJJ = (JOB_BOF_ADDITIVES)obj.hList[i];
if (tmpZLGCTJJ != null)
{
string szKey = tmpZLGCTJJ.HEATPROCESSNO + tmpZLGCTJJ.MATERIELCODE + tmpZLGCTJJ.MATERIELTYPE + tmpZLGCTJJ.HOPPERNUMID;
JOB_BOF_ADDITIVES ZLGCTJJ = null;
ZLGCTJJ = (JOB_BOF_ADDITIVES)hList[szKey];
if (ZLGCTJJ != null)
{
ZLGCTJJ.Copy(ref tmpZLGCTJJ);
}
else
{
ZLGCTJJ = new JOB_BOF_ADDITIVES();
ZLGCTJJ.Copy(ref tmpZLGCTJJ);
hList.Add(szKey, ZLGCTJJ);
}
}
}
}
//缓存中没有数据移除 移除协调
public void RemoveElement(ref BofAdditive obj)
{
JOB_BOF_ADDITIVES tmpZLGCTJJ = null;
int Count = hList.Count;
for (int i = 0; i < Count; i++)
{
tmpZLGCTJJ = (JOB_BOF_ADDITIVES)hList[i];
if (tmpZLGCTJJ != null)
{
string szKey = tmpZLGCTJJ.HEATPROCESSNO + tmpZLGCTJJ.MATERIELCODE + tmpZLGCTJJ.MATERIELTYPE + tmpZLGCTJJ.HOPPERNUMID;
JOB_BOF_ADDITIVES ZLGCTJJ = null;
ZLGCTJJ = (JOB_BOF_ADDITIVES)obj.hList[szKey];
if (ZLGCTJJ == null)
{
hList.Remove(szKey);
i = i - 1;
Count = Count - 1;
}
}
}
}
//数据协调
public void DataHarmonize(ref BofAdditive obj)
{
AddElement(ref obj);
RemoveElement(ref obj);
}
#endregion
#endregion
}
#endregion
#region " 吹氩过程添加剂 CasAdditive "
[Serializable]
public class CasAdditive
{
public CasAdditive()
{
hList = new Hashlist();
}
public Hashlist hList;
#region 公用方法
public void ClearElement()
{
hList.Clear();
}
#region
public void Add(ref JOB_CAS_ADDITIVES ZLGCTJJ)
{
JOB_CAS_ADDITIVES tmpZLGCTJJ = null;
string szKey = ZLGCTJJ.HEATPROCESSNO + ZLGCTJJ.MATERIELCODE + ZLGCTJJ.MATERIELTYPE + ZLGCTJJ.HOPPERNUMID;
tmpZLGCTJJ = (JOB_CAS_ADDITIVES)hList[szKey];
if (tmpZLGCTJJ == null)
{
hList.Add(szKey, ZLGCTJJ);
}
}
//当前没有信息从缓存中添加 增加协调
public void AddElement(ref CasAdditive obj)
{
JOB_CAS_ADDITIVES tmpZLGCTJJ = null;
int Count = obj.hList.Count;
for (int i = 0; i < Count; i++)
{
tmpZLGCTJJ = (JOB_CAS_ADDITIVES)obj.hList[i];
if (tmpZLGCTJJ != null)
{
string szKey = tmpZLGCTJJ.HEATPROCESSNO + tmpZLGCTJJ.MATERIELCODE + tmpZLGCTJJ.MATERIELTYPE + tmpZLGCTJJ.HOPPERNUMID;
JOB_CAS_ADDITIVES ZLGCTJJ = null;
ZLGCTJJ = (JOB_CAS_ADDITIVES)hList[szKey];
if (ZLGCTJJ != null)
{
ZLGCTJJ.Copy(ref tmpZLGCTJJ);
}
else
{
ZLGCTJJ = new JOB_CAS_ADDITIVES();
ZLGCTJJ.Copy(ref tmpZLGCTJJ);
hList.Add(szKey, ZLGCTJJ);
}
}
}
}
//缓存中没有数据移除 移除协调
public void RemoveElement(ref CasAdditive obj)
{
JOB_CAS_ADDITIVES tmpZLGCTJJ = null;
int Count = hList.Count;
for (int i = 0; i < Count; i++)
{
tmpZLGCTJJ = (JOB_CAS_ADDITIVES)hList[i];
if (tmpZLGCTJJ != null)
{
string szKey = tmpZLGCTJJ.HEATPROCESSNO + tmpZLGCTJJ.MATERIELCODE + tmpZLGCTJJ.MATERIELTYPE + tmpZLGCTJJ.HOPPERNUMID;
JOB_CAS_ADDITIVES ZLGCTJJ = null;
ZLGCTJJ = (JOB_CAS_ADDITIVES)obj.hList[szKey];
if (ZLGCTJJ == null)
{
hList.Remove(szKey);
i = i - 1;
Count = Count - 1;
}
}
}
}
//数据协调
public void DataHarmonize(ref CasAdditive obj)
{
AddElement(ref obj);
RemoveElement(ref obj);
}
#endregion
#endregion
}
#endregion
#region " 精炼炉过程添加剂 LfsAdditive "
[Serializable]
public class LfsAdditive
{
public LfsAdditive()
{
hList = new Hashlist();
}
public Hashlist hList;
#region 公用方法
public void ClearElement()
{
hList.Clear();
}
#region
public void Add(ref JOB_LFS_ADDITIVES GBLGCTJJ)
{
JOB_LFS_ADDITIVES tmpGBLGCTJJ = null;
string szKey = GBLGCTJJ.HEATPROCESSNO + GBLGCTJJ.MATERIELCODE + GBLGCTJJ.MATERIELTYPE + GBLGCTJJ.HOPPERNUMID;
tmpGBLGCTJJ = (JOB_LFS_ADDITIVES)hList[szKey];
if (tmpGBLGCTJJ == null)
{
hList.Add(szKey, GBLGCTJJ);
}
}
// 当前没有信息从缓存中添加 增加协调
public void AddElement(ref LfsAdditive obj)
{
JOB_LFS_ADDITIVES tmpGBLGCTJJ = null;
int Count = obj.hList.Count;
for (int i = 0; i < Count; i++)
{
tmpGBLGCTJJ = (JOB_LFS_ADDITIVES)obj.hList[i];
if (tmpGBLGCTJJ != null)
{
string szKey = tmpGBLGCTJJ.HEATPROCESSNO + tmpGBLGCTJJ.MATERIELCODE + tmpGBLGCTJJ.MATERIELTYPE + tmpGBLGCTJJ.HOPPERNUMID;
JOB_LFS_ADDITIVES GBLGCTJJ = null;
GBLGCTJJ = (JOB_LFS_ADDITIVES)hList[szKey];
if (GBLGCTJJ != null)
{
GBLGCTJJ.Copy(ref tmpGBLGCTJJ);
}
else
{
GBLGCTJJ = new JOB_LFS_ADDITIVES();
GBLGCTJJ.Copy(ref tmpGBLGCTJJ);
hList.Add(szKey, GBLGCTJJ);
}
}
}
}
//缓存中没有数据移除 移除协调
public void RemoveElement(ref LfsAdditive obj)
{
JOB_LFS_ADDITIVES tmpGBLGCTJJ = null;
int Count = hList.Count;
for (int i = 0; i < Count; i++)
{
tmpGBLGCTJJ = (JOB_LFS_ADDITIVES)hList[i];
if (tmpGBLGCTJJ != null)
{
string szKey = tmpGBLGCTJJ.HEATPROCESSNO + tmpGBLGCTJJ.MATERIELCODE + tmpGBLGCTJJ.MATERIELTYPE + tmpGBLGCTJJ.HOPPERNUMID;
JOB_LFS_ADDITIVES GBLGCTJJ = null;
GBLGCTJJ = (JOB_LFS_ADDITIVES)obj.hList[szKey];
if (GBLGCTJJ == null)
{
hList.Remove(szKey);
i = i - 1;
Count = Count - 1;
}
}
}
}
//数据协调
public void DataHarmonize(ref LfsAdditive obj)
{
AddElement(ref obj);
RemoveElement(ref obj);
}
#endregion
#endregion
}
#endregion
#region " Hashlist "
[Serializable]
public class Hashlist : IDictionary, IEnumerable, IDisposable
{
#region 成员变量
protected ArrayList m_oKeys;// = new ArrayList();
///
/// 数据存放Hash列表,主要是为了加快数据存放速度
///
protected Hashtable m_oValues;// = new Hashtable();
#endregion
#region " Construct Function "
public Hashlist()
{
m_oKeys = new ArrayList();
m_oValues = new Hashtable();
}
#endregion
#region ICollection 接口派生函数
///
/// 数据节点个数
///
public int Count
{
get { return m_oValues.Count; }
}
///
///
///
public bool IsSynchronized
{
get { return m_oValues.IsSynchronized; }
}
///
///
///
public object SyncRoot
{
get { return m_oValues.SyncRoot; }
}
///
///
///
///
///
public void CopyTo(System.Array oArray, int iArrayIndex)
{
m_oValues.CopyTo(oArray, iArrayIndex);
}
#endregion
#region IDictionary 接口函数
///
///
///
///
///
public void Add(object oKey, object oValue)
{
m_oKeys.Add(oKey);
m_oValues.Add(oKey, oValue);
}
///
///
///
public bool IsFixedSize
{
get { return m_oKeys.IsFixedSize; }
}
///
///
///
public bool IsReadOnly
{
get { return m_oKeys.IsReadOnly; }
}
///
///
///
public ICollection Keys
{
get { return m_oValues.Keys; }
}
///
///
///
public void Clear()
{
m_oValues.Clear();
m_oKeys.Clear();
}
///
///
///
///
///
public bool Contains(object oKey)
{
return m_oValues.Contains(oKey);
}
///
///
///
///
///
public bool ContainsKey(object oKey)
{
return m_oValues.ContainsKey(oKey);
}
///
///
///
///
public IDictionaryEnumerator GetEnumerator()
{
return m_oValues.GetEnumerator();
}
///
///
///
///
public void Remove(object oKey)
{
m_oValues.Remove(oKey);
m_oKeys.Remove(oKey);
}
///
///
///
public object this[object oKey]
{
get { return m_oValues[oKey]; }
set { m_oValues[oKey] = value; }
}
///
///
///
public ICollection Values
{
get { return m_oValues.Values; }
}
#endregion
#region IEnumerable 接口
IEnumerator IEnumerable.GetEnumerator()
{
return m_oValues.GetEnumerator();
}
#endregion
#region Hashlist 实现的查询对象
///
///
///
public object this[string Key]
{
get { return m_oValues[Key]; }
}
///
///
///
public object this[int Index]
{
get { return m_oValues[m_oKeys[Index]]; }
}
#endregion
#region IDisposable 数据销毁接口
public void Dispose()
{
m_oKeys.Clear();
}
#endregion
}
#endregion
}