SOURCE

console 命令行工具 X clear

                    
>
console
const vs = require("../systemScripts/variable");
/**
 * 工夹具信息常量
 */
const CLAMP_INFO = {
    "4350": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA01"
    },
    "4351": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA01"
    },
    "4352": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA01"
    },
    "4353": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA01"
    },
    "4354": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA01"
    },
    "4355": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA01"
    },
    "4356": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA01"
    },
    "4357": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA01"
    },
    "4358": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA01"
    },
    "4359": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA01"
    },
    "4360": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA01"
    },
    "4361": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA01"
    },
    "4362": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA01"
    },
    "4363": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA01"
    },
    "4364": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA01"
    },
    "4365": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA01"
    },
    "4366": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA01"
    },
    "4367": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA01"
    },
    "4368": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA01"
    },
    "4369": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA02"
    },
    "4370": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA02"
    },
    "4371": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA02"
    },
    "4372": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA02"
    },
    "4373": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA02"
    },
    "4374": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA02"
    },
    "4375": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA02"
    },
    "4376": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA02"
    },
    "4377": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA02"
    },
    "4378": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA02"
    },
    "4379": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA02"
    },
    "4380": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA02"
    },
    "4381": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA02"
    },
    "4382": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA02"
    },
    "4383": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA02"
    },
    "4384": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA02"
    },
    "4385": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA02"
    },
    "4386": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA02"
    },
    "4387": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA02"
    },
    "4388": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA03"
    },
    "4389": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA03"
    },
    "4390": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA03"
    },
    "4391": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA03"
    },
    "4392": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA03"
    },
    "4393": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA03"
    },
    "4394": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA03"
    },
    "4395": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA03"
    },
    "4396": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA03"
    },
    "4397": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA03"
    },
    "4398": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA03"
    },
    "4399": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA03"
    },
    "4400": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA03"
    },
    "4401": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA03"
    },
    "4402": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA03"
    },
    "4403": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA03"
    },
    "4404": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA03"
    },
    "4405": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA03"
    },
    "4406": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA03"
    },
    "4407": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA04"
    },
    "4408": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA04"
    },
    "4409": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA04"
    },
    "4410": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA04"
    },
    "4411": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA04"
    },
    "4412": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA04"
    },
    "4413": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA04"
    },
    "4414": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA04"
    },
    "4415": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA04"
    },
    "4416": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA04"
    },
    "4417": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA04"
    },
    "4418": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA04"
    },
    "4419": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA04"
    },
    "4420": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA04"
    },
    "4421": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA04"
    },
    "4422": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA04"
    },
    "4423": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA04"
    },
    "4424": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA04"
    },
    "4425": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA04"
    },
    "4426": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA05"
    },
    "4427": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA05"
    },
    "4428": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA05"
    },
    "4429": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA05"
    },
    "4430": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA05"
    },
    "4431": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA05"
    },
    "4432": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA05"
    },
    "4433": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA05"
    },
    "4434": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA05"
    },
    "4435": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA05"
    },
    "4436": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA05"
    },
    "4437": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA05"
    },
    "4438": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA05"
    },
    "4439": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA05"
    },
    "4440": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA05"
    },
    "4441": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA05"
    },
    "4442": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA05"
    },
    "4443": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA05"
    },
    "4444": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA05"
    },
    "4445": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA06"
    },
    "4446": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA06"
    },
    "4447": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA06"
    },
    "4448": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA06"
    },
    "4449": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA06"
    },
    "4450": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA06"
    },
    "4451": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA06"
    },
    "4452": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA06"
    },
    "4453": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA06"
    },
    "4454": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA06"
    },
    "4455": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA06"
    },
    "4456": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA06"
    },
    "4457": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA06"
    },
    "4458": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA06"
    },
    "4459": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA06"
    },
    "4460": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA06"
    },
    "4461": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA06"
    },
    "4462": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA06"
    },
    "4463": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA06"
    },
    "4464": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA07"
    },
    "4465": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA07"
    },
    "4466": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA07"
    },
    "4467": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA07"
    },
    "4468": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA07"
    },
    "4469": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA07"
    },
    "4470": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA07"
    },
    "4471": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA07"
    },
    "4472": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA07"
    },
    "4473": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA07"
    },
    "4474": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA07"
    },
    "4475": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA07"
    },
    "4476": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA07"
    },
    "4477": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA07"
    },
    "4478": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA07"
    },
    "4479": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA07"
    },
    "4480": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA07"
    },
    "4481": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA07"
    },
    "4482": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA07"
    },
    "4483": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA08"
    },
    "4484": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA08"
    },
    "4485": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA08"
    },
    "4486": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA08"
    },
    "4487": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA08"
    },
    "4488": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA08"
    },
    "4489": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA08"
    },
    "4490": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA08"
    },
    "4491": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA08"
    },
    "4492": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA08"
    },
    "4493": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA08"
    },
    "4494": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA08"
    },
    "4495": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA08"
    },
    "4496": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA08"
    },
    "4497": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA08"
    },
    "4498": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA08"
    },
    "4499": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA08"
    },
    "4500": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA08"
    },
    "4501": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA08"
    },
    "4502": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA09"
    },
    "4503": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA09"
    },
    "4504": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA09"
    },
    "4505": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA09"
    },
    "4506": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA09"
    },
    "4507": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA09"
    },
    "4508": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA09"
    },
    "4509": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA09"
    },
    "4510": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA09"
    },
    "4511": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA09"
    },
    "4512": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA09"
    },
    "4513": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA09"
    },
    "4514": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA09"
    },
    "4515": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA09"
    },
    "4516": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA09"
    },
    "4517": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA09"
    },
    "4518": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA09"
    },
    "4519": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA09"
    },
    "4520": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA09"
    },
    "4521": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA10"
    },
    "4522": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA10"
    },
    "4523": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA10"
    },
    "4524": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA10"
    },
    "4525": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA10"
    },
    "4526": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA10"
    },
    "4527": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA10"
    },
    "4528": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA10"
    },
    "4529": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA10"
    },
    "4530": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA10"
    },
    "4531": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA10"
    },
    "4532": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA10"
    },
    "4533": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA10"
    },
    "4534": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA10"
    },
    "4535": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA10"
    },
    "4536": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA10"
    },
    "4537": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA10"
    },
    "4538": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA10"
    },
    "4539": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA10"
    },
    "4540": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA11"
    },
    "4541": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA11"
    },
    "4542": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA11"
    },
    "4543": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA11"
    },
    "4544": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA11"
    },
    "4545": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA11"
    },
    "4546": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA11"
    },
    "4547": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA11"
    },
    "4548": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA11"
    },
    "4549": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA11"
    },
    "4550": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA11"
    },
    "4551": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA11"
    },
    "4552": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA11"
    },
    "4553": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA11"
    },
    "4554": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA11"
    },
    "4555": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA11"
    },
    "4556": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA11"
    },
    "4557": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA11"
    },
    "4558": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA11"
    },
    "4559": {
        "clam_position_code": "HDFA_CKXMJ_POS",
        "clam_position_name": "冲坑下模具",
        "deviceCode": "HDFA12"
    },
    "4560": {
        "clam_position_code": "HDFA_DCSQD_POS",
        "clam_position_name": "定寸上切刀",
        "deviceCode": "HDFA12"
    },
    "4561": {
        "clam_position_code": "HDFA_DCXQD_POS",
        "clam_position_name": "定寸下切刀",
        "deviceCode": "HDFA12"
    },
    "4562": {
        "clam_position_code": "HDFA_KX1SQD_POS",
        "clam_position_name": "开线1上切刀",
        "deviceCode": "HDFA12"
    },
    "4563": {
        "clam_position_code": "HDFA_KX1XQD_POS",
        "clam_position_name": "开线1下切刀",
        "deviceCode": "HDFA12"
    },
    "4564": {
        "clam_position_code": "HDFA_KX2SQD_POS",
        "clam_position_name": "开线2上切刀",
        "deviceCode": "HDFA12"
    },
    "4565": {
        "clam_position_code": "HDFA_KX2XQD_POS",
        "clam_position_name": "开线2下切刀",
        "deviceCode": "HDFA12"
    },
    "4566": {
        "clam_position_code": "HDFA_DFSFT_POS",
        "clam_position_name": "顶封上封头",
        "deviceCode": "HDFA12"
    },
    "4567": {
        "clam_position_code": "HDFA_DFXFT_POS",
        "clam_position_name": "顶封下封头",
        "deviceCode": "HDFA12"
    },
    "4568": {
        "clam_position_code": "HDFA_CFSFT_POS",
        "clam_position_name": "侧封上封头",
        "deviceCode": "HDFA12"
    },
    "4569": {
        "clam_position_code": "HDFA_JFSFT_POS",
        "clam_position_name": "角封上封头",
        "deviceCode": "HDFA12"
    },
    "4570": {
        "clam_position_code": "HDFA_CFXFT_POS",
        "clam_position_name": "侧封下封头",
        "deviceCode": "HDFA12"
    },
    "4571": {
        "clam_position_code": "HDFA_JFXFT_POS",
        "clam_position_name": "角封下封头",
        "deviceCode": "HDFA12"
    },
    "4572": {
        "clam_position_code": "HDFA_CFQSBD_POS",
        "clam_position_name": "侧封切上边刀",
        "deviceCode": "HDFA12"
    },
    "4573": {
        "clam_position_code": "HDFA_CFQXBD_POS",
        "clam_position_name": "侧封切下边刀",
        "deviceCode": "HDFA12"
    },
    "4574": {
        "clam_position_code": "HDFA_MX_POS",
        "clam_position_name": "模芯",
        "deviceCode": "HDFA12"
    },
    "4575": {
        "clam_position_code": "HDFA_CKSMJ_POS",
        "clam_position_name": "冲坑上模具",
        "deviceCode": "HDFA12"
    },
    "4576": {
        "clam_position_code": "HDFA_BHMSQD_POS",
        "clam_position_name": "保护膜上切刀",
        "deviceCode": "HDFA12"
    },
    "4577": {
        "clam_position_code": "HDFA_BHMXQD_POS",
        "clam_position_name": "保护膜下切刀",
        "deviceCode": "HDFA12"
    }
}
/**
 * 校验并转化入参配置
 * @param {String} configStr
 */
