1707 lines
96 KiB
C#
1707 lines
96 KiB
C#
|
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;
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|