班组删除,配置导出

This commit is contained in:
mashuai 2024-11-04 14:15:46 +08:00
parent f5d8c1827d
commit c1831ef48c
17 changed files with 370 additions and 28 deletions

View File

@ -121,4 +121,24 @@ public class Constants {
*/ */
public static final String TB_DEV_ATTRIBUTE_REDIS_KEY = "Tb_dev_Attribute"; 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;
} }

View File

@ -19,6 +19,7 @@ public enum ExceptionEnum {
INVALID_LATITUDE_FORMAT(1114, "纬度格式不正确"), INVALID_LATITUDE_FORMAT(1114, "纬度格式不正确"),
IMPORT_TO_DATABASE(1003, "该表单中存在相同名称的数据,请修改后重新提交"), IMPORT_TO_DATABASE(1003, "该表单中存在相同名称的数据,请修改后重新提交"),
SUCCESS(200, "操作成功"), SUCCESS(200, "操作成功"),
FAIL(400, "操作失败"),
EXISTENCE_OF_TEAM(1112, "该人员还绑定相关班组,无法删除"), EXISTENCE_OF_TEAM(1112, "该人员还绑定相关班组,无法删除"),
SAVE_TO_DATABASE(500, "新增保存失败,请联系管理员"), SAVE_TO_DATABASE(500, "新增保存失败,请联系管理员"),
DELETE_TO_DATABASE(500, "删除失败,请联系管理员"), DELETE_TO_DATABASE(500, "删除失败,请联系管理员"),

View File

@ -113,6 +113,19 @@ public class TbTeamController extends BaseController {
return tbTeamService.bind(tbTeam); return tbTeamService.bind(tbTeam);
} }
/**
* 通过主键删除数据
*
* @param tbTeam 实体
* @return 新增结果
*/
@ApiOperation(value = "通过主键删除数据")
@RequiresPermissions("base:team:delete")
@PostMapping("/delete")
public AjaxResult delete(@RequestBody TbTeam tbTeam) {
return tbTeamService.delete(tbTeam);
}
/** /**
* 解绑操作 * 解绑操作
* *

View File

@ -1,7 +1,12 @@
package com.bonus.base.basic.controller; package com.bonus.base.basic.controller;
import com.bonus.base.basic.config.Constants;
import com.bonus.base.basic.domain.TbWarnConfig; import com.bonus.base.basic.domain.TbWarnConfig;
import com.bonus.base.basic.service.TbWarnConfigService; import com.bonus.base.basic.service.TbWarnConfigService;
import com.bonus.base.basic.vo.ExcavationVo;
import com.bonus.base.basic.vo.InclVo;
import com.bonus.base.basic.vo.TempVo;
import com.bonus.base.basic.vo.TensVo;
import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.utils.poi.ExcelUtil;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
@ -102,7 +107,36 @@ public class TbWarnConfigController extends BaseController {
return tbWarnConfigService.deleteByPrimaryKey(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<TempVo> list = tbWarnConfigService.queryTempVoByPage(tbWarnConfig);
ExcelUtil<TempVo> util = new ExcelUtil<>(TempVo.class);
util.exportExcel(response, list, "预警配置环境检测类导出");
}
if (tbWarnConfig.getConfiguType().equals(Constants.HUM_KEY)) {
List<InclVo> list = tbWarnConfigService.queryInclVoByPage(tbWarnConfig);
ExcelUtil<InclVo> util = new ExcelUtil<>(InclVo.class);
util.exportExcel(response, list, "预警配置组塔倾角检测类导出");
}
if (tbWarnConfig.getConfiguType().equals(Constants.NOISE_KEY)) {
List<TensVo> list = tbWarnConfigService.queryTensVoByPage(tbWarnConfig);
ExcelUtil<TensVo> util = new ExcelUtil<>(TensVo.class);
util.exportExcel(response, list, "预警配置组塔拉力检测类导出");
}
if (tbWarnConfig.getConfiguType().equals(Constants.PARTICULATE_KEY)) {
List<ExcavationVo> list = tbWarnConfigService.queryExcavationVoByPage(tbWarnConfig);
ExcelUtil<ExcavationVo> util = new ExcelUtil<>(ExcavationVo.class);
util.exportExcel(response, list, "预警配置基坑检测类导出");
}
}
} }

View File

@ -40,12 +40,10 @@ public class TbTeam implements Serializable {
*/ */
@Excel(name = "班组名称") @Excel(name = "班组名称")
@Size(max = 50,message = "班组名称最大长度要小于 50") @Size(max = 50,message = "班组名称最大长度要小于 50")
@NotBlank(message = "班组名称不能为空")
private String teamName; private String teamName;
/** /**
* 班组长id * 班组长id
*/ */
@NotNull(message = "班组长不能为空")
private Long relId; private Long relId;
/** /**
@ -55,7 +53,6 @@ public class TbTeam implements Serializable {
/** /**
* 工程id * 工程id
*/ */
@NotNull(message = "所属工程不能为空")
private String proId; private String proId;
/** /**
* 工程名称 * 工程名称
@ -136,7 +133,6 @@ public class TbTeam implements Serializable {
/** /**
* 班组人员id集合 * 班组人员id集合
*/ */
@NotNull(message = "班组成员不能为空")
private List<Long> idList; private List<Long> idList;
} }

