{
  "imgBasePath": "",
  "serverUrl": "",
  "suffix": "wf",
  "eventlstUrl": "",
  "loadSubFlag": 1,
  "waterOpacity": 0.04,
  "subOpacity": [
    0.65,
    0.5
  ],
  "screenScale": 1,
  "resizeWidth": false,
  "resizeHeight": false,
  "part": {
    "image": {
      "width": 30,
      "height": 30
    },
    "defaultType": {
      "Start": "0",
      "Node": "10",
      "Event": "81",
      "Gateway": "72",
      "Robot": "41",
      "Virtual": "900",
      "Cluster": "210",
      "Subflow": "60",
      "End": "100"
    }
  },
  "fileMenuPos": [
    12,
    -6
  ],
  "nodemove": 0,
  "nodeNameWidth": 50,
  "nodetype": {
    "Node_Start": {
      "id": "Node_Start",
      "data": 0,
      "label": "Manual start",
      "title": "Initiate the process by the user",
      "className": "com.horizon.wf.expand.node.NodeStartImpl"
    },
    "Node_Timer_Start": {
      "id": "Node_Timer_Start",
      "data": 1,
      "label": "Scheduled start",
      "title": "Initiate the process by scheduled tasks",
      "className": "com.horizon.wf.expand.node.NodeStartImpl"
    },
    "Node_Signal_Start": {
      "id": "Node_Signal_Start",
      "data": 2,
      "label": "Signal start",
      "title": "Initiate the process by the specified signal",
      "className": "com.horizon.wf.expand.node.NodeStartImpl"
    },
    "Node_Msg_Start": {
      "id": "Node_Msg_Start",
      "data": 3,
      "label": "Message Start",
      "title": "Initiated when a specified message is received",
      "className": "com.horizon.wf.expand.node.NodeStartImpl"
    },
    "Node_Single": {
      "id": "Node_Single",
      "data": 10,
      "label": "Single Operator Activity",
      "title": "The node has only one operator",
      "className": "com.horizon.wf.expand.node.NodeSingleImpl"
    },
    "Node_Multi_Single": {
      "id": "Node_Multi_Single",
      "data": 11,
      "label": "Multi-Operator Single",
      "title": "Just one to operate when the node has more than one operators",
      "className": "com.horizon.wf.expand.node.NodeMultiSingleImpl"
    },
    "Node_Multi": {
      "id": "Node_Multi",
      "data": 20,
      "label": "Multi-Operator Parallel",
      "title": "The operator can specify multiple and proceed according to the following rules",
      "className": "com.horizon.wf.expand.node.NodeMultiImpl"
    },
    "Node_Order": {
      "id": "Node_Order",
      "data": 25,
      "label": "Multi-Operator Order",
      "title": "The operator can specify multiple and operated by in order",
      "className": "com.horizon.wf.expand.node.NodeOrderImpl"
    },
    "Node_Merger": {
      "id": "Node_Merger",
      "data": 30,
      "label": "Manual Merging",
      "title": "The node has only one operator",
      "className": "com.horizon.wf.expand.node.NodeMergerImpl"
    },
    "Node_Progressively": {
      "id": "Node_Progressively",
      "data": 50,
      "label": "Internal Loop",
      "title": "Only when the conditions are met will be submitted to the next node",
      "className": "com.horizon.wf.expand.node.NodeProgressivelyImpl"
    },
    "Node_Auto_Program": {
      "id": "Node_Auto_Program",
      "data": 41,
      "label": "Automatic Program",
      "title": "Triggered by scheduled tasks",
      "className": "com.horizon.wf.expand.node.NodeAutoImpl"
    },
    "Node_Sub": {
      "id": "Node_Sub",
      "data": 60,
      "label": "Sub-Process",
      "title": "Automatically create sub process instances for configuration",
      "className": "com.horizon.wf.expand.node.NodeSubFlowImpl"
    },
    "Node_GateWay_Split": {
      "id": "Node_GateWay_Split",
      "data": 71,
      "label": "Branch Gateway",
      "title": "Branch",
      "className": "com.horizon.wf.expand.node.NodeConditionImpl"
    },
    "Node_GateWay_Merge": {
      "id": "Node_GateWay_Merge",
      "data": 72,
      "label": "Merge Gateway",
      "title": "Unattended",
      "className": "com.horizon.wf.expand.node.GateWayMergeImpl"
    },
    "Node_Event_Intermediate": {
      "id": "Node_Event_Intermediate",
      "data": 81,
      "label": "Intermediate Events",
      "title": "These events are triggered by Process Timing Tasks, immediately executed",
      "className": "com.horizon.wf.expand.node.NodeAutoImpl"
    },
    "Node_Event_Timer": {
      "id": "Node_Event_Timer",
      "data": 82,
      "label": "Timed Events",
      "title": "Triggered by a scheduled task, according to the set time",
      "className": "com.horizon.wf.expand.node.NodeAutoImpl"
    },
    "Node_Event_Message": {
      "id": "Node_Event_Message",
      "data": 83,
      "label": "Message Events",
      "title": "Triggered by a scheduled task, upon receiving the specified message",
      "className": "com.horizon.wf.expand.node.NodeAutoImpl"
    },
    "Node_Event_Signal_Throw": {
      "id": "Node_Event_Signal_Throw",
      "data": 84,
      "label": "Signal Throwing",
      "title": "the flow automatically call the signal sending API, throwing the signa",
      "className": "com.horizon.wf.expand.node.NodeAutoImpl"
    },
    "Node_Event_Signal_Catch": {
      "id": "Node_Event_Signal_Catch",
      "data": 85,
      "label": "Signal Capture",
      "title": "Triggered by a scheduled task, after the specified information is currently captured",
      "className": "com.horizon.wf.expand.node.NodeAutoImpl"
    },
    "Node_End": {
      "id": "Node_End",
      "data": 100,
      "label": "End Of Branch",
      "title": "The current branch ends (if there is only one branch, the instance flow ends)",
      "className": "com.horizon.wf.expand.node.NodeEndImpl"
    },
    "Node_End_Instance": {
      "id": "Node_End_Instance",
      "data": 101,
      "label": "End Of Instance",
      "title": "If there are other branches, cancel them and the instance flow ends",
      "className": "com.horizon.wf.expand.node.NodeEndImpl"
    },
    "Node_Mutual": {
      "id": "Node_Mutual",
      "data": 210,
      "label": "Engine Interaction",
      "title": "Used to convert engine servers during multi engine collaborative flow",
      "className": ""
    },
    "Node_Virtual": {
      "id": "Node_Virtual",
      "data": 900,
      "label": "Virtual Node",
      "className": ""
    }
  },
  "flownode": {
    "image": {
      "width": 50,
      "height": 50,
      "defurl": "/img/define/node_",
      "doneurl": "/img/done/node_",
      "jumpurl": "/img/jump/node_",
      "waringurl": "/img/extended/node_",
      "nowurl": "/img/now/node_",
      "deleteurl": "/img/delete.png"
    },
    "color": {
      "extended": "#DF3031",
      "jump": "#1F76C8",
      "done": "#529208",
      "now": "#FF8600",
      "define": "#868686"
    },
    "colorTip": {
      "extended": "Overdue Node",
      "jump": "Skip Node",
      "done": "Processed Node",
      "now": "Active Node",
      "define": "Not Processed Node"
    }
  },
  "iconPosition": {
    "isH": true,
    "x": "left",
    "xpos": 0,
    "y": "bottom",
    "ypos": 0,
    "ymin": 460,
    "opacity": 0.6
  },
  "limitTypes": [
    {
      "label": "Nature day",
      "data": "1"
    },
    {
      "label": "Work day",
      "data": "0"
    }
  ],
  "varTypes": [
    {
      "label": "Varchar",
      "data": "1"
    },
    {
      "label": "Number",
      "data": "2"
    },
    {
      "label": "Boolean",
      "data": "3"
    },
    {
      "label": "Date",
      "data": "4"
    },
    {
      "label": "Datetime",
      "data": "5"
    },
    {
      "label": "Organization",
      "data": "6"
    },
    {
      "label": "Other",
      "data": "10"
    }
  ],
  "orgTypes": {
    "person": "User",
    "dept": "Dept",
    "depts": "Dept(Excluding)",
    "group": "Group",
    "position": "Post"
  },
  "deptTypes": {
    "D": "Including Sub Dept",
    "S": "Excluding Sub Dept",
    "DJ": "Interface Person",
    "DF": "header",
    "DL": "Leader In Charge"
  },
  "control": {
    "OuterSelect": {
      "label": "Set up an external operator"
    },
    "ManualSelect": {
      "label": "Select the operator from the settings list"
    },
    "FreeSelect": {
      "label": "Allow selection when the operator is empty",
      "title": "The selection range can be customized.\nWhen none is selected, it means that all equivalents are allowed to be selected",
      "select": true,
      "area": [
        {
          "label": "Dept",
          "data": "D"
        },
        {
          "label": "Group",
          "data": "G"
        },
        {
          "label": "Post",
          "data": "P"
        }
      ]
    },
    "AutoPass": {
      "label": "Skip this node when the operator is empty",
      "title": "This setting is invalid when starting node submission to this node\n(When creating a new instance, skipping the first node is not allowed)"
    },
    "PassCurUser": {
      "label": "When the operator includes the current person, skip this person"
    },
    "PassNodeUser": {
      "label": "Skip specified node operator",
      "passNode": true
    },
    "AgentFlag": {
      "label": "Effective agency settings"
    },
    "OnlySelectUser": {
      "label": "Only allow selection of personnel"
    },
    "Author": [
      "OuterSelect",
      "ManualSelect",
      "FreeSelect",
      "AutoPass",
      "PassCurUser",
      "PassNodeUser",
      "AgentFlag",
      "OnlySelectUser"
    ],
    "SecondAuthor": [
      "ManualSelect",
      "FreeSelect",
      "OnlySelectUser"
    ],
    "Reader": [
      "OuterSelect",
      "ManualSelect",
      "FreeSelect",
      "OnlySelectUser"
    ]
  },
  "exceptions": {
    "WFE_0001": "Instance creation event exception",
    "WFE_0010": "Node Overdue",
    "WFE_0020": "Event interface execution failed",
    "WFE_0030": "Event node automatic submission failed",
    "WFE_0040": "Gateway interface execution failed",
    "WFE_0060": "Node entry event execution failed",
    "WFE_0070": "Node departure event execution failed",
    "WFE_0080": "Current node instance open event execution failed",
    "WFE_0090": "Node operation completion event execution failed",
    "WFE_0120": "Node enters rule operation exception",
    "WFE_0140": "Node automatic activation execution failed",
    "WFE_0160": "Node end rule operation exception",
    "WFE_0200": "Automatic node program execution exception",
    "WFE_0210": "Abnormal execution of automatic node rules",
    "WFE_0220": "Automatic node service execution exception",
    "WFE_0230": "Global Overdue"
  },
  "dealType": [
    {
      "label": "Ignore",
      "data": "1"
    },
    {
      "label": "Jump",
      "data": "2"
    },
    {
      "label": "Suspend",
      "data": "3"
    },
    {
      "label": "Terminate",
      "data": "4"
    },
    {
      "label": "Customize",
      "data": "0"
    }
  ],
  "sendMsg": {
    "Read": "Read",
    "Mail": "Mail",
    "Msg": "Msg",
    "SMS": "SMS",
    "IM": "IM"
  },
  "defSendMsg": "SMS",
  "eventType": {
    "flowopen": "Execute when opening a node",
    "flowin": "Enter node execution",
    "flowout": "Leave node execution",
    "flowsave": "Execute before the operation is completed",
    "flowover": "Execute after the operation is completed"
  },
  "defOperator": {
    "Author": [
      "submit",
      "startflow",
      "save"
    ],
    "SecondAuthor": [
      "secondSubmit",
      "save"
    ],
    "Reader": [
      "addreader",
      "readed"
    ],
    "Done": [
      "getback"
    ],
    "Creator": [
      "urge",
      "startflow"
    ],
    "Manager": [
      "replace",
      "stop",
      "pause",
      "goto",
      "reduceAuthor"
    ]
  },
  "subflow": "subflow",
  "operators": {
    "Author": [
      "startflow",
      "submit",
      "save",
      "addSecondauthor",
      "innerSubmit",
      "freesubmit",
      "reject",
      "jumpreject",
      "innerreject",
      "rejectSubmit",
      "addreader",
      "huiqian",
      "huiqianSubmit",
      "jiaqian",
      "jiaqianBefore",
      "reduceAuthor",
      "goto",
      "stop",
      "pause",
      "move",
      "subflow"
    ],
    "SecondAuthor": [
      "secondSubmit",
      "addSecondauthor",
      "save"
    ],
    "Reader": [
      "addreader",
      "readed"
    ],
    "Done": [
      "getback",
      "reduceAuthor",
      "reissue",
      "reissuerouter"
    ],
    "Creator": [
      "urge",
      "cancel",
      "startflow"
    ],
    "Manager": [
      "replace",
      "stop",
      "pause",
      "goto",
      "reduceAuthor"
    ],
    "startflow": {
      "name": "Initiate Process",
      "id": "startflow",
      "implClass": "com.horizon.wf.action.ActionSubmitFirst",
      "node": "start",
      "reName": "Initiate Process",
      "memo": "Initiate Process"
    },
    "submit": {
      "name": "Submit",
      "id": "submit",
      "implClass": "com.horizon.wf.action.ActionSubmit",
      "node": "task",
      "reName": "Submit",
      "memo": "Default Submit"
    },
    "gatherNext": {
      "name": "Next",
      ",id": "gatherNext",
      "implClass": "com.horizon.wf.action.ActionGatherNext",
      "node": "task",
      "reName": "Next",
      "memo": "Pre operation"
    },
    "gatherReject": {
      "name": "Back",
      ",id": "gatherReject",
      "implClass": "com.horizon.wf.action.ActionGatherReject",
      "node": "task",
      "reName": "Back",
      "memo": "Pre operation"
    },
    "secondSubmit": {
      "name": "Secondary submit",
      "id": "secondSubmit",
      "implClass": "com.horizon.wf.action.ActionSubmitNotLeave",
      "node": "task",
      "reName": "Secondary submit",
      "memo": "The process submission operation performed by the assistant."
    },
    "innerSubmit": {
      "name": "Internal Submit",
      "id": "innerSubmit",
      "implClass": "com.horizon.wf.action.ActionSubmitForProgressively",
      "node": "task~(50)",
      "reName": "Internal Submit",
      "memo": "The process submission operation in internal loop node"
    },
    "freesubmit": {
      "name": "Free Submit",
      "id": "freesubmit",
      "implClass": "com.horizon.wf.action.ActionSubmitForFree",
      "node": "task~[30]",
      "reName": "Free Submit",
      "memo": "Execute the submission without defining the next node, and the system automatically creates a node"
    },
    "huiqianSubmit": {
      "name": "Parallel Submit",
      "id": "huiqianSubmit",
      "implClass": "com.horizon.wf.action.ActionSubmitHuiqian",
      "node": "task~[30][50]",
      "reName": "Parallel Submit",
      "memo": "The process submission operation in Multi-Operator Parallel node"
    },
    "rejectSubmit": {
      "name": "Return Submission",
      "id": "rejectSubmit",
      "implClass": "com.horizon.wf.action.ActionSubmitForReject",
      "node": "task",
      "reName": "Return Submission",
      "memo": "Submit after performing the return operation"
    },
    "huiqian": {
      "name": "Initiate Multi-Operator",
      "id": "huiqian",
      "implClass": "com.horizon.wf.action.ActionHuiQian",
      "node": "task~[30][50]",
      "reName": "Initiate Multi-Operator",
      "memo": "the reviewer fills in the comments ,and can only submit them to the operator of the current node"
    },
    "jiaqianBefore": {
      "name": "Pre-add Reviewer",
      "id": "jiaqianBefore",
      "implClass": "com.horizon.wf.action.ActionJiaQianBefore",
      "node": "task~(25)",
      "reName": "Pre-add Reviewer",
      "memo": "the reviewer fills in the comments ,and can only add them to the next reviewer of the current node"
    },
    "reduceAuthor": {
      "name": "Remove Reviewer",
      "id": "reduceAuthor",
      "implClass": "com.horizon.wf.action.ActionReduceAuthor",
      "node": "task~(20)(25)",
      "reName": "Remove Reviewer",
      "memo": "Remove Reviewer"
    },
    "jiaqian": {
      "name": "Add Reviewer",
      "id": "jiaqian",
      "implClass": "com.horizon.wf.action.ActionJiaQian",
      "node": "task~(20)(25)",
      "reName": "Add Reviewer",
      "memo": "the reviewer fills in the comments ,and can only submit them to the operator of the current node"
    },
    "reject": {
      "name": "Return",
      "id": "reject",
      "implClass": "com.horizon.wf.action.ActionReject",
      "node": "task",
      "reName": "Return",
      "memo": "Return to a node that has been processed,support to set the range of nodes to be returned"
    },
    "jumpreject": {
      "name": "Return To Any Node",
      "id": "jumpreject",
      "implClass": "com.horizon.wf.action.ActionRejectByJump",
      "node": "task",
      "reName": "Return To Any Node",
      "memo": "Returns to any node"
    },
    "innerreject": {
      "name": "Internally Return",
      "id": "innerreject",
      "implClass": "com.horizon.wf.action.ActionRejectForInner",
      "node": "task~(25)(50)",
      "reName": "Internally Reject",
      "memo": "Return operation within a Multi-Operator Order node"
    },
    "reissue": {
      "name": "Add operator",
      "id": "reissue",
      "implClass": "com.horizon.wf.action.ActionReissue",
      "node": "task~(20)(25)",
      "reName": "Add operator",
      "memo": "Add an operator at the current node, this operation can only be used on a Multi-Operator node"
    },
    "reissuerouter": {
      "name": "Branch add operator",
      "id": "reissuerouter",
      "implClass": "com.horizon.wf.action.ActionReissueRouter",
      "node": "task~[30]",
      "reName": "Branch add operator",
      "memo": "other branches can be additionally submitted"
    },
    "getback": {
      "name": "Take back",
      "id": "getback",
      "implClass": "com.horizon.wf.action.ActionGetBack",
      "node": "task",
      "reName": "Take back",
      "memo": "Allow the previous node submitter to take back before the current operator handles the process"
    },
    "save": {
      "name": "Save",
      "id": "save",
      "implClass": "com.horizon.wf.action.ActionSave",
      "node": "task",
      "reName": "Save",
      "memo": "Save the form"
    },
    "goto": {
      "name": "Jump",
      "id": "goto",
      "implClass": "com.horizon.wf.action.ActionGoto",
      "node": "task,end,subflow",
      "reName": "Jump",
      "memo": "Jump to any processing node"
    },
    "move": {
      "name": "Transfer",
      "id": "move",
      "implClass": "com.horizon.wf.action.ActionMove",
      "node": "task",
      "reName": "Transfer",
      "memo": "Transfer the operation of the current node to other user for processing"
    },
    "cancel": {
      "name": "Withdraw",
      "id": "cancel",
      "implClass": "com.horizon.wf.action.ActionCancel",
      "node": "task;event;robot;gateway;cluster",
      "reName": "Withdraw",
      "memo": " The creator of the instance can cancel"
    },
    "pause": {
      "name": "Suspend",
      "id": "pause",
      "implClass": "com.horizon.wf.action.ActionPause",
      "node": "task;event;robot;gateway;cluster",
      "reName": "Suspend",
      "memo": " Suspend and restore the current process instance"
    },
    "replace": {
      "name": "Replace Operator",
      "id": "replace",
      "implClass": "com.horizon.wf.action.ActionReplaceAuthor",
      "node": "task",
      "reName": "Replace Operator",
      "memo": "Replace the operator of the current node"
    },
    "stop": {
      "name": "Terminate",
      "id": "stop",
      "implClass": "com.horizon.wf.action.ActionStop",
      "node": "task;event;robot;gateway;cluster",
      "reName": "Terminate",
      "memo": "Terminate the current process"
    },
    "addSecondauthor": {
      "name": "Add secondary operator",
      "id": "addSecondauthor",
      "implClass": "com.horizon.wf.action.ActionAddSecondAuthor",
      "node": "task",
      "reName": "Add secondary operator",
      "memo": "Add secondary operator"
    },
    "addreader": {
      "name": "Send to Read",
      "id": "addreader",
      "implClass": "com.horizon.wf.action.ActionAddReader",
      "node": "task;event;gateway;robot;end;cluster;subflow",
      "reName": "Send to Read",
      "memo": "Send to Read"
    },
    "readed": {
      "name": "Read",
      "id": "readed",
      "implClass": "com.horizon.wf.action.ActionReaded",
      "node": "task;event;robot;end;gateway;cluster;subflow",
      "reName": "Read",
      "memo": "Read"
    },
    "urge": {
      "name": "Urge",
      "id": "urge",
      "implClass": "com.horizon.wf.action.ActionReMsg",
      "node": "task",
      "reName": "Urge",
      "memo": "Urge"
    },
    "subflow": {
      "name": "Start Sub Process",
      "id": "subflow",
      "implClass": "com.horizon.wf.action.ActionStartMultiSubFlow",
      "node": "task",
      "reName": "Start Sub Process",
      "memo": "Start Sub Process"
    }
  },
  "participantsName": {
    "Author": "Primary",
    "SecondAuthor": "Secondary",
    "Reader": "Reader",
    "Done": "Processed",
    "Creator": "Creator",
    "Manager": "Administrator"
  },
  "sendUser": [
    {
      "label": "Creator",
      "data": "1"
    },
    {
      "label": "Administrators",
      "data": "2"
    }
  ],
  "relations": [
    {
      "data": "1",
      "label": "Personnel from the same department"
    },
    {
      "data": "2",
      "label": "Direct department leader"
    },
    {
      "data": "3",
      "label": "All superior leaders"
    },
    {
      "data": "4",
      "label": "Direct reports"
    },
    {
      "data": "5",
      "label": "All subordinates"
    },
    {
      "data": "6",
      "label": "Superior supervisor"
    },
    {
      "data": "9",
      "label": "All personnel in the higher-level department(Including sub departments)"
    },
    {
      "data": "16",
      "label": "All personnel in the higher-level department(Excluding sub departments)"
    },
    {
      "data": "15",
      "label": "Department pepresentative"
    },
    {
      "data": "17",
      "label": "Superior position"
    },
    {
      "data": "18",
      "label": "Superior position personnel"
    },
    {
      "data": "19",
      "label": "Subordinate positions"
    },
    {
      "data": "20",
      "label": "Subordinate positions personnel"
    },
    {
      "data": "99",
      "label": "Benchmark person"
    }
  ],
  "operatorListCon": [
    {
      "label": "in",
      "data": "in"
    },
    {
      "label": "noIn",
      "data": "noIn"
    }
  ],
  "operatorListStr": [
    {
      "label": "equal to",
      "data": "=="
    },
    {
      "label": "not equal to",
      "data": "!="
    }
  ],
  "operatorListNum": [
    {
      "label": "greater than",
      "data": ">"
    },
    {
      "label": "greater than or equal",
      "data": ">="
    },
    {
      "label": "less than",
      "data": "<"
    },
    {
      "label": "less than or equal",
      "data": "<="
    },
    {
      "label": "equal to",
      "data": "=="
    },
    {
      "label": "not equal to",
      "data": "!="
    }
  ],
  "relationNodeOption": {
    "d_0": "Nothing",
    "d_1": "Previous node",
    "d_2": "Specify nodes"
  },
  "relationBaseOption": {
    "d_0": "Nothing",
    "d_1": "Operator",
    "d_2": "Creator",
    "d_3": "Current-Operator"
  },
  "relationOption": {
    "d_Creator": "Creator",
    "d_PreDone": "Previous node operator",
    "d_CurUser": "Cur-Operator"
  },
  "ruleEditorPage": "/hz7sp2/workflow/module/rule/rule.editor.index.htm",
  "testFlowPage": "/hz7sp2/workflow/module/workflow/index.html"
}
