AHTC/RGD/RGD.DataService/CGeneralFunction.cs

1333 lines
51 KiB
C#
Raw Permalink Normal View History

2025-05-19 09:22:33 +08:00
using RGD.DBUtility;
using System;
using System.Data;
namespace RGD.DataService
{
public static class CGeneralFunction
{
private static Model.MDevice devinfo;
/// <summary>
/// ˫<><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="monitorIndex"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static bool DoubleForkIfSync(int monitorIndex, int devIndex, int devKind)
{//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߸<EFBFBD><DFB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񣩣<EFBFBD><F1A3A9A3><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD>
//<2F><><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><D6A3><EFBFBD>ô<EFBFBD><C3B4>Ϊ<EFBFBD><CEAA>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20100323
int mankind = GetManageTaskKindIndexFromMonitor(monitorIndex);
int FID = GetManageTaskIndexfromMonitor(monitorIndex);
int devOrder = GetDeviceOrderFromMonitor(monitorIndex);
int dfx = GetDoubleForkX(mankind, FID, devIndex, devOrder);
int mx = GetXCoorFromMonitor(monitorIndex, devIndex, devOrder);
int dfy = GetDoubleForkY(mankind, FID, devIndex, devOrder);
int my = GetYCoorFromMonitor(monitorIndex, devIndex, devOrder);
int dfz = GetDoubleForkZ(mankind, FID, devIndex, devOrder);
int mz = GetZCoorFromMonitor(monitorIndex, devIndex, devOrder);
if (GetDoubleForkUnIntoStep(monitorIndex) == true) return true;
switch (devKind)
{
case 1:
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸<EFBFBD><CDB8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>1121<32><31>1122<32><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC>
if (1 == GetDoubleForkX(mankind, FID, devIndex, devOrder) && (GetXCoorFromMonitor(monitorIndex, devIndex, devOrder) == 1))
{
return true;
}
//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ţ<EFBFBD>ͬ<EFBFBD><EFBFBD><E3A3AC><EFBFBD>п<EFBFBD><D0BF><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ST_CELL<4C><4C>FDoubleForkֵƥ<D6B5><C6A5>
if ((Math.Abs(dfx - mx) == 1) && (dfy == my) && (mz == dfz))
{
if (EqualMonitorDoubleFork(mankind, FID, devIndex, devOrder) == true)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
case 2:
//<2F><><EFBFBD>ͻ<EFBFBD>ͬ<EFBFBD><CDAC>
return true;
case 6:
//AGV<47><56><EFBFBD>п<EFBFBD><D0BF><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ST_CELL<4C><4C>F_UseAwayForkֵƥ<D6B5><C6A5>
if (Math.Abs(dfx - mx) == 1)
{
if (EqualAGVGateDoubleFork(mankind, FID, devIndex, devOrder) == true)
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
default:
return false;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD>ƵĶѶ<C4B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񣩵<EFBFBD>ֵ
/// </summary>
/// <param name="monitorIndex"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static string GetUseAwayFork(int monitorIndex)
{
DataView dv = DbHelperSQL.Query("SELECT F_UseAwayFork FROM T_Monitor_Task WHERE (F_MonitorIndex = " + monitorIndex + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
return dv[0][0].ToString();
}
else
{
return "-";
}
}
/// <summary>
/// <20><>ȡ˫<C8A1><CBAB><EFBFBD><EFBFBD><EFBFBD>ƵĶѶ<C4B6><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δָ<CEB4><D6B8>Ӧ<EFBFBD><D3A6>ʹ<EFBFBD><CAB9><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3A9>0<EFBFBD><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棻1Զ<31><D4B6><EFBFBD><EFBFBD>
/// </summary>
/// <param name="z"><3E><></param>
/// <param name="x"><3E><></param>
/// <param name="y"><3E><></param>
/// <param name="FWAREHOUSE"><3E>ⷿ<EFBFBD><E2B7BF><EFBFBD><EFBFBD></param>
/// <param name="Mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="ManFID"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="devIndex"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="devOrder">ָ<><D6B8></param>
/// <returns></returns>
public static int GetUseAwayFork(int monitorIndex, int devIndex, int devOrder)
{
int z = GetZCoorFromMonitor(monitorIndex, devIndex, devOrder);
int x = GetXCoorFromMonitor(monitorIndex, devIndex, devOrder);
int y = GetYCoorFromMonitor(monitorIndex, devIndex, devOrder);
string FWAREHOUSE = GetWAREHOUSEFromSTCELL(devIndex);
int Mankind = GetManageTaskKindIndexFromMonitor(monitorIndex);
int ManFID = GetManageTaskIndexfromMonitor(monitorIndex);
DataView dv; int UseAwayFork = 1;
try
{
dv = DbHelperSQL.Query("SELECT FDoubleFork FROM ST_CELL WHERE (FWAREHOUSE='" + FWAREHOUSE
+ "') and (F_Z = " + z + ") AND (F_X = " + x + ") AND (F_Y = " + y + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
UseAwayFork = Convert.ToInt32(dv[0][0]);
}
else
{
UseAwayFork = 0;
}
switch (UseAwayFork)
{
case 0://<2F><><EFBFBD><EFBFBD><EFBFBD>κ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
int xcoor = GetDoubleForkX(Mankind, ManFID, devIndex, devOrder);
if (xcoor != -1)
{
//<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>λ<EFBFBD>ж<EFBFBD>ʹ<EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (xcoor != x)
{
if (xcoor < x)
{
UseAwayFork = 1;
}
else
{
UseAwayFork = 0;
}
}
else
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD>ģ<EFBFBD><C4A3>жϲ<D0B6><CFB2><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int ycoor = GetDoubleForkY(Mankind, ManFID, devIndex, devOrder);
if (ycoor != -1)
{
if (ycoor != y)
{
if (ycoor < y)
{
UseAwayFork = 1;
}
else
{
UseAwayFork = 0;
}
}
else
{
//<2F>кͲ㶼<CDB2><E3B6BC>ͬ<EFBFBD>ģ<EFBFBD><C4A3>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int zcoor = GetDoubleForkZ(Mankind, ManFID, devIndex, devOrder);
if (zcoor != -1)
{
if (zcoor != z)
{
if (zcoor < z)
{
UseAwayFork = 1;
}
else
{
UseAwayFork = 0;
}
}
}
}
}
}
}
else
{
UseAwayFork = 1;
}
break;
case 1://ֻ<><D6BB><EFBFBD>ý<EFBFBD><C3BD><EFBFBD>
UseAwayFork = 0;
break;
case 2://ֻ<><D6BB><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>
UseAwayFork = 1;
break;
}
return UseAwayFork;
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
public static int GetDoubleForkFromST_CELL(int z, int x, int y, string FWAREHOUSE)
{
DataView dv; int UseAwayFork = 1;
try
{
dv = DbHelperSQL.Query("SELECT FDoubleFork FROM ST_CELL WHERE (FWAREHOUSE='" + FWAREHOUSE
+ "') and (F_Z = " + z + ") AND (F_X = " + x + ") AND (F_Y = " + y + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
UseAwayFork = Convert.ToInt32(dv[0][0]);
}
else
{
UseAwayFork = 0;
}
return UseAwayFork;
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
public static string GetWAREHOUSEFromSTCELL(int stackIndex)
{
DataView dv;
try
{
dv = DbHelperSQL.Query("SELECT FWAREHOUSE FROM ST_CELL WHERE (FStack = " + stackIndex + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
return dv[0][0].ToString();
}
else
{
return "";
}
}
catch (Exception ex)
{
throw ex;
}
finally { dv = null; }
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="fid"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="devIdx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="devOrder"><3E>豸ָ<E8B1B8><D6B8></param>
/// <returns></returns>
public static int GetDoubleForkX(int mankind, int fid, int devIdx, int devOrder)
{
DataView dv;
string xc = "F_NumParam2";
if (GetDeviceKindIdx(devIdx) == 1)
{
if (devOrder == 4)
{
xc = "F_NumParam2";
}
else if (devOrder == 5)
{
xc = "F_NumParam5";
}
}
try
{
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DataView dv0 = DbHelperSQL.Query("select F_RELATIVECONTORLID from T_Manage_Task where (FID = " +
fid + ") AND (F_ManageTaskKindIndex = " + mankind + ")").Tables[0].DefaultView;
if (dv0.Count == 0) return -1;
string sql = "SELECT " + xc + " FROM T_Monitor_Task Where ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind
+ ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ") AND (T_Monitor_Task.F_ManageTaskIndex=" + dv0[0]["F_RELATIVECONTORLID"] + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][xc]);
}
dv0 = DbHelperSQL.Query("select T_Manage_Task.FID from T_Manage_Task where (T_Manage_Task.F_ManageTaskKindIndex = " + mankind + ") AND (F_RELATIVECONTORLID = " +
fid + ")").Tables[0].DefaultView;
if (dv0.Count == 0) return -1;
//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT " + xc + " FROM T_Monitor_Task Where ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder
+ ") and (T_Monitor_Task.F_ManageTaskIndex= " + dv0[0]["FID"] + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][xc]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="fid"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="devIdx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="devOrder"><3E>豸ָ<E8B1B8><D6B8></param>
/// <returns></returns>
public static int GetDoubleForkY(int mankind, int fid, int devIdx, int devOrder)
{
DataView dv;
string yc = "F_NumParam3";
if (GetDeviceKindIdx(devIdx) == 1)
{
if (devOrder == 4)
{
yc = "F_NumParam3";
}
else if (devOrder == 5)
{
yc = "F_NumParam6";
}
}
try
{
//string aa22 = DateTime.Now.Second.ToString() + "-" + DateTime.Now.Millisecond.ToString();
DataView dv0 = DbHelperSQL.Query("select F_RELATIVECONTORLID from T_Manage_Task where FID = " +
fid + " and F_ManageTaskKindIndex=" + mankind + "").Tables[0].DefaultView;
if (dv0.Count == 0) return -1;
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
string sql = "SELECT " + yc + " FROM T_Monitor_Task Where (T_Monitor_Task.F_ManageTaskIndex=" + dv0[0]["F_RELATIVECONTORLID"] + " " +
" ) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][yc]);
}
dv0 = DbHelperSQL.Query("select FID from T_Manage_Task where F_RELATIVECONTORLID = " +
fid + " and F_ManageTaskKindIndex=" + mankind + "").Tables[0].DefaultView;
if (dv0.Count == 0) return -1;
//string aa212 = DateTime.Now.Second.ToString() + "-" + DateTime.Now.Millisecond.ToString();
//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT " + yc + " FROM T_Monitor_Task Where (T_Monitor_Task.F_ManageTaskIndex=" + dv0[0]["FID"] + " " +
") and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
//string aa2qq2 = DateTime.Now.Second.ToString() + "-" + DateTime.Now.Millisecond.ToString();
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][yc]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="fid"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="devIdx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="devOrder"><3E>豸ָ<E8B1B8><D6B8></param>
/// <returns></returns>
public static int GetDoubleForkZ(int mankind, int fid, int devIdx, int devOrder)
{
DataView dv;
string zc = "F_NumParam1";
if (GetDeviceKindIdx(devIdx) == 1)
{
if (devOrder == 4)
{
zc = "F_NumParam1";
}
else if (devOrder == 5)
{
zc = "F_NumParam4";
}
}
try
{
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string sql = "SELECT " + zc + " FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.F_RELATIVECONTORLID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (FID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][zc]);
}
//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT " + zc + " FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.FID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (F_RELATIVECONTORLID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][zc]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ST_CELL<4C><4C><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ĸ<EFBFBD><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ͬ
/// </summary>
/// <param name="mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="fid"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="devIdx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="devOrder"><3E>豸ָ<E8B1B8><D6B8></param>
/// <returns></returns>
public static bool EqualMonitorDoubleFork(int mankind, int fid, int devIdx, int devOrder)
{
DataView dv; char DoubleFork = '0', DoubleFork1 = '0';
string xc = "F_NumParam2"; string yc = "F_NumParam3"; string zc = "F_NumParam1";
if (GetDeviceKindIdx(devIdx) == 1)
{
if ((devOrder == 4) || (devOrder == 2))
{
xc = "F_NumParam2";
yc = "F_NumParam3";
zc = "F_NumParam1";
}
else if ((devOrder == 5) || (devOrder == 3))
{
xc = "F_NumParam5";
yc = "F_NumParam6";
zc = "F_NumParam4";
}
}
try
{
int z = 0, x = 0, y = 0, z1 = 0, x1 = 0, y1 = 0;
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string sql = "SELECT " + zc + "," + xc + "," + yc + ",F_UseAwayFork FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.F_RELATIVECONTORLID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (FID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
z = Convert.ToInt32(dv[0][zc]);
x = Convert.ToInt32(dv[0][xc]);
y = Convert.ToInt32(dv[0][yc]);
DoubleFork = Convert.ToChar(dv[0]["F_UseAwayFork"]);
}
else
{
//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT " + zc + "," + xc + "," + yc + ",F_UseAwayFork FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.FID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (F_RELATIVECONTORLID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
z = Convert.ToInt32(dv[0][zc]);
x = Convert.ToInt32(dv[0][xc]);
y = Convert.ToInt32(dv[0][yc]);
DoubleFork = Convert.ToChar(dv[0]["F_UseAwayFork"]);
}
}
if ((z == 0) && (x == 0) && (y == 0))
{
return false;
}
else
{
sql = "SELECT " + zc + "," + xc + "," + yc + ",F_UseAwayFork FROM T_Monitor_Task Where ( F_ManageTASKKINDINDEX = " + mankind + ") AND (F_ManageTaskIndex = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
z1 = Convert.ToInt32(dv[0][zc]);
x1 = Convert.ToInt32(dv[0][xc]);
y1 = Convert.ToInt32(dv[0][yc]);
DoubleFork1 = Convert.ToChar(dv[0]["F_UseAwayFork"]);
if (((x1 > x) && (DoubleFork1 > DoubleFork)) || ((x > x1) && (DoubleFork > DoubleFork1)))
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T_Base_AGV_Gate<74><65><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD>ƥ<EFBFBD><C6A5>
/// </summary>
/// <param name="mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="fid"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="devIdx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="devOrder"><3E>豸ָ<E8B1B8><D6B8></param>
/// <returns></returns>
public static bool EqualAGVGateDoubleFork(int mankind, int fid, int devIdx, int devOrder)
{
DataView dv;
string xc = "F_NumParam2";
if (GetDeviceKindIdx(devIdx) == 6)
{
if (devOrder == 1)
{
xc = "F_NumParam2";
}
else if (devOrder == 2)
{
xc = "F_NumParam5";
}
else if (devOrder == 4)
{
xc = "F_NumParam5";
}
}
try
{
int x = 0, x1 = 0;
int channelleft = 0, channelleft1 = 0, xd = 0, xd1 = 0;
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string sql = "SELECT " + xc + " FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.F_RELATIVECONTORLID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (FID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
xd = Convert.ToInt32(dv[0][xc]);
dv = DbHelperSQL.Query("SELECT F_Sequence FROM T_Base_AGV_Gate WHERE (F_AGVGateDeviceIndex = " + xd + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
x = Convert.ToInt32(dv[0]["F_Sequence"]);
}
else
{
x = 0;
}
}
else
{
//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT " + xc + " FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.FID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (F_RELATIVECONTORLID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
xd = Convert.ToInt32(dv[0][xc]);
dv = DbHelperSQL.Query("SELECT F_Sequence FROM T_Base_AGV_Gate WHERE (F_AGVGateDeviceIndex = " + xd + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
x = Convert.ToInt32(dv[0]["F_Sequence"]);
}
else
{
x = 0;
}
}
}
if (x == 0)
{
return false;
}
else
{
sql = "SELECT " + xc + " FROM T_Monitor_Task Where ( F_ManageTASKKINDINDEX = " + mankind + ") AND (F_ManageTaskIndex = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
xd1 = Convert.ToInt32(dv[0][xc]);
dv = DbHelperSQL.Query("SELECT F_Sequence FROM T_Base_AGV_Gate WHERE (F_AGVGateDeviceIndex = " + xd1 + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
x1 = Convert.ToInt32(dv[0]["F_Sequence"]);
}
else
{
x1 = 0;
}
int DoubleFork = 0, DoubleFork1 = 0;
dv = DbHelperSQL.Query("SELECT F_UseAwayFork,F_IfChannelLeft FROM T_Base_AGV_Gate WHERE F_AGVGateDeviceIndex =" + xd).Tables[0].DefaultView;
if (dv.Count > 0)
{
DoubleFork = Convert.ToInt32(dv[0]["F_UseAwayFork"]);
channelleft = Convert.ToInt32(dv[0]["F_IfChannelLeft"]);
}
else
{
return false;
}
dv = DbHelperSQL.Query("SELECT F_UseAwayFork,F_IfChannelLeft FROM T_Base_AGV_Gate WHERE F_AGVGateDeviceIndex =" + xd1).Tables[0].DefaultView;
if (dv.Count > 0)
{
DoubleFork1 = Convert.ToInt32(dv[0]["F_UseAwayFork"]);
channelleft1 = Convert.ToInt32(dv[0]["F_IfChannelLeft"]);
}
else
{
return false;
}
if ((((x1 > x) && (DoubleFork1 > DoubleFork)) || ((x > x1) && (DoubleFork > DoubleFork1))) && (channelleft == channelleft1))
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ȡZ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="monitorIndex"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static int GetZCoorFromMonitor(int monitorIndex, int devIdx, int devOrder)
{
DataView dv;
string zc = "F_NumParam1";
if (GetDeviceKindIdx(devIdx) == 1)
{
if (devOrder == 2 || devOrder == 4)
{
zc = "F_NumParam1";
}
else if (devOrder == 3 || devOrder == 5)
{
zc = "F_NumParam4";
}
}
try
{
dv = DbHelperSQL.Query("SELECT " + zc + " FROM T_Monitor_Task WHERE (F_MonitorIndex = " + monitorIndex + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][0]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ȡX <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="monitorIndex"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static int GetXCoorFromMonitor(int monitorIndex, int devIdx, int devOrder)
{
DataView dv;
string xc = "F_NumParam2";
if (GetDeviceKindIdx(devIdx) == 1)
{
if (devOrder == 4)
{
xc = "F_NumParam2";
}
else if (devOrder == 5)
{
xc = "F_NumParam5";
}
}
try
{
dv = DbHelperSQL.Query("SELECT " + xc + " FROM T_Monitor_Task WHERE (F_MonitorIndex = " + monitorIndex + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][0]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ȡY <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="monitorIndex"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static int GetYCoorFromMonitor(int monitorIndex, int devIdx, int devOrder)
{
DataView dv;
string yc = "F_NumParam3";
if (GetDeviceKindIdx(devIdx) == 1)
{
if (devOrder == 4)
{
yc = "F_NumParam3";
}
else if (devOrder == 5)
{
yc = "F_NumParam6";
}
}
try
{
dv = DbHelperSQL.Query("SELECT " + yc + " FROM T_Monitor_Task WHERE (F_MonitorIndex = " + monitorIndex + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0][0]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>⡾2<E2A1BE><32><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>3<EFBFBD><33>·<EFBFBD><C2B7>
/// </summary>
/// <param name="monitorIndex"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="devIdx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static string[] GetDoubleForkMonitorInfo(int monitorIndex, int devIdx)
{
DataView dv;
string[] rr = null;
try
{
int mankind = GetManageTaskKindIndexFromMonitor(monitorIndex);
int fid = GetManageTaskIndexfromMonitor(monitorIndex);
int devOrder = GetDeviceOrderFromMonitor(monitorIndex);
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string sql = "SELECT F_MonitorIndex,F_AheadDetect,F_DeviceIndex,F_RouteID FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.F_RELATIVECONTORLID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (FID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
rr = new string[4];
rr[0] = dv[0]["F_MonitorIndex"].ToString();
rr[1] = dv[0]["F_AheadDetect"].ToString();
rr[2] = dv[0]["F_DeviceIndex"].ToString();
rr[3] = dv[0]["F_RouteID"].ToString();
}
else
{
//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT F_MonitorIndex,F_AheadDetect,F_DeviceIndex,F_RouteID FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.FID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (F_RELATIVECONTORLID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and F_DeviceCommandIndex=" + devOrder + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
rr = new string[4];
rr[0] = dv[0]["F_MonitorIndex"].ToString();
rr[1] = dv[0]["F_AheadDetect"].ToString();
rr[2] = dv[0]["F_DeviceIndex"].ToString();
rr[3] = dv[0]["F_RouteID"].ToString();
}
else
{
return null;
}
}
return rr;
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
rr = null;
}
}
/// <summary>
/// <20>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>0<EFBFBD><30>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD>
/// </summary>
/// <param name="monitorIndex"></param>
/// <param name="devIdx"></param>
/// <returns></returns>
public static bool GetDoubleForkMonitorInfo(int monitorIndex, int devIdx, int status)
{
DataView dv;
try
{
int mankind = GetManageTaskKindIndexFromMonitor(monitorIndex);
int fid = GetManageTaskIndexfromMonitor(monitorIndex);
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string sql = "SELECT F_MonitorIndex,F_AheadDetect,F_DeviceIndex,F_RouteID FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.F_RELATIVECONTORLID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (FID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and f_status>" + status + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return true;
}
else
{
//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT F_MonitorIndex,F_AheadDetect,F_DeviceIndex,F_RouteID FROM T_Manage_Task,T_Monitor_Task Where (T_Manage_Task.FID = T_Monitor_Task.F_ManageTaskIndex " +
" AND T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX) and ( T_Monitor_Task.F_ManageTaskKindIndex = " + mankind + ") AND (F_RELATIVECONTORLID = " +
fid + ") and (F_DeviceIndex=" + devIdx + " and f_status>" + status + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return true;
}
else
{
return false;
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ֵ<EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8>,true <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ֵ<EFBFBD>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8>
/// </summary>
/// <param name="monitorIndex"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static bool GetDoubleForkUnIntoStep(int monitorIndex)
{
DataView dv;
try
{
int mankind = GetManageTaskKindIndexFromMonitor(monitorIndex);
int fid = GetManageTaskIndexfromMonitor(monitorIndex);
//<2F><><EFBFBD>ұ<EFBFBD><D2B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string sql = "SELECT F_RELATIVECONTORLID FROM T_Manage_Task Where (T_Manage_Task.F_RELATIVECONTORLID <>-1 ) and ( F_ManageTaskKindIndex = " + mankind + ") AND (FID = " +
fid + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
sql = "SELECT FID FROM T_Manage_Task Where ( F_ManageTaskKindIndex = " + mankind + ") AND (FID = " +
dv[0][0] + " and FIntoStepOK<>'1')";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return true;
}
}
else
{
//<2F><><EFBFBD>ҹ<EFBFBD><D2B9><EFBFBD><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT FID FROM T_Manage_Task Where ( F_ManageTaskKindIndex = " + mankind + ") AND (F_RELATIVECONTORLID = " +
fid + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
sql = "SELECT FID FROM T_Manage_Task Where ( F_ManageTaskKindIndex = " + mankind + ") AND (FID = " +
dv[0][0] + " and FIntoStepOK<>'1')";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return true;
}
}
}
return false;
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
public static int GetManageTaskIndexfromMonitor(int monitorIdx)
{
//20100108
DataView dv;
try
{
//20100108
dv = DbHelperSQL.Query("SELECT F_ManageTaskIndex FROM T_Monitor_Task WHERE (F_MonitorIndex = " + monitorIdx + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0]["F_ManageTaskIndex"]);
}
else
{
return -1;
}
}
catch (Exception ex)
{//20100108
throw ex;
}
finally
{//20100108
dv = null;
}
}
public static int GetManageTaskKindIndexFromMonitor(int monitorIdx)
{//20100108
DataView dv;
try
{
//20100108
dv = DbHelperSQL.Query("SELECT F_ManageTaskKindIndex FROM T_Monitor_Task WHERE (F_MonitorIndex = " + monitorIdx + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0]["F_ManageTaskKindIndex"]);
}
else
{
return -1;
}
}
catch (Exception ex)
{//20100108
throw ex;
}
finally
{//20100108
dv = null;
}
}
/// <summary>
/// <20>ڵ<EFBFBD><DAB5>ȶ<EFBFBD><C8B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
/// </summary>
/// <param name="MonitorIndex"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static int GetDeviceOrderFromMonitor(int MonitorIndex)
{
DataView dv;
try
{
string sql = "select F_DeviceCommandIndex from T_Monitor_Task where (F_DeviceCommandIndex IS NOT NULL) and F_MonitorIndex=" + MonitorIndex;
//20100108
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0]["F_DeviceCommandIndex"]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
public static int GetDeviceKindIdx(int devIdx)
{
try
{
devinfo = BaseDeviceService.GetDeviceInfo(devIdx);
return devinfo.DeviceKind;
}
catch (Exception ex)
{
throw ex;
}
}
public static int GetDeviceIndexFromMonitor(int MonitorIndex)
{
//20100108
DataView dv;
try
{
string sql = "select F_DeviceIndex from T_Monitor_Task where (F_DeviceIndex IS NOT NULL) and F_MonitorIndex=" + MonitorIndex;
//20100108
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0]["F_DeviceIndex"]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD>ñ<EFBFBD><C3B1>Ͳ<EFBFBD><CDB2><EFBFBD>
/// </summary>
/// <param name="MonitorIndex"></param>
/// <returns></returns>
public static int GetBoxQuantityFromMonitor(int MonitorIndex)
{
//20100108
DataView dv; //NUMParam5 <20><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
try
{
string sql = "select F_NumParam5 from T_Monitor_Task where (F_NumParam5 IS NOT NULL) and F_MonitorIndex=" + MonitorIndex;
//20100108
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0]["F_NumParam5"]);
}
else
{
return 0;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>12029<32><39><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="MonitorIndex"></param>
/// <returns></returns>
public static int GetTypeFromMonitor(int MonitorIndex)
{
//20120212
DataView dv;
try
{
string sql = "select * from T_Manage_Task,T_Monitor_Task where T_Manage_Task.fid= T_Monitor_Task.F_ManageTaskIndex and F_MonitorIndex=" + MonitorIndex;
//20100108
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0]["SENDOUT_TYPE"]);
}
else
{
return 0;
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
dv = null;
}
}
/// <summary>
/// ˫<><CBAB><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Ƿ<EFBFBD><C7B7><EFBFBD>̽<EFBFBD>
/// </summary>
/// <param name="devinx"></param>
/// <returns></returns>
public static int GetDoubleForkDetect(int devinx)
{
try
{
devinfo = BaseDeviceService.GetDeviceInfo(devinx);
return Convert.ToInt32(devinfo.DoubleForkDetect);
}
catch (Exception ex)
{
throw ex;
}
finally
{
devinfo = null;
}
}
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񽻻<EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD>Ĭ<EFBFBD><C4AC>0
/// </summary>
public static readonly int TASKWAIT = IOControlService.GetIOControlStatus("TASKWAIT").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>У<EFBFBD>Ĭ<EFBFBD><C4AC>10
/// </summary>
public static readonly int TASKRUN = IOControlService.GetIOControlStatus("TASKRUN").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>Ĭ<EFBFBD><C4AC>30
/// </summary>
public static readonly int TASKALTERROUTEAPPLY = IOControlService.GetIOControlStatus("TASKALTERROUTEAPPLY").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>𸴸ĵ<F0B8B4B8><C4B5><EFBFBD><EFBFBD>룬Ĭ<EBA3AC><C4AC>40
/// </summary>
public static readonly int TASKALTERROUTEREPLY = IOControlService.GetIOControlStatus("TASKALTERROUTEREPLY").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񱻵<EFBFBD><F1B1BBB5><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>900
/// </summary>
public static readonly int TASKDELETE = IOControlService.GetIOControlStatus("TASKDELETE").StatusID;
/// <summary>
/// <20>˹<EFBFBD><CBB9><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD>⣬Ĭ<E2A3AC><C4AC>940
/// </summary>
public static readonly int TASKSTOPOUTPUT = IOControlService.GetIOControlStatus("TASKSTOPOUTPUT").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>Ĭ<EFBFBD><C4AC>950
/// </summary>
public static readonly int TASKUNPACKFINISH = IOControlService.GetIOControlStatus("TASKUNPACKFINISH").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>̻<EFBFBD><CCBB>IJ<EFBFBD><C4B2>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>飬Ĭ<E9A3AC><C4AC>955
/// </summary>
public static readonly int TASKTYPEERROR = IOControlService.GetIOControlStatus("TASKTYPEERROR").StatusID;
/// <summary>
/// <20><><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><E2B5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>Ĭ<EFBFBD><C4AC>960
/// </summary>
public static readonly int TASKPACKFINISH = IOControlService.GetIOControlStatus("TASKPACKFINISH").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><ECB3A3><EFBFBD><EFBFBD>վ̨<D5BE><CCA8>Ĭ<EFBFBD><C4AC>966
/// </summary>
public static readonly int TASKCANCEL = IOControlService.GetIOControlStatus("TASKCANCEL").StatusID;
/// <summary>
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>970
/// </summary>
public static readonly int TASKREPEATINPUT = IOControlService.GetIOControlStatus("TASKREPEATINPUT").StatusID;
/// <summary>
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>մ<EFBFBD><D5B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ִ<EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>980
/// </summary>
public static readonly int TASKEMPTYOUTPUT = IOControlService.GetIOControlStatus("TASKEMPTYOUTPUT").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><ECB3A3><EFBFBD>ɣ<EFBFBD>Ĭ<EFBFBD><C4AC>990
/// </summary>
public static readonly int TASKABEND = IOControlService.GetIOControlStatus("TASKABEND").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɣ<EFBFBD>Ĭ<EFBFBD><C4AC>999
/// </summary>
public static readonly int TASKFINISH = IOControlService.GetIOControlStatus("TASKFINISH").StatusID;
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>RFID<49>ȶԴ<C8B6><D4B4><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ930
/// </summary>
public static readonly int TASKINPUTRFIDERROR = IOControlService.GetIOControlStatus("TASKINPUTRFIDERROR").StatusID;
/// <summary>
/// 20100617<31><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Գ<EFBFBD><D4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>Ͻ<EFBFBD><CFBD>գ<EFBFBD>Ĭ<EFBFBD><C4AC>ֵ50
/// </summary>
public static readonly int TASKOUTCONFIRM = IOControlService.GetIOControlStatus("TASKOUTCONFIRM").StatusID;
/// <summary>
/// 20101011˫<31><EFBFBD>޻<EFBFBD>λ<EFBFBD><CEBB>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棬Ĭ<E6A3AC><C4AC>ֵ800
/// </summary>
public static readonly int TASKCHANGEFORK = IOControlService.GetIOControlStatus("TASKCHANGEFORK").StatusID;
/// <summary>
/// 20101011<31><31><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ7
/// </summary>
public static readonly int TASKCONTROLREADED = IOControlService.GetIOControlStatus("TASKCONTROLREADED").StatusID;
/// <summary>
/// 20101028<32>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD>Ĭ<EFBFBD><C4AC>ֵ<EFBFBD><D6B5>25
/// </summary>
public static readonly int TASKSINGLEFORKRUN = IOControlService.GetIOControlStatus("TASKSINGLEFORKRUN").StatusID;
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񽻻<EFBFBD><EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
#region <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <summary>
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD>룬Ĭ<EBA3AC><C4AC>48<34><38>˫<EFBFBD><CBAB><EFBFBD>еĽ<D0B5><C4BD>
/// </summary>
public static readonly int STACKREPEATINPUT = IOControlService.GetIOControlStatus("STACKREPEATINPUT").StatusID;
/// <summary>
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>룬Ĭ<EBA3AC><C4AC>49<34><39>˫<EFBFBD><CBAB><EFBFBD>еĽ<D0B5><C4BD>
/// </summary>
public static readonly int STACKEMPTYOUTPUT = IOControlService.GetIOControlStatus("STACKEMPTYOUTPUT").StatusID;
/// <summary>
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD>룬Ĭ<EBA3AC><C4AC>60<36><30>˫<EFBFBD><CBAB><EFBFBD>е<EFBFBD>Զ<EFBFBD>
/// </summary>
public static readonly int STACKREPEATINPUTAWAY = IOControlService.GetIOControlStatus("STACKREPEATINPUTAWAY").StatusID;
/// <summary>
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>룬Ĭ<EBA3AC><C4AC>62<36><32>˫<EFBFBD><CBAB><EFBFBD>е<EFBFBD>Զ<EFBFBD>
/// </summary>
public static readonly int STACKEMPTYOUTPUTAWAY = IOControlService.GetIOControlStatus("STACKEMPTYOUTPUTAWAY").StatusID;
/// <summary>
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD>룬Ĭ<EBA3AC><C4AC>61<36><31>˫<EFBFBD>
/// </summary>
public static readonly int STACKREPEATINPUTDOUBLE = IOControlService.GetIOControlStatus("STACKREPEATINPUTDOUBLE").StatusID;
/// <summary>
/// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>չ<EFBFBD><D5B9><EFBFBD><EFBFBD>룬Ĭ<EBA3AC><C4AC>63<36><33>˫<EFBFBD>
/// </summary>
public static readonly int STACKEMPTYOUTPUTDOUBLE = IOControlService.GetIOControlStatus("STACKEMPTYOUTPUTDOUBLE").StatusID;
#endregion <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>պ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>صĹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}