bug修复

This commit is contained in:
guo 2024-01-12 11:16:17 +08:00
parent 0d5211a40e
commit c3436cf596
13 changed files with 78 additions and 25 deletions

View File

@ -2,6 +2,7 @@ package com.zhgd.netty.udp;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.zhgd.xmgl.modules.location.entity.LocationData;
@ -73,7 +74,12 @@ public class UDPServerHandler extends SimpleChannelInboundHandler<DatagramPacket
locationData.setCardno(cardno);
locationData.setPersonName(workerInfos.get(0).getWorkerName());
//算出洞口的距离
locationData.setInlX(Double.valueOf(inlX) + 271);
locationData.setInlX(Double.parseDouble(inlX) + 271);
try {
locationData.setPY((double) RandomUtil.randomInt(locationTunnel.getYValueRandomRangeStart(), locationTunnel.getYValueRandomRangeEnd()));
} catch (Exception e) {
locationData.setPY(Double.valueOf(locationTunnel.getYValueRandomRangeStart()));
}
locationData.setAlarm(0);
locationData.setProjectSn(projectSn);
locationData.setRealtimeId(realtimeId);

View File

@ -1,5 +0,0 @@
package com.zhgd.xmgl.constant;
public interface DictConstant {
String AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE = "ai_analyse_hard_ware_alarm_record_type";
}

View File

@ -0,0 +1,7 @@
package com.zhgd.xmgl.modules.basicdata.constant;
public interface DictionaryConstant {
String PROJECT_CONSTRUCTION_STAGE = "project_construction_stage";
String AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE = "ai_analyse_hard_ware_alarm_record_type";
String LOCATION_DATA_PROJECT_SN_DISAPPEAR_TIME = "location_data_project_sn_disappear_time";
}

View File

@ -1,5 +0,0 @@
package com.zhgd.xmgl.modules.basicdata.constant;
public interface DictionaryItemConstant {
String PROJECT_CONSTRUCTION_STAGE = "project_construction_stage";
}

View File

@ -4,9 +4,11 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhgd.xmgl.modules.basicdata.entity.DictionariesRecord;
import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@Mapper
public interface DictionaryItemMapper extends BaseMapper<DictionaryItem> {
DictionaryItem getLocationDataDisappearTimeByProjectSn(@Param("projectSn") String projectSn, @Param("dictionaryEncoding") String dictionaryEncoding);
}

View File

