接口联调

This commit is contained in:
mashuai 2024-09-26 21:35:06 +08:00
parent 796736ead7
commit 8c91e09c8f
20 changed files with 101 additions and 30 deletions

View File

@ -19,6 +19,7 @@ public enum ExceptionEnum {
SUCCESS(200, "操作成功"),
SAVE_TO_DATABASE(500, "新增保存失败,请联系管理员"),
DELETE_TO_DATABASE(500, "删除失败,请联系管理员"),
DELETE_PROJECT_POWER(1111, "该项目部还关联相应工程,无法删除"),
INVALID_ID_CARD_FORMAT(1004, "身份证号格式不正确"),
UN_BIND_TO_DATABASE(500, "解散失败,请联系管理员"),
EXISTENCE_OF_MEMBERS(1005, "班组中还存在成员,无法解散"),
@ -31,7 +32,8 @@ public enum ExceptionEnum {
NOT_REMOVE_TO_DATABASE(500, "移出班组失败,请联系管理员"),
INVALID_PHONE_NUMBER_FORMAT(501, "手机号格式不正确"),
DELETE_PROJECT_ERROR(502, "该工程关联相应杆塔,无法删除");
DELETE_PROJECT_ERROR(502, "该工程关联相应杆塔,无法删除"),
DELETE_PROJECT_NOT_FOUND(503, "该工程还关联相应班组,无法删除");
private final Integer code;

View File

@ -91,7 +91,7 @@ public class TbBdDeviceRecordController extends BaseController {
*/
@DeleteMapping("/{id}")
public AjaxResult deleteById(@PathVariable("id") Long id) {
return toAjax(tbBdDeviceRecordService.deleteByPrimaryKey(id));
return tbBdDeviceRecordService.deleteByPrimaryKey(id);
}

View File

@ -50,4 +50,6 @@ public interface TbBdDeviceRecordMapper {
* @return
*/
int deleteById(Long id);
int queryByDeviceId(Long id);
}

View File

@ -75,5 +75,12 @@ public interface TbProDepartMapper {
* @return
*/
TbProDepart selectByName(TbProDepart tbProDepart);
/**
* 根据项目id查询项目权限
* @param id
* @return
*/
int getProPowerListByProId(Long id);
}

View File

@ -87,5 +87,19 @@ public interface TbProjectMapper {
List<ProjectAreaGroupVo> getProjectListGroupAreaByTypeCode(@Param("projectTypeCode") Integer projectTypeCode, @Param("areaId") Integer areaId);
List<TbProPower> getProPowerListByProId(Integer projectId);
/**
* 更新工程所属区域
* @param tbProject
* @return
*/
int updateProjectPower(TbProject tbProject);
/**
* 获取工程列表
* @param id
* @return
*/
int getList(Long id);
}

View File

@ -40,4 +40,6 @@ public interface TbWarnConfigMapper {
* @return
*/
TbWarnConfig selectByName(TbWarnConfig record);
int queryByDeviceId(Long id);
}

View File

@ -4,6 +4,7 @@ import java.util.List;
import com.bonus.base.domain.TbBdDeviceRecord;
import com.bonus.base.vo.TbBdDeviceVo;
import com.bonus.base.vo.TbDeviceVo;
import com.bonus.common.core.web.domain.AjaxResult;
/**
*@PackagePath: com.bonus.base.service
@ -14,7 +15,7 @@ import com.bonus.base.vo.TbDeviceVo;
*/
public interface TbBdDeviceRecordService{
int deleteByPrimaryKey(Long id);
AjaxResult deleteByPrimaryKey(Long id);
int deleteByPrimaryKeyIn(List<Long> list);

View File

@ -3,6 +3,7 @@ package com.bonus.base.service.impl;
import com.bonus.base.vo.TbBdDeviceVo;
import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.utils.encryption.Sm4Utils;
import com.bonus.common.core.web.domain.AjaxResult;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired;
@ -23,8 +24,13 @@ public class TbBdDeviceRecordServiceImpl implements TbBdDeviceRecordService{
private TbBdDeviceRecordMapper tbBdDeviceRecordMapper;
@Override
public int deleteByPrimaryKey(Long id) {
return tbBdDeviceRecordMapper.deleteByPrimaryKey(id);
public AjaxResult deleteByPrimaryKey(Long id) {
//判断该边带设备是否被设备绑定
int count = tbBdDeviceRecordMapper.queryByDeviceId(id);
if (count > 0) {
return AjaxResult.error("该边带设备被设备绑定,无法删除");
}
return AjaxResult.success(tbBdDeviceRecordMapper.deleteByPrimaryKey(id));
}
@Override

View File

@ -160,6 +160,11 @@ public class TbProDepartServiceImpl implements TbProDepartService {
*/
@Override
public AjaxResult deleteById(Long id) {
//判断项目部下是否有工程绑定若有无法删除
int count = tbProDepartDao.getProPowerListByProId(id);
if (count > 0) {
return AjaxResult.error(ExceptionEnum.DELETE_PROJECT_POWER.getCode(), ExceptionEnum.DELETE_PROJECT_POWER.getMsg());
}
int result = tbProDepartDao.deleteById(id);
if (result > 0) {
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);

View File

@ -107,6 +107,8 @@ public class TbProjectServiceImpl implements TbProjectService {
}
tbProject.setUpdateUser(SecurityUtils.getUserId());
int result = tbProjectDao.update(tbProject);
//根据工程id改变班组表中的项目信息
result += tbProjectDao.updateProjectPower(tbProject);
if (result > 0) {
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);
} else {
@ -126,6 +128,11 @@ public class TbProjectServiceImpl implements TbProjectService {
if (tbProjectDao.queryById(id).getPowerTotal() > 0) {
return AjaxResult.error(ExceptionEnum.DELETE_PROJECT_ERROR.getCode(), ExceptionEnum.DELETE_PROJECT_ERROR.getMsg());
}
//如果工程关联班组则无法删除
int count = tbProjectDao.getList(id);
if (count > 0) {
return AjaxResult.error(ExceptionEnum.DELETE_PROJECT_NOT_FOUND.getCode(), ExceptionEnum.DELETE_PROJECT_NOT_FOUND.getMsg());
}
int result = tbProjectDao.deleteById(id);
if (result > 0) {
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);

View File

@ -28,6 +28,11 @@ public class TbWarnConfigServiceImpl implements TbWarnConfigService{
@Override
public AjaxResult deleteByPrimaryKey(Long id) {
//判断配置是否绑定设备绑定无法删除
int count = tbWarnConfigMapper.queryByDeviceId(id);
if (count > 0) {
return AjaxResult.error("该配置被设备绑定,无法删除");
}
int result = tbWarnConfigMapper.deleteByPrimaryKey(id);
if (result > 0) {
return AjaxResult.success(ExceptionEnum.SUCCESS.getMsg(), result);

View File

@ -27,11 +27,11 @@ public class ProjectDetailsViewController extends BaseController {
private ProjectDetailsViewServiceImpl projectDetailsViewService;
/**
* 根据工程id查询所有设备
* 根据工程id查询相对应类型下的设备信息
*/
@GetMapping("/queryDevInfoByProject")
public AjaxResult queryDevInfoByProject(Integer proId) {
return AjaxResult.success(projectDetailsViewService.queryDevInfoByProject(proId));
public AjaxResult queryDevInfoByProject(Integer proId, Integer devType) {
return AjaxResult.success(projectDetailsViewService.queryDevInfoByProject(proId, devType));
}
/**

View File

@ -1,5 +1,6 @@
package com.bonus.screen.mapper;
import com.bonus.base.domain.TbDevAttribute;
import com.bonus.data.entity.DevAttributeVo;
import com.bonus.screen.vo.DeviceWarnRecordVo;
import org.apache.ibatis.annotations.Mapper;
@ -18,7 +19,7 @@ import java.util.Map;
@Mapper
public interface TbDeviceDataRecord {
List<Map<String,String>> queryDevInfoByProject(@Param("proId") Integer proId);
List<Map<String,String>> queryDevInfoByProject(@Param("proId") Integer proId, @Param("devType") Integer devType);
List<DeviceWarnRecordVo> getDeviceWarnRecord(DeviceWarnRecordVo deviceWarnRecordVo);
@ -26,7 +27,7 @@ public interface TbDeviceDataRecord {
* 查询室外感知设备最新的各项监测数据
* @param devId 设备id
*/
List<DevAttributeVo> getDevAttributeLatestInfoById(@Param("devId") Integer devId);
List<TbDevAttribute> getDevAttributeLatestInfoById(@Param("devId") Integer devId);
/**
* 查询室外感知设备历史各项10条记录

View File

@ -25,8 +25,14 @@ public class ProjectDetailsViewServiceImpl {
private TbDeviceDataRecord tbDeviceDataRecordMapper;
public AjaxResult queryDevInfoByProject(Integer proId) {
return AjaxResult.success(tbDeviceDataRecordMapper.queryDevInfoByProject(proId));
/**
* 根据工程id查询相对应类型下的设备信息
* @param proId
* @param devType
* @return
*/
public AjaxResult queryDevInfoByProject(Integer proId, Integer devType) {
return AjaxResult.success(tbDeviceDataRecordMapper.queryDevInfoByProject(proId, devType));
}
public AjaxResult getDevAttributeLatestInfoById(Integer proId) {
@ -47,7 +53,8 @@ public class ProjectDetailsViewServiceImpl {
if (records.isEmpty()) {
return AjaxResult.error("暂无数据");
}
return AjaxResult.success(records);
Map<String, List<DevAttributeVo>> listMap = records.stream().collect(Collectors.groupingBy(DevAttributeVo::getJcName));
return AjaxResult.success(listMap);
}
public AjaxResult getTowerDevAttributeRecordByDay(Integer proId) {

View File

@ -267,4 +267,8 @@
and tbdr.record_id = #{recordId}
</if>
</select>
<select id="queryByDeviceId" resultType="java.lang.Integer">
select count(1) from tb_device
where del_flag = 0 and bd_id = #{id}
</select>
</mapper>

View File

@ -115,9 +115,6 @@
<if test="updateUser != null">
update_user = #{updateUser},
</if>
<if test="delFlag != null">
del_flag = #{delFlag},
</if>
</set>
where id = #{id}
</update>

View File

@ -84,6 +84,10 @@
</if>
</select>
<select id="getProPowerListByProId" resultType="java.lang.Integer">
select count(1) from tb_project where del_flag = '0' and depart_id = #{id}
</select>
<!--新增所有列-->
<insert id="insert">
INSERT INTO tb_pro_depart

View File

@ -170,6 +170,12 @@
where id = #{id}
</update>
<update id="updateProjectPower">
update tb_team
set pro_name = #{proName}
where pro_id = #{id}
</update>
<select id="getProjectView" resultType="com.bonus.screen.vo.ProjectViewVo">
select count(1) as projectTotal,
count(case when tb.pro_type = #{powerCode} then 1 end) as projectPowerTotal,
@ -221,5 +227,8 @@
where pro_id = #{proId}
and del_flag = 0
</select>
<select id="getList" resultType="java.lang.Integer">
select count(1) from tb_team where del_flag = 0 and pro_id = #{id}
</select>
</mapper>

View File

@ -411,5 +411,9 @@
and twc.config_name like concat('%',#{configName},'%')
</if>
</select>
<select id="queryByDeviceId" resultType="java.lang.Integer">
select count(1) from tb_device
where del_flag = 0 and config_id = #{id}
</select>
</mapper>

View File

@ -5,12 +5,12 @@
<select id="queryDevInfoByProject" resultType="java.util.Map">
SELECT
device.id as devId,device.dev_name as devName,project.id AS proId,project.pro_name AS proName,
device.dev_type as devType
device.dev_type as devType, device.dev_status as devStatus, device.dev_warn as devWarn
FROM
tb_device device
LEFT JOIN tb_bd_device_record tbdr ON device.bd_id = tbdr.id
LEFT JOIN tb_project project ON project.id = tbdr.pro_id AND project.del_flag = 0
WHERE project.id = #{proId} and device.del_flag = 0
WHERE project.id = #{proId} and device.dev_type = #{devType} and device.del_flag = 0
</select>
<select id="getDeviceWarnRecord" resultType="com.bonus.screen.vo.DeviceWarnRecordVo">
@ -37,18 +37,12 @@
GROUP BY tddr.id
</select>
<select id="getDevAttributeLatestInfoById" resultType="com.bonus.data.entity.DevAttributeVo">
<select id="getDevAttributeLatestInfoById" resultType="com.bonus.base.domain.TbDevAttribute">
select
tddr.dev_id,tddr.dev_name,tddr.dev_type,tddr.attribute_name as jcName,tddr.attribute_val as jcValue,
tddr.is_warn,tddr.create_time as jcTime
from tb_dev_data_record tddr
tddr.dev_id as devId,tddr.jc_name as jcName,tddr.jc_value as jcValue,tddr.jc_unit as jcUnit,
tddr.is_warn as isWarn,tddr.jc_time as jcTime
from tb_dev_attribute tddr
where tddr.dev_id = #{devId}
and tddr.merger_id = (
select merger_id
from tb_dev_data_record
where dev_id = #{devId}
order by create_time desc limit 1
)
</select>
<select id="getDevAttributeRecordByDevId" resultType="com.bonus.data.entity.DevAttributeVo">
@ -77,7 +71,7 @@
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.create_time >= DATE_SUB(NOW(), INTERVAL 1 DAY)
AND tbdr.pro_id = #{proId} AND tddr.dev_type IN ('angle','pull')
AND tbdr.pro_id = #{proId} AND tddr.dev_type IN (117, 118)
ORDER BY
tddr.create_time DESC
</select>
@ -141,7 +135,7 @@
LEFT JOIN tb_bd_device_record tbdr ON tbdr.id = device.bd_id
WHERE
tddr.is_warn = '1'
AND tbdr.pro_id = #{proId} AND tddr.dev_type = 'environmental'
AND tbdr.pro_id = #{proId} AND tddr.dev_type in (117, 118)
ORDER BY
tddr.create_time DESC
limit 20