diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/Constants.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/Constants.java index 61c988f..b990f77 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/Constants.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/config/Constants.java @@ -121,4 +121,24 @@ public class Constants { */ public static final String TB_DEV_ATTRIBUTE_REDIS_KEY = "Tb_dev_Attribute"; + /** + * 环境监测类 + */ + public static final Integer TEMP_KEY = 116; + + /** + * 组塔倾角监测类 + */ + public static final Integer HUM_KEY = 117; + + /** + * 组塔拉力监测类 + */ + public static final Integer NOISE_KEY = 118; + + /** + * 基坑监测类 + */ + public static final Integer PARTICULATE_KEY = 119; + } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/TbTeamController.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/TbTeamController.java index 6a3ef7f..a3fa9e6 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/TbTeamController.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/TbTeamController.java @@ -158,7 +158,7 @@ public class TbTeamController extends BaseController { * @return 查询结果 */ @ApiOperation(value = "查询安全帽类型设备列表") - @RequiresPermissions("base:team:list") + //@RequiresPermissions("base:team:list") @GetMapping("/devList") public AjaxResult queryByPage(TbDeviceVo tbDeviceVo) { return AjaxResult.success(tbTeamService.selectDeviceList(tbDeviceVo)); diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/TbWarnConfigController.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/TbWarnConfigController.java index bd8395a..32db63d 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/TbWarnConfigController.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/controller/TbWarnConfigController.java @@ -1,7 +1,14 @@ package com.bonus.base.controller; +import com.bonus.base.config.Constants; +import com.bonus.base.domain.TbTeam; import com.bonus.base.domain.TbWarnConfig; import com.bonus.base.service.TbWarnConfigService; +import com.bonus.base.vo.ExcavationVo; +import com.bonus.base.vo.InclVo; +import com.bonus.base.vo.TempVo; +import com.bonus.base.vo.TensVo; +import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.annotation.RequiresPermissions; @@ -10,6 +17,7 @@ import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; import java.util.List; @@ -99,5 +107,36 @@ public class TbWarnConfigController extends BaseController { public AjaxResult deleteById(@PathVariable("id") Long id) { return tbWarnConfigService.deleteByPrimaryKey(id); } + + /** + * 导出数据 + * @param response + * @param tbWarnConfig + */ + @ApiOperation(value = "预警配置导出") + @RequiresPermissions("base:warn:export") + @PostMapping("/export") + public void export(HttpServletResponse response, TbWarnConfig tbWarnConfig) { + if (tbWarnConfig.getConfiguType().equals(Constants.TEMP_KEY)) { + List list = tbWarnConfigService.queryTempVoByPage(tbWarnConfig); + ExcelUtil util = new ExcelUtil<>(TempVo.class); + util.exportExcel(response, list, "预警配置环境检测类导出"); + } + if (tbWarnConfig.getConfiguType().equals(Constants.HUM_KEY)) { + List list = tbWarnConfigService.queryInclVoByPage(tbWarnConfig); + ExcelUtil util = new ExcelUtil<>(InclVo.class); + util.exportExcel(response, list, "预警配置组塔倾角检测类导出"); + } + if (tbWarnConfig.getConfiguType().equals(Constants.NOISE_KEY)) { + List list = tbWarnConfigService.queryTensVoByPage(tbWarnConfig); + ExcelUtil util = new ExcelUtil<>(TensVo.class); + util.exportExcel(response, list, "预警配置组塔拉力检测类导出"); + } + if (tbWarnConfig.getConfiguType().equals(Constants.PARTICULATE_KEY)) { + List list = tbWarnConfigService.queryExcavationVoByPage(tbWarnConfig); + ExcelUtil util = new ExcelUtil<>(ExcavationVo.class); + util.exportExcel(response, list, "预警配置基坑检测类导出"); + } + } } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbWarnConfig.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbWarnConfig.java index d86e307..ca3de4f 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbWarnConfig.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/domain/TbWarnConfig.java @@ -1,12 +1,11 @@ package com.bonus.base.domain; +import com.bonus.common.core.annotation.Excel; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import java.io.Serializable; -import java.math.BigDecimal; import java.util.Date; import javax.validation.constraints.NotBlank; -import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.Data; @@ -50,6 +49,7 @@ public class TbWarnConfig implements Serializable { @ApiModelProperty(value="配置名称") @Size(max = 64,message = "配置名称最大长度要小于 64") @NotBlank(message = "配置名称不能为空") + @Excel(name = "配置名称") private String configName; /** diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/TbWarnConfigService.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/TbWarnConfigService.java index 58d3199..b6b51ff 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/TbWarnConfigService.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/TbWarnConfigService.java @@ -1,6 +1,10 @@ package com.bonus.base.service; import com.bonus.base.domain.TbWarnConfig; +import com.bonus.base.vo.ExcavationVo; +import com.bonus.base.vo.InclVo; +import com.bonus.base.vo.TempVo; +import com.bonus.base.vo.TensVo; import com.bonus.common.core.web.domain.AjaxResult; import java.util.List; @@ -29,4 +33,31 @@ public interface TbWarnConfigService{ List getAll(TbWarnConfig record); + /** + * 查询环境监测类 + * @param tbWarnConfig + * @return + */ + List queryTempVoByPage(TbWarnConfig tbWarnConfig); + + /** + * 查询组塔倾角监测类 + * @param tbWarnConfig + * @return + */ + List queryInclVoByPage(TbWarnConfig tbWarnConfig); + + /** + * 查询组塔拉力监测类 + * @param tbWarnConfig + * @return + */ + List queryTensVoByPage(TbWarnConfig tbWarnConfig); + + /** + * 查询基坑监测类 + * @param tbWarnConfig + * @return + */ + List queryExcavationVoByPage(TbWarnConfig tbWarnConfig); } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbWarnConfigServiceImpl.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbWarnConfigServiceImpl.java index 243ef63..6bbccbe 100644 --- a/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbWarnConfigServiceImpl.java +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/service/impl/TbWarnConfigServiceImpl.java @@ -1,13 +1,19 @@ package com.bonus.base.service.impl; +import com.alibaba.nacos.common.utils.CollectionUtils; import com.bonus.base.config.ExceptionEnum; import com.bonus.base.domain.TbWarnConfig; +import com.bonus.base.vo.ExcavationVo; +import com.bonus.base.vo.InclVo; +import com.bonus.base.vo.TempVo; +import com.bonus.base.vo.TensVo; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; +import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -108,26 +114,125 @@ public class TbWarnConfigServiceImpl implements TbWarnConfigService{ List list = tbWarnConfigMapper.getAll(record); if (list != null && list.size() > 0) { for (TbWarnConfig tbWarnConfig : list) { - if (tbWarnConfig.getConfigVal1Min() != null && tbWarnConfig.getConfigVal1Max() != null) { - tbWarnConfig.setConfigVal1Str(tbWarnConfig.getConfigVal1Min() + "~" + tbWarnConfig.getConfigVal1Max()); - } - if (tbWarnConfig.getConfigVal2Min() != null && tbWarnConfig.getConfigVal2Max() != null) { - tbWarnConfig.setConfigVal2Str(tbWarnConfig.getConfigVal2Min() + "~" + tbWarnConfig.getConfigVal2Max()); - } - if (tbWarnConfig.getConfigVal3Min() != null && tbWarnConfig.getConfigVal3Max() != null) { - tbWarnConfig.setConfigVal3Str(tbWarnConfig.getConfigVal3Min() + "~" + tbWarnConfig.getConfigVal3Max()); - } - if (tbWarnConfig.getConfigVal4Min() != null && tbWarnConfig.getConfigVal4Max() != null) { - tbWarnConfig.setConfigVal4Str(tbWarnConfig.getConfigVal4Min() + "~" + tbWarnConfig.getConfigVal4Max()); - } - if (tbWarnConfig.getConfigVal5Min() != null && tbWarnConfig.getConfigVal5Max() != null) { - tbWarnConfig.setConfigVal5Str(tbWarnConfig.getConfigVal5Min() + "~" + tbWarnConfig.getConfigVal5Max()); - } - if (tbWarnConfig.getConfigVal6Min() != null && tbWarnConfig.getConfigVal6Max() != null) { - tbWarnConfig.setConfigVal6Str(tbWarnConfig.getConfigVal6Min() + "~" + tbWarnConfig.getConfigVal6Max()); - } + setConfigStr(tbWarnConfig); } } return list; } + + /** + * 导出环境检测类 + * @param record + * @return + */ + @Override + public List queryTempVoByPage(TbWarnConfig record) { + List list = tbWarnConfigMapper.getAll(record); + ArrayList tempVos = new ArrayList<>(); + if (list != null && list.size() > 0) { + for (TbWarnConfig tbWarnConfig : list) { + setConfigStr(tbWarnConfig); + TempVo tempVo = new TempVo(); + tempVo.setConfigName(tbWarnConfig.getConfigName()); + tempVo.setTempThreshold(tbWarnConfig.getConfigVal1Str()); + tempVo.setHumThreshold(tbWarnConfig.getConfigVal2Str()); + tempVo.setNoise(tbWarnConfig.getConfigVal3Str()); + tempVo.setParticulate(tbWarnConfig.getConfigVal4Str()); + tempVo.setParticulateMatter(tbWarnConfig.getConfigVal5Str()); + tempVos.add(tempVo); + } + } + return tempVos; + } + + /** + * 查询倾角预警 + * @param record + * @return + */ + @Override + public List queryInclVoByPage(TbWarnConfig record) { + List list = tbWarnConfigMapper.getAll(record); + ArrayList inclVos = new ArrayList<>(); + if (list != null && list.size() > 0) { + for (TbWarnConfig tbWarnConfig : list) { + setConfigStr(tbWarnConfig); + InclVo inclVo = new InclVo(); + inclVo.setConfigName(tbWarnConfig.getConfigName()); + inclVo.setInclThreshold(tbWarnConfig.getConfigVal1Str()); + inclVos.add(inclVo); + } + } + return inclVos; + } + + /** + * 查询拉力预警 + * @param record + * @return + */ + @Override + public List queryTensVoByPage(TbWarnConfig record) { + List list = tbWarnConfigMapper.getAll(record); + ArrayList tensVos = new ArrayList<>(); + if (list != null && list.size() > 0) { + for (TbWarnConfig tbWarnConfig : list) { + setConfigStr(tbWarnConfig); + TensVo tensVo = new TensVo(); + tensVo.setConfigName(tbWarnConfig.getConfigName()); + tensVo.setTensThreshold(tbWarnConfig.getConfigVal1Str()); + } + } + return tensVos; + } + + /** + * 查询基坑预警 + * @param record + * @return + */ + @Override + public List queryExcavationVoByPage(TbWarnConfig record) { + List list = tbWarnConfigMapper.getAll(record); + ArrayList excavationVos = new ArrayList<>(); + if (list != null && list.size() > 0) { + for (TbWarnConfig tbWarnConfig : list) { + setConfigStr(tbWarnConfig); + ExcavationVo excavationVo = new ExcavationVo(); + excavationVo.setConfigName(tbWarnConfig.getConfigName()); + excavationVo.setOxyThreshold(tbWarnConfig.getConfigVal1Str()); + excavationVo.setCOThreshold(tbWarnConfig.getConfigVal2Str()); + excavationVo.setFlamGasThreshold(tbWarnConfig.getConfigVal3Str()); + excavationVo.setH2SThreshold(tbWarnConfig.getConfigVal4Str()); + } + } + return excavationVos; + } + + /** + * 设置阈值组合 + * @param tbWarnConfig + */ + private void setConfigStr(TbWarnConfig tbWarnConfig) { + if (tbWarnConfig.getConfigVal1Min() != null && tbWarnConfig.getConfigVal1Max() != null) { + tbWarnConfig.setConfigVal1Str(tbWarnConfig.getConfigVal1Min() + "~" + tbWarnConfig.getConfigVal1Max()); + } + if (tbWarnConfig.getConfigVal2Min() != null && tbWarnConfig.getConfigVal2Max() != null) { + tbWarnConfig.setConfigVal2Str(tbWarnConfig.getConfigVal2Min() + "~" + tbWarnConfig.getConfigVal2Max()); + } + if (tbWarnConfig.getConfigVal3Min() != null && tbWarnConfig.getConfigVal3Max() != null) { + tbWarnConfig.setConfigVal3Str(tbWarnConfig.getConfigVal3Min() + "~" + tbWarnConfig.getConfigVal3Max()); + } + if (tbWarnConfig.getConfigVal4Min() != null && tbWarnConfig.getConfigVal4Max() != null) { + tbWarnConfig.setConfigVal4Str(tbWarnConfig.getConfigVal4Min() + "~" + tbWarnConfig.getConfigVal4Max()); + } + if (tbWarnConfig.getConfigVal5Min() != null && tbWarnConfig.getConfigVal5Max() != null) { + tbWarnConfig.setConfigVal5Str(tbWarnConfig.getConfigVal5Min() + "~" + tbWarnConfig.getConfigVal5Max()); + } + if (tbWarnConfig.getConfigVal6Min() != null && tbWarnConfig.getConfigVal6Max() != null) { + tbWarnConfig.setConfigVal6Str(tbWarnConfig.getConfigVal6Min() + "~" + tbWarnConfig.getConfigVal6Max()); + } + } + + } diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/ExcavationVo.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/ExcavationVo.java new file mode 100644 index 0000000..d8514c5 --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/ExcavationVo.java @@ -0,0 +1,31 @@ +package com.bonus.base.vo; + +import com.bonus.base.domain.TbWarnConfig; +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 基坑检测类返回vo + * @Author ma_sh + * @create 2024/11/1 17:14 + */ +@Data +public class ExcavationVo extends TbWarnConfig { + + @ApiModelProperty(value="含氧量阈值") + @Excel(name = "含氧量阈值") + private String oxyThreshold; + + @ApiModelProperty(value="一氧化碳阈值") + @Excel(name = "一氧化碳阈值") + private String cOThreshold; + + @ApiModelProperty(value="可燃气体阈值") + @Excel(name = "可燃气体阈值") + private String flamGasThreshold; + + @ApiModelProperty(value="硫化氢阈值") + @Excel(name = "硫化氢阈值") + private String h2SThreshold; +} diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/InclVo.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/InclVo.java new file mode 100644 index 0000000..16ecdc4 --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/InclVo.java @@ -0,0 +1,19 @@ +package com.bonus.base.vo; + +import com.bonus.base.domain.TbWarnConfig; +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 组塔倾角检测类返回vo + * @Author ma_sh + * @create 2024/11/1 17:12 + */ +@Data +public class InclVo extends TbWarnConfig { + + @ApiModelProperty(value=" 倾角阈值") + @Excel(name = "倾角阈值") + private String inclThreshold; +} diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/TempVo.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/TempVo.java new file mode 100644 index 0000000..e8d43af --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/TempVo.java @@ -0,0 +1,35 @@ +package com.bonus.base.vo; + +import com.bonus.base.domain.TbWarnConfig; +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 环境检测类返回vo + * @Author ma_sh + * @create 2024/11/1 17:10 + */ +@Data +public class TempVo extends TbWarnConfig { + + @ApiModelProperty(value="温度阈值") + @Excel(name = "温度阈值") + private String tempThreshold; + + @ApiModelProperty(value="湿度阈值") + @Excel(name = "湿度阈值") + private String humThreshold; + + @ApiModelProperty(value="噪声") + @Excel(name = "噪声") + private String noise; + + @ApiModelProperty(value="pm2.5") + @Excel(name = "PM2.5") + private String particulate; + + @ApiModelProperty(value="pm10") + @Excel(name = "PM10") + private String particulateMatter; +} diff --git a/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/TensVo.java b/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/TensVo.java new file mode 100644 index 0000000..fc17362 --- /dev/null +++ b/bonus-modules/bonus-base/src/main/java/com/bonus/base/vo/TensVo.java @@ -0,0 +1,19 @@ +package com.bonus.base.vo; + +import com.bonus.base.domain.TbWarnConfig; +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 组塔拉力检测类返回vo + * @Author ma_sh + * @create 2024/11/1 17:13 + */ +@Data +public class TensVo extends TbWarnConfig { + + @ApiModelProperty(value="拉力阈值") + @Excel(name = "拉力阈值") + private String tensThreshold; +} diff --git a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbTeamMapper.xml b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbTeamMapper.xml index bf7a6e2..24ff43a 100644 --- a/bonus-modules/bonus-base/src/main/resources/mapper/base/TbTeamMapper.xml +++ b/bonus-modules/bonus-base/src/main/resources/mapper/base/TbTeamMapper.xml @@ -76,19 +76,24 @@