AHTC/RGD/RGD.WCS/CDisassembleTask.cs

3371 lines
192 KiB
C#
Raw Permalink Normal View History

2025-05-19 09:22:33 +08:00
using Microsoft.VisualBasic;
using RGD.DataService;
using RGD.DBUtility;
using System;
using System.Collections.Generic;
using System.Data;
namespace RGD.WCS
{
/// <summary>
/// Creator:Richard.liu
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// ѡȡ<D1A1><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊԭ<CEAA><D4AD><EFBFBD><EFBFBD>1<EFBFBD><31>ÿ<EFBFBD><C3BF>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>վ̨Ҫ<CCA8><D2AA>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// 2<><32>ÿ<EFBFBD><C3BF><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>Ҫ<EFBFBD><D2AA>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񣩣<EFBFBD>
/// 3<><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ʽʱ<CABD><CAB1><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>߼<EFBFBD>9<EFBFBD><39><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>С<EFBFBD>
///
/// <20>ѵ<EFBFBD><D1B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><D6BD>ɶ<EFBFBD><C9B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ذ<EFBFBD><D8B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <20>ֽ<EFBFBD>ԭ<EFBFBD>򣺰<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ճ<EFBFBD><D5B3><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD><C5B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8>
/// 20091107<30><37><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD>SelectTask_ManPRI();SelectTask_OnlyIn();SelectTask_InSubjoinOut();
/// SelectTask_OnlyOut();SelectTask_OutSubjoinIn();<3B><><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD>´<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>order by FTASKLEVEL desc,FBEGTIME asc
/// </summary>
public static class CDisassembleTask
{
private static string _DisassembleTaskError = "";
public static string DisassembleTaskError
{
get { return _DisassembleTaskError; }
set { _DisassembleTaskError = value; }
}
private static CCommonFunction ccf = new CCommonFunction();
private static Model.MDevice devinfo;
/// <summary>
/// <20><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񣬲<EFBFBD><F1A3ACB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>ɴ<EFBFBD><C9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task<73><6B><EFBFBD><EFBFBD>
/// </summary>
public static int MyTaskIntoSteps()
{
int nSubCount = 0;
try
{ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Я<EFBFBD><D0AF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
nSubCount = SelectTask_OutSubjoinIn();
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.MyTaskIntoStepsʱ<73><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex.Message;
}
return nSubCount;
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȸ<EFBFBD><C8B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// <20><><EFBFBD><EFBFBD>ʵ<EFBFBD>֣<EFBFBD><D6A3><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ѡһ<D1A1><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9
/// </summary>
private static int SelectTask_OutSubjoinIn()
{
int nSubCount = 0;
try
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ݶѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Model.MDevice deviceInfo;
string sql = "SELECT F_StackIndex FROM T_Base_StackInfo";
DataView dvStack = DbHelperSQL.Query(sql).Tables[0].DefaultView;
int routeid = -1;
sql = "select * from t_warehouse";
DataView task = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (task[0]["F_TASK_TYPE"].ToString() != "Inventory")
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,һ<EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AGVȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DataView OutTask = DbHelperSQL.Query("select * from T_Manage_Task where FCONTROLTASKTYPE='2' and FIntoStepOK='0'").Tables[0].DefaultView;
for (int a = 0; a < OutTask.Count; a++)
{
routeid = MinRouteID(Convert.ToInt32(OutTask[0]["FSTARTDEVICE"]), Convert.ToInt32(OutTask[0]["FENDDEVICE"]), OutTask[0]["FUseAwayFork"]);
if (CreateMonitor(Convert.ToInt32(OutTask[a]["F_ManageTaskKindIndex"]), Convert.ToInt32(OutTask[a]["FID"]), routeid, OutTask[a], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1' where FID=" + OutTask[a]["FID"]
+ " and F_ManageTaskKindIndex=" + OutTask[a]["F_ManageTaskKindIndex"]);
//<2F><>Ϊ<EFBFBD><CEAA>Ҫ<EFBFBD>ؿ<EFBFBD><D8BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,IS_PICKUPΪtrue,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֺ<EFBFBD>,<2C><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FID<49><44>ѯ<EFBFBD><D1AF><EFBFBD><EFBFBD>Ϊ6<CEAA><36><EFBFBD>豸ָ<E8B1B8><D6B8>,<2C><><EFBFBD><EFBFBD>6<EFBFBD>޸<EFBFBD>Ϊ9
if (OutTask[a]["IS_PICKUP"].ToString() == "True")
{
DbHelperSQL.ExecuteSql("update T_Monitor_task set F_DeviceCommandIndex='9' where F_ManageTaskIndex='" + OutTask[a]["FID"].ToString() + "' and F_DeviceCommandIndex='6'");
}
}
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,һ<EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><EFBFBD><EFBFBD>,<EFBFBD>ڷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>Է<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AGVȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else//<2F>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD>
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>agv<67><76><EFBFBD>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񹹳<EFBFBD>Ϊ<EFBFBD>ٳ<EFBFBD><D9B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>۳<EFBFBD><DBB3><EFBFBD><EFBFBD><EFBFBD>...,<2C>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>,
//<2F><>ʵ<EFBFBD><CAB5>ִ<EFBFBD><D6B4>˳<EFBFBD><CBB3>Ϊ<EFBFBD><CEAA>ȡ<EFBFBD><C8A1>ȡ<EFBFBD><C8A1>ȡ....<2E>ٷŢٴ<C5A2><D9B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ڷŢڴ<C5A2><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>۷Ţ۴<C5A2><DBB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ.......<2E><><EFBFBD>͢<EFBFBD><CDA2>͢<EFBFBD><CDA2><EFBFBD>...,Ȼ<><C8BB>ִ<EFBFBD><D6B4><EFBFBD>¸<EFBFBD>ѭ<EFBFBD><D1AD>
//1.<2E><><EFBFBD>Ȳ<EFBFBD><C8B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>еĵ<D0B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD>ܲ<EFBFBD><DCB2>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2>ֵij<D6B5><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>agv<67><76><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD>ܲ<EFBFBD><DCB2><EFBFBD>
//3.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>־
//4.<2E>̿<EFBFBD><CCBF><EFBFBD>Ƶ<EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>,<2C><>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>־
//5.<2E><>agv<67>ϱ<EFBFBD><CFB1><EFBFBD>ˮ<EFBFBD><CBAE>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>ʱ<EFBFBD><CAB1>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>־
//6.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ,<2C><><EFBFBD>ô<EFBFBD><C3B4><EFBFBD>agvȡ<76><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ֹһ<D6B9><D2BB><EFBFBD>Խ<EFBFBD><D4BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//7.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><><CAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͹<EFBFBD><CDB9><EFBFBD>
DataView invSplitTask = DbHelperSQL.Query($"select * from T_Manage_Task where FCONTROLTASKTYPE='2' and FIntoStepOK='1' and FMANAGEID='{task[0]["F_TASK_NO"].ToString()}'").Tables[0].DefaultView;
//4Ϊagv<67><76><EFBFBD><EFBFBD>
if (invSplitTask.Count == 5)
{
return 0;
}
//<2F><>ѯ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>δ<EFBFBD><CEB4><EFBFBD>ֵ<EFBFBD><D6B5>̿ⷵ<CCBF><E2B7B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>־Ϊ1<CEAA><31><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD>agvȡ<76><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><D3A6><EFBFBD>Ȳ<EFBFBD><C8B2>ֲ<EFBFBD><D6B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DataView invInTask = DbHelperSQL.Query($"select top 1 * from T_Manage_Task where FCONTROLTASKTYPE='1' and FIntoStepOK='0' and FMANAGEID='{task[0]["F_TASK_NO"].ToString()}'").Tables[0].DefaultView;
Object splitFlag = DbHelperSQL.GetSingle("select split_flag from io_rfid");
if (invInTask.Count != 0 && Convert.ToInt32(splitFlag) == 1)
{
DataView MANAGE = DbHelperSQL.Query($"select * from T_Manage_Task where FID={Convert.ToInt32(invInTask[0]["FID"])-1}").Tables[0].DefaultView;
if (MANAGE.Count==0)
{
routeid = MinRouteID(Convert.ToInt32(invInTask[0]["FSTARTDEVICE"]), Convert.ToInt32(invInTask[0]["FENDDEVICE"]), invInTask[0]["FUseAwayFork"]);
if (CreateMonitor(Convert.ToInt32(invInTask[0]["F_ManageTaskKindIndex"]), Convert.ToInt32(invInTask[0]["FID"]), routeid, invInTask[0], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1' where FID=" + invInTask[0]["FID"]
+ " and F_ManageTaskKindIndex=" + invInTask[0]["F_ManageTaskKindIndex"]);
}
}
}
//<2F><><EFBFBD>ֳ<EFBFBD><D6B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
//ע<><EFBFBD><E2A3BA><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󣬱<EFBFBD><F3A3ACB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӱ<EFBFBD><D3B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DataView invRunOutTask = DbHelperSQL.Query("select * from T_Manage_Task where FSTATUS='1'").Tables[0].DefaultView;
if (invRunOutTask.Count != 0)
{
return 0;
}
DataView invOutTask = DbHelperSQL.Query("select top 5 * from T_Manage_Task where FCONTROLTASKTYPE='2' and FIntoStepOK='0'").Tables[0].DefaultView;
for (int i = 0; i < invOutTask.Count; i++)
{
routeid = MinRouteID(Convert.ToInt32(invOutTask[0]["FSTARTDEVICE"]), Convert.ToInt32(invOutTask[0]["FENDDEVICE"]), invOutTask[0]["FUseAwayFork"]);
if (CreateMonitor(Convert.ToInt32(invOutTask[i]["F_ManageTaskKindIndex"]), Convert.ToInt32(invOutTask[i]["FID"]), routeid, invOutTask[i], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1',FStatus = '1' where FID=" + invOutTask[i]["FID"]
+ " and F_ManageTaskKindIndex=" + invOutTask[i]["F_ManageTaskKindIndex"]);
DbHelperSQL.ExecuteSql("update t_monitor_task set F_Status=2 where F_DeviceCommandIndex=4 and F_ManageTaskIndex=" + invOutTask[i]["FID"]);
}
}
//<2F><>ǰ<EFBFBD>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
Object manageCount = DbHelperSQL.GetSingle($"select count(*) as count from T_Manage_Task where FMANAGEID='{task[0]["F_TASK_NO"].ToString()}'");
if (task[0]["F_TASK_STATUS"].ToString()== "STOPPING" && Convert.ToInt32(splitFlag) == 0)
{
DbHelperSQL.ExecuteSql("update T_Warehouse set F_TASK_NO='',f_TASK_TYPE='',f_task_status='FREE',F_IO_WH_SORT_CODE='',F_LASTBOX_REACH_FLAG=0");
}
}
for (int i = 0; i < dvStack.Count; i++)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>˶Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><EFBFBD>Ǹ<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>
string sqlstr = "SELECT * FROM T_Manage_Task WHERE (FSTATUS = 0) AND (FSTACK = " + dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 1) AND (FIntoStepOK = '0') order by FTASKLEVEL desc,FBEGTIME asc";
DataView dvManage = DbHelperSQL.Query(sqlstr).Tables[0].DefaultView;
for (int j = 0; j < dvManage.Count; j++)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
{
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϴ<D0B6>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
routeid = MinRouteID(Convert.ToInt32(dvManage[j]["FSTARTDEVICE"]), Convert.ToInt32(dvManage[j]["FENDDEVICE"]), dvManage[j]["FUseAwayFork"]);
if (routeid == -1 || task[0]["F_TASK_TYPE"].ToString() == "Inventory")
{
continue;
}
if (CreateMonitor(Convert.ToInt32(dvManage[j]["F_ManageTaskKindIndex"]), Convert.ToInt32(dvManage[j]["FID"]), routeid, dvManage[j], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1' where FID=" + dvManage[j]["FID"]);
}
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD>˶Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><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><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sqlstr = "SELECT T_Monitor_Task.F_MonitorIndex FROM T_Monitor_Task ,T_Manage_Task WHERE " +
" (T_Monitor_Task.F_ManageTaskIndex = T_Manage_Task.FID) AND " +
" (T_Monitor_Task.F_Status = 1 OR T_Monitor_Task.F_Status = 2) AND F_DeviceCommandIndex=5 and " +
"(T_Monitor_Task.F_DeviceIndex = " + dvStack[i]["F_StackIndex"] + ") AND (T_Manage_Task.FCONTROLTASKTYPE = 1)";
DataView dvt = DbHelperSQL.Query(sqlstr).Tables[0].DefaultView;
if (dvt.Count > 0)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>
sqlstr = "SELECT FID, F_ManageTaskKindIndex, FCONTROLTASKTYPE FROM T_Manage_Task WHERE (FSTACK = " + dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 2) AND (FIntoStepOK = '1') AND (FStatus = 0) order by FTASKLEVEL desc,FBEGTIME asc";
dvt = DbHelperSQL.Query(sqlstr).Tables[0].DefaultView;
if (dvt.Count <= 0)//û<>д˶Ѷ<CBB6><D1B6><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷӻ<C5B6><D3BB><EFBFBD>ִ<EFBFBD><D6B4> | <20>ֽ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
#region <EFBFBD><EFBFBD>ѡ<EFBFBD>˶Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sqlstr = "SELECT * FROM T_Manage_Task WHERE (FSTACK = " + dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 2) AND (FIntoStepOK = '0') order by FTASKLEVEL desc,FBEGTIME asc";
dvManage = DbHelperSQL.Query(sqlstr).Tables[0].DefaultView;
if (dvManage.Count > 0)//<2F><>ѡ<EFBFBD>˶Ѷ<CBB6><D1B6><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
routeid = MinRouteID(Convert.ToInt32(dvManage[0]["FSTARTDEVICE"]), Convert.ToInt32(dvManage[0]["FENDDEVICE"]), dvManage[0]["FUseAwayFork"]);
if (routeid == -1)
{
continue;
}
//20101028<32><38><EFBFBD>ӳ<EFBFBD><D3B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
deviceInfo = BaseDeviceService.GetDeviceInfo(Convert.ToInt32(dvManage[0]["FSTACK"]));
if (deviceInfo != null)
{
if (deviceInfo.IfCorrelDoubleFork == "1")
{
GetOutDoubleForkTask(dvManage[0]);
}
}
if (CreateMonitor(Convert.ToInt32(dvManage[0]["F_ManageTaskKindIndex"]), Convert.ToInt32(dvManage[0]["FID"]), routeid, dvManage[0], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1' where FID=" + dvManage[0]["FID"]
+ " and F_ManageTaskKindIndex=" + dvManage[0]["F_ManageTaskKindIndex"]);
DbHelperSQL.ExecuteSql("update dbo.T_Monitor_Task set F_MonitorTaskLevel=9 where F_MonitorTaskLevel<>100 and F_ManageTASKKINDINDEX=" +
dvManage[0]["F_ManageTaskKindIndex"] + " and F_ManageTaskIndex=" + dvManage[0]["FID"] + "");
nSubCount++;
}
}
#endregion <EFBFBD><EFBFBD>ѡ<EFBFBD>˶Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else //<2F><><EFBFBD><EFBFBD> |
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д˶Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷӻ<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>
sqlstr = "SELECT * FROM T_Manage_Task WHERE (FSTACK = " + dvStack[i]["F_StackIndex"] +
") AND (FCONTROLTASKTYPE = 2) AND (FIntoStepOK = '0') order by FTASKLEVEL desc,FBEGTIME asc";
dvManage = DbHelperSQL.Query(sqlstr).Tables[0].DefaultView;
if (dvManage.Count > 0)//<2F><>ѡ<EFBFBD>˶Ѷ<CBB6><D1B6><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
for (int j = 0; j < dvManage.Count; j++)
{
//<2F>жϽ<D0B6>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ֵij<D6B5><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2>ֵĶ<D6B5><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>ͬ<EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>о<EFBFBD><D0BE><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sqlstr = "SELECT FID, F_ManageTaskKindIndex, FCONTROLTASKTYPE FROM T_Manage_Task WHERE (FENDDEVICE=" + dvManage[j]["FENDDEVICE"] + ") and (FSTACK = " +
dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 2) AND (FIntoStepOK = '1') AND (FStatus = 0) order by FTASKLEVEL desc,FBEGTIME asc";
DataView dv12 = DbHelperSQL.Query(sqlstr).Tables[0].DefaultView;
if (dv12.Count <= 0)
{
routeid = MinRouteID(Convert.ToInt32(dvManage[j]["FSTARTDEVICE"]), Convert.ToInt32(dvManage[j]["FENDDEVICE"]), dvManage[j]["FUseAwayFork"]);
if (routeid == -1)
{
continue;
}
if (CreateMonitor(Convert.ToInt32(dvManage[j]["F_ManageTaskKindIndex"]), Convert.ToInt32(dvManage[j]["FID"]), routeid, dvManage[j], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1
int level = Convert.ToInt32(dvManage[j]["FTASKLEVEL"]) == 100 ? 100 : 9;
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1',FTASKLEVEL=" + level + " where FID=" + dvManage[j]["FID"]
+ " and F_ManageTaskKindIndex=" + dvManage[j]["F_ManageTaskKindIndex"]);
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_MonitorTaskLevel=9 where F_MonitorTaskLevel<>100 and F_ManageTASKKINDINDEX=" +
dvManage[j]["F_ManageTaskKindIndex"] + " and F_ManageTaskIndex=" + dvManage[j]["FID"] + "");
nSubCount++;
}
}
}
}
else
{
DataView dvv = DbHelperSQL.Query("select * from T_Manage_Task WHERE (FSTACK = " +
dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 2) AND (FIntoStepOK = '1') AND (FStatus = 0)").Tables[0].DefaultView;
for (int aa = 0; aa < dvv.Count; aa++)
{
DbHelperSQL.ExecuteSql("update T_Manage_Task set FTASKLEVEL=9 WHERE (FTASKLEVEL<>100) and F_ManageTASKKINDINDEX=" +
dvv[aa]["F_ManageTaskKindIndex"] + " and FID=" + dvv[aa]["FID"] + "");
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_MonitorTaskLevel=9 where F_MonitorTaskLevel<>100 and F_ManageTASKKINDINDEX=" +
dvv[aa]["F_ManageTaskKindIndex"] + " and F_ManageTaskIndex=" + dvv[aa]["FID"] + "");
}
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д˶Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷӻ<EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>
}
else
{
//<2F>˶Ѷ<CBB6><D1B6><EFBFBD>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> | <20>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#region ѡ<EFBFBD><EFBFBD><EFBFBD>˶Ѷ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sqlstr = "SELECT * FROM T_Manage_Task WHERE (FSTATUS = 0) AND (FSTACK = " + dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 2) AND (FIntoStepOK = '0') order by FTASKLEVEL desc,FBEGTIME asc";
dvManage = DbHelperSQL.Query(sqlstr).Tables[0].DefaultView;
for (int j = 0; j < dvManage.Count; j++)
{
sqlstr = "SELECT FID, F_ManageTaskKindIndex, FCONTROLTASKTYPE FROM T_Manage_Task WHERE (FENDDEVICE=" + dvManage[j]["FENDDEVICE"] +
") and (FSTACK = " + dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 2) AND (FIntoStepOK = '1') AND (FStatus = 0) order by FTASKLEVEL desc";
dvt = DbHelperSQL.Query(sqlstr).Tables[0].DefaultView;
if (dvt.Count > 0)//<2F>д˶Ѷ<CBB6><D1B6><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD>ŶӾͲ<D3BE><CDB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
continue;
}
//<2F>ж϶Ѷ<CFB6><D1B6><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>л<EFBFBD><D0BB>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT F_ManageTASKKINDINDEX, F_DeviceIndex, F_Status FROM T_Monitor_Task" +
" where F_DeviceIndex=" + dvStack[i]["F_StackIndex"] + " and F_Status>0 ";
dvt = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dvt.Count > 0)
{
continue;
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>20091009
sql = "SELECT F_DeviceIndex, F_LockedState FROM T_Base_Device where F_DeviceIndex=" + dvStack[i]["F_StackIndex"] + " and (F_LockedState>0 or F_ManTaskReserve>0)";
DataView dv1 = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv1.Count > 0)
{
continue;
}
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϴ<D0B6>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
routeid = MinRouteID(Convert.ToInt32(dvManage[j]["FSTARTDEVICE"]), Convert.ToInt32(dvManage[j]["FENDDEVICE"]), dvManage[j]["FUseAwayFork"]);
if (routeid == -1)
{
continue;
}
if (CreateMonitor(Convert.ToInt32(dvManage[j]["F_ManageTaskKindIndex"]), Convert.ToInt32(dvManage[j]["FID"]), routeid, dvManage[j], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1' where FID=" + dvManage[j]["FID"]
+ " and F_ManageTaskKindIndex=" + dvManage[j]["F_ManageTaskKindIndex"]);
nSubCount++;
}
}
#endregion ѡ<EFBFBD><EFBFBD><EFBFBD>˶Ѷ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
#endregion Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><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><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
sql = "SELECT * FROM T_Manage_Task WHERE (FSTATUS = 0) AND (FSTACK = " + dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 5) AND (FIntoStepOK = '0') order by FTASKLEVEL desc,FBEGTIME asc";
dvManage = DbHelperSQL.Query(sql).Tables[0].DefaultView;
for (int j = 0; j < dvManage.Count; j++)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>
{
sql = "SELECT * FROM T_Manage_Task WHERE (FSTACK = " + dvStack[i]["F_StackIndex"] + ") AND (FCONTROLTASKTYPE = 5) AND (FIntoStepOK = '1')";
dvt = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dvt.Count > 0)
{ //<2F><>ִ<EFBFBD><D6B4><EFBFBD>е<EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
break;
}
if (CreateStockTakeMonitor(Convert.ToInt32(dvManage[j]["F_ManageTaskKindIndex"]), Convert.ToInt32(dvManage[j]["FID"]), dvManage[j], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1' where FID=" + dvManage[j]["FID"] + " and F_ManageTaskKindIndex=" + dvManage[j]["F_ManageTaskKindIndex"]);
nSubCount++;
}
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ݶѶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>FIntoStepOK[δ<><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]FSTACK<=0 or FCONTROLTASKTYPE=3 FTASKLEVEL[<5B><><EFBFBD>ȼ<EFBFBD>] FCONTROLTASKTYPE[<5B><><EFBFBD><EFBFBD>] [ʱ<><CAB1>]
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FCONTROLTASKTYPE=3[<EFBFBD>ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
sql = "SELECT * FROM T_Manage_Task WHERE ((FSTACK <= 0)or(FCONTROLTASKTYPE = 3)) AND (FIntoStepOK = '0') order by FTASKLEVEL desc, FCONTROLTASKTYPE asc,FBEGTIME asc";
dvStack = DbHelperSQL.Query(sql).Tables[0].DefaultView;
for (int i = 0; i < dvStack.Count; i++)//<2F><>ѡû<D1A1>жѶ<D0B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϴ<D0B6>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
routeid = MinRouteID(Convert.ToInt32(dvStack[i]["FSTARTDEVICE"]), Convert.ToInt32(dvStack[i]["FENDDEVICE"]), dvStack[i]["FUseAwayFork"]);
if (routeid == -1)
{
continue;
}
if (CreateMonitor(Convert.ToInt32(dvStack[i]["F_ManageTaskKindIndex"]), Convert.ToInt32(dvStack[i]["FID"]), routeid, dvStack[i], 0) > 0)
{
//<2F>ֽ<EFBFBD><D6BD><EFBFBD><EFBFBD>ɣ<EFBFBD><C9A3>޸<EFBFBD>T_Manage_Task<73><6B>FIntoStepOK=1
DbHelperSQL.ExecuteSql("update T_Manage_Task set FIntoStepOK='1' where FID=" + dvStack[i]["FID"] + " and F_ManageTaskKindIndex=" + dvStack[i]["F_ManageTaskKindIndex"]);
nSubCount++;
}
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> FCONTROLTASKTYPE=3[<EFBFBD>ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>]
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.SelectTask_OutSubjoinInʱ<6E><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex.Message;
}
return nSubCount;
}
/// <summary>
/// <20><><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD>RouteIDSub
/// </summary>
/// <param name="startdevice"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="enddevice"><3E>յ<EFBFBD><D5B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="useAwayfork"><3E>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static int MinRouteID(int startdevice, int enddevice, object useAwayfork)
{
string dff = string.Empty;
if (useAwayfork.ToString() == "-")
{
dff = "F_UseAwayFork<>'n'";
}
else
{
dff = "(F_UseAwayFork='" + useAwayfork + "' or F_UseAwayFork='-' )";//20101028
}
try
{
//ѡ<><D1A1><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϴ<D0B6>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string sql = "SELECT distinct(T_Base_Route_Device.F_RouteIDSub) FROM T_Base_Device,T_Base_Route_Device," +
"T_Base_Route where T_Base_Route_Device.F_RouteID = T_Base_Route.F_RouteID and " +
" T_Base_Route_Device.F_DeviceIndex = T_Base_Device.F_DeviceIndex and " +
" F_StartDevice=" + startdevice + " and F_EndDevice=" + enddevice + " and " + dff + " and F_Status=1 ";
DataView dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
List<double> minroute = new List<double>();//0,routIDSub<75><62>1<EFBFBD><31>·<EFBFBD><C2B7><EFBFBD><EFBFBD>Сֵ
if (dv.Count == 0)
{
return -1;
}
for (int i = 0; i < dv.Count; i++)
{
DataView dvd = DbHelperSQL.Query("SELECT F_RouteIDSub, F_LockedState FROM T_Base_Device,T_Base_Route_Device WHERE " +
" T_Base_Device.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex and (T_Base_Route_Device.F_RouteIDSub = " +
dv[i]["F_RouteIDSub"] + ") AND (T_Base_Device.F_LockedState = - 1)").Tables[0].DefaultView;
if (dvd.Count > 0)
{
continue;
}
List<double> route = new List<double>();//0,routIDSub<75><62>1,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2<EFBFBD><32>·<EFBFBD><C2B7>ʹ<EFBFBD><CAB9>Ƶ<EFBFBD>ʣ<EFBFBD>3<EFBFBD><33>·<EFBFBD><C2B7><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//·<><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̣<EFBFBD>Ȩ<EFBFBD><C8A8>0.3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>Ƶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>0.3<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ȩ<EFBFBD><EFBFBD>0.3<EFBFBD><EFBFBD>
route.Add(Convert.ToDouble(dv[i]["F_RouteIDSub"]));//RouteIDSub
DataView dv1 = DbHelperSQL.Query("select count(F_DeviceIndex) as steps from T_Base_Route_Device where F_RouteIDSub="
+ dv[i]["F_RouteIDSub"] + "").Tables[0].DefaultView;
if (dv1.Count > 0)
{
//route.Add(Convert.ToDouble(dv1[0]["steps"]));//<2F><><EFBFBD><EFBFBD>
route.Add(0);
}
else
{
continue;
}
//·<><C2B7>ʹ<EFBFBD><CAB9>Ƶ<EFBFBD>ʣ<EFBFBD>·<EFBFBD><C2B7>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string runsql = "SELECT COUNT(DISTINCT F_ManageTaskIndex) AS ManCount FROM T_Monitor_Task GROUP BY F_RouteID HAVING (F_RouteID = " + dv[i]["F_RouteIDSub"] + ")";
DataView dv2 = DbHelperSQL.Query(runsql).Tables[0].DefaultView;
if (dv2.Count > 0)
{
if (Information.IsNumeric(dv2[0]["ManCount"]) == true)
{
route.Add(Convert.ToDouble(dv2[0]["ManCount"]));//·<><C2B7>ʹ<EFBFBD><CAB9>Ƶ<EFBFBD><C6B5>
}
else
{
route.Add(0);//·<><C2B7>ʹ<EFBFBD><CAB9>Ƶ<EFBFBD><C6B5>
}
}
else
{
route.Add(0);//·<><C2B7>ʹ<EFBFBD><CAB9>Ƶ<EFBFBD><C6B5>
}
//·<><C2B7><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string monisql = "SELECT COUNT(T_Monitor_Task.F_MonitorIndex) AS mtask FROM T_Monitor_Task ,T_Base_Route_Device where (T_Monitor_Task.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex) and (T_Base_Route_Device.F_RouteIDSub = " + dv[i]["F_RouteIDSub"] + ")";
dv2 = DbHelperSQL.Query(monisql).Tables[0].DefaultView;
if (dv2.Count > 0)
{
if (Information.IsNumeric(dv2[0]["mtask"]) == true)
{
route.Add(Convert.ToDouble(dv2[0]["mtask"]));//·<><C2B7><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
route.Add(0);//·<><C2B7><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
else
{
route.Add(0);//·<><C2B7><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*0.3+·<><C2B7>ʹ<EFBFBD><CAB9>Ƶ<EFBFBD><C6B5>*0.3+<2B>ռ<E8B1B8><D5BC><EFBFBD><EFBFBD>*0.3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Сֵ<EFBFBD><EFBFBD>
if (minroute.Count == 0)
{
minroute.Add(route[0]);
minroute.Add(route[1] * 0.3 + route[2] * 0.3 + route[3] * 0.3);
}
else
{
if (minroute[1] > (route[1] * 0.3 + route[2] * 0.3 + route[3] * 0.3))
{
minroute[0] = route[0];
minroute[1] = (route[1] * 0.3 + route[2] * 0.3 + route[3] * 0.3);
}
}
}
if (minroute.Count > 0)
{
return Convert.ToInt32(minroute[0]);
}
else
{
return -1;
}
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.MinRouteIDʱ<44><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex.Message;
return -1;
}
}
/// <summary>
///
/// </summary>
/// <param name="Mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="ManFID">io_control<6F><6C><EFBFBD><EFBFBD></param>
/// <param name="routeIDSub"><3E><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="drv"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ</param>
/// <returns></returns>
public static int CreateMonitor(int Mankind, int ManFID, int routeIDSub, DataRowView drv, int status)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫͬ<D2AA><CDAC>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><E8B1B8>
//<2F><><EFBFBD>󳵡<EFBFBD><F3B3B5A1>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>AGV<47><56><EFBFBD><EFBFBD><EFBFBD>ڹؼ<DAB9><D8BC><EFBFBD><E8B1B8>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD>
//<2F><><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD><E8B1B8>·<EFBFBD><C2B7><EFBFBD>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķָ<C4B7><D6B8>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD>
//1<><31><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ͷֶο<D6B6><CEBF><EFBFBD>
//2<><32><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>⣨ȡ<E2A3A8><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//3<><33>RGV<47><56>ȡ+RGVȡ<56><C8A1><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+RGV<47><56><EFBFBD><EFBFBD>+RGV<47>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>͹<EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//4<><34><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>͹<EFBFBD><CDB9><EFBFBD><EFBFBD><EFBFBD>
//5<><35><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ͷֶο<D6B6><CEBF><EFBFBD>
//6<><36><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD>(<28><>ȡ+ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD>߽<EFBFBD><DFBD><EFBFBD>+<2B>ͻ<EFBFBD>)<29><>
//7<><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
DataView dvRoute; DataView dvs;
try
{
//090714
if (ccf.GetMonitorIndex(ManFID, Mankind) >= 30000)
{
ccf.UpdateMonitorIndex(1);
}
//20091107
string sql = "SELECT T_Base_Route_Device.F_DeviceIndex,F_DeviceOrder, T_Base_Route_Device.F_SerialNumber, " +
"T_Base_Device.F_DeviceKindIndex,F_UnControl FROM " +
"T_Base_Device,T_Base_Route_Device where " +
"T_Base_Device.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex and F_RouteIDSub=" +
routeIDSub + " order by F_SerialNumber asc ";
dvRoute = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dvRoute.Count == 0) return 0;
//dbo.TransBegin();
int CurSerialNumber = 0;
List<int> PriorDevice0 = new List<int>(), PriorKeyDevice0 = new List<int>();
string AheadDetect = string.Empty;
string RunningLock = string.Empty;
string AheadTrigger = string.Empty;
string uncontrol = string.Empty;
for (int i = 0; i < dvRoute.Count; i++)
{
AheadDetect = string.Empty;
RunningLock = string.Empty;
AheadTrigger = string.Empty;
uncontrol = (dvRoute[i]["F_UnControl"] + "").ToString();
List<int> PriorDevice = new List<int>(), NextDevice = new List<int>(),
CurDevice = new List<int>(), NextKeyDevice = new List<int>();//0<><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>;2:·<><C2B7><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
//<2F><>ֹ<EFBFBD><D6B9><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><E8B1B8><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD>ҹؼ<D2B9><D8BC>
if (Convert.ToInt32(dvRoute[i]["F_SerialNumber"]) <= CurSerialNumber) continue; // <20><><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
CurDevice.Add(Convert.ToInt32(dvRoute[i]["F_DeviceIndex"]));
CurDevice.Add(Convert.ToInt32(dvRoute[i]["F_DeviceKindIndex"]));
CurDevice.Add(Convert.ToInt32(dvRoute[i]["F_SerialNumber"]));
CurDevice.Add(Convert.ToInt32(dvRoute[i]["F_DeviceOrder"]));
NextKeyDevice = GetNextKeyDevice(routeIDSub, Convert.ToInt32(dvRoute[i]["F_SerialNumber"]));
if (NextKeyDevice.Count > 0)//<2F>ҵ<EFBFBD><D2B5>ؼ<EFBFBD><D8BC><EFBFBD><E8B1B8>0<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>;2:·<><C2B7><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
{
CurSerialNumber = NextKeyDevice[2];
NextDevice = GetNextDevice(routeIDSub, NextKeyDevice[2]);
PriorDevice = GetPriorDevice(routeIDSub, NextKeyDevice[2]);
int TriggerTaskNo = 0;
int[] Coor = new int[6] { 0, 0, 0, 0, 0, 0 };
//20101118
string tw = string.Empty;
int mainTask = 0; int Rgvorder = 0;
switch (NextKeyDevice[1])
{
case 1:
#region <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
if (PriorDevice.Count > 0)
{
//<2F><><EFBFBD><EFBFBD>PriorDevice<63><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>CurDevice-->PriorDeviceĿ<65><C4BF><EFBFBD>豸,<2C><><EFBFBD>⣺2<E2A3BA><32><EFBFBD><EFBFBD>
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD>PriorDevice<63><65>PLC<4C>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>Ȼ<EEA3AC><C8BB><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
#region ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
if (uncontrol != "1")
{//20091107
if (PriorDevice[1] == 2)
{
int arrowdev;
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
if (CurDevice[0] == PriorDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{//20101118
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{//20101118
AheadDetect += ";D" + tw.ToString();
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = PriorDevice[0];
CurDevice[3] = 6;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]); // <20>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
if (tw != "")
{//20101118
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]); //(<28><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>)
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
tw = GetBindingDeviceIndex(nextConveyor[0]); //<2F><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>dz<EFBFBD><C7B3><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>һ<EFBFBD>Σ<EFBFBD><CEA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD> //20111116
if (tw != "")
{//20101118
AheadDetect += ";D" + tw.ToString();
}
//20110318
tw = GetBeDetectedDevices(nextConveyor[0]);
if (tw != "")
{//20101118
AheadDetect += ";" + tw.ToString();
}
tw = GetBindingDeviceIndexOut(nextConveyor[0]);
if (tw != "")
{//20101118
AheadDetect += ";D" + tw.ToString();
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
AheadTrigger = PriorDevice[0].ToString(); //+ "-" + (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);//<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ﵱǰλ<C7B0><CEBB>=PriorDevice[0]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>Ľ<EFBFBD>ȡ
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_UseAwayFork,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + drv["FUseAwayFork"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
#region ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺؼ<EFBFBD><EFBFBD>
if ((PriorDevice[1] == 7) || (PriorDevice[1] == 12))
{
int arrowdev;
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
PriorDevice = PriorDevice0;
//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{//20101118
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AheadTrigger = PriorDevice[0].ToString(); //+ "-" + (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);//<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ﵱǰλ<C7B0><CEBB>=PriorDevice[0]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>Ľ<EFBFBD>ȡ
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺؼ<EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>PriorDevice<63>ǹ̶<C7B9>վ̨<D5BE><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>PriorDevice<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>PriorDevice<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EAA3AC><EFBFBD>ֶѶ<D6B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int[] Coor0_2 = new int[6] { 0, 0, 0, 0, 0, 0 };
//<2F><><EFBFBD><EFBFBD>NextDevice<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NextDevice<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>ֶѶ<D6B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD>
if (PriorDevice[1] == 10)
{
Coor0_2 = GetStackCoordinateFromManage(Mankind, ManFID, drv);
}
else
{
//<2F><><EFBFBD><EFBFBD>NextDevice<63><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>NextDevice<63>ǹ̶<C7B9>վ̨<D5BE><CCA8>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Coor0_2 = GetStackCoordinateFromLaneGate(NextKeyDevice[0], PriorDevice[0], true);
}
Coor[0] = Coor0_2[0];
Coor[1] = Coor0_2[1];
Coor[2] = Coor0_2[2];
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
if (NextDevice.Count > 0)
{
int[] Coor3_5 = new int[6] { 0, 0, 0, 0, 0, 0 };
//<2F><><EFBFBD><EFBFBD>NextDevice<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>NextDevice<63><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3AC><EFBFBD>ֶѶ<D6B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD>
if (NextDevice[1] == 10)
{
Coor3_5 = GetStackCoordinateFromManage(Mankind, ManFID, drv);
}
else
{
//<2F><><EFBFBD><EFBFBD>NextDevice<63><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>NextDevice<63>ǹ̶<C7B9>վ̨<D5BE><CCA8>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Coor3_5 = GetStackCoordinateFromLaneGate(NextKeyDevice[0], NextDevice[0], false);
}
Coor[3] = Coor3_5[3];
Coor[4] = Coor3_5[4];
Coor[5] = Coor3_5[5];
}
#endregion <EFBFBD><EFBFBD><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>
#region <EFBFBD><EFBFBD>ȡ
//AheadDetect = "";
//if (NextDevice[1] == 2)
//{//<2F><>ȡʱ<C8A1><CAB1><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
// //20091107
// if (CStaticClass.OutDetectArrowIdleGoods == "1")
// {
// #region <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// tw = GetBindingDeviceIndex(NextDevice[0]);
// if (tw != "")
// {
// AheadDetect = tw.ToString() + ";" + GetBeDetectedDevices(NextDevice[0]);
// }
// else
// {
// AheadDetect = null;
// }
// tw = GetBindingDeviceIndexOut(NextDevice[0]);
// if (tw != "")
// {
// AheadDetect = AheadDetect + ";" + tw.ToString();
// }
// ////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
// AheadDetect += ";" + "I" + NextDevice[0].ToString();
// //20090918<31><38><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
// AheadDetect += ";" + "N" + NextDevice[0].ToString();
// #endregion
// }
//}
//AheadDetect += ";" + GetBeDetectedDevices(NextKeyDevice[0]);
//#region ˫<><CBAB><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>޸ģ<DEB8><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>F_UseAwayFork<72><6B>F_CorrelDoubleFork
//int UseAwayFork = 1;//Զ<><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//devinfo = Model.CGetInfo.GetDeviceInfo(NextKeyDevice[0]);
//if (devinfo.IfCorrelDoubleFork == "1")
//{
// UseAwayFork = ccf.GetUseAwayFork(Coor[0], Coor[1], Coor[2], ccf.GetWAREHOUSEFromSTCELL(NextKeyDevice[0]), Mankind, ManFID, NextKeyDevice[0],2);
// }
//#endregion
//if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], 2, 0) == false)
//{
// int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
// sql = "INSERT INTO T_Monitor_Task " +
// "(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
// " F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
// " F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_TxtParam,F_AheadDetect,F_UseAwayFork)" +
// "VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
// + "," + NextKeyDevice[0] + ",2," + routeIDSub + "," + status + "," + Coor[0] + "," + Coor[1]
// + "," + Coor[2] + "," + Coor[3] + "," + Coor[4] + "," + Coor[5] + ",'" + drv["FPALLETBARCODE"] + "','" + AheadDetect + "','"+UseAwayFork+"')";
// dbo.ExceSQL(sql);
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>ĶѶ<C4B6><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
// //<2F><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// if (AheadTrigger != null)
// {
// AheadTrigger = PriorDevice[0] + "-" + mindex;
// //<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ﵱǰλ<C7B0><CEBB>=PriorDevice[0]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>Ľ<EFBFBD>ȡ
// dbo.ExceSQL("update T_Monitor_Task set F_AheadTrigger='" + AheadTrigger + "' where F_MonitorIndex=" + TriggerTaskNo);
// }
//}
#endregion <EFBFBD><EFBFBD>ȡ
#region ȡ<EFBFBD><EFBFBD>
if (PriorDevice[1] == 10)
{
AheadDetect = null;
}
RunningLock = "";
if (PriorDevice[1] == 2)
{//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
RunningLock = PriorDevice[0].ToString();
List<int> PriorDevice2 = GetPriorDevice(routeIDSub, PriorDevice[2]);
if (PriorDevice2.Count > 0)
{
if (PriorDevice2[1] == 2)//<2F><>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Խӵĵ<D3B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
RunningLock = RunningLock + ";" + PriorDevice2[0].ToString();
}
}
#endregion <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><EFBFBD><EFBFBD>
AheadDetect = "";
//20101011
string[] cdi = ccf.GetCorrel_DeviceInfo(PriorDevice[0], true);
if (cdi != null)
{
if (cdi[1] != "") //<2F><>λ dzf
{
AheadDetect += ";D-" + cdi[1];//20101118
}
if (cdi[0] != "")//<2F>л<EFBFBD>
{
AheadDetect += ";D-" + cdi[0];//20101118
}
}
//20101011
else
{
tw = GetBindingDeviceIndexOut(PriorDevice[0]);
if (tw != "")
{//20101118
AheadDetect = "D-" + tw.ToString();
}
else
{
AheadDetect = null;
}
}
//20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
AheadDetect += ";" + "I" + PriorDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if (NextDevice[1] == 2)
{
//20101011
string[] cdi = ccf.GetCorrel_DeviceInfo(NextDevice[0], true);
if (cdi != null)
{//20100406<30><36><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>-11211<31><31><EFBFBD><EFBFBD>-11221<32><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//20101218
if (cdi[1] != "") //<2F><>λ
{
AheadDetect += ";D-" + cdi[1];//20101118
}
if (cdi[0] != "")//<2F>޻<EFBFBD>
{
AheadDetect += ";D" + cdi[0];//20101118
}
//if (cdi[5] != "")//DZF
//{
// AheadDetect += ";D" + cdi[5];//20101118
//}
//if (cdi[6] != "")
//{
// AheadDetect += ";D" + cdi[6];//20101118
//}
//20101011
}
else
{
tw = GetBindingDeviceIndex(NextDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
//tw = GetBindingDeviceIndexOut(NextDevice[0]);
//if (tw != "")
//{
// AheadDetect += ";D" + tw.ToString();//20101118
//}
}
//20100406<30><36><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
AheadDetect += ";" + "I" + NextDevice[0].ToString() + ";" + "N" + NextDevice[0].ToString();//dzf
}
//<2F><>֤<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1>ʱ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>޻<EFBFBD> 2011/11/16
tw = GetBindingDeviceIndex(NextKeyDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();
}
AheadDetect += ";" + GetBeDetectedDevices(NextKeyDevice[0]);
//ȡ<><C8A1>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], 4, 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
" F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_AheadDetect,F_RunningLock,F_TxtParam,F_UseAwayFork,F_CreateTime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + ",4," + routeIDSub + "," + status + "," + Coor[0] + "," + Coor[1]
+ "," + Coor[2] + "," + Coor[3] + "," + Coor[4] + "," + Coor[5] + ",'" + AheadDetect + "','" + RunningLock + "','" + drv["FPALLETBARCODE"] + "','" + drv["FUseAwayFork"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
}
#endregion ȡ<EFBFBD><EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//if (NextDevice[1] == 10)
//{
// AheadDetect = null;
//}
//RunningLock = "";
//AheadDetect = GetBeDetectedDevices(NextKeyDevice[0]);
////<2F><><EFBFBD><EFBFBD>
//if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], 3, 0) == false)
//{
// int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
// sql = "INSERT INTO T_Monitor_Task " +
// "(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
// " F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
// " F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_TxtParam,F_AheadDetect)" +
// "VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
// + "," + NextKeyDevice[0] + ",3," + routeIDSub + "," + status + "," + Coor[0] + "," + Coor[1]
// + "," + Coor[2] + "," + Coor[3] + "," + Coor[4] + "," + Coor[5] + ",'" + drv["FPALLETBARCODE"] + "','" + AheadDetect + "')";
// dbo.ExceSQL(sql);
//}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#region <EFBFBD>ͻ<EFBFBD>
RunningLock = "";
AheadDetect = "";
if (NextDevice[1] == 2 || NextDevice[1] == 9)
{//<2F>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
RunningLock = "";
DataView dvlane = DbHelperSQL.Query("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate WHERE (F_LaneGateDeviceIndex =" + NextDevice[0] + ") AND (F_RunLock = '1')").Tables[0].DefaultView;
if (dvlane.Count > 0)
{
RunningLock = NextDevice[0].ToString();
}
else
{
RunningLock = "";
}
#endregion <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><EFBFBD><EFBFBD>
AheadDetect = "";
//20101011
string[] cdi = ccf.GetCorrel_DeviceInfo(NextDevice[0], true);
if (cdi != null)
{//20100406<30><36><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>-11211<31><31><EFBFBD><EFBFBD>-11221<32><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//20101218
if (cdi[1] != "")
{
AheadDetect += ";D-" + cdi[1];//20101118
}
if (cdi[0] != "")
{
AheadDetect += ";D" + cdi[0];//20101118
}
//if (cdi[5] != "")//DZF
//{
// AheadDetect += ";D" + cdi[5];//20101118
//}
//if (cdi[6] != "")
//{
// AheadDetect += ";D" + cdi[6];//20101118
//}
//20101011
}
else
{
tw = GetBindingDeviceIndex(NextDevice[0]);
if (tw != "")
{
AheadDetect = "D" + tw.ToString() + ";" + GetBeDetectedDevices(NextDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
}
//tw = GetBindingDeviceIndexOut(NextDevice[0]); //DZF
//if (tw != "")
//{
// AheadDetect = AheadDetect + ";D" + tw.ToString();//20101118
//}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
AheadDetect += ";" + "I" + NextDevice[0].ToString();
//20090918<31><38><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
AheadDetect += ";" + "N" + NextDevice[0].ToString(); //DZF ע<>ͻ<EFBFBD><CDBB><EFBFBD>
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
AheadDetect += ";" + GetBeDetectedDevices(NextKeyDevice[0]);
// <20>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>Ż<EFBFBD>ʱ<EFBFBD><CAB1>֤<EFBFBD>л<EFBFBD>
tw = GetBindingDeviceIndex(NextKeyDevice[0]);
if (tw != "")
{
AheadDetect += ";D-" + tw.ToString();
}
//<2F>ͻ<EFBFBD>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], 5, 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
" F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_AheadDetect,F_RunningLock,F_TxtParam,F_UseAwayFork,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + ",5," + routeIDSub + "," + status + "," + Coor[0] + "," + Coor[1]
+ "," + Coor[2] + "," + Coor[3] + "," + Coor[4] + "," + Coor[5] + ",'" + AheadDetect + "','" + RunningLock + "','" + drv["FPALLETBARCODE"] + "','" + drv["FUseAwayFork"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
}
#endregion <EFBFBD>ͻ<EFBFBD>
#endregion <EFBFBD><EFBFBD><EFBFBD>ɶѶ<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>:<EFBFBD><EFBFBD>ȡ+ȡ<EFBFBD><EFBFBD>+<EFBFBD>ͻ<EFBFBD>
//<2F>޸<EFBFBD>T_Manage_Task<73><6B>FLANEWAY<41><59>FSTACK
dvs = DbHelperSQL.Query("SELECT F_LaneDeviceIndex,F_StackIndex FROM T_Base_LaneInfo where F_StackIndex=" + NextKeyDevice[0] + "").Tables[0].DefaultView;
int laneway = 0;
if (dvs.Count > 0)
{
laneway = Convert.ToInt32(dvs[0]["F_LaneDeviceIndex"]);
}//20101028
DbHelperSQL.ExecuteSql("update T_Manage_Task set FLANEWAY=" + laneway + ",FSTACK=" + NextKeyDevice[0] + " where (FLANEWAY=-1) and (FSTACK=-1) and (F_ManageTaskKindIndex=" + Mankind + ") and FID=" + ManFID);
break;
#endregion <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD>
case 2://<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ؼ<EFBFBD><D8BC><EFBFBD><E3A3BA><EFBFBD><EFBFBD>ʮ<EFBFBD><CAAE>·<EFBFBD>ڣ<EFBFBD><DAA3><EFBFBD>ǰһ<C7B0><D2BB><EFBFBD>ͺ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>յ㣨û<E3A3A8>к<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
if (NextDevice.Count == 0)//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD>
{
if (uncontrol != "1")
{//20091107
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
int arrowdev;
if (CurDevice[0] == NextKeyDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ((CurDevice[3] == 1) || ((CurDevice[3] == 2)))
{
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
}
//else if (CurDevice[3] == 2)
//{
// tw = GetBindingDeviceIndexOut(CurDevice[0]);
// if (tw != "")
// {
// AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
// }
// else
// {
// AheadDetect = null;
// }
//}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = NextKeyDevice[0];
CurDevice[3] = 6;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString();//20101118
}
else
{
AheadDetect = null;
}
//20101118
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]);
List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
tw = GetBindingDeviceIndex(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();// + ";" + GetBeDetectedDevices(nextConveyor[0]);//20101118
}
//20110318
tw = GetBeDetectedDevices(nextConveyor[0]);
if (tw != "")
{//20101118
AheadDetect += ";" + tw.ToString();
}
tw = GetBindingDeviceIndexOut(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + nextConveyor[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
//20110318
//int floor = 0;
//if (18007==arrowdev)
//{
//floor =Convert.ToInt32( drv["BOX_QUANTITY"]);
//}
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_NumParam5,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "',0,'" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
break;
case 4:
#region RGV
//RGVȡ<56><C8A1><EFBFBD><EFBFBD>
if (PriorDevice.Count > 0)
{
//<2F><><EFBFBD><EFBFBD>PriorDevice<63><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>CurDevice-->PriorDeviceĿ<65><C4BF><EFBFBD>豸,<2C><><EFBFBD>⣺2<E2A3BA><32><EFBFBD><EFBFBD>
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD>PriorDevice<63><65>PLC<4C>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>RGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EEA3A8><37><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
#region ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
if (PriorDevice[1] == 2)
{
if (uncontrol != "1")
{//20091107
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
int arrowdev;
if (CurDevice[0] == PriorDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = PriorDevice[0];
CurDevice[3] = 6;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
tw = GetBindingDeviceIndex(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString() + ";" + GetBeDetectedDevices(nextConveyor[0]);//20101118
}
tw = GetBindingDeviceIndexOut(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + nextConveyor[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
AheadTrigger = PriorDevice[0].ToString(); //+ "-" + (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);//<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ﵱǰλ<C7B0><CEBB>=PriorDevice[0]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>Ľ<EFBFBD>ȡ
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGV<EFBFBD><EFBFBD><EFBFBD>еĽӻ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Coor[0] = PriorDevice[0];
Coor[1] = 0;
Coor[2] = 0;
Coor[3] = 0;
Coor[4] = 0;
Coor[5] = 0;
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGV<EFBFBD><EFBFBD><EFBFBD>еĽӻ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGVָ<EFBFBD><EFBFBD>:7-<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>2-<EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD>3-<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>4-<EFBFBD>ҽӻ<EFBFBD>5-<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>
//20090625
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AheadDetect = "";
tw = GetBindingDeviceIndex(NextDevice[0]);//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (tw != "")
{
AheadDetect = "D" + tw.ToString() + ";" + GetBeDetectedDevices(NextDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(NextDevice[0]);//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (tw != "")
{
AheadDetect = AheadDetect + ";D" + tw.ToString();//20101118
}
//20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
AheadDetect += ";" + "I" + NextDevice[0].ToString();
//20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
AheadDetect += ";" + GetBeDetectedDevices(NextKeyDevice[0]);
tw = GetBindingDeviceIndex(NextKeyDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F>˶<EFBFBD>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], 2, Coor[0]) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
" F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_TxtParam,F_AheadDetect,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + ",7," + routeIDSub + "," + status + "," + Coor[0] + "," + Coor[1]
+ "," + Coor[2] + "," + Coor[3] + "," + Coor[4] + "," + Coor[5] + ",'" + drv["FPALLETBARCODE"] + "','" + AheadDetect + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>RGV<47><56><EFBFBD>е<EFBFBD><D0B5><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
//<2F><>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (AheadTrigger != null)
{
AheadTrigger = PriorDevice[0] + "-" + mindex;
//<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ﵱǰλ<C7B0><CEBB>=PriorDevice[0]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>Ľ<EFBFBD>ȡ
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_AheadTrigger='" + AheadTrigger + "' where F_MonitorIndex=" + TriggerTaskNo);
}
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGVָ<EFBFBD><EFBFBD>:7-<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>2-<EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD>3-<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>4-<EFBFBD>ҽӻ<EFBFBD>5-<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AheadDetect = "";
tw = GetBindingDeviceIndexOut(PriorDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(PriorDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + PriorDevice[0].ToString();
tw = GetBindingDeviceIndex(NextKeyDevice[0]);
if (tw != "")
{
AheadDetect = AheadDetect + ";D" + tw.ToString();// +";" + GetBeDetectedDevices(NextKeyDevice[0]);//20101118
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, PriorDevice[0], 3, 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
" F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + PriorDevice[0] + "," + 3 + "," + routeIDSub + "," + status + "," + PriorDevice[0] + ",0,"
+ "0,0,0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
mainTask = mindex;
}
#endregion <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
#region RGV<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><EFBFBD><EFBFBD>
AheadDetect = "";
tw = GetBindingDeviceIndexOut(PriorDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(PriorDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + PriorDevice[0].ToString();
tw = GetBindingDeviceIndex(NextKeyDevice[0]);
if (tw != "")
{
AheadDetect = AheadDetect + ";D" + tw.ToString() + ";" + GetBeDetectedDevices(NextKeyDevice[0]);//20101118
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + NextKeyDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Rgvorder = GetRGVOrder(PriorDevice[0], true);
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], Rgvorder, 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
" F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + "," + Rgvorder + "," + routeIDSub + "," + status + "," + PriorDevice[0] + ",0" +
",0,0,0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_Associate=" + mindex + " where F_MonitorIndex=" + mainTask);
}
#endregion RGV<EFBFBD>Ľӻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//<2F><><EFBFBD><EFBFBD>RGV<47><56><EFBFBD>е<EFBFBD><D0B5>ͻ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (NextDevice.Count > 0)
{
Coor[0] = NextDevice[0];
Coor[1] = 0;
Coor[2] = 0;
Coor[3] = 0;
Coor[4] = 0;
Coor[5] = 0;
}
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGVָ<EFBFBD><EFBFBD>:7-<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>2-<EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD>3-<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>4-<EFBFBD>ҽӻ<EFBFBD>5-<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>
//20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
AheadDetect = GetBeDetectedDevices(NextKeyDevice[0]);
//<2F>˶<EFBFBD>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], 7, Coor[0]) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
" F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_TxtParam,F_AheadDetect,f_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + ",7," + routeIDSub + "," + status + "," + Coor[0] + "," + Coor[1]
+ "," + Coor[2] + "," + Coor[3] + "," + Coor[4] + "," + Coor[5] + ",'" + drv["FPALLETBARCODE"] + "','" + AheadDetect + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>RGVָ<EFBFBD><EFBFBD>:7-<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>+<EFBFBD><EFBFBD>2-<EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD>3-<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>4-<EFBFBD>ҽӻ<EFBFBD>5-<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>
#region RGV<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AheadDetect = "";
if (NextDevice[0] == 2246)//2246<34><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFA3AC><D6B1><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
{
}
else
{
tw = GetBindingDeviceIndex(NextDevice[0]);//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (tw != "")
{
AheadDetect = "D" + tw.ToString();// +";" + GetBeDetectedDevices(NextDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(NextDevice[0]);//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (tw != "")
{
AheadDetect = AheadDetect + ";D" + tw.ToString();//20101118
}
}
tw = GetBindingDeviceIndex(NextKeyDevice[0]);//RGV<47><56>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (tw != "")
{
AheadDetect = AheadDetect + ";" + "D-" + tw.ToString() + ";" + GetBeDetectedDevices(NextKeyDevice[0]);//20101118
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + NextKeyDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Rgvorder = GetRGVOrder(NextDevice[0], false);
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], Rgvorder, 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
" F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + "," + Rgvorder + "," + routeIDSub + "," + status + "," + NextDevice[0] + ",0" +
",0,0,0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
mainTask = mindex;
}
#endregion RGV<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><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><EFBFBD><EFBFBD>
AheadDetect = "";
tw = GetBindingDeviceIndexOut(NextDevice[0]);//Ŀ<><C4BF><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (tw != "")
{
AheadDetect = AheadDetect + ";D" + tw.ToString();//20101118
}
if (NextDevice[0] != 2246)//2246<34><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>Աһ<D4B1><D2BB>)<29><><EFBFBD><EFBFBD>
{
tw = GetBindingDeviceIndex(NextDevice[0]);//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (tw != "")
{
AheadDetect = "D" + tw.ToString() + ";" + GetBeDetectedDevices(NextDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + NextDevice[0].ToString();
}
tw = GetBindingDeviceIndex(NextKeyDevice[0]);//RGV<47><56>̽<EFBFBD><EFBFBD><EFA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (tw != "")
{
AheadDetect = AheadDetect + ";D" + "-" + tw.ToString() + ";" + GetBeDetectedDevices(NextKeyDevice[0]);//20101118
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + NextKeyDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextDevice[0], 4, 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam2," +
" F_NumParam3, F_NumParam4,F_NumParam5, F_NumParam6,F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextDevice[0] + "," + 4 + "," + routeIDSub + "," + status + "," + NextDevice[0] + ",0,"
+ "0,0,0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_Associate=" + mindex + " where F_MonitorIndex=" + mainTask);
}
#endregion <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>Ľӻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
break;
#endregion RGV
case 5:
#region <EFBFBD><EFBFBD><EFBFBD>ɺ͹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], NextKeyDevice[3], 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + "," + NextKeyDevice[3] + "," + routeIDSub + "," + status + ",0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + ")";
DbHelperSQL.ExecuteSql(sql);
}
#endregion <EFBFBD><EFBFBD><EFBFBD>ɺ͹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
break;
case 7:
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>1<EFBFBD><EFBFBD>
if (PriorDevice.Count > 0)
{
//<2F><><EFBFBD><EFBFBD>PriorDevice<63><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>CurDevice-->PriorDeviceĿ<65><C4BF><EFBFBD>豸,<2C><><EFBFBD>⣺2<E2A3BA><32><EFBFBD><EFBFBD>
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD>PriorDevice<63><65>PLC<4C>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>RGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EEA3A8><37><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
#region ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
if (PriorDevice[1] == 2)
{
if (uncontrol != "1")
{//20091107
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
int arrowdev;
if (CurDevice[0] == PriorDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ((CurDevice[3] == 1) || (CurDevice[3] == 2))
{
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
}
//else if (CurDevice[3] == 2)
//{
// tw = GetBindingDeviceIndexOut(CurDevice[0]);
// if (tw != "")
// {
// AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
// }
// else
// {
// AheadDetect = null;
// }
//}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = PriorDevice[0];
CurDevice[3] = 6;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{
//AheadDetect = "D-" + tw.ToString();//20101118
AheadDetect = "D-" + tw.ToString();// +";" + GetBeDetectedDevices(CurDevice[0]);//20101220
}
else
{
AheadDetect = null;
}
//20100221
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]);
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
tw = GetBindingDeviceIndex(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();// +";" + GetBeDetectedDevices(nextConveyor[0]);//20101118
}
tw = GetBindingDeviceIndexOut(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
//20110318
tw = GetBeDetectedDevices(nextConveyor[0]);
if (tw != "")
{//20101118
AheadDetect += ";" + tw.ToString();
}
//if (CurDevice[0] == 1223)//<2F><><EFBFBD>Ͽ<EFBFBD>AGVȡ<56><C8A1>վ̨<D5BE><CCA8>ǰһ<C7B0><D2BB>վ̨
//{
// AheadDetect += ";" + "N" + nextConveyor[0].ToString();
//}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + nextConveyor[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
//AheadTrigger = PriorDevice[0].ToString(); //+ "-" + (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);//<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ﵱǰλ<C7B0><CEBB>=PriorDevice[0]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>Ľ<EFBFBD>ȡ
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
}
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//20110318
tw = GetBindingDeviceIndexOut(PriorDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString();
}
else
{
AheadDetect = null;
}
#endregion <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>
//20110318
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], NextKeyDevice[3], 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + "," + NextKeyDevice[3] + "," + routeIDSub + "," + status + ",0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɨ<EFBFBD><EFBFBD><EFBFBD>ǣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD>1<EFBFBD><EFBFBD>
break;
case 12:
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>Ϊ·<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
if (PriorDevice.Count > 0)
{
if (CurDevice[1] == 34)
{
int arrowdev = PriorDevice[0];
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{//AGV<47><56><EFBFBD><EFBFBD>
AheadDetect = "D" + tw.ToString(); //20101118
}
else
{
AheadDetect = null;
}
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]);//<2F><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_NumParam5,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "',0,'" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
//<2F><><EFBFBD><EFBFBD>PriorDevice<63><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>CurDevice-->PriorDeviceĿ<65><C4BF><EFBFBD>豸,<2C><><EFBFBD>⣺2<E2A3BA><32><EFBFBD><EFBFBD>
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD>PriorDevice<63><65>PLC<4C>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>RGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EEA3A8><37><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
#region ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
else if (PriorDevice[1] == 2 || PriorDevice[1] == 3)
{
if (uncontrol != "1")
{//20091107
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
int arrowdev;
if (CurDevice[0] == PriorDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//20101011
//string[] cdi = ccf.GetCorrel_DeviceInfo(CurDevice[0], true);
//if ((null!= cdi)&&(CurDevice[3] == 2))
//{//20100406<30><36><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>Ķ<EFBFBD><C4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>-11211<31><31><EFBFBD><EFBFBD>-11221<32><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// AheadDetect += ";D-" + cdi[1] + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
//}
////20101011
//else
//{
if ((CurDevice[3] == 1) || (CurDevice[3] == 2))
{
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString();//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
}
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]);//20110401
//}
//else if (CurDevice[3] == 2)
//{
// tw = GetBindingDeviceIndexOut(CurDevice[0]);
// if (tw != "")
// {
// AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
// }
// else
// {
// AheadDetect = null;
// }
//}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = PriorDevice[0];
if (arrowdev == CConfig.Device_DStacker)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int type = new ManageTaskService().GetTypeIndex(ManFID);
if (type == 1)
{
CurDevice[3] = 7;
}
else if (type == 2)
{
CurDevice[3] = 8;
}
}
//else if (arrowdev == 12020)
//{
// CurDevice[3] = 7;
//}
else
{
CurDevice[3] = 6;
}
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{//20091107
AheadDetect = "D-" + tw.ToString(); //20101118
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
////20110108
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]); ;
//20101220
List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
tw = GetBindingDeviceIndex(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
//20110318
tw = GetBeDetectedDevices(nextConveyor[0]);
if (tw != "")
{//20101118
AheadDetect += ";" + tw.ToString();
}
tw = GetBindingDeviceIndexOut(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_NumParam5,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "',0,'" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ؼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><EFBFBD>Ϊ·<EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
break;
case 30:
#region 20100617<EFBFBD>͹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>
if (PriorDevice.Count > 0)
{
//<2F><><EFBFBD><EFBFBD>PriorDevice<63><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>CurDevice-->PriorDeviceĿ<65><C4BF><EFBFBD>豸,<2C><><EFBFBD>⣺2<E2A3BA><32><EFBFBD><EFBFBD>
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD>PriorDevice<63><65>PLC<4C>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>RGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EEA3A8><37><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
#region ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
if (PriorDevice[1] == 2)
{
if (uncontrol != "1")
{//20091107
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
int arrowdev;
if (CurDevice[0] == PriorDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ((CurDevice[3] == 1) || (CurDevice[3] == 2))
{
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
}
//else if (CurDevice[3] == 2)
//{
// tw = GetBindingDeviceIndexOut(CurDevice[0]);
// if (tw != "")
// {
// AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
// }
// else
// {
// AheadDetect = null;
// }
//}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = PriorDevice[0];
CurDevice[3] = 6;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString();//20101118
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + CurDevice[0].ToString();
List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
tw = GetBindingDeviceIndex(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString() + ";" + GetBeDetectedDevices(nextConveyor[0]);//20101118
}
tw = GetBindingDeviceIndexOut(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
if (CurDevice[0] == 1223)//<2F><><EFBFBD>Ͽ<EFBFBD>AGVȡ<56><C8A1>վ̨<D5BE><CCA8>ǰһ<C7B0><D2BB>վ̨
{
AheadDetect += ";" + "N" + nextConveyor[0].ToString();
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + nextConveyor[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
AheadTrigger = PriorDevice[0].ToString(); //+ "-" + (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>);//<2F><><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD>ﵱǰλ<C7B0><CEBB>=PriorDevice[0]<5D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>Ľ<EFBFBD>ȡ
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
}
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//tw = GetBindingDeviceIndexOut(PriorDevice[0]);
//if (tw != "")
//{
// AheadDetect = "D-" + tw.ToString();//20101118
//}
//else
//{
// AheadDetect = null;
//}
#endregion <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><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], NextKeyDevice[3], 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + NextKeyDevice[0] + "," + NextKeyDevice[3] + "," + routeIDSub + "," + status + ",0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.Query(sql);
}
#endregion <EFBFBD><EFBFBD><EFBFBD>ɺ͹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ϡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endregion 20100617<EFBFBD>͹<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD>
break;
case 32:
#region <EFBFBD><EFBFBD>ѡģ<EFBFBD><EFBFBD>
//<2F><><EFBFBD><EFBFBD>PriorDevice<63><65><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>CurDevice-->PriorDeviceĿ<65><C4BF><EFBFBD>豸,<2C><><EFBFBD>⣺2<E2A3BA><32><EFBFBD><EFBFBD>
//<2F>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ͻ<EFBFBD>PriorDevice<63><65>PLC<4C>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>RGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EEA3A8><37><EFBFBD><EFBFBD>Ȼ<EFBFBD><C8BB><EFBFBD><EFBFBD>ȡ<EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EEA3AC>ȡ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>
#region ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
if (PriorDevice[1] == 2 || PriorDevice[1] == 3)
{
if (uncontrol != "1")
{//20091107
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
int arrowdev;
if (CurDevice[0] == PriorDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ((CurDevice[3] == 1) || (CurDevice[3] == 2))
{
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString();//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
}
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]);//20110401
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = PriorDevice[0];
CurDevice[3] = 6;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{//20091107
AheadDetect = "D-" + tw.ToString(); //20101118
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
////20110108
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]); ;
//20101220
//List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
//tw = GetBindingDeviceIndex(nextConveyor[0]);
//if (tw != "")
//{
// AheadDetect += ";D" + tw.ToString();//20101118
//}
////20110318
//tw = GetBeDetectedDevices(nextConveyor[0]);
//if (tw != "")
//{//20101118
// AheadDetect += ";" + tw.ToString();
//}
//tw = GetBindingDeviceIndexOut(nextConveyor[0]);
//if (tw != "")
//{
// AheadDetect += ";D" + tw.ToString();//20101118
//}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_NumParam5,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "',0,'" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//20110318
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AheadDetect = "D-" + tw.ToString();
}
else
{
AheadDetect = null;
}
AheadDetect += ";I" + CurDevice[0] + ";I" + NextKeyDevice[0];
#endregion <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>
//20110318
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], NextKeyDevice[3], 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
string Sql = "insert into T_Monitor_Task" +
"(F_RouteID,F_ManageTaskIndex,F_ManageTaskKindIndex,F_MonitorIndex,F_MonitorTaskLevel," +
"F_DeviceIndex,F_DeviceCommandIndex,F_Status,F_NumParam1,F_NumParam4,F_AheadDetect,F_TxtParam,F_PickUpLocation,f_createtime) " +
"values(" + routeIDSub + "," + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"] + ","
+ NextKeyDevice[0] + "," + drv["PICKUP_TYPE"] + "," + status + ",0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "'," + drv["PICKUP_LOCATION"] + ",'" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(Sql);
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endregion <EFBFBD><EFBFBD>ѡģ<EFBFBD><EFBFBD>
break;
case 33:
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#region ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
if (PriorDevice[1] == 2 || PriorDevice[1] == 3)
{
if (uncontrol != "1")
{//20091107
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
int arrowdev;
if (CurDevice[0] == PriorDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ((CurDevice[3] == 1) || (CurDevice[3] == 2))
{
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString();//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
}
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]);//20110401
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = PriorDevice[0];
CurDevice[3] = 6;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{//20091107
AheadDetect = "D-" + tw.ToString(); //20101118
}
else
{
AheadDetect = null;
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
////20110108
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]); ;
//20101220
//List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
//tw = GetBindingDeviceIndex(nextConveyor[0]);
//if (tw != "")
//{
// AheadDetect += ";D" + tw.ToString();//20101118
//}
////20110318
//tw = GetBeDetectedDevices(nextConveyor[0]);
//if (tw != "")
//{//20101118
// AheadDetect += ";" + tw.ToString();
//}
//tw = GetBindingDeviceIndexOut(nextConveyor[0]);
//if (tw != "")
//{
// AheadDetect += ";D" + tw.ToString();//20101118
//}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
TriggerTaskNo = mindex;
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_NumParam5,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "',0,'" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
}
#endregion ǰһ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//20110318
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
AheadDetect = "D-" + tw.ToString();
}
else
{
AheadDetect = null;
}
AheadDetect += ";I" + CurDevice[0] + ";I" + NextKeyDevice[0];
#endregion <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>
//20110318
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, NextKeyDevice[0], NextKeyDevice[3], 0) == false)
{
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
string Sql = "insert into T_Monitor_Task" +
"(F_RouteID,F_ManageTaskIndex,F_ManageTaskKindIndex,F_MonitorIndex,F_MonitorTaskLevel," +
"F_DeviceIndex,F_DeviceCommandIndex,F_Status,F_NumParam1,F_NumParam4,F_AheadDetect,F_TxtParam,F_PickUpLocation,f_createtime) " +
"values(" + routeIDSub + "," + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"] + ","
+ NextKeyDevice[0] + "," + drv["PICKUP_TYPE"] + "," + status + ",0,0,'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "'," + drv["PICKUP_LOCATION"] + ",'" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(Sql);
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
break;
case 34://AGV
#region AGV
{
List<int> newcur = NewCurDevice(PriorDevice0, PriorKeyDevice0);
if (newcur != null)
{
CurDevice = newcur;
}
int arrowdev;
if (CurDevice[0] == NextKeyDevice[0])
{//<2F><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><E8B1B8>ͬʱ<CDAC><CAB1>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>
arrowdev = 0;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if ((CurDevice[3] == 1) || ((CurDevice[3] == 2)))
{
//CurDevice<63><65>F_BindingDevice<63><65><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetBindingDeviceIndex(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString() + ";" + GetBeDetectedDevices(CurDevice[0]);//20101118
}
else
{
AheadDetect = null;
}
tw = GetBindingDeviceIndexOut(CurDevice[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
else
{
arrowdev = NextKeyDevice[0];
//if (arrowdev == 12020 && CurDevice[0] != 12011 && CurDevice[0] != 12027)
//{
// CurDevice[3] = 7; //<2F>͵<EFBFBD><CDB5><EFBFBD>ڵķ<DAB5>7
//}
//else
{
CurDevice[3] = 6;
}
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//CurDevice<63><65>F_SendOutDetect<63><74><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CurDevice<63><65>̽<EFBFBD><CCBD>
tw = GetSendOutDetect(CurDevice[0]);
if (tw != "")
{
AheadDetect = "D-" + tw.ToString();//20101118
}
else
{
AheadDetect = null;
}
//20101118
AheadDetect += ";" + GetBeDetectedDevices(CurDevice[0]);
List<int> nextConveyor = GetCurConveyorNextDevice(routeIDSub, CurDevice[2]);
tw = GetBindingDeviceIndex(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();// + ";" + GetBeDetectedDevices(nextConveyor[0]);//20101118
}
//20110318
tw = GetBeDetectedDevices(nextConveyor[0]);
if (tw != "")
{//20101118
AheadDetect += ";" + tw.ToString();
}
tw = GetBindingDeviceIndexOut(nextConveyor[0]);
if (tw != "")
{
AheadDetect += ";D" + tw.ToString();//20101118
}
////20090803<30><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
//AheadDetect += ";" + "I" + nextConveyor[0].ToString();
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
if (DeviceAndOrderExitInMonitor(Mankind, ManFID, CurDevice[0], CurDevice[3], 0) == false)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int mindex = ccf.GetMonitorIndex(ManFID, Mankind);
//20110318
//int floor = 0;
//if (18007==arrowdev)
//{
//floor =Convert.ToInt32( drv["BOX_QUANTITY"]);
//}
sql = "INSERT INTO T_Monitor_Task " +
"(F_ManageTaskIndex, F_ManageTASKKINDINDEX, F_MonitorIndex,F_MonitorTaskLevel," +
" F_DeviceIndex, F_DeviceCommandIndex, F_RouteID, F_Status,F_NumParam1, F_NumParam4," +
" F_AheadDetect,F_TxtParam,F_NumParam5,F_createtime)" +
"VALUES (" + ManFID + "," + Mankind + "," + mindex + "," + drv["FTASKLEVEL"]
+ "," + CurDevice[0] + "," + CurDevice[3] + "," + routeIDSub + "," + status + "," + CurDevice[0] + "," + arrowdev
+ ",'" + AheadDetect + "','" + drv["FPALLETBARCODE"] + "',0,'" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
DbHelperSQL.ExecuteSql(sql);
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
}
}
#endregion AGV
break;
default:
break;
}
}
PriorDevice0 = PriorDevice;
PriorKeyDevice0 = NextKeyDevice;
//20091107
PriorDevice = null;
NextKeyDevice = null;
CurDevice = null;
NextKeyDevice = null;
}
//dbo.TransCommit();
//20091107
PriorDevice0 = null;
PriorKeyDevice0 = null;
return 1;
}
catch (Exception ex)
{
//dbo.TransRollback();
DisassembleTaskError = "ControlSystem.CDisassembleTask.CreateMonitorʱ<72><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex.Message;
return 0;
}
finally
{
dvRoute = null;
dvs = null;
}
}
//------------------------------------------------------------------------------------------------------------------------
private static int GetRouteIDsub(int device)
{
DataView dv = DbHelperSQL.Query("SELECT F_RouteIDSub, F_DeviceIndex, F_RouteID FROM T_Base_Route_Device where F_DeviceIndex=" + device + "").Tables[0].DefaultView;
if (dv.Count > 0)
{
return Convert.ToInt32(dv[0]["F_RouteIDSub"]);
}
else
{
return -1;
}
}
/// <summary>
/// <20>ֽ<EFBFBD><D6BD>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="Mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="ManFID">io_control<6F><6C><EFBFBD><EFBFBD></param>
/// <param name="routeIDSub"><3E><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="drv"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼ</param>
/// <returns></returns>
public static int CreateStockTakeMonitor(int Mankind, int ManFID, DataRowView drv, int status)
{
try
{
//dbo.TransBegin();
int routeIDsub = GetRouteIDsub(Convert.ToInt32(drv["fstack"].ToString()));
char[] cc = new char[1] { '-' };
string[] sp = drv["FSTARTCELL"].ToString().Split(cc);
int z = Convert.ToInt32(sp[0]);
int x = Convert.ToInt32(sp[1]);
int y = Convert.ToInt32(sp[2]);
string useawayfork = "-";
useawayfork = "0";
int hidx = Convert.ToInt32(drv["FID"].ToString());
int hmindx = ccf.GetMonitorIndex(hidx, 4);
string Sql = "insert into T_Monitor_Task(F_RouteID,F_ManageTaskIndex,F_ManageTaskKindIndex,F_MonitorIndex," +
"F_DeviceIndex,F_DeviceCommandIndex,F_NumParam1,F_NumParam2,F_NumParam3,F_NumParam4,F_NumParam5,F_NumParam6,F_UseAwayFork,F_createtime) " +
"values(" + routeIDsub + "," + hidx + "," + Mankind + "," + hmindx + "," + Convert.ToInt32(drv["fstack"].ToString())
+ ",2," + z + "," + x + "," + y + ",0,0,0,'" + useawayfork + "','" + DateTime.Now.ToString("yyyyMMddHHmmssfff") + "')";
int s = DbHelperSQL.ExecuteSql(Sql);
//dbo.TransCommit();
return 1;
}
catch (Exception ex)
{
//dbo.TransRollback();
DisassembleTaskError = "ControlSystem.CDisassembleTask.CreateMonitorʱ<72><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:" + ex.Message;
return 0;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>з<EFBFBD><D0B7><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>;2:·<><C2B7><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
/// </summary>
/// <param name="CurRouteID">·<><C2B7>ID</param>
/// <param name="CurSerialNumber">·<><C2B7><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static List<int> GetPriorDevice(int CurRouteIDSub, int CurSerialNumber)
{
List<int> keyDevice = new List<int>();
string sql; DataView dvRoute;
try
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT T_Base_Route_Device.F_DeviceIndex,F_DeviceOrder, T_Base_Route_Device.F_SerialNumber, " +
"T_Base_Device_Command.F_DeviceCommandIndex,T_Base_Device.F_DeviceKindIndex FROM T_Base_Device_Command " +
",T_Base_Device,T_Base_Route_Device where T_Base_Device_Command.F_DeviceKindIndex = T_Base_Device.F_DeviceKindIndex" +
" and T_Base_Device.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex and F_RouteIDSub=" +
CurRouteIDSub + " and F_SerialNumber < " + CurSerialNumber + " order by F_SerialNumber desc ";
dvRoute = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dvRoute.Count > 0)
{
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceIndex"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceKindIndex"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_SerialNumber"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceOrder"]));
}
return keyDevice;
}
catch (Exception ex)
{
_DisassembleTaskError = "ControlSystem.CDisassembleTask.GetPriorDevice:" + ex.Message;
return null;
}
finally
{
keyDevice = null;
dvRoute = null;
sql = null;
}
}
/// <summary>
/// <20><><EFBFBD>ڳ<EFBFBD><DAB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><E9A3AC>Ҫ<EFBFBD>жϵ<D0B6>ǰ<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>߱<EFBFBD><DFB1><EFBFBD><EFBFBD><EFBFBD>״̬
/// </summary>
/// <param name="CurRouteIDSub"><3E><>ǰ<EFBFBD><C7B0><EFBFBD>ȵ<EFBFBD><C8B5><EFBFBD>·<EFBFBD><C2B7></param>
/// <param name="CurSerialNumber"><3E><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ĵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>Ӧ<EFBFBD><D3A6>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
private static List<int> GetCurConveyorNextDevice(int CurRouteIDSub, int CurSerialNumber)
{
List<int> CurDeviceNextDev = new List<int>();
DataView dvRoute; string sql;
try
{
//<2F>ҵ<EFBFBD>ǰһ<C7B0><D2BB><EFBFBD>豸CurDevice<63><65><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>
sql = "SELECT T_Base_Route_Device.F_DeviceIndex,F_DeviceOrder, T_Base_Route_Device.F_SerialNumber, " +
"T_Base_Device_Command.F_DeviceCommandIndex,T_Base_Device.F_DeviceKindIndex FROM T_Base_Device_Command " +
",T_Base_Device,T_Base_Route_Device where T_Base_Device_Command.F_DeviceKindIndex = T_Base_Device.F_DeviceKindIndex" +
" and T_Base_Device.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex and F_RouteIDSub=" +
CurRouteIDSub + " and F_SerialNumber > " + CurSerialNumber + " and T_Base_Device.F_DeviceKindIndex=2 order by F_SerialNumber asc ";
dvRoute = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dvRoute.Count > 0)
{
CurDeviceNextDev.Add(Convert.ToInt32(dvRoute[0]["F_DeviceIndex"]));
CurDeviceNextDev.Add(Convert.ToInt32(dvRoute[0]["F_DeviceKindIndex"]));
CurDeviceNextDev.Add(Convert.ToInt32(dvRoute[0]["F_SerialNumber"]));
CurDeviceNextDev.Add(Convert.ToInt32(dvRoute[0]["F_DeviceOrder"]));
}
return CurDeviceNextDev;
}
catch (Exception ex)
{
_DisassembleTaskError = "ControlSystem.CDisassembleTask.GetCurConveyorNextDevice:" + ex.Message;
return null;
}
finally
{
CurDeviceNextDev = null;
dvRoute = null;
sql = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺؼ<C4B9><D8BC><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ͣ<EFBFBD>2:·<><C2B7><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
/// </summary>
/// <param name="CurRouteID">·<><C2B7>ID</param>
/// <param name="CurSerialNumber">·<><C2B7><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
private static List<int> GetNextKeyDevice(int CurRouteIDSub, int CurSerialNumber)
{
List<int> keyDevice = new List<int>(); DataView dvRoute; DataView dv; string sql;
try
{
//<2F><><EFBFBD><EFBFBD><EFBFBD>жϱ<D0B6><CFB1><EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD>ؼ<EFBFBD><D8BC>
dv = DbHelperSQL.Query("SELECT F_SerialNumber, T_Base_Device.F_DeviceIndex,F_DeviceOrder,F_DeviceKindIndex FROM T_Base_Device," +
"T_Base_Route_Device where T_Base_Device.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex " +
" and F_RouteIDSub=" + CurRouteIDSub + " and F_SerialNumber=" + CurSerialNumber
+ " and F_KeyDevice = '1'").Tables[0].DefaultView;
if (dv.Count > 0)
{
keyDevice.Add(Convert.ToInt32(dv[0]["F_DeviceIndex"]));
keyDevice.Add(Convert.ToInt32(dv[0]["F_DeviceKindIndex"]));
keyDevice.Add(Convert.ToInt32(dv[0]["F_SerialNumber"]));
keyDevice.Add(Convert.ToInt32(dv[0]["F_DeviceOrder"]));
return keyDevice;
}
//Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<D0B6><CFBA><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>Ĺؼ<C4B9><D8BC>
sql = "SELECT T_Base_Route_Device.F_DeviceIndex,F_DeviceOrder, T_Base_Route_Device.F_SerialNumber, " +
"T_Base_Device_Command.F_DeviceCommandIndex,T_Base_Device.F_DeviceKindIndex FROM T_Base_Device_Command " +
",T_Base_Device,T_Base_Route_Device where T_Base_Device_Command.F_DeviceKindIndex = T_Base_Device.F_DeviceKindIndex" +
" and T_Base_Device.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex and F_RouteIDSub=" +
CurRouteIDSub + " and F_SerialNumber > " + CurSerialNumber + " and T_Base_Device.F_KeyDevice = '1' order by F_SerialNumber asc ";
dvRoute = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dvRoute.Count > 0)
{
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceIndex"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceKindIndex"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_SerialNumber"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceOrder"]));
}
return keyDevice;
}
catch (Exception ex)
{
_DisassembleTaskError = "ControlSystem.CDisassembleTask.GetNextKeyDevice:" + ex.Message;
return null;
}
finally
{
keyDevice = null;
dvRoute = null;
dv = null;
sql = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0<EFBFBD><30><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><E8B1B8><EFBFBD>ͣ<EFBFBD>2:·<><C2B7><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
/// </summary>
/// <param name="CurRouteID">·<><C2B7>ID</param>
/// <param name="CurSerialNumber">·<><C2B7><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns></returns>
public static List<int> GetNextDevice(int CurRouteIDSub, int CurSerialNumber)
{
List<int> keyDevice = new List<int>(); DataView dvRoute; string sql;
try
{
//Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϺ<D0B6><CFBA><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT T_Base_Route_Device.F_DeviceIndex,F_DeviceOrder, T_Base_Route_Device.F_SerialNumber, " +
"T_Base_Device_Command.F_DeviceCommandIndex,T_Base_Device.F_DeviceKindIndex FROM T_Base_Device_Command " +
",T_Base_Device,T_Base_Route_Device where T_Base_Device_Command.F_DeviceKindIndex = T_Base_Device.F_DeviceKindIndex" +
" and T_Base_Device.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex and F_RouteIDSub=" +
CurRouteIDSub + " and F_SerialNumber > " + CurSerialNumber + " order by F_SerialNumber asc ";
dvRoute = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dvRoute.Count > 0)
{
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceIndex"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceKindIndex"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_SerialNumber"]));
keyDevice.Add(Convert.ToInt32(dvRoute[0]["F_DeviceOrder"]));
}
return keyDevice;
}
catch (Exception ex)
{
_DisassembleTaskError = "ControlSystem.CDisassembleTask.GetNextDevice:" + ex.Message;
return null;
}
finally
{
keyDevice = null;
dvRoute = null;
sql = null;
}
}
/// <summary>
/// <20><><EFBFBD>öѶ<C3B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>-<2D><>-<2D>㣨Z-X-Y<><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>-<2D>㣨Z-X-Y<><59>
/// </summary>
/// <param name="Mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="ManFID"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="IOType"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E2A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A9>2<EFBFBD><32><EFBFBD><EFBFBD><EFBFBD>⣨ȡ<E2A3A8><C8A1><EFBFBD><EFBFBD><EAA3A9>3<EFBFBD><33><EFBFBD>ƿ⣨ȡ<E2A3A8><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣩</param>
/// <returns></returns>
private static int[] GetStackCoordinateFromManage(int Mankind, int ManFID, DataRowView drv)
{
int[] stackCoo = new int[6] { 0, 0, 0, 0, 0, 0 };//ȡ<><C8A1>-<2D><>-<2D>㣨Z-X-Y<><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>-<2D>㣨Z-X-Y<><59>
string sql = string.Empty;
char[] cc = new char[1] { '-' };
string[] split = new string[3];
DataView dv;
try
{
switch (Convert.ToInt32(drv["FCONTROLTASKTYPE"]))
{
case 1://<2F><><EFBFBD><EFBFBD><E2A3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
sql = "SELECT FENDCELL FROM T_Manage_Task WHERE (FID = " + ManFID + ") AND (F_ManageTaskKindIndex = " + Mankind + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
split = dv[0]["FENDCELL"].ToString().Split(cc);
stackCoo[3] = Convert.ToInt32(split[0]);
stackCoo[4] = Convert.ToInt32(split[1]);
stackCoo[5] = Convert.ToInt32(split[2]);
}
else
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetStackCoordinateFromManageʱû<CAB1>ܴӵ<DCB4><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>öѶ<C3B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣡";
return null;
}
break;
case 2://<2F><><EFBFBD>⣬ȡ<E2A3AC><C8A1><EFBFBD><EFBFBD>
sql = "SELECT FSTARTCELL FROM T_Manage_Task WHERE (FID = " + ManFID + ") AND (F_ManageTaskKindIndex = " + Mankind + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
split = dv[0]["FSTARTCELL"].ToString().Split(cc);
stackCoo[0] = Convert.ToInt32(split[0]);
stackCoo[1] = Convert.ToInt32(split[1]);
stackCoo[2] = Convert.ToInt32(split[2]);
}
else
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetStackCoordinateFromManageʱû<CAB1>ܴӵ<DCB4><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>öѶ<C3B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣡";
return null;
}
break;
case 3:
sql = "SELECT FSTARTCELL,FENDCELL FROM T_Manage_Task WHERE (FID = " + ManFID + ") AND (F_ManageTaskKindIndex = " + Mankind + ")";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
if (dv[0]["FSTARTCELL"].ToString() != "-")
{
split = dv[0]["FSTARTCELL"].ToString().Split(cc);
stackCoo[0] = Convert.ToInt32(split[0]);
stackCoo[1] = Convert.ToInt32(split[1]);
stackCoo[2] = Convert.ToInt32(split[2]);
}
if (dv[0]["FENDCELL"].ToString() != "-")
{
split = dv[0]["FENDCELL"].ToString().Split(cc);
stackCoo[3] = Convert.ToInt32(split[0]);
stackCoo[4] = Convert.ToInt32(split[1]);
stackCoo[5] = Convert.ToInt32(split[2]);
}
}
else
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetStackCoordinateFromManageʱû<CAB1>ܴӵ<DCB4><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>öѶ<C3B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>꣡";
return null;
}
break;
default:
break;
}
return stackCoo;
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetStackCoordinateFromManage<67><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + ex.Message;
return null;
}
finally
{
stackCoo = null;
sql = null;
cc = null;
split = null;
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><E8B1B8>Ӧ<EFBFBD>ĶѶ<C4B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>-<2D><>-<2D>㣨Z-X-Y<><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-<2D><>-<2D>㣨Z-X-Y<><59>
/// </summary>
/// <param name="devIndex"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="ifGet"><3E>Ƿ<EFBFBD>ȡ<EFBFBD><C8A1></param>
/// <returns></returns>
private static int[] GetStackCoordinateFromLaneGate(int stackIndex, int devIndex, bool ifGet)
{
char[] cc = new char[1] { '-' };//20100305
string[] split;
int[] rt = new int[6] { 0, 0, 0, 0, 0, 0 };
DataView dv;
int LaneWay = new CommonService().GetLaneWay(stackIndex);
try
{
dv = DbHelperSQL.Query("select * from T_Base_Lane_Gate where F_LaneGateDeviceIndex=" + devIndex + " and F_LaneIndex=" + LaneWay + "").Tables[0].DefaultView;
if (dv.Count > 0)
{
if (ifGet == true)//ȡ<><C8A1><EFBFBD><EFBFBD>
{
//20100305
split = dv[0]["F_ZXY"].ToString().Split(cc);
rt[0] = Convert.ToInt32(split[0]);//<2F><>Z
rt[1] = Convert.ToInt32(split[1]);//<2F><>X
rt[2] = Convert.ToInt32(split[2]);//<2F><>Y
//20100305
}
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
//20100305
split = dv[0]["F_ZXY"].ToString().Split(cc);
rt[3] = Convert.ToInt32(split[0]);//<2F><>Z
rt[4] = Convert.ToInt32(split[1]);//<2F><>X
rt[5] = Convert.ToInt32(split[2]);//<2F><>Y
//20100305
}
}
return rt;
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetStackCoordinateFromLaneGate:" + ex.Message;
return null;
}
finally
{
cc = null;
split = null;
rt = null;
dv = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ֵ
/// </summary>
/// <param name="devinx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <returns></returns>
/// 20101118
private static string GetBindingDeviceIndex(int devinx)
{
try
{
devinfo = BaseDeviceService.GetDeviceInfo(devinx);
if (devinfo.BindingDevice == null) return "";
return devinfo.BindingDevice;
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetBindingDeviceIndex:" + ex.Message;
return "";
}
finally
{
devinfo = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>ij<EFBFBD><C4B3><EFBFBD><EFBFBD><EFBFBD>̽<EFBFBD><CCBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ֵ
/// </summary>
/// <param name="devinx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <returns></returns>
/// 20101118
private static string GetBindingDeviceIndexOut(int devinx)
{
try
{
devinfo = BaseDeviceService.GetDeviceInfo(devinx);
if (devinfo.BindingDeviceOut == null) return "";
return devinfo.BindingDeviceOut;
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetBindingDeviceIndexOut:" + ex.Message;
return "";
}
finally
{
devinfo = null;
}
}
/// <summary>
///<2F><><EFBFBD>ٽ<EFBFBD><D9BD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>źŶ<C5BA>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9A3A8><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD>ȣ<EFBFBD><C8A3><EFBFBD>
/// <20><><EFBFBD><EFBFBD>֮<EFBFBD><D6AE>ʹ<EFBFBD>÷ֺš<D6BA>;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>Ӹ<EFBFBD><D3B8>š<EFBFBD>-<2D><><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD>ֵΪ<D6B5><CEAA>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
/// </summary>
/// <param name="devinx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <returns></returns>
private static string GetBeDetectedDevices(int devinx)
{
try
{
devinfo = BaseDeviceService.GetDeviceInfo(devinx);
return devinfo.BeDetected;
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetBeDetectedDevices:" + ex.Message;
return "";
}
finally
{
devinfo = null;
}
}
/// <summary>
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD>ͻ<EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><E7BFAA><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
/// </summary>
/// <param name="devinx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <returns></returns>
/// 20101118
private static string GetSendOutDetect(int devinx)
{
try
{
devinfo = BaseDeviceService.GetDeviceInfo(devinx);
if (devinfo.SendOutDetect == null || devinfo.SendOutDetect == "0") return "";//20101018
return devinfo.SendOutDetect;
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetSendOutDetect:" + ex.Message;
return "";
}
finally
{
devinfo = null;
}
}
/// <summary>
///
/// </summary>
/// <param name="devidx">RGV<47><56>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="IfGet"><3E>Ƿ<EFBFBD><C7B7>ǽӻ<C7BD></param>
/// <returns></returns>
private static int GetRGVOrder(int devidx, bool IfGet)
{//<2F><>2-<2D><><EFBFBD>ӻ<EFBFBD>3-<2D><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD>4-<2D>ҽӻ<D2BD>5-<2D><><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>
int order = 0;
DataView dv;
try
{
dv = DbHelperSQL.Query("SELECT F_IFChannelLeft, F_RGVGateDeviceIndex" +
" FROM T_Base_RGV_Gate WHERE (F_RGVGateDeviceIndex = " + devidx + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
if (dv[0]["F_IFChannelLeft"].ToString() == "1")
{
if (IfGet == true)
{
order = 2;
}
else
{
order = 3;
}
}
else
{
if (IfGet == true)
{
order = 4;
}
else
{
order = 5;
}
}
}
return order;
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.GetRGVOrder:" + ex.Message;
return 0;
}
finally
{
dv = null;
}
}
/// <summary>
/// <20>жϵ<D0B6><CFB5>ȱ<EFBFBD>T_Monitor_Task<73>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="Mankind"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="ManFID"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="DeviceIndex"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="Order"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <returns></returns>
private static bool DeviceAndOrderExitInMonitor(int Mankind, int ManFID, int DeviceIndex, int Order, int ArrowAddress)
{
DataView dv; string sql = string.Empty;
try
{
if (Order == -1) return true;
switch (BaseDeviceService.GetDeviceKindIdx(DeviceIndex))
{
case 1://<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
sql = "SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " + ManFID + ")" +
" AND (F_ManageTASKKINDINDEX = " + Mankind + ") AND (F_DeviceIndex = " + DeviceIndex + ")" +
" AND (F_DeviceCommandIndex = " + Order + ")";
break;
case 2://<2F><><EFBFBD>ͻ<EFBFBD>
sql = "SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " + ManFID + ")" +
" AND (F_ManageTASKKINDINDEX = " + Mankind + ") AND (F_DeviceIndex = " + DeviceIndex + ")" +
" AND (F_DeviceCommandIndex = " + Order + ")";
break;
case 4://RGV
sql = "SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " + ManFID + ")" +
" AND (F_ManageTASKKINDINDEX = " + Mankind + ") AND (F_DeviceIndex = " + DeviceIndex + ")" +
" AND (F_DeviceCommandIndex = " + Order + ") and F_NumParam1=" + ArrowAddress + "";
break;
case 6://AGV
sql = "SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " + ManFID + ")" +
" AND (F_ManageTASKKINDINDEX = " + Mankind + ") AND (F_DeviceIndex = " + DeviceIndex + ")" +
" AND (F_DeviceCommandIndex = " + Order + ")";
break;
default:
sql = "SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " + ManFID + ")" +
" AND (F_ManageTASKKINDINDEX = " + Mankind + ") AND (F_DeviceIndex = " + DeviceIndex + ")" +
" AND (F_DeviceCommandIndex = " + Order + ")";
break;
}
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.DeviceAndOrderExitInMonitor:" + ex.Message;
return false;
}
finally
{
dv = null;
sql = null;
}
}
/// <summary>
/// <20>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>̵Ĺؼ<C4B9><D8BC><EFBFBD><E8B1B8>ǰһ<C7B0><D2BB><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E7A3AC><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8><EFBFBD><EFBFBD>ǰһ<C7B0><D2BB>λ<EFBFBD>ã<EFBFBD><C3A3>˶<EFBFBD><CBB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>򣩵<EFBFBD><F2A3A9B5><EFBFBD><EFBFBD>ͻ<EFBFBD> ( <20><><EFBFBD><EFBFBD>ɨ<EFBFBD><C9A8>)
/// </summary>
/// <param name="prirorDevice"><3E>ؼ<EFBFBD><D8BC><EFBFBD><E8B1B8>ǰһ<C7B0><D2BB><EFBFBD>豸</param>
/// <param name="prirorKeydevice"><3E>ؼ<EFBFBD><D8BC>豸</param>
/// <returns></returns>
private static List<int> NewCurDevice(List<int> prirorDevice, List<int> prirorKeydevice)
{//0<><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1<EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>;2:·<><C2B7><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD>3<EFBFBD><33><EFBFBD><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
try
{
if ((prirorKeydevice.Count > 0) && (prirorDevice.Count > 0))
{
DataView dv = DbHelperSQL.Query("SELECT F_GoodsMoveKindIndex, F_DeviceKindIndex FROM T_Base_Device_Kind WHERE " +
"(F_DeviceKindIndex = " + prirorKeydevice[1] + ") and (F_GoodsMoveKindIndex=2)").Tables[0].DefaultView;
if (dv.Count > 0)
{
return prirorDevice;
}
else
{
return null;
}
}
else
{
return null;
}
}
catch (Exception ex)
{
DisassembleTaskError = "ControlSystem.CDisassembleTask.NewCurDevice:" + ex.Message;
return null;
}
finally
{
prirorDevice = null;
prirorKeydevice = null;
}
}
/// <summary>
/// <20>ҵ<EFBFBD>һ<EFBFBD><D2BB>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʻ<EFBFBD>λ<EFBFBD><CEBB><EFBFBD>޸Ĺ<DEB8><C4B9><EFBFBD><EFBFBD><EFBFBD>ϵ
/// </summary>
/// <param name="dr"></param>
public static void GetOutDoubleForkTask(DataRowView dr)
{//sqlser<65><72> SUBSTRING(express1,1<><31>ʼ,2);C#<23><>.Substring(0<><30>ʼ, 2)
if (dr["F_RELATIVECONTORLID"].ToString() != "-1") return;
int forwlimitX = 0, backlimitX = 0;
DataView dv = DbHelperSQL.Query("SELECT F_ForwardLimitX, F_BackLimitX FROM T_Base_LaneInfo WHERE (F_LaneDeviceIndex = " + dr["FLANEWAY"] + ")").Tables[0].DefaultView;
if (dv.Count > 0)
{
forwlimitX = Convert.ToInt32(dv[0]["F_ForwardLimitX"]);
backlimitX = Convert.ToInt32(dv[0]["F_BackLimitX"]);
}
else
return;
string sqladd = string.Empty;
if (forwlimitX.ToString() == dr["FStartCol"].ToString())
{
sqladd = " and FStartCol <>" + forwlimitX + " ";
}
else if (backlimitX.ToString() == dr["FStartCol"].ToString())
{
sqladd = " and FStartCol <>" + backlimitX + " ";
}
else
{
sqladd = " ";
}
//<2F>е<EFBFBD><D0B5>ٶ<EFBFBD><D9B6>Dz<EFBFBD><C7B2><EFBFBD><EFBFBD>ٶȵ<D9B6>3<EFBFBD><33><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Բ<EFBFBD><D4B2>IJ<EFBFBD>ֵҪ<D6B5><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><E0B5B1><EFBFBD>ƶ<EFBFBD><C6B6><EFBFBD><EFBFBD>е<EFBFBD>ʱ<EFBFBD>
string sql = "SELECT TOP 1 F_ManageTaskKindIndex, FID, MIN(POWER(FStartCol - " + dr["FStartCol"] + ", 2) + POWER((FStartLayer - " +
dr["FStartLayer"] + ") * 3, 2)) AS Expr1 FROM T_Manage_Task WHERE (FIntoStepOK = '0') AND " +
"(FSTATUS = 0) AND (FCONTROLTASKTYPE = " + dr["FCONTROLTASKTYPE"] + ") AND (FLOGIC_AREA = '" + dr["FLOGIC_AREA"] +
"') AND (FCONTORL_BATCH = '" + dr["FCONTORL_BATCH"] + "') AND (FLANEWAY = " + dr["FLANEWAY"] +
") AND (F_RELATIVECONTORLID = - 1) and F_ManageTaskKindIndex=" + dr["F_ManageTaskKindIndex"] + " and FID<>" + dr["fid"] +
sqladd + " GROUP BY F_ManageTaskKindIndex, FID order by Expr1 asc";
dv = DbHelperSQL.Query(sql).Tables[0].DefaultView;
if (dv.Count > 0)
{
DbHelperSQL.ExecuteSql("update T_Manage_Task set F_RELATIVECONTORLID=" + dv[0]["FID"] + " where FID=" + dr["fid"] + " and F_ManageTaskKindIndex=" + dr["F_ManageTaskKindIndex"]);
DbHelperSQL.ExecuteSql("update T_Manage_Task set F_RELATIVECONTORLID=" + dr["fid"] + " where FID=" + dv[0]["FID"] + " and F_ManageTaskKindIndex=" + dv[0]["F_ManageTaskKindIndex"]);
}
else
{
return;
}
}
}
}