358 lines
15 KiB
C#
358 lines
15 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
using System.Data;
|
|||
|
using System.Resources;
|
|||
|
|
|||
|
using DBFactory;
|
|||
|
using ICommLayer;
|
|||
|
using CommLayerFactory;
|
|||
|
namespace CommonLibrary
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD>豸״̬
|
|||
|
/// </summary>
|
|||
|
public class CGetState
|
|||
|
{
|
|||
|
DBOperator dbo1 = new DBOperator();
|
|||
|
DBOperator dbo = new DBOperator();
|
|||
|
DBOperator dboM = new DBOperator("ManConnString", "ManDBFactory");
|
|||
|
string _CGetStateError = "";//<2F><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
|||
|
public string CGetStateError
|
|||
|
{
|
|||
|
get { return _CGetStateError; }
|
|||
|
set { _CGetStateError = value; }
|
|||
|
}
|
|||
|
public int[] _States;
|
|||
|
int _fid;
|
|||
|
int _mti;
|
|||
|
int _iotype=0;
|
|||
|
int _endnode=0;
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>豸<EFBFBD><E8B1B8>״̬
|
|||
|
/// </summary>
|
|||
|
public CGetState()
|
|||
|
{
|
|||
|
dbo.Open();
|
|||
|
if (dboM.Open() == false)
|
|||
|
{
|
|||
|
//if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>") < 0)
|
|||
|
//{
|
|||
|
|
|||
|
// FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><><EFBFBD>ӹ<EFBFBD><D3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD><DCA3><EFBFBD><EFBFBD><EFBFBD>", true);
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>"<22><><EFBFBD><EFBFBD>"ʱ ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> , <20><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ռ<EFBFBD><D5BC>״̬F_LockedState=0<><30>
|
|||
|
///·<><C2B7><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>F_LockedDeviceIndex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
///
|
|||
|
///<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <20><>,<2C><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO_Control<6F><6C>FSTATUS=2<><32>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
/// T_Base_Manage_Task<73><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>״̬FSTATUS=2 <20><>
|
|||
|
/// </summary>
|
|||
|
/// <param name="DeviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TaskIdx"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
public void ActionComplete(int DeviceIdx,int TaskIdx)
|
|||
|
{
|
|||
|
int ccfreturn;
|
|||
|
|
|||
|
dbo.TransBegin();
|
|||
|
try
|
|||
|
{
|
|||
|
string retu=GetDetailIndexFromMonitor(TaskIdx);
|
|||
|
|
|||
|
GetManage_Kind(TaskIdx);
|
|||
|
int fid = _fid ;
|
|||
|
int mti = _mti ;
|
|||
|
string cap;
|
|||
|
DataSet ds = dbo.ExceSQL("select count(F_MonitorIndex) as counts from T_Base_Monitor_Task "+
|
|||
|
" where F_ManageTaskIndex =" + fid + " and F_ManageTaskKindIndex= "+mti);
|
|||
|
if (ds.Tables[0].DefaultView.Count > 0)
|
|||
|
{
|
|||
|
if ((Convert.ToInt32(ds.Tables[0].DefaultView[0]["counts"]) == 1) && (CStaticClass.RouteSearchMode == "0"))
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>fid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>طֽ<D8B7><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO_Control<6F><6C>FSTATUS=2<><32>"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";T_Base_Manage_Task<73><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>״̬FSTATUS=2 <20><>
|
|||
|
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
cap = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<C7BE>ΪFSTATUS=4<><34>
|
|||
|
dboM.ExceSQL("update IO_Control set FSTATUS='4' where FID=" + fid);
|
|||
|
}
|
|||
|
else if (mti == 4)
|
|||
|
{
|
|||
|
cap = "<22>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cap = "<22><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>";
|
|||
|
}
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ReturnManageInfo(fid, mti,cap,true);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
if ((CStaticClass.RouteSearchMode == "1"))
|
|||
|
{
|
|||
|
if (mti == 4)
|
|||
|
{
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cap = "<22>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
ReturnManageInfo(fid, mti,cap,true);
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cap = "<22><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>";
|
|||
|
//<2F><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ·<CFB8><C2B7><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>û<EFBFBD>д<EFBFBD><D0B4>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3BB><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
if (retu == "") return;
|
|||
|
char[] cc = new char[1] { '-' };
|
|||
|
string[] split=retu.Split(cc);
|
|||
|
if (IFDeviceLastOrder(Convert.ToInt32(split[0]),DeviceIdx,Convert.ToInt32(split[1]) ) == true)
|
|||
|
{
|
|||
|
ccfreturn = ccf.StepsRouteSearch(false, fid, mti, _iotype, DeviceIdx, _endnode);
|
|||
|
if (ccfreturn == 9999)
|
|||
|
{
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ǿ<C7BE>ΪFSTATUS=4<><34>
|
|||
|
dboM.ExceSQL("update IO_Control set FSTATUS='4' where FID=" + fid);
|
|||
|
}
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ReturnManageInfo(fid, mti,cap,true);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
//<2F>жϴ<D0B6><CFB4>豸<EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>T_BASE_STACK_ROBOT<4F><54><EFBFBD><EFBFBD>DeviceIdx
|
|||
|
dbo.ExceSQL("UPDATE T_BASE_STACK_ROBOT SET F_ManageID = NULL WHERE F_StackPositionDeviceIndex = " + DeviceIdx);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ռ<EFBFBD><D5BC>״̬F_LockedState=0<><30>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>F_LockedDeviceIndex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=" + DeviceIdx);
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_LockedState=" + TaskIdx);
|
|||
|
dbo.ExceSQL("delete from T_Base_Monitor_Task where F_MonitorIndex=" + TaskIdx);
|
|||
|
dbo.TransCommit();
|
|||
|
|
|||
|
//ˢ<>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
RefreshControlMonitor(DeviceIdx);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
dbo.TransRollback();
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
|
|||
|
}
|
|||
|
//throw ex;
|
|||
|
}
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// <20><>д<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>״̬<D7B4>֣<EFBFBD>IO_Control,T_Base_Manage_task,T_Monitor_task<73><6B>
|
|||
|
/// </summary>
|
|||
|
/// <param name="DeviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TaskIdx"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="ErrId"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
public void ActionError(int DeviceIdx, int TaskIdx,int ErrId)
|
|||
|
{
|
|||
|
dbo.TransBegin();
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
GetManage_Kind(TaskIdx);
|
|||
|
int fid = _fid;
|
|||
|
int mti = _mti;
|
|||
|
DataSet ds = dbo.ExceSQL("SELECT F_ErrorIndex,F_ErrorName,T_Base_Device_State.F_DeviceKindIndex," +
|
|||
|
" F_DeviceErrorIndex,F_ManageStatus,F_DeviceIndex,F_DeviceName FROM T_Base_Device_State,T_Base_Device Where " +
|
|||
|
" T_Base_Device_State.F_DeviceKindIndex = T_Base_Device.F_DeviceKindIndex and F_DeviceIndex="
|
|||
|
+ DeviceIdx + " and F_DeviceErrorIndex= " + ErrId);
|
|||
|
DataView dv = ds.Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
FrmMain.FormInstance.notifyIcon1.ShowBalloonTip(10000, "<22><><EFBFBD><EFBFBD>", dv[0]["F_DeviceName"].ToString()+"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>" + dv[0]["F_ErrorName"].ToString(), System.Windows.Forms.ToolTipIcon.Warning);
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
if (dv[0]["F_ManageStatus"] == DBNull.Value)
|
|||
|
{
|
|||
|
dboM.ExceSQL("update IO_Control set FSTATUS=" + ErrId + " where FID=" + fid);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
dboM.ExceSQL("update IO_Control set FSTATUS=" + Convert.ToInt32(dv[0]["F_ManageStatus"]) + " where FID=" + fid);
|
|||
|
}
|
|||
|
}
|
|||
|
ds = dbo.ExceSQL("SELECT F_DeviceIndex, F_ErrorIndex FROM T_Base_Device_Error_Log Where F_DeviceIndex=" + DeviceIdx + " and F_ErrorIndex=" + Convert.ToInt32(dv[0]["F_ErrorIndex"]));
|
|||
|
if (ds.Tables[0].DefaultView.Count > 0)
|
|||
|
{
|
|||
|
dbo.ExceSQL("UPDATE T_Base_Device_Error_Log SET F_DateTime ='" + DateTime.Now.ToString("u") + "' Where F_DeviceIndex=" + DeviceIdx + " and F_ErrorIndex=" + Convert.ToInt32(dv[0]["F_ErrorIndex"]));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
dbo.ExceSQL("INSERT INTO T_Base_Device_Error_Log (F_DeviceIndex, F_ErrorIndex, F_DateTime) VALUES ("+ DeviceIdx +","+ Convert.ToInt32( dv[0]["F_ErrorIndex"])+",'"+DateTime.Now.ToString("u") +"')");
|
|||
|
}
|
|||
|
}
|
|||
|
dbo.ExceSQL("update T_Base_Monitor_Task set F_Status= " + ErrId + " where F_MonitorIndex= " + TaskIdx);
|
|||
|
dbo.ExceSQL("update T_Base_Manage_task set FSTATUS='" + ErrId.ToString() + "' where FID=" + fid + " and F_ManageTaskKindIndex= " + mti);
|
|||
|
|
|||
|
dbo.TransCommit();
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>жϴ<D0B6><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ISendDeviceOrder sdo;
|
|||
|
CCommonFunction ccf = new CCommonFunction();
|
|||
|
if (ccf.GetDeviceKindIdx(DeviceIdx) == 2)
|
|||
|
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(DeviceIdx);
|
|||
|
sdo.SendDeviceOrder(0, 0, 0, DeviceIdx);
|
|||
|
}
|
|||
|
if (ccf.GetDeviceKindIdx(DeviceIdx) == 1) //<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
{
|
|||
|
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(DeviceIdx);
|
|||
|
sdo.SendDeviceOrder(0, 0, 0, DeviceIdx, 0, 0, 0, 0, 0, 0);
|
|||
|
}
|
|||
|
//ˢ<>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
RefreshControlMonitor(DeviceIdx);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
dbo.TransRollback();
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
|
|||
|
}
|
|||
|
//throw ex;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO_Control<6F><6C>FSTATUS=-1<><31>
|
|||
|
/// </summary>
|
|||
|
/// <param name="DeviceIdx"><3E>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="TaskIdx"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
public void ActionDelete(int DeviceIdx, int TaskIdx)
|
|||
|
{
|
|||
|
|
|||
|
CCommonFunction ccf = new CCommonFunction();
|
|||
|
|
|||
|
DataView dvstate = dbo.ExceSQL("SELECT F_MonitorIndex, F_Status FROM " +
|
|||
|
"T_Base_Monitor_Task where F_MonitorIndex=" + TaskIdx + " and F_Status>=1").Tables[0].DefaultView;
|
|||
|
|
|||
|
if (dvstate.Count > 0) //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
ISendDeviceOrder sdo;
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(DeviceIdx);
|
|||
|
sdo.SendDeviceOrder(0, 0, 0, DeviceIdx);
|
|||
|
}
|
|||
|
dbo.TransBegin();
|
|||
|
try
|
|||
|
{
|
|||
|
string retu = GetDetailIndexFromMonitor(TaskIdx);
|
|||
|
|
|||
|
GetManage_Kind(TaskIdx);
|
|||
|
int fid = _fid;
|
|||
|
int mti = _mti;
|
|||
|
string cap;
|
|||
|
DataSet ds = dbo.ExceSQL("select count(F_MonitorIndex) as counts from T_Base_Monitor_Task " +
|
|||
|
" where F_ManageTaskIndex =" + fid + " and F_ManageTaskKindIndex= " + mti);
|
|||
|
if (ds.Tables[0].DefaultView.Count > 0)
|
|||
|
{
|
|||
|
if ((Convert.ToInt32(ds.Tables[0].DefaultView[0]["counts"]) == 1) && (CStaticClass.RouteSearchMode == "0"))
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>fid<69><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>طֽ<D8B7><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO_Control<6F><6C>FSTATUS=-1
|
|||
|
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
cap = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
dboM.ExceSQL("update IO_Control set FSTATUS='-1' where FID=" + fid);
|
|||
|
}
|
|||
|
else if (mti == 4)
|
|||
|
{
|
|||
|
cap = "<22>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cap = "<22><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>";
|
|||
|
}
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ReturnManageInfo(fid, mti, cap, false);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
if ((CStaticClass.RouteSearchMode == "1"))
|
|||
|
{
|
|||
|
if (mti == 4)
|
|||
|
{
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
cap = "<22>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD>";
|
|||
|
ReturnManageInfo(fid, mti, cap, false);
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
cap = "<22><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>";
|
|||
|
//<2F><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ·<CFB8><C2B7><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<3B><><EFBFBD><EFBFBD>û<EFBFBD>д<EFBFBD><D0B4>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3BB><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
|
|||
|
if (retu == "") return;
|
|||
|
char[] cc = new char[1] { '-' };
|
|||
|
string[] split = retu.Split(cc);
|
|||
|
if (IFDeviceLastOrder(Convert.ToInt32(split[0]), DeviceIdx, Convert.ToInt32(split[1])) == true)
|
|||
|
{
|
|||
|
//ccfreturn = ccf.StepsRouteSearch(false, fid, mti, _iotype, DeviceIdx, _endnode);
|
|||
|
//if (ccfreturn == 9999)
|
|||
|
//{
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
|
|||
|
dboM.ExceSQL("update IO_Control set FSTATUS='-1' where FID=" + fid);
|
|||
|
}
|
|||
|
//<2F><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ReturnManageInfo(fid, mti, cap, false);
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
//20080728
|
|||
|
//<2F>Ļ<DEB8>λ<EFBFBD><CEBB><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD>ִ<EFBFBD><D6B4>״̬<D7B4>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
|
|||
|
|
|||
|
|
|||
|
//<2F>жϴ<D0B6><CFB4>豸<EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>̻<EFBFBD><CCBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɺ<EFBFBD><C9BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڱ<EFBFBD>T_BASE_STACK_ROBOT<4F><54><EFBFBD><EFBFBD>DeviceIdx
|
|||
|
dbo.ExceSQL("UPDATE T_BASE_STACK_ROBOT SET F_ManageID = NULL WHERE F_StackPositionDeviceIndex = " + DeviceIdx);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ռ<EFBFBD><D5BC>״̬F_LockedState=0<><30>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>F_LockedDeviceIndex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ,ɾ<><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=" + DeviceIdx);
|
|||
|
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_LockedState=" + TaskIdx);
|
|||
|
dbo.ExceSQL("delete from T_Base_Monitor_Task where F_MonitorIndex=" + TaskIdx);
|
|||
|
dbo.TransCommit();
|
|||
|
|
|||
|
//ˢ<>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
RefreshControlMonitor(DeviceIdx);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
dbo.TransRollback();
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
//throw ex;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|