SCLS/SSWCS_JXDL(2019)/ControlSystem/CObtainTask.cs

1707 lines
96 KiB
C#
Raw Normal View History

2025-05-19 09:45:29 +08:00
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using DBFactory;
using System.Threading;
using Microsoft.VisualBasic;
using System.Windows.Forms;
using static ControlSystem.CreateMonitor;
using System.Data.SqlTypes;
using System.Linq;
namespace ControlSystem
{
/// <summary>
/// Creator:Richard.liu
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public static class CObtainTask
{
static CGetState cgs = new CGetState();
static CCommonFunction ccf = new CCommonFunction();
static Thread mythread;
static bool exitThread = false;//20091107
static Model.MDevice devinfo;
private static void BeginListen()
{//20091107
while (!exitThread )
{
try
{
GetManagerTask();
}
catch (Exception ex)
{
_CObtainTaskError = ex.Message;
}
}
}
public static void EndListen()
{//20091107
exitThread = true;
if (mythread != null)
{
dbo.Close();
dboM.Close();
mythread.Abort();
mythread = null;
}
}
public static void StartListen()
{
exitThread = false;
mythread = new Thread(new ThreadStart(BeginListen));
mythread.IsBackground = true;
mythread.Start();
}
static string _CObtainTaskError="";
public static string CObtainTaskError
{
get { return _CObtainTaskError; }
set { _CObtainTaskError = value; }
}
static DBOperator dbo = new DBOperator();
static DBOperator dboM = new DBOperator("ManConnString", "ManDBFactory");
public static int IsInv = 0;//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>̿<EFBFBD> 0 <20><><EFBFBD><EFBFBD> 1<><31><EFBFBD>̿<EFBFBD>
/// <summary>
/// <20><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
public static int GetManagerTask()
{
//<2F>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1>ȡIO_CONTROLDETAIL<49><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD>
DataSet dsIOC ;
DataView dvIOC;
DataView dv;
DataView dvnew;
DataView dvmi;
DataView DMAN;
DataView dvc;
string[] wv = new string[1] { "2" };
string[] witemnames = new string[1];
object obj = null;
try
{
int RecCount = 0;
//<2F>ȴ<EFBFBD>ִ<EFBFBD>еģ<D0B5><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>
string sql = "select * from IO_CONTROL where ((CONTROL_STATUS=" + Model.CGeneralFunction.TASKWAIT + ") or (CONTROL_STATUS=" + Model.CGeneralFunction.TASKALTERROUTEREPLY + ")) " + " order by CONTROL_TASK_LEVEL desc,CONTROL_ID asc";
dsIOC = dboM.ExceSQL(sql);
dvIOC = dsIOC.Tables[0].DefaultView;
//string sstite, estite;
if (dvIOC.Count > 0)
{
string FENDCELL = ""; char[] cc = new char[1] { '-' };
int FENDDEVICE = 0;
for (int i = 0; i < dvIOC.Count; i++)
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>ͻָ<EFBFBD>
////20091128
//if ((dvIOC[i]["CONTROL_STATUS"].ToString() == "0") && (dvIOC[i]["CONTROL_ISRETURN"].ToString() == "3"))
//{//<2F><><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD>
// dbo.ExceSQL("update T_Manage_Task set FIntoStepOK=0 where (FID = " + Convert.ToInt32(dvIOC[i]["FID"]) + ") AND (F_ManageTASKKINDINDEX =1) and (FIntoStepOK='-')");
// dboM.ExceSQL("update IO_CONTROL set CONTROL_ISRETURN=0 where CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// continue;
//}
//if ((dvIOC[i]["CONTROL_STATUS"].ToString() == "0") && (dvIOC[i]["CONTROL_ISRETURN"].ToString() == "2"))
//{ //δ<><CEB4><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ
// int rs = dbo.ExecuteSql("update T_Manage_Task set FIntoStepOK='-' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) and (FIntoStepOK='0')");
// if (rs == 0)
// {
// //<2F>Ѳ<EFBFBD><D1B2><EFBFBD>δִ<CEB4>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ
// dvMT = dbo.ExceSQL("select fid from T_Manage_Task where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) and (FIntoStepOK='1') and (FSTATUS=0)").Tables[0].DefaultView;
// if (dvMT.Count > 0)
// {
// dbo.ExceSQL("delete from T_Monitor_Task where (F_ManageTaskIndex= " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// dbo.ExceSQL("update T_Manage_Task set FIntoStepOK='-' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// }
// }
// //dboM.ExceSQL("update IO_CONTROL set CONTROL_ISRETURN=0 where CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// continue;
//}
//else
//{
// //<2F>ϱ<EFBFBD><CFB1><EFBFBD><EFBFBD><EFBFBD>FSTATUS=940
// #region <20><><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ
// if (dvIOC[i]["CONTROL_ISRETURN"].ToString() == "2")
// {
// //<2F><><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ
// dvMT = dbo.ExceSQL("select fid from T_Manage_Task where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) and (FIntoStepOK='1') and (FSTATUS>0)").Tables[0].DefaultView;
// if (dvMT.Count > 0)
// {
// //ֻ<><D6BB><EFBFBD><EFBFBD>ͣ<EFBFBD><CDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĶѶ<C4B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>ָ<EFBFBD><EFBFBD><EEA1B1><EFBFBD>ߡ<EFBFBD><DFA1>ȴ<EFBFBD>ִ<EFBFBD>еĶѶ<C4B6><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD>ָ<EFBFBD><EFBFBD><EEA1B1><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>޷<EFBFBD><DEB7><EFBFBD>ͣ
// dvMT = dbo.ExceSQL("select F_MonitorIndex,F_Status,F_DeviceIndex,F_DeviceCommandIndex from T_Monitor_Task where (F_ManageTaskIndex= " +
// Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) order by F_MonitorIndex asc").Tables[0].DefaultView;
// if (dvMT.Count > 0)
// {
// if (ccf.GetDeviceKindIdx(Convert.ToInt32(dvMT[0]["F_DeviceIndex"])) == 1)
// {
// if ((dvMT[0]["F_DeviceCommandIndex"].ToString() == "5") && (Convert.ToInt32(dvMT[0]["F_Status"]) == 0))
// {//<2F>ȴ<EFBFBD>ִ<EFBFBD>еĶѶ<C4B6><D1B6><EFBFBD><EFBFBD>ͻ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD>Ըĵ<D4B8>ԭ<EFBFBD><D4AD>λ
// dbo.ExceSQL("update T_Manage_Task set FExceptionNO='940' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// dbo.ExceSQL("update T_Monitor_Task set F_AheadDetect='',F_NumParam4=F_NumParam1,F_NumParam5=F_NumParam2,F_NumParam6=F_NumParam3 where F_MonitorIndex=" + dvMT[0]["F_MonitorIndex"]);
// dbo.ExceSQL("update T_Monitor_Task set F_Status=-1 where F_MonitorIndex>" + dvMT[0]["F_MonitorIndex"]
// + " and F_Status=0 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// dvMT = dbo.ExceSQL("select * from T_Monitor_Task where F_Status=-1 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"])).Tables[0].DefaultView;
// for (int ii = 0; ii < dvMT.Count; ii++)
// {
// cgs.ActionComplete(Convert.ToInt32(dvMT[ii]["F_DeviceIndex"]), Convert.ToInt32(dvMT[ii]["F_MonitorIndex"]), 900);
// }
// dbo.ExceSQL("update T_Manage_Task set FIntoStepOK='-' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// //dboM.ExceSQL("update IO_CONTROL set CONTROL_ISRETURN=0 where CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// }
// else if (dvMT[0]["F_DeviceCommandIndex"].ToString() == "2")
// {//<2F><><EFBFBD><EFBFBD>ִ<EFBFBD>жѶ<D0B6><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡָ<C8A1><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD>ִ<EFBFBD>еĶѶ<C4B6><D1B6><EFBFBD><EFBFBD><EFBFBD>ȡָ<C8A1><D6B8><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
// dbo.ExceSQL("update T_Manage_Task set FExceptionNO='940' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// dbo.ExceSQL("update T_Monitor_Task set F_Status=-1 where F_MonitorIndex>=" + dvMT[0]["F_MonitorIndex"]
// + " and F_Status=0 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// dvMT = dbo.ExceSQL("select * from T_Monitor_Task where F_MonitorIndex>=" + dvMT[0]["F_MonitorIndex"]
// + " and F_Status=-1 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"])).Tables[0].DefaultView;
// for (int ii = 0; ii < dvMT.Count; ii++)
// {
// cgs.ActionComplete(Convert.ToInt32(dvMT[ii]["F_DeviceIndex"]), Convert.ToInt32(dvMT[ii]["F_MonitorIndex"]), 900);
// }
// dbo.ExceSQL("update T_Manage_Task set FIntoStepOK='-' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// //dboM.ExceSQL("update IO_CONTROL set CONTROL_ISRETURN=0 where CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// }
// else if (dvMT[0]["F_DeviceCommandIndex"].ToString() == "4")
// {//<2F><><EFBFBD><EFBFBD>ִ<EFBFBD>жѶ<D0B6><D1B6><EFBFBD>ȡ<EFBFBD><C8A1>ָ<EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񶼸ĵ<F1B6BCB8>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB><EFBFBD>ȴ<EFBFBD>ִ<EFBFBD>еĶѶ<C4B6><D1B6><EFBFBD>ȡ<EFBFBD><C8A1>ָ<EFBFBD><D6B8><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>
// dbo.ExceSQL("update T_Manage_Task set FExceptionNO='940' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// if (Convert.ToInt32(dvMT[0]["F_Status"]) >= 1)
// {
// dbo.ExceSQL("update T_Monitor_Task set F_AheadDetect='',F_NumParam4=F_NumParam1,F_NumParam5=F_NumParam2,F_NumParam6=F_NumParam3 where F_MonitorIndex>" +
// dvMT[0]["F_MonitorIndex"] + " and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// //ɾ<><C9BE><EFBFBD>ͻ<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
// dvSend = dbo.ExceSQL("select F_MonitorIndex from T_Monitor_Task where F_DeviceIndex=" + dvMT[0]["F_DeviceIndex"]
// + " and F_DeviceCommandIndex=5 and F_Status=0 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"])).Tables[0].DefaultView;
// if (dvSend.Count > 0)
// {
// dbo.ExceSQL("update T_Monitor_Task set F_Status=-1 where F_MonitorIndex>" + dvSend[0]["F_MonitorIndex"]
// + " and F_Status=0 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// dvMT = dbo.ExceSQL("select * from T_Monitor_Task where F_MonitorIndex>" + dvSend[0]["F_MonitorIndex"]
// + " and F_Status=-1 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"])).Tables[0].DefaultView;
// for (int ii = 0; ii < dvMT.Count; ii++)
// {
// cgs.ActionComplete(Convert.ToInt32(dvMT[ii]["F_DeviceIndex"]), Convert.ToInt32(dvMT[ii]["F_MonitorIndex"]), 900);
// }
// }
// //dboM.ExceSQL("update IO_CONTROL set CONTROL_ISRETURN=0 where CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// }
// else if (dvMT[0]["F_Status"].ToString() == "0")
// {
// dbo.ExceSQL("update T_Monitor_Task set F_Status=-1 where F_MonitorIndex>=" + dvMT[0]["F_MonitorIndex"]
// + " and F_Status=0 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// dvMT = dbo.ExceSQL("select * from T_Monitor_Task where F_MonitorIndex>=" + dvMT[0]["F_MonitorIndex"]
// + " and F_Status=-1 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["FID"])).Tables[0].DefaultView;
// for (int ii = 0; ii < dvMT.Count; ii++)
// {
// cgs.ActionComplete(Convert.ToInt32(dvMT[ii]["F_DeviceIndex"]), Convert.ToInt32(dvMT[ii]["F_MonitorIndex"]), 900);
// }
// //dboM.ExceSQL("update IO_CONTROL set CONTROL_ISRETURN=0 where CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// }
// dbo.ExceSQL("update T_Manage_Task set FIntoStepOK='-' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// }
// else if (dvMT[0]["F_DeviceCommandIndex"].ToString() == "3")
// {//<2F><><EFBFBD><EFBFBD>ִ<EFBFBD>жѶ<D0B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񶼸ĵ<F1B6BCB8>ԭ<EFBFBD><D4AD>λ<EFBFBD><CEBB><EFBFBD>ȴ<EFBFBD>ִ<EFBFBD>еĶѶ<C4B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>ͺ<EFBFBD><CDBA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>񶼸ĵ<F1B6BCB8>ԭ<EFBFBD><D4AD>λ
// dbo.ExceSQL("update T_Manage_Task set FExceptionNO='940' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// if (dvMT[0]["F_Status"].ToString() == "0")
// {
// dbo.ExceSQL("update T_Monitor_Task set F_AheadDetect='',F_NumParam4=F_NumParam1,F_NumParam5=F_NumParam2,F_NumParam6=F_NumParam3 where F_MonitorIndex>=" +
// dvMT[0]["F_MonitorIndex"] + " and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// //dboM.ExceSQL("update IO_CONTROL set CONTROL_ISRETURN=0 where CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// }
// else if (Convert.ToInt32(dvMT[0]["F_Status"]) >= 1)
// {
// dbo.ExceSQL("update T_Monitor_Task set F_AheadDetect='',F_NumParam4=F_NumParam1,F_NumParam5=F_NumParam2,F_NumParam6=F_NumParam3 where F_MonitorIndex>" +
// dvMT[0]["F_MonitorIndex"] + " and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// //dboM.ExceSQL("update IO_CONTROL set CONTROL_ISRETURN=0 where CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// }
// //ɾ<><C9BE><EFBFBD>ͻ<EFBFBD>֮<EFBFBD><D6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
// dvSend = dbo.ExceSQL("select F_MonitorIndex from T_Monitor_Task where F_DeviceIndex=" + dvMT[0]["F_DeviceIndex"]
// + " and F_DeviceCommandIndex=5 and F_Status=0 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"])).Tables[0].DefaultView;
// if (dvSend.Count > 0)
// {
// dbo.ExceSQL("update T_Monitor_Task set F_Status=-1 where F_MonitorIndex>" + dvSend[0]["F_MonitorIndex"]
// + " and F_Status=0 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
// dvMT = dbo.ExceSQL("select * from T_Monitor_Task where F_MonitorIndex>" + dvSend[0]["F_MonitorIndex"]
// + " and F_Status=-1 and F_ManageTASKKINDINDEX=1 and F_ManageTaskIndex=" + Convert.ToInt32(dvIOC[i]["CONTROL_ID"])).Tables[0].DefaultView;
// for (int ii = 0; ii < dvMT.Count; ii++)
// {
// cgs.ActionComplete(Convert.ToInt32(dvMT[ii]["F_DeviceIndex"]), Convert.ToInt32(dvMT[ii]["F_MonitorIndex"]), 900);
// }
// }
// dbo.ExceSQL("update T_Manage_Task set FIntoStepOK='-' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) ");
// }
// }
// continue;
// }
// }
// }
// #endregion
//}
#endregion
if (dvIOC[i]["MANAGE_TASK_TYPE"].ToString() == "3")
{
string Aisle = "18001";
if (dvIOC[i]["STOCK_BARCODE"].ToString() == "11002")
{
Aisle = "18002";
}
DataSet invs = dboM.ExceSQL($"select CellNo from PurchaseOrders_Inv where Aisle = '{Aisle}' group by CellNo");
var fullList = CreateMonitor.DataSetToList<PurchaseOrdersInv>(invs);
var sortedList = fullList.OrderBy(item =>
{
var parts = item.CellNo.Split('-');
int row = int.Parse(parts[0]); // <20>ź<EFBFBD>
int col = int.Parse(parts[1]); // <20>к<EFBFBD>
int layer = int.Parse(parts[2]); // <20><><EFBFBD><EFBFBD>
return (col, layer, row);
}).ToList();
int startIndex = int.Parse(dvIOC[i]["STOCK_BARCODE"].ToString());
int CONTROL_ID = Convert.ToInt32(dvIOC[i]["CONTROL_ID"]);
foreach (var item in sortedList)
{
//<2F>̿<EFBFBD><CCBF>߼<EFBFBD><DFBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD>
CreateMonitor.CreateMoveInv(startIndex, item.CellNo, 4,CONTROL_ID);//<2F><>ȡ<EFBFBD><C8A1>
CreateMonitor.CreateMoveInv(startIndex, item.CellNo, 5, CONTROL_ID);//<2F>ٷŻ<D9B7>
}
dboM.ExceSQL("update IO_control set CONTROL_status=" + Model.CGeneralFunction.TASKRUN + " where (CONTROL_ID = " + CONTROL_ID + ")");
if (CStaticClass.RealRefresh == true)
{
//<2F><>ʾ<EFBFBD>豸ָ<E8B1B8><D6B8>
DataSet ds = dbo.ExceSQL("select * from V_Monitor_Task where " + CStaticClass.Monstatus);
FrmControlMonitor.FormInstance.MonitorRefresh(ds.Tables[0].DefaultView);
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FrmControlMonitor.FormInstance.ManagerRefresh(
dbo.ExceSQL("select * from V_Manage_Task where " + CStaticClass.Manstatus).Tables[0].DefaultView);
}
IsInv = 1;
continue;
}
#region <EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string END_DEVICE_CODE = dvIOC[i]["END_DEVICE_CODE"].ToString();
int managecount = ManageCountControl(END_DEVICE_CODE);
DataView dvchaipan= dbo.ExceSQL("select * from T_Manage_Task where FENDDEVICE ='" + END_DEVICE_CODE + "'").Tables[0].DefaultView;
if (dvchaipan.Count >= managecount)
{
continue;
}
#endregion
bool UseOldRoute = false;
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F>ж<EFBFBD>(FSTATUS='0')
if (dvIOC[i]["CONTROL_STATUS"].ToString() == Model.CGeneralFunction.TASKWAIT.ToString())
{
#region 20101011ͬһ<EFBFBD><EFBFBD><EFBFBD>߼<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱִ<EFBFBD>еIJ<EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ˿<EFBFBD><EFBFBD><EFBFBD>
#endregion
string UseAwayFork="-";
//20100329˫<39><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>ͬʱ<CDAC><CAB1>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><C8B4><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E6A3A8><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
if (dvIOC[i]["RELATIVE_CONTROL_ID"].ToString() != "-1")
{
dv = dboM.ExceSQL("select CONTROL_ID from IO_CONTROL where CONTROL_ID=" + dvIOC[i]["RELATIVE_CONTROL_ID"] + "").Tables[0].DefaultView;
if (dv.Count > 0)
{
UseAwayFork = ObtainDoubleForkTask(dvIOC[i]["RELATIVE_CONTROL_ID"],"-");
RecCount++;
}
else
{
continue;
}
}
ObtainDoubleForkTask(dvIOC[i]["CONTROL_ID"],UseAwayFork);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
RecCount++;
}
#endregion
#region <EFBFBD>޸<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD>
else if (dvIOC[i]["CONTROL_STATUS"].ToString() == Model.CGeneralFunction.TASKALTERROUTEREPLY.ToString())
{
if (Information.IsNumeric(dvIOC[i]["END_DEVICE_CODE"])==false )
{
obj = dbo.GetSingle("SELECT FLaneWay FROM ST_CELL where FCELLCODE='" + dvIOC[i]["END_DEVICE_CODE"] + "' and FWAREHOUSE='" + dvIOC[i]["END_WAREHOUSE_CODE"] + "'");
if (obj != null)
{
FENDDEVICE = Convert.ToInt32(obj);
}
else
{
_CObtainTaskError = "<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>·<EFBFBD><C2B7><EFBFBD>Ĵ𸴣<C4B4>û<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + dvIOC[i]["CONTROL_ID"].ToString() + ",<2C>޸ĺ<DEB8><C4BA><EFBFBD><EFBFBD>յ<EFBFBD>λ<EFBFBD>ã<EFBFBD>";
continue;
}
FENDCELL = dvIOC[i]["END_DEVICE_CODE"].ToString();
//20100304
if (ccf.GetExceptionNOFromManageTask(Convert.ToInt32(dvIOC[i]["CONTROL_ID"]), 1) == Model.CGeneralFunction.TASKREPEATINPUT)
{
UseOldRoute = true;
}
}
else
{
FENDDEVICE = Convert.ToInt32(dvIOC[i]["END_DEVICE_CODE"]);
//20090910
if (ccf.GetExceptionNOFromManageTask(Convert.ToInt32(dvIOC[i]["CONTROL_ID"]), 1) == Model.CGeneralFunction.TASKREPEATINPUT)
{
dv = dbo.ExceSQL("SELECT F_TASKKIND, F_DESTINATION FROM T_Base_Destination WHERE (F_TASKKIND = " + dvIOC[i]["CONTROL_TASK_TYPE"] + ") and (F_AbendStation=1) and (F_DESTINATION=" + FENDDEVICE+ ")").Tables[0].DefaultView ;
if (dv.Count > 0)//<2F><>Ӧ<EFBFBD><D3A6>վ̨<D5BE><CCA8><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>Ӧ<EFBFBD><D3A6>վ̨
{
dbo.ExceSQL("update T_Manage_Task set FSTARTDEVICE=FENDDEVICE,FSTARTCELL=FENDCELL where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1)");
}
else
{
UseOldRoute = true;
}
}
FENDCELL = "-";
#region 20101028ת<EFBFBD><EFBFBD>AGV<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊͨ<EFBFBD><EFBFBD>
obj = dbo.GetSingle("SELECT F_ChannelsIndex FROM T_Base_AGV_Gate WHERE (F_AGVGateDeviceIndex = " + Convert.ToInt32(dvIOC[i]["END_DEVICE_CODE"]) + ") ");
if (obj != null)
{
FENDDEVICE = Convert.ToInt32(obj);
FENDCELL = dvIOC[i]["END_DEVICE_CODE"].ToString();
}
else
{
FENDDEVICE = Convert.ToInt32(dvIOC[i]["END_DEVICE_CODE"]);
FENDCELL = "-";
}
#endregion
}
dbo.ExceSQL("update T_Manage_Task set FExceptionNO=NULL,FENDDEVICE='" + FENDDEVICE + "',FENDCELL='" + FENDCELL + "' where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1)");
//<2F>Ѿ<EFBFBD><D1BE><EFBFBD>ʼִ<CABC>е<EFBFBD><D0B5><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
dvmi = dbo.ExceSQL("SELECT * FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) AND (F_Status =3) order by F_MonitorIndex asc").Tables[0].DefaultView;
if (dvmi.Count > 0)
{//<2F>Ѿ<EFBFBD><D1BE><EFBFBD>ʼִ<CABC>е<EFBFBD><D0B5><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>·<EFBFBD><C2B7><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int monitorIndex = (int)dvmi[0]["F_MonitorIndex"];
int associateMonitor = -1;
if (dvmi[0]["F_Associate"] != DBNull.Value)
{
associateMonitor = Convert.ToInt32(dvmi[0]["F_Associate"]);
}
int devindex = Convert.ToInt32(dvmi[0]["F_DeviceIndex"]);
int devKind = ccf.GetDeviceKindIdx(Convert.ToInt32(dvmi[0]["F_DeviceIndex"]));
int devCommand = Convert.ToInt32(dvmi[0]["F_DeviceCommandIndex"]);
int routeID = Convert.ToInt32(dvmi[0]["F_RouteID"]);
int NumParam1 = Convert.ToInt32(dvmi[0]["F_NumParam1"]);
int NumParam4 = Convert.ToInt32(dvmi[0]["F_NumParam4"]);
string AheadDetect = dvmi[0]["F_AheadDetect"].ToString();
////20090925 WHERE
DMAN = dbo.ExceSQL("select * from T_Manage_Task where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1)").Tables[0].DefaultView;
if (DMAN.Count > 0)
{
//20091107
int routeidNew = 0;
if (UseOldRoute == false)
{
routeidNew = CDisassembleTask.MinRouteID(Convert.ToInt32(DMAN[0]["FSTARTDEVICE"]), Convert.ToInt32(DMAN[0]["FENDDEVICE"]), DMAN[0]["FUseAwayFork"]);
}
else
{//970<37>ͻ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԭ<EFBFBD><D4AD>·<EFBFBD><C2B7>
routeidNew = routeID;
}
//20091005
if (routeidNew == -1)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>
if (CStaticClass.DeviceErrorAutoModifyRoutePath == "1")
{//20091107
GetUsableDestination(DMAN[0]);
}
continue;
}
//20091005
//ɾ<><C9BE>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>񣬲<EFBFBD><F1A3ACB2><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dbo.ExceSQL("DELETE FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) AND (F_Status =3)");
//20090910
if (CDisassembleTask.CreateMonitor(1, Convert.ToInt32(dvIOC[i]["CONTROL_ID"]), routeidNew, DMAN[0], 3) <= 0)
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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)" +
"VALUES (" + dvIOC[i]["CONTROL_ID"] + ",1," + monitorIndex + ",1," + devindex + "," + devCommand + "," + routeID + ",3," + NumParam1 + "," + NumParam4
+ ",'" + AheadDetect + "','" + dvIOC[i]["STOCK_BARCODE"] + "')";
dbo.ExceSQL(sql);
continue;
}
if (devKind == 4)
{
if (devCommand == 7)
{
int RGVsn = ccf.GetSerialNumberFromRouteDevice(routeID, devindex);
int Consn = ccf.GetSerialNumberFromRouteDevice(routeID, NumParam1);
#region RGV<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӻ<EFBFBD><EFBFBD><EFBFBD>
if (RGVsn > Consn)
{
//ɾ<><C9BE>RGV<47>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dvnew = dbo.ExceSQL("SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_DeviceIndex = " +
devindex + ") AND (F_DeviceCommandIndex = 7) AND (F_RouteID = " + routeidNew +
") AND (F_Status = 3) AND (F_NumParam1 = " + NumParam1 + ")").Tables[0].DefaultView;
if (dvnew.Count > 0)
{
dbo.ExceSQL("delete from T_Monitor_Task where F_MonitorIndex<" + dvnew[0]["F_MonitorIndex"] + " and (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
dbo.ExceSQL("update T_Monitor_Task set F_Status =0 where (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
}
}
#endregion
#region RGV<EFBFBD>˶<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD>
if (RGVsn < Consn)
{
int RGVsn1 = ccf.GetSerialNumberFromRouteDevice(routeidNew, devindex);
//<2F>ҵ<EFBFBD><D2B5>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
List<int> nextcon = CDisassembleTask.GetNextDevice(routeidNew, RGVsn1);
int condev = nextcon[0];
//ɾ<><C9BE>RGV<47>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dvnew = dbo.ExceSQL("SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_DeviceIndex = " +
devindex + ") AND (F_DeviceCommandIndex = 7) AND (F_RouteID = " + routeidNew +
") AND (F_Status = 3) AND (F_NumParam1 = " + condev + ")").Tables[0].DefaultView;
if (dvnew.Count > 0)
{
dbo.ExceSQL("delete from T_Monitor_Task where F_MonitorIndex<" + dvnew[0]["F_MonitorIndex"] + " and (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
dbo.ExceSQL("update T_Monitor_Task set F_Status =0 where (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
}
}
#endregion
}
#region RGV<EFBFBD>ͻ<EFBFBD>
if ((devCommand == 3) || (devCommand == 5))
{
int RGVsn = ccf.GetSerialNumberFromRouteDevice(routeidNew, devindex);
//<2F>ҵ<EFBFBD><D2B5>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
List<int> nextcon = CDisassembleTask.GetNextDevice(routeidNew, RGVsn);
int condev = nextcon[0];
//ɾ<><C9BE>RGV<47>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dvnew = dbo.ExceSQL("SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_DeviceIndex = " +
devindex + ") AND (F_DeviceCommandIndex = 7) AND (F_RouteID = " + routeidNew +
") AND (F_Status = 3) AND (F_NumParam1 = " + condev + ")").Tables[0].DefaultView;
if (dvnew.Count > 0)
{
dbo.ExceSQL("delete from T_Monitor_Task where F_MonitorIndex<" + dvnew[0]["F_MonitorIndex"] + " and (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
dbo.ExceSQL("update T_Monitor_Task set F_Status =0 where (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
}
}
#endregion
#region RGV<EFBFBD>ӻ<EFBFBD>
if ((devCommand == 2) || (devCommand == 4))
{
int RGVsn = ccf.GetSerialNumberFromRouteDevice(routeidNew, devindex);
//<2F>ҵ<EFBFBD><D2B5>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
List<int> priorcon = CDisassembleTask.GetPriorDevice(routeidNew, RGVsn);
int condev = priorcon[0];
//ɾ<><C9BE>RGV<47>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dvnew = dbo.ExceSQL("SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_DeviceIndex = " +
devindex + ") AND (F_DeviceCommandIndex = 7) AND (F_RouteID = " + routeidNew +
") AND (F_Status = 3) AND (F_NumParam1 = " + condev + ")").Tables[0].DefaultView;
if (dvnew.Count > 0)
{
dbo.ExceSQL("delete from T_Monitor_Task where F_MonitorIndex<" + dvnew[0]["F_MonitorIndex"] + " and (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
dbo.ExceSQL("update T_Monitor_Task set F_Status =0 where (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
}
}
#endregion
}
if (devKind == 2)
{
#region <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>ͻ<EFBFBD>
if (devCommand == 3)
{
int consn = ccf.GetSerialNumberFromRouteDevice(routeidNew, devindex);
//<2F>ҵ<EFBFBD><D2B5>ӻ<EFBFBD>RGV<47><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
List<int> nextrgv = CDisassembleTask.GetNextDevice(routeidNew, consn);
int rgvdev = nextrgv[0];
//ɾ<><C9BE>RGV<47>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ӻ<EFBFBD><D3BB><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dvnew = dbo.ExceSQL("SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_DeviceIndex = " +
rgvdev + ") AND (F_DeviceCommandIndex = 7) AND (F_RouteID = " + routeidNew +
") AND (F_Status = 3) AND (F_NumParam1 = " + devindex + ")").Tables[0].DefaultView;
if (dvnew.Count > 0)
{
dbo.ExceSQL("delete from T_Monitor_Task where F_MonitorIndex<" + dvnew[0]["F_MonitorIndex"] + " and (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
dbo.ExceSQL("update T_Monitor_Task set F_Status =0 where (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
}
}
#endregion
#region <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>Ľӻ<EFBFBD>
if (devCommand == 4)
{
int consn = ccf.GetSerialNumberFromRouteDevice(routeID, devindex);
//<2F>ҵ<EFBFBD><D2B5>ͻ<EFBFBD>RGV<47><EFBFBD><E8B1B8><EFBFBD><EFBFBD>
List<int> priorrgv = CDisassembleTask.GetPriorDevice(routeID, consn);
int rgvdev = priorrgv[0];
int rgvsn = ccf.GetSerialNumberFromRouteDevice(routeidNew, rgvdev);
List<int> nextdev = CDisassembleTask.GetNextDevice(routeidNew, rgvdev);
int condev = nextdev[0];
//ɾ<><C9BE>RGV<47>˶<EFBFBD><CBB6><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD>֮ǰ<D6AE><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
dvnew = dbo.ExceSQL("SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_DeviceIndex = " +
rgvdev + ") AND (F_DeviceCommandIndex = 7) AND (F_RouteID = " + routeidNew +
") AND (F_Status = 3) AND (F_NumParam1 = " + condev + ")").Tables[0].DefaultView;
if (dvnew.Count > 0)
{
dbo.ExceSQL("delete from T_Monitor_Task where F_MonitorIndex<" + dvnew[0]["F_MonitorIndex"] + " and (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
dbo.ExceSQL("update T_Monitor_Task set F_Status =0 where (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
}
}
#endregion
#region <EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͳ<EFBFBD>
if (devCommand == 6)
{
dvnew = dbo.ExceSQL("SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_DeviceIndex = " +
devindex + ") AND (F_DeviceCommandIndex = 6) AND (F_RouteID = " + routeidNew +
") AND (F_Status = 3) ").Tables[0].DefaultView;
if (dvnew.Count > 0)
{
dbo.ExceSQL("delete from T_Monitor_Task where F_MonitorIndex<" + dvnew[0]["F_MonitorIndex"] + " and (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
int CurrentLocation = 0;
dvc = dbo.ExceSQL("SELECT FCurrentLocation FROM T_Manage_Task where FID=" + dvIOC[i]["CONTROL_ID"] + " and F_ManageTaskKindIndex=1").Tables[0].DefaultView;
if (dvc.Count > 0)
{
CurrentLocation = Convert.ToInt32(dvc[0]["FCurrentLocation"]);
}
if (CurrentLocation == 0) continue;
dbo.ExceSQL("update T_Monitor_Task set F_DeviceIndex=" + CurrentLocation + " where F_MonitorIndex=" + dvnew[0]["F_MonitorIndex"]);
//20090910<31>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD>˵<EFBFBD>CurrentLocation<6F><6E>F_NumParam4=CurrentLocation<6F><6E> ɾ<><C9BE><EFBFBD>ͳ<EFBFBD><CDB3><EFBFBD><EFBFBD><EFBFBD>
dbo.ExceSQL("delete from T_Monitor_Task where F_DeviceIndex=" + CurrentLocation + " and F_NumParam4=" + CurrentLocation + "");
//20091102
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_LockedState=" + monitorIndex);
dbo.ExceSQL("update T_Monitor_Task set F_Status =0 where (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
}
}
#endregion
}
#region <EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><EFBFBD>غ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (devKind == 1)
{
//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB>أ<EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>
dvnew = dbo.ExceSQL("SELECT F_MonitorIndex FROM T_Monitor_Task WHERE (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_DeviceIndex = " +
devindex + ") AND (F_DeviceCommandIndex = " + devCommand + ") AND (F_RouteID = " + routeidNew +
") AND (F_Status = 3)").Tables[0].DefaultView;
if (dvnew.Count > 0)
{
dbo.ExceSQL("delete from T_Monitor_Task where F_MonitorIndex<" + dvnew[0]["F_MonitorIndex"] + " and (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
dbo.ExceSQL("update T_Base_Device set F_LockedState=0 where F_DeviceIndex=" + devindex + "");
dbo.ExceSQL("update T_Monitor_Task set F_Status =0 where (F_ManageTaskIndex = " +
Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX = 1) AND (F_Status = 3)");
}
}
#endregion
}//20090910
}
else//δ<><CEB4><EFBFBD>ֵģ<D6B5><C4A3>޸<EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>ú<EFBFBD>״̬(FSTATUS='40'<27><><EFBFBD>ò<EFBFBD><C3B2>ֵ<EFBFBD>FIntoStepOK='-'<27><>ΪFIntoStepOK='0'<27><>
{
//20091128<32><38><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9>FENDCELL
dbo.ExceSQL("update T_Manage_Task set FENDDEVICE='" + FENDDEVICE + "',FENDCELL='" + FENDCELL + "', FIntoStepOK=0 where (FID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ") AND (F_ManageTASKKINDINDEX =1) and (FIntoStepOK='-')");
}
//<2F>޸<EFBFBD>T_Manage_Task<73><6B>FLANEWAY<41><59>FSTACK
int flaneway = -1, stackno = -1;
if (Information.IsNumeric(dvIOC[i]["START_DEVICE_CODE"]) == false)
{//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
obj = dbo.GetSingle("SELECT FLaneWay FROM ST_CELL where FCELLCODE='" + dvIOC[i]["START_DEVICE_CODE"] + "' and FWAREHOUSE='" + dvIOC[i]["START_WAREHOUSE_CODE"] + "'");
if (obj != null)
{
flaneway =Convert.ToInt32( obj);
}
}
else
{
if (Information.IsNumeric(dvIOC[i]["END_DEVICE_CODE"]) == false)
{
obj = dbo.GetSingle("SELECT FLaneWay FROM ST_CELL where FCELLCODE='" + dvIOC[i]["END_DEVICE_CODE"] + "' and FWAREHOUSE='" + dvIOC[i]["END_WAREHOUSE_CODE"] + "'");
if (obj != null)
{
flaneway =Convert.ToInt32( obj);
}
}
}
string sss = "SELECT F_StackIndex, F_LaneNo FROM T_Base_StackInfo " +
" where (F_LaneNo='" + flaneway + "') OR (F_LaneNo like '%" + ";" + flaneway + "') OR (F_LaneNo='" + flaneway + ";" + "%') ";
dv = dbo.ExceSQL(sss).Tables[0].DefaultView;
if (dv.Count > 0)
{
stackno = Convert.ToInt32(dv[0]["F_StackIndex"]);
}
dbo.ExceSQL("update dbo.T_Manage_Task set FLANEWAY=" + flaneway + ",FSTACK=" + stackno + " where F_ManageTaskKindIndex=1 and FID=" + dvIOC[i]["CONTROL_ID"] + "");
//20091107
dboM.ExceSQL("update IO_control set CONTROL_status=" + Model.CGeneralFunction.TASKRUN + " where (CONTROL_ID = " + Convert.ToInt32(dvIOC[i]["CONTROL_ID"]) + ")");
}
#endregion
}
if (RecCount > 0)
{
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (CStaticClass.RealRefresh == true)
{
FrmControlMonitor.FormInstance.ManagerRefresh(
dbo.ExceSQL("select * from V_Manage_Task where " + CStaticClass.Manstatus).Tables[0].DefaultView);
}
return RecCount;
}
else
{
//_CObtainTaskError = "û<>л<EFBFBD><D0BB><EFBFBD><EFBFBD>κε<CEBA><CEB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
return 0;
}
}
else
{
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 20120916
// int havegood = CStaticClass.GetDevicePhotoelectric("12112.0");
// int[] status = new int[6];
//// status = CStaticClass.GetDeviceState(12111);
// status[1] = 0;
// if ((havegood ==1) && (status[1] == 0))
// {
// int AutoManageIdx = ccf.GetTempManageIdx();
// string dtime = DateTime.Now.ToString("u");//20101028
// dtime = dtime.Substring(0, dtime.Length - 1);//20101028
// string tempsql = " insert into T_Manage_Task(FID,FPALLETBARCODE,FCONTROLTASKTYPE,F_ManageTaskKindIndex,FSTARTWAREHOUSE,FSTARTDEVICE,FSTARTCELL,FENDWAREHOUSE,FENDDEVICE,FENDCELL,FLANEWAY,FSTACK,FUseAwayFork,FBEGTIME,BOX_QUANTITY,UNPACK_QUANTITY,FStartCol,FStartLayer) values(" + AutoManageIdx + ",'343243243243243','1',2,'1','12112','-','1','12115','-',0,0,'-','" + dtime + "',0,0,0,0)";
// DataView tempdv= dbo.ExceSQL("select * from t_manage_task where FSTARTDEVICE =" + 12112).Tables[0].DefaultView;
// if (tempdv.Count <=0)
// {
// return 0;
// dbo.ExceSQL(tempsql);
// }
// }
//int havegood = CStaticClass.GetDevicePhotoelectric("12026.0");
//int[] status = new int[6];
//// status = CStaticClass.GetDeviceState(12111);
//status[1] = 0;
//if ((havegood == 1) && (status[1] == 0))
//{
// int AutoManageIdx = ccf.GetTempManageIdx();
// string dtime = DateTime.Now.ToString("u");//20101028
// dtime = dtime.Substring(0, dtime.Length - 1);//20101028
// string tempsql = " insert into T_Manage_Task(FID,FPALLETBARCODE,FCONTROLTASKTYPE,F_ManageTaskKindIndex,FSTARTWAREHOUSE,FSTARTDEVICE,FSTARTCELL,FENDWAREHOUSE,FENDDEVICE,FENDCELL,FLANEWAY,FSTACK,FUseAwayFork,FBEGTIME,BOX_QUANTITY,UNPACK_QUANTITY,FStartCol,FStartLayer) values(" + AutoManageIdx + ",'343243243243243','1',2,'1','12026','-','1','12526','-',0,0,'-','" + dtime + "',0,0,0,0)";
// DataView tempdv = dbo.ExceSQL("select * from t_manage_task where FSTARTDEVICE =" + 12026).Tables[0].DefaultView;
// if (tempdv.Count <= 0)
// {
// dbo.ExceSQL(tempsql);
// }
// else
// {
// DataView tempdvmon = dbo.ExceSQL("select * from t_monitor_task where f_deviceindex =12026 ").Tables[0].DefaultView;
// if (tempdvmon.Count <= 0)
// {
// dbo.ExceSQL(tempsql);
// }
// }
//}
//int havegood = CStaticClass.GetDevicePhotoelectric("12026.0");
//int[] status = new int[6];
//// status = CStaticClass.GetDeviceState(12111);
//status[1] = 0;
//if ((havegood == 1) && (status[1] == 0))
//{
// int AutoManageIdx = ccf.GetTempManageIdx();
// string dtime = DateTime.Now.ToString("u");//20101028
// dtime = dtime.Substring(0, dtime.Length - 1);//20101028
// string tempsql = " insert into T_Manage_Task(FID,FPALLETBARCODE,FCONTROLTASKTYPE,F_ManageTaskKindIndex,FSTARTWAREHOUSE,FSTARTDEVICE,FSTARTCELL,FENDWAREHOUSE,FENDDEVICE,FENDCELL,FLANEWAY,FSTACK,FUseAwayFork,FBEGTIME,BOX_QUANTITY,UNPACK_QUANTITY,FStartCol,FStartLayer) values(" + AutoManageIdx + ",'343243243243243','1',2,'1','12026','-','1','12043','-',0,0,'-','" + dtime + "',0,0,0,0)";
// DataView tempdv = dbo.ExceSQL("select * from t_manage_task where FSTARTDEVICE =" + 12026).Tables[0].DefaultView;
// if (tempdv.Count <= 0)
// {
// dbo.ExceSQL(tempsql);
// }
// else
// {
// }
//}
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//_CObtainTaskError = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><C3BB><EFBFBD>´<EFBFBD><C2B4>µİ<C2B5><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>";
return 0;
}
}
catch (Exception ex)
{
_CObtainTaskError = "<22><><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>:" + ex.Message;
return 0;
}
finally
{
dsIOC=null;
dvIOC=null;
dv = null;
dvc = null;
dvmi = null;
dvnew = null;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĵĻ<C4B5>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="gdata">ɨ<><EFBFBD><E8B5BD><EFBFBD><EFBFBD><EFBFBD>̺<EFBFBD></param>
public static void GetWebManageTask(string gdata)
{
//<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̺<EFBFBD><CCBA><EFBFBD>ɨ<EFBFBD><EFBFBD><E8B5BD>
DataView dsIOC = dboM.ExceSQL($"select * from TaskDetails where TaskStatus = 1 and PalletNo='{gdata}'").Tables[0].DefaultView;
if (dsIOC.Count>0)
{
string Sql, _tasktype, _startposition, _startsite = "-", _endposition, _endsite = "-";
DataSet ds;
_tasktype = dsIOC[0]["TaskType"].ToString();//<2F><><EFBFBD><EFBFBD>
_startposition = dsIOC[0]["SourceLocation"].ToString();//<2F><>ʼ<EFBFBD><CABC>
_endposition = dsIOC[0]["Aisle"].ToString();//<2F><><EFBFBD><EFBFBD>
int flaneway = 0;
int stackno = 0;
int startdevicekind = ccf.GetDeviceKindIdx(Convert.ToInt32(_startposition));//20110411
if (_tasktype == "2")//<2F><><EFBFBD><EFBFBD>
{
_startsite = dsIOC[0]["SourceLocation"].ToString();//<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>
flaneway = Convert.ToInt32(_startposition);
if (dbo.Exists("SELECT FID FROM ST_CELL where FCELLSTATUS<> '-1' and FLaneWay=" + flaneway + " and FCELLCODE='" + _startsite + "'") == false)
{
MessageBox.Show("<22><>ʼλ<CABC>ú<EFBFBD><C3BA><EFBFBD>ʼ<EFBFBD><CABC>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>û<EFBFBD>м<EFBFBD>¼<EFBFBD><C2BC>", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
if (_tasktype == "1")//<2F><><EFBFBD><EFBFBD>
{
_endsite = dsIOC[0]["TargetLocation"].ToString();//<2F>յ<EFBFBD>λ<EFBFBD><CEBB>
flaneway = Convert.ToInt32(_endposition);
if (dbo.Exists("SELECT FID FROM ST_CELL where FCELLSTATUS<> '-1' and FLaneWay=" + flaneway + " and FCELLCODE='" + _endsite + "'") == false)
{
MessageBox.Show("<22>յ<EFBFBD>λ<EFBFBD>ú<EFBFBD><C3BA>յ<EFBFBD><D5B5><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><DDBF><EFBFBD>û<EFBFBD>м<EFBFBD>¼<EFBFBD><C2BC>", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
}
try
{
//20100304
Sql = "SELECT F_RouteID FROM T_Base_Route WHERE (F_StartDevice = " + _startposition + ") AND (F_EndDevice = " + _endposition + ")";
ds = dbo.ExceSQL(Sql).Tables[0].DataSet;
if (ds.Tables[0].DefaultView.Count <= 0)
{
MessageBox.Show("<22><>ʼλ<CABC>úͽ<C3BA><CDBD><EFBFBD>λ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD><EFBFBD><EFBFBD>Ч·<D0A7><C2B7><EFBFBD>ķ<EFBFBD>Χ<EFBFBD>ڣ<EFBFBD>", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
string FSTARTCELL = _startsite, FENDCELL = _endsite, UseAwayFork = "-";
int FSTARTDEVICE = Convert.ToInt32(_startposition); int FENDDEVICE = Convert.ToInt32(_endposition);
devinfo = Model.CGetInfo.GetDeviceInfo(FSTARTDEVICE);
stackno = Convert.ToInt32(dbo.GetSingle("SELECT F_StackIndex FROM T_Base_LaneInfo WHERE (F_LaneDeviceIndex = " + flaneway + ")"));//20101028
string dtime = DateTime.Now.ToString("u");//20101028
dtime = dtime.Substring(0, dtime.Length - 1);//20101028
int AutoManageIdx = ccf.GetTempManageIdx();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T_Manage_Task(<28><><EFBFBD><EFBFBD><EFBFBD>µĵ<C2B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)<29><>
int startcol = 0, startlayer = 0;//20110411
if (startdevicekind == 10)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƿ<EFBFBD><C6BF><EFBFBD><EFBFBD><EFBFBD>
{
startcol = Convert.ToInt32(_startsite.Substring(3, 2));
startlayer = Convert.ToInt32(_startsite.Substring(6, 2));
}
Sql = "insert into T_Manage_Task(FID,FPALLETBARCODE,FCONTROLTASKTYPE,F_ManageTaskKindIndex,FSTARTWAREHOUSE,FSTARTDEVICE,FSTARTCELL," +
"FENDWAREHOUSE,FENDDEVICE,FENDCELL,FLANEWAY,FSTACK,FUseAwayFork,FBEGTIME,UNPACK_QUANTITY,BOX_QUANTITY,FStartCol,FStartLayer) " +
"values(" + AutoManageIdx + ",'" + dsIOC[0]["RFID"].ToString() + "','" + _tasktype + "',2,'" + ccf.GetWarehouseIndex() + "','" + _startposition + "','" + _startsite + "','" + ccf.GetWarehouseIndex() + "','"
+ _endposition + "','" + _endsite + "'," + flaneway + "," + stackno + ",'" + UseAwayFork + "','" + dtime + "'," + 1 + "," + int.Parse(dsIOC[0]["TaskQty"].ToString()) + "," + startcol + "," + startlayer + ")";//20101028
ds = dbo.ExceSQL(Sql);
}
catch (Exception ex)
{
throw ex;
}
}
}
/// <summary>
/// <20><><EFBFBD>м<EFBFBD>¼<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA>ȷ<EFBFBD><C8B7>
/// </summary>
/// <param name="drv"><3E><><EFBFBD><EFBFBD>ͼ</param>
/// <returns><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7></returns>
public static bool IfSoftConfirm(string FCONTROLTASKTYPE)
{
try
{
DataSet ds = dbo.ExceSQL("SELECT FCODE, FSOFTCONFIRM FROM T_ITEMTASKTYPE where FCODE='" + FCONTROLTASKTYPE+"'");
if (ds.Tables[0].DefaultView.Count > 0)
{
if (ds.Tables[0].DefaultView[0]["FSOFTCONFIRM"].ToString() == "1")
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
catch (Exception ex)
{
throw ex;
}
}
static void FeedBackConfirm(int FID, int FSTARTDEVICE)
{
//<2F>ж<EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD>豸FSTARTDEVICE<43>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>У<EFBFBD><D0A3><EFBFBD><EFBFBD><EFBFBD>
try
{
DataSet dsS = dbo.ExceSQL("SELECT F_DeviceIndex,F_LockedState FROM T_Base_Device Where F_DeviceIndex=" + FSTARTDEVICE + "and F_LockedState=0");
if (dsS.Tables[0].DefaultView.Count > 0)
{
DataSet ds = dboM.ExceSQL("update IO_CONTROL set CONTROL_STATUS='2' where CONTROL_ID=" + FID);
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD>FSTARTCELL<4C><4C><EFBFBD><EFBFBD>FENDCELL
/// </summary>
/// <param name="fid">IO_CONTROL<4F><4C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FID</param>
/// <param name="devidx"><3E><EFBFBD><E8B1B8><EFBFBD><EFBFBD></param>
/// <param name="kind"><3E>Ѷ<EFBFBD><D1B6><EFBFBD>001ȡ<31><C8A1><EFBFBD>ꣻ002<30><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <returns><3E><><EFBFBD><EFBFBD>FSTARTCELL<4C><4C><EFBFBD><EFBFBD>FENDCELL</returns>
static string GetSite(int fid, int devidx, string kind)
{
try
{
DataSet ds = dbo.ExceSQL("SELECT F_DeviceIndex, F_DeviceKindIndex FROM T_Base_Device where F_DeviceKindIndex=10 and F_DeviceIndex=" + devidx);
if (ds.Tables[0].DefaultView.Count > 0)
{
DataSet dss = dboM.ExceSQL("SELECT * FROM IO_CONTROLDETAIL where FCONTROLID=" + fid + " and FKIND=" + kind);
if (dss.Tables[0].DefaultView.Count > 0)
{
return dss.Tables[0].DefaultView[0]["FVALUE"].ToString();
}
else
{
_CObtainTaskError = "<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD>޷<EFBFBD>ȡ<EFBFBD>öѶ<C3B6><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EAA3A1><EFBFBD><EFBFBD>";
return "";
}
}
else
{
return "-";
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
///<2F>жϵ<D0B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>Ƿ<EFBFBD>Ϊ91<39><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>92<39><32><EFBFBD>̳<EFBFBD><CCB3>
///<2F><><EFBFBD><EFBFBD>A<EFBFBD><41>FMANAGEID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD><39><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>񣬲<EFBFBD><F1A3ACB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A
/// </summary>
/// <param name="TaskType"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
/// <param name="FMANAGEID"></param>
/// <returns></returns>
static bool GetStackPalletTask(string TaskType, int FMANAGEID)
{
DataSet ds = dbo.ExceSQL("SELECT FCODE, FINTERCODE FROM T_ITEMTASKTYPE Where FCODE='"+TaskType +"'");
if (ds.Tables[0].DefaultView.Count > 0)
{
if ((ds.Tables[0].DefaultView[0]["FINTERCODE"].ToString() == "91")
|| (ds.Tables[0].DefaultView[0]["FINTERCODE"].ToString() == "92"))
{
DataSet dss = dbo.ExceSQL("SELECT FINTERCODE, FCONTROLTASKTYPE,FCODE FROM T_Manage_Task ,T_ITEMTASKTYPE Where FCONTROLTASKTYPE = FCODE and FMANAGEID=" + FMANAGEID + " and FINTERCODE=9 ");
if (dss.Tables[0].DefaultView.Count > 0)
{
return true;
}
else
return false;
}
else
return false;
}
else
_CObtainTaskError ="<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD><EFBFBD>İ<EFBFBD><C4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڼ<EFBFBD><DABC>ر<EFBFBD><D8B1><EFBFBD><EFB2BB><EFBFBD>ڣ<EFBFBD>";
return false;
}
/// <summary>
///<2F>жϵ<D0B6><CFB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A<EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA>ʼλ<CABC><CEBB>4#վ̨<D5BE><CCA8><EFBFBD><EFBFBD>5#վ̨<D5BE><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
///<2F><><EFBFBD><EFBFBD>A<EFBFBD><41>FMANAGEID<49><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>9<EFBFBD><39><EFBFBD><EFBFBD>ľ<EFBFBD><C4BE><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD>񣬲<EFBFBD><F1A3ACB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A
/// </summary>
/// <param name="FSTARTDEVICE"><3E><>ʼλ<CABC><CEBB></param>
/// <param name="FMANAGEID"></param>
/// <returns></returns>
static bool GetStackPalletTask(int FSTARTDEVICE, int FMANAGEID)
{
if ((FSTARTDEVICE==4)|| (FSTARTDEVICE==5))
{
DataSet dss = dbo.ExceSQL("SELECT FINTERCODE, FCONTROLTASKTYPE,FCODE FROM T_Manage_Task ,T_ITEMTASKTYPE Where FCONTROLTASKTYPE = FCODE and FMANAGEID=" + FMANAGEID + " and FINTERCODE=9 ");
if (dss.Tables[0].DefaultView.Count > 0)
{
return true;
}
else
return false;
}
else
return false;
}
static bool GetStackPalletTask(DataRowView drv)
{
DataView dv = dbo.ExceSQL("SELECT F_StackPositionDeviceIndex FROM T_BASE_STACK_ROBOT where F_StackPositionDeviceIndex=" +Convert.ToInt32( drv["FSTARTDEVICE"])).Tables[0].DefaultView;
//if ((drv["FSTARTDEVICE"].ToString() == "4") || (drv["FSTARTDEVICE"].ToString() == "5"))
if(dv.Count>0)
{
DataSet dss = dboM.ExceSQL("SELECT MANAGE_ID, CONTROL_TASK_TYPE FROM IO_CONTROL where MANAGE_ID=" + Convert.ToInt32(drv["FMANAGEID"]) + " and CONTROL_TASK_TYPE='901'");
if (dss.Tables[0].DefaultView.Count > 0)
{
return true;
}
else
return false;
}
else
return false;
}
static void RecordMaxManageTaskFID(int fid)
{
DataSet ds= dbo.ExceSQL("select F_ManageTaskIndex from T_Base_Manage_Task_Index_Auto_Task");
DataView dv = ds.Tables[0].DefaultView;
if (dv.Count > 0)
{
if (fid > Convert.ToInt32(dv[0]["F_ManageTaskIndex"]))
{
dbo.ExceSQL("UPDATE T_Base_Manage_Task_Index_Auto_Task SET F_ManageTaskIndex ="+fid);
}
}
else
{
dbo.ExceSQL("INSERT INTO T_Base_Manage_Task_Index_Auto_Task (F_ManageTaskIndex)VALUES (" + fid + ")");
}
}
/// <summary>
/// 20091005
/// <20><>ȡ<EFBFBD><C8A1><EFBFBD>õ<EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߳<EFBFBD><DFB3><EFBFBD>վ̨
/// </summary>
/// <param name="dr">T_Manage_Task<73><6B><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD>¼</param>
/// <returns></returns>
public static void GetUsableDestination(DataRowView dr)
{
//20100610<31><30><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><C3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ٵ<EFBFBD><D9B5>յ<EFBFBD><D5B5>
Dictionary<int, int> advDev = new Dictionary<int, int>();
object ob;
//ֻ<><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸ĵ<DEB8><C4B5><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
if (dr["F_ManageTaskKindIndex"].ToString() != "1") return;
string sql = "";
string adviceDev = "";
DataTable dtd = dbo.ExceSQL("SELECT F_TASKKIND, F_DESTINATION FROM T_Base_Destination WHERE (F_TASKKIND = " + dr["FCONTROLTASKTYPE"] + ") and (F_AbendStation=1) and (F_DESTINATION=" + dr["FENDDEVICE"] + ")").Tables[0];
if (dtd.Rows.Count > 0)//ԭ<><D4AD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD>Ӧ<EFBFBD><D3A6>վ̨<D5BE><CCA8>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>վ̨<D5BE><CCA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ı<EFBFBD>
{
adviceDev = dtd.Rows[0]["F_DESTINATION"].ToString();
//20091005
return;
}
else
{
//<2F><><EFBFBD>ҿ<EFBFBD><D2BF><EFBFBD>Ŀ<EFBFBD><C4BF>λ<EFBFBD><CEBB>
DataTable dt = dbo.ExceSQL("SELECT F_TASKKIND, F_DESTINATION FROM T_Base_Destination WHERE (F_TASKKIND = " + dr["FCONTROLTASKTYPE"] + ") and (F_DESTINATION <>" + dr["FENDDEVICE"] + ") and (F_AbendStation=0)").Tables[0];
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
if (CDisassembleTask.MinRouteID(Convert.ToInt32(dr["FSTARTDEVICE"]), Convert.ToInt32(dt.Rows[i]["F_DESTINATION"]), dr["FUseAwayFork"]) != -1)
{
//20100610ͳ<30>Ƶ<EFBFBD><C6B5>յ<EFBFBD><D5B5><EFBFBD><E8B1B8><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
ob = dbo.GetSingle("SELECT count(FENDDEVICE) as counts FROM T_Manage_Task where FENDDEVICE='" + dt.Rows[i]["F_DESTINATION"] + "' and fstatus>0");
advDev.Add(Convert.ToInt32(dt.Rows[i]["F_DESTINATION"]), Convert.ToInt32(ob));
//20100610 adviceDev = dt.Rows[i]["F_DESTINATION"].ToString();
//break;
}
}
if (advDev.Count == 0)//20100610
{
return ;
}
else
{//20100610
int mincount = 9999;
foreach (int aaa in advDev.Keys)
{
if (advDev[aaa] < mincount)
{
mincount = advDev[aaa];
adviceDev = aaa.ToString();
}
}
if (adviceDev == "")
{
return ;
}
}
}
else
{
return;
}
}
//DataView DV = dboM.ExceSQL("select IO_CONTROL_APPLY_SEQ.NEXTVAL FROM DUAL").Tables[0].DefaultView;
//20101108int fid = dboM.GetManageTableIndex("IO_CONTROL_APPLY");
string dtime = DateTime.Now.ToString("u");
dtime = dtime.Substring(0, dtime.Length - 1);
//20091128
dboM.TransBegin();
try
{
dboM.ExceSQL(" update IO_CONTROL set CONTROL_STATUS=" + Model.CGeneralFunction.TASKALTERROUTEAPPLY + " where CONTROL_ID=" + dr["FID"] + "");
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD><DEB8><EFBFBD><EFBFBD><EFBFBD>//20101108CONTROL_APPLY_ID," + fid + ",
sql = "INSERT INTO IO_CONTROL_APPLY ( CONTROL_ID,CONTROL_APPLY_TYPE,WAREHOUSE_CODE, STOCK_BARCODE, DEVICE_CODE, APPLY_TASK_STATUS, CREATE_TIME, " +
" CONTROL_APPLY_REMARK)" +
"VALUES (" + dr["FID"] + ",2,'" + dr["FENDWAREHOUSE"] + "','" + dr["FPALLETBARCODE"] + "','" + adviceDev + "',0,'" + dtime + "',null)";
dboM.ExceSQL(sql);
dboM.TransCommit();
//20091102<30>޸ĵ<DEB8><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD>״̬
dbo.ExceSQL("update T_Manage_Task set FIntoStepOK='-' where (FID = " + Convert.ToInt32(dr["FID"]) + ") AND (F_ManageTASKKINDINDEX =1)");
}
catch (Exception ex)
{
_CObtainTaskError = "<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD>" + ex.Message;
dboM.TransRollback();
}
}
public static bool IfDeleteOutTask(int fid, int deleteflag)
{ //20091014
try
{
if (1 != deleteflag)
{
return false;
}
string strsql = "select FIntoStepOK from T_Manage_Task where F_ManageTaskKindIndex=1 and FID= " + fid + " and FIntoStepOK <> '1' ";
DataView dv = dbo.ExceSQL(strsql).Tables[0].DefaultView;
if (dv.Count > 0)
{
string delsql = "DELETE FROM T_Manage_Task WHERE (F_ManageTaskKindIndex = 1) AND (FID = " + fid + ")";
string cancelsql = "update IO_Control set CONTROL_STATUS=" + Model.CGeneralFunction.TASKCANCEL + " where CONTROL_ID=" + fid;
dbo.ExceSQL(delsql);
dboM.ExceSQL(cancelsql);
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 20101028<32><38>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB>棺0<E6A3BA><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>棻1<E6A3BB><31>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><E6A3BB>-<2D><>δ<EFBFBD><CEB4><EFBFBD><EFBFBD>
/// </summary>
/// <param name="RelativeControlID"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FID</param>
/// <param name="UseAwayFork"><3E>Ƿ<EFBFBD>ʹ<EFBFBD><CAB9>Զ<EFBFBD><D4B6><EFBFBD>棬Ĭ<E6A3AC><C4AC>ֵ"-"</param>
/// <returns></returns>
static string ObtainDoubleForkTask(object RelativeControlID,string UseAwayFork)
{
int i = 0;
DataView dvl;
object obj = null;
string FSTARTCELL = ""; string FENDCELL = ""; char[] cc = new char[1] { '-' };
int FSTARTDEVICE = 0; int FENDDEVICE = 0;
string flaneway = "-1";
int stackno = -1;
int FStartCol = 0, FStartLayer = 0, FEndCol = 0, FEndLayer = 0;
DataView dvIOC = dboM.ExceSQL("select * from IO_CONTROL where CONTROL_ID=" + RelativeControlID + "").Tables[0].DefaultView;
if (dvIOC.Count == 0) return "-";
string sql = "SELECT T_Base_Manage_Task_Kind.F_TaskKindIndex, " +
"T_Manage_Task.F_ManageTaskKindIndex, T_Manage_Task.FID " +
"FROM T_Base_Manage_Task_Kind , T_Manage_Task where " +
"T_Base_Manage_Task_Kind.F_TaskKindIndex = T_Manage_Task.F_ManageTaskKindIndex " +
" and T_Base_Manage_Task_Kind.F_TaskKindIndex=1 and T_Manage_Task.FID = ";
sql = sql + RelativeControlID;
dvl = dbo.ExceSQL(sql).Tables[0].DefaultView;
if (dvl.Count > 0)// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>¼
{
return "-";
}
if (Information.IsNumeric(dvIOC[i]["START_DEVICE_CODE"]) == false)
{//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
//20101028
dvl = dbo.ExceSQL("SELECT FLaneWay,FStack FROM ST_CELL where FCELLCODE='" + dvIOC[i]["START_DEVICE_CODE"] + "' and FWAREHOUSE='" + dvIOC[i]["START_WAREHOUSE_CODE"] + "'").Tables[0].DefaultView;
if (dvl.Count > 0)
{
flaneway = dvl[0]["FLaneWay"].ToString();
stackno =Convert.ToInt32( dvl[0]["FStack"]);//20101028
FStartCol =Convert.ToInt32( dvIOC[i]["START_DEVICE_CODE"].ToString().Substring(3, 2));
FStartLayer = Convert.ToInt32(dvIOC[i]["START_DEVICE_CODE"].ToString().Substring(6, 2));
}
}
else
{
if (Information.IsNumeric(dvIOC[i]["END_DEVICE_CODE"]) == false)
{
//20101028
dvl = dbo.ExceSQL("SELECT FLaneWay,FStack FROM ST_CELL where FCELLCODE='" + dvIOC[i]["END_DEVICE_CODE"] + "' and FWAREHOUSE='" + dvIOC[i]["END_WAREHOUSE_CODE"] + "'").Tables[0].DefaultView;
if (dvl.Count>0)
{
flaneway = dvl[0]["FLaneWay"].ToString();
stackno =Convert.ToInt32( dvl[0]["FStack"]);//20101028
FEndCol =Convert.ToInt32( dvIOC[i]["END_DEVICE_CODE"].ToString().Substring(3, 2));
FEndLayer =Convert.ToInt32( dvIOC[i]["END_DEVICE_CODE"].ToString().Substring(6, 2));
}
}
}
//20101028
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>FID<49><44><EFBFBD><EFBFBD>T_Base_Manage_Task_Index_Auto_Task
RecordMaxManageTaskFID(Convert.ToInt32(dvIOC[i]["CONTROL_ID"]));
if (Information.IsNumeric(dvIOC[i]["START_DEVICE_CODE"]) == true)
{
obj = dbo.GetSingle("SELECT T_Base_AGV_Gate.F_ChannelsIndex FROM T_Base_Device,T_Base_AGV_Gate where T_Base_Device.F_DeviceIndex = T_Base_AGV_Gate.F_AGVGateDeviceIndex and (T_Base_Device.F_DeviceKindIndex = 9) and (F_AGVGateDeviceIndex = " + Convert.ToInt32(dvIOC[i]["START_DEVICE_CODE"]) + ") ");
if (obj != null)
{//AGVվ̨<D5BE><CCA8><EFBFBD><EFBFBD>
FSTARTDEVICE = Convert.ToInt32(obj);
FSTARTCELL = dvIOC[i]["START_DEVICE_CODE"].ToString();
}
else
{//վ̨<D5BE><CCA8><EFBFBD><EFBFBD>
FSTARTDEVICE = Convert.ToInt32(dvIOC[i]["START_DEVICE_CODE"]);
FSTARTCELL = "-";
}
}
else
{//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
obj = dbo.GetSingle("SELECT FLaneWay FROM ST_CELL where FCELLCODE='" + dvIOC[i]["START_DEVICE_CODE"] + "' and FWAREHOUSE='" + dvIOC[i]["START_WAREHOUSE_CODE"] + "'");
if (obj != null)
{
FSTARTDEVICE = Convert.ToInt32(obj);
}
else
{
_CObtainTaskError = "<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>û<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + dvIOC[i]["CONTROL_ID"].ToString() + ",<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ã<EFBFBD>";
return "-";
}
FSTARTCELL = dvIOC[i]["START_DEVICE_CODE"].ToString();
}
if (Information.IsNumeric(dvIOC[i]["END_DEVICE_CODE"]) == true)
{
obj = dbo.GetSingle("SELECT T_Base_AGV_Gate.F_ChannelsIndex FROM T_Base_Device,T_Base_AGV_Gate where T_Base_Device.F_DeviceIndex = T_Base_AGV_Gate.F_AGVGateDeviceIndex and (T_Base_Device.F_DeviceKindIndex = 9) and (F_AGVGateDeviceIndex = " + Convert.ToInt32(dvIOC[i]["END_DEVICE_CODE"]) + ") ");
if(obj!=null)
{//AGVվ̨<D5BE><CCA8><EFBFBD><EFBFBD>
FENDDEVICE = Convert.ToInt32(obj);
FENDCELL = dvIOC[i]["END_DEVICE_CODE"].ToString();
}
else
{//վ̨<D5BE><CCA8><EFBFBD><EFBFBD>
FENDDEVICE = Convert.ToInt32(dvIOC[i]["END_DEVICE_CODE"]);
FENDCELL = "-";
}
}
else
{//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
obj = dbo.GetSingle("SELECT FLaneWay FROM ST_CELL where FCELLCODE='" + dvIOC[i]["END_DEVICE_CODE"] + "' and FWAREHOUSE='" + dvIOC[i]["END_WAREHOUSE_CODE"] + "'");
if (obj != null)
{
FENDDEVICE = Convert.ToInt32(obj);
}
else
{
_CObtainTaskError = "<22><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>û<EFBFBD>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + dvIOC[i]["CONTROL_ID"].ToString() + ",<2C><><EFBFBD>յ<EFBFBD>λ<EFBFBD>ã<EFBFBD>";
return "-";
}
FENDCELL = dvIOC[i]["END_DEVICE_CODE"].ToString();
}
//20091014
int FTASKLEVEL = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȼ<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
FTASKLEVEL = dvIOC[i]["CONTROL_TASK_LEVEL"] == DBNull.Value ? 0 : Convert.ToInt32(dvIOC[i]["CONTROL_TASK_LEVEL"]);
if (UseAwayFork == "-")
{
devinfo = Model.CGetInfo.GetDeviceInfo(FSTARTDEVICE);
if (devinfo != null)
{
if (Microsoft.VisualBasic.Information.IsNumeric(FSTARTCELL) == true)
{
obj = dbo.GetSingle("SELECT F_UseAwayFork FROM T_Base_AGV_Gate WHERE (F_ChannelsIndex=" + FSTARTDEVICE + ") and ( F_AGVGateDeviceIndex= " + FSTARTCELL + ")").ToString();
if (obj != null)
{//AGVվ̨<D5BE><CCA8>˫<EFBFBD><CBAB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
UseAwayFork = obj.ToString();
}
}
else
{
if (devinfo.DoubleFork == "1")
{
UseAwayFork = "0";
}
else if (devinfo.DoubleFork == "2")
{
UseAwayFork = "1";
}
}
if (FEndCol > 0)
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>Ϊ׼<CEAA><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//obj = dbo.GetSingle("SELECT F_ForwardLimitX FROM T_Base_LaneInfo WHERE (F_LaneDeviceIndex = " + flaneway + ") AND (F_ForwardLimitX = " + FEndCol + ")");
//if (obj != null)
//{
// UseAwayFork = "0";
//}
//obj = dbo.GetSingle("SELECT F_BackLimitX FROM T_Base_LaneInfo WHERE (F_LaneDeviceIndex = " + flaneway + ") AND (F_BackLimitX = " + FEndCol + ")");
//if (obj != null)
//{
// UseAwayFork = "1";
//}
}
}
if (UseAwayFork == "-")
{
devinfo = Model.CGetInfo.GetDeviceInfo(FENDDEVICE);
if (devinfo != null)
{
if (Microsoft.VisualBasic.Information.IsNumeric(FENDCELL) == true)
{
obj = dbo.GetSingle("SELECT F_UseAwayFork FROM T_Base_AGV_Gate WHERE (F_ChannelsIndex=" + FENDDEVICE + ") and ( F_AGVGateDeviceIndex= " + FENDCELL + ")").ToString();
if (obj != null)
{
UseAwayFork = obj.ToString();
}
}
else
{
if (devinfo.DoubleFork == "1")
{
UseAwayFork = "0";
}
else if (devinfo.DoubleFork == "2")
{
UseAwayFork = "1";
}
}
if (FStartCol > 0)
{//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>Ϊ׼<CEAA><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//obj = dbo.GetSingle("SELECT F_ForwardLimitX FROM T_Base_LaneInfo WHERE (F_LaneDeviceIndex = " + flaneway + ") AND (F_ForwardLimitX = " + FStartCol + ")");
//if (obj != null)
//{
// UseAwayFork = "0";
//}
//obj = dbo.GetSingle("SELECT F_BackLimitX FROM T_Base_LaneInfo WHERE (F_LaneDeviceIndex = " + flaneway + ") AND (F_BackLimitX = " + FStartCol + ")");
//if (obj != null)
//{
// UseAwayFork = "1";
//}
}
}
}
}
//if (FENDDEVICE==13001||FENDDEVICE==13002)
//{
// //FENDDEVICE = 12072;
//}
//20110428 remark 1280<38><30>64ȡ<34><C8A1> " + dvIOC[i]["CONTROL_REMARK"] + "
string typeStatus = "-1";
if (dvIOC[i]["MANAGE_TASK_TYPE"].ToString() == "2")
{
typeStatus = "0";
}
sql =$"INSERT INTO T_Manage_Task" +
"(FID, F_ManageTaskKindIndex,FMANAGEID,F_RELATIVECONTORLID,FPALLETBARCODE,FMANAGETASKTYPE,FCONTROLTASKTYPE, FTASKLEVEL, FISRETURN," +
"FSTARTWAREHOUSE, FSTARTCELL, FSTARTDEVICE,FENDWAREHOUSE,FENDCELL,FENDDEVICE, " +
"FSTATUS, FBEGTIME, FENDTIME,FIntoStepOK,FREMARK,FLANEWAY,FSTACK,FUseAwayFork,FStartCol,FStartLayer,FEndCol,FEndLayer ,BOX_QUANTITY,UNPACK_QUANTITY)" +
"VALUES (" + dvIOC[i]["CONTROL_ID"] + ",1," + dvIOC[i]["MANAGE_ID"] + "," +
dvIOC[i]["RELATIVE_CONTROL_ID"] + ",'" + dvIOC[i]["STOCK_BARCODE"] +
"','" + dvIOC[i]["MANAGE_TASK_TYPE"] + "','" + dvIOC[i]["CONTROL_TASK_TYPE"] + "'," + FTASKLEVEL + ",'"
+ 0 + "','" + dvIOC[i]["START_WAREHOUSE_CODE"] + "','" + FSTARTCELL + "','"
+ FSTARTDEVICE + "','" + dvIOC[i]["END_WAREHOUSE_CODE"] + "','" + FENDCELL + "','" + FENDDEVICE + "','"+ typeStatus + "','" + Convert.ToDateTime(dvIOC[i]["CONTROL_BEGIN_TIME"]).ToString("yyyy-MM-dd HH:mm:ss") + "','"
+ dvIOC[i]["CONTROL_END_TIME"] + "','" + 0 + "',''," + flaneway + "," +
stackno + ",'" + UseAwayFork + "'," + FStartCol + "," + FStartLayer + "," + FEndCol + "," + FEndLayer + "," + Convert.ToInt32(dvIOC[i]["BOX_QUANTITY"]) + "," + Convert.ToInt32(dvIOC[i]["UNPACK_QUANTITY"]) + ")";//20110318
int rc = dbo.ExecuteSql(sql);
if (rc == 0) return "-";
else
{
if (UseAwayFork == "1")
{
UseAwayFork = "0";
}
else if (UseAwayFork == "0")
{
UseAwayFork = "1";
}
//20101011
dboM.ExecuteSql("update IO_CONTROL set CONTROL_STATUS=" + Model.CGeneralFunction.TASKCONTROLREADED + " where CONTROL_ID=" + dvIOC[i]["CONTROL_ID"]);
// CommonClassLib.CCarryConvert.WriteDarkCasket("CObtainTask", "<22><><EFBFBD><EFBFBD>CNTROL<4F><4C><EFBFBD><EFBFBD>ID" + dvIOC[i]["CONTROL_ID"],"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ID"+, (dt2 - dt1).ToString());
return UseAwayFork;
}
}
/// <summary>
/// <20><><EFBFBD>ع<EFBFBD><D8B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>CONTROL_ID
/// </summary>
/// <param name="fid"></param>
/// <returns></returns>
static int GetDouleForkFID(int fid)
{//CONTORL_BATCH LOGIC_AREA END_DEVICE_CODE START_DEVICE_CODE
DataView dv = dboM.ExceSQL("select * from IO_CONTROL where CONTROL_ID="+fid).Tables[0].DefaultView;
if (dv.Count > 0)
{
int minFid = -1; double minX = -1;
char[] cc=new char[1]{'-'};
DataView dv0 = dboM.ExceSQL("select * from IO_CONTROL where CONTROL_STATUS=0 and CONTORL_BATCH='" +
dv[0]["CONTORL_BATCH"] + "' and LOGIC_AREA='" + dv[0]["LOGIC_AREA"] + "' and END_DEVICE_CODE='" +
dv[0]["END_DEVICE_CODE"] + "' and START_WAREHOUSE_CODE='" + dv[0]["START_WAREHOUSE_CODE"] + "'").Tables[0].DefaultView;
if (dv[0]["START_DEVICE_CODE"].ToString().IndexOf("-") < 0) return -1;
string[] sp1=dv[0]["START_DEVICE_CODE"].ToString().Split(cc),sp2;
for (int i = 0; i < dv0.Count; i++)
{//START_DEVICE_CODE z-x-y
if (dv0[0]["START_DEVICE_CODE"].ToString().IndexOf("-") < 0) continue ;
if (EqualCellDoubleFork(dv[0]["START_DEVICE_CODE"].ToString(), dv0[0]["START_DEVICE_CODE"].ToString(), dv[0]["START_WAREHOUSE_CODE"].ToString()) == false )
{//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>ԭ<EFBFBD><D4AD>
continue;
}
if (InSameLaneWay(dv[0]["START_DEVICE_CODE"].ToString(), dv0[0]["START_DEVICE_CODE"].ToString(), dv[0]["START_WAREHOUSE_CODE"].ToString()) == false)
{//<2F><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
continue;
}
sp2=dv0[0]["START_DEVICE_CODE"].ToString().Split(cc);
//1<><31><EFBFBD><EFBFBD><EFBFBD>ȿ<EFBFBD><C8BF>ǣ<EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD><5A><EFBFBD><EFBFBD>X<EFBFBD><58><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5>1<EFBFBD><31><EFBFBD><EFBFBD>ͬY<CDAC><59><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
if ((sp1[2] == sp2[2])&&(Math.Abs(int.Parse(sp2[1])-int.Parse(sp1[1]))==1))
{
return int.Parse(dv0[i]["CONTROL_ID"].ToString());
}
//2<><32><EFBFBD><EFBFBD><EFBFBD>Σ<EFBFBD>ͬһ<CDAC><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Z<EFBFBD><5A>X<EFBFBD><58>ֵƽ<D6B5><C6BD>+Y<><59>ֵƽ<D6B5><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>ԭ<EFBFBD><D4AD><EFBFBD><EFBFBD>
if (minX > (Math.Pow(Math.Abs(int.Parse(sp2[1]) - int.Parse(sp1[1])), 2) + Math.Pow(Math.Abs(int.Parse(sp2[2]) - int.Parse(sp1[2])), 2)))
{
minX = Math.Pow(Convert.ToDouble(Math.Abs(decimal.Parse(sp2[1]) - decimal.Parse(sp1[1]))), 2) + Math.Pow(Convert.ToDouble(Math.Abs(decimal.Parse(sp2[2]) - decimal.Parse(sp1[2]))), 2);
minFid = int.Parse(dv0[i]["CONTROL_ID"].ToString());
}
}
return minFid;
}
else
{
return -1;
}
}
/// <summary>
/// <20>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB>ԭ<EFBFBD><D4AD>
/// </summary>
/// <param name="Zxy"><3E><>λ1</param>
/// <param name="Zxy1"><3E><>λ2</param>
/// <param name="warehouse"><3E>ⷿλ<E2B7BF><CEBB></param>
/// <returns></returns>
static bool EqualCellDoubleFork(string Zxy,string Zxy1,string warehouse)
{
char[] cc = new char[1] { '-'};
string[] sp = Zxy.Split(cc);
string[] sp1 = Zxy1.Split(cc);
char DoubleFork = '0', DoubleFork1 = '0';
int z = int.Parse(sp[0]), x = int.Parse(sp[1]), y = int.Parse(sp[2]), z1 = int.Parse(sp1[0]), x1 = int.Parse(sp1[1]), y1 = int.Parse(sp1[2]);
object ob,ob1;
try
{
//<2F><><EFBFBD>Ǽ<EFBFBD><C7BC>޻<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>޻<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>ǰ<EFBFBD><C7B0><EFBFBD>޻<EFBFBD>λ<EFBFBD><CEBB>
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>Ǻ<EFBFBD><C7BA><EFBFBD><EFBFBD>޻<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>Ǻ<EFBFBD><C7BA><EFBFBD><EFBFBD>޻<EFBFBD>λ
ob = dbo.GetSingle("SELECT FLaneWay FROM ST_CELL WHERE FCELLCODE = '"+Zxy+"'");
#region <EFBFBD><EFBFBD><EFBFBD>Ǽ<EFBFBD><EFBFBD>޻<EFBFBD>λ
ob1 = dbo.GetSingle("SELECT F_LaneDeviceIndex FROM T_Base_LaneInfo where (F_LaneDeviceIndex =" + ob + ") and (F_ForwardLimitX=" + x + ") and (F_ForwardLimitX=" + x1 + ")");
if (ob1 != null)
{
return false;
}
ob1 = dbo.GetSingle("SELECT F_LaneDeviceIndex FROM T_Base_LaneInfo where (F_LaneDeviceIndex =" + ob + ") and (F_BackLimitX=" + x + ") and (F_BackLimitX=" + x1 + ")");
if (ob1 != null)
{
return false;
}
#endregion
DoubleFork =char.Parse( Model.CGeneralFunction.GetDoubleForkFromST_CELL(z,x,y,warehouse).ToString());
if ((z == 0) && (x == 0) && (y == 0))
{
return false;
}
else
{
DoubleFork1 =char.Parse( Model.CGeneralFunction.GetDoubleForkFromST_CELL(z1, x1, y1, warehouse).ToString());
//0,1,-
if (x>=x1)
{
if (DoubleFork == '1')
{
if (DoubleFork1 != '1') return true;
else
{
return false;
}
}
else if (DoubleFork=='0')
{
return false;
}
else //'-'
{
if (DoubleFork1 == '1') return false;
else
{
return true;
}
}
}
else//x1>x
{
if (DoubleFork1 == '1')
{
if (DoubleFork != '1') return true;
else
{
return false;
}
}
else if (DoubleFork1 == '0')
{
return false;
}
else //'-'
{
if (DoubleFork == '1') return false;
else
{
return true;
}
}
}
}
}
catch (Exception ex)
{
throw ex;
}
finally
{
ob = null;
ob1 = null;
cc=null;
sp = null;
sp1 = null;
}
}
static bool InSameLaneWay(string Zxy, string Zxy1, string warehouse)
{
DataView dv = dbo.ExceSQL("SELECT FLaneWay FROM ST_CELL WHERE (FCELLCODE = '" + Zxy + "') and FWAREHOUSE='"+warehouse+"'").Tables[0].DefaultView;
if (dv.Count > 0)
{
DataView dv1 = dbo.ExceSQL("SELECT FLaneWay FROM ST_CELL WHERE (FCELLCODE = '" + Zxy1 + "') and FWAREHOUSE='" + warehouse + "'").Tables[0].DefaultView;
if (dv1.Count > 0)
{
if (dv[0]["FLaneWay"].ToString() == dv1[0]["FLaneWay"].ToString())
{
return true;
}
else
{
return false;
}
}
else
{
return false;
}
}
else
{
return false;
}
}
/// <summary>
/// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
/// </summary>
/// <param name="enddevice"></param>
/// <returns></returns>
static int ManageCountControl(string enddevice)
{
int count = 0;
int device = 0;
if (!int.TryParse(enddevice, out device))
{
count = 100;
return count;
}
DataView dv= dbo.ExceSQL("select * from t_base_device_taskcontrol where device_id =" + Convert.ToInt64(enddevice)).Tables[0].DefaultView;
if (dv.Count > 0)
{
count = Convert.ToInt32(dv[0]["manage_max"]);
}
else
{
count = 100;
}
return count;
}
}
}