bug修复
This commit is contained in:
parent
e3dddb82c8
commit
b166849d3f
@ -61,6 +61,7 @@ public class CompanyServiceImpl extends ServiceImpl<CompanyMapper, Company> impl
|
||||
|
||||
@Override
|
||||
public Map<String, Object> getCompanyType(Map<String, Object> map) {
|
||||
// companyType > 1总部,2区域,3城市,4一个项目,5项目部
|
||||
QueryWrapper<Company> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(Company::getCompanySn, MapUtils.getString(map, "sn"));
|
||||
Company tempCompany = companyMapper.selectOne(queryWrapper);
|
||||
|
||||
@ -1,18 +1,18 @@
|
||||
package com.zhgd.xmgl.modules.worker.entity;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
|
||||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
|
||||
import lombok.Data;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.jeecgframework.poi.excel.annotation.Excel;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
/**
|
||||
* @Description: 人脸设备
|
||||
* @author: pds
|
||||
@ -25,51 +25,75 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
public class UfaceDev implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**uface设备表*/
|
||||
/**
|
||||
* uface设备表
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@ApiModelProperty(value = "uface设备表")
|
||||
private java.lang.Long id;
|
||||
/**设备IP*/
|
||||
/**
|
||||
* 设备IP
|
||||
*/
|
||||
@Excel(name = "设备IP", width = 15)
|
||||
@ApiModelProperty(value = "设备IP")
|
||||
private java.lang.String devIp;
|
||||
/**设备端口*/
|
||||
/**
|
||||
* 设备端口
|
||||
*/
|
||||
@Excel(name = "设备端口", width = 15)
|
||||
@ApiModelProperty(value = "设备端口")
|
||||
private java.lang.String devPort;
|
||||
/**设备唯一标识*/
|
||||
/**
|
||||
* 设备唯一标识
|
||||
*/
|
||||
@Excel(name = "设备唯一标识", width = 15)
|
||||
@ApiModelProperty(value = "设备唯一标识")
|
||||
private java.lang.String devSn;
|
||||
/**设备密码*/
|
||||
/**
|
||||
* 设备密码
|
||||
*/
|
||||
@Excel(name = "设备密码", width = 15)
|
||||
@ApiModelProperty(value = "设备密码")
|
||||
private java.lang.String password;
|
||||
/**设备名称*/
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
@Excel(name = "设备名称", width = 15)
|
||||
@ApiModelProperty(value = "设备名称")
|
||||
private java.lang.String devName;
|
||||
/**项目sn*/
|
||||
/**
|
||||
* 项目sn
|
||||
*/
|
||||
@Excel(name = "项目sn", width = 15)
|
||||
@ApiModelProperty(value = "项目sn")
|
||||
private java.lang.String projectSn;
|
||||
/**是否启用通行进口,0否,1是*/
|
||||
/**
|
||||
* 是否启用通行进口,0否,1是
|
||||
*/
|
||||
@Excel(name = "是否启用通行进口,0否,1是", width = 15)
|
||||
@ApiModelProperty(value = "是否启用通行进口,0否,1是")
|
||||
private java.lang.Integer isEnter;
|
||||
/**进时间段,0-23*/
|
||||
/**
|
||||
* 进时间段,0-23
|
||||
*/
|
||||
@Excel(name = "进时间段,0-23", width = 15)
|
||||
@ApiModelProperty(value = "进时间段,0-23")
|
||||
private java.lang.String enterTime;
|
||||
/**是否启用通行出口,0否,1是*/
|
||||
/**
|
||||
* 是否启用通行出口,0否,1是
|
||||
*/
|
||||
@Excel(name = "是否启用通行出口,0否,1是", width = 15)
|
||||
@ApiModelProperty(value = "是否启用通行出口,0否,1是")
|
||||
private java.lang.Integer isOut;
|
||||
/**出时间段,0-23*/
|
||||
/**
|
||||
* 出时间段,0-23
|
||||
*/
|
||||
@Excel(name = "出时间段,0-23", width = 15)
|
||||
@ApiModelProperty(value = "出时间段,0-23")
|
||||
private java.lang.String outTime;
|
||||
/**设备登录账号*/
|
||||
/**
|
||||
* 设备登录账号
|
||||
*/
|
||||
@Excel(name = "设备登录账号", width = 15)
|
||||
@ApiModelProperty(value = "设备登录账号")
|
||||
private java.lang.String loginAccount;
|
||||
@ -80,11 +104,15 @@ public class UfaceDev implements Serializable {
|
||||
@ApiModelProperty(value = "设备平台返回的Id")
|
||||
private java.lang.String deviceId;
|
||||
|
||||
/**地图X坐标*/
|
||||
/**
|
||||
* 地图X坐标
|
||||
*/
|
||||
@Excel(name = "地图X坐标", width = 15)
|
||||
@ApiModelProperty(value = "地图X坐标")
|
||||
private java.lang.String mapX;
|
||||
/**地图Y坐标*/
|
||||
/**
|
||||
* 地图Y坐标
|
||||
*/
|
||||
@Excel(name = "地图Y坐标", width = 15)
|
||||
@ApiModelProperty(value = "地图Y坐标")
|
||||
private java.lang.String mapY;
|
||||
@ -95,13 +123,21 @@ public class UfaceDev implements Serializable {
|
||||
@ApiModelProperty(value = "心跳时间,30分钟没接收到实时数据表示设备离线")
|
||||
private java.util.Date heartBeatTime;
|
||||
|
||||
/**创建时间*/
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Excel(name = "创建时间", width = 15)
|
||||
@ApiModelProperty(value = "创建时间")
|
||||
private java.lang.String createTime;
|
||||
|
||||
/**设备位置归属,1工地区,2生活区,3项目部*/
|
||||
/**
|
||||
* 设备位置归属,1工地区,2生活区,3项目部
|
||||
*/
|
||||
@Excel(name = "设备位置归属,1工地区,2生活区,3项目部", width = 15)
|
||||
@ApiModelProperty(value = "设备位置归属,1工地区,2生活区,3项目部")
|
||||
private java.lang.Integer devGroupType;
|
||||
|
||||
@ApiModelProperty(value = "设备状态1在线0离线")
|
||||
@TableField(exist = false)
|
||||
private java.lang.Integer devOnline;
|
||||
}
|
||||
|
||||
@ -4,10 +4,13 @@ import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.modules.worker.entity.UfaceDev;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
@ -33,4 +36,6 @@ public interface UfaceDevMapper extends BaseMapper<UfaceDev> {
|
||||
List<EntityMap> selectUfaceDevList(Map<String, Object> map);
|
||||
|
||||
HashMap<String, Object> countUfaceDevOnOffline(String projectSn);
|
||||
|
||||
List<UfaceDev> getUfaceDevList(@Param(Constants.WRAPPER) QueryWrapper<UfaceDev> qw);
|
||||
}
|
||||
|
||||
@ -2,21 +2,24 @@
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper">
|
||||
<update id="updateDevHeartBeat">
|
||||
UPDATE uface_dev SET heart_beat_time=now()
|
||||
UPDATE uface_dev
|
||||
SET heart_beat_time=now()
|
||||
WHERE dev_sn = #{deviceSerial}
|
||||
</update>
|
||||
|
||||
<select id="selectAllDevCount" resultType="java.util.Map">
|
||||
SELECT project_sn projectSn,COUNT(1) devNum,
|
||||
SUM((case when round((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(heart_beat_time))/60)<=30 then 1 else 0 end)) devOnline
|
||||
SELECT project_sn projectSn,
|
||||
COUNT(1) devNum,
|
||||
SUM((case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60) <= 30 then 1
|
||||
else 0 end)) devOnline
|
||||
FROM uface_dev
|
||||
GROUP BY project_sn
|
||||
</select>
|
||||
<select id="selectCompanyUfaceDevCountStatistics" resultType="java.util.Map">
|
||||
SELECT
|
||||
IFNULL(SUM(IFNULL(d.totalDev,0)),0) totalDev,
|
||||
IFNULL(SUM(IFNULL(d.devOnline,0)),0) devOnline,
|
||||
IFNULL(SUM(IFNULL(d.totalDev,0)),0)-IFNULL(SUM(IFNULL(d.devOnline,0)),0) devNotOnline
|
||||
SELECT IFNULL(SUM(IFNULL(d.totalDev, 0)), 0) totalDev
|
||||
, IFNULL(SUM(IFNULL(d.devOnline, 0)), 0) devOnline
|
||||
, IFNULL(SUM(IFNULL(d.totalDev, 0)), 0) - IFNULL(SUM(IFNULL(d.devOnline, 0)), 0) devNotOnline
|
||||
<if test="companyType == '1'.toString()">
|
||||
, a.company_name name
|
||||
</if>
|
||||
@ -32,16 +35,22 @@
|
||||
<if test="companyType == '5'.toString()">
|
||||
, c.project_name name
|
||||
</if>
|
||||
FROM company a LEFT JOIN company b ON b.parent_id=a.company_id
|
||||
FROM company a
|
||||
LEFT JOIN company b ON b.parent_id = a.company_id
|
||||
LEFT JOIN company cp ON b.company_id = cp.parent_id
|
||||
LEFT JOIN project c ON cp.company_sn = c.company_sn
|
||||
LEFT JOIN (SELECT project_sn,COUNT(1) totalDev,
|
||||
SUM((case when round((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(heart_beat_time))/60)<=30 then 1 else 0 end)) devOnline
|
||||
LEFT JOIN (SELECT project_sn,
|
||||
COUNT(1) totalDev,
|
||||
SUM((case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60) <=
|
||||
30 then 1
|
||||
else 0 end)) devOnline
|
||||
FROM uface_dev
|
||||
GROUP BY project_sn
|
||||
) d ON c.project_sn = d.project_sn
|
||||
<if test="companyType == '1'.toString()">
|
||||
WHERE a.headquarters_sn=#{sn} AND a.company_type=2
|
||||
WHERE a.headquarters_sn = #{sn}
|
||||
AND a.company_type = 2
|
||||
GROUP BY a.company_id
|
||||
</if>
|
||||
<if test="companyType == '2'.toString()">
|
||||
@ -62,7 +71,10 @@
|
||||
order by totalDev desc
|
||||
</select>
|
||||
<select id="selectUserUfaceDevList" resultType="com.zhgd.xmgl.modules.worker.entity.UfaceDev">
|
||||
select *,(case when round((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(heart_beat_time))/60)<=30 then 1 else 2 end) device_state
|
||||
select *,
|
||||
(case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60) <= 30 then 1
|
||||
else 2 end) device_state
|
||||
from uface_dev
|
||||
where project_sn = #{projectSn}
|
||||
<!--<if test="registerType == '2'.toString()">
|
||||
@ -85,23 +97,43 @@
|
||||
</if>
|
||||
</select>
|
||||
<select id="selectUfaceDevBySn" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
|
||||
select *,(case when round((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(heart_beat_time))/60)<=30 then 1 else 2 end) device_state
|
||||
select *,
|
||||
(case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60) <= 30 then 1
|
||||
else 2 end) device_state
|
||||
from uface_dev
|
||||
where project_sn=#{projectSn} and dev_sn=#{devSn}
|
||||
where project_sn = #{projectSn}
|
||||
and dev_sn = #{devSn}
|
||||
</select>
|
||||
|
||||
<select id="selectUfaceDevList" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
|
||||
select *,(case when round((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(heart_beat_time))/60)<=30 then 1 else 2 end) device_state
|
||||
select *,
|
||||
(case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60) <= 30 then 1
|
||||
else 2 end) device_state
|
||||
from uface_dev
|
||||
where project_sn = #{projectSn}
|
||||
</select>
|
||||
<select id="countUfaceDevOnOffline" resultType="java.util.HashMap">
|
||||
SELECT
|
||||
count(case when round((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(heart_beat_time))/60)<![CDATA[<=]]>30 then 1 else 0 end) as onlineNum,
|
||||
count(case when round((UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(heart_beat_time))/60)<![CDATA[>=]]>30 then 0 else 1 end) as offlineNum
|
||||
FROM
|
||||
`uface_dev`
|
||||
WHERE
|
||||
project_sn = #{sn}
|
||||
SELECT count(case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60)<![CDATA[ <=]]> 30
|
||||
then 1
|
||||
else 0 end) as onlineNum,
|
||||
count(case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60)<![CDATA[ >=]]> 30
|
||||
then 0
|
||||
else 1 end) as offlineNum
|
||||
FROM `uface_dev`
|
||||
WHERE project_sn = #{sn}
|
||||
</select>
|
||||
|
||||
<select id="getUfaceDevList" resultType="com.zhgd.xmgl.modules.worker.entity.UfaceDev">
|
||||
select ud.*,
|
||||
(case
|
||||
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(ud.heart_beat_time)) / 60) <= 30 then 1
|
||||
else 0 end)
|
||||
dev_online
|
||||
from uface_dev ud
|
||||
${ew.customSqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
@ -1,26 +1,24 @@
|
||||
package com.zhgd.xmgl.modules.worker.service.impl;
|
||||
|
||||
import com.baidubce.services.iotshc.model.deivce.DeviceInfo;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.zhgd.jeecg.common.api.vo.Result;
|
||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||
import com.zhgd.jeecg.common.mybatis.EntityMap;
|
||||
import com.zhgd.xmgl.async.AsyncWorker;
|
||||
import com.zhgd.xmgl.modules.project.entity.ProjectUfaceConfig;
|
||||
import com.zhgd.xmgl.modules.worker.entity.UfaceDev;
|
||||
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
|
||||
import com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper;
|
||||
import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService;
|
||||
import com.zhgd.xmgl.modules.worker.entity.UfaceDev;
|
||||
import com.zhgd.xmgl.modules.worker.mapper.UfaceDevMapper;
|
||||
import com.zhgd.xmgl.modules.worker.mapper.WorkerAttendanceMapper;
|
||||
import com.zhgd.xmgl.modules.worker.service.IUfaceDevService;
|
||||
import com.zhgd.xmgl.util.JxjNewUfaceDevUtil;
|
||||
import com.zhgd.xmgl.util.MessageUtil;
|
||||
import com.zhgd.xmgl.util.ReflectionUtil;
|
||||
import com.zhgd.xmgl.util.UniUbiUtil;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
@ -46,9 +44,10 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
||||
|
||||
@Override
|
||||
public List<UfaceDev> getUfaceDevList(Map<String, Object> map) {
|
||||
String alias = "ud.";
|
||||
QueryWrapper<UfaceDev> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getProjectSn, MapUtils.getString(map,"projectSn"));
|
||||
List<UfaceDev> list=ufaceDevMapper.selectList(qw);
|
||||
qw.eq(alias + ReflectionUtil.getFieldNameToUlc(UfaceDev::getProjectSn), MapUtils.getString(map, "projectSn"));
|
||||
List<UfaceDev> list = ufaceDevMapper.getUfaceDevList(qw);
|
||||
return list;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user