View File

@ -1,5 +1,6 @@
package com.bonus.base.basic.domain; package com.bonus.base.basic.domain;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
@ -49,6 +50,7 @@ public class TbWarnConfig implements Serializable {
@ApiModelProperty(value="配置名称") @ApiModelProperty(value="配置名称")
@Size(max = 64,message = "配置名称最大长度要小于 64") @Size(max = 64,message = "配置名称最大长度要小于 64")
@NotBlank(message = "配置名称不能为空") @NotBlank(message = "配置名称不能为空")
@Excel(name = "配置名称")
private String configName; private String configName;
/** /**

View File

@ -160,5 +160,12 @@ public interface TbTeamMapper {
* @return * @return
*/ */
List<TbTeam> selectListById(Long id); List<TbTeam> selectListById(Long id);
/**
* 根据id删除班组信息
* @param id
* @return
*/
int deleteById(Long id);
} }

View File

@ -89,4 +89,11 @@ public interface TbTeamService {
*/ */
List<TbTeam> getList(); List<TbTeam> getList();
/**
* 删除班组
* @param tbTeam
* @return
*/
AjaxResult delete(TbTeam tbTeam);
} }

View File

@ -1,6 +1,10 @@
package com.bonus.base.basic.service; package com.bonus.base.basic.service;
import com.bonus.base.basic.domain.TbWarnConfig; import com.bonus.base.basic.domain.TbWarnConfig;
import com.bonus.base.basic.vo.ExcavationVo;
import com.bonus.base.basic.vo.InclVo;
import com.bonus.base.basic.vo.TempVo;
import com.bonus.base.basic.vo.TensVo;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import java.util.List; import java.util.List;
@ -29,4 +33,32 @@ public interface TbWarnConfigService{
List<TbWarnConfig> getAll(TbWarnConfig record); List<TbWarnConfig> getAll(TbWarnConfig record);
/**
* 查询环境监测类
* @param tbWarnConfig
* @return
*/
List<TempVo> queryTempVoByPage(TbWarnConfig tbWarnConfig);
/**
* 查询组塔倾角监测类
* @param tbWarnConfig
* @return
*/
List<InclVo> queryInclVoByPage(TbWarnConfig tbWarnConfig);
/**
* 查询组塔拉力监测类
* @param tbWarnConfig
* @return
*/
List<TensVo> queryTensVoByPage(TbWarnConfig tbWarnConfig);
/**
* 查询基坑监测类
* @param tbWarnConfig
* @return
*/
List<ExcavationVo> queryExcavationVoByPage(TbWarnConfig tbWarnConfig);
} }

