diff --git a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java index 053db8a..c7b5d28 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java @@ -52,6 +52,11 @@ String KEY_CUR_COST_MAP_ID = "CUR_COST_MAP_ID_"; /** + * 探测器配置参数缓存 + */ + String KEY_CONFIG_PARAMS_ID = "KEY_CONFIG_PARAMS_ID_"; + + /** * 暂停状态缓存信息 */ String APP_NAV_PAUSE = "APP_NAV_PAUSE_ID_"; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java index 053db8a..c7b5d28 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java @@ -52,6 +52,11 @@ String KEY_CUR_COST_MAP_ID = "CUR_COST_MAP_ID_"; /** + * 探测器配置参数缓存 + */ + String KEY_CONFIG_PARAMS_ID = "KEY_CONFIG_PARAMS_ID_"; + + /** * 暂停状态缓存信息 */ String APP_NAV_PAUSE = "APP_NAV_PAUSE_ID_"; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java index 2c5b021..c9f4c06 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java @@ -1,9 +1,13 @@ package com.casic.missiles.modular.neutron.controller; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.cache.CacheUtil; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.constants.RobotDictConstants; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import io.swagger.annotations.ApiOperation; @@ -45,6 +49,11 @@ LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(DetectorConfig::getDetectorId,config.getDetectorId()); configService.saveOrUpdate(config,query); + ConfigDTO configDTO = new ConfigDTO(ObjectUtil.isNotEmpty(config.getPsdE())?Double.valueOf(config.getPsdE()):10000, + ObjectUtil.isNotEmpty(config.getIntegralThreshold())?Double.valueOf(config.getIntegralThreshold()):0); + //把参数写入缓存中,注意id存的是机器人的id + CacheUtil.put(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + config.getDetectorId(), configDTO); + return ResponseDataDTO.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java index 053db8a..c7b5d28 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java @@ -52,6 +52,11 @@ String KEY_CUR_COST_MAP_ID = "CUR_COST_MAP_ID_"; /** + * 探测器配置参数缓存 + */ + String KEY_CONFIG_PARAMS_ID = "KEY_CONFIG_PARAMS_ID_"; + + /** * 暂停状态缓存信息 */ String APP_NAV_PAUSE = "APP_NAV_PAUSE_ID_"; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java index 2c5b021..c9f4c06 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java @@ -1,9 +1,13 @@ package com.casic.missiles.modular.neutron.controller; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.cache.CacheUtil; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.constants.RobotDictConstants; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import io.swagger.annotations.ApiOperation; @@ -45,6 +49,11 @@ LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(DetectorConfig::getDetectorId,config.getDetectorId()); configService.saveOrUpdate(config,query); + ConfigDTO configDTO = new ConfigDTO(ObjectUtil.isNotEmpty(config.getPsdE())?Double.valueOf(config.getPsdE()):10000, + ObjectUtil.isNotEmpty(config.getIntegralThreshold())?Double.valueOf(config.getIntegralThreshold()):0); + //把参数写入缓存中,注意id存的是机器人的id + CacheUtil.put(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + config.getDetectorId(), configDTO); + return ResponseDataDTO.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java new file mode 100644 index 0000000..c9f8f8f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.neutron.dto; + +import lombok.Data; + +/** + * psd报警DTO + */ +@Data +public class ConfigDTO { + /** + *高速-波形甑别-E最大值 + */ + private Double psdMax; + /** + * 积分阈值设置-用于计算过滤mca值,不下发设 + */ + private Double mcaCutOffValue; + + + public ConfigDTO() { + } + + public ConfigDTO(Double psdMax, Double mcaCutOffValue) { + this.psdMax = psdMax; + this.mcaCutOffValue = mcaCutOffValue; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java index 053db8a..c7b5d28 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java @@ -52,6 +52,11 @@ String KEY_CUR_COST_MAP_ID = "CUR_COST_MAP_ID_"; /** + * 探测器配置参数缓存 + */ + String KEY_CONFIG_PARAMS_ID = "KEY_CONFIG_PARAMS_ID_"; + + /** * 暂停状态缓存信息 */ String APP_NAV_PAUSE = "APP_NAV_PAUSE_ID_"; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java index 2c5b021..c9f4c06 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java @@ -1,9 +1,13 @@ package com.casic.missiles.modular.neutron.controller; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.cache.CacheUtil; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.constants.RobotDictConstants; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import io.swagger.annotations.ApiOperation; @@ -45,6 +49,11 @@ LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(DetectorConfig::getDetectorId,config.getDetectorId()); configService.saveOrUpdate(config,query); + ConfigDTO configDTO = new ConfigDTO(ObjectUtil.isNotEmpty(config.getPsdE())?Double.valueOf(config.getPsdE()):10000, + ObjectUtil.isNotEmpty(config.getIntegralThreshold())?Double.valueOf(config.getIntegralThreshold()):0); + //把参数写入缓存中,注意id存的是机器人的id + CacheUtil.put(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + config.getDetectorId(), configDTO); + return ResponseDataDTO.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java new file mode 100644 index 0000000..c9f8f8f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.neutron.dto; + +import lombok.Data; + +/** + * psd报警DTO + */ +@Data +public class ConfigDTO { + /** + *高速-波形甑别-E最大值 + */ + private Double psdMax; + /** + * 积分阈值设置-用于计算过滤mca值,不下发设 + */ + private Double mcaCutOffValue; + + + public ConfigDTO() { + } + + public ConfigDTO(Double psdMax, Double mcaCutOffValue) { + this.psdMax = psdMax; + this.mcaCutOffValue = mcaCutOffValue; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java index ee06f87..a0ab958 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java @@ -114,6 +114,13 @@ @TableField("PSD_SHORT_GATE") @ApiModelProperty(value = "高速-波形甑别-短门") private String psdShortGate; + + /** + * 积分阈值设置 + */ + @TableField("INTEGRAL_THRESHOLD") + @ApiModelProperty(value = "积分阈值设置-用于计算过滤mca值,不下发设备") + private String integralThreshold; /** * 时间 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java index 053db8a..c7b5d28 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java @@ -52,6 +52,11 @@ String KEY_CUR_COST_MAP_ID = "CUR_COST_MAP_ID_"; /** + * 探测器配置参数缓存 + */ + String KEY_CONFIG_PARAMS_ID = "KEY_CONFIG_PARAMS_ID_"; + + /** * 暂停状态缓存信息 */ String APP_NAV_PAUSE = "APP_NAV_PAUSE_ID_"; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java index 2c5b021..c9f4c06 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java @@ -1,9 +1,13 @@ package com.casic.missiles.modular.neutron.controller; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.cache.CacheUtil; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.constants.RobotDictConstants; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import io.swagger.annotations.ApiOperation; @@ -45,6 +49,11 @@ LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(DetectorConfig::getDetectorId,config.getDetectorId()); configService.saveOrUpdate(config,query); + ConfigDTO configDTO = new ConfigDTO(ObjectUtil.isNotEmpty(config.getPsdE())?Double.valueOf(config.getPsdE()):10000, + ObjectUtil.isNotEmpty(config.getIntegralThreshold())?Double.valueOf(config.getIntegralThreshold()):0); + //把参数写入缓存中,注意id存的是机器人的id + CacheUtil.put(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + config.getDetectorId(), configDTO); + return ResponseDataDTO.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java new file mode 100644 index 0000000..c9f8f8f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.neutron.dto; + +import lombok.Data; + +/** + * psd报警DTO + */ +@Data +public class ConfigDTO { + /** + *高速-波形甑别-E最大值 + */ + private Double psdMax; + /** + * 积分阈值设置-用于计算过滤mca值,不下发设 + */ + private Double mcaCutOffValue; + + + public ConfigDTO() { + } + + public ConfigDTO(Double psdMax, Double mcaCutOffValue) { + this.psdMax = psdMax; + this.mcaCutOffValue = mcaCutOffValue; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java index ee06f87..a0ab958 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java @@ -114,6 +114,13 @@ @TableField("PSD_SHORT_GATE") @ApiModelProperty(value = "高速-波形甑别-短门") private String psdShortGate; + + /** + * 积分阈值设置 + */ + @TableField("INTEGRAL_THRESHOLD") + @ApiModelProperty(value = "积分阈值设置-用于计算过滤mca值,不下发设备") + private String integralThreshold; /** * 时间 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java index 69b1688..33e7470 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.neutron.service; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,4 +16,6 @@ boolean sendConfig(DetectorConfig config); + ConfigDTO getConfig(Long robId); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java index 053db8a..c7b5d28 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java @@ -52,6 +52,11 @@ String KEY_CUR_COST_MAP_ID = "CUR_COST_MAP_ID_"; /** + * 探测器配置参数缓存 + */ + String KEY_CONFIG_PARAMS_ID = "KEY_CONFIG_PARAMS_ID_"; + + /** * 暂停状态缓存信息 */ String APP_NAV_PAUSE = "APP_NAV_PAUSE_ID_"; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java index 2c5b021..c9f4c06 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java @@ -1,9 +1,13 @@ package com.casic.missiles.modular.neutron.controller; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.cache.CacheUtil; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.constants.RobotDictConstants; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import io.swagger.annotations.ApiOperation; @@ -45,6 +49,11 @@ LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(DetectorConfig::getDetectorId,config.getDetectorId()); configService.saveOrUpdate(config,query); + ConfigDTO configDTO = new ConfigDTO(ObjectUtil.isNotEmpty(config.getPsdE())?Double.valueOf(config.getPsdE()):10000, + ObjectUtil.isNotEmpty(config.getIntegralThreshold())?Double.valueOf(config.getIntegralThreshold()):0); + //把参数写入缓存中,注意id存的是机器人的id + CacheUtil.put(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + config.getDetectorId(), configDTO); + return ResponseDataDTO.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java new file mode 100644 index 0000000..c9f8f8f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.neutron.dto; + +import lombok.Data; + +/** + * psd报警DTO + */ +@Data +public class ConfigDTO { + /** + *高速-波形甑别-E最大值 + */ + private Double psdMax; + /** + * 积分阈值设置-用于计算过滤mca值,不下发设 + */ + private Double mcaCutOffValue; + + + public ConfigDTO() { + } + + public ConfigDTO(Double psdMax, Double mcaCutOffValue) { + this.psdMax = psdMax; + this.mcaCutOffValue = mcaCutOffValue; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java index ee06f87..a0ab958 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java @@ -114,6 +114,13 @@ @TableField("PSD_SHORT_GATE") @ApiModelProperty(value = "高速-波形甑别-短门") private String psdShortGate; + + /** + * 积分阈值设置 + */ + @TableField("INTEGRAL_THRESHOLD") + @ApiModelProperty(value = "积分阈值设置-用于计算过滤mca值,不下发设备") + private String integralThreshold; /** * 时间 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java index 69b1688..33e7470 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.neutron.service; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,4 +16,6 @@ boolean sendConfig(DetectorConfig config); + ConfigDTO getConfig(Long robId); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java index 9e0e888..62feb03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.neutron.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.neutron.dao.DetectorConfigMapper; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import com.casic.missiles.netty.InstructCode; @@ -9,6 +12,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** *