const checkAndConvertConfig = configStr => {
    let config = JSON.parse(configStr);
    if (!config) {
        throw new Error('入参配置不是一个有效的JSON');
    }
    if (Number.isNaN(Number(config.tempVariId))) {
        throw new Error('缺少必要参数: 累加转变化辅助变量ID');
    }
    if (!Array.isArray(config.devices) || config.devices.length <= 0) {
        throw new Error('缺少必要参数: 设备信息集合');
    }
    return config;
}

/**
 * 从OL获取变量集合
 * @param {*} idArray
 */
const getVariableMap = async (idArray) => {
    if (!Array.isArray(idArray) || idArray.length <= 0) {
        return {};
    }
    let variables = await vs.getVariablesByIds(idArray.join(','));
    let variableMap = {};
    for (let item of variables) {
        variableMap[item.id] = item.value;
    }
    return variableMap;
}

/**
 * 获取累加转变化辅助变量值
 * @param {*} variableMap
 * @param {*} config
 */
const getCacheJson = (variableMap, config) => {
    let result = {};

    let cacheJsonStr = variableMap[config.tempVariId];
    if (!cacheJsonStr) {
        return result;
    }

    try {
        result = JSON.parse(cacheJsonStr);
    } catch (error) {
        result = {};
    }

    return result;
}

