package com.ruoyi.statistical.controller;
|
|
import com.ruoyi.statistical.param.ESParam;
|
import com.ruoyi.statistical.service.StatisticalService;
|
import com.ruoyi.statistical.vo.NumVo;
|
import com.ruoyi.utils.result.Results;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import org.springframework.web.bind.annotation.*;
|
|
import javax.annotation.Resource;
|
import java.time.LocalDate;
|
import java.util.Calendar;
|
import java.util.Map;
|
|
/**
|
* @author Administrator
|
*/
|
@RestController
|
@RequestMapping("statistical")
|
@Api(tags = "数据统计")
|
public class StatisticalController {
|
|
@Resource
|
private StatisticalService statisticalService;
|
|
/**
|
* 厂区介绍存储
|
*/
|
@ApiOperation("厂区介绍存储")
|
@PostMapping("factory/save")
|
public Results factorySave(@RequestBody Map<String,String> map){
|
return statisticalService.factorySave(map);
|
}
|
|
/**
|
* 厂区介绍查询
|
*/
|
@ApiOperation("厂区介绍查询")
|
@GetMapping("factory/select")
|
public Results factorySelect(){
|
return statisticalService.factorySelect();
|
}
|
|
/**
|
* 报警数量分析年
|
*/
|
@ApiOperation("报警数量分析年")
|
@GetMapping("alarm/year")
|
public Results alarmYear(String type){
|
LocalDate today = LocalDate.now();
|
int year = today.getYear();
|
ESParam esParam = new ESParam();
|
esParam.setStart(year+"-01-01");
|
esParam.setEnd(year+"-12-31");
|
if("1001".equals(type)){
|
//盗电报警
|
return Results.succeed(statisticalService.stealelecYear(esParam));
|
}else if("1002".equals(type)){
|
//通用光电
|
return Results.succeed(statisticalService.cameraYear(esParam));
|
}else if("1003".equals(type)){
|
//雷达报警
|
return Results.succeed(statisticalService.moveYear(esParam));
|
}else if("1004".equals(type)){
|
//防火报警
|
return Results.succeed(statisticalService.fireYear(esParam));
|
}else if("1005".equals(type)){
|
//外联报警
|
return Results.succeed(statisticalService.externalYear(esParam));
|
}else if("1006".equals(type)){
|
//门禁报警
|
return Results.succeed(statisticalService.accessYear(esParam));
|
}else if("1007".equals(type)){
|
//移动终端
|
return Results.succeed(statisticalService.apponekeyYear(esParam));
|
}else if("1008".equals(type)){
|
//移动终端
|
return Results.succeed(statisticalService.pumpYear(esParam));
|
}else if("1010".equals(type)){
|
//电子围栏
|
return Results.succeed(statisticalService.wallYear(esParam));
|
}else if("1012".equals(type)){
|
//预警告警
|
return Results.succeed(statisticalService.digitizationYear(esParam));
|
}else if("1014".equals(type)){
|
//管线泄漏
|
return Results.succeed(statisticalService.tubeYear(esParam));
|
}
|
return Results.succeed();
|
}
|
|
/**
|
* 报警数量分析月
|
*/
|
@ApiOperation("报警数量分析月")
|
@GetMapping("alarm/month")
|
public Results alarmMonth(String month,String type){
|
LocalDate today = LocalDate.now();
|
int year = today.getYear();
|
int day = getDaysInMonth(Integer.valueOf(month),year);
|
ESParam esParam = new ESParam();
|
esParam.setStart(year+"-"+month+"-01");
|
esParam.setEnd(year+"-"+month+"-"+day);
|
if("1001".equals(type)){
|
//盗电报警
|
return Results.succeed(statisticalService.stealelecMonth(esParam));
|
}else if("1002".equals(type)){
|
//通用光电
|
return Results.succeed(statisticalService.cameraMonth(esParam));
|
}else if("1003".equals(type)){
|
//雷达报警
|
return Results.succeed(statisticalService.moveMonth(esParam));
|
}else if("1004".equals(type)){
|
//防火报警
|
return Results.succeed(statisticalService.fireMonth(esParam));
|
}else if("1005".equals(type)){
|
//外联报警
|
return Results.succeed(statisticalService.externalMonth(esParam));
|
}else if("1006".equals(type)){
|
//门禁报警
|
return Results.succeed(statisticalService.accessMonth(esParam));
|
}else if("1007".equals(type)){
|
//移动终端
|
return Results.succeed(statisticalService.apponekeyMonth(esParam));
|
}else if("1008".equals(type)){
|
//雷达停机
|
return Results.succeed(statisticalService.pumpMonth(esParam));
|
}else if("1010".equals(type)){
|
//电子围栏
|
return Results.succeed(statisticalService.wallMonth(esParam));
|
}else if("1012".equals(type)){
|
//预警告警
|
return Results.succeed(statisticalService.digitizationMonth(esParam));
|
}else if("1014".equals(type)){
|
//管线泄漏
|
return Results.succeed(statisticalService.tubeMonth(esParam));
|
}
|
return Results.succeed();
|
}
|
|
//返回每月天数
|
public int getDaysInMonth(int month, int year) {
|
switch (month) {
|
case Calendar.JANUARY:
|
case Calendar.MARCH:
|
case Calendar.MAY:
|
case Calendar.JULY:
|
case Calendar.AUGUST:
|
case Calendar.OCTOBER:
|
case Calendar.DECEMBER:
|
return 31;
|
case Calendar.APRIL:
|
case Calendar.JUNE:
|
case Calendar.SEPTEMBER:
|
case Calendar.NOVEMBER:
|
return 30;
|
case Calendar.FEBRUARY:
|
return ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) ? 29 : 28;
|
default:
|
throw new IllegalArgumentException("Invalid Month");
|
}
|
}
|
|
/**
|
* 在线设备数
|
*/
|
@ApiOperation("在线设备数")
|
@GetMapping("unit")
|
public Results unit(){
|
return Results.succeed(statisticalService.unit());
|
}
|
|
/**
|
* 报警数量
|
*/
|
@ApiOperation("报警数量")
|
@GetMapping("alarm/num")
|
public Results num(){
|
NumVo numVo = new NumVo();
|
numVo.setStealelec(statisticalService.stealelecNum());
|
numVo.setCamera(statisticalService.cameraNum());
|
numVo.setMove(statisticalService.moveNum());
|
numVo.setFire(statisticalService.fireNum());
|
numVo.setExternal(statisticalService.externalNum());
|
numVo.setAccess(statisticalService.accessNum());
|
numVo.setApponekey(statisticalService.apponekeyNum());
|
numVo.setPump(statisticalService.pumpNum());
|
numVo.setWall(statisticalService.wallNum());
|
numVo.setDigitization(statisticalService.digitizationNum());
|
numVo.setTube(statisticalService.tubeNum());
|
return Results.succeed(numVo);
|
}
|
|
}
|