375 lines
12 KiB
Plaintext
375 lines
12 KiB
Plaintext
|
||
|
||
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 = String(ctrlInfo[10]);
|
||
ctrlReq.strOffsetNo = String(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 = String(ctrlInfo[10]);
|
||
ctrlReq.strOffsetNo = String(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 = String(ctrlInfo[10]);
|
||
ctrlReq.strOffsetNo = String(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 = String(ctrlInfo[10]);
|
||
ctrlReq.strOffsetNo = String(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 = String(ctrlInfo[10]);
|
||
ctrlReq.strOffsetNo = String(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 = String(ctrlInfo[10]);
|
||
ctrlReq.strOffsetNo = String(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 = String(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;
|
||
}
|