@ -1,4 +1,11 @@
<?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">
<mapper namespace="com.zhgd.xmgl.modules.basicdata.mapper.DictionaryItemMapper">
<select id="getLocationDataDisappearTimeByProjectSn"
resultType="com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem">
select * from dictionary_item
where dictionary_encoding=#{dictionaryEncoding}
and is_enable=1
and find_in_set(#{projectSn},data)
</select>
</mapper>

View File

@ -9,7 +9,13 @@ import java.util.List;
public interface IDictionaryItemService extends IService<DictionaryItem> {
public List<DictionaryItem> getDictList(String dictionaryEncoding);
/**
* 查询基础字典信息列表查启用的
*
* @param dictionaryEncoding
* @return
*/
List<DictionaryItem> getDictList(String dictionaryEncoding);
void add(DictionaryItem dictionaryItem);

View File

@ -5,7 +5,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryItemConstant;
import com.zhgd.xmgl.enums.ParamEnum;
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
import com.zhgd.xmgl.modules.basicdata.entity.Dictionary;
import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
import com.zhgd.xmgl.modules.basicdata.mapper.DictionaryItemMapper;
@ -55,7 +56,7 @@ public class DictionaryItemServiceImpl extends ServiceImpl<DictionaryItemMapper,
@Override
public List<DictionaryItem> listEnableByConstructionStage(String projectConstructionStage) {
return dictionaryItemMapper.selectList(new LambdaQueryWrapper<DictionaryItem>()
.eq(DictionaryItem::getDictionaryEncoding, DictionaryItemConstant.PROJECT_CONSTRUCTION_STAGE)
.eq(DictionaryItem::getDictionaryEncoding, DictionaryConstant.PROJECT_CONSTRUCTION_STAGE)
.eq(DictionaryItem::getIsEnable, 1)
);
}

View File

@ -93,10 +93,10 @@ public class LocationData implements Serializable {
@ApiModelProperty(value = "标签X位置(单位像素) 相对12000*12000位置坐标")
private Double pX;
/**
* 标签Y位置单位像素
* 标签Y位置单位像素用这个
*/
@Excel(name = "标签Y位置单位像素", width = 15)
@ApiModelProperty(value = "标签Y位置单位像素")
@Excel(name = "标签Y位置单位像素用这个", width = 15)
@ApiModelProperty(value = "标签Y位置单位像素用这个")
private Double pY;
/**
* 标签距离洞口用这个

View File

@ -5,11 +5,17 @@
resultType="com.zhgd.xmgl.modules.location.entity.vo.RealTimeLocationWorkerVo">
select ei.enterprise_name, i.team_name, count(*) count
from location_data d
join (select max(id) id from location_data where project_sn = #{projectSn}
<if test="disappearTime != null and disappearTime != ''">
and create_time >= date_sub(now(),interval #{disappearTime} second )
</if>
group by cardno)t on t.id=d.id
join location_tunnel lt on lt.realtime_id=d.realtime_id
join worker_info wi on d.cardno = wi.location_cardno
join team_info i on i.id = wi.team_id
join enterprise_info ei on ei.id = wi.enterprise_id
where 1 = 1
and d.realtime_id = (select location_tunnel.realtime_id from location_tunnel where id = #{locationTunnelId})
and lt.id = #{locationTunnelId}
<if test="projectSn != null and projectSn != ''">
and d.project_sn = #{projectSn}
</if>
@ -23,9 +29,13 @@
<select id="getRealTimeLocationWorker" resultType="com.zhgd.xmgl.modules.location.entity.LocationData">
select d.*
from location_data d
join (select max(id) id from location_data group by cardno)t on t.id=d.id
join worker_info wi on d.cardno = wi.location_cardno
join (select max(id) id from location_data where project_sn = #{projectSn}
<if test="disappearTime != null and disappearTime != ''">
and create_time >= date_sub(now(),interval #{disappearTime} second )
</if>
group by cardno)t on t.id=d.id
join location_tunnel lt on lt.realtime_id=d.realtime_id
join worker_info wi on d.cardno = wi.location_cardno
where lt.id = #{locationTunnelId}
<if test="queryStr != null and queryStr != ''">
and (wi.worker_name like concat('%', #{queryStr}, '%') or

View File

@ -12,6 +12,10 @@ import com.gexin.fastjson.JSON;
import com.gexin.fastjson.TypeReference;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.enums.ParamEnum;
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
import com.zhgd.xmgl.modules.basicdata.entity.DictionaryItem;
import com.zhgd.xmgl.modules.basicdata.mapper.DictionaryItemMapper;
import com.zhgd.xmgl.modules.location.entity.LocationData;
import com.zhgd.xmgl.modules.location.entity.LocationTunnel;
import com.zhgd.xmgl.modules.location.entity.dto.JiLianDaRt;
@ -22,6 +26,8 @@ import com.zhgd.xmgl.modules.location.service.ILocationDataService;
import com.zhgd.xmgl.util.RefUtil;
import com.zhgd.xmgl.util.TimeUtil;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.mortbay.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -39,15 +45,19 @@ import java.util.List;
public class LocationDataServiceImpl extends ServiceImpl<LocationDataMapper, LocationData> implements ILocationDataService {
@Autowired
LocationTunnelMapper locationTunnelMapper;
@Autowired
DictionaryItemMapper dictionaryItemMapper;
@Override
public List<RealTimeLocationWorkerVo> countRealTimeLocationWorker(HashMap<String, Object> paramMap) {
setDisappearTimeIf(paramMap);
List<RealTimeLocationWorkerVo> realTimeLocationWorkerVos = baseMapper.countRealTimeLocationWorker(paramMap);
return realTimeLocationWorkerVos;
}
@Override
public List<LocationData> getRealTimeLocationWorker(HashMap<String, Object> paramMap) {
setDisappearTimeIf(paramMap);
List<LocationData> locationDataList = baseMapper.getRealTimeLocationWorker(paramMap);
for (LocationData locationData : locationDataList) {
if (locationData.getWorkingTime() != null) {
@ -57,6 +67,19 @@ public class LocationDataServiceImpl extends ServiceImpl<LocationDataMapper, Loc
return locationDataList;
}
private void setDisappearTimeIf(HashMap<String, Object> paramMap) {
String projectSn = MapUtils.getString(paramMap, "projectSn");
DictionaryItem dictionaryItem = dictionaryItemMapper.getLocationDataDisappearTimeByProjectSn(projectSn, DictionaryConstant.LOCATION_DATA_PROJECT_SN_DISAPPEAR_TIME);
if (dictionaryItem != null) {
try {
String s = StringUtils.split(dictionaryItem.getData(), ",")[1];
paramMap.put("disappearTime", s);
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public IPage<LocationData> queryPageList(LocationData locationData, Integer pageNo, Integer pageSize, HttpServletRequest req) {
String defaultAlias = "d.";
@ -83,7 +106,7 @@ public class LocationDataServiceImpl extends ServiceImpl<LocationDataMapper, Loc
locationData.setRealtimeId(l);
locationData.setTunnelId(locationData.getRegionId());
try {
locationData.setPY(Double.valueOf(RandomUtil.randomInt(tunnel.getYValueRandomRangeStart(), tunnel.getYValueRandomRangeEnd())));
locationData.setPY((double) RandomUtil.randomInt(tunnel.getYValueRandomRangeStart(), tunnel.getYValueRandomRangeEnd()));
} catch (Exception e) {
locationData.setPY(Double.valueOf(tunnel.getYValueRandomRangeStart()));
}

View File

@ -17,7 +17,8 @@ import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.redis.lock.RedisRepository;
import com.zhgd.xmgl.entity.vo.ZwProjectDataVo;
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryItemConstant;
import com.zhgd.xmgl.enums.ParamEnum;
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
import com.zhgd.xmgl.modules.basicdata.entity.*;
import com.zhgd.xmgl.modules.basicdata.mapper.BaseModuleProjectMapper;
import com.zhgd.xmgl.modules.basicdata.mapper.CompanyConfigMapper;
@ -762,7 +763,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
public List<ConstructionStageVo> countConstructionStage(Map<String, Object> map) {
companyService.getCompanyType(map);
List<ConstructionStageVo> constructionStageVos = projectMapper.countConstructionStage(map);
List<DictionaryItem> dictionaryItems = dictionaryItemService.listEnableByConstructionStage(DictionaryItemConstant.PROJECT_CONSTRUCTION_STAGE);
List<DictionaryItem> dictionaryItems = dictionaryItemService.listEnableByConstructionStage(DictionaryConstant.PROJECT_CONSTRUCTION_STAGE);
Map<Integer, ConstructionStageVo> csMap = constructionStageVos.stream().collect(Collectors.toMap(ConstructionStageVo::getConstructionStage, Function.identity()));
ArrayList<ConstructionStageVo> list = new ArrayList<>();
for (DictionaryItem dictionaryItem : dictionaryItems) {

View File

@ -15,7 +15,7 @@ import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.xmgl.async.AsyncAiAnalyse;
import com.zhgd.xmgl.base.entity.vo.SectorOneVo;
import com.zhgd.xmgl.base.entity.vo.SectorVo;
import com.zhgd.xmgl.constant.DictConstant;
import com.zhgd.xmgl.modules.basicdata.constant.DictionaryConstant;
import com.zhgd.xmgl.modules.basicdata.entity.Company;
import com.zhgd.xmgl.modules.basicdata.entity.CompanyConfig;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
@ -195,7 +195,7 @@ public class AiAnalyseHardWareAlarmRecordServiceImpl extends ServiceImpl<AiAnaly
@Override
public SectorVo getAiAnalyseHardWareAlarmTotal(Map<String, Object> map) {
List<SectorOneVo> list = aiAnalyseHardWareAlarmRecordMapper.getAiAnalyseHardWareAlarmTotal(map);
return SectorVo.getSectorVoByDict(list, dictionaryItemService.getDictList(DictConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE), true);
return SectorVo.getSectorVoByDict(list, dictionaryItemService.getDictList(DictionaryConstant.AI_ANALYSE_HARD_WARE_ALARM_RECORD_TYPE), true);
}
/**