dbo.ExecuteSql(string.Format("UPDATE T_Monitor_Task SET F_AheadDetect =replace(F_AheadDetect,'15401.0','15401.1') WHERE (F_ManageTASKKINDINDEX= {0} AND F_ManageTaskIndex= {1} and f_deviceindex = 15401)",mti,correlFid));
dbo.ExecuteSql(string.Format("UPDATE T_Monitor_Task SET F_AheadDetect =replace(F_AheadDetect,'15402.0','15402.1') WHERE (F_ManageTASKKINDINDEX= {0} AND F_ManageTaskIndex= {1} and f_deviceindex = 15402)",mti,correlFid));
}
if(correlForkNO==1)
{
dbo.ExecuteSql(string.Format("UPDATE T_Monitor_Task SET F_AheadDetect =replace(F_AheadDetect,'15401.1','15401.0') WHERE (F_ManageTASKKINDINDEX= {0} AND F_ManageTaskIndex= {1} and f_deviceindex = 15401)",mti,correlFid));
dbo.ExecuteSql(string.Format("UPDATE T_Monitor_Task SET F_AheadDetect =replace(F_AheadDetect,'15402.1','15402.0') WHERE (F_ManageTASKKINDINDEX= {0} AND F_ManageTaskIndex= {1} and f_deviceindex = 15402)",mti,correlFid));
}
sql.Remove(0,sql.Length);
sql.Append("update T_Manage_Task set F_RELATIVECONTORLID = ").Append(correlFid).Append(" where F_ManageTaskKindIndex=").Append(mti).Append(" and FID=").Append(fid);
dbo.ExecuteSql(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("update T_Manage_Task set FUseAwayFork='").Append(correlForkNO).Append("',F_RELATIVECONTORLID=").Append(correlFid).Append(" where F_ManageTaskKindIndex=").Append(mti).Append(" and FID=").Append(correlFid);
dbo.ExecuteSql(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("update T_Monitor_Task set F_UseAwayFork='").Append(correlForkNO).Append("' where F_ManageTASKKINDINDEX=").Append(mti).Append(" and F_ManageTaskIndex=").Append(correlFid);
DataViewdvcorrl=dbo.ExceSQL(string.Format("SELECT F_UseAwayFork FROM T_Monitor_Task WHERE (F_MonitorIndex = {0})",monitorIndex)).Tables[0].DefaultView;//F_CORRELDEVICEINDEX != {1} and
dvFr=dbo.ExceSQL(string.Format("SELECT F_ForkAmount,F_Reach,F_LANENO from T_Base_StackInfo where F_StackIndex = '{0}'",DeviceIdx)).Tables[0].DefaultView;
stringsqlstr1=string.Format("SELECT T_Monitor_Task.F_NumParam1 as F_Z,T_Monitor_Task.F_NumParam2 as F_X, T_Monitor_Task.F_NumParam3 as F_Y , T_Manage_Task.FCONTROLTASKTYPE as MControlType FROM T_Monitor_Task full join T_Manage_Task on (T_Monitor_Task.F_ManageTaskIndex = T_Manage_Task.FID) WHERE (T_Monitor_Task.F_DeviceCommandIndex =5) and (T_Monitor_Task.F_DeviceIndex = {0} and T_Monitor_Task.F_MonitorIndex = {1} and T_Manage_Task.FCONTROLTASKTYPE = 3)",DeviceIdx,TaskIdx);//,T_Manage_Task.FID as MFid
stringsqlstr2=string.Format("SELECT FID,FIntoStepOK FROM T_Manage_Task WHERE FCONTROLTASKTYPE =2 and FSTARTCELL = '{0}'",strtempz+"-"+strtempx+"-"+strtempy);
dvc2=dbo.ExceSQL(sqlstr2).Tables[0].DefaultView;
intchangeL=100;
if(dvc2.Count>0)
{
stringsqlstr3=string.Format("update T_Manage_Task set FTASKLEVEL = FTASKLEVEL + {0} where FID = {1} ",changeL,dvc2[0]["FID"]);
dbo.ExceSQL(sqlstr3);
if(Convert.ToInt32(dvc2[0]["FIntoStepOK"])==1)
{
stringsqlstr4=string.Format("update T_Monitor_Task set F_MonitorTaskLevel = F_MonitorTaskLevel + {0} where F_ManageTaskIndex = {1} ",changeL,dvc2[0]["FID"]);
DataViewdvcorrl=dbo.ExceSQL(string.Format("SELECT F_CORRELDEVICEINDEX,F_FORKNO,F_NEARGETDEVICE FROM T_BASE_RGV_GATE where F_RGVGATEDEVICEINDEX={0}",zxy[0])).Tables[0].DefaultView;//F_CORRELDEVICEINDEX != {1} and
DataViewdvcorr2=dbo.ExceSQL(string.Format("SELECT f_managetaskkindindex,F_MANAGETASKINDEX,f_monitorindex,F_NUMPARAM4 FROM T_MONITOR_TASK where F_STATUS=0 and F_MANAGETASKKINDINDEX={0} and F_DEVICEINDEX={1} and F_DEVICECOMMANDINDEX={2} and F_NUMPARAM1={3} and f_no1 = {4} and F_NUMPARAM4 != {5}",obarr)).Tables[0].DefaultView;
//int rgvCorrelForkNo = Convert.ToInt32(dbo.GetSingle(string.Format("SELECT F_FORKNO FROM T_BASE_RGV_GATE where F_RGVGATEDEVICEINDEX={0}", rgvCorrelStation[i])));
// DataView dvcorrlGJN = dbo.ExceSQL(string.Format("SELECT F_CORRELDEVICEINDEX,F_FORKNO,F_NEARGETDEVICE FROM T_BASE_RGV_GATE where F_RGVGATEDEVICEINDEX={0}", zxy[3])).Tables[0].DefaultView;//F_CORRELDEVICEINDEX != {1} and
DataViewdvcorr3=dbo.ExceSQL(string.Format("SELECT f_managetaskkindindex,F_MANAGETASKINDEX,F_NUMPARAM1,F_NUMPARAM4,f_monitorindex FROM T_MONITOR_TASK where F_STATUS=0 and F_MANAGETASKKINDINDEX={0} and F_DEVICEINDEX={1} and F_DEVICECOMMANDINDEX={2} and f_monitorindex<>{3} and f_no1 = {5} and F_NUMPARAM4 != {6} and F_NUMPARAM1 in (SELECT F_RGVGATEDEVICEINDEX FROM T_BASE_RGV_GATE where F_NEARGETDEVICE={4}) order by F_SPLITTIME asc",obarr3)).Tables[0].DefaultView;
DataViewdvcorrlGJN=dbo.ExceSQL(string.Format("SELECT F_CORRELDEVICEINDEX,F_FORKNO,F_NEARGETDEVICE FROM T_BASE_RGV_GATE where F_RGVGATEDEVICEINDEX={0}",zxy[0])).Tables[0].DefaultView;//F_CORRELDEVICEINDEX != {1} and
DataViewdvcorr4=dbo.ExceSQL(string.Format("SELECT f_managetaskkindindex,F_MANAGETASKINDEX,F_NUMPARAM1,F_NUMPARAM4,f_monitorindex FROM T_MONITOR_TASK where F_STATUS=0 and F_MANAGETASKKINDINDEX={0} and F_DEVICEINDEX={1} and F_DEVICECOMMANDINDEX={2} "+
"and f_monitorindex<>{3} and f_no1 = {5} and F_NUMPARAM4 != {6} and F_NUMPARAM1 in (SELECT F_RGVGATEDEVICEINDEX FROM T_BASE_RGV_GATE where F_NEARGETDEVICE={4}) order by F_SPLITTIME asc",obarr4)).Tables[0].DefaultView;
DataViewdvcorr5=dbo.ExceSQL(string.Format("SELECT f_managetaskkindindex,F_MANAGETASKINDEX,F_NUMPARAM1,F_NUMPARAM4,f_monitorindex FROM T_MONITOR_TASK where F_MANAGETASKKINDINDEX={0}"+
" and F_DEVICECOMMANDINDEX={2} and f_monitorindex<>{3} and f_no1 = {5} and F_NUMPARAM4 = {6} and F_NUMPARAM1 = {7} and F_NUMPARAM4 in (SELECT F_RGVGATEDEVICEINDEX FROM T_BASE_RGV_GATE where F_NEARGETDEVICE={4}) order by F_SPLITTIME asc",obarr5)).Tables[0].DefaultView;//and F_STATUS > 0//����������
// dvbc = dboM.ExceSQL(string.Format("SELECT DEVICE_CODE FROM IO_CONTROL_APPLY WHERE APPLY_TASK_STATUS<2 and DEVICE_CODE='{0}' ", DeviceIdx.ToString())).Tables[0].DefaultView;
//, ccf.GetErrorTimeSpan(DeviceIdx), 0, errs.ErrorKind, 0, out errText);//ͳ���ϴι���
//dbo.ExecuteSql(string.Format("update T_Base_Device set F_ErrorStartTime='-' where F_DeviceIndex ={0}", DeviceIdx));
}
}
#endregion
#region �ж����ͻ����������ź�
//if (devKind == 2)
//{//20120409�ж����ͻ����������ź�
// sql.Clear();
// sql.Append("SELECT T_Base_Device.F_DeviceIndex from T_Base_Device,T_Monitor_Task where T_Base_Device.F_DeviceIndex=T_Monitor_Task.F_DeviceIndex and F_DeviceKindIndex=2 AND F_MonitorIndex = ").Append(TaskIdx);
// object obd=dbo.GetSingle(sql.ToString());
// if (obd == null)
// {//�������ͻ�����
// return;
// }
// else
// {
// if (Model.CGetInfo.GetDeviceInfo(Convert.ToInt32(obd)).S7Connection != devinfo.S7Connection)
dv=dbo.ExceSQL(string.Format("select f_managetaskkindindex,fid from T_MANAGE_TASK where f_relativecontorlid={0} and f_managetaskkindindex={1} and fid<>{2}",relFID,_mti,_fid)).Tables[0].DefaultView;
if(dv.Count>0)
{//ÿ��ֻ��һ����������
sql.Remove(0,sql.Length);
sql.Append("update T_Monitor_Task set F_MonitorTaskLevel=10 where F_ManageTASKKINDINDEX=").Append(Convert.ToInt32(dv[0]["f_managetaskkindindex"])).Append(" and F_ManageTaskIndex=").Append(Convert.ToInt32(dv[0]["fid"])).Append(" and F_DeviceIndex=").Append(DeviceIdx);
objectobjaddr=dbo.GetSingle(string.Format("select f_address from T_BASE_RGV_GATE where f_rgvgatedeviceindex={0}",zxy[4]));
dv=dbo.ExceSQL(string.Format("SELECT F_ManageTASKKINDINDEX, F_ManageTaskIndex, F_MonitorIndex FROM T_Monitor_Task,T_BASE_RGV_GATE WHERE T_Monitor_Task.f_Numparam1=T_BASE_RGV_GATE.F_RGVGATEDEVICEINDEX and f_no1='1' and F_DeviceCommandIndex=2 and F_Status=0 and F_MonitorTaskLevel!=10 and F_DeviceIndex = {0} order by abs(f_address-{1}) asc FETCH FIRST ROWS ONLY",
sql.Append("update T_Monitor_Task set F_MonitorTaskLevel=10 where F_ManageTASKKINDINDEX=").Append(Convert.ToInt32(dv[0]["F_ManageTASKKINDINDEX"])).Append(" and F_ManageTaskIndex=").Append(Convert.ToInt32(dv[0]["F_ManageTASKINDEX"])).Append(" and F_DeviceIndex=").Append(DeviceIdx);
sql.Append("select * from T_Manage_Task where FTASKLEVEL=10 and FSTACK = ").Append(DeviceIdx).Append(" AND (FCONTROLTASKTYPE = 1) AND (FIntoStepOK = '1') ");
sql.Append("SELECT FID, F_ManageTaskKindIndex, FCONTROLTASKTYPE FROM T_Manage_Task WHERE (FSTACK = ").Append(DeviceIdx).Append(") AND (FCONTROLTASKTYPE = 1) AND (FIntoStepOK = '1') order by FTASKLEVEL desc, F_ManageTaskKindIndex desc,FID asc");
sql.Append("select * from T_Monitor_Task where F_ManageTASKKINDINDEX="+dvman[ii]["F_ManageTASKKINDINDEX"]+" and F_ManageTaskIndex="+dvman[ii]["FID"]+" order by F_MonitorIndex asc");
sql.Append("update T_Monitor_Task set F_MonitorTaskLevel=10 where F_ManageTASKKINDINDEX=").Append(dvman[ii]["F_ManageTASKKINDINDEX"]).Append(" and F_ManageTaskIndex=").Append(dvman[ii]["FID"]);
dbo.ExceSQL(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("update T_Manage_Task set FTASKLEVEL=10 where F_ManageTASKKINDINDEX=").Append(dvman[ii]["F_ManageTASKKINDINDEX"]).Append(" and FID=").Append(dvman[ii]["FID"]);
sql.Append("select count(F_MonitorIndex) as counts from T_Monitor_Task ").Append(
" where F_ManageTaskIndex =").Append(fid).Append(" and F_ManageTaskKindIndex= ").Append(mti).Append(" and F_DeviceIndex=").Append(DeviceIdx);
objectob=dbo.GetSingle(sql.ToString());
if(Convert.ToInt32(ob)==1)
{
#region �й����������ڣ����ӹ�������ԤԼ��//20100710
sql.Remove(0,sql.Length);
sql.Append("SELECT T_Manage_Task.FID FROM T_Manage_Task ,T_Monitor_Task where T_Manage_Task.FID!=").Append(fid).Append(" and T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX AND T_Manage_Task.FID = T_Monitor_Task.F_ManageTaskIndex and (T_Manage_Task.F_RELATIVECONTORLID = ").Append(relativeFID).Append(") AND (T_Manage_Task.F_ManageTaskKindIndex = ").Append(mti).Append(") and F_DeviceIndex=").Append(DeviceIdx).Append("");
ob=dbo.GetSingle(sql.ToString());
if((ob!=null)&&(devinfo.IfCorrelDoubleFork=="1"))
{
sql.Remove(0,sql.Length);
sql.Append("update T_Base_Device set F_ManTaskReserve=").Append((mti.ToString()+ob.ToString())).Append(" where F_ManTaskReserve=").Append((mti.ToString()+fid.ToString())).Append(" and F_DeviceIndex="+DeviceIdx);
dbo.ExceSQL(sql.ToString());
}
else
{
sql.Remove(0,sql.Length);
sql.Append("update T_Base_Device set F_ManTaskReserve=0 where F_ManTaskReserve=").Append((mti.ToString()+fid.ToString())).Append(" and F_DeviceIndex=").Append(DeviceIdx);
dbo.ExceSQL(sql.ToString());
sql.Remove(0,sql.Length);
//sql.Append("update T_Manage_Task set F_RELATIVECONTORLID=-1").Append(" where F_ManageTaskKindIndex=").Append(mti).Append(" and (FID=").Append(fid).Append(" or F_RELATIVECONTORLID=").Append(fid).Append(")");
//dbo.ExecuteSql(sql.ToString());
}
#region �Ѷ����ͻ������ͻ�����ԤԼ��
//20120409
intstackdev=0;
devinfo=Model.CGetInfo.GetDeviceInfo(DeviceIdx);
if(devinfo.VirtualStack>0)
{//20111231
stackdev=devinfo.VirtualStack;
}
else
{
stackdev=DeviceIdx;
}
sql.Remove(0,sql.Length);
sql.Append("SELECT T_Base_Lane_Gate.F_LaneGateDeviceIndex from T_Base_Lane_Gate,T_Base_LaneInfo ").Append(
" where T_Base_Lane_Gate.F_LaneIndex = T_Base_LaneInfo.F_LaneDeviceIndex and T_Base_Lane_Gate.F_ZXY='").Append(zxystr).Append("' ").Append(
" and T_Base_LaneInfo.F_StackIndex=").Append(stackdev);
dvr=dbo.ExceSQL(String.Format("select pallet_stacker from T_BASE_IOMODE_SWITCH where STATION_AREA=1 and output_station_code='{0}'",devinfo.DeviceIndex)).Tables[0].DefaultView;//102������Ӧ���ػ�
sql.Append("update IO_Control set CONTROL_END_TIME =to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'), CONTROL_STATUS=").Append(errrcode).Append(" where CONTROL_ID=").Append(fid);
rowco=dboM.ExecuteSql(sql.ToString());
break;
case"SQLServerDBFactory":
sql.Remove(0,sql.Length);
sql.Append("update IO_Control set CONTROL_END_TIME =CONVERT(varchar, GETDATE(), 120) , CONTROL_STATUS=").Append(errrcode).Append(" where CONTROL_ID=").Append(fid);
rowco=dboM.ExecuteSql(sql.ToString());
break;
case"OleDBFactory":
dtime=DateTime.Now.ToString("u");
dtime=dtime.Substring(0,dtime.Length-1);
sql.Remove(0,sql.Length);
sql.Append("update IO_Control set CONTROL_END_TIME ='").Append(dtime).Append("', CONTROL_STATUS=").Append(errrcode).Append(" where CONTROL_ID=").Append(fid);
sql.Append("update IO_Control set CONTROL_END_TIME =to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'), CONTROL_STATUS=").Append(Model.CGeneralFunction.TASKFINISH).Append(" where CONTROL_ID=").Append(fid);
rowco=dboM.ExecuteSql(sql.ToString());
break;
case"SQLServerDBFactory":
sql.Remove(0,sql.Length);
sql.Append("update IO_Control set CONTROL_END_TIME =CONVERT(varchar, GETDATE(), 120) , CONTROL_STATUS=").Append(Model.CGeneralFunction.TASKFINISH).Append(" where CONTROL_ID=").Append(fid);
rowco=dboM.ExecuteSql(sql.ToString());
break;
case"OleDBFactory":
dtime=DateTime.Now.ToString("u");
dtime=dtime.Substring(0,dtime.Length-1);
sql.Remove(0,sql.Length);
sql.Append("update IO_Control set CONTROL_END_TIME ='").Append(dtime).Append("', CONTROL_STATUS=").Append(Model.CGeneralFunction.TASKFINISH).Append(" where CONTROL_ID=").Append(fid);
sql.Append("update T_Base_Device set F_HaveGoods=").Append(nexttaskindex).Append(" where F_DeviceKindIndex=2 and F_DeviceIndex=").Append(dvlane[0]["F_LaneGateDeviceIndex"]);
dbo.ExecuteSql(string.Format("UPDATE T_Base_Device SET F_ManTaskReserve=0,F_PALLETBARCODE = '-' WHERE (F_DeviceIndex = {0} and F_ManTaskReserve={1})",dvlane[0]["F_LaneGateDeviceIndex"],Convert.ToInt32(mti.ToString()+fid.ToString())));//20180622�Ѷ�����վ̨ȡ��ʱ������ԤԼ��������
sql.Remove(0,sql.Length);
sql.Append("update T_Base_Device set F_HaveGoods=0 where F_DeviceIndex=").Append(dvlane[0]["F_LaneGateDeviceIndex"]);
dbo.ExceSQL(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("update T_Base_PLC_Ask set F_TaskIndex=0,F_Remark='' where F_DeviceIndex=").Append(dvlane[0]["F_LaneGateDeviceIndex"]);
sql.Append("update T_Base_PLC_Ask set F_TaskIndex=0,F_Remark='' where F_TaskIndex=").Append(TaskIdx).Append(" and F_DeviceIndex=").Append(dvlane[0]["F_LaneGateDeviceIndex"]);
sql.Append("SELECT F_AGVGateDeviceIndex FROM T_Base_AGV_Gate where F_AGVGateDeviceIndex=").Append(DeviceIdx);
if(dbo.GetSingle(sql.ToString())!=null)
{
saveBarcode=true;
}
//sql.Clear();
//sql.Append("SELECT F_RGVGateDeviceIndex FROM T_Base_RGV_Gate where F_RGVGateDeviceIndex=").Append(DeviceIdx);
//if (dbo.GetSingle(sql.ToString()) != null)
//{
// saveBarcode = true;
//}
sql.Clear();
sql.Append("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate where F_LaneGateDeviceIndex=").Append(DeviceIdx);
if(dbo.GetSingle(sql.ToString())!=null)
{
saveBarcode=true;
}
if(saveBarcode==true)
{
dbo.ExecuteSql(string.Format("UPDATE T_Base_Device SET F_ManTaskReserve={2},F_PALLETBARCODE = '{0}' WHERE (F_DeviceIndex = {1})",barcode,DeviceIdx,Convert.ToInt32(mti.ToString()+fid.ToString())));//20140309
// int manageKindIdx = ccf.GetManageTaskKindIndexFromMonitor(TaskIdx);
// int manageTaskIdx = ccf.GetManageTaskIndexFromMonitor(TaskIdx);
// int MonitorIndexRelation = ccf.GetRELATIVECONTORLIDFromManageTask(manageKindIdx, manageTaskIdx);
// if (MonitorIndexRelation > 0)
// {
// DataView dvcorrl = dbo.ExceSQL(string.Format("SELECT F_CORRELDEVICEINDEX,F_NEARGETDEVICE FROM T_BASE_RGV_GATE where f_channelsindex = 15400 and f_iftransfer = 0 and f_rgvgatedeviceindex = {0}", zxy[3])).Tables[0].DefaultView;//F_CORRELDEVICEINDEX != {1} and
// if (dvcorrl.Count > 0)//����λ����תվ̨�ͻ�
// {
// sql.Remove(0, sql.Length);
// sql.Append("update T_Manage_Task set ").Append("F_RELATIVECONTORLID = -1").Append(" where F_RELATIVECONTORLID=").Append(MonitorIndexRelation);
// dbo.ExecuteSql(sql.ToString());
// }
// }
//}
sql.Remove(0,sql.Length);
sql.Append("delete from T_Monitor_Task where F_MonitorIndex=").Append(TaskIdx);
dbo.ExecuteSql(string.Format("update T_MONITOR_TASK set F_NO1 = '1' where f_monitorindex = (select min(f_monitorindex) from T_MONITOR_TASK where f_managetaskindex = {0} and f_managetaskkindindex = {1})",fid,mti,TaskIdx));// and f_monitorindex>{2}�����ij���С��monitorΪno_1
//dvr = dbo.ExceSQL(String.Format("select pallet_stacker from T_BASE_IOMODE_SWITCH where STATION_AREA=1 and station_inout_mode=2 and output_station_code=input_station_code and output_station_code='{0}'", devinfo.DeviceIndex)).Tables[0].DefaultView;
dvr=dbo.ExceSQL(String.Format("select pallet_stacker from T_BASE_IOMODE_SWITCH where STATION_AREA=1 and station_inout_mode=2 and output_station_code='{0}'",devinfo.DeviceIndex)).Tables[0].DefaultView;
dvm=dbo.ExceSQL(string.Format("SELECT F_ManageTASKKINDINDEX, F_ManageTaskIndex, F_MonitorIndex FROM T_Monitor_Task WHERE (F_DeviceIndex = {0} and F_DeviceCommandIndex=4 and F_Status=0) AND (F_NumParam1 = {1}) AND (F_NumParam2 = {2}) AND (F_NumParam3 = {3}) order by F_MonitorIndex asc",ob)).Tables[0].DefaultView;
if(dvm.Count>0)
{
dm=dbo.ExceSQL(string.Format("SELECT F_MonitorIndex,F_ManageTASKKINDINDEX, F_ManageTaskIndex FROM T_Monitor_Task where F_ManageTASKKINDINDEX={0} and F_ManageTaskIndex={1} order by F_MonitorIndex asc",Convert.ToInt32(dvm[0]["F_ManageTASKKINDINDEX"]),Convert.ToInt32(dvm[0]["F_ManageTASKINDEX"]))).Tables[0].DefaultView;
sql.Append("update T_Monitor_Task set F_MonitorTaskLevel=10 where F_ManageTASKKINDINDEX=").Append(dvm[0]["F_ManageTASKKINDINDEX"]).Append(" and F_ManageTaskIndex=").Append(dvm[0]["F_ManageTaskIndex"]);
dbo.ExceSQL(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("update T_Manage_Task set FTASKLEVEL=10 where F_ManageTASKKINDINDEX=").Append(dvm[0]["F_ManageTASKKINDINDEX"]).Append(" and FID=").Append(dvm[0]["F_ManageTaskIndex"]);
dv=dbo.ExceSQL(string.Format("SELECT F_BoxBarcode, F_HaveFirstProject FROM T_Base_PLC_Ask WHERE (F_DeviceIndex = {0})",devinfo.DeviceIndex)).Tables[0].DefaultView;
dbo.ExceSQL(string.Format("update T_Base_PLC_Ask set F_BoxBarcode='{1}',F_HaveFirstProject = '2' WHERE (F_DeviceIndex = {0})",devinfo.DeviceIndex,conbatch));
//}
//else
//{
// RefreshMonitorEventArgs rme = new RefreshMonitorEventArgs("tsStatus", string.Format("������������ControlBatchAlterSendPLCʱ��{0}", "�������κ�д��ʧ�ܣ�"));
// OnRefreshMonitor(rme);
//}
}
else
{//�1
//witemnames = new StringBuilder[1] { new StringBuilder("DB1,byte" + devinfo.Dbw1Address.ToString()) };
//wv = new StringBuilder[1] { new StringBuilder("1") };
dbo.ExceSQL(string.Format("update T_Base_PLC_Ask set F_BoxBarcode='{1}',F_HaveFirstProject = '1' WHERE (F_DeviceIndex = {0})",devinfo.DeviceIndex,conbatch));
//}
//else
//{
// RefreshMonitorEventArgs rme = new RefreshMonitorEventArgs("tsStatus", string.Format("������������ControlBatchAlterSendPLCʱ��{0}", "�������κ�д��ʧ�ܣ�"));
// OnRefreshMonitor(rme);
//}
}
}
else
{//������ͬ
//witemnames = new StringBuilder[1] { new StringBuilder("DB1,byte" + devinfo.Dbw1Address.ToString()) };
//wv = new StringBuilder[1] { new StringBuilder("1") };
dv=dbo.ExceSQL(string.Format("SELECT FSTARTDEVICE, FCONTORL_BATCH FROM T_Manage_Task WHERE (F_ManageTaskKindIndex ={0}) AND (FID = {1})",mti,fid)).Tables[0].DefaultView;
if(dv.Count>0)
{
startdev=dv[0]["FSTARTDEVICE"].ToString();
conbatch=dv[0]["FCONTORL_BATCH"].ToString();
}
else
{
returnfalse;
}
dv=dbo.ExceSQL(string.Format("SELECT F_MonitorIndex FROM T_Manage_Task,T_Monitor_Task where T_Manage_Task.F_ManageTaskKindIndex = T_Monitor_Task.F_ManageTASKKINDINDEX AND FID = F_ManageTaskIndex and (FSTARTDEVICE = '{0}') AND (FCONTORL_BATCH = '{1}') AND (T_Monitor_Task.F_NumParam4 = {2})",startdev,conbatch,endconveyor)).Tables[0].DefaultView;
dv=dbo.ExceSQL(string.Format("SELECT T_Base_Lane_Gate.F_LaneGateDeviceIndex FROM T_Base_Lane_Gate ,T_Base_LaneInfo WHERE T_Base_Lane_Gate.F_LaneIndex = T_Base_LaneInfo.F_LaneDeviceIndex And (T_Base_LaneInfo.F_StackIndex = {0}) AND (T_Base_Lane_Gate.F_ZXY = '{1}')",stackDevice,zxy)).Tables[0].DefaultView;
if(dv.Count>0)
{
returnConvert.ToInt32(dv[0][0]);
}
else
{
return-1;
}
}
catch(Exceptionex)
{
throwex;
}
finally
{
dv.Dispose();
}
}
/// <summary>
/// �������ڶ��̲߳���������SQL����
/// </summary>
publicvoidActionDeadLock()
{//20100108
DataViewdv=newDataView();
try
{
sql.Remove(0,sql.Length);
sql.Append("select * from T_DeadLock where f_flag=0 order by f_id asc");
sql.Append("SELECT F_DeviceIndex FROM T_Base_Device where F_DeviceIndex=").Append(DeviceIdx).Append(" and F_ErrorTaskNo=").Append(TaskIdx);
//20100108
dt=dbo.ExceSQL(sql.ToString()).Tables[0];
if(dt.Rows.Count>=1)
{
sql.Remove(0,sql.Length);
sql.Append("update T_Monitor_Task set F_Status= ").Append(ErrId).Append(" where (F_MonitorIndex= ").Append(TaskIdx).Append(") and ((F_Status!= ").Append(ErrId).Append(") and (F_Status!= 3 and F_Status>0))");//20121203
sql.Append("update T_Monitor_Task set F_Status= ").Append(ErrId).Append(" where (F_MonitorIndex= ").Append(corrtaskindex[i]).Append(") and ((F_Status!= ").Append(ErrId).Append(") and (F_Status!= 3 and F_Status>0))");//20121203
sql.Append("update IO_Control set ERROR_TEXT='").Append(devinfo.DeviceName).Append(",").Append(DeviceIdx).Append(errs.ErrorName).Append("' where CONTROL_ID=").Append(fid);
// int ControlType = ccf.GetFCONTROLTASKTYPEFromManageTask(_mti, _fid);
// if ((ControlType == 2) && (remark.Length != 0))
// {
// //��������ȡ����ʱ���¹�����
// sql.Remove(0, sql.Length);
// sql.Append("update IDX_ASRS_RECEIVE set COMPLETIONTIME =sysdate, TASKSTATUS=8 where TASKTYPE = 'PK' and (TASKSTATUS=0 or TASKSTATUS=3) and GROUPTASKID='").Append(remark).Append("'");
// //sql.Append("update IO_Control set ERROR_TEXT='").Append(devinfo.DeviceName).Append(",").Append(DeviceIdx).Append(errs.ErrorName).Append("' where CONTROL_ID=").Append(fid);
sql.Append("SELECT F_DeviceIndex, F_ErrorIndex FROM T_Base_Device_Error_Log Where F_ManageTaskNo=").Append(fid).Append(" and F_DeviceIndex=").Append(DeviceIdx).Append(" and F_ErrorIndex=").Append(errs.ErrorIndex);
sql.Append("UPDATE T_Base_Device_Error_Log SET F_DateTime ='").Append(DateTime.Now.ToString("u")).Append("' Where F_DeviceIndex=").Append(DeviceIdx).Append(" and F_ErrorIndex=").Append(errs.ErrorIndex).Append(" and F_ManageTaskNo=").Append(fid);
dbo.ExceSQL(sql.ToString());
}
else
{
sql.Remove(0,sql.Length);
sql.Append("INSERT INTO T_Base_Device_Error_Log (F_ManageTaskNo,F_DeviceIndex, F_ErrorIndex, F_DateTime) VALUES (").Append(fid).Append(",").Append(DeviceIdx).Append(",").Append(errs.ErrorIndex).Append(",'").Append(DateTime.Now.ToString("u")).Append("')");
dbo.ExceSQL(sql.ToString());
}
}
}
sql.Remove(0,sql.Length);
sql.Append("update T_Monitor_Task set F_Status= ").Append(ErrId).Append(" where F_MonitorIndex= ").Append(TaskIdx).Append(" and (F_Status!= 3 and F_Status>0)");//20121203
dbo.ExceSQL(sql.ToString());
//��¼�������ϵ��豸����ִ�е�������
sql.Remove(0,sql.Length);
sql.Append("update T_Base_Device set F_ErrorTaskNo= ").Append(TaskIdx).Append(" where F_DeviceIndex= ").Append(DeviceIdx);
dbo.ExceSQL(sql.ToString());
sql.Remove(0,sql.Length);
if(errs!=null)
{//20160501
sql.Append("update T_Manage_Task set FERRORCODE='").Append(devinfo.DeviceName).Append(",").Append(DeviceIdx).Append(errs.ErrorName).Append("' where F_ManageTaskKindIndex=").Append(mti).Append(" and FID=").Append(fid);
}
else
{
sql.Append("update T_Manage_Task set FERRORCODE='").Append(devinfo.DeviceName).Append(",").Append(DeviceIdx).Append("����:").Append(ErrId).Append("' where F_ManageTaskKindIndex=").Append(mti).Append(" and FID=").Append(fid);
sql.Append("SELECT FID FROM T_Manage_Task WHERE (").Append(rcontrolidstr.ToString()).Append(") AND (F_ManageTaskKindIndex = ").Append(mti).Append(") and (").Append(errusefork).Append(" )");
sql.Append("update T_Monitor_Task set F_STATUS=-1 where F_ManageTaskKindIndex=").Append(mti).Append(" and F_ManageTaskIndex=").Append(fid).Append(" and F_STATUS=0");
dbo.ExceSQL(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("update T_Manage_Task set FExceptionNO=").Append(Model.CGeneralFunction.TASKEMPTYOUTPUT).Append(" where (F_ManageTaskKindIndex = ").Append(mti).Append(") AND (FID = ").Append(fid).Append(")");
dbo.ExceSQL(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("select * from T_Monitor_Task WHERE (F_ManageTaskIndex = ").Append(fid).Append(") AND (F_ManageTASKKINDINDEX =").Append(mti).Append(")");
sql.Append("SELECT FID FROM T_Manage_Task WHERE (").Append(rcontrolidstr.ToString()).Append(") AND (F_ManageTaskKindIndex = ").Append(mti).Append(") and (").Append(errusefork).Append(" )");
sql.Append("update T_Manage_Task set FCONTROLTASKTYPE=2,FSTARTDEVICE=FENDDEVICE,FSTARTCELL=FENDCELL,FENDDEVICE=").Append(enddevice
).Append(",FENDCELL='-',FExceptionNO=").Append(Model.CGeneralFunction.TASKREPEATINPUT).Append(" where (FID = ").Append(fid).Append(") AND (F_ManageTASKKINDINDEX =").Append(mti).Append(")");
dbo.ExceSQL(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("select FSTARTDEVICE from T_Manage_Task where (FID = ").Append(fid).Append(") AND (F_ManageTASKKINDINDEX =").Append(mti).Append(")");
sql.Append("UPDATE ST_CELL SET FRUNSTATUS=0,FCELLSTATUS = 1,FPALLETBARCODE='").Append(dv[0]["FPALLETBARCODE"]).Append("' WHERE (FLaneWay=").Append(dv[0]["FENDDEVICE"]).Append(" and F_Z='").Append(
fcc[0]).Append("' and F_X='").Append(fcc[1]).Append("' and F_Y='").Append(fcc[2]).Append("')");
sql.Append("UPDATE ST_CELL SET FRUNSTATUS=0,FCELLSTATUS =0,FPALLETBARCODE='-' WHERE (FLaneWay=").Append(dv[0]["FSTARTDEVICE"]).Append(" and F_Z=").Append(
fcc[0]).Append(" and F_X=").Append(fcc[1]).Append(" and F_Y=").Append(fcc[2]).Append(")");
sql.Append("UPDATE ST_CELL SET FCELLSTATUS = 1,FPALLETBARCODE='").Append(dv[0]["FPALLETBARCODE"]).Append("' WHERE (FLaneWay=").Append(dv[0]["FENDDEVICE"]).Append(" and F_Z=").Append(
fcc[0]).Append(" and F_X=").Append(fcc[1]).Append(" and F_Y=").Append(fcc[2]).Append(")");
sql.Append("UPDATE ST_CELL SET FRUNSTATUS=0,FCELLSTATUS = 1,FPALLETBARCODE='").Append(dv[0]["FPALLETBARCODE"]).Append("' WHERE F_Z=").Append(
fcc[0]).Append(" and F_X=").Append(fcc[1]).Append(" and F_Y=").Append(fcc[2]);
dbo.ExceSQL(sql.ToString());
}
break;
default:
break;
}
//20101028
sql.Remove(0,sql.Length);
sql.Append("update T_Manage_Task set FSTATUS=999,FENDTIME='").Append(dtime).Append("' where FID=").Append(fid).Append(" and F_ManageTaskKindIndex= ").Append(mti);
dbo.ExceSQL(sql.ToString());
}
else
{
//switch (dv[0]["FCONTROLTASKTYPE"].ToString())
//{
// case "1":
// if (dv[0]["FENDCELL"].ToString().IndexOf("-") > 0)//20100905
// {
// fcc = dv[0]["FENDCELL"].ToString().Split(cc);
// sql.Remove(0, sql.Length);
// sql.Append("UPDATE ST_CELL SET FRUNSTATUS=0,FPALLETBARCODE='-' WHERE (FLaneWay=" ).Append( dv[0]["FENDDEVICE"] ).Append( " and F_Z='" ).Append(
// fcc[0] ).Append( "' and F_X='" ).Append( fcc[1] ).Append( "' and F_Y='" ).Append( fcc[2] ).Append( "')");
// dbo.ExceSQL(sql.ToString());
// }
// break;
// case "2":
// if (dv[0]["FSTARTCELL"].ToString().IndexOf("-") > 0)//20100905
// sql.Append("UPDATE ST_CELL SET FRUNSTATUS=0,FPALLETBARCODE='" ).Append( dv[0]["FPALLETBARCODE"] ).Append( "' WHERE (FLaneWay=" ).Append( dv[0]["FSTARTDEVICE"] ).Append( " and F_Z=" ).Append(
// fcc[0] ).Append( " and F_X=" ).Append( fcc[1] ).Append( " and F_Y=" ).Append( fcc[2] ).Append( ")");
// dbo.ExceSQL(sql.ToString());
// }
// break;
// default:
// break;
//}
//20101028
sql.Remove(0,sql.Length);
sql.Append("update T_Manage_Task set FSTATUS=900,FENDTIME='").Append(dtime).Append("' where FID=").Append(fid).Append(" and F_ManageTaskKindIndex= ").Append(mti);
dbo.ExceSQL(sql.ToString());
}
}
////20101028
//sql.Remove(0, sql.Length);
//sql.Append("INSERT INTO T_Manage_Task_BAK SELECT * FROM T_Manage_Task where FID=").Append(fid).Append(" and F_ManageTaskKindIndex!=1");
//dbo.ExecuteSql(sql.ToString());
sql.Remove(0,sql.Length);
sql.Append("delete from T_Manage_Task where FID=").Append(fid).Append(" and F_ManageTaskKindIndex= ").Append(mti);
sql.Append("SELECT FREMARK FROM T_Manage_Task WHERE (FID = ").Append(fid).Append(") AND (F_ManageTaskKindIndex = ").Append(mti).Append(")");
objectarrcell=dbo.GetSingle(sql.ToString());
if(arrcell==null)returnfalse;
string[]spcell=arrcell.ToString().Split(cc);
sql.Remove(0,sql.Length);
sql.Append("select F_NumParam4, F_NumParam5,F_NumParam6, F_RouteID,F_MonitorTaskLevel, F_UseAwayFork, F_TxtParam,F_AheadDetect,F_PriorMonitor,F_AGVTask,F_AGVNextTask,F_ChangeStackCell from T_Monitor_Task where F_MonitorIndex=").Append(monitorindex);
sql.Append("SELECT F_LaneGateDeviceIndex FROM T_Base_Lane_Gate WHERE (F_ZXY = '").Append(arrcell.ToString()).Append("') and F_LaneIndex=").Append(laneway);