/**
 * 计算单个工夹具损耗信息
 */
function calculateCurrIdValue(cacheJson, inputId, variableMap, deviceCode, outputIds) {
    let oldValue = Number(cacheJson[inputId]) || 0;
    let newValue = Number(variableMap[inputId]) || 0;

    if (newValue < oldValue) {
        return "";
    }

    let usage = newValue - oldValue;
    let clampPositionCode = "";
    let clampPositionName = "";
    for (let k in CLAMP_INFO) {
        if (outputIds.includes(k)) {
            clampPositionCode = CLAMP_INFO[k]['clam_position_code'];
            clampPositionName = CLAMP_INFO[k]['clam_position_name'];
        }
    }

    let result = {
        deviceCode: deviceCode,
        clampPositionCode: clampPositionCode,
        clampPositionName: clampPositionName,
        usage: usage,
        timestamp: new Date().getTime()
    };

    return JSON.stringify(result);
}

/**
 * 主逻辑
 * @param {String} config
 */
const logic = async (config) => {
    let debug = {};
    config = checkAndConvertConfig(config);
    debug.inputConfig = config;

    // 构建最后写入ol的变量Map
    let writeVariableMap = {};

    // 构建需要从ol获取的所有变量id集合
    let olInputIdArray = [];
    config.devices.forEach(device => {
        for (let k in device) {
            k !== 'deviceCode' && olInputIdArray.push(device[k]['inputId'])
        }
    });
    olInputIdArray.push(config.tempVariId);

    // 获取变量Map
    let variableMap = await getVariableMap(olInputIdArray);

    // 获取暂存的json对象
    let cacheJson = getCacheJson(variableMap, config);
    debug.cacheJson = cacheJson;

    // 构建新的json对象
    let newJson = {};
    olInputIdArray.forEach(id => {
        newJson[id] = Number(variableMap[id])
    });

    // 将新的累加转变化辅助变量值预放入写值map
    writeVariableMap[config.tempVariId] = JSON.stringify(newJson);
    debug.newJson = newJson;
    debug.devices = {};

    for (let device of config.devices) {
        let obj = {};
        // 获取到每一台设备的计算结果
        for (let k in device) {
            if (k !== 'deviceCode') {
                let inputId = device[k]['inputId'];
                let outputIds = device[k]['outputIds'];
                    outputIds.split(',').forEach((i) => {
					let outputJsonStr = calculateCurrIdValue(cacheJson, inputId, variableMap, device['deviceCode'], i);
					writeVariableMap[i] = outputJsonStr
					obj[i] = outputJsonStr;
                })
                // let outputJsonStr = calculateCurrIdValue(cacheJson, inputId, variableMap, device['deviceCode'], outputIds);
                // 建立outputId和outputJsonStr的一对一映射
                // outputIds.split(',').forEach(i => writeVariableMap[i] = outputJsonStr);
                
            }
        }
        debug.devices[device['deviceCode']] = obj;
    }

    // 记录debug
    if (config.debugVarId) {
        writeVariableMap[config.debugVarId] = JSON.stringify(debug);
    }

    // 处理预写入ol的变量
    let writeVariablePromise = [];
    for (let id in writeVariableMap) {
        let value = writeVariableMap[id];
        if (!value) {
            continue;
        }
        writeVariablePromise.push(vs.setVariable(id, value));
    }
    await Promise.all(writeVariablePromise);
}

