From 862f7967feec6c6dd7cadfd9df1be9db08ec2bd3 Mon Sep 17 00:00:00 2001 From: wangwei_123 <1255324804@qq.com> Date: Tue, 16 Sep 2025 17:37:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E6=8C=81=E8=A1=A8=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hand/controller/admin/AlarmRuleController.java | 107 +++++++++++++ .../hand/controller/admin/AlarmTypeController.java | 107 +++++++++++++ .../controller/admin/FenceAlarmController.java | 107 +++++++++++++ .../hand/controller/admin/FenceController.java | 107 +++++++++++++ .../hand/controller/admin/GasTypeController.java | 107 +++++++++++++ .../hand/controller/admin/HandAlarmController.java | 106 +++++++++++++ .../controller/admin/HandDetectorController.java | 106 +++++++++++++ .../yudao/module/hand/controller/package-info.java | 4 + .../iocoder/yudao/module/hand/dal/AlarmRuleDO.java | 88 +++++++++++ .../iocoder/yudao/module/hand/dal/AlarmTypeDO.java | 68 ++++++++ .../yudao/module/hand/dal/FenceAlarmDO.java | 90 +++++++++++ .../cn/iocoder/yudao/module/hand/dal/FenceDO.java | 64 ++++++++ .../iocoder/yudao/module/hand/dal/GasTypeDO.java | 64 ++++++++ .../iocoder/yudao/module/hand/dal/HandAlarmDO.java | 94 +++++++++++ .../yudao/module/hand/dal/HandDetectorDO.java | 117 ++++++++++++++ .../module/hand/enums/ErrorCodeConstants.java | 21 +++ .../yudao/module/hand/framework/package-info.java | 6 + .../framework/web/config/HandWebConfiguration.java | 24 +++ .../module/hand/framework/web/package-info.java | 4 + .../yudao/module/hand/mapper/AlarmRuleMapper.java | 40 +++++ .../yudao/module/hand/mapper/AlarmTypeMapper.java | 35 +++++ .../yudao/module/hand/mapper/FenceAlarmMapper.java | 40 +++++ .../yudao/module/hand/mapper/FenceMapper.java | 34 ++++ .../yudao/module/hand/mapper/GasTypeMapper.java | 34 ++++ .../yudao/module/hand/mapper/HandAlarmMapper.java | 41 +++++ .../module/hand/mapper/HandDetectorMapper.java | 46 ++++++ .../cn/iocoder/yudao/module/hand/package-info.java | 2 + .../module/hand/service/AlarmRuleService.java | 64 ++++++++ .../module/hand/service/AlarmTypeService.java | 64 ++++++++ .../module/hand/service/FenceAlarmService.java | 64 ++++++++ .../yudao/module/hand/service/FenceService.java | 64 ++++++++ .../yudao/module/hand/service/GasTypeService.java | 64 ++++++++ .../module/hand/service/HandAlarmService.java | 64 ++++++++ .../module/hand/service/HandDetectorService.java | 64 ++++++++ .../hand/service/impl/AlarmRuleServiceImpl.java | 87 +++++++++++ .../hand/service/impl/AlarmTypeServiceImpl.java | 87 +++++++++++ .../hand/service/impl/FenceAlarmServiceImpl.java | 86 ++++++++++ .../module/hand/service/impl/FenceServiceImpl.java | 88 +++++++++++ .../hand/service/impl/GasTypeServiceImpl.java | 87 +++++++++++ .../hand/service/impl/HandAlarmServiceImpl.java | 87 +++++++++++ .../hand/service/impl/HandDetectorServiceImpl.java | 83 ++++++++++ .../yudao/module/hand/vo/AlarmRulePageReqVO.java | 62 ++++++++ .../yudao/module/hand/vo/AlarmRuleRespVO.java | 79 ++++++++++ .../yudao/module/hand/vo/AlarmRuleSaveReqVO.java | 63 ++++++++ .../yudao/module/hand/vo/AlarmTypePageReqVO.java | 47 ++++++ .../yudao/module/hand/vo/AlarmTypeRespVO.java | 59 +++++++ .../yudao/module/hand/vo/AlarmTypeSaveReqVO.java | 48 ++++++ .../yudao/module/hand/vo/FenceAlarmPageReqVO.java | 62 ++++++++ .../yudao/module/hand/vo/FenceAlarmRespVO.java | 79 ++++++++++ .../yudao/module/hand/vo/FenceAlarmSaveReqVO.java | 65 ++++++++ .../yudao/module/hand/vo/FencePageReqVO.java | 44 ++++++ .../iocoder/yudao/module/hand/vo/FenceRespVO.java | 55 +++++++ .../yudao/module/hand/vo/FenceSaveReqVO.java | 41 +++++ .../yudao/module/hand/vo/GasTypePageReqVO.java | 44 ++++++ .../yudao/module/hand/vo/GasTypeRespVO.java | 55 +++++++ .../yudao/module/hand/vo/GasTypeSaveReqVO.java | 44 ++++++ .../yudao/module/hand/vo/HandAlarmPageReqVO.java | 65 ++++++++ .../yudao/module/hand/vo/HandAlarmRespVO.java | 83 ++++++++++ .../yudao/module/hand/vo/HandAlarmSaveReqVO.java | 69 ++++++++ .../module/hand/vo/HandDetectorPageReqVO.java | 85 ++++++++++ .../yudao/module/hand/vo/HandDetectorRespVO.java | 110 +++++++++++++ .../module/hand/vo/HandDetectorSaveReqVO.java | 84 ++++++++++ .../yudao/module/lock/controller/package-info.java | 4 - .../module/lock/enums/ErrorCodeConstants.java | 10 -- .../yudao/module/lock/framework/package-info.java | 6 - .../framework/web/config/HandWebConfiguration.java | 24 --- .../module/lock/framework/web/package-info.java | 4 - .../cn/iocoder/yudao/module/lock/package-info.java | 12 -- .../iocoder/yudao/module/lock/util/WordUtils.java | 174 --------------------- .../src/main/resources/mapper/AlarmRuleMapper.xml | 12 ++ .../src/main/resources/mapper/AlarmTypeMapper.xml | 12 ++ .../src/main/resources/mapper/FenceAlarmMapper.xml | 12 ++ .../src/main/resources/mapper/FenceMapper.xml | 12 ++ .../src/main/resources/mapper/GasTypeMapper.xml | 12 ++ .../src/main/resources/mapper/HandAlarmMapper.xml | 12 ++ .../main/resources/mapper/HandDetectorMapper.xml | 12 ++ 76 files changed, 4143 insertions(+), 234 deletions(-) create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/AlarmRuleController.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/AlarmTypeController.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/FenceAlarmController.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/FenceController.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/GasTypeController.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/HandAlarmController.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/HandDetectorController.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/package-info.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/AlarmRuleDO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/AlarmTypeDO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/FenceAlarmDO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/FenceDO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/GasTypeDO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/HandAlarmDO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/HandDetectorDO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/enums/ErrorCodeConstants.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/package-info.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/web/config/HandWebConfiguration.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/web/package-info.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/AlarmRuleMapper.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/AlarmTypeMapper.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/FenceAlarmMapper.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/FenceMapper.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/GasTypeMapper.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/HandAlarmMapper.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/HandDetectorMapper.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/package-info.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/AlarmRuleService.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/AlarmTypeService.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/FenceAlarmService.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/FenceService.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/GasTypeService.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/HandAlarmService.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/HandDetectorService.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/AlarmRuleServiceImpl.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/AlarmTypeServiceImpl.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/FenceAlarmServiceImpl.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/FenceServiceImpl.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/GasTypeServiceImpl.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandAlarmServiceImpl.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRulePageReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRuleRespVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRuleSaveReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypePageReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypeRespVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypeSaveReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmPageReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmRespVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmSaveReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FencePageReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceRespVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceSaveReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypePageReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypeRespVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypeSaveReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmPageReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmRespVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmSaveReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorPageReqVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorRespVO.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorSaveReqVO.java delete mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/controller/package-info.java delete mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/enums/ErrorCodeConstants.java delete mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/package-info.java delete mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/web/config/HandWebConfiguration.java delete mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/web/package-info.java delete mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/package-info.java delete mode 100644 cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/util/WordUtils.java create mode 100644 cc-admin-master/yudao-module-hand/src/main/resources/mapper/AlarmRuleMapper.xml create mode 100644 cc-admin-master/yudao-module-hand/src/main/resources/mapper/AlarmTypeMapper.xml create mode 100644 cc-admin-master/yudao-module-hand/src/main/resources/mapper/FenceAlarmMapper.xml create mode 100644 cc-admin-master/yudao-module-hand/src/main/resources/mapper/FenceMapper.xml create mode 100644 cc-admin-master/yudao-module-hand/src/main/resources/mapper/GasTypeMapper.xml create mode 100644 cc-admin-master/yudao-module-hand/src/main/resources/mapper/HandAlarmMapper.xml create mode 100644 cc-admin-master/yudao-module-hand/src/main/resources/mapper/HandDetectorMapper.xml diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/AlarmRuleController.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/AlarmRuleController.java new file mode 100644 index 0000000..f98d7c4 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/AlarmRuleController.java @@ -0,0 +1,107 @@ +package cn.iocoder.yudao.module.hand.controller.admin; + +import cn.iocoder.yudao.module.hand.dal.AlarmRuleDO; +import cn.iocoder.yudao.module.hand.service.AlarmRuleService; +import cn.iocoder.yudao.module.hand.vo.AlarmRulePageReqVO; +import cn.iocoder.yudao.module.hand.vo.AlarmRuleRespVO; +import cn.iocoder.yudao.module.hand.vo.AlarmRuleSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + + +@Tag(name = "管理后台 - GAS警报规则") +@RestController +@RequestMapping("/gas/alarm-rule") +@Validated +public class AlarmRuleController { + + @Resource + private AlarmRuleService alarmRuleService; + + @PostMapping("/create") + @Operation(summary = "创建GAS警报规则") + @PreAuthorize("@ss.hasPermission('gas:alarm-rule:create')") + public CommonResult createAlarmRule(@Valid @RequestBody AlarmRuleSaveReqVO createReqVO) { + return success(alarmRuleService.createAlarmRule(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新GAS警报规则") + @PreAuthorize("@ss.hasPermission('gas:alarm-rule:update')") + public CommonResult updateAlarmRule(@Valid @RequestBody AlarmRuleSaveReqVO updateReqVO) { + alarmRuleService.updateAlarmRule(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除GAS警报规则") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('gas:alarm-rule:delete')") + public CommonResult deleteAlarmRule(@RequestParam("id") String id) { + alarmRuleService.deleteAlarmRule(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除GAS警报规则") + @PreAuthorize("@ss.hasPermission('gas:alarm-rule:delete')") + public CommonResult deleteAlarmRuleList(@RequestParam("ids") List ids) { + alarmRuleService.deleteAlarmRuleListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得GAS警报规则") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('gas:alarm-rule:query')") + public CommonResult getAlarmRule(@RequestParam("id") String id) { + AlarmRuleDO alarmRule = alarmRuleService.getAlarmRule(id); + return success(BeanUtils.toBean(alarmRule, AlarmRuleRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得GAS警报规则分页") + @PreAuthorize("@ss.hasPermission('gas:alarm-rule:query')") + public CommonResult> getAlarmRulePage(@Valid AlarmRulePageReqVO pageReqVO) { + PageResult pageResult = alarmRuleService.getAlarmRulePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, AlarmRuleRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出GAS警报规则 Excel") + @PreAuthorize("@ss.hasPermission('gas:alarm-rule:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportAlarmRuleExcel(@Valid AlarmRulePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = alarmRuleService.getAlarmRulePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "GAS警报规则.xls", "数据", AlarmRuleRespVO.class, + BeanUtils.toBean(list, AlarmRuleRespVO.class)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/AlarmTypeController.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/AlarmTypeController.java new file mode 100644 index 0000000..8e0ea73 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/AlarmTypeController.java @@ -0,0 +1,107 @@ +package cn.iocoder.yudao.module.hand.controller.admin; + +import cn.iocoder.yudao.module.hand.dal.AlarmTypeDO; +import cn.iocoder.yudao.module.hand.service.AlarmTypeService; +import cn.iocoder.yudao.module.hand.vo.AlarmTypePageReqVO; +import cn.iocoder.yudao.module.hand.vo.AlarmTypeRespVO; +import cn.iocoder.yudao.module.hand.vo.AlarmTypeSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + + +@Tag(name = "管理后台 - GAS警报类型") +@RestController +@RequestMapping("/gas/alarm-type") +@Validated +public class AlarmTypeController { + + @Resource + private AlarmTypeService alarmTypeService; + + @PostMapping("/create") + @Operation(summary = "创建GAS警报类型") + @PreAuthorize("@ss.hasPermission('gas:alarm-type:create')") + public CommonResult createAlarmType(@Valid @RequestBody AlarmTypeSaveReqVO createReqVO) { + return success(alarmTypeService.createAlarmType(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新GAS警报类型") + @PreAuthorize("@ss.hasPermission('gas:alarm-type:update')") + public CommonResult updateAlarmType(@Valid @RequestBody AlarmTypeSaveReqVO updateReqVO) { + alarmTypeService.updateAlarmType(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除GAS警报类型") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('gas:alarm-type:delete')") + public CommonResult deleteAlarmType(@RequestParam("id") String id) { + alarmTypeService.deleteAlarmType(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除GAS警报类型") + @PreAuthorize("@ss.hasPermission('gas:alarm-type:delete')") + public CommonResult deleteAlarmTypeList(@RequestParam("ids") List ids) { + alarmTypeService.deleteAlarmTypeListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得GAS警报类型") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('gas:alarm-type:query')") + public CommonResult getAlarmType(@RequestParam("id") String id) { + AlarmTypeDO alarmType = alarmTypeService.getAlarmType(id); + return success(BeanUtils.toBean(alarmType, AlarmTypeRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得GAS警报类型分页") + @PreAuthorize("@ss.hasPermission('gas:alarm-type:query')") + public CommonResult> getAlarmTypePage(@Valid AlarmTypePageReqVO pageReqVO) { + PageResult pageResult = alarmTypeService.getAlarmTypePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, AlarmTypeRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出GAS警报类型 Excel") + @PreAuthorize("@ss.hasPermission('gas:alarm-type:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportAlarmTypeExcel(@Valid AlarmTypePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = alarmTypeService.getAlarmTypePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "GAS警报类型.xls", "数据", AlarmTypeRespVO.class, + BeanUtils.toBean(list, AlarmTypeRespVO.class)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/FenceAlarmController.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/FenceAlarmController.java new file mode 100644 index 0000000..6312495 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/FenceAlarmController.java @@ -0,0 +1,107 @@ +package cn.iocoder.yudao.module.hand.controller.admin; + +import cn.iocoder.yudao.module.hand.dal.FenceAlarmDO; +import cn.iocoder.yudao.module.hand.service.FenceAlarmService; +import cn.iocoder.yudao.module.hand.vo.FenceAlarmPageReqVO; +import cn.iocoder.yudao.module.hand.vo.FenceAlarmRespVO; +import cn.iocoder.yudao.module.hand.vo.FenceAlarmSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + + +@Tag(name = "管理后台 - GAS手持探测器围栏报警") +@RestController +@RequestMapping("/gas/fence-alarm") +@Validated +public class FenceAlarmController { + + @Resource + private FenceAlarmService fenceAlarmService; + + @PostMapping("/create") + @Operation(summary = "创建GAS手持探测器围栏报警") + @PreAuthorize("@ss.hasPermission('gas:fence-alarm:create')") + public CommonResult createFenceAlarm(@Valid @RequestBody FenceAlarmSaveReqVO createReqVO) { + return success(fenceAlarmService.createFenceAlarm(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新GAS手持探测器围栏报警") + @PreAuthorize("@ss.hasPermission('gas:fence-alarm:update')") + public CommonResult updateFenceAlarm(@Valid @RequestBody FenceAlarmSaveReqVO updateReqVO) { + fenceAlarmService.updateFenceAlarm(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除GAS手持探测器围栏报警") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('gas:fence-alarm:delete')") + public CommonResult deleteFenceAlarm(@RequestParam("id") String id) { + fenceAlarmService.deleteFenceAlarm(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除GAS手持探测器围栏报警") + @PreAuthorize("@ss.hasPermission('gas:fence-alarm:delete')") + public CommonResult deleteFenceAlarmList(@RequestParam("ids") List ids) { + fenceAlarmService.deleteFenceAlarmListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得GAS手持探测器围栏报警") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('gas:fence-alarm:query')") + public CommonResult getFenceAlarm(@RequestParam("id") String id) { + FenceAlarmDO fenceAlarm = fenceAlarmService.getFenceAlarm(id); + return success(BeanUtils.toBean(fenceAlarm, FenceAlarmRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得GAS手持探测器围栏报警分页") + @PreAuthorize("@ss.hasPermission('gas:fence-alarm:query')") + public CommonResult> getFenceAlarmPage(@Valid FenceAlarmPageReqVO pageReqVO) { + PageResult pageResult = fenceAlarmService.getFenceAlarmPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FenceAlarmRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出GAS手持探测器围栏报警 Excel") + @PreAuthorize("@ss.hasPermission('gas:fence-alarm:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportFenceAlarmExcel(@Valid FenceAlarmPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = fenceAlarmService.getFenceAlarmPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "GAS手持探测器围栏报警.xls", "数据", FenceAlarmRespVO.class, + BeanUtils.toBean(list, FenceAlarmRespVO.class)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/FenceController.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/FenceController.java new file mode 100644 index 0000000..bb938ee --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/FenceController.java @@ -0,0 +1,107 @@ +package cn.iocoder.yudao.module.hand.controller.admin; + +import cn.iocoder.yudao.module.hand.dal.FenceDO; +import cn.iocoder.yudao.module.hand.service.FenceService; +import cn.iocoder.yudao.module.hand.vo.FencePageReqVO; +import cn.iocoder.yudao.module.hand.vo.FenceRespVO; +import cn.iocoder.yudao.module.hand.vo.FenceSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + + +@Tag(name = "管理后台 - GAS电子围栏") +@RestController +@RequestMapping("/gas/fence") +@Validated +public class FenceController { + + @Resource + private FenceService fenceService; + + @PostMapping("/create") + @Operation(summary = "创建GAS电子围栏") + @PreAuthorize("@ss.hasPermission('gas:fence:create')") + public CommonResult createFence(@Valid @RequestBody FenceSaveReqVO createReqVO) { + return success(fenceService.createFence(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新GAS电子围栏") + @PreAuthorize("@ss.hasPermission('gas:fence:update')") + public CommonResult updateFence(@Valid @RequestBody FenceSaveReqVO updateReqVO) { + fenceService.updateFence(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除GAS电子围栏") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('gas:fence:delete')") + public CommonResult deleteFence(@RequestParam("id") String id) { + fenceService.deleteFence(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除GAS电子围栏") + @PreAuthorize("@ss.hasPermission('gas:fence:delete')") + public CommonResult deleteFenceList(@RequestParam("ids") List ids) { + fenceService.deleteFenceListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得GAS电子围栏") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('gas:fence:query')") + public CommonResult getFence(@RequestParam("id") String id) { + FenceDO fence = fenceService.getFence(id); + return success(BeanUtils.toBean(fence, FenceRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得GAS电子围栏分页") + @PreAuthorize("@ss.hasPermission('gas:fence:query')") + public CommonResult> getFencePage(@Valid FencePageReqVO pageReqVO) { + PageResult pageResult = fenceService.getFencePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, FenceRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出GAS电子围栏 Excel") + @PreAuthorize("@ss.hasPermission('gas:fence:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportFenceExcel(@Valid FencePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = fenceService.getFencePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "GAS电子围栏.xls", "数据", FenceRespVO.class, + BeanUtils.toBean(list, FenceRespVO.class)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/GasTypeController.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/GasTypeController.java new file mode 100644 index 0000000..95bf657 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/GasTypeController.java @@ -0,0 +1,107 @@ +package cn.iocoder.yudao.module.hand.controller.admin; + +import cn.iocoder.yudao.module.hand.dal.GasTypeDO; +import cn.iocoder.yudao.module.hand.service.GasTypeService; +import cn.iocoder.yudao.module.hand.vo.GasTypePageReqVO; +import cn.iocoder.yudao.module.hand.vo.GasTypeRespVO; +import cn.iocoder.yudao.module.hand.vo.GasTypeSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + + +@Tag(name = "管理后台 - GAS气体") +@RestController +@RequestMapping("/gas/type") +@Validated +public class GasTypeController { + + @Resource + private GasTypeService typeService; + + @PostMapping("/create") + @Operation(summary = "创建GAS气体") + @PreAuthorize("@ss.hasPermission('gas:type:create')") + public CommonResult createType(@Valid @RequestBody GasTypeSaveReqVO createReqVO) { + return success(typeService.createType(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新GAS气体") + @PreAuthorize("@ss.hasPermission('gas:type:update')") + public CommonResult updateType(@Valid @RequestBody GasTypeSaveReqVO updateReqVO) { + typeService.updateType(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除GAS气体") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('gas:type:delete')") + public CommonResult deleteType(@RequestParam("id") String id) { + typeService.deleteType(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除GAS气体") + @PreAuthorize("@ss.hasPermission('gas:type:delete')") + public CommonResult deleteTypeList(@RequestParam("ids") List ids) { + typeService.deleteTypeListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得GAS气体") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('gas:type:query')") + public CommonResult getType(@RequestParam("id") String id) { + GasTypeDO type = typeService.getType(id); + return success(BeanUtils.toBean(type, GasTypeRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得GAS气体分页") + @PreAuthorize("@ss.hasPermission('gas:type:query')") + public CommonResult> getTypePage(@Valid GasTypePageReqVO pageReqVO) { + PageResult pageResult = typeService.getTypePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, GasTypeRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出GAS气体 Excel") + @PreAuthorize("@ss.hasPermission('gas:type:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportTypeExcel(@Valid GasTypePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = typeService.getTypePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "GAS气体.xls", "数据", GasTypeRespVO.class, + BeanUtils.toBean(list, GasTypeRespVO.class)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/HandAlarmController.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/HandAlarmController.java new file mode 100644 index 0000000..cc6ff86 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/HandAlarmController.java @@ -0,0 +1,106 @@ +package cn.iocoder.yudao.module.hand.controller.admin; + +import cn.iocoder.yudao.module.hand.dal.HandAlarmDO; +import cn.iocoder.yudao.module.hand.service.HandAlarmService; +import cn.iocoder.yudao.module.hand.vo.HandAlarmPageReqVO; +import cn.iocoder.yudao.module.hand.vo.HandAlarmRespVO; +import cn.iocoder.yudao.module.hand.vo.HandAlarmSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + +@Tag(name = "管理后台 - GAS手持探测器警报") +@RestController +@RequestMapping("/gas/hand-alarm") +@Validated +public class HandAlarmController { + + @Resource + private HandAlarmService handAlarmService; + + @PostMapping("/create") + @Operation(summary = "创建GAS手持探测器警报") + @PreAuthorize("@ss.hasPermission('gas:hand-alarm:create')") + public CommonResult createHandAlarm(@Valid @RequestBody HandAlarmSaveReqVO createReqVO) { + return success(handAlarmService.createHandAlarm(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新GAS手持探测器警报") + @PreAuthorize("@ss.hasPermission('gas:hand-alarm:update')") + public CommonResult updateHandAlarm(@Valid @RequestBody HandAlarmSaveReqVO updateReqVO) { + handAlarmService.updateHandAlarm(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除GAS手持探测器警报") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('gas:hand-alarm:delete')") + public CommonResult deleteHandAlarm(@RequestParam("id") String id) { + handAlarmService.deleteHandAlarm(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除GAS手持探测器警报") + @PreAuthorize("@ss.hasPermission('gas:hand-alarm:delete')") + public CommonResult deleteHandAlarmList(@RequestParam("ids") List ids) { + handAlarmService.deleteHandAlarmListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得GAS手持探测器警报") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('gas:hand-alarm:query')") + public CommonResult getHandAlarm(@RequestParam("id") String id) { + HandAlarmDO handAlarm = handAlarmService.getHandAlarm(id); + return success(BeanUtils.toBean(handAlarm, HandAlarmRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得GAS手持探测器警报分页") + @PreAuthorize("@ss.hasPermission('gas:hand-alarm:query')") + public CommonResult> getHandAlarmPage(@Valid HandAlarmPageReqVO pageReqVO) { + PageResult pageResult = handAlarmService.getHandAlarmPage(pageReqVO); + return success(BeanUtils.toBean(pageResult, HandAlarmRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出GAS手持探测器警报 Excel") + @PreAuthorize("@ss.hasPermission('gas:hand-alarm:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportHandAlarmExcel(@Valid HandAlarmPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = handAlarmService.getHandAlarmPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "GAS手持探测器警报.xls", "数据", HandAlarmRespVO.class, + BeanUtils.toBean(list, HandAlarmRespVO.class)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/HandDetectorController.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/HandDetectorController.java new file mode 100644 index 0000000..69660f5 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/admin/HandDetectorController.java @@ -0,0 +1,106 @@ +package cn.iocoder.yudao.module.hand.controller.admin; + +import cn.iocoder.yudao.module.hand.dal.HandDetectorDO; +import cn.iocoder.yudao.module.hand.service.HandDetectorService; +import cn.iocoder.yudao.module.hand.vo.HandDetectorRespVO; +import cn.iocoder.yudao.module.hand.vo.HandDetectorSaveReqVO; +import org.springframework.web.bind.annotation.*; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import io.swagger.v3.oas.annotations.tags.Tag; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.Operation; + +import jakarta.validation.constraints.*; +import jakarta.validation.*; +import jakarta.servlet.http.*; +import java.util.*; +import java.io.IOException; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; + + + +@Tag(name = "管理后台 - GAS手持探测器") +@RestController +@RequestMapping("/gas/hand-detector") +@Validated +public class HandDetectorController { + + @Resource + private HandDetectorService handDetectorService; + + @PostMapping("/create") + @Operation(summary = "创建GAS手持探测器") + @PreAuthorize("@ss.hasPermission('gas:hand-detector:create')") + public CommonResult createHandDetector(@Valid @RequestBody HandDetectorSaveReqVO createReqVO) { + return success(handDetectorService.createHandDetector(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新GAS手持探测器") + @PreAuthorize("@ss.hasPermission('gas:hand-detector:update')") + public CommonResult updateHandDetector(@Valid @RequestBody cn.iocoder.yudao.module.hand.vo.HandDetectorSaveReqVO updateReqVO) { + handDetectorService.updateHandDetector(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除GAS手持探测器") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('gas:hand-detector:delete')") + public CommonResult deleteHandDetector(@RequestParam("id") String id) { + handDetectorService.deleteHandDetector(id); + return success(true); + } + + @DeleteMapping("/delete-list") + @Parameter(name = "ids", description = "编号", required = true) + @Operation(summary = "批量删除GAS手持探测器") + @PreAuthorize("@ss.hasPermission('gas:hand-detector:delete')") + public CommonResult deleteHandDetectorList(@RequestParam("ids") List ids) { + handDetectorService.deleteHandDetectorListByIds(ids); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得GAS手持探测器") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('gas:hand-detector:query')") + public CommonResult getHandDetector(@RequestParam("id") String id) { + HandDetectorDO handDetector = handDetectorService.getHandDetector(id); + return success(BeanUtils.toBean(handDetector, HandDetectorRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得GAS手持探测器分页") + @PreAuthorize("@ss.hasPermission('gas:hand-detector:query')") + public CommonResult> getHandDetectorPage(@Valid cn.iocoder.yudao.module.hand.vo.HandDetectorPageReqVO pageReqVO) { + PageResult pageResult = handDetectorService.getHandDetectorPage(pageReqVO); + return success(BeanUtils.toBean(pageResult,HandDetectorRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出GAS手持探测器 Excel") + @PreAuthorize("@ss.hasPermission('gas:hand-detector:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportHandDetectorExcel(@Valid cn.iocoder.yudao.module.hand.vo.HandDetectorPageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = handDetectorService.getHandDetectorPage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "GAS手持探测器.xls", "数据", cn.iocoder.yudao.module.hand.vo.HandDetectorRespVO.class, + BeanUtils.toBean(list, cn.iocoder.yudao.module.hand.vo.HandDetectorRespVO.class)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/package-info.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/package-info.java new file mode 100644 index 0000000..c354f61 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/controller/package-info.java @@ -0,0 +1,4 @@ +/** + * infra 模块的 web 配置 + */ +package cn.iocoder.yudao.module.lock.controller; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/AlarmRuleDO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/AlarmRuleDO.java new file mode 100644 index 0000000..4a16bd6 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/AlarmRuleDO.java @@ -0,0 +1,88 @@ +package cn.iocoder.yudao.module.hand.dal; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * GAS警报规则 DO + * + * @author 超级管理员 + */ +@TableName("gas_alarm_rule") +@KeySequence("gas_alarm_rule_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AlarmRuleDO extends BaseDO { + + /** + * 主键ID + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 气体类型ID + */ + private String gasTypeId; + /** + * 警报类型ID + */ + private String alarmTypeId; + /** + * 警报名称 + */ + private String alarmName; + /** + * 警报名称颜色 + */ + private String alarmNameColor; + /** + * 警报颜色 + */ + private String alarmColor; + /** + * 警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报) + */ + private Integer alarmLevel; + /** + * 触发值(小) + */ + private Double min; + /** + * 触发值(大) + */ + private Double max; + /** + * 最值方向(0:小;1:大) + */ + private Integer direction; + /** + * 排序 + */ + private Integer sortOrder; + /** + * 备注 + */ + private String remark; + /** + * 删除标志 + */ + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 更新者 + */ + private String updateBy; + + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/AlarmTypeDO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/AlarmTypeDO.java new file mode 100644 index 0000000..8af1d0f --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/AlarmTypeDO.java @@ -0,0 +1,68 @@ +package cn.iocoder.yudao.module.hand.dal; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * GAS警报类型 DO + * + * @author 超级管理员 + */ +@TableName("gas_alarm_type") +@KeySequence("gas_alarm_type_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class AlarmTypeDO extends BaseDO { + + /** + * 主键ID + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 名称 + */ + private String name; + /** + * 名称颜色 + */ + private String nameColor; + /** + * 颜色 + */ + private String color; + /** + * 警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报) + */ + private Integer level; + /** + * 排序 + */ + private Integer sortOrder; + /** + * 备注 + */ + private String remark; + /** + * 删除标志 + */ + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 更新者 + */ + private String updateBy; + + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/FenceAlarmDO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/FenceAlarmDO.java new file mode 100644 index 0000000..8433d8f --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/FenceAlarmDO.java @@ -0,0 +1,90 @@ +package cn.iocoder.yudao.module.hand.dal; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * GAS手持探测器围栏报警 DO + * + * @author 超级管理员 + */ +@TableName("gas_fence_alarm") +@KeySequence("gas_fence_alarm_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FenceAlarmDO extends BaseDO { + + /** + * 主键ID + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 探头ID + */ + private String detectorId; + /** + * 围栏id + */ + private String fenceId; + /** + * 报警类型 + */ + private Integer type; + /** + * 在区域图X坐标值 + */ + private Double picX; + /** + * 在区域图X坐标值 + */ + private Double picY; + /** + * 超出围栏米数 + */ + private Double distance; + /** + * 最远超出米数 + */ + private Double maxDistance; + /** + * 开始时间 + */ + private LocalDateTime tAlarmStart; + /** + * 结束时间 + */ + private LocalDateTime tAlarmEnd; + /** + * 状态(0:待处理;1:处理中;1:已处理) + */ + private Integer status; + /** + * 备注 + */ + private String remark; + /** + * 删除标志 + */ + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 更新者 + */ + private String updateBy; + + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/FenceDO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/FenceDO.java new file mode 100644 index 0000000..ada3dfc --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/FenceDO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.dal; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * GAS电子围栏 DO + * + * @author 超级管理员 + */ +@TableName("gas_fence") +@KeySequence("gas_fence_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class FenceDO extends BaseDO { + + /** + * 主键ID + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 围栏名称 + */ + private String name; + /** + * 围栏范围 + */ + private String fenceRange; + /** + * 状态(1启用,2禁用) + */ + private Integer status; + /** + * 围栏类型(1:超出报警,2:进入报警) + */ + private Integer type; + /** + * 备注 + */ + private String remark; + /** + * 删除标志 + */ + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 更新者 + */ + private String updateBy; + + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/GasTypeDO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/GasTypeDO.java new file mode 100644 index 0000000..e4a0227 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/GasTypeDO.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.dal; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * GAS气体 DO + * + * @author 超级管理员 + */ +@TableName("gas_gas_type") +@KeySequence("gas_gas_type_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class GasTypeDO extends BaseDO { + + /** + * 主键ID + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 名称 + */ + private String name; + /** + * 化学式 + */ + private String chemical; + /** + * 单位 + */ + private String unit; + /** + * 排序 + */ + private Integer sortOrder; + /** + * 备注 + */ + private String remark; + /** + * 删除标志 + */ + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 更新者 + */ + private String updateBy; + + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/HandAlarmDO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/HandAlarmDO.java new file mode 100644 index 0000000..ea741fb --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/HandAlarmDO.java @@ -0,0 +1,94 @@ +package cn.iocoder.yudao.module.hand.dal; + +import lombok.*; +import java.util.*; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import java.time.LocalDateTime; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * GAS手持探测器警报 DO + * + * @author 超级管理员 + */ +@TableName("gas_hand_alarm") +@KeySequence("gas_hand_alarm_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HandAlarmDO extends BaseDO { + + /** + * 主键ID + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * 警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报) + */ + private Integer alarmLevel; + /** + * 气体类型 + */ + private String gasType; + /** + * 单位 + */ + private String unit; + /** + * 位置描述 + */ + private String location; + /** + * 在区域图X坐标值 + */ + private Double picX; + /** + * 在区域图X坐标值 + */ + private Double picY; + /** + * 首报值 + */ + private Double vAlarmFirst; + /** + * 最值 + */ + private Double vAlarmMaximum; + /** + * 开始时间 + */ + private LocalDateTime tAlarmStart; + /** + * 结束时间 + */ + private LocalDateTime tAlarmEnd; + /** + * 状态(0:待处理;1:处理中;1:已处理) + */ + private Integer status; + /** + * 备注 + */ + private String remark; + /** + * 删除标志 + */ + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 更新者 + */ + private String updateBy; + + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/HandDetectorDO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/HandDetectorDO.java new file mode 100644 index 0000000..c9519d3 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/dal/HandDetectorDO.java @@ -0,0 +1,117 @@ +package cn.iocoder.yudao.module.hand.dal; + +import lombok.*; +import com.baomidou.mybatisplus.annotation.*; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; + +/** + * GAS手持探测器 DO + * + * @author 超级管理员 + */ +@TableName("gas_hand_detector") +@KeySequence("gas_hand_detector_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class HandDetectorDO extends BaseDO { + + /** + * 主键ID + */ + @TableId(type = IdType.INPUT) + private String id; + /** + * SN + */ + private String sn; + /** + * 持有人姓名 + */ + private String name; + /** + * 围栏id + */ + private String fenceId; + /** + * 气体类型ID + */ + private String gasTypeId; + /** + * 气体化学式 + */ + private String gasChemical; + /** + * 测量范围中的最小值 + */ + private Double min; + /** + * 测量范围中的最大值 + */ + private Double max; + /** + * 状态(0:未知;1:正常;2:故障;3:离线) + */ + private Integer status; + /** + * 单位 + */ + private String unit; + /** + * 设备型号 + */ + private String model; + /** + * 生产厂家 + */ + private String manufacturer; + /** + * 启用状态(0:备用;1:启用) + */ + private Integer enableStatus; + /** + * 在区域图X坐标值 + */ + private Double picX; + /** + * 在区域图Y坐标值 + */ + private Double picY; + /** + * 经度 + */ + private Double longitude; + /** + * 纬度 + */ + private Double latitude; + /** + * 数值除数 + */ + private Integer accuracy; + /** + * 排序 + */ + private Integer sortOrder; + /** + * 备注 + */ + private String remark; + /** + * 删除标志 + */ + private Integer delFlag; + /** + * 创建者 + */ + private String createBy; + /** + * 更新者 + */ + private String updateBy; + + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/enums/ErrorCodeConstants.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/enums/ErrorCodeConstants.java new file mode 100644 index 0000000..7120e3f --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/enums/ErrorCodeConstants.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.hand.enums; + +import cn.iocoder.yudao.framework.common.exception.ErrorCode; + + +public interface ErrorCodeConstants { + + + ErrorCode HAND_DETECTOR_NOT_EXISTS = new ErrorCode(100001, "GAS手持探测器不存在"); + + ErrorCode HAND_ALARM_NOT_EXISTS = new ErrorCode(100002, "GAS手持探测器警报不存在"); + ErrorCode TYPE_NOT_EXISTS = new ErrorCode(100003, "GAS气体不存在"); + + ErrorCode FENCE_ALARM_NOT_EXISTS = new ErrorCode(100004, "GAS手持探测器围栏报警不存在"); + + ErrorCode FENCE_NOT_EXISTS = new ErrorCode(100005, "GAS电子围栏不存在"); + + ErrorCode ALARM_TYPE_NOT_EXISTS = new ErrorCode(100006, "GAS警报类型不存在"); + + ErrorCode ALARM_RULE_NOT_EXISTS = new ErrorCode(100007, "GAS警报规则不存在"); +} diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/package-info.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/package-info.java new file mode 100644 index 0000000..fd8cc3a --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/package-info.java @@ -0,0 +1,6 @@ +/** + * 属于 report 模块的 framework 封装 + * + * @author 芋道源码 + */ +package cn.iocoder.yudao.module.hand.framework; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/web/config/HandWebConfiguration.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/web/config/HandWebConfiguration.java new file mode 100644 index 0000000..42da4a4 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/web/config/HandWebConfiguration.java @@ -0,0 +1,24 @@ +package cn.iocoder.yudao.module.hand.framework.web.config; + +import cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration; +import org.springdoc.core.models.GroupedOpenApi; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * infra 模块的 web 组件的 Configuration + * + * @author 芋道源码 + */ +@Configuration(proxyBeanMethods = false) +public class HandWebConfiguration { + + /** + * + */ + @Bean + public GroupedOpenApi lockGroupedOpenApi() { + return YudaoSwaggerAutoConfiguration.buildGroupedOpenApi("hand-device"); + } + +} diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/web/package-info.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/web/package-info.java new file mode 100644 index 0000000..b99b494 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/framework/web/package-info.java @@ -0,0 +1,4 @@ +/** + * infra 模块的 web 配置 + */ +package cn.iocoder.yudao.module.hand.framework.web; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/AlarmRuleMapper.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/AlarmRuleMapper.java new file mode 100644 index 0000000..d0c552f --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/AlarmRuleMapper.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.hand.mapper; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.hand.dal.AlarmRuleDO; +import cn.iocoder.yudao.module.hand.vo.AlarmRulePageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * GAS警报规则 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface AlarmRuleMapper extends BaseMapperX { + + default PageResult selectPage(AlarmRulePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(AlarmRuleDO::getGasTypeId, reqVO.getGasTypeId()) + .eqIfPresent(AlarmRuleDO::getAlarmTypeId, reqVO.getAlarmTypeId()) + .likeIfPresent(AlarmRuleDO::getAlarmName, reqVO.getAlarmName()) + .eqIfPresent(AlarmRuleDO::getAlarmNameColor, reqVO.getAlarmNameColor()) + .eqIfPresent(AlarmRuleDO::getAlarmColor, reqVO.getAlarmColor()) + .eqIfPresent(AlarmRuleDO::getAlarmLevel, reqVO.getAlarmLevel()) + .eqIfPresent(AlarmRuleDO::getMin, reqVO.getMin()) + .eqIfPresent(AlarmRuleDO::getMax, reqVO.getMax()) + .eqIfPresent(AlarmRuleDO::getDirection, reqVO.getDirection()) + .eqIfPresent(AlarmRuleDO::getSortOrder, reqVO.getSortOrder()) + .eqIfPresent(AlarmRuleDO::getRemark, reqVO.getRemark()) + .eqIfPresent(AlarmRuleDO::getDelFlag, reqVO.getDelFlag()) + .eqIfPresent(AlarmRuleDO::getCreateBy, reqVO.getCreateBy()) + .betweenIfPresent(AlarmRuleDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(AlarmRuleDO::getUpdateBy, reqVO.getUpdateBy()) + .orderByDesc(AlarmRuleDO::getId)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/AlarmTypeMapper.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/AlarmTypeMapper.java new file mode 100644 index 0000000..9d37f0c --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/AlarmTypeMapper.java @@ -0,0 +1,35 @@ +package cn.iocoder.yudao.module.hand.mapper; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.hand.dal.AlarmTypeDO; +import cn.iocoder.yudao.module.hand.vo.AlarmTypePageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * GAS警报类型 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface AlarmTypeMapper extends BaseMapperX { + + default PageResult selectPage(AlarmTypePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(AlarmTypeDO::getName, reqVO.getName()) + .eqIfPresent(AlarmTypeDO::getNameColor, reqVO.getNameColor()) + .eqIfPresent(AlarmTypeDO::getColor, reqVO.getColor()) + .eqIfPresent(AlarmTypeDO::getLevel, reqVO.getLevel()) + .eqIfPresent(AlarmTypeDO::getSortOrder, reqVO.getSortOrder()) + .eqIfPresent(AlarmTypeDO::getRemark, reqVO.getRemark()) + .eqIfPresent(AlarmTypeDO::getDelFlag, reqVO.getDelFlag()) + .eqIfPresent(AlarmTypeDO::getCreateBy, reqVO.getCreateBy()) + .betweenIfPresent(AlarmTypeDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(AlarmTypeDO::getUpdateBy, reqVO.getUpdateBy()) + .orderByDesc(AlarmTypeDO::getId)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/FenceAlarmMapper.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/FenceAlarmMapper.java new file mode 100644 index 0000000..65d6df1 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/FenceAlarmMapper.java @@ -0,0 +1,40 @@ +package cn.iocoder.yudao.module.hand.mapper; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.hand.dal.FenceAlarmDO; +import cn.iocoder.yudao.module.hand.vo.FenceAlarmPageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * GAS手持探测器围栏报警 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface FenceAlarmMapper extends BaseMapperX { + + default PageResult selectPage(FenceAlarmPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(FenceAlarmDO::getDetectorId, reqVO.getDetectorId()) + .eqIfPresent(FenceAlarmDO::getFenceId, reqVO.getFenceId()) + .eqIfPresent(FenceAlarmDO::getType, reqVO.getType()) + .eqIfPresent(FenceAlarmDO::getPicX, reqVO.getPicX()) + .eqIfPresent(FenceAlarmDO::getPicY, reqVO.getPicY()) + .eqIfPresent(FenceAlarmDO::getDistance, reqVO.getDistance()) + .eqIfPresent(FenceAlarmDO::getMaxDistance, reqVO.getMaxDistance()) + .eqIfPresent(FenceAlarmDO::getTAlarmStart, reqVO.getTAlarmStart()) + .eqIfPresent(FenceAlarmDO::getTAlarmEnd, reqVO.getTAlarmEnd()) + .eqIfPresent(FenceAlarmDO::getStatus, reqVO.getStatus()) + .eqIfPresent(FenceAlarmDO::getRemark, reqVO.getRemark()) + .eqIfPresent(FenceAlarmDO::getDelFlag, reqVO.getDelFlag()) + .eqIfPresent(FenceAlarmDO::getCreateBy, reqVO.getCreateBy()) + .betweenIfPresent(FenceAlarmDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(FenceAlarmDO::getUpdateBy, reqVO.getUpdateBy()) + .orderByDesc(FenceAlarmDO::getId)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/FenceMapper.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/FenceMapper.java new file mode 100644 index 0000000..5fd2ea3 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/FenceMapper.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.hand.mapper; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.hand.dal.FenceDO; +import cn.iocoder.yudao.module.hand.vo.FencePageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * GAS电子围栏 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface FenceMapper extends BaseMapperX { + + default PageResult selectPage(FencePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(FenceDO::getName, reqVO.getName()) + .eqIfPresent(FenceDO::getFenceRange, reqVO.getFenceRange()) + .eqIfPresent(FenceDO::getStatus, reqVO.getStatus()) + .eqIfPresent(FenceDO::getType, reqVO.getType()) + .eqIfPresent(FenceDO::getRemark, reqVO.getRemark()) + .eqIfPresent(FenceDO::getDelFlag, reqVO.getDelFlag()) + .eqIfPresent(FenceDO::getCreateBy, reqVO.getCreateBy()) + .betweenIfPresent(FenceDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(FenceDO::getUpdateBy, reqVO.getUpdateBy()) + .orderByDesc(FenceDO::getId)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/GasTypeMapper.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/GasTypeMapper.java new file mode 100644 index 0000000..711133c --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/GasTypeMapper.java @@ -0,0 +1,34 @@ +package cn.iocoder.yudao.module.hand.mapper; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.hand.dal.GasTypeDO; +import cn.iocoder.yudao.module.hand.vo.GasTypePageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * GAS气体 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface GasTypeMapper extends BaseMapperX { + + default PageResult selectPage(GasTypePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .likeIfPresent(GasTypeDO::getName, reqVO.getName()) + .eqIfPresent(GasTypeDO::getChemical, reqVO.getChemical()) + .eqIfPresent(GasTypeDO::getUnit, reqVO.getUnit()) + .eqIfPresent(GasTypeDO::getSortOrder, reqVO.getSortOrder()) + .eqIfPresent(GasTypeDO::getRemark, reqVO.getRemark()) + .eqIfPresent(GasTypeDO::getDelFlag, reqVO.getDelFlag()) + .eqIfPresent(GasTypeDO::getCreateBy, reqVO.getCreateBy()) + .betweenIfPresent(GasTypeDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(GasTypeDO::getUpdateBy, reqVO.getUpdateBy()) + .orderByDesc(GasTypeDO::getId)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/HandAlarmMapper.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/HandAlarmMapper.java new file mode 100644 index 0000000..ed857ad --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/HandAlarmMapper.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.hand.mapper; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.hand.dal.HandAlarmDO; +import cn.iocoder.yudao.module.hand.vo.HandAlarmPageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * GAS手持探测器警报 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface HandAlarmMapper extends BaseMapperX { + + default PageResult selectPage(HandAlarmPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(HandAlarmDO::getAlarmLevel, reqVO.getAlarmLevel()) + .eqIfPresent(HandAlarmDO::getGasType, reqVO.getGasType()) + .eqIfPresent(HandAlarmDO::getUnit, reqVO.getUnit()) + .eqIfPresent(HandAlarmDO::getLocation, reqVO.getLocation()) + .eqIfPresent(HandAlarmDO::getPicX, reqVO.getPicX()) + .eqIfPresent(HandAlarmDO::getPicY, reqVO.getPicY()) + .eqIfPresent(HandAlarmDO::getVAlarmFirst, reqVO.getVAlarmFirst()) + .eqIfPresent(HandAlarmDO::getVAlarmMaximum, reqVO.getVAlarmMaximum()) + .eqIfPresent(HandAlarmDO::getTAlarmStart, reqVO.getTAlarmStart()) + .eqIfPresent(HandAlarmDO::getTAlarmEnd, reqVO.getTAlarmEnd()) + .eqIfPresent(HandAlarmDO::getStatus, reqVO.getStatus()) + .eqIfPresent(HandAlarmDO::getRemark, reqVO.getRemark()) + .eqIfPresent(HandAlarmDO::getDelFlag, reqVO.getDelFlag()) + .eqIfPresent(HandAlarmDO::getCreateBy, reqVO.getCreateBy()) + .betweenIfPresent(HandAlarmDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(HandAlarmDO::getUpdateBy, reqVO.getUpdateBy()) + .orderByDesc(HandAlarmDO::getId)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/HandDetectorMapper.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/HandDetectorMapper.java new file mode 100644 index 0000000..e5eb735 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/mapper/HandDetectorMapper.java @@ -0,0 +1,46 @@ +package cn.iocoder.yudao.module.hand.mapper; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.module.hand.dal.HandDetectorDO; +import cn.iocoder.yudao.module.hand.vo.HandDetectorPageReqVO; +import org.apache.ibatis.annotations.Mapper; + +/** + * GAS手持探测器 Mapper + * + * @author 超级管理员 + */ +@Mapper +public interface HandDetectorMapper extends BaseMapperX { + + default PageResult selectPage(HandDetectorPageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(HandDetectorDO::getSn, reqVO.getSn()) + .likeIfPresent(HandDetectorDO::getName, reqVO.getName()) + .eqIfPresent(HandDetectorDO::getFenceId, reqVO.getFenceId()) + .eqIfPresent(HandDetectorDO::getGasTypeId, reqVO.getGasTypeId()) + .eqIfPresent(HandDetectorDO::getGasChemical, reqVO.getGasChemical()) + .eqIfPresent(HandDetectorDO::getMin, reqVO.getMin()) + .eqIfPresent(HandDetectorDO::getMax, reqVO.getMax()) + .eqIfPresent(HandDetectorDO::getStatus, reqVO.getStatus()) + .eqIfPresent(HandDetectorDO::getUnit, reqVO.getUnit()) + .eqIfPresent(HandDetectorDO::getModel, reqVO.getModel()) + .eqIfPresent(HandDetectorDO::getManufacturer, reqVO.getManufacturer()) + .eqIfPresent(HandDetectorDO::getEnableStatus, reqVO.getEnableStatus()) + .eqIfPresent(HandDetectorDO::getPicX, reqVO.getPicX()) + .eqIfPresent(HandDetectorDO::getPicY, reqVO.getPicY()) + .eqIfPresent(HandDetectorDO::getLongitude, reqVO.getLongitude()) + .eqIfPresent(HandDetectorDO::getLatitude, reqVO.getLatitude()) + .eqIfPresent(HandDetectorDO::getAccuracy, reqVO.getAccuracy()) + .eqIfPresent(HandDetectorDO::getSortOrder, reqVO.getSortOrder()) + .eqIfPresent(HandDetectorDO::getRemark, reqVO.getRemark()) + .eqIfPresent(HandDetectorDO::getDelFlag, reqVO.getDelFlag()) + .eqIfPresent(HandDetectorDO::getCreateBy, reqVO.getCreateBy()) + .betweenIfPresent(HandDetectorDO::getCreateTime, reqVO.getCreateTime()) + .eqIfPresent(HandDetectorDO::getUpdateBy, reqVO.getUpdateBy()) + .orderByDesc(HandDetectorDO::getId)); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/package-info.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/package-info.java new file mode 100644 index 0000000..dedd3c7 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/package-info.java @@ -0,0 +1,2 @@ + +package cn.iocoder.yudao.module.lock; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/AlarmRuleService.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/AlarmRuleService.java new file mode 100644 index 0000000..0d2ee03 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/AlarmRuleService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.service; + +import java.util.*; + +import cn.iocoder.yudao.module.hand.dal.AlarmRuleDO; +import cn.iocoder.yudao.module.hand.vo.AlarmRulePageReqVO; +import cn.iocoder.yudao.module.hand.vo.AlarmRuleSaveReqVO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * GAS警报规则 Service 接口 + * + * @author 超级管理员 + */ +public interface AlarmRuleService { + + /** + * 创建GAS警报规则 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createAlarmRule(@Valid AlarmRuleSaveReqVO createReqVO); + + /** + * 更新GAS警报规则 + * + * @param updateReqVO 更新信息 + */ + void updateAlarmRule(@Valid AlarmRuleSaveReqVO updateReqVO); + + /** + * 删除GAS警报规则 + * + * @param id 编号 + */ + void deleteAlarmRule(String id); + + /** + * 批量删除GAS警报规则 + * + * @param ids 编号 + */ + void deleteAlarmRuleListByIds(List ids); + + /** + * 获得GAS警报规则 + * + * @param id 编号 + * @return GAS警报规则 + */ + AlarmRuleDO getAlarmRule(String id); + + /** + * 获得GAS警报规则分页 + * + * @param pageReqVO 分页查询 + * @return GAS警报规则分页 + */ + PageResult getAlarmRulePage(AlarmRulePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/AlarmTypeService.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/AlarmTypeService.java new file mode 100644 index 0000000..fcce337 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/AlarmTypeService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.service; + +import java.util.*; + +import cn.iocoder.yudao.module.hand.dal.AlarmTypeDO; +import cn.iocoder.yudao.module.hand.vo.AlarmTypePageReqVO; +import cn.iocoder.yudao.module.hand.vo.AlarmTypeSaveReqVO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * GAS警报类型 Service 接口 + * + * @author 超级管理员 + */ +public interface AlarmTypeService { + + /** + * 创建GAS警报类型 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createAlarmType(@Valid AlarmTypeSaveReqVO createReqVO); + + /** + * 更新GAS警报类型 + * + * @param updateReqVO 更新信息 + */ + void updateAlarmType(@Valid AlarmTypeSaveReqVO updateReqVO); + + /** + * 删除GAS警报类型 + * + * @param id 编号 + */ + void deleteAlarmType(String id); + + /** + * 批量删除GAS警报类型 + * + * @param ids 编号 + */ + void deleteAlarmTypeListByIds(List ids); + + /** + * 获得GAS警报类型 + * + * @param id 编号 + * @return GAS警报类型 + */ + AlarmTypeDO getAlarmType(String id); + + /** + * 获得GAS警报类型分页 + * + * @param pageReqVO 分页查询 + * @return GAS警报类型分页 + */ + PageResult getAlarmTypePage(AlarmTypePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/FenceAlarmService.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/FenceAlarmService.java new file mode 100644 index 0000000..6c770f4 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/FenceAlarmService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.service; + +import java.util.*; + +import cn.iocoder.yudao.module.hand.dal.FenceAlarmDO; +import cn.iocoder.yudao.module.hand.vo.FenceAlarmPageReqVO; +import cn.iocoder.yudao.module.hand.vo.FenceAlarmSaveReqVO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * GAS手持探测器围栏报警 Service 接口 + * + * @author 超级管理员 + */ +public interface FenceAlarmService { + + /** + * 创建GAS手持探测器围栏报警 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createFenceAlarm(@Valid FenceAlarmSaveReqVO createReqVO); + + /** + * 更新GAS手持探测器围栏报警 + * + * @param updateReqVO 更新信息 + */ + void updateFenceAlarm(@Valid FenceAlarmSaveReqVO updateReqVO); + + /** + * 删除GAS手持探测器围栏报警 + * + * @param id 编号 + */ + void deleteFenceAlarm(String id); + + /** + * 批量删除GAS手持探测器围栏报警 + * + * @param ids 编号 + */ + void deleteFenceAlarmListByIds(List ids); + + /** + * 获得GAS手持探测器围栏报警 + * + * @param id 编号 + * @return GAS手持探测器围栏报警 + */ + FenceAlarmDO getFenceAlarm(String id); + + /** + * 获得GAS手持探测器围栏报警分页 + * + * @param pageReqVO 分页查询 + * @return GAS手持探测器围栏报警分页 + */ + PageResult getFenceAlarmPage(FenceAlarmPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/FenceService.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/FenceService.java new file mode 100644 index 0000000..fe60a3a --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/FenceService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.service; + +import java.util.*; + +import cn.iocoder.yudao.module.hand.dal.FenceDO; +import cn.iocoder.yudao.module.hand.vo.FencePageReqVO; +import cn.iocoder.yudao.module.hand.vo.FenceSaveReqVO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * GAS电子围栏 Service 接口 + * + * @author 超级管理员 + */ +public interface FenceService { + + /** + * 创建GAS电子围栏 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createFence(@Valid FenceSaveReqVO createReqVO); + + /** + * 更新GAS电子围栏 + * + * @param updateReqVO 更新信息 + */ + void updateFence(@Valid FenceSaveReqVO updateReqVO); + + /** + * 删除GAS电子围栏 + * + * @param id 编号 + */ + void deleteFence(String id); + + /** + * 批量删除GAS电子围栏 + * + * @param ids 编号 + */ + void deleteFenceListByIds(List ids); + + /** + * 获得GAS电子围栏 + * + * @param id 编号 + * @return GAS电子围栏 + */ + FenceDO getFence(String id); + + /** + * 获得GAS电子围栏分页 + * + * @param pageReqVO 分页查询 + * @return GAS电子围栏分页 + */ + PageResult getFencePage(FencePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/GasTypeService.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/GasTypeService.java new file mode 100644 index 0000000..f425588 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/GasTypeService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.service; + +import java.util.*; + +import cn.iocoder.yudao.module.hand.dal.GasTypeDO; +import cn.iocoder.yudao.module.hand.vo.GasTypePageReqVO; +import cn.iocoder.yudao.module.hand.vo.GasTypeSaveReqVO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * GAS气体 Service 接口 + * + * @author 超级管理员 + */ +public interface GasTypeService { + + /** + * 创建GAS气体 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createType(@Valid GasTypeSaveReqVO createReqVO); + + /** + * 更新GAS气体 + * + * @param updateReqVO 更新信息 + */ + void updateType(@Valid GasTypeSaveReqVO updateReqVO); + + /** + * 删除GAS气体 + * + * @param id 编号 + */ + void deleteType(String id); + + /** + * 批量删除GAS气体 + * + * @param ids 编号 + */ + void deleteTypeListByIds(List ids); + + /** + * 获得GAS气体 + * + * @param id 编号 + * @return GAS气体 + */ + GasTypeDO getType(String id); + + /** + * 获得GAS气体分页 + * + * @param pageReqVO 分页查询 + * @return GAS气体分页 + */ + PageResult getTypePage(GasTypePageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/HandAlarmService.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/HandAlarmService.java new file mode 100644 index 0000000..736d5a6 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/HandAlarmService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.service; + +import java.util.*; + +import cn.iocoder.yudao.module.hand.dal.HandAlarmDO; +import cn.iocoder.yudao.module.hand.vo.HandAlarmPageReqVO; +import cn.iocoder.yudao.module.hand.vo.HandAlarmSaveReqVO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * GAS手持探测器警报 Service 接口 + * + * @author 超级管理员 + */ +public interface HandAlarmService { + + /** + * 创建GAS手持探测器警报 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createHandAlarm(@Valid HandAlarmSaveReqVO createReqVO); + + /** + * 更新GAS手持探测器警报 + * + * @param updateReqVO 更新信息 + */ + void updateHandAlarm(@Valid HandAlarmSaveReqVO updateReqVO); + + /** + * 删除GAS手持探测器警报 + * + * @param id 编号 + */ + void deleteHandAlarm(String id); + + /** + * 批量删除GAS手持探测器警报 + * + * @param ids 编号 + */ + void deleteHandAlarmListByIds(List ids); + + /** + * 获得GAS手持探测器警报 + * + * @param id 编号 + * @return GAS手持探测器警报 + */ + HandAlarmDO getHandAlarm(String id); + + /** + * 获得GAS手持探测器警报分页 + * + * @param pageReqVO 分页查询 + * @return GAS手持探测器警报分页 + */ + PageResult getHandAlarmPage(HandAlarmPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/HandDetectorService.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/HandDetectorService.java new file mode 100644 index 0000000..dfddb6b --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/HandDetectorService.java @@ -0,0 +1,64 @@ +package cn.iocoder.yudao.module.hand.service; + +import java.util.*; + +import cn.iocoder.yudao.module.hand.dal.HandDetectorDO; +import cn.iocoder.yudao.module.hand.vo.HandDetectorPageReqVO; +import cn.iocoder.yudao.module.hand.vo.HandDetectorSaveReqVO; +import jakarta.validation.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; + +/** + * GAS手持探测器 Service 接口 + * + * @author 超级管理员 + */ +public interface HandDetectorService { + + /** + * 创建GAS手持探测器 + * + * @param createReqVO 创建信息 + * @return 编号 + */ + String createHandDetector(@Valid HandDetectorSaveReqVO createReqVO); + + /** + * 更新GAS手持探测器 + * + * @param updateReqVO 更新信息 + */ + void updateHandDetector(@Valid HandDetectorSaveReqVO updateReqVO); + + /** + * 删除GAS手持探测器 + * + * @param id 编号 + */ + void deleteHandDetector(String id); + + /** + * 批量删除GAS手持探测器 + * + * @param ids 编号 + */ + void deleteHandDetectorListByIds(List ids); + + /** + * 获得GAS手持探测器 + * + * @param id 编号 + * @return GAS手持探测器 + */ + HandDetectorDO getHandDetector(String id); + + /** + * 获得GAS手持探测器分页 + * + * @param pageReqVO 分页查询 + * @return GAS手持探测器分页 + */ + PageResult getHandDetectorPage(HandDetectorPageReqVO pageReqVO); + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/AlarmRuleServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/AlarmRuleServiceImpl.java new file mode 100644 index 0000000..e39afcb --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/AlarmRuleServiceImpl.java @@ -0,0 +1,87 @@ +package cn.iocoder.yudao.module.hand.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.hand.dal.AlarmRuleDO; +import cn.iocoder.yudao.module.hand.mapper.AlarmRuleMapper; +import cn.iocoder.yudao.module.hand.service.AlarmRuleService; +import cn.iocoder.yudao.module.hand.vo.AlarmRulePageReqVO; +import cn.iocoder.yudao.module.hand.vo.AlarmRuleSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.hand.enums.ErrorCodeConstants.ALARM_RULE_NOT_EXISTS; + +/** + * GAS警报规则 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class AlarmRuleServiceImpl implements AlarmRuleService { + + @Resource + private AlarmRuleMapper alarmRuleMapper; + + @Override + public String createAlarmRule(AlarmRuleSaveReqVO createReqVO) { + // 插入 + AlarmRuleDO alarmRule = BeanUtils.toBean(createReqVO, AlarmRuleDO.class); + alarmRuleMapper.insert(alarmRule); + + // 返回 + return alarmRule.getId(); + } + + @Override + public void updateAlarmRule(AlarmRuleSaveReqVO updateReqVO) { + // 校验存在 + validateAlarmRuleExists(updateReqVO.getId()); + // 更新 + AlarmRuleDO updateObj = BeanUtils.toBean(updateReqVO, AlarmRuleDO.class); + alarmRuleMapper.updateById(updateObj); + } + + @Override + public void deleteAlarmRule(String id) { + // 校验存在 + validateAlarmRuleExists(id); + // 删除 + alarmRuleMapper.deleteById(id); + } + + @Override + public void deleteAlarmRuleListByIds(List ids) { + // 删除 + alarmRuleMapper.deleteByIds(ids); + } + + + private void validateAlarmRuleExists(String id) { + if (alarmRuleMapper.selectById(id) == null) { + throw exception(ALARM_RULE_NOT_EXISTS); + } + } + + @Override + public AlarmRuleDO getAlarmRule(String id) { + return alarmRuleMapper.selectById(id); + } + + @Override + public PageResult getAlarmRulePage(AlarmRulePageReqVO pageReqVO) { + return alarmRuleMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/AlarmTypeServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/AlarmTypeServiceImpl.java new file mode 100644 index 0000000..d98c541 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/AlarmTypeServiceImpl.java @@ -0,0 +1,87 @@ +package cn.iocoder.yudao.module.hand.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.hand.dal.AlarmTypeDO; +import cn.iocoder.yudao.module.hand.mapper.AlarmTypeMapper; +import cn.iocoder.yudao.module.hand.service.AlarmTypeService; +import cn.iocoder.yudao.module.hand.vo.AlarmTypePageReqVO; +import cn.iocoder.yudao.module.hand.vo.AlarmTypeSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.hand.enums.ErrorCodeConstants.ALARM_TYPE_NOT_EXISTS; + +/** + * GAS警报类型 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class AlarmTypeServiceImpl implements AlarmTypeService { + + @Resource + private AlarmTypeMapper alarmTypeMapper; + + @Override + public String createAlarmType(AlarmTypeSaveReqVO createReqVO) { + // 插入 + AlarmTypeDO alarmType = BeanUtils.toBean(createReqVO, AlarmTypeDO.class); + alarmTypeMapper.insert(alarmType); + + // 返回 + return alarmType.getId(); + } + + @Override + public void updateAlarmType(AlarmTypeSaveReqVO updateReqVO) { + // 校验存在 + validateAlarmTypeExists(updateReqVO.getId()); + // 更新 + AlarmTypeDO updateObj = BeanUtils.toBean(updateReqVO, AlarmTypeDO.class); + alarmTypeMapper.updateById(updateObj); + } + + @Override + public void deleteAlarmType(String id) { + // 校验存在 + validateAlarmTypeExists(id); + // 删除 + alarmTypeMapper.deleteById(id); + } + + @Override + public void deleteAlarmTypeListByIds(List ids) { + // 删除 + alarmTypeMapper.deleteByIds(ids); + } + + + private void validateAlarmTypeExists(String id) { + if (alarmTypeMapper.selectById(id) == null) { + throw exception(ALARM_TYPE_NOT_EXISTS); + } + } + + @Override + public AlarmTypeDO getAlarmType(String id) { + return alarmTypeMapper.selectById(id); + } + + @Override + public PageResult getAlarmTypePage(AlarmTypePageReqVO pageReqVO) { + return alarmTypeMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/FenceAlarmServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/FenceAlarmServiceImpl.java new file mode 100644 index 0000000..fc78624 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/FenceAlarmServiceImpl.java @@ -0,0 +1,86 @@ +package cn.iocoder.yudao.module.hand.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.hand.dal.FenceAlarmDO; +import cn.iocoder.yudao.module.hand.mapper.FenceAlarmMapper; +import cn.iocoder.yudao.module.hand.service.FenceAlarmService; +import cn.iocoder.yudao.module.hand.vo.FenceAlarmPageReqVO; +import cn.iocoder.yudao.module.hand.vo.FenceAlarmSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.hand.enums.ErrorCodeConstants.FENCE_ALARM_NOT_EXISTS; + +/** + * GAS手持探测器围栏报警 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class FenceAlarmServiceImpl implements FenceAlarmService { + + @Resource + private FenceAlarmMapper fenceAlarmMapper; + + @Override + public String createFenceAlarm(FenceAlarmSaveReqVO createReqVO) { + // 插入 + FenceAlarmDO fenceAlarm = BeanUtils.toBean(createReqVO, FenceAlarmDO.class); + fenceAlarmMapper.insert(fenceAlarm); + + // 返回 + return fenceAlarm.getId(); + } + + @Override + public void updateFenceAlarm(FenceAlarmSaveReqVO updateReqVO) { + // 校验存在 + validateFenceAlarmExists(updateReqVO.getId()); + // 更新 + FenceAlarmDO updateObj = BeanUtils.toBean(updateReqVO, FenceAlarmDO.class); + fenceAlarmMapper.updateById(updateObj); + } + + @Override + public void deleteFenceAlarm(String id) { + // 校验存在 + validateFenceAlarmExists(id); + // 删除 + fenceAlarmMapper.deleteById(id); + } + + @Override + public void deleteFenceAlarmListByIds(List ids) { + // 删除 + fenceAlarmMapper.deleteByIds(ids); + } + + + private void validateFenceAlarmExists(String id) { + if (fenceAlarmMapper.selectById(id) == null) { + throw exception(FENCE_ALARM_NOT_EXISTS); + } + } + + @Override + public FenceAlarmDO getFenceAlarm(String id) { + return fenceAlarmMapper.selectById(id); + } + + @Override + public PageResult getFenceAlarmPage(FenceAlarmPageReqVO pageReqVO) { + return fenceAlarmMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/FenceServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/FenceServiceImpl.java new file mode 100644 index 0000000..a2586d6 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/FenceServiceImpl.java @@ -0,0 +1,88 @@ +package cn.iocoder.yudao.module.hand.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.hand.dal.FenceDO; +import cn.iocoder.yudao.module.hand.mapper.FenceMapper; +import cn.iocoder.yudao.module.hand.service.FenceService; +import cn.iocoder.yudao.module.hand.vo.FencePageReqVO; +import cn.iocoder.yudao.module.hand.vo.FenceSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.hand.enums.ErrorCodeConstants.FENCE_NOT_EXISTS; + +/** + * GAS电子围栏 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class FenceServiceImpl implements FenceService { + + @Resource + private FenceMapper fenceMapper; + + @Override + public String createFence(FenceSaveReqVO createReqVO) { + // 插入 + FenceDO fence = BeanUtils.toBean(createReqVO, FenceDO.class); + fenceMapper.insert(fence); + + // 返回 + return fence.getId(); + } + + @Override + public void updateFence(FenceSaveReqVO updateReqVO) { + // 校验存在 + validateFenceExists(updateReqVO.getId()); + // 更新 + FenceDO updateObj = BeanUtils.toBean(updateReqVO, FenceDO.class); + fenceMapper.updateById(updateObj); + } + + @Override + public void deleteFence(String id) { + // 校验存在 + validateFenceExists(id); + // 删除 + fenceMapper.deleteById(id); + } + + @Override + public void deleteFenceListByIds(List ids) { + // 删除 + fenceMapper.deleteByIds(ids); + } + + + private void validateFenceExists(String id) { + if (fenceMapper.selectById(id) == null) { + throw exception(FENCE_NOT_EXISTS); + } + } + + @Override + public FenceDO getFence(String id) { + return fenceMapper.selectById(id); + } + + @Override + public PageResult getFencePage(FencePageReqVO pageReqVO) { + return fenceMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/GasTypeServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/GasTypeServiceImpl.java new file mode 100644 index 0000000..5cb2e62 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/GasTypeServiceImpl.java @@ -0,0 +1,87 @@ +package cn.iocoder.yudao.module.hand.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.hand.dal.GasTypeDO; +import cn.iocoder.yudao.module.hand.mapper.GasTypeMapper; +import cn.iocoder.yudao.module.hand.service.GasTypeService; +import cn.iocoder.yudao.module.hand.vo.GasTypePageReqVO; +import cn.iocoder.yudao.module.hand.vo.GasTypeSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.hand.enums.ErrorCodeConstants.TYPE_NOT_EXISTS; + +/** + * GAS气体 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class GasTypeServiceImpl implements GasTypeService { + + @Resource + private GasTypeMapper typeMapper; + + @Override + public String createType(GasTypeSaveReqVO createReqVO) { + // 插入 + GasTypeDO type = BeanUtils.toBean(createReqVO, GasTypeDO.class); + typeMapper.insert(type); + + // 返回 + return type.getId(); + } + + @Override + public void updateType(GasTypeSaveReqVO updateReqVO) { + // 校验存在 + validateTypeExists(updateReqVO.getId()); + // 更新 + GasTypeDO updateObj = BeanUtils.toBean(updateReqVO, GasTypeDO.class); + typeMapper.updateById(updateObj); + } + + @Override + public void deleteType(String id) { + // 校验存在 + validateTypeExists(id); + // 删除 + typeMapper.deleteById(id); + } + + @Override + public void deleteTypeListByIds(List ids) { + // 删除 + typeMapper.deleteByIds(ids); + } + + + private void validateTypeExists(String id) { + if (typeMapper.selectById(id) == null) { + throw exception(TYPE_NOT_EXISTS); + } + } + + @Override + public GasTypeDO getType(String id) { + return typeMapper.selectById(id); + } + + @Override + public PageResult getTypePage(GasTypePageReqVO pageReqVO) { + return typeMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandAlarmServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandAlarmServiceImpl.java new file mode 100644 index 0000000..c1d8fb1 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandAlarmServiceImpl.java @@ -0,0 +1,87 @@ +package cn.iocoder.yudao.module.hand.service.impl; + +import cn.hutool.core.collection.CollUtil; +import cn.iocoder.yudao.module.hand.dal.HandAlarmDO; +import cn.iocoder.yudao.module.hand.mapper.HandAlarmMapper; +import cn.iocoder.yudao.module.hand.service.HandAlarmService; +import cn.iocoder.yudao.module.hand.vo.HandAlarmPageReqVO; +import cn.iocoder.yudao.module.hand.vo.HandAlarmSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; +import org.springframework.transaction.annotation.Transactional; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; +import static cn.iocoder.yudao.module.hand.enums.ErrorCodeConstants.HAND_ALARM_NOT_EXISTS; + +/** + * GAS手持探测器警报 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class HandAlarmServiceImpl implements HandAlarmService { + + @Resource + private HandAlarmMapper handAlarmMapper; + + @Override + public String createHandAlarm(HandAlarmSaveReqVO createReqVO) { + // 插入 + HandAlarmDO handAlarm = BeanUtils.toBean(createReqVO, HandAlarmDO.class); + handAlarmMapper.insert(handAlarm); + + // 返回 + return handAlarm.getId(); + } + + @Override + public void updateHandAlarm(HandAlarmSaveReqVO updateReqVO) { + // 校验存在 + validateHandAlarmExists(updateReqVO.getId()); + // 更新 + HandAlarmDO updateObj = BeanUtils.toBean(updateReqVO, HandAlarmDO.class); + handAlarmMapper.updateById(updateObj); + } + + @Override + public void deleteHandAlarm(String id) { + // 校验存在 + validateHandAlarmExists(id); + // 删除 + handAlarmMapper.deleteById(id); + } + + @Override + public void deleteHandAlarmListByIds(List ids) { + // 删除 + handAlarmMapper.deleteByIds(ids); + } + + + private void validateHandAlarmExists(String id) { + if (handAlarmMapper.selectById(id) == null) { + throw exception(HAND_ALARM_NOT_EXISTS); + } + } + + @Override + public HandAlarmDO getHandAlarm(String id) { + return handAlarmMapper.selectById(id); + } + + @Override + public PageResult getHandAlarmPage(HandAlarmPageReqVO pageReqVO) { + return handAlarmMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java new file mode 100644 index 0000000..7e4e171 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/service/impl/HandDetectorServiceImpl.java @@ -0,0 +1,83 @@ +package cn.iocoder.yudao.module.hand.service.impl; + +import cn.iocoder.yudao.module.hand.dal.HandDetectorDO; +import cn.iocoder.yudao.module.hand.mapper.HandDetectorMapper; +import cn.iocoder.yudao.module.hand.service.HandDetectorService; +import cn.iocoder.yudao.module.hand.vo.HandDetectorPageReqVO; +import cn.iocoder.yudao.module.hand.vo.HandDetectorSaveReqVO; +import org.springframework.stereotype.Service; +import jakarta.annotation.Resource; +import org.springframework.validation.annotation.Validated; + +import java.util.*; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; + + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; +import static cn.iocoder.yudao.module.hand.enums.ErrorCodeConstants.HAND_DETECTOR_NOT_EXISTS; + +/** + * GAS手持探测器 Service 实现类 + * + * @author 超级管理员 + */ +@Service +@Validated +public class HandDetectorServiceImpl implements HandDetectorService { + + @Resource + private HandDetectorMapper handDetectorMapper; + + @Override + public String createHandDetector(HandDetectorSaveReqVO createReqVO) { + // 插入 + HandDetectorDO handDetector = BeanUtils.toBean(createReqVO, HandDetectorDO.class); + handDetectorMapper.insert(handDetector); + + // 返回 + return handDetector.getId(); + } + + @Override + public void updateHandDetector(HandDetectorSaveReqVO updateReqVO) { + // 校验存在 + validateHandDetectorExists(updateReqVO.getId()); + // 更新 + HandDetectorDO updateObj = BeanUtils.toBean(updateReqVO, HandDetectorDO.class); + handDetectorMapper.updateById(updateObj); + } + + @Override + public void deleteHandDetector(String id) { + // 校验存在 + validateHandDetectorExists(id); + // 删除 + handDetectorMapper.deleteById(id); + } + + @Override + public void deleteHandDetectorListByIds(List ids) { + // 删除 + handDetectorMapper.deleteByIds(ids); + } + + + private void validateHandDetectorExists(String id) { + if (handDetectorMapper.selectById(id) == null) { + throw exception(HAND_DETECTOR_NOT_EXISTS); + } + } + + @Override + public HandDetectorDO getHandDetector(String id) { + return handDetectorMapper.selectById(id); + } + + @Override + public PageResult getHandDetectorPage(HandDetectorPageReqVO pageReqVO) { + return handDetectorMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRulePageReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRulePageReqVO.java new file mode 100644 index 0000000..63ade7b --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRulePageReqVO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.hand.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - GAS警报规则分页 Request VO") +@Data +public class AlarmRulePageReqVO extends PageParam { + + @Schema(description = "气体类型ID", example = "2833") + private String gasTypeId; + + @Schema(description = "警报类型ID", example = "12917") + private String alarmTypeId; + + @Schema(description = "警报名称", example = "赵六") + private String alarmName; + + @Schema(description = "警报名称颜色") + private String alarmNameColor; + + @Schema(description = "警报颜色") + private String alarmColor; + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)") + private Integer alarmLevel; + + @Schema(description = "触发值(小)") + private Double min; + + @Schema(description = "触发值(大)") + private Double max; + + @Schema(description = "最值方向(0:小;1:大)") + private Integer direction; + + @Schema(description = "排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "删除标志") + private Integer delFlag; + + @Schema(description = "创建者") + private String createBy; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRuleRespVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRuleRespVO.java new file mode 100644 index 0000000..359c24c --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRuleRespVO.java @@ -0,0 +1,79 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - GAS警报规则 Response VO") +@Data +@ExcelIgnoreUnannotated +public class AlarmRuleRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4303") + @ExcelProperty("主键ID") + private String id; + + @Schema(description = "气体类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2833") + @ExcelProperty("气体类型ID") + private String gasTypeId; + + @Schema(description = "警报类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12917") + @ExcelProperty("警报类型ID") + private String alarmTypeId; + + @Schema(description = "警报名称", example = "赵六") + @ExcelProperty("警报名称") + private String alarmName; + + @Schema(description = "警报名称颜色") + @ExcelProperty("警报名称颜色") + private String alarmNameColor; + + @Schema(description = "警报颜色") + @ExcelProperty("警报颜色") + private String alarmColor; + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)") + @ExcelProperty("警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)") + private Integer alarmLevel; + + @Schema(description = "触发值(小)") + @ExcelProperty("触发值(小)") + private Double min; + + @Schema(description = "触发值(大)") + @ExcelProperty("触发值(大)") + private Double max; + + @Schema(description = "最值方向(0:小;1:大)", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("最值方向(0:小;1:大)") + private Integer direction; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "你说的对") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("删除标志") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建者") + private String createBy; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + @ExcelProperty("更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRuleSaveReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRuleSaveReqVO.java new file mode 100644 index 0000000..fd21c17 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmRuleSaveReqVO.java @@ -0,0 +1,63 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - GAS警报规则新增/修改 Request VO") +@Data +public class AlarmRuleSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "4303") + private String id; + + @Schema(description = "气体类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2833") + @NotEmpty(message = "气体类型ID不能为空") + private String gasTypeId; + + @Schema(description = "警报类型ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12917") + @NotEmpty(message = "警报类型ID不能为空") + private String alarmTypeId; + + @Schema(description = "警报名称", example = "赵六") + private String alarmName; + + @Schema(description = "警报名称颜色") + private String alarmNameColor; + + @Schema(description = "警报颜色") + private String alarmColor; + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)") + private Integer alarmLevel; + + @Schema(description = "触发值(小)") + private Double min; + + @Schema(description = "触发值(大)") + private Double max; + + @Schema(description = "最值方向(0:小;1:大)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "最值方向(0:小;1:大)不能为空") + private Integer direction; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "排序不能为空") + private Integer sortOrder; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "删除标志不能为空") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "创建者不能为空") + private String createBy; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypePageReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypePageReqVO.java new file mode 100644 index 0000000..cddb572 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypePageReqVO.java @@ -0,0 +1,47 @@ +package cn.iocoder.yudao.module.hand.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - GAS警报类型分页 Request VO") +@Data +public class AlarmTypePageReqVO extends PageParam { + + @Schema(description = "名称", example = "芋艿") + private String name; + + @Schema(description = "名称颜色") + private String nameColor; + + @Schema(description = "颜色") + private String color; + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)") + private Integer level; + + @Schema(description = "排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "随便") + private String remark; + + @Schema(description = "删除标志") + private Integer delFlag; + + @Schema(description = "创建者") + private String createBy; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypeRespVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypeRespVO.java new file mode 100644 index 0000000..8969456 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypeRespVO.java @@ -0,0 +1,59 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - GAS警报类型 Response VO") +@Data +@ExcelIgnoreUnannotated +public class AlarmTypeRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18440") + @ExcelProperty("主键ID") + private String id; + + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @ExcelProperty("名称") + private String name; + + @Schema(description = "名称颜色") + @ExcelProperty("名称颜色") + private String nameColor; + + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("颜色") + private String color; + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)") + private Integer level; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "随便") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("删除标志") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建者") + private String createBy; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + @ExcelProperty("更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypeSaveReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypeSaveReqVO.java new file mode 100644 index 0000000..d497744 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/AlarmTypeSaveReqVO.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - GAS警报类型新增/修改 Request VO") +@Data +public class AlarmTypeSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "18440") + private String id; + + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿") + @NotEmpty(message = "名称不能为空") + private String name; + + @Schema(description = "名称颜色") + private String nameColor; + + @Schema(description = "颜色", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "颜色不能为空") + private String color; + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)不能为空") + private Integer level; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "排序不能为空") + private Integer sortOrder; + + @Schema(description = "备注", example = "随便") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "删除标志不能为空") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "创建者不能为空") + private String createBy; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmPageReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmPageReqVO.java new file mode 100644 index 0000000..c194227 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmPageReqVO.java @@ -0,0 +1,62 @@ +package cn.iocoder.yudao.module.hand.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - GAS手持探测器围栏报警分页 Request VO") +@Data +public class FenceAlarmPageReqVO extends PageParam { + + @Schema(description = "探头ID", example = "32133") + private String detectorId; + + @Schema(description = "围栏id", example = "31072") + private String fenceId; + + @Schema(description = "报警类型", example = "2") + private Integer type; + + @Schema(description = "在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图X坐标值") + private Double picY; + + @Schema(description = "超出围栏米数") + private Double distance; + + @Schema(description = "最远超出米数") + private Double maxDistance; + + @Schema(description = "开始时间") + private LocalDateTime tAlarmStart; + + @Schema(description = "结束时间") + private LocalDateTime tAlarmEnd; + + @Schema(description = "状态(0:待处理;1:处理中;1:已处理)", example = "1") + private Integer status; + + @Schema(description = "备注", example = "随便") + private String remark; + + @Schema(description = "删除标志") + private Integer delFlag; + + @Schema(description = "创建者") + private String createBy; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmRespVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmRespVO.java new file mode 100644 index 0000000..67d2418 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmRespVO.java @@ -0,0 +1,79 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - GAS手持探测器围栏报警 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FenceAlarmRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12756") + @ExcelProperty("主键ID") + private String id; + + @Schema(description = "探头ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32133") + @ExcelProperty("探头ID") + private String detectorId; + + @Schema(description = "围栏id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31072") + @ExcelProperty("围栏id") + private String fenceId; + + @Schema(description = "报警类型", example = "2") + @ExcelProperty("报警类型") + private Integer type; + + @Schema(description = "在区域图X坐标值") + @ExcelProperty("在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图X坐标值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("在区域图X坐标值") + private Double picY; + + @Schema(description = "超出围栏米数") + @ExcelProperty("超出围栏米数") + private Double distance; + + @Schema(description = "最远超出米数") + @ExcelProperty("最远超出米数") + private Double maxDistance; + + @Schema(description = "开始时间") + @ExcelProperty("开始时间") + private LocalDateTime tAlarmStart; + + @Schema(description = "结束时间") + @ExcelProperty("结束时间") + private LocalDateTime tAlarmEnd; + + @Schema(description = "状态(0:待处理;1:处理中;1:已处理)", example = "1") + @ExcelProperty("状态(0:待处理;1:处理中;1:已处理)") + private Integer status; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("删除标志") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建者") + private String createBy; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + @ExcelProperty("更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmSaveReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmSaveReqVO.java new file mode 100644 index 0000000..d4ff864 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceAlarmSaveReqVO.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - GAS手持探测器围栏报警新增/修改 Request VO") +@Data +public class FenceAlarmSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12756") + private String id; + + @Schema(description = "探头ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32133") + @NotEmpty(message = "探头ID不能为空") + private String detectorId; + + @Schema(description = "围栏id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31072") + @NotEmpty(message = "围栏id不能为空") + private String fenceId; + + @Schema(description = "报警类型", example = "2") + private Integer type; + + @Schema(description = "在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图X坐标值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "在区域图X坐标值不能为空") + private Double picY; + + @Schema(description = "超出围栏米数") + private Double distance; + + @Schema(description = "最远超出米数") + private Double maxDistance; + + @Schema(description = "开始时间") + private LocalDateTime tAlarmStart; + + @Schema(description = "结束时间") + private LocalDateTime tAlarmEnd; + + @Schema(description = "状态(0:待处理;1:处理中;1:已处理)", example = "1") + private Integer status; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便") + @NotEmpty(message = "备注不能为空") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "删除标志不能为空") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "创建者不能为空") + private String createBy; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FencePageReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FencePageReqVO.java new file mode 100644 index 0000000..f2d9265 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FencePageReqVO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.hand.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - GAS电子围栏分页 Request VO") +@Data +public class FencePageReqVO extends PageParam { + + @Schema(description = "围栏名称", example = "王五") + private String name; + + @Schema(description = "围栏范围") + private String fenceRange; + + @Schema(description = "状态(1启用,2禁用)", example = "2") + private Integer status; + + @Schema(description = "围栏类型(1:超出报警,2:进入报警)", example = "1") + private Integer type; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "删除标志") + private Integer delFlag; + + @Schema(description = "创建者") + private String createBy; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceRespVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceRespVO.java new file mode 100644 index 0000000..5721357 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceRespVO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - GAS电子围栏 Response VO") +@Data +@ExcelIgnoreUnannotated +public class FenceRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12448") + @ExcelProperty("主键ID") + private String id; + + @Schema(description = "围栏名称", example = "王五") + @ExcelProperty("围栏名称") + private String name; + + @Schema(description = "围栏范围") + @ExcelProperty("围栏范围") + private String fenceRange; + + @Schema(description = "状态(1启用,2禁用)", example = "2") + @ExcelProperty("状态(1启用,2禁用)") + private Integer status; + + @Schema(description = "围栏类型(1:超出报警,2:进入报警)", example = "1") + @ExcelProperty("围栏类型(1:超出报警,2:进入报警)") + private Integer type; + + @Schema(description = "备注", example = "你说的对") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("删除标志") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建者") + private String createBy; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + @ExcelProperty("更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceSaveReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceSaveReqVO.java new file mode 100644 index 0000000..15c8a09 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/FenceSaveReqVO.java @@ -0,0 +1,41 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - GAS电子围栏新增/修改 Request VO") +@Data +public class FenceSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12448") + private String id; + + @Schema(description = "围栏名称", example = "王五") + private String name; + + @Schema(description = "围栏范围") + private String fenceRange; + + @Schema(description = "状态(1启用,2禁用)", example = "2") + private Integer status; + + @Schema(description = "围栏类型(1:超出报警,2:进入报警)", example = "1") + private Integer type; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "删除标志不能为空") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "创建者不能为空") + private String createBy; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypePageReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypePageReqVO.java new file mode 100644 index 0000000..7763e52 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypePageReqVO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.hand.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - GAS气体分页 Request VO") +@Data +public class GasTypePageReqVO extends PageParam { + + @Schema(description = "名称", example = "李四") + private String name; + + @Schema(description = "化学式") + private String chemical; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "删除标志") + private Integer delFlag; + + @Schema(description = "创建者") + private String createBy; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypeRespVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypeRespVO.java new file mode 100644 index 0000000..357fff4 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypeRespVO.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - GAS气体 Response VO") +@Data +@ExcelIgnoreUnannotated +public class GasTypeRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25168") + @ExcelProperty("主键ID") + private String id; + + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @ExcelProperty("名称") + private String name; + + @Schema(description = "化学式", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("化学式") + private String chemical; + + @Schema(description = "单位") + @ExcelProperty("单位") + private String unit; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "你说的对") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("删除标志") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建者") + private String createBy; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + @ExcelProperty("更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypeSaveReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypeSaveReqVO.java new file mode 100644 index 0000000..47d9ca8 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/GasTypeSaveReqVO.java @@ -0,0 +1,44 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - GAS气体新增/修改 Request VO") +@Data +public class GasTypeSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "25168") + private String id; + + @Schema(description = "名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四") + @NotEmpty(message = "名称不能为空") + private String name; + + @Schema(description = "化学式", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "化学式不能为空") + private String chemical; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "排序", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "排序不能为空") + private Integer sortOrder; + + @Schema(description = "备注", example = "你说的对") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "删除标志不能为空") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "创建者不能为空") + private String createBy; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmPageReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmPageReqVO.java new file mode 100644 index 0000000..31993f8 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmPageReqVO.java @@ -0,0 +1,65 @@ +package cn.iocoder.yudao.module.hand.vo; + +import lombok.*; +import java.util.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - GAS手持探测器警报分页 Request VO") +@Data +public class HandAlarmPageReqVO extends PageParam { + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)") + private Integer alarmLevel; + + @Schema(description = "气体类型", example = "1") + private String gasType; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "位置描述") + private String location; + + @Schema(description = "在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图X坐标值") + private Double picY; + + @Schema(description = "首报值") + private Double vAlarmFirst; + + @Schema(description = "最值") + private Double vAlarmMaximum; + + @Schema(description = "开始时间") + private LocalDateTime tAlarmStart; + + @Schema(description = "结束时间") + private LocalDateTime tAlarmEnd; + + @Schema(description = "状态(0:待处理;1:处理中;1:已处理)", example = "1") + private Integer status; + + @Schema(description = "备注", example = "随便") + private String remark; + + @Schema(description = "删除标志") + private Integer delFlag; + + @Schema(description = "创建者") + private String createBy; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmRespVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmRespVO.java new file mode 100644 index 0000000..0539ffd --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmRespVO.java @@ -0,0 +1,83 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - GAS手持探测器警报 Response VO") +@Data +@ExcelIgnoreUnannotated +public class HandAlarmRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17955") + @ExcelProperty("主键ID") + private String id; + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)") + private Integer alarmLevel; + + @Schema(description = "气体类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("气体类型") + private String gasType; + + @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("单位") + private String unit; + + @Schema(description = "位置描述") + @ExcelProperty("位置描述") + private String location; + + @Schema(description = "在区域图X坐标值") + @ExcelProperty("在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图X坐标值", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("在区域图X坐标值") + private Double picY; + + @Schema(description = "首报值") + @ExcelProperty("首报值") + private Double vAlarmFirst; + + @Schema(description = "最值") + @ExcelProperty("最值") + private Double vAlarmMaximum; + + @Schema(description = "开始时间") + @ExcelProperty("开始时间") + private LocalDateTime tAlarmStart; + + @Schema(description = "结束时间") + @ExcelProperty("结束时间") + private LocalDateTime tAlarmEnd; + + @Schema(description = "状态(0:待处理;1:处理中;1:已处理)", example = "1") + @ExcelProperty("状态(0:待处理;1:处理中;1:已处理)") + private Integer status; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("删除标志") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建者") + private String createBy; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + @ExcelProperty("更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmSaveReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmSaveReqVO.java new file mode 100644 index 0000000..5e55290 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandAlarmSaveReqVO.java @@ -0,0 +1,69 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import java.util.*; +import jakarta.validation.constraints.*; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +@Schema(description = "管理后台 - GAS手持探测器警报新增/修改 Request VO") +@Data +public class HandAlarmSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17955") + private String id; + + @Schema(description = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "警报方式/级别(0:正常状态;1:一级警报;2:二级警报;3:弹窗警报)不能为空") + private Integer alarmLevel; + + @Schema(description = "气体类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotEmpty(message = "气体类型不能为空") + private String gasType; + + @Schema(description = "单位", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "单位不能为空") + private String unit; + + @Schema(description = "位置描述") + private String location; + + @Schema(description = "在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图X坐标值", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "在区域图X坐标值不能为空") + private Double picY; + + @Schema(description = "首报值") + private Double vAlarmFirst; + + @Schema(description = "最值") + private Double vAlarmMaximum; + + @Schema(description = "开始时间") + private LocalDateTime tAlarmStart; + + @Schema(description = "结束时间") + private LocalDateTime tAlarmEnd; + + @Schema(description = "状态(0:待处理;1:处理中;1:已处理)", example = "1") + private Integer status; + + @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "随便") + @NotEmpty(message = "备注不能为空") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "删除标志不能为空") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "创建者不能为空") + private String createBy; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorPageReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorPageReqVO.java new file mode 100644 index 0000000..8f15b15 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorPageReqVO.java @@ -0,0 +1,85 @@ +package cn.iocoder.yudao.module.hand.vo; + +import lombok.*; +import io.swagger.v3.oas.annotations.media.Schema; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import org.springframework.format.annotation.DateTimeFormat; +import java.time.LocalDateTime; + +import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; + +@Schema(description = "管理后台 - GAS手持探测器分页 Request VO") +@Data +public class HandDetectorPageReqVO extends PageParam { + + @Schema(description = "SN") + private String sn; + + @Schema(description = "持有人姓名", example = "赵六") + private String name; + + @Schema(description = "围栏id", example = "15853") + private String fenceId; + + @Schema(description = "气体类型ID", example = "31358") + private String gasTypeId; + + @Schema(description = "气体化学式") + private String gasChemical; + + @Schema(description = "测量范围中的最小值") + private Double min; + + @Schema(description = "测量范围中的最大值") + private Double max; + + @Schema(description = "状态(0:未知;1:正常;2:故障;3:离线)", example = "1") + private Integer status; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "设备型号") + private String model; + + @Schema(description = "生产厂家") + private String manufacturer; + + @Schema(description = "启用状态(0:备用;1:启用)", example = "1") + private Integer enableStatus; + + @Schema(description = "在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图Y坐标值") + private Double picY; + + @Schema(description = "经度") + private Double longitude; + + @Schema(description = "纬度") + private Double latitude; + + @Schema(description = "数值除数") + private Integer accuracy; + + @Schema(description = "排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @Schema(description = "删除标志") + private Integer delFlag; + + @Schema(description = "创建者") + private String createBy; + + @Schema(description = "创建时间") + @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) + private LocalDateTime[] createTime; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorRespVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorRespVO.java new file mode 100644 index 0000000..805c634 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorRespVO.java @@ -0,0 +1,110 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +import java.time.LocalDateTime; +import com.alibaba.excel.annotation.*; + +@Schema(description = "管理后台 - GAS手持探测器 Response VO") +@Data +@ExcelIgnoreUnannotated +public class HandDetectorRespVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24178") + @ExcelProperty("主键ID") + private String id; + + @Schema(description = "SN") + @ExcelProperty("SN") + private String sn; + + @Schema(description = "持有人姓名", example = "赵六") + @ExcelProperty("持有人姓名") + private String name; + + @Schema(description = "围栏id", example = "15853") + @ExcelProperty("围栏id") + private String fenceId; + + @Schema(description = "气体类型ID", example = "31358") + @ExcelProperty("气体类型ID") + private String gasTypeId; + + @Schema(description = "气体化学式") + @ExcelProperty("气体化学式") + private String gasChemical; + + @Schema(description = "测量范围中的最小值") + @ExcelProperty("测量范围中的最小值") + private Double min; + + @Schema(description = "测量范围中的最大值") + @ExcelProperty("测量范围中的最大值") + private Double max; + + @Schema(description = "状态(0:未知;1:正常;2:故障;3:离线)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("状态(0:未知;1:正常;2:故障;3:离线)") + private Integer status; + + @Schema(description = "单位") + @ExcelProperty("单位") + private String unit; + + @Schema(description = "设备型号") + @ExcelProperty("设备型号") + private String model; + + @Schema(description = "生产厂家") + @ExcelProperty("生产厂家") + private String manufacturer; + + @Schema(description = "启用状态(0:备用;1:启用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @ExcelProperty("启用状态(0:备用;1:启用)") + private Integer enableStatus; + + @Schema(description = "在区域图X坐标值") + @ExcelProperty("在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图Y坐标值") + @ExcelProperty("在区域图Y坐标值") + private Double picY; + + @Schema(description = "经度") + @ExcelProperty("经度") + private Double longitude; + + @Schema(description = "纬度") + @ExcelProperty("纬度") + private Double latitude; + + @Schema(description = "数值除数") + @ExcelProperty("数值除数") + private Integer accuracy; + + @Schema(description = "排序") + @ExcelProperty("排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "你猜") + @ExcelProperty("备注") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("删除标志") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建者") + private String createBy; + + @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("创建时间") + private LocalDateTime createTime; + + @Schema(description = "更新者") + @ExcelProperty("更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorSaveReqVO.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorSaveReqVO.java new file mode 100644 index 0000000..ab54171 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/hand/vo/HandDetectorSaveReqVO.java @@ -0,0 +1,84 @@ +package cn.iocoder.yudao.module.hand.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; +import jakarta.validation.constraints.*; + +@Schema(description = "管理后台 - GAS手持探测器新增/修改 Request VO") +@Data +public class HandDetectorSaveReqVO { + + @Schema(description = "主键ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "24178") + private String id; + + @Schema(description = "SN") + private String sn; + + @Schema(description = "持有人姓名", example = "赵六") + private String name; + + @Schema(description = "围栏id", example = "15853") + private String fenceId; + + @Schema(description = "气体类型ID", example = "31358") + private String gasTypeId; + + @Schema(description = "气体化学式") + private String gasChemical; + + @Schema(description = "测量范围中的最小值") + private Double min; + + @Schema(description = "测量范围中的最大值") + private Double max; + + @Schema(description = "状态(0:未知;1:正常;2:故障;3:离线)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "状态(0:未知;1:正常;2:故障;3:离线)不能为空") + private Integer status; + + @Schema(description = "单位") + private String unit; + + @Schema(description = "设备型号") + private String model; + + @Schema(description = "生产厂家") + private String manufacturer; + + @Schema(description = "启用状态(0:备用;1:启用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") + @NotNull(message = "启用状态(0:备用;1:启用)不能为空") + private Integer enableStatus; + + @Schema(description = "在区域图X坐标值") + private Double picX; + + @Schema(description = "在区域图Y坐标值") + private Double picY; + + @Schema(description = "经度") + private Double longitude; + + @Schema(description = "纬度") + private Double latitude; + + @Schema(description = "数值除数") + private Integer accuracy; + + @Schema(description = "排序") + private Integer sortOrder; + + @Schema(description = "备注", example = "你猜") + private String remark; + + @Schema(description = "删除标志", requiredMode = Schema.RequiredMode.REQUIRED) + @NotNull(message = "删除标志不能为空") + private Integer delFlag; + + @Schema(description = "创建者", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "创建者不能为空") + private String createBy; + + @Schema(description = "更新者") + private String updateBy; + +} \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/controller/package-info.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/controller/package-info.java deleted file mode 100644 index c354f61..0000000 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/controller/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * infra 模块的 web 配置 - */ -package cn.iocoder.yudao.module.lock.controller; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/enums/ErrorCodeConstants.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/enums/ErrorCodeConstants.java deleted file mode 100644 index 52eb9e3..0000000 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/enums/ErrorCodeConstants.java +++ /dev/null @@ -1,10 +0,0 @@ -package cn.iocoder.yudao.module.lock.enums; - -import cn.iocoder.yudao.framework.common.exception.ErrorCode; - - -public interface ErrorCodeConstants { - - - -} diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/package-info.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/package-info.java deleted file mode 100644 index 1c481c0..0000000 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/package-info.java +++ /dev/null @@ -1,6 +0,0 @@ -/** - * 属于 report 模块的 framework 封装 - * - * @author 芋道源码 - */ -package cn.iocoder.yudao.module.lock.framework; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/web/config/HandWebConfiguration.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/web/config/HandWebConfiguration.java deleted file mode 100644 index 32825d3..0000000 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/web/config/HandWebConfiguration.java +++ /dev/null @@ -1,24 +0,0 @@ -package cn.iocoder.yudao.module.lock.framework.web.config; - -import cn.iocoder.yudao.framework.swagger.config.YudaoSwaggerAutoConfiguration; -import org.springdoc.core.models.GroupedOpenApi; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; - -/** - * infra 模块的 web 组件的 Configuration - * - * @author 芋道源码 - */ -@Configuration(proxyBeanMethods = false) -public class HandWebConfiguration { - - /** - * - */ - @Bean - public GroupedOpenApi lockGroupedOpenApi() { - return YudaoSwaggerAutoConfiguration.buildGroupedOpenApi("hand-device"); - } - -} diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/web/package-info.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/web/package-info.java deleted file mode 100644 index f5a4946..0000000 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/framework/web/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * infra 模块的 web 配置 - */ -package cn.iocoder.yudao.module.lock.framework.web; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/package-info.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/package-info.java deleted file mode 100644 index 0ead4b1..0000000 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/package-info.java +++ /dev/null @@ -1,12 +0,0 @@ -/** - * bpm 包下,业务流程管理(Business Process Management),我们放工作流的功能,基于 Flowable 6 版本实现。 - * 例如说:流程定义、表单配置、审核中心(我的申请、我的待办、我的已办)等等 - * - * bpm 解释:https://baike.baidu.com/item/BPM/1933 - * - * 1. Controller URL:以 /bpm/ 开头,避免和其它 Module 冲突 - * 2. DataObject 表名:以 bpm_ 开头,方便在数据库中区分 - * - * 注意,由于 Bpm 模块下,容易和其它模块重名,所以类名都加载 Bpm 的前缀~ - */ -package cn.iocoder.yudao.module.lock; diff --git a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/util/WordUtils.java b/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/util/WordUtils.java deleted file mode 100644 index d799093..0000000 --- a/cc-admin-master/yudao-module-hand/src/main/java/cn/iocoder/yudao/module/lock/util/WordUtils.java +++ /dev/null @@ -1,174 +0,0 @@ -package cn.iocoder.yudao.module.lock.util; - -import cn.iocoder.yudao.module.lock.vo.LockWordPointDataVo; -import cn.iocoder.yudao.module.lock.vo.LockWordPointVo; -import lombok.extern.slf4j.Slf4j; -import org.apache.poi.extractor.ExtractorFactory; -import org.apache.poi.extractor.POITextExtractor; -import org.springframework.web.multipart.MultipartFile; - -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.regex.Pattern; - -@Slf4j -public class WordUtils { - - - public static void main(String[] args) { - // ================================================================= - // 请将此路径修改为您本地Word文件的实际路径 - // 支持 .doc 和 .docx 格式 - // ================================================================= - var filePath = "C:\\Users\\admin\\Desktop\\1.docx"; // <-- 请确保路径正确 - - var file = new File(filePath); - - if (!file.exists() || !file.isFile()) { - // 2. 使用 log.error 记录错误 - log.error("错误:文件不存在或不是一个有效的文件路径 -> {}", filePath); - return; - } - - try { - // 1. 从 Word 文件中提取纯文本 - var rawContent = extractTextFrom(file); - - // 2. 解析提取出的文本并按结构化格式打印 - parseAndPrintStructuredContent(rawContent); - - } catch (Exception e) { - // 3. 记录异常信息和堆栈 - log.error("处理文件时发生未知异常。", e); - } - } - - /** - * 整合所有解析逻辑,并结构化地打印出来。 - * - * @param rawContent 从 Word 中提取的完整纯文本 - */ - public static LockWordPointVo parseAndPrintStructuredContent(String rawContent) { - - var energyPattern = Pattern.compile("☑ ([^、☐\\s]+)"); - var energyMatcher = energyPattern.matcher(rawContent); - var selectedEnergies = new ArrayList(); - while (energyMatcher.find()) { - selectedEnergies.add(energyMatcher.group(1)); - } - - if (selectedEnergies.isEmpty()) { - log.info("未找到任何已勾选的能量项。"); - } else { - log.info("已勾选的能量: " + String.join(", ", selectedEnergies)); - } - - LockWordPointVo lockWordPointVo = new LockWordPointVo(); - // --- 2. 解析:上锁前准备 --- - String deviceLock = extractAndPrint("设备锁数量", rawContent, "准备设备锁:([^;]+);"); - String repairBrand = extractAndPrint("停机大修牌数量", rawContent, "停机大修牌:([^;]+);"); - String sixClip = extractAndPrint("6孔锁夹数量", rawContent, "6孔锁夹:([^;]+);"); - String locking = extractAndPrint("上锁装置", rawContent, "上锁装置:([^\n\r]+)"); - lockWordPointVo.setDeviceLock(deviceLock); - lockWordPointVo.setRepairBrand(repairBrand); - lockWordPointVo.setSixClip(sixClip); - lockWordPointVo.setLocking(locking); - - // --- 3. 解析:表格数据 --- - var dataList = new ArrayList(); - var lines = rawContent.split("\\r?\\n"); - var isParsingTable = false; - - for (var line : lines) { - var trimmedLine = line.trim(); - if (trimmedLine.isEmpty()) continue; - if (trimmedLine.startsWith("验证方法")) break; // 表格内容结束 - - if (trimmedLine.contains("隔离序号") && trimmedLine.contains("隔离点编号")) { - isParsingTable = true; - continue; // 这是标题行,跳过 - } - - if (isParsingTable) { - var parts = trimmedLine.split("\t"); - if (parts.length >= 4) { // 确保数据足够,避免数组越界 - var data = new LockWordPointDataVo(parts[0], parts[1], parts[2], parts[3]); - dataList.add(data); - } else { - log.warn("检测到格式不正确的表格行,已跳过: {}", trimmedLine); - } - } - } - - // 打印解析出的表格数据 - if (dataList.isEmpty()) { - log.warn("未找到或未能解析出表格数据。"); - } else { - lockWordPointVo.setDataVoList(dataList); - } - return lockWordPointVo; - } - - /** - * 辅助方法:根据正则表达式从文本中提取信息并打印。 - * - * @param label 信息的标签 - * @param content 原始内容 - * @param regex 正则表达式 - */ - private static String extractAndPrint(String label, String content, String regex) { - var pattern = Pattern.compile(regex); - var matcher = pattern.matcher(content); - String value = null; - if (matcher.find()) { - value = matcher.group(1).replaceAll("[把个]|至少", "").trim(); - log.info(label + ": " + (value.isEmpty() ? "未填写" : value)); - } else { - log.error(label + ": 未找到"); - } - return value; - } - /** - * 使用 ExtractorFactory 自动识别上传的 Office 文件真实格式并提取纯文本。 - * 该方法直接处理 MultipartFile,避免了先将文件存到本地的需要。 - * - * @param multipartFile 要处理的上传文件 (e.g., .doc, .docx, .xls, .xlsx, .ppt, .pptx) - * @return 提取出的纯文本 - * @throws Exception 如果文件处理失败,例如文件为空、无法识别格式或读取错误 - */ - public static String extractTextFromWord(MultipartFile multipartFile) throws Exception { - // 1. 校验文件是否为空,增加健壮性 - if (multipartFile == null || multipartFile.isEmpty()) { - throw new IllegalArgumentException("文件不能为空。"); - } - - // 2. 使用 try-with-resources 确保 InputStream 和 Extractor 被自动关闭 - // 直接从 MultipartFile 获取输入流,而不是从本地文件 - try (InputStream inputStream = multipartFile.getInputStream(); - POITextExtractor extractor = ExtractorFactory.createExtractor(inputStream)) { - - if (extractor == null) { - // 3. 优化了异常提示信息 - throw new IllegalArgumentException("无法识别的文件类型或文件已损坏。请确保是标准的Office格式。"); - } - // 4. 返回提取的文本 - return extractor.getText(); - } - } - - public static String extractTextFrom(File file) throws Exception { - // Java 7+ try-with-resources 自动关闭资源 - try (InputStream inputStream = new FileInputStream(file); - POITextExtractor extractor = ExtractorFactory.createExtractor(inputStream)) { - - if (extractor == null) { - throw new IllegalArgumentException("无法识别的文件类型,文件可能已损坏或非标准Office格式。"); - } - return extractor.getText(); - } - } -} - - diff --git a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/AlarmRuleMapper.xml b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/AlarmRuleMapper.xml new file mode 100644 index 0000000..a617265 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/AlarmRuleMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/AlarmTypeMapper.xml b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/AlarmTypeMapper.xml new file mode 100644 index 0000000..6f24c44 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/AlarmTypeMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/FenceAlarmMapper.xml b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/FenceAlarmMapper.xml new file mode 100644 index 0000000..8e31cdd --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/FenceAlarmMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/FenceMapper.xml b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/FenceMapper.xml new file mode 100644 index 0000000..62cbf47 --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/FenceMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/GasTypeMapper.xml b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/GasTypeMapper.xml new file mode 100644 index 0000000..fd5939f --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/GasTypeMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/HandAlarmMapper.xml b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/HandAlarmMapper.xml new file mode 100644 index 0000000..d20edcd --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/HandAlarmMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/cc-admin-master/yudao-module-hand/src/main/resources/mapper/HandDetectorMapper.xml b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/HandDetectorMapper.xml new file mode 100644 index 0000000..478592d --- /dev/null +++ b/cc-admin-master/yudao-module-hand/src/main/resources/mapper/HandDetectorMapper.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file