智能安全帽-实时数据-围栏中间表
This commit is contained in:
parent
10889f8b6e
commit
c88492ff5a
@ -0,0 +1,120 @@
|
|||||||
|
package com.zhgd.xmgl.modules.safetyhat.controller;
|
||||||
|
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatDataToFence;
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatDataToFenceService;
|
||||||
|
import io.swagger.annotations.Api;
|
||||||
|
import io.swagger.annotations.ApiImplicitParam;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
|
import io.swagger.annotations.ApiImplicitParams;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
|
||||||
|
import springfox.documentation.annotations.ApiIgnore;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.zhgd.jeecg.common.api.vo.Result;
|
||||||
|
import org.apache.commons.collections.MapUtils;
|
||||||
|
|
||||||
|
import org.simpleframework.xml.core.Validate;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Title: Controller
|
||||||
|
* @Description: 智能安全帽-实时数据-围栏中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2024-06-13
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/xmgl/safetyHatDataToFence")
|
||||||
|
@Slf4j
|
||||||
|
@Api(tags = "智能安全帽-实时数据-围栏中间表相关Api")
|
||||||
|
public class SafetyHatDataToFenceController {
|
||||||
|
@Autowired
|
||||||
|
private ISafetyHatDataToFenceService safetyHatDataToFenceService;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分页列表查询
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "分页列表查询智能安全帽-实时数据-围栏中间表信息", notes = "分页列表查询智能安全帽-实时数据-围栏中间表信息", httpMethod = "GET")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "pageNo", value = "第几页", paramType = "query", required = true, dataType = "Integer"),
|
||||||
|
@ApiImplicitParam(name = "pageSize", value = "每页显示条数", paramType = "query", required = true, dataType = "Integer"),
|
||||||
|
})
|
||||||
|
@GetMapping(value = "/page")
|
||||||
|
public Result<IPage<SafetyHatDataToFence>> queryPageList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
|
||||||
|
return Result.success(safetyHatDataToFenceService.queryPageList(param));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 列表查询
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "列表查询智能安全帽-实时数据-围栏中间表信息", notes = "列表查询智能安全帽-实时数据-围栏中间表信息", httpMethod = "GET")
|
||||||
|
@GetMapping(value = "/list")
|
||||||
|
public Result<List<SafetyHatDataToFence>> queryList(@ApiIgnore @RequestParam HashMap<String, Object> param) {
|
||||||
|
return Result.success(safetyHatDataToFenceService.queryList(param));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 添加
|
||||||
|
*
|
||||||
|
* @param safetyHatDataToFence
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "添加智能安全帽-实时数据-围栏中间表信息", notes = "添加智能安全帽-实时数据-围栏中间表信息", httpMethod = "POST")
|
||||||
|
@PostMapping(value = "/add")
|
||||||
|
public Result<SafetyHatDataToFence> add(@RequestBody @Validate SafetyHatDataToFence safetyHatDataToFence) {
|
||||||
|
safetyHatDataToFenceService.add(safetyHatDataToFence);
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @param safetyHatDataToFence
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "编辑智能安全帽-实时数据-围栏中间表信息", notes = "编辑智能安全帽-实时数据-围栏中间表信息", httpMethod = "POST")
|
||||||
|
@PostMapping(value = "/edit")
|
||||||
|
public Result<SafetyHatDataToFence> edit(@RequestBody SafetyHatDataToFence safetyHatDataToFence) {
|
||||||
|
safetyHatDataToFenceService.edit(safetyHatDataToFence);
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id删除
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "删除智能安全帽-实时数据-围栏中间表信息", notes = "删除智能安全帽-实时数据-围栏中间表信息", httpMethod = "POST")
|
||||||
|
@ApiImplicitParam(name = "id", value = "智能安全帽-实时数据-围栏中间表ID", paramType = "body", required = true, dataType = "String", example = "{\"id\":\"1\"}")
|
||||||
|
@PostMapping(value = "/delete")
|
||||||
|
public Result<SafetyHatDataToFence> delete(@ApiIgnore @RequestBody HashMap<String, Object> map) {
|
||||||
|
safetyHatDataToFenceService.delete(MapUtils.getString(map, "id"));
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 通过id查询
|
||||||
|
*
|
||||||
|
* @param id
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiOperation(value = "通过id查询智能安全帽-实时数据-围栏中间表信息", notes = "通过id查询智能安全帽-实时数据-围栏中间表信息", httpMethod = "GET")
|
||||||
|
@ApiImplicitParam(name = "id", value = "智能安全帽-实时数据-围栏中间表ID", paramType = "query", required = true, dataType = "Integer")
|
||||||
|
@GetMapping(value = "/queryById")
|
||||||
|
public Result<SafetyHatDataToFence> queryById(@RequestParam(name = "id", required = true) String id) {
|
||||||
|
return Result.success(safetyHatDataToFenceService.queryById(id));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,46 @@
|
|||||||
|
package com.zhgd.xmgl.modules.safetyhat.entity;
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.IdType;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableId;
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName;
|
||||||
|
import lombok.Data;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
|
import org.springframework.format.annotation.DateTimeFormat;
|
||||||
|
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||||
|
import io.swagger.annotations.ApiModel;
|
||||||
|
import io.swagger.annotations.ApiModelProperty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 智能安全帽-实时数据-围栏中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2024-06-13
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
@TableName("safety_hat_data_to_fence")
|
||||||
|
@ApiModel(value = "SafetyHatDataToFence实体类", description = "SafetyHatDataToFence")
|
||||||
|
public class SafetyHatDataToFence implements Serializable {
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@TableId(type = IdType.ASSIGN_ID)
|
||||||
|
@ApiModelProperty(value = "id")
|
||||||
|
private java.lang.Long id;
|
||||||
|
/**
|
||||||
|
* 智能安全帽-实时数据id
|
||||||
|
*/
|
||||||
|
@Excel(name = "智能安全帽-实时数据id", width = 15)
|
||||||
|
@ApiModelProperty(value = "智能安全帽-实时数据id")
|
||||||
|
private java.lang.Long safetyHatDataId;
|
||||||
|
/**
|
||||||
|
* 智能安全帽-围栏id
|
||||||
|
*/
|
||||||
|
@Excel(name = "智能安全帽-围栏id", width = 15)
|
||||||
|
@ApiModelProperty(value = "智能安全帽-围栏id")
|
||||||
|
private java.lang.Long safetyHatFenceId;
|
||||||
|
}
|
||||||
@ -0,0 +1,16 @@
|
|||||||
|
package com.zhgd.xmgl.modules.safetyhat.mapper;
|
||||||
|
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatDataToFence;
|
||||||
|
import org.apache.ibatis.annotations.Mapper;
|
||||||
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 智能安全帽-实时数据-围栏中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2024-06-13
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
@Mapper
|
||||||
|
public interface SafetyHatDataToFenceMapper extends BaseMapper<SafetyHatDataToFence> {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,4 @@
|
|||||||
|
<?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.safetyhat.mapper.SafetyHatDataToFenceMapper">
|
||||||
|
</mapper>
|
||||||
@ -0,0 +1,30 @@
|
|||||||
|
package com.zhgd.xmgl.modules.safetyhat.service;
|
||||||
|
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatDataToFence;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 智能安全帽-实时数据-围栏中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2024-06-13
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
public interface ISafetyHatDataToFenceService extends IService<SafetyHatDataToFence> {
|
||||||
|
|
||||||
|
IPage<SafetyHatDataToFence> queryPageList(HashMap<String, Object> param);
|
||||||
|
|
||||||
|
List<SafetyHatDataToFence> queryList(HashMap<String, Object> param);
|
||||||
|
|
||||||
|
void add(SafetyHatDataToFence safetyHatDataToFence);
|
||||||
|
|
||||||
|
void edit(SafetyHatDataToFence safetyHatDataToFence);
|
||||||
|
|
||||||
|
void delete(String id);
|
||||||
|
|
||||||
|
SafetyHatDataToFence queryById(String id);
|
||||||
|
|
||||||
|
}
|
||||||
@ -26,6 +26,8 @@ import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatDevMapper;
|
|||||||
import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatFenceMapper;
|
import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatFenceMapper;
|
||||||
import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatAlarmService;
|
import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatAlarmService;
|
||||||
import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatDataService;
|
import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatDataService;
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatDataToFence;
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatDataToFenceMapper;
|
||||||
import com.zhgd.xmgl.util.PageUtil;
|
import com.zhgd.xmgl.util.PageUtil;
|
||||||
import com.zhgd.xmgl.util.RefUtil;
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
import com.zhgd.xmgl.util.RegionUtil;
|
import com.zhgd.xmgl.util.RegionUtil;
|
||||||
@ -51,6 +53,8 @@ public class SafetyHatDataServiceImpl extends ServiceImpl<SafetyHatDataMapper, S
|
|||||||
@Autowired
|
@Autowired
|
||||||
private SafetyHatDataMapper safetyHatDataMapper;
|
private SafetyHatDataMapper safetyHatDataMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
|
private SafetyHatDataToFenceMapper safetyHatDataToFenceMapper;
|
||||||
|
@Autowired
|
||||||
private SafetyHatDevMapper safetyHatDevMapper;
|
private SafetyHatDevMapper safetyHatDevMapper;
|
||||||
@Autowired
|
@Autowired
|
||||||
private SafetyHatFenceMapper safetyHatFenceMapper;
|
private SafetyHatFenceMapper safetyHatFenceMapper;
|
||||||
@ -117,11 +121,12 @@ public class SafetyHatDataServiceImpl extends ServiceImpl<SafetyHatDataMapper, S
|
|||||||
List<SafetyHatFence> fenceList = safetyHatFenceMapper.selectList(new LambdaQueryWrapper<SafetyHatFence>()
|
List<SafetyHatFence> fenceList = safetyHatFenceMapper.selectList(new LambdaQueryWrapper<SafetyHatFence>()
|
||||||
.eq(SafetyHatFence::getProjectSn, dev.getProjectSn()));
|
.eq(SafetyHatFence::getProjectSn, dev.getProjectSn()));
|
||||||
if (CollUtil.isNotEmpty(fenceList)) {
|
if (CollUtil.isNotEmpty(fenceList)) {
|
||||||
|
boolean isInFence = false;
|
||||||
boolean inFence = false;
|
boolean inFence = false;
|
||||||
for (SafetyHatFence fence : fenceList) {
|
for (SafetyHatFence fence : fenceList) {
|
||||||
//判断是否在围栏范围内
|
//判断是否在围栏范围内
|
||||||
if (Objects.equals(fence.getRangeType(), 1)) {
|
if (Objects.equals(fence.getRangeType(), 1)) {
|
||||||
inFence = RegionUtil.isInCircle(safetyHatData.getLongitude(), safetyHatData.getLatitude(), fence.getLongitude(), fence.getLatitude(), fence.getAreaRadius());
|
isInFence = RegionUtil.isInCircle(safetyHatData.getLongitude(), safetyHatData.getLatitude(), fence.getLongitude(), fence.getLatitude(), fence.getAreaRadius());
|
||||||
} else if (Objects.equals(fence.getRangeType(), 2)) {
|
} else if (Objects.equals(fence.getRangeType(), 2)) {
|
||||||
String fenceShape = fence.getFenceShape();
|
String fenceShape = fence.getFenceShape();
|
||||||
if (StrUtil.isNotBlank(fenceShape)) {
|
if (StrUtil.isNotBlank(fenceShape)) {
|
||||||
@ -134,11 +139,15 @@ public class SafetyHatDataServiceImpl extends ServiceImpl<SafetyHatDataMapper, S
|
|||||||
lon[i] = Double.valueOf(two[0]);
|
lon[i] = Double.valueOf(two[0]);
|
||||||
lat[i] = Double.valueOf(two[1]);
|
lat[i] = Double.valueOf(two[1]);
|
||||||
}
|
}
|
||||||
inFence = RegionUtil.isInPolygon(safetyHatData.getLongitude(), safetyHatData.getLatitude(), lon, lat);
|
isInFence = RegionUtil.isInPolygon(safetyHatData.getLongitude(), safetyHatData.getLatitude(), lon, lat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (inFence) {
|
if (isInFence) {
|
||||||
break;
|
SafetyHatDataToFence toFence = new SafetyHatDataToFence();
|
||||||
|
toFence.setSafetyHatDataId(safetyHatData.getId());
|
||||||
|
toFence.setSafetyHatFenceId(fence.getId());
|
||||||
|
safetyHatDataToFenceMapper.insert(toFence);
|
||||||
|
inFence = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!inFence) {
|
if (!inFence) {
|
||||||
|
|||||||
@ -0,0 +1,93 @@
|
|||||||
|
package com.zhgd.xmgl.modules.safetyhat.service.impl;
|
||||||
|
|
||||||
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.entity.SafetyHatDataToFence;
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.service.ISafetyHatDataToFenceService;
|
||||||
|
import com.zhgd.xmgl.modules.safetyhat.mapper.SafetyHatDataToFenceMapper;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
|
import com.zhgd.jeecg.common.system.query.QueryGenerator;
|
||||||
|
import com.zhgd.xmgl.util.PageUtil;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Description: 智能安全帽-实时数据-围栏中间表
|
||||||
|
* @author: pds
|
||||||
|
* @date: 2024-06-13
|
||||||
|
* @version: V1.0
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
@Transactional(rollbackFor = Exception.class)
|
||||||
|
public class SafetyHatDataToFenceServiceImpl extends ServiceImpl<SafetyHatDataToFenceMapper, SafetyHatDataToFence> implements ISafetyHatDataToFenceService {
|
||||||
|
@Autowired
|
||||||
|
private SafetyHatDataToFenceMapper safetyHatDataToFenceMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IPage<SafetyHatDataToFence> queryPageList(HashMap<String, Object> param) {
|
||||||
|
QueryWrapper<SafetyHatDataToFence> queryWrapper = getQueryWrapper(param);
|
||||||
|
Page<SafetyHatDataToFence> page = PageUtil.getPage(param);
|
||||||
|
IPage<SafetyHatDataToFence> pageList = this.page(page, queryWrapper);
|
||||||
|
pageList.setRecords(dealList(pageList.getRecords()));
|
||||||
|
return pageList;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SafetyHatDataToFence> queryList(HashMap<String, Object> param) {
|
||||||
|
QueryWrapper<SafetyHatDataToFence> queryWrapper = getQueryWrapper(param);
|
||||||
|
return dealList(this.list(queryWrapper));
|
||||||
|
}
|
||||||
|
|
||||||
|
private QueryWrapper<SafetyHatDataToFence> getQueryWrapper(HashMap<String, Object> param) {
|
||||||
|
String alias = "";
|
||||||
|
QueryWrapper<SafetyHatDataToFence> queryWrapper = QueryGenerator.initPageQueryWrapper(SafetyHatDataToFence.class, param, alias);
|
||||||
|
queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(SafetyHatDataToFence::getId));
|
||||||
|
return queryWrapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
private List<SafetyHatDataToFence> dealList(List<SafetyHatDataToFence> list) {
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void add(SafetyHatDataToFence safetyHatDataToFence) {
|
||||||
|
safetyHatDataToFence.setId(null);
|
||||||
|
baseMapper.insert(safetyHatDataToFence);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void edit(SafetyHatDataToFence safetyHatDataToFence) {
|
||||||
|
SafetyHatDataToFence oldSafetyHatDataToFence = baseMapper.selectById(safetyHatDataToFence.getId());
|
||||||
|
if (oldSafetyHatDataToFence == null) {
|
||||||
|
throw new OpenAlertException("未找到对应实体");
|
||||||
|
}
|
||||||
|
baseMapper.updateById(safetyHatDataToFence);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void delete(String id) {
|
||||||
|
SafetyHatDataToFence safetyHatDataToFence = baseMapper.selectById(id);
|
||||||
|
if (safetyHatDataToFence == null) {
|
||||||
|
throw new OpenAlertException("未找到对应实体");
|
||||||
|
}
|
||||||
|
baseMapper.deleteById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public SafetyHatDataToFence queryById(String id) {
|
||||||
|
SafetyHatDataToFence entity = getById(id);
|
||||||
|
if (entity == null) {
|
||||||
|
throw new OpenAlertException("未找到对应实体");
|
||||||
|
}
|
||||||
|
return entity;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user