bug修复

This commit is contained in:
guo 2023-07-21 10:49:55 +08:00
parent 522e3caac6
commit 45ffe8907f
7 changed files with 45 additions and 37 deletions

View File

@ -4,7 +4,6 @@ import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.base.Objects;
import com.zhgd.jeecg.common.api.vo.Result; import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.async.AsyncDoubleCarbon; import com.zhgd.xmgl.async.AsyncDoubleCarbon;
import com.zhgd.xmgl.device.ammeter.util.AmmeterUtils; import com.zhgd.xmgl.device.ammeter.util.AmmeterUtils;
@ -196,22 +195,19 @@ public class AmmeterCallBackController {
* *
* @param d * @param d
*/ */
@PostMapping("/xmgl/callback/ammeterRecord/status") @PostMapping("/xmgl/callback/ammeter/status")
public Result updateAmmeterRecordStatus(@RequestBody AmmeterRecordDetail d) { public Result updateAmmeterStatus(@RequestBody Ammeter d) {
log.info("updateAmmeterRecordStatus{}", JSON.toJSONString(d)); log.info("updateAmmeterStatus{}", JSON.toJSONString(d));
QueryWrapper<Ammeter> ammeterQueryWrapper = new QueryWrapper<>(); QueryWrapper<Ammeter> ammeterQueryWrapper = new QueryWrapper<>();
ammeterQueryWrapper.lambda().eq(Ammeter::getAmmeterNo, d.getAmmeterNo()); ammeterQueryWrapper.lambda().eq(Ammeter::getAmmeterNo, d.getAmmeterNo());
Ammeter one = ammeterService.getOne(ammeterQueryWrapper); Ammeter one = ammeterService.getOne(ammeterQueryWrapper);
if (one == null) { if (one == null) {
return Result.error("电表号ammeterNo不存在"); return Result.error("电表号ammeterNo不存在");
} }
one.setOnline(d.getOnline());
if (!Objects.equal(d.getOnline(), one.getOnline())) { one.setGateStatus(d.getGateStatus());
Ammeter a = new Ammeter(); one.setDeviceStatus(d.getDeviceStatus());
a.setId(one.getId()); ammeterService.updateById(one);
a.setOnline(d.getOnline());
ammeterService.updateById(a);
}
return Result.ok(); return Result.ok();
} }

View File

@ -54,7 +54,7 @@ public class AmmeterMonthRecordServiceImpl extends ServiceImpl<AmmeterMonthRecor
Double use = ammeterRecordDetailMapper.queryUseDegreeOnCurrentMonth(ad); Double use = ammeterRecordDetailMapper.queryUseDegreeOnCurrentMonth(ad);
Double thresholdValue = MapUtils.getDouble(count, "thresholdValue"); Double thresholdValue = MapUtils.getDouble(count, "thresholdValue");
count.put("month_user_water", use); count.put("month_user_water", use);
count.put("exceed_quota_num", use - thresholdValue); count.put("exceed_quota_num", use.compareTo(thresholdValue) > 0 ? use - thresholdValue : 0);
data.put("count", count); data.put("count", count);
return data; return data;
} }

View File

@ -23,7 +23,7 @@ import io.swagger.annotations.ApiModelProperty;
@ApiModel(value="BigDeviceVideo实体类",description="BigDeviceVideo") @ApiModel(value="BigDeviceVideo实体类",description="BigDeviceVideo")
public class BigDeviceVideo implements Serializable { public class BigDeviceVideo implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**id*/ /**id*/
@TableId(type = IdType.ASSIGN_ID) @TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value="id") @ApiModelProperty(value="id")
@ -39,14 +39,20 @@ public class BigDeviceVideo implements Serializable {
/**项目sn*/ /**项目sn*/
@Excel(name = "项目sn", width = 15) @Excel(name = "项目sn", width = 15)
@ApiModelProperty(value="项目sn") @ApiModelProperty(value="项目sn")
private java.lang.String projectSn ; private java.lang.String projectSn;
/**videoItemId*/ /**
* videoItemId
*/
@Excel(name = "videoItemId", width = 15) @Excel(name = "videoItemId", width = 15)
@ApiModelProperty(value="视频ID") @ApiModelProperty(value = "视频ID")
private java.lang.Long videoItemId ; private java.lang.Long videoItemId;
@TableField(exist = false) @TableField(exist = false)
@ApiModelProperty(value="视频名称") @ApiModelProperty(value = "视频名称")
private String videoName; private String videoName;
@TableField(exist = false)
@ApiModelProperty(value = "视频设备序列号")
private java.lang.String serialNumber;
} }