module.exports = {
    main: logic
}
{     "debugVarId": 4663,     "tempVariId": 4664,        "devices": [         {                        "deviceCode": "HDFA01",                  "dfft": {"inputId": 306, "outputIds": "4357,4358"},              "cfjfft": {"inputId": 307, "outputIds": "4359,4360,4361,4362"},              "cfqbd": {"inputId": 308, "outputIds": "4363,4364"},              "mxsxmj": {"inputId": 4616, "outputIds": "4350,4365,4366"},  			"dcqd": {"inputId": 4615, "outputIds": "4351,4352"},  			"kxqd": {"inputId": 4617, "outputIds": "4353,4354,4355,4356"},  			"bhmqd": {"inputId": 4618, "outputIds": "4367,4368"}          }, {                        "deviceCode": "HDFA02",                  "dfft": {"inputId": 609, "outputIds": "4376,4377"},              "cfjfft": {"inputId": 610, "outputIds": "4378,4379,4380,4381"},              "cfqbd": {"inputId": 611, "outputIds": "4382,4383"},              "mxsxmj": {"inputId": 4620, "outputIds": "4369,4384,4385"},  			"dcqd": {"inputId": 4619, "outputIds": "4370,4371"},  			"kxqd": {"inputId": 4621, "outputIds": "4372,4373,4374,4375"},  			"bhmqd": {"inputId": 4622, "outputIds": "4386,4387"}          }, {                        "deviceCode": "HDFA03",                  "dfft": {"inputId": 911, "outputIds": "4395,4396"},              "cfjfft": {"inputId": 912, "outputIds": "4397,4398,4399,4400"},              "cfqbd": {"inputId": 913, "outputIds": "4401,4402"},              "mxsxmj": {"inputId": 4624, "outputIds": "4388,4403,4404"},  			"dcqd": {"inputId": 4623, "outputIds": "4389,4390"},  			"kxqd": {"inputId": 4625, "outputIds": "4391,4392,4393,4394"},  			"bhmqd": {"inputId": 4626, "outputIds": "4405,4406"}          }, {                        "deviceCode": "HDFA04",                  "dfft": {"inputId": 1213, "outputIds": "4414,4415"},              "cfjfft": {"inputId": 1214, "outputIds": "4416,4417,4418,4419"},              "cfqbd": {"inputId": 1215, "outputIds": "4420,4421"},              "mxsxmj": {"inputId": 4628, "outputIds": "4407,4422,4423"},  			"dcqd": {"inputId": 4627, "outputIds": "4408,4409"},  			"kxqd": {"inputId": 4629, "outputIds": "4410,4411,4412,4413"},  			"bhmqd": {"inputId": 4630, "outputIds": "4424,4425"}          }, {                        "deviceCode": "HDFA05",                  "dfft": {"inputId": 1515, "outputIds": "4433,4434"},              "cfjfft": {"inputId": 1516, "outputIds": "4435,4436,4437,4438"},              "cfqbd": {"inputId": 1517, "outputIds": "4439,4440"},              "mxsxmj": {"inputId": 4632, "outputIds": "4426,4441,4442"},  			"dcqd": {"inputId": 4631, "outputIds": "4427,4428"},  			"kxqd": {"inputId": 4633, "outputIds": "4429,4430,4431,4432"},  			"bhmqd": {"inputId": 4634, "outputIds": "4443,4444"}          }, {                        "deviceCode": "HDFA06",                  "dfft": {"inputId": 1817, "outputIds": "4452,4453"},              "cfjfft": {"inputId": 1818, "outputIds": "4454,4455,4456,4457"},              "cfqbd": {"inputId": 1819, "outputIds": "4458,4459"},              "mxsxmj": {"inputId": 4636, "outputIds": "4445,4460,4461"},  			"dcqd": {"inputId": 4635, "outputIds": "4446,4447"},  			"kxqd": {"inputId": 4637, "outputIds": "4448,4449,4450,4451"},  			"bhmqd": {"inputId": 4638, "outputIds": "4462,4463"}          }, {                        "deviceCode": "HDFA07",                  "dfft": {"inputId": 2119, "outputIds": "4471,4472"},              "cfjfft": {"inputId": 2120, "outputIds": "4473,4474,4475,4476"},              "cfqbd": {"inputId": 2121, "outputIds": "4477,4478"},              "mxsxmj": {"inputId": 4640, "outputIds": "4464,4479,4480"},  			"dcqd": {"inputId": 4639, "outputIds": "4465,4466"},  			"kxqd": {"inputId": 4641, "outputIds": "4467,4468,4469,4470"},  			"bhmqd": {"inputId": 4642, "outputIds": "4481,4482"}          }, {                        "deviceCode": "HDFA08",                  "dfft": {"inputId": 2421, "outputIds": "4490,4491"},              "cfjfft": {"inputId": 2422, "outputIds": "4492,4493,4494,4495"},              "cfqbd": {"inputId": 2423, "outputIds": "4496,4497"},              "mxsxmj": {"inputId": 4644, "outputIds": "4483,4498,4499"},  			"dcqd": {"inputId": 4643, "outputIds": "4484,4485"},  			"kxqd": {"inputId": 4645, "outputIds": "4486,4487,4488,4489"},  			"bhmqd": {"inputId": 4646, "outputIds": "4500,4501"}          }, {                        "deviceCode": "HDFA09",                  "dfft": {"inputId": 2723, "outputIds": "4509,4510"},              "cfjfft": {"inputId": 2724, "outputIds": "4511,4512,4513,4514"},              "cfqbd": {"inputId": 2725, "outputIds": "4515,4516"},              "mxsxmj": {"inputId": 4648, "outputIds": "4502,4517,4518"},  			"dcqd": {"inputId": 4647, "outputIds": "4503,4504"},  			"kxqd": {"inputId": 4649, "outputIds": "4505,4506,4507,4508"},  			"bhmqd": {"inputId": 4650, "outputIds": "4519,4520"}          }, {                        "deviceCode": "HDFA10",                  "dfft": {"inputId": 3025, "outputIds": "4528,4529"},              "cfjfft": {"inputId": 3026, "outputIds": "4530,4531,4532,4533"},              "cfqbd": {"inputId": 3027, "outputIds": "4534,4535"},              "mxsxmj": {"inputId": 4652, "outputIds": "4521,4536,4537"},  			"dcqd": {"inputId": 4651, "outputIds": "4522,4523"},  			"kxqd": {"inputId": 4653, "outputIds": "4524,4525,4526,4527"},  			"bhmqd": {"inputId": 4654, "outputIds": "4538,4539"}          }, {                        "deviceCode": "HDFA11",                  "dfft": {"inputId": 3327, "outputIds": "4547,4548"},              "cfjfft": {"inputId": 3328, "outputIds": "4549,4550,4551,4552"},              "cfqbd": {"inputId": 3329, "outputIds": "4553,4554"},              "mxsxmj": {"inputId": 4656, "outputIds": "4540,4555,4556"},  			"dcqd": {"inputId": 4655, "outputIds": "4541,4542"},  			"kxqd": {"inputId": 4657, "outputIds": "4543,4544,4545,4546"},  			"bhmqd": {"inputId": 4658, "outputIds": "4557,4558"}          }, {                        "deviceCode": "HDFA12",                  "dfft": {"inputId": 3629, "outputIds": "4566,4567"},              "cfjfft": {"inputId": 3630, "outputIds": "4568,4569,4570,4571"},              "cfqbd": {"inputId": 3631, "outputIds": "4572,4573"},              "mxsxmj": {"inputId": 4660, "outputIds": "4559,4574,4575"},  			"dcqd": {"inputId": 4659, "outputIds": "4560,4561"},  			"kxqd": {"inputId": 4661, "outputIds": "4562,4563,4564,4565"},  			"bhmqd": {"inputId": 4662, "outputIds": "4576,4577"}         }     ] }