123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165 |
- package com.szwl.controller;
- import cn.com.crbank.ommo.bean.ResultMessage;
- import com.alibaba.fastjson.JSONObject;
- import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
- import com.baomidou.mybatisplus.core.metadata.IPage;
- import com.baomidou.mybatisplus.core.toolkit.Wrappers;
- import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
- import com.szwl.constant.ResponseCodesEnum;
- import com.szwl.model.bo.R;
- import com.szwl.model.bo.ResponseModel;
- import com.szwl.model.entity.*;
- import com.szwl.model.utils.PushUtils;
- import com.szwl.service.TAdminService;
- import com.szwl.service.TAlarmRecordService;
- import com.szwl.service.TEquipmentService;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import org.apache.commons.lang.StringUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.http.HttpStatus;
- import org.springframework.http.ResponseEntity;
- import org.springframework.web.bind.annotation.*;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import java.util.stream.Collectors;
- /**
- * <p>
- * 报警信息 前端控制器
- * </p>
- *
- * @author wuhs
- * @since 2022-04-27
- */
- @Api(value = "/tAlarmRecord", tags = {"报警信息"})
- @RestController
- @RequestMapping("/tAlarmRecord")
- public class TAlarmRecordController {
- @Autowired
- TEquipmentService tEquipmentService;
- @Autowired
- TAlarmRecordService tAlarmRecordService;
- @Autowired
- TAdminService adminService;
- @ApiOperation(value = "消除报警")
- @PostMapping("/eliminate")
- public ResponseEntity<?> eliminate(@RequestBody TAlarmRecord param){
- TAlarmRecord tAlarmRecord = tAlarmRecordService.getById(param.getId());
- TEquipment equipment = tEquipmentService.getById(tAlarmRecord.getEquipmentId());
- JSONObject kindData = new JSONObject();
- kindData.put("id" , param.getId());
- kindData.put("content" , tAlarmRecord.getAlarmContent());
- tEquipmentService.sentMessage(equipment.getClientId(), PushUtils.buildJson("eliminate", kindData.toString()).toString());
- return ResponseEntity.status(HttpStatus.OK)
- .body(new ResultMessage().setCode(true).setData("0").setMessage("已发送"));
- }
- @ApiOperation(value = "获取分销信息列表 分页")
- @GetMapping("/pageAlarmRecord")
- public ResponseModel<IPage<?>> pageAlarmRecord(String adminId, String clientId, String name, Date startDate,Date endDate, long current, long size ) {
- TAdmin admin = adminService.getById(adminId);
- if(StringUtils.isEmpty(adminId)){
- return R.fail(ResponseCodesEnum.A0100);
- }
- LambdaQueryWrapper<TAlarmRecord> query = Wrappers.lambdaQuery();
- if(admin.getType()>1){
- query.eq(TAlarmRecord::getAdminId,admin.getId());
- }
- // 申泽平台管理员
- if (admin.getId() == 2738) {
- LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
- adminQuery.isNull(TAdmin::getCompanyType).or()
- .eq(TAdmin::getCompanyType, "0");
- List<Long> adminIds = adminService.list(adminQuery).stream()
- .map(TAdmin::getId).collect(Collectors.toList());
- query.in(TAlarmRecord::getAdminId,adminIds);
- }
- // 七云平台管理员
- if (admin.getId() == 2739) {
- LambdaQueryWrapper<TAdmin> adminQuery = Wrappers.lambdaQuery();
- adminQuery.eq(TAdmin::getCompanyType, "1");
- List<Long> adminIds = adminService.list(adminQuery).stream()
- .map(TAdmin::getId).collect(Collectors.toList());
- query.in(TAlarmRecord::getAdminId,adminIds);
- }
- if(StringUtils.isNotEmpty(clientId)){
- LambdaQueryWrapper<TEquipment> query1 = Wrappers.lambdaQuery();
- query1.like(TEquipment::getClientId,clientId);
- TEquipment equipment = tEquipmentService.getOnly(query1);
- if(admin.getType()>1){
- if(equipment.getAdminId().toString().equals(adminId)){
- query.eq(TAlarmRecord::getClientId,equipment.getClientId());
- }else {
- return R.fail("设备编号出错");
- }
- }else {
- query.like(TAlarmRecord::getClientId,clientId);
- }
- }
- if(StringUtils.isNotEmpty(name)){
- query.like(TAlarmRecord::getName,name);
- }
- if(startDate!=null){
- query.gt(TAlarmRecord::getOccurrenceTime,startDate);
- }
- if(endDate!=null){
- query.lt(TAlarmRecord::getOccurrenceTime,endDate);
- }
- query.orderByDesc(TAlarmRecord::getOccurrenceTime);
- Page<TAlarmRecord> page = new Page<>(current, size, true);
- IPage<TAlarmRecord> iPage = tAlarmRecordService.page(page, query);
- return R.ok(iPage);
- }
- @ApiOperation(value = "查询今天是否有报警")
- @GetMapping("/isAlarm")
- public ResponseModel<?> isAlarm(Long adminId, String todayDate){
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- Date date = null;
- try {
- date = sdf.parse(todayDate);
- } catch (ParseException e) {
- e.printStackTrace();
- }
- Calendar calendar = new GregorianCalendar();
- Calendar calendarEnd = new GregorianCalendar();
- calendar.setTime(date);
- calendarEnd.setTime(date);
- calendar.set(Calendar.HOUR_OF_DAY, 0);
- calendar.set(Calendar.MINUTE, 0);
- calendar.set(Calendar.SECOND, 0);
- calendar.set(Calendar.MILLISECOND, 0);
- calendarEnd.set(Calendar.HOUR_OF_DAY, 23);
- calendarEnd.set(Calendar.MINUTE, 59);
- calendarEnd.set(Calendar.SECOND, 59);
- calendarEnd.set(Calendar.MILLISECOND, 999);
- Date dateStart = calendar.getTime();
- Date dateEnd = calendarEnd.getTime();
- LambdaQueryWrapper<TAlarmRecord> tAlarmRecord = new LambdaQueryWrapper<>();
- tAlarmRecord.eq(TAlarmRecord::getAdminId, adminId);
- tAlarmRecord.eq(TAlarmRecord::getIsEliminate, 0);
- tAlarmRecord.gt(TAlarmRecord::getOccurrenceTime, dateStart);
- tAlarmRecord.le(TAlarmRecord::getOccurrenceTime, dateEnd);
- tAlarmRecord.orderByAsc(TAlarmRecord::getOccurrenceTime);
- List<TAlarmRecord> list = tAlarmRecordService.list(tAlarmRecord);
- if (list.size() > 0) {
- Map<Long, TAlarmRecord> latestRecordsMap = new HashMap<>();
- for (TAlarmRecord alarmRecord : list) {
- latestRecordsMap.put(alarmRecord.getEquipmentId(), alarmRecord);
- }
- list = new ArrayList<>(latestRecordsMap.values());
- return R.ok(list);
- }
- return R.ok();
- }
- }
|