package com.zy.sc.manager.controller; import com.core.annotations.ManagerAuth; import com.core.common.Cools; import com.core.common.R; import com.zy.sc.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; import java.util.Optional; /** * Created by vincent on 2021/3/5 */ @RestController @RequestMapping("console") public class ConsoleController extends BaseController { @Autowired private JdbcTemplate jdbcTemplate; /** * 当天数据:select * from tableName where datediff(day, 字段名,getdate())=0 * 本周数据:select * from tableName where datediff(week, 字段名,getdate())=0 * 本月:select * from tableName where datediff(month, 字段名,getdate())=0 * 本季度:内select * from tableName where datediff(quarter, 字段名,getdate())=0 * 本年:select * from tableName where datediff(year, 字段名,getdate())=0 */ @RequestMapping(value = "/header/auth") @ManagerAuth public R header() { Long hostId = getHostId(); Integer logQtyDay = jdbcTemplate.queryForObject("select IFNULL(count(1), 0) from man_sensor_log where date(create_time) = curdate()".concat(hostId==null?"":" and host_id="+hostId), Integer.class); Integer logQty = jdbcTemplate.queryForObject("select IFNULL(count(1), 0) from man_sensor_log".concat(hostId==null?"":" where host_id="+hostId), Integer.class); Integer sensorQty = jdbcTemplate.queryForObject("SELECT COUNT(1) FROM man_sensor".concat(hostId==null?"":" where host_id="+hostId), Integer.class); Integer sensorOnlineQty0 = jdbcTemplate.queryForObject("SELECT IFNULL(count(1), 0) FROM man_sensor where SUBDATE(now(),interval 3 minute) < io_time AND sensor_type = 1".concat(hostId==null?"":" and host_id="+hostId), Integer.class); Integer sensorOnlineQty1 = jdbcTemplate.queryForObject("SELECT IFNULL(COUNT(1), 0) FROM (SELECT DISTINCT sensor_id FROM man_sensor_log WHERE 1=1 AND sensor_type > 1 AND create_time >= NOW() - INTERVAL 24 HOUR".concat(hostId==null?"":" and host_id="+hostId) + ") a", Integer.class); int sensorOnlineQty = Optional.ofNullable(sensorOnlineQty0).orElse(0) + Optional.ofNullable(sensorOnlineQty1).orElse(0); Integer commandQty = jdbcTemplate.queryForObject("select COUNT(1) from man_command_log".concat(hostId==null?"":" where host_id="+hostId), Integer.class); Integer commandQtyMonth = jdbcTemplate.queryForObject("select COUNT(1) from man_command_log where DATE_SUB(CURDATE(), INTERVAL 1 MONTH) <= date(send_time)".concat(hostId==null?"":" and host_id="+hostId), Integer.class); Integer usersQty = jdbcTemplate.queryForObject("select count(*) from sys_user".concat(hostId==null?"":" where host_id="+hostId), Integer.class); Integer deptQty = jdbcTemplate.queryForObject("select count(*) from sys_dept", Integer.class); Integer optQty = jdbcTemplate.queryForObject("select count(*) from sys_operate_log", Integer.class); return R.ok().add(Cools .add("logQtyDay", Optional.ofNullable(logQtyDay).orElse(0)) // 组托数量(当天) .add("logQty", Optional.ofNullable(logQty).orElse(0)) // 组托数量 .add("sensorQty", Optional.ofNullable(sensorQty).orElse(0)) // 物料数量 .add("sensorOnlineQty", sensorOnlineQty) // 货位数量 .add("commandQty", Optional.ofNullable(commandQty).orElse(0)) // 总出库单数 .add("commandQtyMonth", Optional.ofNullable(commandQtyMonth).orElse(0)) // 出库单数(当月) .add("usersQty", Optional.ofNullable(usersQty).orElse(0)) // 用户数量 .add("deptQty", Optional.ofNullable(deptQty).orElse(0)) // 部门数量 .add("optQty", Optional.ofNullable(optQty).orElse(0)) // 操作次数 ); } @RequestMapping(value = "/body/auth") @ManagerAuth public R body() { Long hostId = getHostId(); // 报警记录 List> warnList = jdbcTemplate.queryForList("" + "SELECT \n" + "mst.name AS sensorType,\n" + "ma.sensor_uuid AS UUID,\n" + "ma.create_time AS createTime,\n" + "ma.desc AS msg\n" + "FROM man_alarm ma\n" + "LEFT JOIN man_sensor_type mst ON ma.sensor_type = mst.id\n" + "WHERE 1=1".concat(hostId==null?"":" and ma.host_id="+hostId) + " \n" + "ORDER BY ma.create_time DESC \n" + "LIMIT 0, 4"); for (int i=0;i