1370 lines
70 KiB
C#
1370 lines
70 KiB
C#
|
using RGD.Common;
|
|||
|
using RGD.DataService;
|
|||
|
using RGD.DBUtility;
|
|||
|
using RGD.Model;
|
|||
|
using RGD.OPCClient;
|
|||
|
using RGD.ZhiQianAPI;
|
|||
|
using RGD.ZhiQianAPI.ZhiQianModel;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Data;
|
|||
|
using System.Text;
|
|||
|
|
|||
|
namespace RGD.WCS
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// Creator:RGD
|
|||
|
/// <20><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
public class CControl
|
|||
|
{
|
|||
|
private Object thisLock = new Object();
|
|||
|
private Model.MError errs;
|
|||
|
private Model.MDevice devinfo;
|
|||
|
private ISendDeviceOrder sdo;
|
|||
|
private StringBuilder AheadDetectUnallow = new StringBuilder();
|
|||
|
private CCommonFunction ccf = new CCommonFunction();
|
|||
|
private int _DeviceIdx = 0;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
private int _routeID = 0;//·<><C2B7>Ψһ<CEA8><D2BB><EFBFBD><EFBFBD>
|
|||
|
private int _serialNumber = 0;//·<><C2B7><EFBFBD>ϵ<EFBFBD><CFB5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private int _ManageTaskIdx = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private int _ManageKindIdx = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
private int _DeviceOrder = 0;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
private int _LockedState = 0;
|
|||
|
private int _Associate = 0;
|
|||
|
private int _ManTaskReserve = 0;
|
|||
|
private string _AheadDetect = "";
|
|||
|
private int _NumParam1 = 0;
|
|||
|
private int _NumParam2 = 0;
|
|||
|
private int _NumParam3 = 0;
|
|||
|
private int _NumParam4 = 0;
|
|||
|
private int _NumParam5 = 0;
|
|||
|
private int _NumParam6 = 0;
|
|||
|
private string _TxtParam = "-";
|
|||
|
private int _DeviceKind = 0;
|
|||
|
private int _OutsideAltDevice = 0;
|
|||
|
private int _InsideAltDevice = 0;
|
|||
|
private int _StartDevice = 0;
|
|||
|
private int _EndDevice = 0;
|
|||
|
private int _RouteKind = 0;
|
|||
|
private int _CorrelDoubleFork = -1;
|
|||
|
private int _AgvNo = 65535;
|
|||
|
private string _CControlError = "";//<2F><><EFBFBD>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>
|
|||
|
private string _PickUpLocation = "0";
|
|||
|
|
|||
|
|
|||
|
public string CControlError
|
|||
|
{
|
|||
|
get { return _CControlError; }
|
|||
|
set { _CControlError = value; }
|
|||
|
}
|
|||
|
|
|||
|
public CControl()
|
|||
|
{
|
|||
|
}
|
|||
|
public void StartOrder()
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ġ<F1B5A5B5><C4A1><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʣ<EFBFBD><CAA3><EFBFBD>еĵ<D0B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ռ<EFBFBD>ã<EFBFBD><C3A3><EFBFBD>ռ<EFBFBD><D5BC><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//Ȼ<><C8BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD>豸<EFBFBD><E8B1B8>F_AheadDetect<63><74><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>㣬<EFBFBD><E3A3AC>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼִ<CABC><D6B4>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>еĹ<D0B5><C4B9><EFBFBD><EFBFBD>豸F_AssociateDeviceIndex,<><D7BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8>ָ<EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>¼<EFBFBD><C2BC>״̬F_StatusΪ1,<2C><><EFBFBD><EFBFBD><EFBFBD>豸Ϊռ<CEAA><D5BC>״̬<D7B4><CCAC>T_Base_device<63><65>F_LockedState=<3D>豸ָ<E8B1B8><EFBFBD><EEB5A5>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IO_Control<6F><6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>״̬FSTATUS=1;T_Manage_Task<73><6B><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>״̬FSTATUS=1
|
|||
|
//·<><C2B7><EFBFBD><EFBFBD>ϸ<EFBFBD><CFB8>F_LockedDeviceIndex<65><78><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>Ӧ<EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǹ<EFBFBD><C7B9><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DataView taskDetail = DbHelperSQL.Query("select * from t_warehouse").Tables[0].DefaultView;
|
|||
|
string task_type = taskDetail[0]["F_TASK_TYPE"].ToString();
|
|||
|
string taskkind = " (F_ManageTaskKindIndex = 1 or F_ManageTaskKindIndex = 2 or F_ManageTaskKindIndex = 4) "; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
string strsql = "SELECT DISTINCT F_ManageTaskIndex AS MIndex,F_MonitorTaskLevel,F_ManageTaskKindIndex FROM T_Monitor_Task where " +
|
|||
|
taskkind + " order by F_ManageTaskKindIndex desc, F_MonitorTaskLevel desc, F_ManageTaskIndex asc";
|
|||
|
DataView dvM = new DataView();
|
|||
|
string strM = "";
|
|||
|
if (task_type != "Inventory")
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
char[] sep = new char[1] { '-' };
|
|||
|
string taskType = string.Empty;
|
|||
|
string aa = DateTime.Now.Second.ToString() + "-" + DateTime.Now.Millisecond.ToString();
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ǰ,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD><C9B5><EFBFBD><EFBFBD>г<EFBFBD><D0B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><C8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>AGV,<2C>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<D2AA><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ֱ<><D6B1><EFBFBD>γ<EFBFBD><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//DataView allouttask = DbHelperSQL.Query("select * from T_Monitor_Task,T_Manage_Task where T_Monitor_Task.F_DeviceCommandIndex='4'and f_status='0' and T_Monitor_Task.F_ManageTaskIndex=T_Manage_Task.fid and T_Manage_Task.FCONTROLTASKTYPE='2'").Tables[0].DefaultView;
|
|||
|
DataView outTaskCount = DbHelperSQL.Query("select * from t_manage_task where FCONTROLTASKTYPE=2 and FIntoStepOK='1' and fstatus=0").Tables[0].DefaultView;
|
|||
|
if (outTaskCount.Count != 0)
|
|||
|
{
|
|||
|
for (int a = 0; a < outTaskCount.Count; a++)
|
|||
|
{
|
|||
|
List<BoxList> boxLists = new List<BoxList>();
|
|||
|
if (a % 5 == 0 || a == 0)
|
|||
|
{
|
|||
|
CreateOrder createOrder = new CreateOrder();
|
|||
|
createOrder.zoneid = 0;
|
|||
|
createOrder.poolid = 1;
|
|||
|
createOrder.orderno = DateTime.Now.ToString("yyyyMMddHHmmssfff");
|
|||
|
if ( a==outTaskCount.Count-1)
|
|||
|
{
|
|||
|
createOrder.appendflag = false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
createOrder.appendflag = true;
|
|||
|
}
|
|||
|
|
|||
|
BoxList boxList = new BoxList();
|
|||
|
boxList.src = outTaskCount[a]["FSTARTCELL"].ToString();
|
|||
|
boxList.dst = "12004";
|
|||
|
boxList.box = outTaskCount[a]["FPALLETBARCODE"].ToString();
|
|||
|
boxList.rgsTaskId = int.Parse(outTaskCount[a]["FID"].ToString());
|
|||
|
boxLists.Add(boxList);
|
|||
|
createOrder.boxlist = boxLists;
|
|||
|
if (boxLists.Count != 0)
|
|||
|
{
|
|||
|
CreateOrderResponse createOrderResponse = SendDataToAgv.SendOutOrInvTasksToAgv(createOrder);
|
|||
|
|
|||
|
if (createOrderResponse.code == "0")
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>ͳɹ<CDB3><C9B9><EFBFBD>,<2C><><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊִ<CEAA><D6B4><EFBFBD><EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update t_manage_task set FStatus = '1' where fid="+ outTaskCount[a]["FID"]);
|
|||
|
DbHelperSQL.ExecuteSql("update t_monitor_task set F_Status = '2' where f_status=0 and F_DeviceCommandIndex='4' and F_ManageTaskIndex="+ outTaskCount[a]["FID"]);
|
|||
|
FrmMain.taskId = createOrderResponse.result.taskid;
|
|||
|
//FrmMain.taskId = 1560;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
AppendOrder appendOrder = new AppendOrder();
|
|||
|
appendOrder.taskid = FrmMain.taskId;
|
|||
|
List<BoxList> list = new List<BoxList>();
|
|||
|
BoxList boxList = new BoxList();
|
|||
|
boxList.src = outTaskCount[a]["FSTARTCELL"].ToString();
|
|||
|
boxList.dst = "12004";
|
|||
|
boxList.box = outTaskCount[a]["FPALLETBARCODE"].ToString();
|
|||
|
boxList.rgsTaskId = int.Parse(outTaskCount[a]["FID"].ToString());
|
|||
|
list.Add(boxList);
|
|||
|
appendOrder.boxlist = list;
|
|||
|
AppendCompleteCancelResponse appendResponse = SendDataToAgv.SendSuperaddTaskToAgv(appendOrder);
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
|
|||
|
DbHelperSQL.ExecuteSql("update t_manage_task set FStatus = '2' where fid=" + outTaskCount[a]["FID"]);
|
|||
|
DbHelperSQL.ExecuteSql("update t_monitor_task set F_Status=2 where F_DeviceCommandIndex=4 and F_ManageTaskIndex=" + Convert.ToInt32(outTaskCount[0]["FID"]));
|
|||
|
if(a== outTaskCount.Count-1 ||a%5==0)
|
|||
|
{
|
|||
|
CompleteOrder completeOrder = new CompleteOrder();
|
|||
|
completeOrder.taskid = FrmMain.taskId;
|
|||
|
AppendCompleteCancelResponse completeResponse = SendDataToAgv.SendStopAppendTaskToAgv(completeOrder);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
DataView dv = DbHelperSQL.Query(strsql).Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
for (int i = 0; i < dv.Count; i++)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//1<><31><EFBFBD><EFBFBD>ȡÿ<C8A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĵ<DDB5>һ<EFBFBD><D2BB><EFBFBD>豸ָ<E8B1B8><D6B8>
|
|||
|
strM = "select top 1 min(F_MonitorIndex) as minMidx,f_status from T_Monitor_Task where " + taskkind + " and F_ManageTaskIndex = " + dv[i]["MIndex"] + " GROUP BY F_MonitorIndex, F_Status";
|
|||
|
dvM = DbHelperSQL.Query(strM).Tables[0].DefaultView;
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (dvM.Count > 0 && dvM[0]["minMidx"] != DBNull.Value)
|
|||
|
{
|
|||
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>dz<EFBFBD><C7B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DataView InOut = DbHelperSQL.Query("select * from t_manage_task where fid='" + dv[i]["MIndex"] + "'").Tables[0].DefaultView;
|
|||
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7>漰AGV,<2C><><EFBFBD>漰,ֻ<><D6BB><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>AGV<47>ϱ<EFBFBD><CFB1>ӿں<D3BF><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DataView isAgv = DbHelperSQL.Query("select * from t_monitor_task,t_manage_task where t_manage_task.fid=t_monitor_task.F_ManageTaskIndex and t_monitor_task.f_monitorindex='" + dvM[0]["minMidx"] + "' and F_Status = '0' and F_DeviceCommandIndex='4'").Tables[0].DefaultView;
|
|||
|
if (isAgv.Count != 0)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (InOut[0]["FCONTROLTASKTYPE"].ToString() == "1")
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7>Ǵ<EFBFBD>ִ<EFBFBD>еĵ<D0B5>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>·<EFBFBD><C2B7>˵<EFBFBD><CBB5>ӿ<EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CAB9><EFBFBD>ӽӿ<D3BD>
|
|||
|
//<2F><>agv<67><76><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,<2C><>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҲӦ<D2B2><D3A6><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D7B7>,<2C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>жϴ<D0B6>ʱ<EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD>Ƿ<C7B7><F1BBB9B4><EFBFBD>agvȡ<76><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>β<EFBFBD><CEB2>,<2C><>Ҫ<EFBFBD><D2AA><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>***<2A>ֶ<EFBFBD><D6B6><EFBFBD><EFBFBD>ж<EFBFBD>,***<2A>ֶ<EFBFBD><D6B6><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD>صĽӿڽ<D3BF><DABD><EFBFBD>,<2C><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵĵ<C9B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//DataView isFirstManageTask = DbHelperSQL.Query("select * from t_manage_task where FCONTROLTASKTYPE=1 and FIntoStepOK='1'").Tables[0].DefaultView;
|
|||
|
DataView haveSendTask = DbHelperSQL.Query("select * from t_monitor_task where F_DeviceCommandIndex=5 and F_Status=0").Tables[0].DefaultView;
|
|||
|
DataView haveTakeTask = DbHelperSQL.Query("select * from t_monitor_task where F_DeviceCommandIndex=4 and F_Status=0").Tables[0].DefaultView;
|
|||
|
DataView monitorTask = DbHelperSQL.Query("select * from t_monitor_task").Tables[0].DefaultView;
|
|||
|
|
|||
|
//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD>ӵ<EFBFBD><D3B5>̻<EFBFBD><CCBB><EFBFBD>
|
|||
|
if (FrmMain.taskCount %5==0|| haveTakeTask.Count==0)//<2F><>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><F1B5ABB6><EFBFBD><EFBFBD>ͻ<EFBFBD>;<EFBFBD><CDBE>,ֻ<><D6BB><EFBFBD>ڵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
CreateOrder createFirstOrder = new CreateOrder();
|
|||
|
createFirstOrder.zoneid = 0;
|
|||
|
createFirstOrder.poolid = 1;
|
|||
|
createFirstOrder.orderno = DateTime.Now.ToString("yyyyMMddHHmmssfff");
|
|||
|
|
|||
|
//createFirstOrder.appendflag = false;//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false
|
|||
|
createFirstOrder.appendflag = true;
|
|||
|
DataView RFIDCount = DbHelperSQL.Query("select * from T_InTask_QTY").Tables[0].DefaultView;
|
|||
|
if (RFIDCount.Count > 0)
|
|||
|
{
|
|||
|
int number = int.Parse(RFIDCount[0]["count"].ToString());
|
|||
|
if (number == 0)
|
|||
|
{createFirstOrder.appendflag = false;
|
|||
|
}
|
|||
|
}
|
|||
|
List<BoxList> list = new List<BoxList>();
|
|||
|
BoxList boxList = new BoxList();
|
|||
|
boxList.src = "12004";
|
|||
|
boxList.dst = InOut[0]["FENDCELL"].ToString();
|
|||
|
boxList.box = InOut[0]["FPALLETBARCODE"].ToString();
|
|||
|
boxList.rgsTaskId = int.Parse(InOut[0]["FID"].ToString());
|
|||
|
list.Add(boxList);
|
|||
|
createFirstOrder.boxlist = list;
|
|||
|
CreateOrderResponse createResponse = SendDataToAgv.SendFirstInTaskToAgv(createFirstOrder);
|
|||
|
FrmMain.taskId = createResponse.result.taskid;
|
|||
|
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
|
|||
|
DbHelperSQL.ExecuteSql("update t_monitor_task set F_Status=2 where F_DeviceCommandIndex=4 and F_ManageTaskIndex=" + Convert.ToInt32(InOut[0]["FID"]));
|
|||
|
|
|||
|
}
|
|||
|
else//<2F><><EFBFBD>ǵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,ʹ<><CAB9><EFBFBD>ӽӿ<D3BD>
|
|||
|
{
|
|||
|
AppendOrder appendOrder = new AppendOrder();
|
|||
|
appendOrder.taskid = FrmMain.taskId ;
|
|||
|
List<BoxList> list = new List<BoxList>();
|
|||
|
BoxList boxList = new BoxList();
|
|||
|
boxList.src = "12004";
|
|||
|
boxList.dst = InOut[0]["FENDCELL"].ToString();
|
|||
|
boxList.box = InOut[0]["FPALLETBARCODE"].ToString();
|
|||
|
boxList.rgsTaskId = int.Parse(InOut[0]["FID"].ToString());
|
|||
|
list.Add(boxList);
|
|||
|
appendOrder.boxlist = list;
|
|||
|
AppendCompleteCancelResponse appendResponse = SendDataToAgv.SendSuperaddTaskToAgv(appendOrder);
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
|
|||
|
DbHelperSQL.ExecuteSql("update t_monitor_task set F_Status=2 where F_DeviceCommandIndex=4 and F_ManageTaskIndex=" + Convert.ToInt32(InOut[0]["FID"]));
|
|||
|
//<><D7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD>β<EFBFBD><CEB2>,<2C><><EFBFBD><EFBFBD>β<EFBFBD><CEB2>,<2C><><EFBFBD>ý<EFBFBD><C3BD><EFBFBD><EFBFBD>ӽӿ<D3BD>
|
|||
|
DataView RFIDCount = DbHelperSQL.Query("select * from T_InTask_QTY").Tables[0].DefaultView;
|
|||
|
if (RFIDCount.Count > 0)
|
|||
|
{
|
|||
|
int number = int.Parse(RFIDCount[0]["count"].ToString());
|
|||
|
if (number==0)
|
|||
|
{
|
|||
|
CompleteOrder completeOrder = new CompleteOrder();
|
|||
|
completeOrder.taskid = FrmMain.taskId;
|
|||
|
AppendCompleteCancelResponse completeResponse = SendDataToAgv.SendStopAppendTaskToAgv(completeOrder);
|
|||
|
}
|
|||
|
}else if (InOut[0]["LAST_BOX_REMARK"].ToString() == "1")
|
|||
|
{
|
|||
|
|
|||
|
CompleteOrder completeOrder = new CompleteOrder();
|
|||
|
completeOrder.taskid = FrmMain.taskId;
|
|||
|
AppendCompleteCancelResponse completeResponse = SendDataToAgv.SendStopAppendTaskToAgv(completeOrder);
|
|||
|
}
|
|||
|
}
|
|||
|
FrmMain.taskCount += 1;
|
|||
|
if (FrmMain.taskCount % 5 == 0)
|
|||
|
{
|
|||
|
CompleteOrder completeOrder = new CompleteOrder();
|
|||
|
completeOrder.taskid = FrmMain.taskId;
|
|||
|
AppendCompleteCancelResponse completeResponse = SendDataToAgv.SendStopAppendTaskToAgv(completeOrder);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
if (dvM[0]["F_Status"].ToString() == "0")
|
|||
|
{
|
|||
|
SendMonitorTask(Convert.ToInt32(dvM[0]["minMidx"]));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
continue;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
continue;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_CControlError = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message;
|
|||
|
}
|
|||
|
}//for<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
dv = null;
|
|||
|
dvM = null;
|
|||
|
return;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
dv = null;
|
|||
|
dvM = null;
|
|||
|
//_CControlError = "û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD>";
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf(_CControlError) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", _CControlError, true);
|
|||
|
}
|
|||
|
if (string.IsNullOrEmpty(task_type))
|
|||
|
{
|
|||
|
FrmMain.taskCount = 0;
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//1.һ<><D2BB><EFBFBD>̿<EFBFBD><CCBF>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ɳ<EFBFBD><C9B3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɵ<EFBFBD>
|
|||
|
//2.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD><D6BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ʱ<EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD><EFBFBD>,<2C><><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><CCBF>˵<EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD>ݵ<EFBFBD><DDB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//3.<2E>̿<EFBFBD><CCBF>˵<EFBFBD>ÿ<EFBFBD><C3BF>Ӧ<EFBFBD><D3A6>ȡ2*agv<67><76><EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//4.ÿ<><C3BF><EFBFBD>̿<EFBFBD><CCBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֻ<EFBFBD>跢<EFBFBD><E8B7A2>һ<EFBFBD><D2BB>,<2C><>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><C2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//5.ÿ<><C3BF>ȡǰ<C8A1><C7B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>FID<49>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3><EFBFBD>ȥ<EFBFBD>·<EFBFBD><C2B7><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
DataView invGroupTask = DbHelperSQL.Query("select top 10 * from t_manage_task where FMANAGEID="+ taskDetail[0]["F_TASK_NO"].ToString()).Tables[0].DefaultView;
|
|||
|
|
|||
|
bool IsinvGroupTask = true;
|
|||
|
foreach (DataRowView row in invGroupTask)
|
|||
|
{
|
|||
|
// <20>жϸ<D0B6> FID <20>Ƿ<EFBFBD><C7B7><EFBFBD> lastBatchFids <20>г<EFBFBD><D0B3>ֹ<EFBFBD>
|
|||
|
if (CControl_Model.lastBatchFids.Contains(row["FID"].ToString()))
|
|||
|
{
|
|||
|
IsinvGroupTask = false;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
if (IsinvGroupTask && invGroupTask.Count>0)
|
|||
|
{
|
|||
|
CControl_Model.lastBatchFids.Clear();
|
|||
|
CreateOrder invCreateOrder = new CreateOrder();
|
|||
|
List<BoxList> invBoxLists = new List<BoxList>();
|
|||
|
invCreateOrder.zoneid = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD>ģʽ,<2C><><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
invCreateOrder.poolid = 1;
|
|||
|
invCreateOrder.orderno = DateTime.Now.ToString("yyyyMMddHHmmssfff");
|
|||
|
invCreateOrder.appendflag = false;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鲻<EFBFBD><E9B2BB><EFBFBD><D7B7>
|
|||
|
for (int i = 0; i < invGroupTask.Count; i++)
|
|||
|
{
|
|||
|
CControl_Model.lastBatchFids.Add(invGroupTask[i]["FID"].ToString());
|
|||
|
BoxList invBoxList = new BoxList();
|
|||
|
//ȡ<><C8A1>λ<EFBFBD>ͷŻ<CDB7>λȡ<CEBB><C8A1><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (invGroupTask[i]["FCONTROLTASKTYPE"].ToString() == "1")
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
invBoxList.src = "12004";
|
|||
|
invBoxList.dst = invGroupTask[i]["FENDCELL"].ToString();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
invBoxList.src = invGroupTask[i]["FSTARTCELL"].ToString();
|
|||
|
invBoxList.dst = "12004";
|
|||
|
}
|
|||
|
invBoxList.box = invGroupTask[i]["FPALLETBARCODE"].ToString();
|
|||
|
invBoxList.rgsTaskId = Convert.ToInt32(invGroupTask[i]["FID"].ToString());
|
|||
|
invBoxLists.Add(invBoxList);
|
|||
|
}
|
|||
|
invCreateOrder.boxlist = invBoxLists;
|
|||
|
CreateOrderResponse invCreateOrderResponse = SendDataToAgv.SendOutOrInvTasksToAgv(invCreateOrder);
|
|||
|
}
|
|||
|
|
|||
|
DataView dv = DbHelperSQL.Query(strsql).Tables[0].DefaultView;
|
|||
|
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
for (int i = 0; i < dv.Count; i++)
|
|||
|
{
|
|||
|
try
|
|||
|
{
|
|||
|
//1<><31><EFBFBD><EFBFBD>ȡÿ<C8A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĵ<DDB5>һ<EFBFBD><D2BB><EFBFBD>豸ָ<E8B1B8><D6B8>
|
|||
|
strM = "select top 1 min(F_MonitorIndex) as minMidx,f_status from T_Monitor_Task where " + taskkind + " and F_ManageTaskIndex = " + dv[i]["MIndex"] + " GROUP BY F_MonitorIndex, F_Status";
|
|||
|
dvM = DbHelperSQL.Query(strM).Tables[0].DefaultView;
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (dvM.Count > 0 && dvM[0]["minMidx"] != DBNull.Value)
|
|||
|
{
|
|||
|
////<2F>̿<EFBFBD>ʱagv<67><76><EFBFBD><EFBFBD>ֱ<EFBFBD>Ӻ<EFBFBD><D3BA><EFBFBD>,ֻ<>ж<EFBFBD><D0B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//if (dvM[0]["F_DeviceIndex"].ToString() == "11001")
|
|||
|
//{
|
|||
|
// continue;
|
|||
|
//}
|
|||
|
if (dvM[0]["F_Status"].ToString() == "0")
|
|||
|
{
|
|||
|
SendMonitorTask(Convert.ToInt32(dvM[0]["minMidx"]));
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
continue;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
continue;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
_CControlError = "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + ex.Message;
|
|||
|
}
|
|||
|
}//for<6F><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//_CControlError = "û<><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD>";
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf(_CControlError) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", _CControlError, true);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
strM = null;
|
|||
|
dvM = null;
|
|||
|
if (string.IsNullOrEmpty(task_type))
|
|||
|
{
|
|||
|
FrmMain.taskCount = 0;
|
|||
|
}
|
|||
|
return;
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡÿ<C8A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĵ<DDB5>һ<EFBFBD><D2BB><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,true<75><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false<73><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="minMidx"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns>true<75><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>false<73><65>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD></returns>
|
|||
|
public bool GetFirstDeviceIFLocked(int minMidx, bool checkLockedstate)
|
|||
|
{
|
|||
|
char[] sep = new char[1] { '-' };
|
|||
|
int msgIdx = 0;//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
int adidx = 0;//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
try
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>Ϣ
|
|||
|
if (GetSendInfo(minMidx) == false) { return true; }
|
|||
|
|
|||
|
int DeviceIdx = _DeviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
int routeID = _routeID;//·<><C2B7>Ψһ<CEA8><D2BB><EFBFBD><EFBFBD>
|
|||
|
int serialNumber = _serialNumber;//·<><C2B7><EFBFBD>ϵ<EFBFBD><CFB5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int ManageTaskIdx = _ManageTaskIdx;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int ManageKindIdx = _ManageKindIdx;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
int DeviceOrder = _DeviceOrder;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
int LockedState = _LockedState;
|
|||
|
int Associate = _Associate;
|
|||
|
int ManTaskReserve = _ManTaskReserve;
|
|||
|
string AheadDetect = _AheadDetect;
|
|||
|
int NumParam1 = _NumParam1;
|
|||
|
int NumParam2 = _NumParam2;
|
|||
|
int NumParam3 = _NumParam3;
|
|||
|
int NumParam4 = _NumParam4;
|
|||
|
int NumParam5 = _NumParam5;
|
|||
|
int NumParam6 = _NumParam6;
|
|||
|
string TxtParam = _TxtParam;
|
|||
|
int DeviceKind = _DeviceKind;
|
|||
|
int OutsideAltDevice = _OutsideAltDevice;
|
|||
|
int InsideAltDevice = _InsideAltDevice;
|
|||
|
int StartDevice = _StartDevice;
|
|||
|
int EndDevice = _EndDevice;
|
|||
|
int RouteKind = _RouteKind;
|
|||
|
int AgvNo = _AgvNo;
|
|||
|
|
|||
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>ռ<EFBFBD>ã<EFBFBD>RGV<47>ͶѶ<CDB6><D1B6><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>Ƿֲ<C7B7><D6B2><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ûִ<C3BB><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µĵ<C2B5><C4B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (((_LockedState == 0) && (checkLockedstate == true)) || (checkLockedstate == false))
|
|||
|
{
|
|||
|
#region <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼF_ManTaskReserve<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD>INDEX<EFBFBD><EFBFBD>ͬ
|
|||
|
|
|||
|
if (_ManTaskReserve > 0 && (_ManTaskReserve.ToString() != _ManageKindIdx.ToString() + _ManageTaskIdx.ToString()))
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ԤԼF_ManTaskReserve<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͡<EFBFBD>INDEX<EFBFBD><EFBFBD>ͬ
|
|||
|
|
|||
|
//3<><33>F_AheadDetect<63><74><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>顰;<3B><>)
|
|||
|
if (AheadDetectOK(minMidx, _AheadDetect) == true)//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>еĹ<D0B5><C4B9><EFBFBD><EFBFBD>豸F_AssociateDeviceIndex
|
|||
|
//4<><34><EFBFBD>Ƿ<EFBFBD><C7B7>й<EFBFBD><D0B9><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>
|
|||
|
//AssociateDevice = ccf.GetAssociateDevice(minMidx);
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD><EFBFBD><EFBFBD>_Associate
|
|||
|
|
|||
|
if (_Associate != 0)
|
|||
|
{
|
|||
|
//5<><35><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD><D0A3>ҵ<EFBFBD><D2B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>еĹ<D0B5><C4B9><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>豸ָ<E8B1B8><D6B8>,<2C>ܷ<EFBFBD><DCB7><EFBFBD><EFBFBD>У<EFBFBD>
|
|||
|
//<2F>ظ<EFBFBD><D8B8>ݹ鵽2
|
|||
|
//split = AssociateDevice.Split(sep);
|
|||
|
adidx = _Associate;
|
|||
|
if (adidx != 0)
|
|||
|
{
|
|||
|
if (new MonitorTaskService().GetAssociateMonitor(minMidx) == 0)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22>豸ָ<E8B1B8>" + minMidx.ToString() + "<22><EFBFBD><DEB7><EFBFBD><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + adidx.ToString() + "<22><><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>") < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22>豸ָ<E8B1B8>" + minMidx.ToString() + "<22><EFBFBD><DEB7><EFBFBD><EFBFBD>ù<EFBFBD><C3B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" + adidx.ToString() + "<22><><EFBFBD><EFBFBD><EFBFBD>ܷ<EFBFBD><DCB7>ʹ<EFBFBD><CDB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", true);
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
if (GetFirstDeviceIFLocked(adidx, false) == false)
|
|||
|
{
|
|||
|
//6<><36><EFBFBD><EFBFBD><EFBFBD><EFBFBD><CDB9><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
//CStaticClass.MessageIndex++;
|
|||
|
CStaticClass.MessageIndex = 1;
|
|||
|
msgIdx = (CStaticClass.MessageIndex);
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(_DeviceIdx);
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD>Ϊ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD>豸
|
|||
|
bool sendok;
|
|||
|
int[] gc = new int[6] { _NumParam2, _NumParam3, _NumParam1, _NumParam5, _NumParam6, _NumParam4 }; //ccf.GetCoordinatesFromMonitorTask(adidx);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if ((_DeviceKind == 1) || (_DeviceKind == 6))
|
|||
|
{
|
|||
|
//1<><31><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34>RGV<47><56>6<EFBFBD><36>AGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>F_NeedOptimize='1'<27><>
|
|||
|
//ֱ<><D6B1>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task_Child<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (ccf.NeedOptimize(_DeviceIdx) == true)
|
|||
|
{
|
|||
|
ccf.InsertMonitorOptimizeChildTask(adidx);
|
|||
|
sendok = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, adidx, _DeviceOrder,
|
|||
|
_DeviceIdx, gc[0], gc[1], gc[2], gc[3], gc[4], gc[5]);
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, adidx, _DeviceOrder, _DeviceIdx, gc[5]);
|
|||
|
}
|
|||
|
if (sendok == false)
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//8<><38><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҵ<EFBFBD><D2B5>¼<EFBFBD><C2BC>״̬F_StatusΪ1,<2C><><EFBFBD><EFBFBD><EFBFBD>豸Ϊռ<CEAA><D5BC>״̬<D7B4><CCAC>T_Base_device<63><65>F_LockedState=<3D>豸ָ<E8B1B8><EFBFBD><EEB5A5>
|
|||
|
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_StartTime='" + DateTime.Now.ToString("u") + "',F_Status='1' where F_MonitorIndex=" + adidx);
|
|||
|
//dbo.ExceSQL("update T_Base_device set F_LockedState=" + adidx + " where F_DeviceIndex=" + _DeviceIdx);
|
|||
|
//<2F><><EFBFBD>ص<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>豸ֵ
|
|||
|
_DeviceIdx = DeviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
_routeID = routeID;//·<><C2B7>Ψһ<CEA8><D2BB><EFBFBD><EFBFBD>
|
|||
|
_serialNumber = serialNumber;//·<><C2B7><EFBFBD>ϵ<EFBFBD><CFB5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_ManageTaskIdx = ManageTaskIdx;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_ManageKindIdx = ManageKindIdx;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_DeviceOrder = DeviceOrder;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
_LockedState = LockedState;
|
|||
|
_Associate = Associate;
|
|||
|
_ManTaskReserve = ManTaskReserve;
|
|||
|
_AheadDetect = AheadDetect;
|
|||
|
_NumParam1 = NumParam1;
|
|||
|
_NumParam2 = NumParam2;
|
|||
|
_NumParam3 = NumParam3;
|
|||
|
_NumParam4 = NumParam4;
|
|||
|
_NumParam5 = NumParam5;
|
|||
|
_NumParam6 = NumParam6;
|
|||
|
_TxtParam = TxtParam;
|
|||
|
_DeviceKind = DeviceKind;
|
|||
|
_OutsideAltDevice = OutsideAltDevice;
|
|||
|
_InsideAltDevice = InsideAltDevice;
|
|||
|
_StartDevice = StartDevice;
|
|||
|
_EndDevice = EndDevice;
|
|||
|
_RouteKind = RouteKind;
|
|||
|
_AgvNo = AgvNo;
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
else//
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>ص<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>豸ֵ
|
|||
|
_DeviceIdx = DeviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
_routeID = routeID;//·<><C2B7>Ψһ<CEA8><D2BB><EFBFBD><EFBFBD>
|
|||
|
_serialNumber = serialNumber;//·<><C2B7><EFBFBD>ϵ<EFBFBD><CFB5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_ManageTaskIdx = ManageTaskIdx;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_ManageKindIdx = ManageKindIdx;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_DeviceOrder = DeviceOrder;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
_LockedState = LockedState;
|
|||
|
_Associate = Associate;
|
|||
|
_ManTaskReserve = ManTaskReserve;
|
|||
|
_AheadDetect = AheadDetect;
|
|||
|
_NumParam1 = NumParam1;
|
|||
|
_NumParam2 = NumParam2;
|
|||
|
_NumParam3 = NumParam3;
|
|||
|
_NumParam4 = NumParam4;
|
|||
|
_NumParam5 = NumParam5;
|
|||
|
_NumParam6 = NumParam6;
|
|||
|
_TxtParam = TxtParam;
|
|||
|
_DeviceKind = DeviceKind;
|
|||
|
_OutsideAltDevice = OutsideAltDevice;
|
|||
|
_InsideAltDevice = InsideAltDevice;
|
|||
|
_StartDevice = StartDevice;
|
|||
|
_EndDevice = EndDevice;
|
|||
|
_RouteKind = RouteKind;
|
|||
|
_CControlError = "<22><><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϸ·<CFB8><C2B7><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>豸ָ<E8B1B8>ƥ<EEB2BB>䣬ϵͳ<CFB5><CDB3>Ϊû<CEAA>й<EFBFBD><D0B9><EFBFBD><EFBFBD>豸ָ<E8B1B8><EFBFBD><EEB4A6><EFBFBD><EFBFBD>";
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD><EFBFBD><EFBFBD>_Associate
|
|||
|
else
|
|||
|
{
|
|||
|
//<2F><><EFBFBD>ص<EFBFBD>ԭ<EFBFBD><D4AD><EFBFBD>豸ֵ
|
|||
|
_DeviceIdx = DeviceIdx;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
_routeID = routeID;//·<><C2B7>Ψһ<CEA8><D2BB><EFBFBD><EFBFBD>
|
|||
|
_serialNumber = serialNumber;//·<><C2B7><EFBFBD>ϵ<EFBFBD><CFB5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_ManageTaskIdx = ManageTaskIdx;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_ManageKindIdx = ManageKindIdx;//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
_DeviceOrder = DeviceOrder;//<2F>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
_LockedState = LockedState;
|
|||
|
_Associate = Associate;
|
|||
|
_ManTaskReserve = ManTaskReserve;
|
|||
|
_AheadDetect = AheadDetect;
|
|||
|
_NumParam1 = NumParam1;
|
|||
|
_NumParam2 = NumParam2;
|
|||
|
_NumParam3 = NumParam3;
|
|||
|
_NumParam4 = NumParam4;
|
|||
|
_NumParam5 = NumParam5;
|
|||
|
_NumParam6 = NumParam6;
|
|||
|
_TxtParam = TxtParam;
|
|||
|
_DeviceKind = DeviceKind;
|
|||
|
_OutsideAltDevice = OutsideAltDevice;
|
|||
|
_InsideAltDevice = InsideAltDevice;
|
|||
|
_StartDevice = StartDevice;
|
|||
|
_EndDevice = EndDevice;
|
|||
|
_RouteKind = RouteKind;
|
|||
|
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4><EFBFBD>Ⱦ<EFBFBD><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="minMidx"><3E><><EFBFBD><EFBFBD>Ψһ<CEA8><D2BB><EFBFBD><EFBFBD></param>
|
|||
|
/// <returns><3E>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD>true<75><65>ʾ<EFBFBD>豸ִ<E8B1B8><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ⱦ<EFBFBD><C8BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></returns>
|
|||
|
public bool AheadDetectOK(int minMidx, string _AheadDetect)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD>ر<EFBFBD><D8B1><EFBFBD><EFBFBD>顰;<3B><>)
|
|||
|
DataView dvdv;
|
|||
|
DataTable dt;
|
|||
|
try
|
|||
|
{
|
|||
|
AheadDetectUnallow.Remove(0, AheadDetectUnallow.Length);//dzf
|
|||
|
int[] States;
|
|||
|
|
|||
|
int DeviceIdx = _DeviceIdx;
|
|||
|
int TaskIdx = minMidx;
|
|||
|
int fid = ccf.GetManageTaskIndexfromMonitor(TaskIdx);
|
|||
|
int mti = ccf.GetManageTaskKindIndexFromMonitor(TaskIdx);
|
|||
|
int DeviceKind = BaseDeviceService.GetDeviceKindIdx(DeviceIdx);//20100617
|
|||
|
//20100706
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
if (devinfo.CommType == "OPCClient")//20100706 ֻ<><D6BB>OPCClientͨѶ<CDA8><D1B6><EFBFBD>͵ļ<CDB5><C4BC><EFBFBD><EFBFBD>豸״̬
|
|||
|
{
|
|||
|
#region OPCͨѶ<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//gds = CommModeCreate.CreateGetDeviceState(DeviceIdx);
|
|||
|
try
|
|||
|
{
|
|||
|
//States = gds.GetDeviceState(DeviceIdx, TaskIdx);//1<><31><EFBFBD><EFBFBD>,2<><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,5<>豸<EFBFBD><E8B1B8>
|
|||
|
States = CStaticClass.GetDeviceState(DeviceIdx);
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><>ȡ״̬ʱ<CCAC><CAB1>" + ex.Message) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><>ȡ״̬ʱ<CCAC><CAB1>" + ex.Message, true);
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
if (States == null)//û<><C3BB><EFBFBD>յ<EFBFBD><D5B5>κη<CEBA><CEB7><EFBFBD>ֵ
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>û<EFBFBD>յ<EFBFBD>PLC<4C><43><EFBFBD>ݣ<EFBFBD>") < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>û<EFBFBD>յ<EFBFBD>PLC<4C><43><EFBFBD>ݣ<EFBFBD>", true);
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
if ((States[1] == 1) || (States[1] >= 30))//<2F><><EFBFBD>л<EFBFBD><D0BB>߹<EFBFBD><DFB9><EFBFBD>
|
|||
|
{
|
|||
|
if (States[1] >= 30)
|
|||
|
{
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(DeviceIdx);
|
|||
|
int ErrId = States[1];
|
|||
|
//20090910
|
|||
|
//<2F>й<EFBFBD><D0B9><EFBFBD>¼<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
string devstr = "SELECT F_DeviceIndex FROM T_Base_Device where F_DeviceIndex=" + DeviceIdx + " and F_ErrorTaskNo=" + TaskIdx + "";
|
|||
|
dt = DbHelperSQL.Query(devstr).Tables[0];
|
|||
|
if (dt.Rows.Count >= 1)
|
|||
|
{
|
|||
|
//dbo.ExceSQL("update T_Monitor_Task set F_Status= " + ErrId + " where (F_MonitorIndex= " + TaskIdx + ") and ((F_Status<> " + ErrId + ") and (F_Status<> 3))");
|
|||
|
return false;
|
|||
|
}
|
|||
|
//<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ִ<EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
DbHelperSQL.ExecuteSql("update T_Base_Device set F_ErrorTaskNo= " + TaskIdx + " where F_DeviceIndex= " + DeviceIdx);
|
|||
|
|
|||
|
if (CStaticClass.IsEquals(devinfo.ReturnMessage, States, 2) == true) return false;
|
|||
|
|
|||
|
errs = BaseDeviceService.GetErrorInfo(Convert.ToInt32(_DeviceKind.ToString() + States[1].ToString()));
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf("<22>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>" + DeviceIdx + "<22>й<EFBFBD><D0B9>ϣ<EFBFBD>" + errs.ErrorName) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", "<22>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>" + DeviceIdx + "<22>й<EFBFBD><D0B9>ϣ<EFBFBD>" + errs.ErrorName, true);
|
|||
|
}
|
|||
|
FrmMain.FormInstance.notifyIcon1.BalloonTipText = "<22><><EFBFBD><EFBFBD>:" + devinfo.DeviceName + "," + DeviceIdx + "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>" + errs.ErrorName;
|
|||
|
FrmMain.FormInstance.notifyIcon1.ShowBalloonTip(10000, "<22><><EFBFBD><EFBFBD>", devinfo.DeviceName + "," + DeviceIdx + "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD>" + errs.ErrorName, System.Windows.Forms.ToolTipIcon.Warning);
|
|||
|
if (mti == 1)
|
|||
|
{
|
|||
|
string sResult = string.Empty;
|
|||
|
//RGDWCSServices.WMS.uploadWhExceptionInfo ss = new RGDWCSServices.WMS.uploadWhExceptionInfo();
|
|||
|
//ss.Notify(devinfo.DeviceIndex.ToString(), devinfo.DeviceName, "<><D7BC>ִ<EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + devinfo.DeviceName + "," + DeviceIdx + errs.ErrorName, DateTime.Now.ToString(), out sResult);
|
|||
|
}
|
|||
|
DbHelperSQL.ExecuteSql("update T_Manage_Task set FERRORCODE='" + "<><D7BC>ִ<EFBFBD>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>" + devinfo.DeviceName + "," + DeviceIdx + errs.ErrorName + "' where F_ManageTaskKindIndex=" + mti + " and FID=" + fid);
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
//20110724
|
|||
|
if (devinfo.DeviceKind == 1 && States[3] == 0)//<2F>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
#endregion OPCͨѶ<EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
//#endregion
|
|||
|
|
|||
|
#region <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if ((_AheadDetect != "") && (_AheadDetect != null))
|
|||
|
{
|
|||
|
char[] cc = new char[1];
|
|||
|
cc[0] = ';';
|
|||
|
string[] AheadDetect = _AheadDetect.Split(cc);
|
|||
|
char[] dd = new char[1] { '.' };//20101118
|
|||
|
string[] DS;
|
|||
|
|
|||
|
//ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0B9A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IGetDeviceState<74><65><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//IGetDeviceState GDS;
|
|||
|
int s = 0;
|
|||
|
//int[] sss;
|
|||
|
int fs = 1;
|
|||
|
//int[] fsss;
|
|||
|
//<2F><>ȡ<EFBFBD><C8A1><EFBFBD>翪<EFBFBD><E7BFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
for (int i = AheadDetect.GetLowerBound(0); i <= AheadDetect.GetUpperBound(0); i++)
|
|||
|
{
|
|||
|
if (AheadDetect[i].Trim().Length <= 0) continue;
|
|||
|
if (AheadDetect[i].Trim().Substring(0, 1).ToUpper() == "H")//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>̽<EFBFBD><CCBD>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ȡ
|
|||
|
dvdv = DbHelperSQL.Query("SELECT F_DeviceIndex, F_HaveGoods FROM T_Base_Device where F_DeviceIndex=" +
|
|||
|
Convert.ToInt32(AheadDetect[i].Trim().Substring(1)) + "").Tables[0].DefaultView;
|
|||
|
if (dvdv.Count > 0)
|
|||
|
{
|
|||
|
if (Convert.ToInt32(dvdv[0]["F_HaveGoods"]) != 1)//dzf
|
|||
|
{
|
|||
|
AheadDetectUnallow.Append(AheadDetect[i].Trim().Substring(1) + "<22>豸<EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD>");
|
|||
|
}
|
|||
|
fs = fs & Convert.ToInt32(dvdv[0]["F_HaveGoods"]);
|
|||
|
}
|
|||
|
|
|||
|
continue;
|
|||
|
}
|
|||
|
if (AheadDetect[i].Trim().Substring(0, 1).ToUpper() == "N")//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DFBC><EFBFBD>̽<EFBFBD><CCBD>
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>ȡ
|
|||
|
dvdv = DbHelperSQL.Query("SELECT F_DeviceIndex, F_HaveGoods FROM T_Base_Device where F_DeviceIndex=" +
|
|||
|
Convert.ToInt32(AheadDetect[i].Trim().Substring(1)) + "").Tables[0].DefaultView;
|
|||
|
if (dvdv.Count > 0)
|
|||
|
{
|
|||
|
if (Convert.ToInt32(dvdv[0]["F_HaveGoods"]) != 0)//dzf
|
|||
|
{
|
|||
|
AheadDetectUnallow.Append(AheadDetect[i].Trim().Substring(1) + "<22>豸<EFBFBD><EFBFBD><DFBC><EFBFBD><EFBFBD>");
|
|||
|
}
|
|||
|
s = s + Convert.ToInt32(dvdv[0]["F_HaveGoods"]);
|
|||
|
}
|
|||
|
continue;
|
|||
|
}
|
|||
|
//20090803<30><33><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
|
|||
|
if (AheadDetect[i].Trim().Substring(0, 1).ToUpper() == "I")//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>idle
|
|||
|
{
|
|||
|
States = CStaticClass.GetDeviceState(Convert.ToInt32(AheadDetect[i].Trim().Substring(1)));
|
|||
|
|
|||
|
if (States != null)
|
|||
|
{
|
|||
|
if (States[1] != 0)//dzf
|
|||
|
{
|
|||
|
AheadDetectUnallow.Append(AheadDetect[i].Trim().Substring(1) + "<22>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD>У<EFBFBD>");
|
|||
|
}
|
|||
|
s = s + States[1];
|
|||
|
}
|
|||
|
continue;
|
|||
|
}
|
|||
|
|
|||
|
#region 20101118<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD>źţ<C5BA>D-12001.0<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>12001<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>D12001.1<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>12001<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//D-12001.2<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>12001<EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>D12001.3<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>ͻ<EFBFBD>12001<EFBFBD>Ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǵ͵<EFBFBD>λ<EFBFBD><EFBFBD>
|
|||
|
if (AheadDetect[i].Trim().Substring(0, 1).ToUpper() == "D")
|
|||
|
{
|
|||
|
DS = AheadDetect[i].Trim().Substring(1).Split(dd);
|
|||
|
int devicebyte = 0; int devbit = 0;
|
|||
|
int.TryParse(DS[0], out devicebyte);
|
|||
|
int.TryParse(DS[1], out devbit);
|
|||
|
//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>⸺<EFBFBD><E2B8BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>㿪<EFBFBD><E3BFAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>ǰ<EFBFBD>ᣩ
|
|||
|
if (devicebyte < 0)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͨѶ<CDA8>ӿڻ<D3BF><DABB>ù<EFBFBD><C3B9><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//GDS = CommModeCreate.CreateGetDeviceState(-Convert.ToInt32(AheadDetect[i]));
|
|||
|
//fsss = GDS.GetDeviceState(-Convert.ToInt32(AheadDetect[i]), Convert.ToInt32(dvD[0]["F_MonitorIndex"]));
|
|||
|
int fsn = CStaticClass.GetDevicePhotoelectric(-devicebyte, devbit);
|
|||
|
if (fsn != 1)//dzf
|
|||
|
{
|
|||
|
StringBuilder kg = new StringBuilder();
|
|||
|
switch (devbit)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
kg.Append("<22><><EFBFBD><EFBFBD>");
|
|||
|
break;
|
|||
|
|
|||
|
case 1:
|
|||
|
kg.Append("<22><>λ");
|
|||
|
break;
|
|||
|
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
AheadDetectUnallow.Append(Convert.ToInt32((-devicebyte)).ToString() + kg.ToString() + "<22><><EFBFBD>翪<EFBFBD>ز<EFBFBD><D8B2>ڵ<EFBFBD><DAB5><EFBFBD>");
|
|||
|
}
|
|||
|
if (fsn == -1)//20101220
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
fs = fs & fsn;
|
|||
|
}
|
|||
|
else
|
|||
|
{//<2F><><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//<2F><><EFBFBD><EFBFBD>ͨѶ<CDA8>ӿڻ<D3BF><DABB>ù<EFBFBD><C3B9><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//GDS = CommModeCreate.CreateGetDeviceState(Convert.ToInt32(AheadDetect[i]));
|
|||
|
//sss = GDS.GetDeviceState(Convert.ToInt32(AheadDetect[i]), Convert.ToInt32(dvD[0]["F_MonitorIndex"]));
|
|||
|
int sssn = CStaticClass.GetDevicePhotoelectric(devicebyte, devbit);
|
|||
|
if (sssn != 0)//dzf
|
|||
|
{
|
|||
|
StringBuilder kg = new StringBuilder();
|
|||
|
switch (devbit)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
kg.Append("<22><><EFBFBD><EFBFBD>");
|
|||
|
break;
|
|||
|
|
|||
|
case 1:
|
|||
|
kg.Append("<22><>λ");
|
|||
|
break;
|
|||
|
|
|||
|
case 2:
|
|||
|
kg.Append("<22><>λ");
|
|||
|
break;
|
|||
|
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
AheadDetectUnallow.Append(devicebyte.ToString() + kg.ToString() + "<22><><EFBFBD>翪<EFBFBD><E7BFAA><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>");
|
|||
|
}
|
|||
|
if (sssn == -1)//20101220
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
s = s + sssn;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion 20101118<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>
|
|||
|
|
|||
|
if ((s != 0) || (fs != 1))//dzf
|
|||
|
{
|
|||
|
UpdateAheadDetectUnallow(AheadDetectUnallow, minMidx);
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
return true;//20101011
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
dt = null;
|
|||
|
dvdv = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD>÷<EFBFBD><C3B7><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
|||
|
/// </summary>
|
|||
|
/// <param name="minMidx"><3E>豸ָ<E8B1B8><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
public bool GetSendInfo(int minMidx)
|
|||
|
{
|
|||
|
DataView dvD;
|
|||
|
try
|
|||
|
{
|
|||
|
string strD = "";
|
|||
|
strD = "SELECT F_DeviceKindIndex,F_NumParam1,F_NumParam2,F_NumParam3,F_NumParam4," +
|
|||
|
"F_NumParam5,F_NumParam6,F_TxtParam,F_AheadDetect,F_ManTaskReserve,F_LockedState," +
|
|||
|
"F_Associate,F_SerialNumber,F_RouteID,F_DeviceIndex,F_DeviceCommandIndex," +
|
|||
|
"F_MonitorIndex,F_ManageTaskIndex,F_ManageTaskKindIndex,F_OutsideAltDevice," +
|
|||
|
"F_InsideAltDevice,F_StartDevice,F_EndDevice,F_RouteKind,F_CorrelDoubleFork,F_UseAwayFork,F_AgvNo,F_PickUpLocation " +
|
|||
|
" FROM V_Monitor_Route_Device where F_MonitorIndex=" + minMidx;
|
|||
|
dvD = DbHelperSQL.Query(strD).Tables[0].DefaultView;
|
|||
|
|
|||
|
if (dvD.Count > 0)
|
|||
|
{
|
|||
|
if (dvD[0]["F_AheadDetect"] != DBNull.Value)
|
|||
|
{
|
|||
|
_AheadDetect = dvD[0]["F_AheadDetect"].ToString();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_AheadDetect = "";
|
|||
|
}
|
|||
|
if (dvD[0]["F_ManTaskReserve"] != DBNull.Value)
|
|||
|
{
|
|||
|
_ManTaskReserve = Convert.ToInt32(dvD[0]["F_ManTaskReserve"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_ManTaskReserve = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_Associate"] != DBNull.Value)
|
|||
|
{
|
|||
|
_Associate = Convert.ToInt32(dvD[0]["F_Associate"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_Associate = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_LockedState"] != DBNull.Value)
|
|||
|
{
|
|||
|
_LockedState = Convert.ToInt32(dvD[0]["F_LockedState"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_LockedState = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_NumParam1"] != DBNull.Value)
|
|||
|
{
|
|||
|
_NumParam1 = Convert.ToInt32(dvD[0]["F_NumParam1"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_NumParam1 = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_NumParam2"] != DBNull.Value)
|
|||
|
{
|
|||
|
_NumParam2 = Convert.ToInt32(dvD[0]["F_NumParam2"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_NumParam2 = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_NumParam3"] != DBNull.Value)
|
|||
|
{
|
|||
|
_NumParam3 = Convert.ToInt32(dvD[0]["F_NumParam3"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_NumParam3 = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_NumParam4"] != DBNull.Value)
|
|||
|
{
|
|||
|
_NumParam4 = Convert.ToInt32(dvD[0]["F_NumParam4"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_NumParam4 = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_NumParam5"] != DBNull.Value)
|
|||
|
{
|
|||
|
_NumParam5 = Convert.ToInt32(dvD[0]["F_NumParam5"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_NumParam5 = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_NumParam6"] != DBNull.Value)
|
|||
|
{
|
|||
|
_NumParam6 = Convert.ToInt32(dvD[0]["F_NumParam6"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_NumParam6 = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_TxtParam"] != DBNull.Value)
|
|||
|
{
|
|||
|
_TxtParam = dvD[0]["F_TxtParam"].ToString();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_TxtParam = "-";
|
|||
|
}
|
|||
|
_serialNumber = Convert.ToInt32(dvD[0]["F_SerialNumber"]);
|
|||
|
_routeID = Convert.ToInt32(dvD[0]["F_RouteID"]);
|
|||
|
_DeviceIdx = Convert.ToInt32(dvD[0]["F_DeviceIndex"]);
|
|||
|
_DeviceOrder = Convert.ToInt32(dvD[0]["F_DeviceCommandIndex"]);
|
|||
|
_ManageKindIdx = Convert.ToInt32(dvD[0]["F_ManageTaskKindIndex"]);
|
|||
|
_ManageTaskIdx = Convert.ToInt32(dvD[0]["F_ManageTaskIndex"]);
|
|||
|
_DeviceKind = Convert.ToInt32(dvD[0]["F_DeviceKindIndex"]);
|
|||
|
if (dvD[0]["F_OutsideAltDevice"] != DBNull.Value)
|
|||
|
{
|
|||
|
_OutsideAltDevice = Convert.ToInt32(dvD[0]["F_OutsideAltDevice"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_OutsideAltDevice = 0;
|
|||
|
}
|
|||
|
if (dvD[0]["F_InsideAltDevice"] != DBNull.Value)
|
|||
|
{
|
|||
|
_InsideAltDevice = Convert.ToInt32(dvD[0]["F_InsideAltDevice"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_InsideAltDevice = 0;
|
|||
|
}
|
|||
|
_StartDevice = Convert.ToInt32(dvD[0]["F_StartDevice"]);
|
|||
|
_EndDevice = Convert.ToInt32(dvD[0]["F_EndDevice"]);
|
|||
|
_RouteKind = Convert.ToInt32(dvD[0]["F_RouteKind"]);
|
|||
|
if (dvD[0]["F_CorrelDoubleFork"] != DBNull.Value)
|
|||
|
{
|
|||
|
_CorrelDoubleFork = Convert.ToInt32(dvD[0]["F_CorrelDoubleFork"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_CorrelDoubleFork = -1;
|
|||
|
}
|
|||
|
if (dvD[0]["F_AgvNo"] != DBNull.Value)
|
|||
|
{
|
|||
|
_AgvNo = Convert.ToInt32(dvD[0]["F_AgvNo"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_AgvNo = 65535;
|
|||
|
}
|
|||
|
if (dvD[0]["F_PickUpLocation"] != DBNull.Value)
|
|||
|
{
|
|||
|
_PickUpLocation = dvD[0]["F_PickUpLocation"].ToString();
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
_PickUpLocation = "0";
|
|||
|
}
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception ex)
|
|||
|
{
|
|||
|
throw ex;
|
|||
|
}
|
|||
|
finally
|
|||
|
{
|
|||
|
dvD = null;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20><><EFBFBD><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="MonitorIndex"></param>
|
|||
|
/// <returns></returns>
|
|||
|
public bool SendMonitorTask(int MonitorIndex)
|
|||
|
{
|
|||
|
lock (thisLock)
|
|||
|
{
|
|||
|
char[] sep = new char[1] { '-' };
|
|||
|
int msgIdx = 0;//<2F><>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD>
|
|||
|
bool sendok;
|
|||
|
//string aa222 = DateTime.Now.Second.ToString() + "-" + DateTime.Now.Millisecond.ToString();
|
|||
|
|
|||
|
#region ˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰλ<EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<EFBFBD><EFBFBD>
|
|||
|
|
|||
|
MonitorIndex = GetDoubleForkMinRouteTask(MonitorIndex);
|
|||
|
|
|||
|
#endregion ˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD>ִ<EFBFBD>У<EFBFBD><EFBFBD><EFBFBD><EFBFBD>;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰλ<EFBFBD>ý<EFBFBD><EFBFBD><EFBFBD><EFBFBD>豸ָ<EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//string aa22 = DateTime.Now.Second.ToString() + "-" + DateTime.Now.Millisecond.ToString();
|
|||
|
//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD>͵<EFBFBD><CDB5><EFBFBD>Ϣ
|
|||
|
if (GetSendInfo(MonitorIndex) == false) { return false; }
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(_DeviceIdx);//dzf
|
|||
|
if ((_DeviceKind == 1) && (devinfo.XCoor == 0))//dzf
|
|||
|
{//<2F>Ѷ<EFBFBD><D1B6><EFBFBD>
|
|||
|
AheadDetectUnallow.Clear();
|
|||
|
AheadDetectUnallow.Append(_DeviceIdx.ToString() + "<22>Ĺ<EFBFBD>ͨѶ<CDA8><D1B6><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>û<EFBFBD>ϵ磡");
|
|||
|
UpdateAheadDetectUnallow(AheadDetectUnallow, MonitorIndex);
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
#region <EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
if (ccf.GetManageTaskKindIndexFromMonitor(MonitorIndex) == 4)
|
|||
|
{
|
|||
|
CStaticClass.MessageIndex = 1;
|
|||
|
msgIdx = (CStaticClass.MessageIndex);
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(_DeviceIdx);
|
|||
|
int[] gc = new int[6] { _NumParam2, _NumParam3, _NumParam1, _NumParam5, _NumParam6, _NumParam4 };
|
|||
|
if (_DeviceKind == 1)//<2F><><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, MonitorIndex, _DeviceOrder, _DeviceIdx, gc[0], gc[1], gc[2], gc[3], gc[4], gc[5]);
|
|||
|
}
|
|||
|
else if (_DeviceKind == 32 || _DeviceKind == 33)//<2F><>ѡ-<2D><><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, MonitorIndex, _DeviceOrder, _DeviceIdx, _PickUpLocation);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, MonitorIndex, _DeviceOrder, _DeviceIdx, gc[5]);
|
|||
|
}
|
|||
|
if (sendok == false)
|
|||
|
{
|
|||
|
if (sdo.CommLayerError != null)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf(sdo.CommLayerError) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", sdo.CommLayerError, true);
|
|||
|
}
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
//////////////////////////
|
|||
|
ccf.SendOrderSuccess(_ManageKindIdx, _ManageTaskIdx, MonitorIndex, _DeviceIdx, _routeID);
|
|||
|
|
|||
|
#region ˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD>淢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|||
|
|
|||
|
//20100323
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(_DeviceIdx);
|
|||
|
if (devinfo.IfCorrelDoubleFork == "1")
|
|||
|
{
|
|||
|
//20220303 ˫<><CBAB><EFBFBD><EFBFBD>ע<EFBFBD><D7A2>
|
|||
|
//if (Model.CGeneralFunction.DoubleForkIfSync(MonitorIndex, _DeviceIdx, _DeviceKind) == true)
|
|||
|
//{
|
|||
|
// string[] df = Model.CGeneralFunction.GetDoubleForkMonitorInfo(MonitorIndex, _DeviceIdx);
|
|||
|
// if (df != null)
|
|||
|
// {
|
|||
|
// ccf.SendOrderSuccess(ccf.GetManageTaskKindIndexFromMonitor(Convert.ToInt32(df[0])), ccf.GetManageTaskIndexfromMonitor(Convert.ToInt32(df[0])), Convert.ToInt32(df[0]), Convert.ToInt32(df[2]), Convert.ToInt32(df[3]));
|
|||
|
// //dbo.ExceSQL("update T_Monitor_Task set F_CorrelDoubleFork=" + df[0] + " where F_MonitorIndex=" + MonitorIndex + "");
|
|||
|
// //dbo.ExceSQL("update T_Monitor_Task set F_CorrelDoubleFork=" + MonitorIndex + " where F_MonitorIndex=" + df[0] + "");
|
|||
|
// }
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
#endregion ˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD>淢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD>ֹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
#region <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(taskkind == 1<EFBFBD><EFBFBD>2)
|
|||
|
|
|||
|
//(taskkind == 1<><31>2)<29>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//2<><32><EFBFBD><EFBFBD>ȡÿ<C8A1><C3BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݵĵ<DDB5>һ<EFBFBD><D2BB><EFBFBD>豸״̬
|
|||
|
//string aa221 = DateTime.Now.Second.ToString() + "-" + DateTime.Now.Millisecond.ToString();
|
|||
|
if (GetFirstDeviceIFLocked(MonitorIndex, true) == false)//û<>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
//7<><37><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><CDB4>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>
|
|||
|
//CStaticClass.MessageIndex++;
|
|||
|
CStaticClass.MessageIndex = 1;
|
|||
|
msgIdx = (CStaticClass.MessageIndex);
|
|||
|
sdo = CommModeCreate.CreateSendDeviceOrder(_DeviceIdx);
|
|||
|
//<2F>ж<EFBFBD><D0B6>豸<EFBFBD>Ƿ<EFBFBD>Ϊ<EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD>RGV<47>ͣ<EFBFBD><CDA3>ǣ<EFBFBD>
|
|||
|
int[] gc = new int[6] { _NumParam2, _NumParam3, _NumParam1, _NumParam5, _NumParam6, _NumParam4 };//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (gc == null)
|
|||
|
{
|
|||
|
this._CControlError += "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD>豸<EFBFBD><E8B1B8><EFBFBD>꣡";
|
|||
|
return false;
|
|||
|
}
|
|||
|
if (_DeviceKind == 1)
|
|||
|
{
|
|||
|
//1<><31><EFBFBD>Ѷ<EFBFBD><D1B6><EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><34>RGV<47><56>6<EFBFBD><36>AGV<47><56><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>Ż<EFBFBD><C5BB><EFBFBD><EFBFBD>ȣ<EFBFBD><C8A3>豸<EFBFBD><E8B1B8><EFBFBD><EFBFBD>F_NeedOptimize='1'<27><>
|
|||
|
//ֱ<><D6B1>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>T_Monitor_Task_Child<6C><64><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
if (ccf.NeedOptimize(_DeviceIdx) == true)
|
|||
|
{
|
|||
|
ccf.InsertMonitorOptimizeChildTask(MonitorIndex);
|
|||
|
sendok = true;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, MonitorIndex, _DeviceOrder, _DeviceIdx, gc[0], gc[1], gc[2], gc[3], gc[4], gc[5]);
|
|||
|
}
|
|||
|
}
|
|||
|
else if (_DeviceKind == 32)
|
|||
|
{
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, MonitorIndex, _DeviceOrder, _DeviceIdx, _PickUpLocation);
|
|||
|
}
|
|||
|
else if (_DeviceKind == 33)
|
|||
|
{
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, MonitorIndex, _DeviceOrder, _DeviceIdx, _PickUpLocation);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
|
|||
|
sendok = sdo.SendDeviceOrder(msgIdx, MonitorIndex, _DeviceOrder, _DeviceIdx, gc[5]); // <20><><EFBFBD>ͻ<EFBFBD><CDBB>ķ<EFBFBD><C4B7><EFBFBD>ָ<EFBFBD><D6B8> _NumParam4<6D><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾĿ<CABE><C4BF>λ<EFBFBD><CEBB>
|
|||
|
}
|
|||
|
if (sendok == false)
|
|||
|
{
|
|||
|
if (sdo.CommLayerError != null)
|
|||
|
{
|
|||
|
if (FrmControlMonitor.FormInstance.GetObjectText("tsStatus").IndexOf(sdo.CommLayerError) < 0)
|
|||
|
{
|
|||
|
FrmControlMonitor.FormInstance.FlashPanit("tsStatus", sdo.CommLayerError, true);
|
|||
|
}
|
|||
|
}
|
|||
|
return false;
|
|||
|
}
|
|||
|
else//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|||
|
{
|
|||
|
//////////////////////////
|
|||
|
DbHelperSQL.ExecuteSql("update T_Monitor_Task set F_SendFlag='1' where F_MonitorIndex=" + MonitorIndex);//20100905ֻ<35>ط<EFBFBD><D8B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
ccf.SendOrderSuccess(_ManageKindIdx, _ManageTaskIdx, MonitorIndex, _DeviceIdx, _routeID);
|
|||
|
|
|||
|
#region ˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD>淢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|||
|
|
|||
|
//20100323
|
|||
|
devinfo = BaseDeviceService.GetDeviceInfo(_DeviceIdx);
|
|||
|
if (devinfo.IfCorrelDoubleFork == "1")
|
|||
|
{
|
|||
|
//if (Model.CGeneralFunction.DoubleForkIfSync(MonitorIndex, _DeviceIdx, _DeviceKind) == true)
|
|||
|
//{
|
|||
|
// string[] df = Model.CGeneralFunction.GetDoubleForkMonitorInfo(MonitorIndex, _DeviceIdx);
|
|||
|
// if (df != null)
|
|||
|
// {
|
|||
|
// ccf.SendOrderSuccess(ccf.GetManageTaskKindIndexFromMonitor(Convert.ToInt32(df[0])), ccf.GetManageTaskIndexfromMonitor(Convert.ToInt32(df[0])), Convert.ToInt32(df[0]), Convert.ToInt32(df[2]), Convert.ToInt32(df[3]));
|
|||
|
// //dbo.ExceSQL("update T_Monitor_Task set F_CorrelDoubleFork=" + df[0] + " where F_MonitorIndex=" + MonitorIndex + "");
|
|||
|
// //dbo.ExceSQL("update T_Monitor_Task set F_CorrelDoubleFork=" + MonitorIndex + " where F_MonitorIndex=" + df[0] + "");
|
|||
|
// }
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
#endregion ˫<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD>淢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>
|
|||
|
|
|||
|
return true;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
|
|||
|
#endregion <EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(taskkind == 1<EFBFBD><EFBFBD>2)
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
private int GetDeviceFromMonitor(int monitorIndex)
|
|||
|
{
|
|||
|
DataView dv = DbHelperSQL.Query("SELECT F_MonitorIndex, F_DeviceIndex FROM T_Monitor_Task WHERE (F_MonitorIndex = " + monitorIndex + ")").Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)
|
|||
|
{
|
|||
|
return Convert.ToInt32(dv[0]["F_DeviceIndex"]);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return -1;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// <20>÷<EFBFBD><C3B7><EFBFBD> ȫ<><C8AB>ɾ<EFBFBD><C9BE> ԭ<><D4AD><EFBFBD><EFBFBD>˫<EFBFBD><CBAB><EFBFBD>Ĵ<EFBFBD><C4B4><EFBFBD><EFBFBD><EFBFBD>Ŀǰû<C7B0><C3BB>˫<EFBFBD><CBAB><EFBFBD>ֳ<EFBFBD> 20220303
|
|||
|
/// </summary>
|
|||
|
/// <param name="taskno"></param>
|
|||
|
/// <returns></returns>
|
|||
|
private int GetDoubleForkMinRouteTask(int taskno)
|
|||
|
{
|
|||
|
return taskno;
|
|||
|
}
|
|||
|
|
|||
|
private bool IfExcuteFirst(int TaskIndex)
|
|||
|
{
|
|||
|
int[] zxy = ccf.GetCoordinatesFromMonitorTask(TaskIndex);
|
|||
|
string zxystr = (zxy[3].ToString().Length == 1 ? "0" + zxy[0].ToString() : zxy[3].ToString()) + "-" +
|
|||
|
((zxy[4].ToString().Length == 1) ? ("0" + zxy[4].ToString()) : (zxy[4].ToString())) + "-" +
|
|||
|
((zxy[5].ToString().Length == 1) ? ("0" + zxy[5].ToString()) : (zxy[5].ToString()));
|
|||
|
|
|||
|
DataView dv = DbHelperSQL.Query("SELECT F_MoveCellCode FROM T_Base_LaneInfo WHERE (F_MoveCellCode = '" + zxystr + "')").Tables[0].DefaultView;
|
|||
|
if (dv.Count > 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>
|
|||
|
{
|
|||
|
return false;
|
|||
|
}
|
|||
|
return true;
|
|||
|
}
|
|||
|
|
|||
|
private void UpdateAheadDetectUnallow(StringBuilder aheadUnallow, int taskindex)//dzf
|
|||
|
{
|
|||
|
#region
|
|||
|
|
|||
|
int rec = 0;
|
|||
|
if (aheadUnallow.Length > 0)
|
|||
|
{
|
|||
|
rec = DbHelperSQL.ExecuteSql(string.Format("UPDATE T_Monitor_Task SET F_ErrorCode ='{0}' WHERE F_MonitorIndex ={1} ", aheadUnallow.ToString(), taskindex));//and F_ErrorCode <>'{0}'
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
rec = DbHelperSQL.ExecuteSql(string.Format("UPDATE T_Monitor_Task SET F_ErrorCode ='' WHERE F_MonitorIndex ={1} and F_ErrorCode <>''", aheadUnallow.ToString(), taskindex));
|
|||
|
}
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
//public string sendAGVTask(string F_MonitorIndex,string cell,string barcode)
|
|||
|
//{
|
|||
|
// string url = "POST /adapter/task/create";
|
|||
|
// TaskApply taskapply = new TaskApply();
|
|||
|
// task ts = new task();
|
|||
|
// taskDescribe des = new taskDescribe();
|
|||
|
// ts.TaskCode = F_MonitorIndex;
|
|||
|
// des.ContainerCode = barcode;
|
|||
|
// des.ContainerType = "<22><><EFBFBD><EFBFBD><EFBFBD>ͺ<EFBFBD>";
|
|||
|
// des.FromLocationCode = "12005";
|
|||
|
// des.LocationCode = cell;
|
|||
|
// ts.TaskDescribe.Add(des);
|
|||
|
// taskapply.Tasks.Add(ts);
|
|||
|
// taskapply.TaskType = "tote_inbound";
|
|||
|
// string json = JsonConvert.SerializeObject(taskapply);
|
|||
|
// string getJson = GetJson.Post(url, json);
|
|||
|
// ApplyResult result = JsonConvert.DeserializeObject<ApplyResult>(getJson);
|
|||
|
// if (result.CODE == "0")
|
|||
|
// {
|
|||
|
// return "success";
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// return "<22><><EFBFBD><EFBFBD>AGV<47><56><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>,Ϊԭ<CEAA><D4AD>" + result.MSG;
|
|||
|
// }
|
|||
|
|
|||
|
//}
|
|||
|
}
|
|||
|
}
|