diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java index f6048b3..65cc0e3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java @@ -1,6 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,7 +18,22 @@ * @since 2024-03-06 */ public interface IBusDeviceService extends IService { + boolean addDevice(BusDevice device); + boolean batchDeletes(List ids); + /** + * 根据条件分页查询设备列表 + * + * @param dataScope 数据权限集合 + * @param deviceType 设备类型 + * @param deptid 组织ID + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return 设备列表 + */ + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, + String beginTime, String endTime, String keywords, String isOnline); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java index f6048b3..65cc0e3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java @@ -1,6 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,7 +18,22 @@ * @since 2024-03-06 */ public interface IBusDeviceService extends IService { + boolean addDevice(BusDevice device); + boolean batchDeletes(List ids); + /** + * 根据条件分页查询设备列表 + * + * @param dataScope 数据权限集合 + * @param deviceType 设备类型 + * @param deptid 组织ID + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return 设备列表 + */ + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, + String beginTime, String endTime, String keywords, String isOnline); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java index ce53a37..961e657 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 点位关联表 服务类 @@ -13,4 +17,6 @@ */ public interface IBusWellWellService extends IService { + List selectDataScopePage(DataScope dataScope, Page page, String keyWords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java index f6048b3..65cc0e3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java @@ -1,6 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,7 +18,22 @@ * @since 2024-03-06 */ public interface IBusDeviceService extends IService { + boolean addDevice(BusDevice device); + boolean batchDeletes(List ids); + /** + * 根据条件分页查询设备列表 + * + * @param dataScope 数据权限集合 + * @param deviceType 设备类型 + * @param deptid 组织ID + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return 设备列表 + */ + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, + String beginTime, String endTime, String keywords, String isOnline); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java index ce53a37..961e657 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 点位关联表 服务类 @@ -13,4 +17,6 @@ */ public interface IBusWellWellService extends IService { + List selectDataScopePage(DataScope dataScope, Page page, String keyWords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 71ef4a1..6d3813a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -1,11 +1,17 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.system.model.AlarmRule; import com.casic.missiles.modular.system.dao.AlarmRuleMapper; import com.casic.missiles.modular.system.service.IAlarmRuleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + /** *

* 报警规则表 服务实现类 @@ -17,4 +23,31 @@ @Service public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + + @Resource + private AbstractPermissionContext permissionService; + + @Override + public void updateRule(String devCode, Float highValue, Float lowValue) { + List deviceRuleList = getDeviceRuleListByDevCode(devCode); + deviceRuleList.forEach(deviceRule -> { + this.removeById(deviceRule.getId()); + }); + AlarmRule deviceRule = new AlarmRule(); + deviceRule.setDevcode(devCode); + deviceRule.setHighvalue(highValue); + deviceRule.setLowvalue(lowValue); + //噪声传感器编码 + deviceRule.setSensorcode("000034"); + deviceRule.setTs(new Date()); + deviceRule.setOperator(permissionService.getAuthService().getLoginUser().getAccount()); + this.baseMapper.insert(deviceRule); + } + + + public List getDeviceRuleListByDevCode(String devCode) { + QueryWrapper deviceRuleEntityWrapper = new QueryWrapper<>(); + deviceRuleEntityWrapper.eq("DEVCODE", devCode); + return this.baseMapper.selectList(deviceRuleEntityWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java index f6048b3..65cc0e3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java @@ -1,6 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,7 +18,22 @@ * @since 2024-03-06 */ public interface IBusDeviceService extends IService { + boolean addDevice(BusDevice device); + boolean batchDeletes(List ids); + /** + * 根据条件分页查询设备列表 + * + * @param dataScope 数据权限集合 + * @param deviceType 设备类型 + * @param deptid 组织ID + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return 设备列表 + */ + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, + String beginTime, String endTime, String keywords, String isOnline); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java index ce53a37..961e657 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 点位关联表 服务类 @@ -13,4 +17,6 @@ */ public interface IBusWellWellService extends IService { + List selectDataScopePage(DataScope dataScope, Page page, String keyWords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 71ef4a1..6d3813a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -1,11 +1,17 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.system.model.AlarmRule; import com.casic.missiles.modular.system.dao.AlarmRuleMapper; import com.casic.missiles.modular.system.service.IAlarmRuleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + /** *

* 报警规则表 服务实现类 @@ -17,4 +23,31 @@ @Service public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + + @Resource + private AbstractPermissionContext permissionService; + + @Override + public void updateRule(String devCode, Float highValue, Float lowValue) { + List deviceRuleList = getDeviceRuleListByDevCode(devCode); + deviceRuleList.forEach(deviceRule -> { + this.removeById(deviceRule.getId()); + }); + AlarmRule deviceRule = new AlarmRule(); + deviceRule.setDevcode(devCode); + deviceRule.setHighvalue(highValue); + deviceRule.setLowvalue(lowValue); + //噪声传感器编码 + deviceRule.setSensorcode("000034"); + deviceRule.setTs(new Date()); + deviceRule.setOperator(permissionService.getAuthService().getLoginUser().getAccount()); + this.baseMapper.insert(deviceRule); + } + + + public List getDeviceRuleListByDevCode(String devCode) { + QueryWrapper deviceRuleEntityWrapper = new QueryWrapper<>(); + deviceRuleEntityWrapper.eq("DEVCODE", devCode); + return this.baseMapper.selectList(deviceRuleEntityWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java new file mode 100644 index 0000000..2c37781 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.dao.BaseDeviceModelsMapper; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备型号表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Service +public class BaseDeviceModelsServiceImpl extends ServiceImpl implements IBaseDeviceModelsService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java index f6048b3..65cc0e3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java @@ -1,6 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,7 +18,22 @@ * @since 2024-03-06 */ public interface IBusDeviceService extends IService { + boolean addDevice(BusDevice device); + boolean batchDeletes(List ids); + /** + * 根据条件分页查询设备列表 + * + * @param dataScope 数据权限集合 + * @param deviceType 设备类型 + * @param deptid 组织ID + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return 设备列表 + */ + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, + String beginTime, String endTime, String keywords, String isOnline); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java index ce53a37..961e657 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 点位关联表 服务类 @@ -13,4 +17,6 @@ */ public interface IBusWellWellService extends IService { + List selectDataScopePage(DataScope dataScope, Page page, String keyWords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 71ef4a1..6d3813a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -1,11 +1,17 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.system.model.AlarmRule; import com.casic.missiles.modular.system.dao.AlarmRuleMapper; import com.casic.missiles.modular.system.service.IAlarmRuleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + /** *

* 报警规则表 服务实现类 @@ -17,4 +23,31 @@ @Service public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + + @Resource + private AbstractPermissionContext permissionService; + + @Override + public void updateRule(String devCode, Float highValue, Float lowValue) { + List deviceRuleList = getDeviceRuleListByDevCode(devCode); + deviceRuleList.forEach(deviceRule -> { + this.removeById(deviceRule.getId()); + }); + AlarmRule deviceRule = new AlarmRule(); + deviceRule.setDevcode(devCode); + deviceRule.setHighvalue(highValue); + deviceRule.setLowvalue(lowValue); + //噪声传感器编码 + deviceRule.setSensorcode("000034"); + deviceRule.setTs(new Date()); + deviceRule.setOperator(permissionService.getAuthService().getLoginUser().getAccount()); + this.baseMapper.insert(deviceRule); + } + + + public List getDeviceRuleListByDevCode(String devCode) { + QueryWrapper deviceRuleEntityWrapper = new QueryWrapper<>(); + deviceRuleEntityWrapper.eq("DEVCODE", devCode); + return this.baseMapper.selectList(deviceRuleEntityWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java new file mode 100644 index 0000000..2c37781 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.dao.BaseDeviceModelsMapper; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备型号表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Service +public class BaseDeviceModelsServiceImpl extends ServiceImpl implements IBaseDeviceModelsService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java new file mode 100644 index 0000000..2a0dac8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.casic.missiles.modular.system.dao.BusConfigMapper; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备配置表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@Service +public class BusConfigServiceImpl extends ServiceImpl implements IBusConfigService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java index f6048b3..65cc0e3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java @@ -1,6 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,7 +18,22 @@ * @since 2024-03-06 */ public interface IBusDeviceService extends IService { + boolean addDevice(BusDevice device); + boolean batchDeletes(List ids); + /** + * 根据条件分页查询设备列表 + * + * @param dataScope 数据权限集合 + * @param deviceType 设备类型 + * @param deptid 组织ID + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return 设备列表 + */ + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, + String beginTime, String endTime, String keywords, String isOnline); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java index ce53a37..961e657 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 点位关联表 服务类 @@ -13,4 +17,6 @@ */ public interface IBusWellWellService extends IService { + List selectDataScopePage(DataScope dataScope, Page page, String keyWords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 71ef4a1..6d3813a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -1,11 +1,17 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.system.model.AlarmRule; import com.casic.missiles.modular.system.dao.AlarmRuleMapper; import com.casic.missiles.modular.system.service.IAlarmRuleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + /** *

* 报警规则表 服务实现类 @@ -17,4 +23,31 @@ @Service public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + + @Resource + private AbstractPermissionContext permissionService; + + @Override + public void updateRule(String devCode, Float highValue, Float lowValue) { + List deviceRuleList = getDeviceRuleListByDevCode(devCode); + deviceRuleList.forEach(deviceRule -> { + this.removeById(deviceRule.getId()); + }); + AlarmRule deviceRule = new AlarmRule(); + deviceRule.setDevcode(devCode); + deviceRule.setHighvalue(highValue); + deviceRule.setLowvalue(lowValue); + //噪声传感器编码 + deviceRule.setSensorcode("000034"); + deviceRule.setTs(new Date()); + deviceRule.setOperator(permissionService.getAuthService().getLoginUser().getAccount()); + this.baseMapper.insert(deviceRule); + } + + + public List getDeviceRuleListByDevCode(String devCode) { + QueryWrapper deviceRuleEntityWrapper = new QueryWrapper<>(); + deviceRuleEntityWrapper.eq("DEVCODE", devCode); + return this.baseMapper.selectList(deviceRuleEntityWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java new file mode 100644 index 0000000..2c37781 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.dao.BaseDeviceModelsMapper; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备型号表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Service +public class BaseDeviceModelsServiceImpl extends ServiceImpl implements IBaseDeviceModelsService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java new file mode 100644 index 0000000..2a0dac8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.casic.missiles.modular.system.dao.BusConfigMapper; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备配置表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@Service +public class BusConfigServiceImpl extends ServiceImpl implements IBusConfigService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java index a7993b1..976478b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.constant.DeviceConst; import com.casic.missiles.modular.system.dao.BusDeviceMapper; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -66,7 +71,7 @@ deviceWellService.save(createDeviceWell(entity.getId(), wellDto.getWellId())); } catch (DataAccessException dax) { log.error("主题:设备信息新增异常,设备编号:{},异常信息:{}", entity.getDevcode(), dax); - throw new BusinessException(2001, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("devcode") ? "设备编号重复" : "新增异常"); + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "新增异常"); } return true; } @@ -93,4 +98,15 @@ this.baseMapper.logicDelete(id, new Date().getTime()); } + + + @Override + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline) { + List deviceDtoList = this.baseMapper.selectDataScopePage(dataScope, page, Long.valueOf(StrUtil.isEmpty(deviceType) ? "-1" : deviceType), Long.valueOf(StrUtil.isEmpty(deptid) ? "-1" : deptid), beginTime, endTime, keywords, isOnline); + deviceDtoList.forEach( + deviceDto -> deviceDto.setOnlineState(ObjectUtils.isEmpty(deviceDto.getOnlineState()) || deviceDto.getOnlineState().equals("0") ? "0" : "1") + ); + return deviceDtoList; + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java index f6048b3..65cc0e3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java @@ -1,6 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,7 +18,22 @@ * @since 2024-03-06 */ public interface IBusDeviceService extends IService { + boolean addDevice(BusDevice device); + boolean batchDeletes(List ids); + /** + * 根据条件分页查询设备列表 + * + * @param dataScope 数据权限集合 + * @param deviceType 设备类型 + * @param deptid 组织ID + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return 设备列表 + */ + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, + String beginTime, String endTime, String keywords, String isOnline); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java index ce53a37..961e657 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 点位关联表 服务类 @@ -13,4 +17,6 @@ */ public interface IBusWellWellService extends IService { + List selectDataScopePage(DataScope dataScope, Page page, String keyWords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 71ef4a1..6d3813a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -1,11 +1,17 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.system.model.AlarmRule; import com.casic.missiles.modular.system.dao.AlarmRuleMapper; import com.casic.missiles.modular.system.service.IAlarmRuleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + /** *

* 报警规则表 服务实现类 @@ -17,4 +23,31 @@ @Service public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + + @Resource + private AbstractPermissionContext permissionService; + + @Override + public void updateRule(String devCode, Float highValue, Float lowValue) { + List deviceRuleList = getDeviceRuleListByDevCode(devCode); + deviceRuleList.forEach(deviceRule -> { + this.removeById(deviceRule.getId()); + }); + AlarmRule deviceRule = new AlarmRule(); + deviceRule.setDevcode(devCode); + deviceRule.setHighvalue(highValue); + deviceRule.setLowvalue(lowValue); + //噪声传感器编码 + deviceRule.setSensorcode("000034"); + deviceRule.setTs(new Date()); + deviceRule.setOperator(permissionService.getAuthService().getLoginUser().getAccount()); + this.baseMapper.insert(deviceRule); + } + + + public List getDeviceRuleListByDevCode(String devCode) { + QueryWrapper deviceRuleEntityWrapper = new QueryWrapper<>(); + deviceRuleEntityWrapper.eq("DEVCODE", devCode); + return this.baseMapper.selectList(deviceRuleEntityWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java new file mode 100644 index 0000000..2c37781 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.dao.BaseDeviceModelsMapper; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备型号表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Service +public class BaseDeviceModelsServiceImpl extends ServiceImpl implements IBaseDeviceModelsService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java new file mode 100644 index 0000000..2a0dac8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.casic.missiles.modular.system.dao.BusConfigMapper; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备配置表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@Service +public class BusConfigServiceImpl extends ServiceImpl implements IBusConfigService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java index a7993b1..976478b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.constant.DeviceConst; import com.casic.missiles.modular.system.dao.BusDeviceMapper; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -66,7 +71,7 @@ deviceWellService.save(createDeviceWell(entity.getId(), wellDto.getWellId())); } catch (DataAccessException dax) { log.error("主题:设备信息新增异常,设备编号:{},异常信息:{}", entity.getDevcode(), dax); - throw new BusinessException(2001, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("devcode") ? "设备编号重复" : "新增异常"); + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "新增异常"); } return true; } @@ -93,4 +98,15 @@ this.baseMapper.logicDelete(id, new Date().getTime()); } + + + @Override + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline) { + List deviceDtoList = this.baseMapper.selectDataScopePage(dataScope, page, Long.valueOf(StrUtil.isEmpty(deviceType) ? "-1" : deviceType), Long.valueOf(StrUtil.isEmpty(deptid) ? "-1" : deptid), beginTime, endTime, keywords, isOnline); + deviceDtoList.forEach( + deviceDto -> deviceDto.setOnlineState(ObjectUtils.isEmpty(deviceDto.getOnlineState()) || deviceDto.getOnlineState().equals("0") ? "0" : "1") + ); + return deviceDtoList; + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellWellServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellWellServiceImpl.java index defb2fa..4c57c10 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellWellServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellWellServiceImpl.java @@ -1,11 +1,17 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.casic.missiles.modular.system.dao.BusWellWellMapper; import com.casic.missiles.modular.system.service.IBusWellWellService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 点位关联表 服务实现类 @@ -17,4 +23,9 @@ @Service public class BusWellWellServiceImpl extends ServiceImpl implements IBusWellWellService { + + @Override + public List selectDataScopePage(DataScope dataScope, Page page, String keyWords) { + return this.baseMapper.selectDataScopePage(dataScope,page,keyWords); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java index 4275f0c..983985f 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/config/MybatisPlusConfig.java @@ -12,10 +12,10 @@ @Configuration public class MybatisPlusConfig { - @Bean - public MybatisPlusInterceptor mybatisPlusInterceptor(){ - MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); - interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); - return interceptor; - } +// @Bean +// public MybatisPlusInterceptor mybatisPlusInterceptor(){ +// MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); +// interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL)); +// return interceptor; +// } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java new file mode 100644 index 0000000..ae8b002 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/constant/ModularDictConst.java @@ -0,0 +1,15 @@ +package com.casic.missiles.modular.system.constant; + + +public class ModularDictConst { + /** + * 布防状态字典类型 + */ + public static final String BFZT = "bfzt"; + + /** + * 在线状态字典类型 + */ + public static final String ONLINESTATUS = "onlineStatus"; + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java index dee717e..82749a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRecordsController.java @@ -1,21 +1,68 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRecordRequest; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRecords; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.service.IAlarmRecordsService; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; +import javax.annotation.Resource; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + /** *

- * 前端控制器 + * 前端控制器 *

* * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRecords") -public class AlarmRecordsController { +public class AlarmRecordsController extends ExportController { + + @Autowired + private IAlarmRecordsService alarmRecordsService; + @Resource + private AbstractPermissionContext iCommonPermissionService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRecordRequest alarmRecordRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = iCommonPermissionService.getAuthService().getLoginUserDataScope(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRecordRequest.getKeywords()), "devcode", alarmRecordRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(alarmRecordRequest.getBeginTime()), "ALARM_TIME", alarmRecordRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(alarmRecordRequest.getEndTime()), "ALARM_TIME", alarmRecordRequest.getEndTime()); + return ReturnUtil.success(super.packForBT(alarmRecordsService.page(page, queryWrapper))); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java index 8f67f57..b33ab34 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/AlarmRuleController.java @@ -1,9 +1,32 @@ package com.casic.missiles.modular.system.controller; -import org.springframework.web.bind.annotation.RequestMapping; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.BaseController; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.AlarmRuleRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.AlarmRule; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IAlarmRuleService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -13,9 +36,57 @@ * @author zt * @since 2024-03-06 */ -@Controller +@Api(tags = "报警规则模块接口") +@Slf4j +@RestController @RequestMapping("/alarmRule") -public class AlarmRuleController { +public class AlarmRuleController extends ExportController { + + @Autowired + private IAlarmRuleService alarmRuleService; + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody AlarmRuleRequest alarmRuleRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(alarmRuleRequest.getKeywords()),"devcode",alarmRuleRequest.getKeywords()); + return ReturnUtil.success(super.packForBT(alarmRuleService.page( page,queryWrapper))); + } + + @ApiOperation("新增告警规则") + @PostMapping("/add") + public Object add(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "新增失败"); + } + return ResponseData.success(); + } + + + @ApiOperation("删除告警规则") + @PostMapping("/delete") + public ReturnDTO delete(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(alarmRuleService.removeByIds(ids)); + } + + @ApiOperation("更新告警规则") + @PostMapping("/update") + public ReturnDTO updateRule(@RequestBody @Valid AlarmRule alarmRule) { + try { + alarmRuleService.updateRule(alarmRule.getDevcode(), alarmRule.getHighvalue(), alarmRule.getLowvalue()); + } catch (Exception e) { + e.printStackTrace(); + return ReturnUtil.failed(ResponseData.DEFAULT_ERROR_CODE, "更新告警规则失败"); + } + return ReturnUtil.success(); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java new file mode 100644 index 0000000..5959d64 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceModelsController.java @@ -0,0 +1,60 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.ArrayList; +import java.util.List; + +import static com.casic.missiles.modular.system.constant.DeviceConst.DEVICE_QUERY_DEVICE_TYPE; + +/** + *

+ * 设备型号表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Api(tags = "设备型号模块接口") +@Slf4j +@RestController +@RequestMapping("/baseDeviceModels") +public class BaseDeviceModelsController { + @Autowired + private IBaseDeviceModelsService deviceModelsService; + + @ApiOperation("设备类型获取设备型号") + @GetMapping("/model") + public ReturnDTO> model(String deviceType) { + //设备类型列表查询 + QueryWrapper query = new QueryWrapper<>(); + if (ObjectUtil.isNotEmpty(deviceType)) { + query.eq(DEVICE_QUERY_DEVICE_TYPE, Long.valueOf(deviceType)); + } + List list = deviceModelsService.list(query); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceModels -> { + selectDtos.add(new DeviceSelectDto(deviceModels.getModelName(), deviceModels.getId(), deviceModels.getDeviceType())); + }); + } + return ReturnUtil.success(selectDtos); + } + +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java index 417c8eb..2c86fc4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BaseDeviceTypeController.java @@ -1,9 +1,22 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.collection.CollectionUtil; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.BaseDeviceType; +import com.casic.missiles.modular.system.service.IBaseDeviceTypeService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; -import org.springframework.stereotype.Controller; +import java.util.ArrayList; +import java.util.List; /** *

@@ -13,9 +26,29 @@ * @author zt * @since 2024-03-08 */ -@Controller +@Api(tags = "设备类型模块接口") +@Slf4j +@RestController @RequestMapping("/baseDeviceType") public class BaseDeviceTypeController { + @Autowired + private IBaseDeviceTypeService deviceTypeService; + + + @ApiOperation("设备类型列表") + @GetMapping("/list-type") + public ReturnDTO> type() { + //设备类型列表查询 + List list = deviceTypeService.list(null); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(deviceType -> { + selectDtos.add(new DeviceSelectDto(deviceType.getTypeName(), deviceType.getId())); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java index 7eb49f8..32a4302 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusDeviceController.java @@ -2,7 +2,17 @@ import cn.hutool.core.lang.Assert; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.constant.ModularDictConst; +import com.casic.missiles.modular.system.dto.DeviceDto; +import com.casic.missiles.modular.system.dto.DeviceRequest; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -14,9 +24,11 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; import java.util.Objects; @@ -33,15 +45,34 @@ @Slf4j @RestController @RequestMapping("/busDevice") -public class BusDeviceController { +public class BusDeviceController extends ExportController { + + @Resource + private AbstractDictService dictService; @Autowired private IBusWellInfoService busWellInfoService; @Autowired private IBusDeviceService deviceService; + @Resource + private AbstractPermissionContext permissionService; + + + @ApiOperation("分页列表") + @GetMapping("/list-page") + public ReturnDTO> listPage(@RequestBody DeviceRequest deviceRequest) { + Page page = PageFactory.defaultPage(); + //查询数据权限 使用默认DEPTID 字段 + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = deviceService.selectDataScopePage(dataScope, page, "", "", deviceRequest.getBeginTime(), deviceRequest.getEndTime(), deviceRequest.getKeywords(), deviceRequest.getIsOnline()); + list.forEach(deviceDto -> { + deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); + }); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } @ApiOperation("添加设备") @PostMapping("/add") - @ResponseBody public ReturnDTO add(@RequestBody @Valid BusDevice device, BindingResult bindingResult) { Assert.isFalse(bindingResult.hasErrors(), () -> { throw new BusinessException(CoreExceptionEnum.REQUEST_NULL.getCode(), bindingResult.getFieldError().getDefaultMessage()); @@ -59,5 +90,70 @@ return ReturnUtil.success(deviceService.batchDeletes(ids)); } + + @ApiOperation("修改设备信息") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusDevice device) { + Assert.isFalse(Objects.isNull(device.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusDevice oldDevice = this.deviceService.getById(device.getId()); + LogObjectHolder.me().set(oldDevice); + deviceService.updateById(device); + } catch (DataAccessException dax) { + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "编辑异常"); + } + return ReturnUtil.success(); + } + +// @RequestMapping(value = "/batchImport", method = RequestMethod.POST) +// @Permission +// @ResponseBody +// public Object batchImport(@RequestParam("file") MultipartFile file) { +// List results = new ArrayList<>(); +// //设置表头与字段映射,可通过反射获取 +// Map mapper = new HashMap<>(); +// //判断唯一 +// mapper.put("设备编号", "devcode"); +// mapper.put("设备名称", "deviceName"); +// mapper.put("设备类型", "deviceTypeName"); +// mapper.put("设备型号", "modelName"); +// mapper.put("点位编号", "wellCode"); +// mapper.put("数据集中器编号", "concenCode"); +// mapper.put("设备安装时间", "installDateFmt"); +// try { +// results = this.importExcel(Device.class, file, null, null); +// List list = deviceService.addDeviceBatch(results); +// if (!CollectionUtil.isEmpty(list)) { +// //获取第校验报错信息 +// return new ErrorResponseData(list.get(0)); +// } +// } catch (Exception e) { +// return catchMybatisPlusException(e, "导入设备失败"); +// } +// return ResponseData.success(); +// } +// +// @RequestMapping(value = "/batchExport") +// @Permission +// @ResponseBody +// public void batchExport(HttpServletResponse response, String keywords, String deviceType, String deptid, String beginTime, String endTime, String isOnline) throws IOException { +// +// Page page = PageFactory.defaultPage(); +// page.setCurrent(1); +// page.setSearchCount(false); +// page.setSize(Integer.MAX_VALUE); +// DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); +// List list = deviceService.selectDataScopePage(dataScope, page, deviceType, deptid, beginTime, endTime, keywords, isOnline); +// list.forEach(deviceDto -> { +// deviceDto.setBfztName(dictService.getDictNameByCode(ModularDictConst.BFZT, deviceDto.getBfzt())); +// deviceDto.setOnlineStateName(dictService.getDictNameByCode(ModularDictConst.ONLINESTATUS, deviceDto.getOnlineState())); +// }); +// //获取导出文件header +// super.exportExcel(DeviceDto.class, list, DeviceExportHeadersEnum.DEVICE_EXPORT.getFileName()); +// +// } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java index 717a6c4..c943564 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellInfoController.java @@ -6,8 +6,8 @@ import cn.hutool.core.util.ObjectUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.application.service.AbstractDictService; import com.casic.missiles.core.base.controller.ExportController; -import com.casic.missiles.core.common.annotion.BussinessLog; import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.core.page.PageFactory; import com.casic.missiles.model.exception.ServiceException; @@ -15,13 +15,15 @@ import com.casic.missiles.model.log.LogObjectHolder; import com.casic.missiles.model.response.ErrorResponseData; import com.casic.missiles.model.response.ResponseData; -import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.constant.BusWellConst; import com.casic.missiles.modular.system.dto.BatchExportDataDto; +import com.casic.missiles.modular.system.dto.DeviceSelectDto; import com.casic.missiles.modular.system.dto.ReturnDTO; import com.casic.missiles.modular.system.dto.WellInfoRequest; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.Dict; import com.casic.missiles.modular.system.service.IBusWellInfoService; import com.casic.missiles.modular.system.util.ReturnUtil; import com.casic.missiles.modular.system.util.Utility; @@ -32,8 +34,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.dao.DuplicateKeyException; import org.springframework.web.bind.annotation.*; - -import org.springframework.stereotype.Controller; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -60,6 +60,8 @@ private IBusWellInfoService iBusWellInfoService; @Autowired private AbstractPermissionContext permissionService; + @Autowired + private AbstractDictService dictService; @ApiOperation("获取点位列表信息") @@ -196,5 +198,19 @@ super.exportExcel(BatchExportDataDto.class, list, "点位列表"); } + + @ApiOperation("获取点位类型列表信息") + @GetMapping("/wellTypeList") + public ReturnDTO> wellTypeList() { + List list = dictService.findInDictByCode(BusWellConst.SLUICEWELL_TYPE); + List selectDtos = new ArrayList<>(); + if (CollectionUtil.isNotEmpty(list)) { + list.forEach(dict -> { + selectDtos.add(new DeviceSelectDto(dict.getName(), Long.valueOf(dict.getCode()))); + }); + } + return ReturnUtil.success(selectDtos); + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java index a7c0dc0..1c83e03 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/BusWellWellController.java @@ -1,11 +1,35 @@ package com.casic.missiles.modular.system.controller; +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.application.context.AbstractPermissionContext; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.modular.system.dto.BusWellWellRequest; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellInfo; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; import io.swagger.annotations.Api; -import org.springframework.web.bind.annotation.RequestMapping; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.RestController; +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; /** *

@@ -18,7 +42,66 @@ @Api(tags = "点位关联模块接口") @RestController @RequestMapping("/busWellWell") -public class BusWellWellController { +public class BusWellWellController extends ExportController { + + @Autowired + private IBusWellWellService iBusWellWellService; + + @Autowired + private IBusDeviceService deviceService; + + @Autowired + private AbstractPermissionContext permissionService; + + @ApiOperation("新增关联关系") + @PostMapping("/add") + public ReturnDTO add(@RequestBody BusWellWell busWellWell) { + Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { + throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); + }); + try { + return ReturnUtil.success(iBusWellWellService.save(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("删除关联关系") + @PostMapping("/delete") + public ReturnDTO batchDeletes(@RequestBody List ids) { + Assert.isFalse(Objects.isNull(ids), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + return ReturnUtil.success(iBusWellWellService.removeByIds(ids)); + } + + + @ApiOperation("修改关联关系") + @PostMapping("/update") + public ReturnDTO update(@RequestBody @Valid BusWellWell busWellWell) { + Assert.isFalse(Objects.isNull(busWellWell.getId()), () -> { + throw new BusinessException(BusinessExceptionEnum.ID_NULL); + }); + try { + BusWellWell oldDevice = this.iBusWellWellService.getById(busWellWell.getId()); + LogObjectHolder.me().set(oldDevice); + return ReturnUtil.success(iBusWellWellService.updateById(busWellWell)); + } catch (DataAccessException dax) { + throw new BusinessException(2002, dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); + } + } + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody BusWellWellRequest busWellWellRequest) { + Page page = PageFactory.defaultPage(); + DataScope dataScope = permissionService.getAuthService().getLoginUserDataScope(); + List list = iBusWellWellService.selectDataScopePage(dataScope, page, busWellWellRequest.getKeywords()); + page.setRecords(list); + return ReturnUtil.success(super.packForBT(page)); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java new file mode 100644 index 0000000..0ad366a --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseConfigController.java @@ -0,0 +1,101 @@ +package com.casic.missiles.modular.system.controller; + + +import cn.hutool.core.lang.Assert; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.common.annotion.BussinessLog; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.model.log.LogObjectHolder; +import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.model.response.SuccessResponseData; +import com.casic.missiles.modular.system.dto.NoiseConfigRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; +import com.casic.missiles.modular.system.exception.BusinessException; +import com.casic.missiles.modular.system.model.BusWellWell; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.casic.missiles.modular.system.service.IBusDeviceService; +import com.casic.missiles.modular.system.service.IBusWellWellService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.dao.DataAccessException; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; +import java.util.Objects; + +/** + *

+ * 点位关联表 前端控制器 + *

+ * + * @author zt + * @since 2024-03-07 + */ +@Api(tags = "设备配置模块接口") +@RestController +@RequestMapping("/noiseConfig") +public class NoiseConfigController { + +// @Autowired +// private IBusConfigService iBusConfigService; +// +// +// @ApiOperation("设备配置") +// @PostMapping("/config") +// public ReturnDTO add(@RequestBody BusWellWell busWellWell) { +// Assert.isFalse(ObjectUtil.hasEmpty(busWellWell.getWellId1(), busWellWell.getWellId2()), () -> { +// throw new BusinessException(BusinessExceptionEnum.RELATION_IDS_IS_NULL); +// }); +// try { +// return ReturnUtil.success(iBusWellWellService.save(busWellWell)); +// } catch (DataAccessException dax) { +// throw new BusinessException(2002, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("wellIds_index") ? "点位已绑定" : "新增异常"); +// } +// } +// +// /** +// * 噪声获取配置列表 +// */ +// @RequestMapping(value = "/noiseConfig/list") +// public Object noiseConfigList(@RequestParam(required = false) String keywords, +// @RequestParam(required = false) String deptid) { +// SuccessResponseData successResult = new SuccessResponseData(); +// try { +// Page page = PageFactory.defaultPage();//page使用 +// DataScope dataScope = service.getAuthService().getLoginUserDataScope(); +// List busConfigDTOList = busNoiseConfigService.getConfigList(page, keywords, +// deptid, Long.valueOf(DeviceTypeEnum.Noise.getIndex()), dataScope); +// page.setRecords(busConfigDTOList); +// successResult.setData(super.packForBT(page)); +// successResult.setMessage("success"); +// } catch (Exception e) { +// e.printStackTrace(); +// successResult.setCode(500); +// successResult.setMessage("false"); +// } +// return successResult; +// } +// +// +// /** +// * 新增噪声配置 +// */ +// @RequestMapping(value = "/noiseConfig/config") +// @BussinessLog(value = "新增噪声配置", key = "deviceId,collectTime,collectInterval,collectCount,retryTimes,attemptsMax,ip,port", dict = BusConfigDict.class) +// public Object addDNoise(@RequestBody NoiseConfigRequest busConfigDTO) { +// try { +// busNoiseConfigService.addConfig(busConfigDTO); +// } catch (Exception e) { +// e.printStackTrace(); +// return ResponseData.error(ResponseData.DEFAULT_ERROR_CODE, "配置失败"); +// } +// return ResponseData.success(); +// } +} + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java index 0e91b4e..2b8a5c4 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/controller/NoiseController.java @@ -1,44 +1,53 @@ -//package com.casic.missiles.modular.system.controller; -// -//import com.casic.missiles.core.base.controller.BaseController; -//import com.casic.missiles.core.result.ResultData; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -//import org.springframework.web.bind.annotation.ResponseBody; -//import org.springframework.web.bind.annotation.PathVariable; -//import org.springframework.beans.factory.annotation.Autowired; -//import com.baomidou.mybatisplus.plugins.Page; -//import com.baomidou.mybatisplus.mapper.EntityWrapper; -//import java.util.List; -//import com.casic.missiles.core.common.constant.factory.PageFactory; -//import org.springframework.web.bind.annotation.RequestParam; -//import com.casic.missiles.modular.system.model.Noise; -//import com.casic.missiles.modular.system.service.INoiseService; -// -///** -// * 相关仪上传数据控制器 -// * -// * @author dev -// * @Date 2024-02-28 16:42:27 -// */ -//@Controller -//@RequestMapping("/noise") -//public class NoiseController extends BaseController { -// -// -// @Autowired -// private INoiseService noiseService; -// -// -// /** -// * 获取相关仪上传数据列表 -// */ -// @RequestMapping(value = "/list") -// @ResponseBody -// public Object list(String condition) { -// return noiseService.selectList(null); -// } -// +package com.casic.missiles.modular.system.controller; + +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.base.controller.ExportController; +import com.casic.missiles.core.page.PageFactory; +import com.casic.missiles.modular.system.dto.NoiseRequest; +import com.casic.missiles.modular.system.dto.ReturnDTO; +import com.casic.missiles.modular.system.model.Noise; +import com.casic.missiles.modular.system.service.INoiseService; +import com.casic.missiles.modular.system.util.ReturnUtil; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +/** + * 相关仪上传数据控制器 + * + * @author dev + * @Date 2024-02-28 16:42:27 + */ +@Api(tags = "数据管理模块接口") +@RestController +@RequestMapping("/noise") +public class NoiseController extends ExportController { + + @Autowired + private INoiseService noiseService; + + + @ApiOperation("分页查询列表") + @GetMapping("/list") + public ReturnDTO> list(@RequestBody NoiseRequest noiseRequest) { + Page page = PageFactory.defaultPage(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.like(ObjectUtil.isNotEmpty(noiseRequest.getKeywords()),"devcode",noiseRequest.getKeywords()); + queryWrapper.ge(ObjectUtil.isNotEmpty(noiseRequest.getBeginTime()), "UPTIME", noiseRequest.getBeginTime()); + queryWrapper.le(ObjectUtil.isNotEmpty(noiseRequest.getEndTime()), "UPTIME", noiseRequest.getEndTime()); + queryWrapper.orderByDesc("UPTIME"); + return ReturnUtil.success(super.packForBT(noiseService.page( page,queryWrapper))); + } + + // /** // * 获取相关仪上传数据分页列表 // */ @@ -102,4 +111,4 @@ // resultData.setData(noiseService.selectById(noiseId)); // return resultData; // } -//} +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java new file mode 100644 index 0000000..c81191e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BaseDeviceModelsMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备型号表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface BaseDeviceModelsMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java new file mode 100644 index 0000000..f5badda --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusConfigMapper.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.dao; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; + +/** + *

+ * 设备配置表 Mapper 接口 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface BusConfigMapper extends BaseMapper { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java index 177e1bc..e73db30 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusDeviceMapper.java @@ -1,10 +1,15 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + /** *

* 设备表 Mapper 接口 @@ -19,4 +24,15 @@ Integer logicDelete(@Param("id") Long id, @Param("currentTime") Long currentTime); + + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("deviceType") Long deviceType, + @Param("deptid") Long deptid, + @Param("beginTime") String beginTime, + @Param("endTime") String endTime, + @Param("keywords") String keywords, + @Param("isOnline") String isOnline); + + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java index 3a1179e..e0f5991 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/BusWellWellMapper.java @@ -1,7 +1,13 @@ package com.casic.missiles.modular.system.dao; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; +import com.casic.missiles.modular.system.model.BusWellInfo; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** *

@@ -13,4 +19,8 @@ */ public interface BusWellWellMapper extends BaseMapper { + List selectDataScopePage(@Param("scope") DataScope dataScope, + @Param("page") Page page, + @Param("keywords") String keywords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml index 13f83a7..e86cd25 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/AlarmRuleMapper.xml @@ -2,4 +2,17 @@ + + + + + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml new file mode 100644 index 0000000..e4e1ef6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BaseDeviceModelsMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml new file mode 100644 index 0000000..5d37f05 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusConfigMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml index 0a6ccac..38f81a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusDeviceMapper.xml @@ -15,6 +15,60 @@ + + DATE_FORMAT(${paramDate},'%Y-%m-%d') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + TO_CHAR(${paramDate},'yyyy-mm-dd') + + + + DATE_FORMAT(${paramTime},'%Y-%m-%d %H:%i:%s') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + TO_CHAR(${paramTime},'yyyy-mm-dd hh24:mi:ss') + + + + '%' ||#{keywords}||'%' + + + + CONCAT('%',#{keywords},'%') + + + + CONCAT('%',#{keywords},'%') + + + + str_to_date(${paramStr},'%Y-%m-%d %H:%i') + + + + TO_TIMESTAMP(${paramStr},'yyyy-MM-dd hh24:mi')::timestamp without time zone + + + + TO_DATE(${paramStr},'yyyy-mm-dd hh24:mi') + + + ID,DEVCODE,DEVICENAME,DEVICETYPE,DEVICETYPENAME,WATCHTYPE,COMMUNICATION,MODELID,MODELNAME,DEPTID,DEPTNAME,WELLCODE,POSITION, lineLength,ONLINESTATE,BFZT,wellId, + + + + AS "INSTALLDATE",INSTALL_HEIGHT AS "installHeight" + + SELECT + + FROM device_view dv + WHERE VALID = '1' + + and deviceType = #{deviceType} + + + and deptid = #{deptid} + + + and dv.onlinestate ='0' + + + and dv.onlinestate ]]> '0' + + + and installDate > + + + + + + and installDate < + + + + + + and (DEVCODE like + + OR wellCode LIKE + + ) + + ORDER BY INSTALLDATE DESC + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml index 6b7c5be..c4981a2 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dao/mapping/BusWellWellMapper.xml @@ -2,4 +2,30 @@ + + + + + + + + + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java new file mode 100644 index 0000000..03bdb4f --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRecordRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRecordRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java new file mode 100644 index 0000000..af3fdd7 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/AlarmRuleRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: wangpeng + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class AlarmRuleRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java new file mode 100644 index 0000000..aafc28e --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusConfigRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusConfigRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String devCODE; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java new file mode 100644 index 0000000..05696e4 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/BusWellWellRequest.java @@ -0,0 +1,19 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class BusWellWellRequest implements Serializable { + @ApiModelProperty(value = "点位编号", dataType = "String") + private String keywords; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java new file mode 100644 index 0000000..7c690a6 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceDto.java @@ -0,0 +1,51 @@ +package com.casic.missiles.modular.system.dto; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import lombok.Data; +import org.hibernate.validator.constraints.Length; + +/** + * 闸井查询 + */ +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated +@Data +public class DeviceDto extends Model { + + + + private Long id;//主键 + @ExcelProperty("点位编号") + @Length(max = 15, min = 12) + private String wellCode; + @ExcelProperty("设备编号") + private String devcode; + private String deviceName; + private Long deviceType;//设备类型 + @ExcelProperty("设备类型") + private String deviceTypeName;//设备类型名称 + private String watchType; + private String communication; + private Long modelId; + private String modelName; + private String deptid; + @ExcelProperty("权属单位") + private String deptName; + @ExcelProperty("设备安装日期") + private String installDate; + @ExcelProperty("设备位置") + private String position; + private String onlineState; + private String onlineStateName; + private String wellId; +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java new file mode 100644 index 0000000..78efe45 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceRequest.java @@ -0,0 +1,25 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class DeviceRequest implements Serializable { + @ApiModelProperty(value = "设备编号/点位编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "是否在线,0:离线,1:在线", dataType = "String") + private String isOnline; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java new file mode 100644 index 0000000..20da27c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/DeviceSelectDto.java @@ -0,0 +1,24 @@ +package com.casic.missiles.modular.system.dto; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + + +/** + * 设备类型及设备型号选择Dto + * 设备选择框相关Dto + */ +@Data +@NoArgsConstructor +@AllArgsConstructor +public class DeviceSelectDto { + private String name;//名称 + private Long value;//值 + private Long deviceType;//设备类型 + + public DeviceSelectDto(String name, Long value) { + this.name = name; + this.value = value; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java new file mode 100644 index 0000000..97627cf --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseConfigRequest.java @@ -0,0 +1,21 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseConfigRequest implements Serializable { + @ApiModelProperty(value = "设备id", dataType = "Long", required = true) + private Long deviceId; + @ApiModelProperty(value = "采集间隔", dataType = "String") + private String collectInterval; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java new file mode 100644 index 0000000..8ced319 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/dto/NoiseRequest.java @@ -0,0 +1,23 @@ +package com.casic.missiles.modular.system.dto; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; + +/** + * @Description: for return + * @Author: zt + * @Date: 2022/11/27 00:51 + */ +@Data +@ApiModel +public class NoiseRequest implements Serializable { + @ApiModelProperty(value = "设备编号", dataType = "String") + private String keywords; + @ApiModelProperty(value = "开始时间", dataType = "String") + private String beginTime; + @ApiModelProperty(value = "结束时间", dataType = "String") + private String endTime; +} \ No newline at end of file diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java index 9be1d36..2f4abcf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/enums/BusinessExceptionEnum.java @@ -31,7 +31,9 @@ WELL_IS_NULL(2011, "未找到点位信息"), - DEVICE_TYPE_IS_NULL(2011, "设备类型不存在"); + DEVICE_TYPE_IS_NULL(2012, "设备类型不存在"), + + RELATION_IDS_IS_NULL(2013, "关联id不能为空"); private Integer code; diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java index 4ff240b..eba561b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRecords.java @@ -1,10 +1,12 @@ package com.casic.missiles.modular.system.model; import com.baomidou.mybatisplus.annotation.TableName; -import java.io.Serializable; -import java.time.LocalDateTime; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; /** *

@@ -14,6 +16,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_records") @ApiModel(value = "AlarmRecords对象", description = "") public class AlarmRecords implements Serializable { @@ -45,7 +48,7 @@ private Integer alarmLevel; @ApiModelProperty("告警时间") - private LocalDateTime alarmTime; + private Date alarmTime; @ApiModelProperty("告警状态( 0:因新报警而自动取消,1:正在报警,2:因工单结束而消警,3:因数据正常而消警)") private String status; @@ -56,103 +59,6 @@ @ApiModelProperty("告警详情") private String alarmMsg; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public Long getDeviceId() { - return deviceId; - } - - public void setDeviceId(Long deviceId) { - this.deviceId = deviceId; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public String getWellCode() { - return wellCode; - } - - public void setWellCode(String wellCode) { - this.wellCode = wellCode; - } - - public String getAlarmType() { - return alarmType; - } - - public void setAlarmType(String alarmType) { - this.alarmType = alarmType; - } - - public String getAlarmContent() { - return alarmContent; - } - - public void setAlarmContent(String alarmContent) { - this.alarmContent = alarmContent; - } - - public String getAlarmValue() { - return alarmValue; - } - - public void setAlarmValue(String alarmValue) { - this.alarmValue = alarmValue; - } - - public Integer getAlarmLevel() { - return alarmLevel; - } - - public void setAlarmLevel(Integer alarmLevel) { - this.alarmLevel = alarmLevel; - } - - public LocalDateTime getAlarmTime() { - return alarmTime; - } - - public void setAlarmTime(LocalDateTime alarmTime) { - this.alarmTime = alarmTime; - } - - public String getStatus() { - return status; - } - - public void setStatus(String status) { - this.status = status; - } - - public Long getJobId() { - return jobId; - } - - public void setJobId(Long jobId) { - this.jobId = jobId; - } - - public String getAlarmMsg() { - return alarmMsg; - } - - public void setAlarmMsg(String alarmMsg) { - this.alarmMsg = alarmMsg; - } - @Override public String toString() { return "AlarmRecords{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java index 559479b..be82167 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/AlarmRule.java @@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; -import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + /** *

@@ -16,6 +19,7 @@ * @author zt * @since 2024-03-06 */ +@Data @TableName("alarm_rule") @ApiModel(value = "AlarmRule对象", description = "报警规则表") public class AlarmRule implements Serializable { @@ -26,10 +30,10 @@ @TableId(value = "ID", type = IdType.AUTO) private Long id; - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("报警上限") + @ApiModelProperty(value = "报警上限",required = true) private Float highvalue; @ApiModelProperty("报警下限") @@ -48,92 +52,11 @@ private String grade; @ApiModelProperty("时间戳") - private LocalDateTime ts; + private Date ts; @ApiModelProperty("操作人姓名") private String operator; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getDevcode() { - return devcode; - } - - public void setDevcode(String devcode) { - this.devcode = devcode; - } - - public Float getHighvalue() { - return highvalue; - } - - public void setHighvalue(Float highvalue) { - this.highvalue = highvalue; - } - - public Float getLowvalue() { - return lowvalue; - } - - public void setLowvalue(Float lowvalue) { - this.lowvalue = lowvalue; - } - - public Float getOvertime() { - return overtime; - } - - public void setOvertime(Float overtime) { - this.overtime = overtime; - } - - public Float getSaltation() { - return saltation; - } - - public void setSaltation(Float saltation) { - this.saltation = saltation; - } - - public String getSensorcode() { - return sensorcode; - } - - public void setSensorcode(String sensorcode) { - this.sensorcode = sensorcode; - } - - public String getGrade() { - return grade; - } - - public void setGrade(String grade) { - this.grade = grade; - } - - public LocalDateTime getTs() { - return ts; - } - - public void setTs(LocalDateTime ts) { - this.ts = ts; - } - - public String getOperator() { - return operator; - } - - public void setOperator(String operator) { - this.operator = operator; - } - @Override public String toString() { return "AlarmRule{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java new file mode 100644 index 0000000..dd62133 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceModels.java @@ -0,0 +1,49 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + *

+ * 设备型号表 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Data +@TableName("base_device_models") +@ApiModel(value = "BaseDeviceModels对象", description = "设备型号表") +public class BaseDeviceModels implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("型号名称") + private String modelName; + + @ApiModelProperty("设备类型主键") + private Long deviceType; + + @ApiModelProperty("通信方式(0:LORA,1:3G,2:4G,3:联通移动NB,4:电信NB)") + private String communication; + + + @Override + public String toString() { + return "BaseDeviceModels{" + + "id=" + id + + ", modelName=" + modelName + + ", deviceType=" + deviceType + + ", communication=" + communication + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java index 892bd64..aa7b1f9 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BaseDeviceType.java @@ -6,6 +6,7 @@ import java.io.Serializable; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -15,6 +16,7 @@ * @author zt * @since 2024-03-08 */ +@Data @TableName("base_device_type") @ApiModel(value = "BaseDeviceType对象", description = "设备类型表") public class BaseDeviceType implements Serializable { @@ -52,87 +54,6 @@ @ApiModelProperty("数据展示配置,json串") private String dataConfig; - - public Long getId() { - return id; - } - - public void setId(Long id) { - this.id = id; - } - - public String getTypeName() { - return typeName; - } - - public void setTypeName(String typeName) { - this.typeName = typeName; - } - - public String getTypeDescription() { - return typeDescription; - } - - public void setTypeDescription(String typeDescription) { - this.typeDescription = typeDescription; - } - - public String getValid() { - return valid; - } - - public void setValid(String valid) { - this.valid = valid; - } - - public String getWatchType() { - return watchType; - } - - public void setWatchType(String watchType) { - this.watchType = watchType; - } - - public String getIsNoConcent() { - return isNoConcent; - } - - public void setIsNoConcent(String isNoConcent) { - this.isNoConcent = isNoConcent; - } - - public String getAlarmRuleType() { - return alarmRuleType; - } - - public void setAlarmRuleType(String alarmRuleType) { - this.alarmRuleType = alarmRuleType; - } - - public String getAlarmRuleHighvalue() { - return alarmRuleHighvalue; - } - - public void setAlarmRuleHighvalue(String alarmRuleHighvalue) { - this.alarmRuleHighvalue = alarmRuleHighvalue; - } - - public String getAlarmRuleLowvalue() { - return alarmRuleLowvalue; - } - - public void setAlarmRuleLowvalue(String alarmRuleLowvalue) { - this.alarmRuleLowvalue = alarmRuleLowvalue; - } - - public String getDataConfig() { - return dataConfig; - } - - public void setDataConfig(String dataConfig) { - this.dataConfig = dataConfig; - } - @Override public String toString() { return "BaseDeviceType{" + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java new file mode 100644 index 0000000..0bc0371 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusConfig.java @@ -0,0 +1,152 @@ +package com.casic.missiles.modular.system.model; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; +import java.time.LocalDateTime; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; + +/** + *

+ * 设备配置表 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@TableName("bus_config") +@ApiModel(value = "BusConfig对象", description = "设备配置表") +public class BusConfig implements Serializable { + + private static final long serialVersionUID = 1L; + + @ApiModelProperty("主键") + @TableId(value = "ID", type = IdType.AUTO) + private Long id; + + @ApiModelProperty("设备主键") + private Long deviceId; + + @ApiModelProperty("配置信息") + private String framecontent; + + @ApiModelProperty("传感器设备编号") + private String sensorid; + + @ApiModelProperty("传感器编号") + private String sensorcode; + + @ApiModelProperty("状态(0:下发中,1:已下发)") + private String status; + + @ApiModelProperty("最大尝试次数") + private Integer attemptsmax; + + @ApiModelProperty("当前尝试次数") + private Integer attemptscurrent; + + @ApiModelProperty("下发时间") + private LocalDateTime sendtime; + + @ApiModelProperty("界面配置时间") + private LocalDateTime writetime; + + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDeviceId() { + return deviceId; + } + + public void setDeviceId(Long deviceId) { + this.deviceId = deviceId; + } + + public String getFramecontent() { + return framecontent; + } + + public void setFramecontent(String framecontent) { + this.framecontent = framecontent; + } + + public String getSensorid() { + return sensorid; + } + + public void setSensorid(String sensorid) { + this.sensorid = sensorid; + } + + public String getSensorcode() { + return sensorcode; + } + + public void setSensorcode(String sensorcode) { + this.sensorcode = sensorcode; + } + + public String getStatus() { + return status; + } + + public void setStatus(String status) { + this.status = status; + } + + public Integer getAttemptsmax() { + return attemptsmax; + } + + public void setAttemptsmax(Integer attemptsmax) { + this.attemptsmax = attemptsmax; + } + + public Integer getAttemptscurrent() { + return attemptscurrent; + } + + public void setAttemptscurrent(Integer attemptscurrent) { + this.attemptscurrent = attemptscurrent; + } + + public LocalDateTime getSendtime() { + return sendtime; + } + + public void setSendtime(LocalDateTime sendtime) { + this.sendtime = sendtime; + } + + public LocalDateTime getWritetime() { + return writetime; + } + + public void setWritetime(LocalDateTime writetime) { + this.writetime = writetime; + } + + @Override + public String toString() { + return "BusConfig{" + + "id=" + id + + ", deviceId=" + deviceId + + ", framecontent=" + framecontent + + ", sensorid=" + sensorid + + ", sensorcode=" + sensorcode + + ", status=" + status + + ", attemptsmax=" + attemptsmax + + ", attemptscurrent=" + attemptscurrent + + ", sendtime=" + sendtime + + ", writetime=" + writetime + + "}"; + } +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java index 95141e9..5c886bf 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusDevice.java @@ -33,30 +33,28 @@ private Long id; @Pattern(regexp = "[A-Za-z0-9]{7,20}",message = "设备编号必须为7-20位字母或数字组合") - @ApiModelProperty("设备编号") + @ApiModelProperty(value = "设备编号",required = true) private String devcode; - @ApiModelProperty("设备名称") + @ApiModelProperty(value = "设备名称",required = true) private String deviceName; @ApiModelProperty("在线状态") private String onlineState; - @ApiModelProperty("设备类型") + @ApiModelProperty(value = "设备类型",required = true) private String deviceType; - private String signal; - @ApiModelProperty("是否有效") private String valid; - @ApiModelProperty("安装时间") + @ApiModelProperty(value = "安装时间",required = true) private Date installDate; @ApiModelProperty("最新状态时间") private Date logtime; - @ApiModelProperty("设备型号(关联型号表)") + @ApiModelProperty(value = "设备型号(关联型号表)",required = true) private Long version; @ApiModelProperty("安装高度") @@ -76,7 +74,6 @@ ", deviceName=" + deviceName + ", onlineState=" + onlineState + ", deviceType=" + deviceType + - ", signal=" + signal + ", valid=" + valid + ", installDate=" + installDate + ", logtime=" + logtime + diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java index ee1f8cc..0214256 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/model/BusWellWell.java @@ -1,10 +1,14 @@ package com.casic.missiles.modular.system.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; +import lombok.Data; /** *

@@ -14,6 +18,7 @@ * @author zt * @since 2024-03-07 */ +@Data @TableName("bus_well_well") @ApiModel(value = "BusWellWell对象", description = "点位关联表") public class BusWellWell implements Serializable { @@ -23,80 +28,32 @@ @ApiModelProperty("主键id") private Long id; - @ApiModelProperty("点位1id") + @ApiModelProperty(value = "点位1id",required = true) private Long wellId1; - @ApiModelProperty("点位2id") + @ApiModelProperty(value = "点位2id",required = true) private Long wellId2; - @ApiModelProperty("距离") + @ApiModelProperty(value = "距离") private String distance; - @ApiModelProperty("材质") + @ApiModelProperty(value = "材质") private String pipelineMaterial; @ApiModelProperty("时间") - private LocalDateTime createTime; + private Date createTime; @ApiModelProperty("备注") private String description; + @ApiModelProperty("关联点位1编号") + @TableField(exist = false) + private String wellCode1; - public Long getId() { - return id; - } + @ApiModelProperty("关联点位2编号") + @TableField(exist = false) + private String wellCode2; - public void setId(Long id) { - this.id = id; - } - - public Long getWellId1() { - return wellId1; - } - - public void setWellId1(Long wellId1) { - this.wellId1 = wellId1; - } - - public Long getWellId2() { - return wellId2; - } - - public void setWellId2(Long wellId2) { - this.wellId2 = wellId2; - } - - public String getDistance() { - return distance; - } - - public void setDistance(String distance) { - this.distance = distance; - } - - public String getPipelineMaterial() { - return pipelineMaterial; - } - - public void setPipelineMaterial(String pipelineMaterial) { - this.pipelineMaterial = pipelineMaterial; - } - - public LocalDateTime getCreateTime() { - return createTime; - } - - public void setCreateTime(LocalDateTime createTime) { - this.createTime = createTime; - } - - public String getDescription() { - return description; - } - - public void setDescription(String description) { - this.description = description; - } @Override public String toString() { diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java index d374cb2..75ea7d3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IAlarmRuleService.java @@ -12,5 +12,6 @@ * @since 2024-03-06 */ public interface IAlarmRuleService extends IService { + void updateRule(String devCode,Float highValue,Float lowValue); } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java new file mode 100644 index 0000000..bd0f20c --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBaseDeviceModelsService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备型号表 服务类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +public interface IBaseDeviceModelsService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java new file mode 100644 index 0000000..7519161 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusConfigService.java @@ -0,0 +1,16 @@ +package com.casic.missiles.modular.system.service; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 设备配置表 服务类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +public interface IBusConfigService extends IService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java index f6048b3..65cc0e3 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusDeviceService.java @@ -1,6 +1,9 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.model.response.ResponseData; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.model.BusDevice; import com.baomidou.mybatisplus.extension.service.IService; @@ -15,7 +18,22 @@ * @since 2024-03-06 */ public interface IBusDeviceService extends IService { + boolean addDevice(BusDevice device); + boolean batchDeletes(List ids); + /** + * 根据条件分页查询设备列表 + * + * @param dataScope 数据权限集合 + * @param deviceType 设备类型 + * @param deptid 组织ID + * @param beginTime 设备安装开始时间 + * @param endTime 设备安装结束时间 + * @return 设备列表 + */ + List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, + String beginTime, String endTime, String keywords, String isOnline); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java index ce53a37..961e657 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/IBusWellWellService.java @@ -1,8 +1,12 @@ package com.casic.missiles.modular.system.service; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** *

* 点位关联表 服务类 @@ -13,4 +17,6 @@ */ public interface IBusWellWellService extends IService { + List selectDataScopePage(DataScope dataScope, Page page, String keyWords); + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java index 71ef4a1..6d3813a 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/AlarmRuleServiceImpl.java @@ -1,11 +1,17 @@ package com.casic.missiles.modular.system.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.casic.missiles.core.application.context.AbstractPermissionContext; import com.casic.missiles.modular.system.model.AlarmRule; import com.casic.missiles.modular.system.dao.AlarmRuleMapper; import com.casic.missiles.modular.system.service.IAlarmRuleService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + /** *

* 报警规则表 服务实现类 @@ -17,4 +23,31 @@ @Service public class AlarmRuleServiceImpl extends ServiceImpl implements IAlarmRuleService { + + @Resource + private AbstractPermissionContext permissionService; + + @Override + public void updateRule(String devCode, Float highValue, Float lowValue) { + List deviceRuleList = getDeviceRuleListByDevCode(devCode); + deviceRuleList.forEach(deviceRule -> { + this.removeById(deviceRule.getId()); + }); + AlarmRule deviceRule = new AlarmRule(); + deviceRule.setDevcode(devCode); + deviceRule.setHighvalue(highValue); + deviceRule.setLowvalue(lowValue); + //噪声传感器编码 + deviceRule.setSensorcode("000034"); + deviceRule.setTs(new Date()); + deviceRule.setOperator(permissionService.getAuthService().getLoginUser().getAccount()); + this.baseMapper.insert(deviceRule); + } + + + public List getDeviceRuleListByDevCode(String devCode) { + QueryWrapper deviceRuleEntityWrapper = new QueryWrapper<>(); + deviceRuleEntityWrapper.eq("DEVCODE", devCode); + return this.baseMapper.selectList(deviceRuleEntityWrapper); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java new file mode 100644 index 0000000..2c37781 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BaseDeviceModelsServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BaseDeviceModels; +import com.casic.missiles.modular.system.dao.BaseDeviceModelsMapper; +import com.casic.missiles.modular.system.service.IBaseDeviceModelsService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备型号表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-13 + */ +@Service +public class BaseDeviceModelsServiceImpl extends ServiceImpl implements IBaseDeviceModelsService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java new file mode 100644 index 0000000..2a0dac8 --- /dev/null +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusConfigServiceImpl.java @@ -0,0 +1,20 @@ +package com.casic.missiles.modular.system.service.impl; + +import com.casic.missiles.modular.system.model.BusConfig; +import com.casic.missiles.modular.system.dao.BusConfigMapper; +import com.casic.missiles.modular.system.service.IBusConfigService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 设备配置表 服务实现类 + *

+ * + * @author zt + * @since 2024-03-11 + */ +@Service +public class BusConfigServiceImpl extends ServiceImpl implements IBusConfigService { + +} diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java index a7993b1..976478b 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusDeviceServiceImpl.java @@ -1,9 +1,14 @@ package com.casic.missiles.modular.system.service.impl; import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.constant.DeviceConst; import com.casic.missiles.modular.system.dao.BusDeviceMapper; +import com.casic.missiles.modular.system.dto.DeviceDto; import com.casic.missiles.modular.system.dto.DeviceWellDto; import com.casic.missiles.modular.system.enums.BusinessExceptionEnum; import com.casic.missiles.modular.system.exception.BusinessException; @@ -66,7 +71,7 @@ deviceWellService.save(createDeviceWell(entity.getId(), wellDto.getWellId())); } catch (DataAccessException dax) { log.error("主题:设备信息新增异常,设备编号:{},异常信息:{}", entity.getDevcode(), dax); - throw new BusinessException(2001, dax.getMessage().contains("违反唯一约束") && dax.getMessage().contains("devcode") ? "设备编号重复" : "新增异常"); + throw new BusinessException(2001, dax.getMessage().contains("DEVCODE") ? "设备编号重复" : "新增异常"); } return true; } @@ -93,4 +98,15 @@ this.baseMapper.logicDelete(id, new Date().getTime()); } + + + @Override + public List selectDataScopePage(DataScope dataScope, Page page, String deviceType, String deptid, String beginTime, String endTime, String keywords, String isOnline) { + List deviceDtoList = this.baseMapper.selectDataScopePage(dataScope, page, Long.valueOf(StrUtil.isEmpty(deviceType) ? "-1" : deviceType), Long.valueOf(StrUtil.isEmpty(deptid) ? "-1" : deptid), beginTime, endTime, keywords, isOnline); + deviceDtoList.forEach( + deviceDto -> deviceDto.setOnlineState(ObjectUtils.isEmpty(deviceDto.getOnlineState()) || deviceDto.getOnlineState().equals("0") ? "0" : "1") + ); + return deviceDtoList; + } + } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellWellServiceImpl.java b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellWellServiceImpl.java index defb2fa..4c57c10 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellWellServiceImpl.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/service/impl/BusWellWellServiceImpl.java @@ -1,11 +1,17 @@ package com.casic.missiles.modular.system.service.impl; +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.casic.missiles.core.datascope.DataScope; import com.casic.missiles.modular.system.model.BusWellWell; import com.casic.missiles.modular.system.dao.BusWellWellMapper; import com.casic.missiles.modular.system.service.IBusWellWellService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** *

* 点位关联表 服务实现类 @@ -17,4 +23,9 @@ @Service public class BusWellWellServiceImpl extends ServiceImpl implements IBusWellWellService { + + @Override + public List selectDataScopePage(DataScope dataScope, Page page, String keyWords) { + return this.baseMapper.selectDataScopePage(dataScope,page,keyWords); + } } diff --git a/casic-server/src/main/java/com/casic/missiles/modular/system/util/GeneratorCodeUtil.java b/casic-server/src/main/java/com/casic/missiles/modular/system/util/GeneratorCodeUtil.java index 41e3c52..bf53453 100644 --- a/casic-server/src/main/java/com/casic/missiles/modular/system/util/GeneratorCodeUtil.java +++ b/casic-server/src/main/java/com/casic/missiles/modular/system/util/GeneratorCodeUtil.java @@ -38,8 +38,7 @@ .controller("controller"); // 设置mapperXml生成路径 }) .strategyConfig(builder -> { - builder - .addInclude("bus_device_well"); // 设置需要生成的表名 + builder.addInclude("base_device_models"); // 设置需要生成的表名 // .addTablePrefix("blog_", "c_"); // 设置过滤表前缀 }) // .templateEngine(new FreemarkerTemplateEngine()) // 使用Freemarker引擎模板,默认的是Velocity引擎模板