View File

@ -326,4 +326,23 @@ public class TbTeamServiceImpl implements TbTeamService {
}*/ }*/
return list; return list;
} }
/**
* 删除班组
* @param tbTeam
* @return
*/
@Override
public AjaxResult delete(TbTeam tbTeam) {
//根据id查询班组判断班组是否处于解散状态解散状态的班组才能删除
TbTeam team = tbTeamDao.queryById(tbTeam.getId());
if (team != null && team.getJsTime() == null) {
return AjaxResult.error(ExceptionEnum.FAIL.getCode(), "该班组还未解散,无法进行删除");
}
int result = tbTeamDao.deleteById(tbTeam.getId());
if (result > 0) {
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);
}
return AjaxResult.error(ExceptionEnum.DELETE_TO_DATABASE.getCode(), ExceptionEnum.DELETE_TO_DATABASE.getMsg());
}
} }

View File

@ -4,11 +4,16 @@ import com.bonus.base.basic.domain.TbWarnConfig;
import com.bonus.base.basic.mapper.TbWarnConfigMapper; import com.bonus.base.basic.mapper.TbWarnConfigMapper;
import com.bonus.base.basic.service.TbWarnConfigService; import com.bonus.base.basic.service.TbWarnConfigService;
import com.bonus.base.basic.config.ExceptionEnum; import com.bonus.base.basic.config.ExceptionEnum;
import com.bonus.base.basic.vo.ExcavationVo;
import com.bonus.base.basic.vo.InclVo;
import com.bonus.base.basic.vo.TempVo;
import com.bonus.base.basic.vo.TensVo;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
/** /**
@ -106,6 +111,106 @@ public class TbWarnConfigServiceImpl implements TbWarnConfigService {
List<TbWarnConfig> list = tbWarnConfigMapper.getAll(record); List<TbWarnConfig> list = tbWarnConfigMapper.getAll(record);
if (list != null && list.size() > 0) { if (list != null && list.size() > 0) {
for (TbWarnConfig tbWarnConfig : list) { for (TbWarnConfig tbWarnConfig : list) {
setConfigStr(tbWarnConfig);
}
}
return list;
}
/**
* 导出环境检测类
* @param record
* @return
*/
@Override
public List<TempVo> queryTempVoByPage(TbWarnConfig record) {
List<TbWarnConfig> list = tbWarnConfigMapper.getAll(record);
ArrayList<TempVo> 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<InclVo> queryInclVoByPage(TbWarnConfig record) {
List<TbWarnConfig> list = tbWarnConfigMapper.getAll(record);
ArrayList<InclVo> 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<TensVo> queryTensVoByPage(TbWarnConfig record) {
List<TbWarnConfig> list = tbWarnConfigMapper.getAll(record);
ArrayList<TensVo> 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<ExcavationVo> queryExcavationVoByPage(TbWarnConfig record) {
List<TbWarnConfig> list = tbWarnConfigMapper.getAll(record);
ArrayList<ExcavationVo> 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) { if (tbWarnConfig.getConfigVal1Min() != null && tbWarnConfig.getConfigVal1Max() != null) {
tbWarnConfig.setConfigVal1Str(tbWarnConfig.getConfigVal1Min() + "~" + tbWarnConfig.getConfigVal1Max()); tbWarnConfig.setConfigVal1Str(tbWarnConfig.getConfigVal1Min() + "~" + tbWarnConfig.getConfigVal1Max());
} }
@ -125,7 +230,4 @@ public class TbWarnConfigServiceImpl implements TbWarnConfigService {
tbWarnConfig.setConfigVal6Str(tbWarnConfig.getConfigVal6Min() + "~" + tbWarnConfig.getConfigVal6Max()); tbWarnConfig.setConfigVal6Str(tbWarnConfig.getConfigVal6Min() + "~" + tbWarnConfig.getConfigVal6Max());
} }
} }
}
return list;
}
} }

View File

