3371 lines
192 KiB
C#
3371 lines
192 KiB
C#
|
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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|