diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/controller/SafetyHatDataToFenceController.java b/src/main/java/com/zhgd/xmgl/modules/safetyhat/controller/SafetyHatDataToFenceController.java new file mode 100644 index 000000000..7f89003d4 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/controller/SafetyHatDataToFenceController.java @@ -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> queryPageList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(safetyHatDataToFenceService.queryPageList(param)); + } + + /** + * 列表查询 + * + * @return + */ + @ApiOperation(value = "列表查询智能安全帽-实时数据-围栏中间表信息", notes = "列表查询智能安全帽-实时数据-围栏中间表信息", httpMethod = "GET") + @GetMapping(value = "/list") + public Result> queryList(@ApiIgnore @RequestParam HashMap param) { + return Result.success(safetyHatDataToFenceService.queryList(param)); + } + + /** + * 添加 + * + * @param safetyHatDataToFence + * @return + */ + @ApiOperation(value = "添加智能安全帽-实时数据-围栏中间表信息", notes = "添加智能安全帽-实时数据-围栏中间表信息", httpMethod = "POST") + @PostMapping(value = "/add") + public Result add(@RequestBody @Validate SafetyHatDataToFence safetyHatDataToFence) { + safetyHatDataToFenceService.add(safetyHatDataToFence); + return Result.ok(); + } + + /** + * 编辑 + * + * @param safetyHatDataToFence + * @return + */ + @ApiOperation(value = "编辑智能安全帽-实时数据-围栏中间表信息", notes = "编辑智能安全帽-实时数据-围栏中间表信息", httpMethod = "POST") + @PostMapping(value = "/edit") + public Result 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 delete(@ApiIgnore @RequestBody HashMap 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 queryById(@RequestParam(name = "id", required = true) String id) { + return Result.success(safetyHatDataToFenceService.queryById(id)); + } + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/entity/SafetyHatDataToFence.java b/src/main/java/com/zhgd/xmgl/modules/safetyhat/entity/SafetyHatDataToFence.java new file mode 100644 index 000000000..1749d29e0 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/entity/SafetyHatDataToFence.java @@ -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; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/mapper/SafetyHatDataToFenceMapper.java b/src/main/java/com/zhgd/xmgl/modules/safetyhat/mapper/SafetyHatDataToFenceMapper.java new file mode 100644 index 000000000..50c8df3af --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/mapper/SafetyHatDataToFenceMapper.java @@ -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 { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/mapper/xml/SafetyHatDataToFenceMapper.xml b/src/main/java/com/zhgd/xmgl/modules/safetyhat/mapper/xml/SafetyHatDataToFenceMapper.xml new file mode 100644 index 000000000..b0734193c --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/mapper/xml/SafetyHatDataToFenceMapper.xml @@ -0,0 +1,4 @@ + + + + diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/ISafetyHatDataToFenceService.java b/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/ISafetyHatDataToFenceService.java new file mode 100644 index 000000000..896fe0045 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/ISafetyHatDataToFenceService.java @@ -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 { + + IPage queryPageList(HashMap param); + + List queryList(HashMap param); + + void add(SafetyHatDataToFence safetyHatDataToFence); + + void edit(SafetyHatDataToFence safetyHatDataToFence); + + void delete(String id); + + SafetyHatDataToFence queryById(String id); + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDataServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDataServiceImpl.java index 3d6b88910..bc4d08cd1 100644 --- a/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDataServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/safetyhat/service/impl/SafetyHatDataServiceImpl.java @@ -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.service.ISafetyHatAlarmService; 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.RefUtil; import com.zhgd.xmgl.util.RegionUtil; @@ -51,6 +53,8 @@ public class SafetyHatDataServiceImpl extends ServiceImpl fenceList = safetyHatFenceMapper.selectList(new LambdaQueryWrapper() .eq(SafetyHatFence::getProjectSn, dev.getProjectSn())); if (CollUtil.isNotEmpty(fenceList)) { + boolean isInFence = false; boolean inFence = false; for (SafetyHatFence fence : fenceList) { //判断是否在围栏范围内 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)) { String fenceShape = fence.getFenceShape(); if (StrUtil.isNotBlank(fenceShape)) { @@ -134,11 +139,15 @@ public class SafetyHatDataServiceImpl extends ServiceImpl implements ISafetyHatDataToFenceService { + @Autowired + private SafetyHatDataToFenceMapper safetyHatDataToFenceMapper; + + @Override + public IPage queryPageList(HashMap param) { + QueryWrapper queryWrapper = getQueryWrapper(param); + Page page = PageUtil.getPage(param); + IPage pageList = this.page(page, queryWrapper); + pageList.setRecords(dealList(pageList.getRecords())); + return pageList; + } + + @Override + public List queryList(HashMap param) { + QueryWrapper queryWrapper = getQueryWrapper(param); + return dealList(this.list(queryWrapper)); + } + + private QueryWrapper getQueryWrapper(HashMap param) { + String alias = ""; + QueryWrapper queryWrapper = QueryGenerator.initPageQueryWrapper(SafetyHatDataToFence.class, param, alias); + queryWrapper.orderByDesc(alias + RefUtil.fieldNameUlc(SafetyHatDataToFence::getId)); + return queryWrapper; + } + + private List dealList(List 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; + } + +}