@ -0,0 +1,31 @@
package com.bonus.base.basic.vo;
import com.bonus.base.basic.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;
}

View File

@ -0,0 +1,19 @@
package com.bonus.base.basic.vo;
import com.bonus.base.basic.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;
}

View File

@ -0,0 +1,35 @@
package com.bonus.base.basic.vo;
import com.bonus.base.basic.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;
}

View File

@ -0,0 +1,19 @@
package com.bonus.base.basic.vo;
import com.bonus.base.basic.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;
}

View File

@ -42,7 +42,7 @@ public class ProjectDetailsViewServiceImpl {
public AjaxResult getDevAttributeRecordByDevId(Integer devId) { public AjaxResult getDevAttributeRecordByDevId(Integer devId) {
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getDevAttributeRecordByDevId(devId); List<DevAttributeVo> records = tbDeviceDataRecordMapper.getDevAttributeRecordByDevId(devId);
if (records.isEmpty()) { if (records.isEmpty()) {
return AjaxResult.error("暂无数据"); return AjaxResult.success("暂无数据");
} }
for (DevAttributeVo record : records) { for (DevAttributeVo record : records) {
// 截取时间 定义x轴 // 截取时间 定义x轴
@ -75,7 +75,7 @@ public class ProjectDetailsViewServiceImpl {
public AjaxResult getPitDevAttributeRecordByDeviceId(Integer devId) { public AjaxResult getPitDevAttributeRecordByDeviceId(Integer devId) {
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getPitDevAttributeRecordByDeviceId(devId); List<DevAttributeVo> records = tbDeviceDataRecordMapper.getPitDevAttributeRecordByDeviceId(devId);
if (records.isEmpty()) { if (records.isEmpty()) {
return AjaxResult.error("暂无数据"); return AjaxResult.success("暂无数据");
} }
for (DevAttributeVo record : records) { for (DevAttributeVo record : records) {
// 截取时间 定义x轴 // 截取时间 定义x轴
@ -92,7 +92,7 @@ public class ProjectDetailsViewServiceImpl {
public AjaxResult getTowerDevAttributeRecordByDay(Integer proId) { public AjaxResult getTowerDevAttributeRecordByDay(Integer proId) {
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getTowerDevAttributeRecordByDay(proId); List<DevAttributeVo> records = tbDeviceDataRecordMapper.getTowerDevAttributeRecordByDay(proId);
if (records.isEmpty()) { if (records.isEmpty()) {
return AjaxResult.error("暂无数据"); return AjaxResult.success("暂无数据");
} }
for (DevAttributeVo record : records) { for (DevAttributeVo record : records) {
// 截取时间 定义x轴 // 截取时间 定义x轴
@ -126,7 +126,7 @@ public class ProjectDetailsViewServiceImpl {
public AjaxResult getTowerDevAttributeRecordByDeviceId(Integer devId) { public AjaxResult getTowerDevAttributeRecordByDeviceId(Integer devId) {
List<DevAttributeVo> records = tbDeviceDataRecordMapper.getTowerDevAttributeRecordByDeviceId(devId); List<DevAttributeVo> records = tbDeviceDataRecordMapper.getTowerDevAttributeRecordByDeviceId(devId);
if (records.isEmpty()) { if (records.isEmpty()) {
return AjaxResult.error("暂无数据"); return AjaxResult.success("暂无数据");
} }
for (DevAttributeVo record : records) { for (DevAttributeVo record : records) {
// 截取时间 定义x轴 // 截取时间 定义x轴

View File

@ -1,6 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bonus.base.basic.mapper.TbTeamMapper"> <mapper namespace="com.bonus.base.basic.mapper.TbTeamMapper">
<delete id="deleteById">
update tb_team
set del_flag = '1'
where id = #{id}
</delete>
<select id="queryByPage" resultType="com.bonus.base.basic.domain.TbTeam"> <select id="queryByPage" resultType="com.bonus.base.basic.domain.TbTeam">
select select