|
@@ -0,0 +1,172 @@
|
|
|
+package com.usky.dm.controller.web;
|
|
|
+
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.usky.common.core.bean.ApiResult;
|
|
|
+import com.usky.common.core.bean.CommonPage;
|
|
|
+import com.usky.common.core.util.StringUtils;
|
|
|
+import com.usky.common.security.utils.SecurityUtils;
|
|
|
+import com.usky.dm.domain.TbAlarm;
|
|
|
+import com.usky.dm.domain.WorkOrder;
|
|
|
+import com.usky.dm.mapper.vo.AlertRequest;
|
|
|
+import com.usky.dm.service.TbAlarmService;
|
|
|
+import com.usky.dm.service.WorkOrderService;
|
|
|
+import com.usky.dm.service.enums.WorkOrderType;
|
|
|
+import com.usky.dm.service.vo.AlertCheckVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 设备告警表
|
|
|
+ *
|
|
|
+ * @author ya
|
|
|
+ * @since 2022-02-28
|
|
|
+ */
|
|
|
+@RestController
|
|
|
+@RequestMapping("/tbAlarm")
|
|
|
+public class TbAlarmController {
|
|
|
+
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private TbAlarmService tbAlarmService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private WorkOrderService workOrderService;
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 告警统计
|
|
|
+ * @param alertRequest
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("collect")
|
|
|
+ public ApiResult<AlertCheckVO> getCollect(@RequestBody AlertRequest alertRequest){
|
|
|
+ return ApiResult.success(tbAlarmService.selectCollect(alertRequest));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 记录查询
|
|
|
+ * @param alertRequest
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("page")
|
|
|
+ public ApiResult<CommonPage<TbAlarm>> page(@RequestBody AlertRequest alertRequest){
|
|
|
+ return ApiResult.success(tbAlarmService.page(alertRequest));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导出记录
|
|
|
+ * @param alertRequest
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("export")
|
|
|
+ public ApiResult<String> export(@RequestBody AlertRequest alertRequest){
|
|
|
+ return ApiResult.success(tbAlarmService.export(alertRequest));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 图表汇总
|
|
|
+ * @param alertRequest
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("collectIco")
|
|
|
+ public ApiResult<List<Map<String,Object>>> getCollectIco(@RequestBody AlertRequest alertRequest){
|
|
|
+ return ApiResult.success(tbAlarmService.getCollectIco(alertRequest));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 图表汇总详情
|
|
|
+ * @param alertRequest
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping("collectIcoDetail")
|
|
|
+ public ApiResult<List<Map<String,Object>>> getCollectIcoDetail(@RequestBody AlertRequest alertRequest){
|
|
|
+ return ApiResult.success(tbAlarmService.getCollectIcoDetail(alertRequest));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 单个处理告警
|
|
|
+ * @param tbAlarm
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PutMapping("/checkWorkOrder")
|
|
|
+ public ApiResult<Void> checkAlert(@RequestBody TbAlarm tbAlarm){
|
|
|
+ tbAlarm.setUpdateTime(new Date());
|
|
|
+ tbAlarm.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ WorkOrder workOrder = new WorkOrder();
|
|
|
+ workOrder.setBusinessId(tbAlarm.getId().toString());
|
|
|
+ workOrder.setWorkOrderType(WorkOrderType.FIRE_ALERT.getCode());
|
|
|
+ workOrder.setClnr(tbAlarm.getCheckContent());
|
|
|
+ workOrderService.checkWorkOrder(workOrder,wo -> tbAlarmService.updateById(tbAlarm));
|
|
|
+ return ApiResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改记录
|
|
|
+ * @param tbAlarm
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PutMapping
|
|
|
+ public ApiResult<Boolean> update(@RequestBody @Validated TbAlarm tbAlarm){
|
|
|
+ tbAlarm.setUpdateTime(new Date());
|
|
|
+ tbAlarm.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ return ApiResult.success(tbAlarmService.updateById(tbAlarm));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量处理
|
|
|
+ * @param tbAlarm
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PutMapping("list")
|
|
|
+ public ApiResult<Boolean> updateList(@RequestBody @Validated TbAlarm tbAlarm){
|
|
|
+ tbAlarm.setUpdateTime(new Date());
|
|
|
+ tbAlarm.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ LambdaQueryWrapper<TbAlarm> query = Wrappers.lambdaQuery();
|
|
|
+ query.select(TbAlarm::getId)
|
|
|
+ .eq(StringUtils.isNotBlank(tbAlarm.getAddress()),TbAlarm::getAddress,tbAlarm.getAddress())
|
|
|
+ .isNull(StringUtils.isBlank(tbAlarm.getAddress()),TbAlarm::getAddress)
|
|
|
+ .eq(TbAlarm::getProperty,tbAlarm.getProperty())
|
|
|
+ .eq(TbAlarm::getDeviceId,tbAlarm.getDeviceId())
|
|
|
+ .eq(TbAlarm::getAlarmStatus,0);
|
|
|
+ List<TbAlarm> list = tbAlarmService.list(query);
|
|
|
+ for (TbAlarm tb:list) {
|
|
|
+ tb.setUpdateBy(SecurityUtils.getUsername());
|
|
|
+ tb.setUpdateTime(new Date());
|
|
|
+ tb.setIsAlarm(tbAlarm.getIsAlarm());
|
|
|
+ tb.setCheckContent(tbAlarm.getCheckContent());
|
|
|
+ tb.setAlarmStatus(tbAlarm.getAlarmStatus());
|
|
|
+ }
|
|
|
+ tbAlarmService.updateBatchById(list);
|
|
|
+ LambdaUpdateWrapper<WorkOrder> queryWrapper = Wrappers.lambdaUpdate();
|
|
|
+ queryWrapper
|
|
|
+ .set(WorkOrder::getClzt,1)
|
|
|
+ .set(WorkOrder::getCzTime,new Date())
|
|
|
+ .set(WorkOrder::getCzPeople,SecurityUtils.getUsername())
|
|
|
+ .set(WorkOrder::getClnr,tbAlarm.getCheckContent())
|
|
|
+ .in(WorkOrder::getBusinessId,list.stream().map(t -> t.getId().toString()).collect(Collectors.toList()));
|
|
|
+ return ApiResult.success(workOrderService.update(queryWrapper));
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查看详情
|
|
|
+ * @param id
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/{id}")
|
|
|
+ public ApiResult<TbAlarm> byId(@PathVariable("id") Long id){
|
|
|
+ return ApiResult.success(tbAlarmService.getById(id));
|
|
|
+ }
|
|
|
+}
|
|
|
+
|