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,107 +1,143 @@
|
||||
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
|
||||
* @date: 2020-09-23
|
||||
* @date: 2020-09-23
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Data
|
||||
@TableName("uface_dev")
|
||||
@ApiModel(value="UfaceDev实体类",description="UfaceDev")
|
||||
@ApiModel(value = "UfaceDev实体类", description = "UfaceDev")
|
||||
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*/
|
||||
@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*/
|
||||
@Excel(name = "项目sn", width = 15)
|
||||
@ApiModelProperty(value="项目sn")
|
||||
private java.lang.String projectSn ;
|
||||
/**是否启用通行进口,0否,1是*/
|
||||
@Excel(name = "是否启用通行进口,0否,1是", width = 15)
|
||||
@ApiModelProperty(value="是否启用通行进口,0否,1是")
|
||||
private java.lang.Integer isEnter ;
|
||||
/**进时间段,0-23*/
|
||||
@Excel(name = "进时间段,0-23", width = 15)
|
||||
@ApiModelProperty(value="进时间段,0-23")
|
||||
private java.lang.String enterTime ;
|
||||
/**是否启用通行出口,0否,1是*/
|
||||
@Excel(name = "是否启用通行出口,0否,1是", width = 15)
|
||||
@ApiModelProperty(value="是否启用通行出口,0否,1是")
|
||||
private java.lang.Integer isOut ;
|
||||
/**出时间段,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 ;
|
||||
@ApiModelProperty(value = "uface设备表")
|
||||
private java.lang.Long id;
|
||||
/**
|
||||
* 设备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
|
||||
*/
|
||||
@Excel(name = "项目sn", width = 15)
|
||||
@ApiModelProperty(value = "项目sn")
|
||||
private java.lang.String projectSn;
|
||||
/**
|
||||
* 是否启用通行进口,0否,1是
|
||||
*/
|
||||
@Excel(name = "是否启用通行进口,0否,1是", width = 15)
|
||||
@ApiModelProperty(value = "是否启用通行进口,0否,1是")
|
||||
private java.lang.Integer isEnter;
|
||||
/**
|
||||
* 进时间段,0-23
|
||||
*/
|
||||
@Excel(name = "进时间段,0-23", width = 15)
|
||||
@ApiModelProperty(value = "进时间段,0-23")
|
||||
private java.lang.String enterTime;
|
||||
/**
|
||||
* 是否启用通行出口,0否,1是
|
||||
*/
|
||||
@Excel(name = "是否启用通行出口,0否,1是", width = 15)
|
||||
@ApiModelProperty(value = "是否启用通行出口,0否,1是")
|
||||
private java.lang.Integer isOut;
|
||||
/**
|
||||
* 出时间段,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;
|
||||
|
||||
/*@ApiModelProperty(value="设备状态,1在线,2离线")
|
||||
private java.lang.Integer deviceState;*/
|
||||
|
||||
@ApiModelProperty(value="设备平台返回的Id")
|
||||
@ApiModelProperty(value = "设备平台返回的Id")
|
||||
private java.lang.String deviceId;
|
||||
|
||||
/**地图X坐标*/
|
||||
/**
|
||||
* 地图X坐标
|
||||
*/
|
||||
@Excel(name = "地图X坐标", width = 15)
|
||||
@ApiModelProperty(value="地图X坐标")
|
||||
private java.lang.String mapX ;
|
||||
/**地图Y坐标*/
|
||||
@ApiModelProperty(value = "地图X坐标")
|
||||
private java.lang.String mapX;
|
||||
/**
|
||||
* 地图Y坐标
|
||||
*/
|
||||
@Excel(name = "地图Y坐标", width = 15)
|
||||
@ApiModelProperty(value="地图Y坐标")
|
||||
private java.lang.String mapY ;
|
||||
@ApiModelProperty(value = "地图Y坐标")
|
||||
private java.lang.String mapY;
|
||||
|
||||
|
||||
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value="心跳时间,30分钟没接收到实时数据表示设备离线")
|
||||
private java.util.Date heartBeatTime ;
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@ApiModelProperty(value = "心跳时间,30分钟没接收到实时数据表示设备离线")
|
||||
private java.util.Date heartBeatTime;
|
||||
|
||||
/**创建时间*/
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@Excel(name = "创建时间", width = 15)
|
||||
@ApiModelProperty(value="创建时间")
|
||||
private java.lang.String createTime ;
|
||||
@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工地区,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,46 +2,55 @@
|
||||
<!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()
|
||||
WHERE dev_sn=#{deviceSerial}
|
||||
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
|
||||
, a.company_name name
|
||||
</if>
|
||||
<if test="companyType == '2'.toString()">
|
||||
,b.company_name name
|
||||
, b.company_name name
|
||||
</if>
|
||||
<if test="companyType == '3'.toString()">
|
||||
,cp.company_name name
|
||||
, cp.company_name name
|
||||
</if>
|
||||
<if test="companyType == '4'.toString()">
|
||||
,c.project_name name
|
||||
, c.project_name name
|
||||
</if>
|
||||
<if test="companyType == '5'.toString()">
|
||||
,c.project_name name
|
||||
, c.project_name name
|
||||
</if>
|
||||
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
|
||||
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
|
||||
FROM uface_dev
|
||||
GROUP BY project_sn
|
||||
) d ON c.project_sn=d.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,9 +71,12 @@
|
||||
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}
|
||||
where project_sn = #{projectSn}
|
||||
<!--<if test="registerType == '2'.toString()">
|
||||
<if test="accountType == '1'.toString()">
|
||||
<if test="devIds!=null and devIds!=''">
|
||||
@ -76,32 +88,52 @@
|
||||
</if>
|
||||
</if>-->
|
||||
<if test="accountType == '1'.toString()">
|
||||
<if test="devIds!=null and devIds!=''">
|
||||
and FIND_IN_SET(id,#{devIds})
|
||||
<if test="devIds != null and devIds != ''">
|
||||
and FIND_IN_SET(id, #{devIds})
|
||||
</if>
|
||||
</if>
|
||||
<if test="accountType == '2'.toString()">
|
||||
and FIND_IN_SET(id,#{devIds})
|
||||
and FIND_IN_SET(id, #{devIds})
|
||||
</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}
|
||||
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>
|
||||
</mapper>
|
||||
|
||||
<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;
|
||||
@ -29,7 +27,7 @@ import java.util.*;
|
||||
/**
|
||||
* @Description: 人脸设备
|
||||
* @author: pds
|
||||
* @date: 2020-09-23
|
||||
* @date: 2020-09-23
|
||||
* @version: V1.0
|
||||
*/
|
||||
@Service
|
||||
@ -46,18 +44,19 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
||||
|
||||
@Override
|
||||
public List<UfaceDev> getUfaceDevList(Map<String, Object> map) {
|
||||
QueryWrapper<UfaceDev> qw =new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getProjectSn, MapUtils.getString(map,"projectSn"));
|
||||
List<UfaceDev> list=ufaceDevMapper.selectList(qw);
|
||||
String alias = "ud.";
|
||||
QueryWrapper<UfaceDev> qw = new QueryWrapper<>();
|
||||
qw.eq(alias + ReflectionUtil.getFieldNameToUlc(UfaceDev::getProjectSn), MapUtils.getString(map, "projectSn"));
|
||||
List<UfaceDev> list = ufaceDevMapper.getUfaceDevList(qw);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveUfaceDev(UfaceDev ufaceDev) {
|
||||
QueryWrapper<UfaceDev> qw =new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getDevSn,ufaceDev.getDevSn());
|
||||
int count=ufaceDevMapper.selectCount(qw);
|
||||
if(count>0){
|
||||
QueryWrapper<UfaceDev> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getDevSn, ufaceDev.getDevSn());
|
||||
int count = ufaceDevMapper.selectCount(qw);
|
||||
if (count > 0) {
|
||||
throw new OpenAlertException(MessageUtil.get("serialNumberExistErr"));
|
||||
}
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
@ -71,11 +70,11 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
||||
@Override
|
||||
public void editUfaceDev(UfaceDev ufaceDev) {
|
||||
ufaceDev.setHeartBeatTime(null);
|
||||
QueryWrapper<UfaceDev> qw =new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getDevSn,ufaceDev.getDevSn())
|
||||
.ne(UfaceDev::getId,ufaceDev.getId());
|
||||
int count=ufaceDevMapper.selectCount(qw);
|
||||
if(count>0){
|
||||
QueryWrapper<UfaceDev> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getDevSn, ufaceDev.getDevSn())
|
||||
.ne(UfaceDev::getId, ufaceDev.getId());
|
||||
int count = ufaceDevMapper.selectCount(qw);
|
||||
if (count > 0) {
|
||||
throw new OpenAlertException(MessageUtil.get("serialNumberExistErr"));
|
||||
}
|
||||
ufaceDevMapper.updateById(ufaceDev);
|
||||
@ -83,8 +82,8 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
||||
|
||||
@Override
|
||||
public void deleteUfaceDev(String id) {
|
||||
UfaceDev ufaceDev=ufaceDevMapper.selectById(id);
|
||||
if(ufaceDev==null){
|
||||
UfaceDev ufaceDev = ufaceDevMapper.selectById(id);
|
||||
if (ufaceDev == null) {
|
||||
throw new OpenAlertException(MessageUtil.get("notFindErr"));
|
||||
}
|
||||
ufaceDevMapper.deleteById(id);
|
||||
@ -93,17 +92,17 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
||||
|
||||
@Override
|
||||
public void batchDeleteUfaceDevAndConfig(String projectSn) {
|
||||
QueryWrapper<UfaceDev> qw =new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getProjectSn,projectSn);
|
||||
List<UfaceDev> list=ufaceDevMapper.selectList(qw);
|
||||
if(list.size()>0){
|
||||
for (UfaceDev ufaceDev:list){
|
||||
QueryWrapper<UfaceDev> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getProjectSn, projectSn);
|
||||
List<UfaceDev> list = ufaceDevMapper.selectList(qw);
|
||||
if (list.size() > 0) {
|
||||
for (UfaceDev ufaceDev : list) {
|
||||
ufaceDevMapper.deleteById(ufaceDev.getId());
|
||||
projectUfaceConfigService.deleteUfaceDev(ufaceDev);
|
||||
}
|
||||
}
|
||||
//删除配置
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, projectSn);
|
||||
projectUfaceConfigService.remove(queryWrapper);
|
||||
}
|
||||
@ -114,57 +113,57 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> selectUfaceDevStatisticsList(Map<String, Object> map) {
|
||||
Map<String, Object> data=new HashMap<>();
|
||||
public Map<String, Object> selectUfaceDevStatisticsList(Map<String, Object> map) {
|
||||
Map<String, Object> data = new HashMap<>();
|
||||
//查询设备列表
|
||||
List<EntityMap> devList=ufaceDevMapper.selectUfaceDevList(map);
|
||||
int totalDevOnlineNum=0;
|
||||
int totalInTotalNum=0;
|
||||
int totalOutTotalNum=0;
|
||||
if(devList!=null&&devList.size()>0){
|
||||
List<EntityMap> devList = ufaceDevMapper.selectUfaceDevList(map);
|
||||
int totalDevOnlineNum = 0;
|
||||
int totalInTotalNum = 0;
|
||||
int totalOutTotalNum = 0;
|
||||
if (devList != null && devList.size() > 0) {
|
||||
//查询进出考勤
|
||||
List<Map<String, Object>> attendanceList=workerAttendanceMapper.selectUfaceDevWorkerAttendanceCount(map);
|
||||
for(EntityMap dev:devList){
|
||||
if("1".equals(MapUtils.getString(dev,"deviceState"))){
|
||||
List<Map<String, Object>> attendanceList = workerAttendanceMapper.selectUfaceDevWorkerAttendanceCount(map);
|
||||
for (EntityMap dev : devList) {
|
||||
if ("1".equals(MapUtils.getString(dev, "deviceState"))) {
|
||||
totalDevOnlineNum++;
|
||||
}
|
||||
//取出进出次数
|
||||
Integer inTotalNum=0;
|
||||
Integer outTotalNum=0;
|
||||
if(attendanceList!=null&&attendanceList.size()>0){
|
||||
for(Map<String, Object> count:attendanceList){
|
||||
if(MapUtils.getString(dev,"devSn").equals(MapUtils.getString(count,"devSn"))){
|
||||
inTotalNum=MapUtils.getInteger(count,"inTotalNum");
|
||||
outTotalNum=MapUtils.getInteger(count,"outTotalNum");
|
||||
Integer inTotalNum = 0;
|
||||
Integer outTotalNum = 0;
|
||||
if (attendanceList != null && attendanceList.size() > 0) {
|
||||
for (Map<String, Object> count : attendanceList) {
|
||||
if (MapUtils.getString(dev, "devSn").equals(MapUtils.getString(count, "devSn"))) {
|
||||
inTotalNum = MapUtils.getInteger(count, "inTotalNum");
|
||||
outTotalNum = MapUtils.getInteger(count, "outTotalNum");
|
||||
}
|
||||
}
|
||||
}
|
||||
dev.put("in_total_num",inTotalNum);
|
||||
dev.put("out_total_num",outTotalNum);
|
||||
dev.put("in_total_num", inTotalNum);
|
||||
dev.put("out_total_num", outTotalNum);
|
||||
}
|
||||
}
|
||||
data.put("totalDevNum",devList.size());
|
||||
data.put("totalDevOnlineNum",totalDevOnlineNum);
|
||||
data.put("totalInTotalNum",totalInTotalNum);
|
||||
data.put("totalOutTotalNum",totalOutTotalNum);
|
||||
data.put("devList",devList);
|
||||
data.put("totalDevNum", devList.size());
|
||||
data.put("totalDevOnlineNum", totalDevOnlineNum);
|
||||
data.put("totalInTotalNum", totalInTotalNum);
|
||||
data.put("totalOutTotalNum", totalOutTotalNum);
|
||||
data.put("devList", devList);
|
||||
return data;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendBatchWokerDev(Map<String, Object> map) {
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, MapUtils.getString(map,"projectSn"));
|
||||
ProjectUfaceConfig tempProjectUfaceConfig=projectUfaceConfigService.getOne(queryWrapper);
|
||||
if(tempProjectUfaceConfig!=null&&tempProjectUfaceConfig.getIssueDev()==1){
|
||||
QueryWrapper<UfaceDev> qw =new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getProjectSn, MapUtils.getString(map,"projectSn"));
|
||||
List<UfaceDev> list=ufaceDevMapper.selectList(qw);
|
||||
if(list==null||list.size()==0){
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, MapUtils.getString(map, "projectSn"));
|
||||
ProjectUfaceConfig tempProjectUfaceConfig = projectUfaceConfigService.getOne(queryWrapper);
|
||||
if (tempProjectUfaceConfig != null && tempProjectUfaceConfig.getIssueDev() == 1) {
|
||||
QueryWrapper<UfaceDev> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getProjectSn, MapUtils.getString(map, "projectSn"));
|
||||
List<UfaceDev> list = ufaceDevMapper.selectList(qw);
|
||||
if (list == null || list.size() == 0) {
|
||||
throw new OpenAlertException("请先添加设备");
|
||||
}
|
||||
asyncWorker.sendBatchWokerDev(map,tempProjectUfaceConfig,list);
|
||||
}else{
|
||||
asyncWorker.sendBatchWokerDev(map, tempProjectUfaceConfig, list);
|
||||
} else {
|
||||
throw new OpenAlertException("项目配置不下发设备或未配置参数");
|
||||
}
|
||||
|
||||
@ -172,34 +171,34 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
|
||||
|
||||
@Override
|
||||
public void retryAttendance(String projectSn, String startTime, String endTime, String personGuid) {
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, projectSn);
|
||||
ProjectUfaceConfig tempProjectUfaceConfig=projectUfaceConfigService.getOne(queryWrapper);
|
||||
if(tempProjectUfaceConfig!=null&&tempProjectUfaceConfig.getIssueDev()==1){
|
||||
QueryWrapper<UfaceDev> qw =new QueryWrapper<>();
|
||||
ProjectUfaceConfig tempProjectUfaceConfig = projectUfaceConfigService.getOne(queryWrapper);
|
||||
if (tempProjectUfaceConfig != null && tempProjectUfaceConfig.getIssueDev() == 1) {
|
||||
QueryWrapper<UfaceDev> qw = new QueryWrapper<>();
|
||||
qw.lambda().eq(UfaceDev::getProjectSn, projectSn);
|
||||
List<UfaceDev> list=ufaceDevMapper.selectList(qw);
|
||||
if(list==null||list.size()==0){
|
||||
List<UfaceDev> list = ufaceDevMapper.selectList(qw);
|
||||
if (list == null || list.size() == 0) {
|
||||
throw new OpenAlertException("项目下无人脸设备");
|
||||
}
|
||||
List<String> devList=new ArrayList<>();
|
||||
for(UfaceDev dev:list){
|
||||
List<String> devList = new ArrayList<>();
|
||||
for (UfaceDev dev : list) {
|
||||
devList.add(dev.getDevSn());
|
||||
}
|
||||
UniUbiUtil.retryAttendance(tempProjectUfaceConfig.getAppId(),tempProjectUfaceConfig.getAppKey(),tempProjectUfaceConfig.getAppSecret(),devList,startTime,endTime,personGuid);
|
||||
}else{
|
||||
UniUbiUtil.retryAttendance(tempProjectUfaceConfig.getAppId(), tempProjectUfaceConfig.getAppKey(), tempProjectUfaceConfig.getAppSecret(), devList, startTime, endTime, personGuid);
|
||||
} else {
|
||||
throw new OpenAlertException("项目配置不下发设备或未配置参数");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void retryNewJxJAttendance(String projectSn, String startTime, String endTime, String idcard) {
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper =new QueryWrapper<>();
|
||||
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, projectSn);
|
||||
ProjectUfaceConfig tempProjectUfaceConfig=projectUfaceConfigService.getOne(queryWrapper);
|
||||
if(tempProjectUfaceConfig!=null&&tempProjectUfaceConfig.getIssueDev()==1){
|
||||
JxjNewUfaceDevUtil.retransmitPersonAttendanceData(startTime,endTime,projectSn,idcard,tempProjectUfaceConfig);
|
||||
}else{
|
||||
ProjectUfaceConfig tempProjectUfaceConfig = projectUfaceConfigService.getOne(queryWrapper);
|
||||
if (tempProjectUfaceConfig != null && tempProjectUfaceConfig.getIssueDev() == 1) {
|
||||
JxjNewUfaceDevUtil.retransmitPersonAttendanceData(startTime, endTime, projectSn, idcard, tempProjectUfaceConfig);
|
||||
} else {
|
||||
throw new OpenAlertException("项目配置不下发设备或未配置参数");
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user