bug修复

This commit is contained in:
guo 2023-08-15 19:30:15 +08:00
parent e3dddb82c8
commit b166849d3f
5 changed files with 264 additions and 191 deletions

View File

@ -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);

View File

@ -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
@ -21,87 +21,123 @@ import io.swagger.annotations.ApiModelProperty;
*/
@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*/
@ApiModelProperty(value = "uface设备表")
private java.lang.Long id;
/**
* 设备IP
*/
@Excel(name = "设备IP", width = 15)
@ApiModelProperty(value="设备IP")
private java.lang.String devIp ;
/**设备端口*/
@ApiModelProperty(value = "设备IP")
private java.lang.String devIp;
/**
* 设备端口
*/
@Excel(name = "设备端口", width = 15)
@ApiModelProperty(value="设备端口")
private java.lang.String devPort ;
/**设备唯一标识*/
@ApiModelProperty(value = "设备端口")
private java.lang.String devPort;
/**
* 设备唯一标识
*/
@Excel(name = "设备唯一标识", width = 15)
@ApiModelProperty(value="设备唯一标识")
private java.lang.String devSn ;
/**设备密码*/
@ApiModelProperty(value = "设备唯一标识")
private java.lang.String devSn;
/**
* 设备密码
*/
@Excel(name = "设备密码", width = 15)
@ApiModelProperty(value="设备密码")
private java.lang.String password ;
/**设备名称*/
@ApiModelProperty(value = "设备密码")
private java.lang.String password;
/**
* 设备名称
*/
@Excel(name = "设备名称", width = 15)
@ApiModelProperty(value="设备名称")
private java.lang.String devName ;
/**项目sn*/
@ApiModelProperty(value = "设备名称")
private java.lang.String devName;
/**
* 项目sn
*/
@Excel(name = "项目sn", width = 15)
@ApiModelProperty(value="项目sn")
private java.lang.String projectSn ;
/**是否启用通行进口0否1是*/
@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*/
@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是*/
@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*/
@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 ;
/**设备登录账号*/
@ApiModelProperty(value = "出时间段0-23")
private java.lang.String outTime;
/**
* 设备登录账号
*/
@Excel(name = "设备登录账号", width = 15)
@ApiModelProperty(value="设备登录账号")
private java.lang.String loginAccount ;
@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;
}

View File

@ -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);
}

View File

@ -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)&lt;=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) &lt;= 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)&lt;=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) &lt;=
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)&lt;=30 then 1 else 2 end) device_state
select *,
(case
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60) &lt;= 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)&lt;=30 then 1 else 2 end) device_state
select *,
(case
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60) &lt;= 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)&lt;=30 then 1 else 2 end) device_state
select *,
(case
when round((UNIX_TIMESTAMP(now()) - UNIX_TIMESTAMP(heart_beat_time)) / 60) &lt;= 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>
<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) &lt;= 30 then 1
else 0 end)
dev_online
from uface_dev ud
${ew.customSqlSegment}
</select>
</mapper>

View File

@ -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,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);
}
@ -115,56 +114,56 @@ public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> i
@Override
public Map<String, Object> selectUfaceDevStatisticsList(Map<String, Object> map) {
Map<String, Object> data=new HashMap<>();
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("项目配置不下发设备或未配置参数");
}
}