View File

@ -3,6 +3,8 @@ package com.zhgd.xmgl.modules.bigdevice.mapper;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.zhgd.jeecg.common.mybatis.EntityMap; import com.zhgd.jeecg.common.mybatis.EntityMap;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import com.zhgd.xmgl.modules.bigdevice.entity.BigDeviceVideo; import com.zhgd.xmgl.modules.bigdevice.entity.BigDeviceVideo;
@ -31,4 +33,6 @@ public interface BigDeviceVideoMapper extends BaseMapper<BigDeviceVideo> {
List<BigDeviceVideo> selectBigDeviceVideoByTypeList(@Param("devSn") String devSn, @Param("type") int type); List<BigDeviceVideo> selectBigDeviceVideoByTypeList(@Param("devSn") String devSn, @Param("type") int type);
List<EntityMap> selectVideoISCPlayConfigList(@Param("devSn") String devSn, @Param("type") int type); List<EntityMap> selectVideoISCPlayConfigList(@Param("devSn") String devSn, @Param("type") int type);
List<BigDeviceVideo> selectListExt(@Param(Constants.WRAPPER) QueryWrapper<BigDeviceVideo> queryWrapper2);
} }

View File

@ -21,7 +21,7 @@
FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id=t1.video_id FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id=t1.video_id
INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id
WHERE t2.is_enable=1 AND t3.dev_sn=#{devSn} and t3.type=3 WHERE t2.is_enable=1 AND t3.dev_sn=#{devSn} and t3.type=3
</select> </select>
<select id="selectGantryCraneVideoList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap"> <select id="selectGantryCraneVideoList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
SELECT t1.*,t2.*,t3.id big_device_video_id,t3.dev_sn SELECT t1.*,t2.*,t3.id big_device_video_id,t3.dev_sn
@ -40,14 +40,18 @@
<select id="selectBigDeviceVideoByTypeList" resultType="com.zhgd.xmgl.modules.bigdevice.entity.BigDeviceVideo"> <select id="selectBigDeviceVideoByTypeList" resultType="com.zhgd.xmgl.modules.bigdevice.entity.BigDeviceVideo">
SELECT t3.*,t1.video_name SELECT t3.*,t1.video_name
FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id=t1.video_id FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id=t1.video_id
INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id
WHERE t2.is_enable=1 AND t3.dev_sn=#{devSn} and t3.type=#{type} WHERE t2.is_enable=1 AND t3.dev_sn=#{devSn} and t3.type=#{type}
</select> </select>
<select id="selectVideoISCPlayConfigList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap"> <select id="selectVideoISCPlayConfigList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
SELECT t2.app_secret,t2.app_id,t2.account ip,t2.password port,t1.serial_number SELECT t2.app_secret,t2.app_id,t2.account ip,t2.password port,t1.serial_number
FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id=t1.video_id FROM video_item t1 INNER JOIN project_video_config t2 ON t2.id=t1.video_id
INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id INNER JOIN big_device_video t3 ON t1.item_id=t3.video_item_id
WHERE t2.is_enable=1 AND t3.dev_sn=#{devSn} and t3.type=#{type} and t2.video_type=3 WHERE t2.is_enable=1 AND t3.dev_sn=#{devSn} and t3.type=#{type} and t2.video_type=3
</select> </select>
</mapper>
<select id="selectListExt" resultType="com.zhgd.xmgl.modules.bigdevice.entity.BigDeviceVideo">
select bdv.*,vi.serial_number from video_item vi join big_device_video bdv on vi.item_id = bdv.video_item_id
${ew.customSqlSegment}
</select>
</mapper>