@@ -37,7 +41,7 @@ try { for (int i = 1; i <= codeArr.length / 3; i++) { - nettyClient.send(config.getDetectorId(),codeArr[i * 3 - 1]); + nettyClient.send(config.getDetectorId(), codeArr[i * 3 - 1]); Thread.sleep(500); } } catch (InterruptedException e) { @@ -46,4 +50,16 @@ } return true; } + + @Override + public ConfigDTO getConfig(Long robId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DETECTOR_ID", robId); + List configList = this.list(queryWrapper); + if (null != configList && configList.size() > 0) { + return new ConfigDTO(ObjectUtil.isNotEmpty(configList.get(0).getPsdE()) ? Double.valueOf(configList.get(0).getPsdE()) : 10000, + ObjectUtil.isNotEmpty(configList.get(0).getIntegralThreshold()) ? Double.valueOf(configList.get(0).getIntegralThreshold()) : 0); + } + return new ConfigDTO(10000.0, 0.0); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java index 053db8a..c7b5d28 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/constants/RobotDictConstants.java @@ -52,6 +52,11 @@ String KEY_CUR_COST_MAP_ID = "CUR_COST_MAP_ID_"; /** + * 探测器配置参数缓存 + */ + String KEY_CONFIG_PARAMS_ID = "KEY_CONFIG_PARAMS_ID_"; + + /** * 暂停状态缓存信息 */ String APP_NAV_PAUSE = "APP_NAV_PAUSE_ID_"; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java index 2c5b021..c9f4c06 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/controller/DetectorConfigController.java @@ -1,9 +1,13 @@ package com.casic.missiles.modular.neutron.controller; +import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.cache.CacheUtil; import com.casic.missiles.model.response.dto.ResponseDataDTO; +import com.casic.missiles.modular.constants.RobotDictConstants; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import io.swagger.annotations.ApiOperation; @@ -45,6 +49,11 @@ LambdaQueryWrapper query = new LambdaQueryWrapper<>(); query.eq(DetectorConfig::getDetectorId,config.getDetectorId()); configService.saveOrUpdate(config,query); + ConfigDTO configDTO = new ConfigDTO(ObjectUtil.isNotEmpty(config.getPsdE())?Double.valueOf(config.getPsdE()):10000, + ObjectUtil.isNotEmpty(config.getIntegralThreshold())?Double.valueOf(config.getIntegralThreshold()):0); + //把参数写入缓存中,注意id存的是机器人的id + CacheUtil.put(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + config.getDetectorId(), configDTO); + return ResponseDataDTO.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java new file mode 100644 index 0000000..c9f8f8f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.neutron.dto; + +import lombok.Data; + +/** + * psd报警DTO + */ +@Data +public class ConfigDTO { + /** + *高速-波形甑别-E最大值 + */ + private Double psdMax; + /** + * 积分阈值设置-用于计算过滤mca值,不下发设 + */ + private Double mcaCutOffValue; + + + public ConfigDTO() { + } + + public ConfigDTO(Double psdMax, Double mcaCutOffValue) { + this.psdMax = psdMax; + this.mcaCutOffValue = mcaCutOffValue; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java index ee06f87..a0ab958 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java @@ -114,6 +114,13 @@ @TableField("PSD_SHORT_GATE") @ApiModelProperty(value = "高速-波形甑别-短门") private String psdShortGate; + + /** + * 积分阈值设置 + */ + @TableField("INTEGRAL_THRESHOLD") + @ApiModelProperty(value = "积分阈值设置-用于计算过滤mca值,不下发设备") + private String integralThreshold; /** * 时间 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java index 69b1688..33e7470 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.neutron.service; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,4 +16,6 @@ boolean sendConfig(DetectorConfig config); + ConfigDTO getConfig(Long robId); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java index 9e0e888..62feb03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.neutron.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.neutron.dao.DetectorConfigMapper; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import com.casic.missiles.netty.InstructCode; @@ -9,6 +12,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** *

@@ -37,7 +41,7 @@ try { for (int i = 1; i <= codeArr.length / 3; i++) { - nettyClient.send(config.getDetectorId(),codeArr[i * 3 - 1]); + nettyClient.send(config.getDetectorId(), codeArr[i * 3 - 1]); Thread.sleep(500); } } catch (InterruptedException e) { @@ -46,4 +50,16 @@ } return true; } + + @Override + public ConfigDTO getConfig(Long robId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DETECTOR_ID", robId); + List configList = this.list(queryWrapper); + if (null != configList && configList.size() > 0) { + return new ConfigDTO(ObjectUtil.isNotEmpty(configList.get(0).getPsdE()) ? Double.valueOf(configList.get(0).getPsdE()) : 10000, + ObjectUtil.isNotEmpty(configList.get(0).getIntegralThreshold()) ? Double.valueOf(configList.get(0).getIntegralThreshold()) : 0); + } + return new ConfigDTO(10000.0, 0.0); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/NeutronOptServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/NeutronOptServiceImpl.java index 082843a..22f00af 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/NeutronOptServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/NeutronOptServiceImpl.java @@ -1,19 +1,16 @@ package com.casic.missiles.modular.neutron.service.impl; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.casic.missiles.common.WebSocket; import com.casic.missiles.core.cache.CacheUtil; import com.casic.missiles.modular.constants.RobotDictConstants; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.dto.HsDTO; import com.casic.missiles.modular.neutron.dto.PsdAlarmDTO; import com.casic.missiles.modular.neutron.model.Psd; import com.casic.missiles.modular.neutron.model.Vol; -import com.casic.missiles.modular.neutron.service.IDetectorLogService; -import com.casic.missiles.modular.neutron.service.INeutronOptService; -import com.casic.missiles.modular.neutron.service.IPsdService; -import com.casic.missiles.modular.neutron.service.IVolService; +import com.casic.missiles.modular.neutron.service.*; import com.casic.missiles.netty.CacheUtils; import com.casic.missiles.netty.InstructCode; import com.casic.missiles.netty.NettyClient; @@ -23,8 +20,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; @@ -42,6 +37,9 @@ private IDetectorLogService iLogService; @Autowired private WebSocket webSocket; + @Resource + private IDetectorConfigService iDetectorConfigService; + @Override public void deviceInit(Long detectorId) { @@ -97,9 +95,13 @@ Double psdRate = (Qlong - Qshort) * 1.000 / Qlong; psd.setPsd(String.format("%.2f", psdRate)); psd.setDetectorId(uid); - //设置psdx值 toDo:4096、100000 需要自动取 + ConfigDTO configDTO =CacheUtil.get(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + uid); + if(null==configDTO){ + configDTO=iDetectorConfigService.getConfig(uid); + } + //设置psdx值 toDo:4096 需要自动取 int psdx = (int) ((Qlong - Qshort) * 1.000 / Qlong * 4096); - int mcax = (int) ((Qlong) * 1.00000 / 100000 * 4096); + int mcax = (int) ((Qlong) * 1.00000 / configDTO.getPsdMax() * 4096); psd.setPsdx(psdx + ""); psd.setMcax(mcax + ""); //存缓存 @@ -111,7 +113,7 @@ hsDTO.setPsdX(null); hsDTO.setPsdY(null); } - if (mcax < 0 || mcax > 4096) { + if ( mcax > 4096||mcax query = new LambdaQueryWrapper<>(); query.eq(DetectorConfig::getDetectorId,config.getDetectorId()); configService.saveOrUpdate(config,query); + ConfigDTO configDTO = new ConfigDTO(ObjectUtil.isNotEmpty(config.getPsdE())?Double.valueOf(config.getPsdE()):10000, + ObjectUtil.isNotEmpty(config.getIntegralThreshold())?Double.valueOf(config.getIntegralThreshold()):0); + //把参数写入缓存中,注意id存的是机器人的id + CacheUtil.put(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + config.getDetectorId(), configDTO); + return ResponseDataDTO.success(); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java new file mode 100644 index 0000000..c9f8f8f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/dto/ConfigDTO.java @@ -0,0 +1,27 @@ +package com.casic.missiles.modular.neutron.dto; + +import lombok.Data; + +/** + * psd报警DTO + */ +@Data +public class ConfigDTO { + /** + *高速-波形甑别-E最大值 + */ + private Double psdMax; + /** + * 积分阈值设置-用于计算过滤mca值,不下发设 + */ + private Double mcaCutOffValue; + + + public ConfigDTO() { + } + + public ConfigDTO(Double psdMax, Double mcaCutOffValue) { + this.psdMax = psdMax; + this.mcaCutOffValue = mcaCutOffValue; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java index ee06f87..a0ab958 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/model/DetectorConfig.java @@ -114,6 +114,13 @@ @TableField("PSD_SHORT_GATE") @ApiModelProperty(value = "高速-波形甑别-短门") private String psdShortGate; + + /** + * 积分阈值设置 + */ + @TableField("INTEGRAL_THRESHOLD") + @ApiModelProperty(value = "积分阈值设置-用于计算过滤mca值,不下发设备") + private String integralThreshold; /** * 时间 */ diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java index 69b1688..33e7470 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/IDetectorConfigService.java @@ -1,5 +1,6 @@ package com.casic.missiles.modular.neutron.service; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,4 +16,6 @@ boolean sendConfig(DetectorConfig config); + ConfigDTO getConfig(Long robId); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java index 9e0e888..62feb03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/DetectorConfigServiceImpl.java @@ -1,7 +1,10 @@ package com.casic.missiles.modular.neutron.service.impl; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.casic.missiles.modular.neutron.dao.DetectorConfigMapper; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.model.DetectorConfig; import com.casic.missiles.modular.neutron.service.IDetectorConfigService; import com.casic.missiles.netty.InstructCode; @@ -9,6 +12,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; +import java.util.List; /** *

@@ -37,7 +41,7 @@ try { for (int i = 1; i <= codeArr.length / 3; i++) { - nettyClient.send(config.getDetectorId(),codeArr[i * 3 - 1]); + nettyClient.send(config.getDetectorId(), codeArr[i * 3 - 1]); Thread.sleep(500); } } catch (InterruptedException e) { @@ -46,4 +50,16 @@ } return true; } + + @Override + public ConfigDTO getConfig(Long robId) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("DETECTOR_ID", robId); + List configList = this.list(queryWrapper); + if (null != configList && configList.size() > 0) { + return new ConfigDTO(ObjectUtil.isNotEmpty(configList.get(0).getPsdE()) ? Double.valueOf(configList.get(0).getPsdE()) : 10000, + ObjectUtil.isNotEmpty(configList.get(0).getIntegralThreshold()) ? Double.valueOf(configList.get(0).getIntegralThreshold()) : 0); + } + return new ConfigDTO(10000.0, 0.0); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/NeutronOptServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/NeutronOptServiceImpl.java index 082843a..22f00af 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/NeutronOptServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/neutron/service/impl/NeutronOptServiceImpl.java @@ -1,19 +1,16 @@ package com.casic.missiles.modular.neutron.service.impl; -import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.ObjectUtil; import com.alibaba.fastjson.JSONObject; import com.casic.missiles.common.WebSocket; import com.casic.missiles.core.cache.CacheUtil; import com.casic.missiles.modular.constants.RobotDictConstants; +import com.casic.missiles.modular.neutron.dto.ConfigDTO; import com.casic.missiles.modular.neutron.dto.HsDTO; import com.casic.missiles.modular.neutron.dto.PsdAlarmDTO; import com.casic.missiles.modular.neutron.model.Psd; import com.casic.missiles.modular.neutron.model.Vol; -import com.casic.missiles.modular.neutron.service.IDetectorLogService; -import com.casic.missiles.modular.neutron.service.INeutronOptService; -import com.casic.missiles.modular.neutron.service.IPsdService; -import com.casic.missiles.modular.neutron.service.IVolService; +import com.casic.missiles.modular.neutron.service.*; import com.casic.missiles.netty.CacheUtils; import com.casic.missiles.netty.InstructCode; import com.casic.missiles.netty.NettyClient; @@ -23,8 +20,6 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.Date; import java.util.List; import java.util.Map; @@ -42,6 +37,9 @@ private IDetectorLogService iLogService; @Autowired private WebSocket webSocket; + @Resource + private IDetectorConfigService iDetectorConfigService; + @Override public void deviceInit(Long detectorId) { @@ -97,9 +95,13 @@ Double psdRate = (Qlong - Qshort) * 1.000 / Qlong; psd.setPsd(String.format("%.2f", psdRate)); psd.setDetectorId(uid); - //设置psdx值 toDo:4096、100000 需要自动取 + ConfigDTO configDTO =CacheUtil.get(RobotDictConstants.CACHE_SCHEMA, RobotDictConstants.KEY_CONFIG_PARAMS_ID + uid); + if(null==configDTO){ + configDTO=iDetectorConfigService.getConfig(uid); + } + //设置psdx值 toDo:4096 需要自动取 int psdx = (int) ((Qlong - Qshort) * 1.000 / Qlong * 4096); - int mcax = (int) ((Qlong) * 1.00000 / 100000 * 4096); + int mcax = (int) ((Qlong) * 1.00000 / configDTO.getPsdMax() * 4096); psd.setPsdx(psdx + ""); psd.setMcax(mcax + ""); //存缓存 @@ -111,7 +113,7 @@ hsDTO.setPsdX(null); hsDTO.setPsdY(null); } - if (mcax < 0 || mcax > 4096) { + if ( mcax > 4096||mcax