var g_activeTab = "border-top:1.5px solid #acacac; border-left:1.5px solid #acacac; border-bottom:0 solid #f5f5f5; border-right:1.5px solid #acacac; text-align:center; background-color:rgb(245,245,245);"; var g_inActiveTab = "border-top:1.5px solid #acacac; border-bottom:1.5px solid #acacac; border-right:2.5px solid qlineargradient(spread:repeat, x1:1, y1:0.5, x2:0, y2:0.5, stop:0.75 #acacac, stop:0.76 #ffffff); text-align:center; background-color:rgb(210,210,210);"; var CH_HMI_TO_OPT_OPTCMD_DOWN = 30; var CH_OPT_TO_HMI_OPTCMD_UP = 31; var MT_OPT_CTRL_UP_REQUEST_REPLY = 50 /*遥控请求应答*/ var MT_OPT_CTRL_UP_SELECT_REPLY = 51 /*遥控选择返校*/ var MT_OPT_CTRL_UP_EXECUTE_REPLY = 52 /*遥控执行返校*/ var MT_OPT_CTRL_UP_CANCEL_REPLY = 53 /*遥控取消返校*/ var MT_OPT_CTRL_UP_GUARD_REPLY = 54 /*HMI->OPT->HMI 监护返回报文*/ /*控制类型*/ var MT_OPT_CTRL_DOWN_REQUEST = 40; /*遥控请求*/ var MT_OPT_CTRL_DOWN_SELECT = 41; /*遥控预置*/ var MT_OPT_CTRL_DOWN_EXECUTE = 42; /*遥控执行*/ var MT_OPT_CTRL_DOWN_CANCEL = 43; /*遥控取消*/ var MT_OPT_CTRL_DOWN_CLOSE = 44; /*关闭或切换遥控对话框*/ var MT_OPT_CTRL_DOWN_GUARD = 45; /*遥控监护*/ var MT_OPT_AUTO_CTRL_DOWN = 30; /*自动控制 复归 投退*/ var MT_OPT_AUTO_CTRL_UP = 31; var MT_OPT_INTERN_HANDOVER = 32; var MT_OPT_INTERN_HANDOVER_UP = 33; var MT_OPT_TOKEN_SET = 20; var MT_OPT_TOKEN_DELETE = 21; var MT_OPT_TOKEN_MOVE = 22; var MT_OPT_TOKEN_MODIFY = 23; var MT_OPT_TOKEN_SYNC = 24; /*挂牌同步*/ var MT_OPT_AI_LIMIT_SET_DOWN = 1; var MT_OPT_AI_LIMIT_SET_UP = 2; var MT_OPT_SET_DATA = 3; var MT_OPT_PINHIBIT_REF = 4; var MT_OPT_PINHIBIT_ALARM = 5; var MT_OPT_PINHIBIT_CTRL = 6; var MT_OPT_TAG_VALUE_SET = 7; var MT_OPT_TAG_STATUS_SET = 8; var MT_OPT_SHIELD_SET_DOWN = 9; /*遥控面板操作阶段标志*/ var CTRL_ANSWER_FLAG = 0; var CTRL_SELECT_FLAG = 1; var CTRL_SELECT_REPLY_FLAG = 2; var CTRL_EXECUTE_FLAG = 3; var CTRL_EXECUTE_REPLY_FLAG = 4; var CTRL_CANCEL_REPLY_FLAG = 5; var TOKEN_REPLY_FLAG = 6; var CTRL_GUARD_FLAG = 7; var CTRL_GUARD_REPLY_FLAG = 8; var TOKEN_CTRL_REPLY_FLAG = 9; var CTRL_REANSWER_FLAG = 10; var CTRL_CANCEL_FLAG = 11; var CTRL_RESET_FLAG = 12; var CTRL_RESET_REPLY_FLAG = 13; var HAND_TO_LOC = 0; var HAND_TO_OCC = 1; var HAND_OCC_ACCEPT = 2; var HAND_LOC_ACCEPT = 3; var HAND_OCC_FORCE = 4; var HAND_LOC_FORCE = 5; var HAND_OCC_REJECT = 6; var HAND_LOC_REJECT = 7; var HAND_ON_OCC = 0; var HAND_ON_OCC_LOC = 1; var HAND_ON_LOC = 2; var HAND_ON_LOC_OOC = 3; var PERM_HMI_TYPE = 1; //<权限类型:画面 var PERM_REPORT_TYPE = 2; //<权限类型:报表 var PERM_NOM_FUNC_ID = 3; //<权限类型:普通功能ID var PERM_NOM_FUNC_DEF = 4; //<权限类型:普通功能宏定义 var PERM_SPE_FUNC_ID = 5; //<权限类型:特殊功能ID var PERM_SPE_FUNC_DEF = 6; //<权限类型:特殊功能宏定义 var PERM_DB_TABLE = 7; //<权限类型:数据库表 var PERM_DEPT = 8; //<权限类型:部门 // 发送遥控命令 function sendCtrlCmd(ctrlInfo) { if(ctrlInfo.length < 15) { showMessageDialog("sendCtrlCmd() ctrlInfo Error! ctrlInfo:" + ctrlInfo); return 0; } var curDate = new Date(); var curTime = getLocalMsec(); var logStr = ctrlInfo[14]; var appId = parseInt(ctrlInfo[2]); var ctrlDownInfo = {}; ctrlDownInfo.strSrcTag = logStr; ctrlDownInfo.nSrcDomainID = parseInt(ctrlInfo[0]); ctrlDownInfo.nDstDomainID = parseInt(ctrlInfo[1]); ctrlDownInfo.nAppID = parseInt(ctrlInfo[2]); ctrlDownInfo.strHostName = ctrlInfo[3]; ctrlDownInfo.strInstName = ctrlInfo[4]; ctrlDownInfo.strCommName = ctrlInfo[4]; ctrlDownInfo.nUserID = parseInt(ctrlInfo[5]); ctrlDownInfo.nUserGroupID = parseInt(ctrlInfo[6]); ctrlDownInfo.nOptTime = parseInt(curTime); var ctrlReqQueue = []; var ctrlReq = {}; var retCode = 1; var ctrlType = parseInt(ctrlInfo[13]); switch (ctrlType) { case MT_OPT_CTRL_DOWN_REQUEST: // 遥控请求 //showMessageDialog("requst"); ctrlReq.nCtrlType = 1; ctrlReq.strKeyIdTag = ctrlInfo[7]; ctrlReq.nCtrlActType = ctrlInfo[8]; ctrlReq.strCtrlActName = ctrlInfo[9]; ctrlReq.fTargetValue = ctrlInfo[10]; ctrlReq.strOffsetNo = ctrlInfo[11]; ctrlReq.bCheckInterLock = 1; ctrlReq.bIsDeviceOccupy = 1; ctrlReqQueue[0] = ctrlReq; ctrlDownInfo.OPT_DOWN_INFO = ctrlReqQueue; var str = JSON.stringify(ctrlDownInfo); retCode = SDAO.sendMessage(appId, CH_HMI_TO_OPT_OPTCMD_DOWN, ctrlType, str, ctrlInfo[1]); //showMessageDialog(str, retCode); break; case MT_OPT_CTRL_DOWN_SELECT: // 遥控选择 //showMessageDialog("select"); ctrlReq.nCtrlType = 1; ctrlReq.strKeyIdTag = ctrlInfo[7]; ctrlReq.nCtrlActType = parseInt(ctrlInfo[8]); ctrlReq.strCtrlActName = ctrlInfo[9]; ctrlReq.fTargetValue = parseFloat(ctrlInfo[10]); ctrlReq.strOffsetNo = parseInt(ctrlInfo[11]); ctrlReq.bIsDeviceOccupy = 0; ctrlReqQueue[0] = ctrlReq; ctrlDownInfo.OPT_DOWN_INFO = ctrlReqQueue; var str = JSON.stringify(ctrlDownInfo); retCode = SDAO.sendMessage(appId, CH_HMI_TO_OPT_OPTCMD_DOWN, ctrlType, str, ctrlInfo[1]); //showMessageDialog(str, retCode); break; case MT_OPT_CTRL_DOWN_EXECUTE: // 遥控执行 //showMessageDialog("execute"); ctrlReq.nCtrlType = 1; ctrlReq.strKeyIdTag = ctrlInfo[7]; ctrlReq.nCtrlActType = parseInt(ctrlInfo[8]); ctrlReq.strCtrlActName = ctrlInfo[9]; ctrlReq.fTargetValue = parseFloat(ctrlInfo[10]); ctrlReq.strOffsetNo = parseInt(ctrlInfo[11]); ctrlReq.bIsDeviceOccupy = 0; ctrlReqQueue[0] = ctrlReq; ctrlDownInfo.OPT_DOWN_INFO = ctrlReqQueue; var str = JSON.stringify(ctrlDownInfo); retCode = SDAO.sendMessage(appId, CH_HMI_TO_OPT_OPTCMD_DOWN, ctrlType, str, ctrlInfo[1]); //showMessageDialog(str, retCode); break; case MT_OPT_CTRL_DOWN_CANCEL: // 遥控取消 //showMessageDialog("cancel"); ctrlReq.nCtrlType = 1; ctrlReq.strKeyIdTag = ctrlInfo[7]; ctrlReq.nCtrlActType = parseInt(ctrlInfo[8]); ctrlReq.strCtrlActName = ctrlInfo[9]; ctrlReq.fTargetValue = parseFloat(ctrlInfo[10]); ctrlReq.strOffsetNo = parseInt(ctrlInfo[11]); ctrlReq.bIsDeviceOccupy = 0; ctrlReqQueue[0] = ctrlReq; ctrlDownInfo.OPT_DOWN_INFO = ctrlReqQueue; var str = JSON.stringify(ctrlDownInfo); retCode = SDAO.sendMessage(appId, CH_HMI_TO_OPT_OPTCMD_DOWN, ctrlType, str, ctrlInfo[1]); //showMessageDialog(str, retCode); break; case MT_OPT_CTRL_DOWN_CLOSE: // 关闭/切换遥控对话框 //showMessageDialog("close"); ctrlReq.nCtrlType = 1; ctrlReq.strKeyIdTag = ctrlInfo[7]; ctrlReq.nCtrlActType = parseInt(ctrlInfo[8]); ctrlReq.strCtrlActName = ctrlInfo[9]; ctrlReq.fTargetValue = parseFloat(ctrlInfo[10]); ctrlReq.strOffsetNo = parseInt(ctrlInfo[11]); ctrlReq.bIsDeviceOccupy = 0; ctrlReqQueue[0] = ctrlReq; ctrlDownInfo.OPT_DOWN_INFO = ctrlReqQueue; var str = JSON.stringify(ctrlDownInfo); retCode = SDAO.sendMessage(appId, CH_HMI_TO_OPT_OPTCMD_DOWN, ctrlType, str, ctrlInfo[1]); //showMessageDialog(str, retCode); break; case MT_OPT_AUTO_CTRL_DOWN: //自动控制 //showMessageDialog("auto ctrl"); ctrlReq.nCtrlType = 1; ctrlReq.strKeyIdTag = ctrlInfo[7]; ctrlReq.nCtrlActType = parseInt(ctrlInfo[8]); ctrlReq.strCtrlActName = ctrlInfo[9]; ctrlReq.fTargetValue = parseFloat(ctrlInfo[10]); ctrlReq.strOffsetNo = parseInt(ctrlInfo[11]); ctrlReq.bIsDeviceOccupy = 0; ctrlReq.bCheckInterLock = 1; ctrlReqQueue[0] = ctrlReq; ctrlDownInfo.OPT_DOWN_INFO = ctrlReqQueue; var str = JSON.stringify(ctrlDownInfo); retCode = SDAO.sendMessage(appId, CH_HMI_TO_OPT_OPTCMD_DOWN, ctrlType, str, ctrlInfo[1]); //showMessageDialog(str, retCode); break; case MT_OPT_CTRL_DOWN_GUARD: // 监护 ctrlReq.strKeyIdTag = ctrlInfo[7]; ctrlReq.strCtrlActName = ctrlInfo[9]; ctrlReq.fTargetValue = parseFloat(ctrlInfo[10]); ctrlReq.isAllow = parseInt(ctrlInfo[12]); ctrlReqQueue[0] = ctrlReq; ctrlDownInfo.OPT_DOWN_INFO = ctrlReqQueue; var str = JSON.stringify(ctrlDownInfo); retCode = SDAO.sendMessage(appId, CH_HMI_TO_OPT_OPTCMD_DOWN, ctrlType, str, ctrlInfo[1]); break; default: break; } return retCode; } function sendTokenCtrl(ctrlInfo) { if(ctrlInfo.length < 15) { showMessageDialog("sendTokenCtrl() ctrlInfo Error!"); return 0; } var curDate = new Date(); var curTime = getLocalMsec();//curDate.getTime(); var logStr = ctrlInfo[14]; var appId = parseInt(ctrlInfo[2]); var ctrlTokenInfo = {}; ctrlTokenInfo.strSrcTag = logStr; ctrlTokenInfo.nSrcDomainID = parseInt(ctrlInfo[0]); ctrlTokenInfo.nDstDomainID = parseInt(ctrlInfo[1]); ctrlTokenInfo.nAppID = parseInt(ctrlInfo[2]); ctrlTokenInfo.strHostName = ctrlInfo[3]; ctrlTokenInfo.strInstName = ctrlInfo[4]; ctrlTokenInfo.strCommName = ctrlInfo[4]; ctrlTokenInfo.nUserID = parseInt(ctrlInfo[5]); ctrlTokenInfo.nUserGroupID = parseInt(ctrlInfo[6]); ctrlTokenInfo.nOptTime = parseInt(curTime); var ctrlTokenQueue = []; var ctrlToken = {}; ctrlToken.strKeyIdTag = ctrlInfo[7]; ctrlToken.nTokenId = parseInt(ctrlInfo[8]); ctrlToken.nTokenPosX = parseInt(ctrlInfo[9]); ctrlToken.nTokenPosY = parseInt(ctrlInfo[10]); ctrlToken.nIsDisplay = 1; ctrlToken.strNote = ctrlInfo[12]; ctrlToken.nLocationId = parseInt(ctrlInfo[11]); ctrlToken.nSubSystem = parseInt(ctrlInfo[2]); ctrlTokenQueue[0] = ctrlToken; ctrlTokenInfo.OPT_DOWN_INFO = ctrlTokenQueue; var str = JSON.stringify(ctrlTokenInfo); var tokenType = parseInt(ctrlInfo[13]); var retCode = SDAO.sendMessage(appId, CH_HMI_TO_OPT_OPTCMD_DOWN, tokenType, str, ctrlInfo[1]); //showMessageDialog(str, retCode); return retCode; } function checkCtrlPerm(locationId, regionId) { var result = []; //遥控、挂牌、点标签 var permSpecSet = []; var permCtrl = []; var permToken = []; var prermTag = []; var permRet; permCtrl[0] = "FUNC_SPE_OPT_CTRL"; permCtrl[1] = regionId; permCtrl[2] = locationId; permToken[0] = "FUNC_SPE_OPT_TOKEN"; permToken[1] = regionId; permToken[2] = locationId; prermTag[0] = "FUNC_SPE_OPT_OVERRIDE"; prermTag[1] = regionId; prermTag[2] = locationId; permSpecSet[0] = permCtrl.join(","); permSpecSet[1] = permToken.join(","); permSpecSet[2] = prermTag.join(","); permRet = SDAO.getPerm(PERM_SPE_FUNC_DEF, permSpecSet); if (permRet[0] != 3) { result[0] = -1; return result; } result[0] = permRet[0]; result[1] = permRet[1]; result[2] = permRet[2]; result[3] = permRet[3]; return result; } function checkNomPerm(macro) { var result = []; var permNomSet = []; var permRet; permNomSet[0] = macro; permRet = SDAO.getPerm(PERM_NOM_FUNC_DEF, permNomSet); if(permRet[0] != 1) { result[0] = -1; return result; } result[0] = permRet[0]; result[1] = permRet[1]; return result; } function checkPicPerm(glx) { var result; var permPic = []; permPic[0] = glx; var permRet; permRet = SDAO.getPerm(PERM_HMI_TYPE, permPic); if (permRet[0] != 1) { result = 0; } result = permRet[1]; return result; } function checkReceiveMsg(va1, va2, num) { for(var i = 0; i < num; i ++) { if(va1[i] != va2[i]) return false; } return true; } function getCommonUpInfo(answerInfo) { var result = []; var jsonobj = JSON.parse(answerInfo); result[0] = jsonobj.strHostName; result[1] = jsonobj.strKeyIdTag; return result; }