CREATE OR REPLACE FORCE VIEW V_DEVICE_ERROR_LOG AS SELECT T_Base_Device_Error_Log.F_ManageTaskNo AS 管理任务号, T_Base_Device_Error_Log.F_ErrorIndex AS 错误索引, T_Base_Device_Error_Log.F_DeviceIndex AS 设备索引, T_Base_Device.F_DeviceName AS 设备名称, T_Base_Device_State.F_DeviceErrorIndex AS 设备故障编号, T_Base_Device_State.F_ErrorName AS 故障名称, T_Base_Device_Error_Log.F_DateTime AS 发生时间, T_Base_Device_State.F_DeviceKindIndex AS 设备种类索引 FROM T_Base_Device_Error_Log INNER JOIN T_Base_Device_State ON T_Base_Device_Error_Log.F_ErrorIndex = T_Base_Device_State.F_ErrorIndex INNER JOIN T_Base_Device ON T_Base_Device_Error_Log.F_DeviceIndex = T_Base_Device.F_DeviceIndex WHERE ( T_Base_Device_State.F_DeviceErrorIndex >= 10) AND ( T_Base_Device_State.F_Visual = 1); CREATE OR REPLACE FORCE VIEW V_MANAGE_TASK AS SELECT T_Manage_Task.FPALLETBARCODE AS 条码, T_Manage_Task.FID AS 调度任务索引, T_Manage_Task.F_RELATIVECONTORLID AS 关联任务索引, T_Base_Manage_Task_Kind.F_TaskKindName AS 任务类型, T_ITEMTASKTYPE.FNAME AS 作业类型, T_Manage_Task.FSTARTDEVICE AS 起点, T_Manage_Task.FSTARTCELL AS 起点货位, T_Manage_Task.Fcurrentlocation AS 当前位置, T_Manage_Task.FENDDEVICE AS 终点, T_Manage_Task.FENDCELL AS 终点货位, T_BASE_MANAGE_STATUS.FDESCRIPTION AS 任务状态, T_Manage_Task.FBEGTIME AS 开始时间, T_Manage_Task.ftasklevel AS 优先级, T_Manage_Task.FERRORCODE AS 故障信息, t_Manage_Task.Fintostepok as 拆分状态, T_BASE_MANAGE_STATUS.FSTATUSID AS F_Status FROM T_Manage_Task INNER JOIN T_Base_Manage_Task_Kind ON T_Manage_Task.F_ManageTaskKindIndex = T_Base_Manage_Task_Kind.F_TaskKindIndex INNER JOIN T_BASE_MANAGE_STATUS ON T_Manage_Task.FSTATUS = T_BASE_MANAGE_STATUS.FSTATUSID INNER JOIN T_ITEMTASKTYPE ON T_Manage_Task.FCONTROLTASKTYPE = T_ITEMTASKTYPE.FCODE ORDER BY T_Manage_Task.FID; CREATE OR REPLACE FORCE VIEW V_MONITOR_ROUTE_DEVICE AS SELECT T_Base_Device.F_DeviceKindIndex, T_Base_Device.F_DeviceName, T_Base_Device.F_LockedState, T_Base_Route_Device.F_SerialNumber, T_Monitor_Task.F_RouteID, T_Monitor_Task.F_DeviceIndex, T_Monitor_Task.F_DeviceCommandIndex, T_Monitor_Task.F_Associate, T_Monitor_Task.F_AheadDetect, T_Monitor_Task.F_AheadTrigger, T_Monitor_Task.F_NumParam1, T_Monitor_Task.F_NumParam3, T_Monitor_Task.F_NumParam2, T_Monitor_Task.F_NumParam5, T_Monitor_Task.F_NumParam4, T_Monitor_Task.F_NumParam6, T_Monitor_Task.F_TxtParam, T_Monitor_Task.F_CurrentLocation, T_Monitor_Task.F_RunningLock, T_Monitor_Task.F_Status, T_Monitor_Task.F_StartTime, T_Monitor_Task.F_EndTime, T_Monitor_Task.F_ManageTaskIndex, T_Monitor_Task.F_ManageTASKKINDINDEX, T_Monitor_Task.F_MonitorIndex, T_Monitor_Task.F_MonitorTaskLevel, T_Monitor_Task.F_AgvNo, T_Monitor_Task.F_AgvTask, T_Monitor_Task.F_AGVNextTask, T_Monitor_Task.F_HaveGoods, T_Monitor_Task.F_ErrorCode, T_Monitor_Task.F_SendCount, T_Monitor_Task.F_AcceptAffirm, T_Monitor_Task.F_PriorMonitor, T_Base_Device.F_ManTaskReserve, T_Base_Route.F_OutsideAltDevice, T_Base_Route.F_InsideAltDevice, T_Base_Route.F_StartDevice, T_Base_Route.F_EndDevice, T_Base_Route.F_RouteKind, T_Monitor_Task.F_UseAwayFork FROM T_Monitor_Task INNER JOIN T_Base_Route_Device ON T_Monitor_Task.F_RouteID = T_Base_Route_Device.F_RouteIDSub AND T_Monitor_Task.F_DeviceIndex = T_Base_Route_Device.F_DeviceIndex INNER JOIN T_Base_Device ON T_Monitor_Task.F_DeviceIndex = T_Base_Device.F_DeviceIndex INNER JOIN T_Base_Route ON T_Base_Route_Device.F_RouteID = T_Base_Route.F_RouteID; CREATE OR REPLACE FORCE VIEW V_MONITOR_TASK AS SELECT T_Monitor_Task.F_TxtParam AS 条码, T_Monitor_Task.F_ManageTaskIndex AS 调度任务索引, T_Monitor_Task.F_MonitorIndex AS 设备指令索引, T_Monitor_Task.F_DeviceIndex AS 设备索引, T_Monitor_Task.F_CURRENTLOCATION AS 运行位置, T_Monitor_Task.f_Goalconveyor AS 目标位置, T_Base_Device.F_DeviceName AS 设备名称, T_Monitor_Task.F_DeviceCommandIndex AS 设备命令索引, T_Base_Device_Command.F_DeviceCommandName AS 设备命令名称, T_Base_Device_State.F_ErrorName AS 设备状态, T_Monitor_Task.F_ErrorCode AS 执行检测未通过提示, t_base_PLC_RunDetect.F_DetectDescription AS 设备不继续执行的提示, T_Monitor_Task.F_NumParam1 AS 起点Z, T_Monitor_Task.F_NumParam2 AS 起点X, T_Monitor_Task.F_NumParam3 AS 起点Y, T_Monitor_Task.F_NumParam4 AS 终点Z, T_Monitor_Task.F_NumParam5 AS 终点X, T_Monitor_Task.F_NumParam6 AS 终点Y, T_Monitor_Task.F_UseAwayFork AS 货叉, T_Monitor_Task.F_StartTime AS 开始时间, T_Monitor_Task.F_Status FROM T_Monitor_Task INNER JOIN T_Base_Device_State ON T_Monitor_Task.F_Status = T_Base_Device_State.F_DeviceErrorIndex INNER JOIN T_Base_Manage_Task_Kind ON T_Monitor_Task.F_ManageTASKKINDINDEX = T_Base_Manage_Task_Kind.F_TaskKindIndex INNER JOIN T_Base_Device ON T_Monitor_Task.F_DeviceIndex = T_Base_Device.F_DeviceIndex AND T_Base_Device_State.F_DeviceKindIndex = T_Base_Device.F_DeviceKindIndex INNER JOIN T_Base_Device_Command ON T_Monitor_Task.F_DeviceCommandIndex = T_Base_Device_Command.F_DeviceCommandIndex AND T_Base_Device.F_DeviceKindIndex = T_Base_Device_Command.F_DeviceKindIndex INNER JOIN T_Manage_Task ON T_Monitor_Task.F_ManageTaskIndex = T_Manage_Task.FID AND T_Monitor_Task.F_ManageTASKKINDINDEX = T_Manage_Task.F_ManageTaskKindIndex INNER JOIN t_base_PLC_RunDetect ON T_Base_Device.F_DeviceKindIndex = t_base_PLC_RunDetect.F_DeviceKindIndex AND T_Monitor_Task.F_PLC_RunDetect = t_base_PLC_RunDetect.F_RunDetectIndex ORDER BY T_Monitor_Task.F_MonitorIndex;