View File

@ -21,7 +21,9 @@ import com.zhgd.xmgl.modules.bigdevice.mapper.*;
import com.zhgd.xmgl.modules.bigdevice.service.ITowerService; import com.zhgd.xmgl.modules.bigdevice.service.ITowerService;
import com.zhgd.xmgl.modules.bigdevice.service.ITowerVisualizeService; import com.zhgd.xmgl.modules.bigdevice.service.ITowerVisualizeService;
import com.zhgd.xmgl.modules.project.mapper.ProjectDevStatisticsMapper; import com.zhgd.xmgl.modules.project.mapper.ProjectDevStatisticsMapper;
import com.zhgd.xmgl.modules.video.mapper.VideoItemMapper;
import com.zhgd.xmgl.util.MessageUtil; import com.zhgd.xmgl.util.MessageUtil;
import com.zhgd.xmgl.util.ReflectionUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils; import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -208,10 +210,11 @@ public class TowerServiceImpl extends ServiceImpl<TowerMapper, Tower> implements
tower.setTowerDriverList(devSn); tower.setTowerDriverList(devSn);
} }
QueryWrapper<BigDeviceVideo> queryWrapper2 = new QueryWrapper<>(); QueryWrapper<BigDeviceVideo> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.lambda().eq(BigDeviceVideo::getDevSn, tower.getDevSn()) String bdv = "bdv.";
.eq(BigDeviceVideo::getProjectSn, tower.getProjectSn()) queryWrapper2.eq(bdv + ReflectionUtil.getFieldNameToUlc(BigDeviceVideo::getDevSn), tower.getDevSn())
.eq(BigDeviceVideo::getType, 1); .eq(bdv + ReflectionUtil.getFieldNameToUlc(BigDeviceVideo::getProjectSn), tower.getProjectSn())
List<BigDeviceVideo> videoList = bigDeviceVideoMapper.selectList(queryWrapper2); .eq(bdv + ReflectionUtil.getFieldNameToUlc(BigDeviceVideo::getType), 1);
List<BigDeviceVideo> videoList = bigDeviceVideoMapper.selectListExt(queryWrapper2);
tower.setVideoList(videoList); tower.setVideoList(videoList);
QueryWrapper<TowerVisualize> queryWrapper3 = new QueryWrapper<>(); QueryWrapper<TowerVisualize> queryWrapper3 = new QueryWrapper<>();
queryWrapper3.lambda().eq(TowerVisualize::getTowerSn, tower.getDevSn()) queryWrapper3.lambda().eq(TowerVisualize::getTowerSn, tower.getDevSn())

View File

@ -156,15 +156,10 @@ public class ProjectFileServiceImpl extends ServiceImpl<ProjectFileMapper, Proje
throw new OpenAlertException("未选中需要移动的文件"); throw new OpenAlertException("未选中需要移动的文件");
} }
ProjectFile old = projectFileMapper.selectById(list.get(0).getFileId()); ProjectFile old = projectFileMapper.selectById(list.get(0).getFileId());
if (list.stream().anyMatch(e -> (e.getFilePath() + e.getFileName()).equals(old.getFilePath() + old.getFileName()))) { if (list.stream().anyMatch(e -> StringUtils.startsWith(e.getFilePath(), old.getFilePath() + old.getFileName())
throw new OpenAlertException("目标文件夹和源文件夹相同"); && StringUtils.substringAfter(e.getFilePath(), old.getFilePath() + old.getFileName()).startsWith("/")
} )) {
if (list.stream().anyMatch(e -> { throw new OpenAlertException("移动失败,目标文件夹是源文件夹的子文件夹");
String source = e.getFilePath() + e.getFileName();
String target = old.getFilePath() + old.getFileName();
return source.equals(target);
})) {
throw new OpenAlertException("目标文件夹是源文件夹的子文件夹");
} }
} }
} }