青海中水北方修改
This commit is contained in:
parent
38c35543a0
commit
27182d10cc
@ -49,6 +49,13 @@ public class DispatchHandler {
|
|||||||
xzHikvisionSyncService.zyMqttAck(jsonObject.getString("sn"), jsonObject.getString("pers_id"), 0);
|
xzHikvisionSyncService.zyMqttAck(jsonObject.getString("sn"), jsonObject.getString("pers_id"), 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
//正赢删除人脸下发返回
|
||||||
|
if (topic.equals("face/deleteFace/response")) {
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(payLoad.toString());
|
||||||
|
if (jsonObject.getString("code").equals("0")) {
|
||||||
|
xzHikvisionSyncService.zyDelMqttAck(jsonObject.getString("sn"), jsonObject.getString("pers_id"));
|
||||||
|
}
|
||||||
|
}
|
||||||
// 正赢人脸识别推送
|
// 正赢人脸识别推送
|
||||||
if (topic.equals("face/response")) {
|
if (topic.equals("face/response")) {
|
||||||
JSONObject jsonObject = JSONObject.parseObject(payLoad.toString());
|
JSONObject jsonObject = JSONObject.parseObject(payLoad.toString());
|
||||||
|
|||||||
@ -45,6 +45,8 @@ public interface IProjectUfaceConfigService extends IService<ProjectUfaceConfig>
|
|||||||
*/
|
*/
|
||||||
void deleteWorkerInfo(WorkerInfo workerInfo);
|
void deleteWorkerInfo(WorkerInfo workerInfo);
|
||||||
|
|
||||||
|
void deleteWorkerInfo(WorkerInfo workerInfo, String devSns);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新人员权限
|
* 更新人员权限
|
||||||
*
|
*
|
||||||
|
|||||||
@ -172,14 +172,16 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
String ufaceDevId = workerInfo.getUfaceDevId();
|
String ufaceDevId = workerInfo.getUfaceDevId();
|
||||||
Map<String, Object> param = new HashMap<>(16);
|
Map<String, Object> param = new HashMap<>(16);
|
||||||
param.put("projectSn", workerInfo.getProjectSn());
|
param.put("projectSn", workerInfo.getProjectSn());
|
||||||
String zero = "0";
|
// String zero = "0";
|
||||||
if (zero.equals(ufaceDevId)) {
|
// if (zero.equals(ufaceDevId)) {
|
||||||
workerInfo.setUfaceDevId(null);
|
// workerInfo.setUfaceDevId(null);
|
||||||
}
|
// }
|
||||||
if (StringUtils.isNotEmpty(ufaceDevId)) {
|
if (StringUtils.isNotEmpty(ufaceDevId)) {
|
||||||
param.put("registerType", workerInfo.getRegisterType());
|
param.put("registerType", workerInfo.getRegisterType());
|
||||||
param.put("accountType", workerInfo.getAccountType());
|
param.put("accountType", workerInfo.getAccountType());
|
||||||
param.put("devIds", ufaceDevId);
|
param.put("devIds", ufaceDevId);
|
||||||
|
} else {
|
||||||
|
param.put("devIds", "0");
|
||||||
}
|
}
|
||||||
List<UfaceDev> list = ufaceDevMapper.selectUserUfaceDevList(param);
|
List<UfaceDev> list = ufaceDevMapper.selectUserUfaceDevList(param);
|
||||||
if (list != null && list.size() > 0) {
|
if (list != null && list.size() > 0) {
|
||||||
@ -233,7 +235,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
} else if (Objects.equals(ufaceConfig.getSupplierType(), MQTT.getCode())) {
|
} else if (Objects.equals(ufaceConfig.getSupplierType(), MQTT.getCode())) {
|
||||||
MqttFaceDevUtil.deletePerson(workerInfo, list.stream().map(l -> l.getDevSn()).collect(Collectors.joining(",")));
|
MqttFaceDevUtil.deletePerson(workerInfo, list.stream().map(l -> l.getDevSn()).collect(Collectors.joining(",")));
|
||||||
} else if (Objects.equals(ufaceConfig.getSupplierType(), ZYMQTT.getCode())) {
|
} else if (Objects.equals(ufaceConfig.getSupplierType(), ZYMQTT.getCode())) {
|
||||||
ZyMqttFaceDevUtil.deletePerson(workerInfo);
|
ZyMqttFaceDevUtil.deletePerson(workerInfo, null);
|
||||||
xzHikvisionSyncMapper.delete(Wrappers.<XzHikvisionSync>lambdaQuery()
|
xzHikvisionSyncMapper.delete(Wrappers.<XzHikvisionSync>lambdaQuery()
|
||||||
.eq(XzHikvisionSync::getType, 1)
|
.eq(XzHikvisionSync::getType, 1)
|
||||||
.eq(XzHikvisionSync::getWhoId, workerInfo.getId()));
|
.eq(XzHikvisionSync::getWhoId, workerInfo.getId()));
|
||||||
@ -242,6 +244,14 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteWorkerInfo(WorkerInfo workerInfo, String devSns) {
|
||||||
|
ZyMqttFaceDevUtil.deletePerson(workerInfo, devSns);
|
||||||
|
xzHikvisionSyncMapper.delete(Wrappers.<XzHikvisionSync>lambdaQuery()
|
||||||
|
.eq(XzHikvisionSync::getType, 1)
|
||||||
|
.eq(XzHikvisionSync::getWhoId, workerInfo.getId()));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void updateWorkerInfo(WorkerInfo workerInfo, WorkerInfo oldWorkerInfo) {
|
public void updateWorkerInfo(WorkerInfo workerInfo, WorkerInfo oldWorkerInfo) {
|
||||||
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
|
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
|
||||||
@ -263,14 +273,16 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
hasDev = false;
|
hasDev = false;
|
||||||
workerInfo.setUfaceDevId(oldWorkerInfo.getUfaceDevId());
|
workerInfo.setUfaceDevId(oldWorkerInfo.getUfaceDevId());
|
||||||
}
|
}
|
||||||
String top = "0";
|
// String top = "0";
|
||||||
if (top.equals(workerInfo.getUfaceDevId())) {
|
// if (top.equals(workerInfo.getUfaceDevId())) {
|
||||||
workerInfo.setUfaceDevId(null);
|
// workerInfo.setUfaceDevId(null);
|
||||||
}
|
// }
|
||||||
if (StringUtils.isNotEmpty(workerInfo.getUfaceDevId())) {
|
if (StringUtils.isNotEmpty(workerInfo.getUfaceDevId())) {
|
||||||
param.put("registerType", workerInfo.getRegisterType());
|
param.put("registerType", workerInfo.getRegisterType());
|
||||||
param.put("accountType", 1);
|
param.put("accountType", 1);
|
||||||
param.put("devIds", workerInfo.getUfaceDevId());
|
param.put("devIds", workerInfo.getUfaceDevId());
|
||||||
|
} else {
|
||||||
|
param.put("devIds", "0");
|
||||||
}
|
}
|
||||||
List<UfaceDev> list = ufaceDevMapper.selectUserUfaceDevList(param);
|
List<UfaceDev> list = ufaceDevMapper.selectUserUfaceDevList(param);
|
||||||
if (list != null && list.size() > 0) {
|
if (list != null && list.size() > 0) {
|
||||||
@ -325,7 +337,9 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
} else if (Objects.equals(ufaceConfig.getSupplierType(), ZYMQTT.getCode())) {
|
} else if (Objects.equals(ufaceConfig.getSupplierType(), ZYMQTT.getCode())) {
|
||||||
workerInfo.setFieldAcquisitionUrl(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
workerInfo.setFieldAcquisitionUrl(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
||||||
ZyMqttFaceDevUtil.addOrUpdatePerson(workerInfo, devBuilder.toString());
|
ZyMqttFaceDevUtil.addOrUpdatePerson(workerInfo, devBuilder.toString());
|
||||||
|
xzHikvisionSyncMapper.delete(Wrappers.<XzHikvisionSync>lambdaQuery()
|
||||||
|
.eq(XzHikvisionSync::getType, 1)
|
||||||
|
.eq(XzHikvisionSync::getWhoId, workerInfo.getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -522,6 +536,9 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
|
|||||||
// mqtt下发人员
|
// mqtt下发人员
|
||||||
workerInfo.setFieldAcquisitionUrl(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
workerInfo.setFieldAcquisitionUrl(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
||||||
ZyMqttFaceDevUtil.addOrUpdatePerson(workerInfo, devSns);
|
ZyMqttFaceDevUtil.addOrUpdatePerson(workerInfo, devSns);
|
||||||
|
xzHikvisionSyncMapper.delete(Wrappers.<XzHikvisionSync>lambdaQuery()
|
||||||
|
.eq(XzHikvisionSync::getType, 1)
|
||||||
|
.eq(XzHikvisionSync::getWhoId, workerInfo.getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -261,6 +261,19 @@ public class WorkerApiController {
|
|||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ApiIdempotent
|
||||||
|
@OperLog(operModul = "劳务管理",operType = "批量修改劳务人员删除门禁权限",operDesc = "批量修改劳务人员删除门禁权限")
|
||||||
|
@ApiOperation(value = "劳务人员删除门禁权限", notes = "劳务人员删除门禁权限", httpMethod="POST")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "workerIdStr", value = "人员Id", paramType = "body", required = true, dataType = "String"),
|
||||||
|
@ApiImplicitParam(name = "ufaceDevIds", value = "设备Id", paramType = "body", required = true, dataType = "String")
|
||||||
|
})
|
||||||
|
@PostMapping(value = "/deleteFaceAuth")
|
||||||
|
public Result deleteFaceAuth(@RequestBody Map<String,Object> map) {
|
||||||
|
workerInfoService.deleteFaceAuth(map);
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
|
|
||||||
@ApiOperation(value = "分页列表查询劳务人员", notes = "分页列表查询劳务人员", httpMethod = "POST")
|
@ApiOperation(value = "分页列表查询劳务人员", notes = "分页列表查询劳务人员", httpMethod = "POST")
|
||||||
@ApiImplicitParams({
|
@ApiImplicitParams({
|
||||||
@ApiImplicitParam(name = "workerName", value = "姓名", paramType = "body", required = false, dataType = "String"),
|
@ApiImplicitParam(name = "workerName", value = "姓名", paramType = "body", required = false, dataType = "String"),
|
||||||
|
|||||||
@ -32,6 +32,7 @@ import io.swagger.annotations.ApiImplicitParams;
|
|||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.poi.util.IOUtils;
|
import org.apache.poi.util.IOUtils;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFRow;
|
import org.apache.poi.xssf.usermodel.XSSFRow;
|
||||||
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
import org.apache.poi.xssf.usermodel.XSSFSheet;
|
||||||
@ -46,6 +47,7 @@ import javax.servlet.http.HttpServletResponse;
|
|||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URLEncoder;
|
import java.net.URLEncoder;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -109,6 +111,25 @@ public class WorkerInfoController {
|
|||||||
return Result.ok();
|
return Result.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 编辑
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ApiIdempotent
|
||||||
|
@OperLog(operModul = "劳务管理", operType = "批量进场", operDesc = "批量进场")
|
||||||
|
@ApiOperation(value = "批量进场", notes = "批量进场", httpMethod = "PUT")
|
||||||
|
@ApiImplicitParams({
|
||||||
|
@ApiImplicitParam(name = "workerIds", value = "劳务人员IDs(多个逗号分割)", paramType = "body", required = false, dataType = "String"),
|
||||||
|
@ApiImplicitParam(name = "ufaceDevIds", value = "设备IDs(多个逗号分割)", paramType = "body", required = false, dataType = "String"),
|
||||||
|
})
|
||||||
|
@PutMapping(value = "/batchEntry")
|
||||||
|
public Result<WorkerInfo> batchEntry(@RequestBody Map<String, Object> map) {
|
||||||
|
workerInfoService.batchEntry(map);
|
||||||
|
return Result.ok();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@ApiIdempotent
|
@ApiIdempotent
|
||||||
@OperLog(operModul = "劳务管理", operType = "编辑劳务人员", operDesc = "编辑劳务人员信息")
|
@OperLog(operModul = "劳务管理", operType = "编辑劳务人员", operDesc = "编辑劳务人员信息")
|
||||||
@ApiOperation(value = "编辑劳务人员信息", notes = "编辑劳务人员信息", httpMethod = "PUT")
|
@ApiOperation(value = "编辑劳务人员信息", notes = "编辑劳务人员信息", httpMethod = "PUT")
|
||||||
@ -911,7 +932,11 @@ public class WorkerInfoController {
|
|||||||
);
|
);
|
||||||
for (WorkerInfo workerInfo : workerInfos) {
|
for (WorkerInfo workerInfo : workerInfos) {
|
||||||
workerInfo.setDevType(1);
|
workerInfo.setDevType(1);
|
||||||
workerInfo.setUfaceDevId(ufaceDevId);
|
String old = workerInfo.getUfaceDevId();
|
||||||
|
List<String> oldDevIds = new ArrayList<>(Arrays.asList(old.split(",")));
|
||||||
|
List<String> addDevIds = new ArrayList<>(Arrays.asList(ufaceDevId.split(",")));
|
||||||
|
oldDevIds.addAll(addDevIds);
|
||||||
|
workerInfo.setUfaceDevId(oldDevIds.stream().collect(Collectors.joining(",")));
|
||||||
}
|
}
|
||||||
Long userId = SecurityUtils.getUser().getUserId();
|
Long userId = SecurityUtils.getUser().getUserId();
|
||||||
asyncWorker.batchBindDevForWorkers(workerInfos, userId);
|
asyncWorker.batchBindDevForWorkers(workerInfos, userId);
|
||||||
|
|||||||
@ -77,14 +77,14 @@
|
|||||||
else 2 end) device_state
|
else 2 end) device_state
|
||||||
from uface_dev
|
from uface_dev
|
||||||
where project_sn = #{projectSn}
|
where project_sn = #{projectSn}
|
||||||
<if test="accountType == '1'.toString()">
|
<!-- <if test="accountType == '1'.toString() || accountType == '2'.toString()">-->
|
||||||
|
<!-- <if test="devIds != null and devIds != ''">-->
|
||||||
|
<!-- and FIND_IN_SET(id, #{devIds})-->
|
||||||
|
<!-- </if>-->
|
||||||
|
<!-- </if>-->
|
||||||
<if test="devIds != null and devIds != ''">
|
<if test="devIds != null and devIds != ''">
|
||||||
and FIND_IN_SET(id, #{devIds})
|
and FIND_IN_SET(id, #{devIds})
|
||||||
</if>
|
</if>
|
||||||
</if>
|
|
||||||
<if test="accountType == '2'.toString()">
|
|
||||||
and FIND_IN_SET(id, #{devIds})
|
|
||||||
</if>
|
|
||||||
</select>
|
</select>
|
||||||
<select id="selectUfaceDevBySn" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
|
<select id="selectUfaceDevBySn" resultType="com.zhgd.jeecg.common.mybatis.EntityMap">
|
||||||
select *,
|
select *,
|
||||||
|
|||||||
@ -53,6 +53,13 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
|
|||||||
*/
|
*/
|
||||||
void updateWorkerExit(Map<String, Object> map);
|
void updateWorkerExit(Map<String, Object> map);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 批量删除人员权限
|
||||||
|
*
|
||||||
|
* @param map
|
||||||
|
*/
|
||||||
|
void deleteFaceAuth(Map<String, Object> map);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据项目sn批量删除人员
|
* 根据项目sn批量删除人员
|
||||||
*
|
*
|
||||||
@ -76,6 +83,8 @@ public interface IWorkerInfoService extends IService<WorkerInfo> {
|
|||||||
*/
|
*/
|
||||||
WorkerInfo editWorkerInfo(WorkerInfo workerInfo);
|
WorkerInfo editWorkerInfo(WorkerInfo workerInfo);
|
||||||
|
|
||||||
|
void batchEntry(Map<String, Object> map);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除劳务人员信息
|
* 删除劳务人员信息
|
||||||
*
|
*
|
||||||
|
|||||||
@ -461,6 +461,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
info.setExitDate(sdf.format(new Date()));
|
info.setExitDate(sdf.format(new Date()));
|
||||||
info.setExitSafeScore(info.getSafeScore());
|
info.setExitSafeScore(info.getSafeScore());
|
||||||
info.setSafeScore(0D);
|
info.setSafeScore(0D);
|
||||||
|
info.setUfaceDevId("0");
|
||||||
workerInfoMapper.updateById(info);
|
workerInfoMapper.updateById(info);
|
||||||
projectUfaceConfigService.deleteWorkerInfo(info);
|
projectUfaceConfigService.deleteWorkerInfo(info);
|
||||||
//上传住建
|
//上传住建
|
||||||
@ -476,6 +477,29 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void deleteFaceAuth(Map<String, Object> map) {
|
||||||
|
String workerIdStr = MapUtils.getString(map, "workerIdStr");
|
||||||
|
String ufaceDevIds = MapUtils.getString(map, "ufaceDevIds");
|
||||||
|
List<WorkerInfo> info = workerInfoMapper.selectBatchIds(Arrays.asList(workerIdStr.split(",")));
|
||||||
|
for (WorkerInfo workerInfo : info) {
|
||||||
|
if (StringUtils.isNotBlank(workerInfo.getUfaceDevId())) {
|
||||||
|
String ufaceDevId = workerInfo.getUfaceDevId();
|
||||||
|
List<String> oldDevIds = new ArrayList<>(Arrays.asList(ufaceDevId.split(",")));
|
||||||
|
List<String> delDevIds = new ArrayList<>(Arrays.asList(ufaceDevIds.split(",")));
|
||||||
|
Iterator<String> iterator = oldDevIds.iterator();
|
||||||
|
while (iterator.hasNext()) {
|
||||||
|
if (delDevIds.contains(iterator.next())) {
|
||||||
|
iterator.remove();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
workerInfo.setUfaceDevId(oldDevIds.stream().collect(Collectors.joining(",")));
|
||||||
|
projectUfaceConfigService.deleteWorkerInfo(workerInfo, ufaceDevIds);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
workerInfoService.updateBatchById(info);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除项目下所有人员
|
* 删除项目下所有人员
|
||||||
*
|
*
|
||||||
@ -682,6 +706,16 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
|||||||
return workerInfo;
|
return workerInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void batchEntry(Map<String, Object> map) {
|
||||||
|
String workerIds = MapUtils.getString(map, "workerIds");
|
||||||
|
String ufaceDevIds = MapUtils.getString(map, "ufaceDevIds");
|
||||||
|
List<WorkerInfo> workerInfoList = workerInfoService.listByIds(Arrays.asList(workerIds.split(",")));
|
||||||
|
for (WorkerInfo workerInfo : workerInfoList) {
|
||||||
|
workerInfo.setUfaceDevId(ufaceDevIds);
|
||||||
|
editWorkerInfo(workerInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新劳务人员总状态
|
* 更新劳务人员总状态
|
||||||
*
|
*
|
||||||
|
|||||||
@ -90,4 +90,6 @@ public interface IXzHikvisionSyncService extends IService<XzHikvisionSync> {
|
|||||||
void mqttAck(String deviceSn, JSONArray workerIds, Integer isSuccess);
|
void mqttAck(String deviceSn, JSONArray workerIds, Integer isSuccess);
|
||||||
|
|
||||||
void zyMqttAck(String deviceSn, String workerId, Integer isSuccess);
|
void zyMqttAck(String deviceSn, String workerId, Integer isSuccess);
|
||||||
|
|
||||||
|
void zyDelMqttAck(String deviceSn, String workerId);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
import com.zhgd.jeecg.common.execption.OpenAlertException;
|
||||||
@ -39,11 +40,13 @@ import com.zhgd.xmgl.modules.xz.service.IXzHikvisionSyncService;
|
|||||||
import com.zhgd.xmgl.util.PageUtil;
|
import com.zhgd.xmgl.util.PageUtil;
|
||||||
import com.zhgd.xmgl.util.RefUtil;
|
import com.zhgd.xmgl.util.RefUtil;
|
||||||
import com.zhgd.xmgl.util.ThreadLocalUtil;
|
import com.zhgd.xmgl.util.ThreadLocalUtil;
|
||||||
|
import com.zhgd.xmgl.util.ZyMqttFaceDevUtil;
|
||||||
import org.apache.commons.collections.MapUtils;
|
import org.apache.commons.collections.MapUtils;
|
||||||
import org.apache.commons.lang3.tuple.ImmutablePair;
|
import org.apache.commons.lang3.tuple.ImmutablePair;
|
||||||
import org.apache.commons.lang3.tuple.Pair;
|
import org.apache.commons.lang3.tuple.Pair;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.beans.factory.annotation.Qualifier;
|
import org.springframework.beans.factory.annotation.Qualifier;
|
||||||
|
import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.context.annotation.Lazy;
|
import org.springframework.context.annotation.Lazy;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
||||||
@ -94,6 +97,9 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
|
|||||||
@Qualifier("doubleCarbonExecutor")
|
@Qualifier("doubleCarbonExecutor")
|
||||||
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
private ThreadPoolTaskExecutor threadPoolTaskExecutor;
|
||||||
|
|
||||||
|
@Value("${basePath}")
|
||||||
|
private String basePath;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
Date val = new Date();
|
Date val = new Date();
|
||||||
ThreadLocalUtil.addInKey("now", val);
|
ThreadLocalUtil.addInKey("now", val);
|
||||||
@ -269,6 +275,13 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
|
|||||||
asyncHikvision.deleteCarInfoAndSetBlackForHikvision(carInfo, false);
|
asyncHikvision.deleteCarInfoAndSetBlackForHikvision(carInfo, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
ProjectUfaceConfig ufaceConfig = projectUfaceConfigService.getOne(Wrappers.<ProjectUfaceConfig>lambdaQuery().eq(ProjectUfaceConfig::getProjectSn, xzHikvisionSync.getProjectSn()));
|
||||||
|
if (ufaceConfig.getSupplierType() == 11) {
|
||||||
|
WorkerInfo workerInfo = workerInfoMapper.selectById(whoId);
|
||||||
|
// mqtt下发人员
|
||||||
|
workerInfo.setFieldAcquisitionUrl(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
||||||
|
ZyMqttFaceDevUtil.addOrUpdatePerson(workerInfo, xzHikvisionSync.getDeviceSn());
|
||||||
} else {
|
} else {
|
||||||
//人员
|
//人员
|
||||||
WorkerManufacturer workerManufacturer = workerManufacturerFactory.getWorkerManufacturer(xzHikvisionSync.getProjectSn());
|
WorkerManufacturer workerManufacturer = workerManufacturerFactory.getWorkerManufacturer(xzHikvisionSync.getProjectSn());
|
||||||
@ -339,6 +352,7 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mqttAck(String deviceSn, JSONArray ackInfo, Integer isSuccess) {
|
public void mqttAck(String deviceSn, JSONArray ackInfo, Integer isSuccess) {
|
||||||
@ -370,6 +384,34 @@ public class XzHikvisionSyncServiceImpl extends ServiceImpl<XzHikvisionSyncMappe
|
|||||||
hikvisionCall.updateTotalStatus(workerInfo.getProjectSn(), workerInfo.getId(), 1);
|
hikvisionCall.updateTotalStatus(workerInfo.getProjectSn(), workerInfo.getId(), 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Async("doubleCarbonExecutor")
|
||||||
|
@Override
|
||||||
|
public void zyDelMqttAck(String deviceSn, String workerId) {
|
||||||
|
List<XzHikvisionSync> syncList = new ArrayList<>();
|
||||||
|
WorkerInfo workerInfo = workerInfoMapper.selectById(workerId);
|
||||||
|
if (workerInfo != null) {
|
||||||
|
delBuild(syncList, workerInfo, deviceSn);
|
||||||
|
}
|
||||||
|
if (syncList.size() > 0) {
|
||||||
|
this.saveBatch(syncList);
|
||||||
|
}
|
||||||
|
hikvisionCall.updateTotalStatus(workerInfo.getProjectSn(), workerInfo.getId(), 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void delBuild(List<XzHikvisionSync> syncList, WorkerInfo workerInfo, String deviceSn) {
|
||||||
|
XzHikvisionSync sync = new XzHikvisionSync();
|
||||||
|
sync.setProjectSn(workerInfo.getProjectSn());
|
||||||
|
sync.setType(1);
|
||||||
|
sync.setOperate(3);
|
||||||
|
sync.setDeviceSn(deviceSn);
|
||||||
|
sync.setWhoId(workerInfo.getId());
|
||||||
|
sync.setIsSuccess(1);
|
||||||
|
sync.setCreateDate(new Date());
|
||||||
|
sync.setUpdateDate(new Date());
|
||||||
|
sync.setBigType(1);
|
||||||
|
syncList.add(sync);
|
||||||
|
}
|
||||||
|
|
||||||
private void build(List<XzHikvisionSync> syncList, WorkerInfo workerInfo, String deviceSn, Integer isSuccess) {
|
private void build(List<XzHikvisionSync> syncList, WorkerInfo workerInfo, String deviceSn, Integer isSuccess) {
|
||||||
XzHikvisionSync sync = new XzHikvisionSync();
|
XzHikvisionSync sync = new XzHikvisionSync();
|
||||||
sync.setProjectSn(workerInfo.getProjectSn());
|
sync.setProjectSn(workerInfo.getProjectSn());
|
||||||
|
|||||||
@ -992,26 +992,26 @@ public class WorkerTask {
|
|||||||
/**
|
/**
|
||||||
* 正赢 MQTT同步下发人员信息
|
* 正赢 MQTT同步下发人员信息
|
||||||
*/
|
*/
|
||||||
@Scheduled(cron = "0 0/15 * * * ?")
|
// @Scheduled(cron = "0 0/15 * * * ?")
|
||||||
@SchedulerLock(name = "zyMqttIssuedWorkerInfo", lockAtMostFor = 1000 * 55, lockAtLeastFor = 1000 * 55)
|
// @SchedulerLock(name = "zyMqttIssuedWorkerInfo", lockAtMostFor = 1000 * 55, lockAtLeastFor = 1000 * 55)
|
||||||
@RequestMapping("zyMqttIssuedWorkerInfo")
|
// @RequestMapping("zyMqttIssuedWorkerInfo")
|
||||||
public void zyMqttIssuedWorkerInfo() {
|
// public void zyMqttIssuedWorkerInfo() {
|
||||||
List<ProjectUfaceConfig> configList = projectUfaceConfigMapper.selectList(Wrappers.<ProjectUfaceConfig>lambdaQuery()
|
// List<ProjectUfaceConfig> configList = projectUfaceConfigMapper.selectList(Wrappers.<ProjectUfaceConfig>lambdaQuery()
|
||||||
.eq(ProjectUfaceConfig::getSupplierType, ZYMQTT.getCode())
|
// .eq(ProjectUfaceConfig::getSupplierType, ZYMQTT.getCode())
|
||||||
.eq(ProjectUfaceConfig::getIssueDev, 1));
|
// .eq(ProjectUfaceConfig::getIssueDev, 1));
|
||||||
for (ProjectUfaceConfig projectUfaceConfig : configList) {
|
// for (ProjectUfaceConfig projectUfaceConfig : configList) {
|
||||||
List<XzHikvisionSync> list = xzHikvisionSyncService.list(Wrappers.<XzHikvisionSync>lambdaQuery()
|
// List<XzHikvisionSync> list = xzHikvisionSyncService.list(Wrappers.<XzHikvisionSync>lambdaQuery()
|
||||||
.eq(XzHikvisionSync::getProjectSn, projectUfaceConfig.getProjectSn())
|
// .eq(XzHikvisionSync::getProjectSn, projectUfaceConfig.getProjectSn())
|
||||||
.eq(XzHikvisionSync::getIsSuccess, 0)
|
// .eq(XzHikvisionSync::getIsSuccess, 0)
|
||||||
.eq(XzHikvisionSync::getType, 1)
|
// .eq(XzHikvisionSync::getType, 1)
|
||||||
.eq(XzHikvisionSync::getBigType, 1));
|
// .eq(XzHikvisionSync::getBigType, 1));
|
||||||
for (XzHikvisionSync sync : list) {
|
// for (XzHikvisionSync sync : list) {
|
||||||
WorkerInfo workerInfo = workerInfoMapper.selectById(sync.getWhoId());
|
// WorkerInfo workerInfo = workerInfoMapper.selectById(sync.getWhoId());
|
||||||
workerInfo.setFieldAcquisitionUrl(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
// workerInfo.setFieldAcquisitionUrl(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
|
||||||
ZyMqttFaceDevUtil.addOrUpdatePerson(workerInfo, sync.getDeviceSn());
|
// ZyMqttFaceDevUtil.addOrUpdatePerson(workerInfo, sync.getDeviceSn());
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新人员自动退场
|
* 更新人员自动退场
|
||||||
|
|||||||
@ -37,7 +37,7 @@ public class ZyMqttFaceDevUtil {
|
|||||||
sendByDevSn(ds, payload);
|
sendByDevSn(ds, payload);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sendAll(payload);
|
// sendAll(payload);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,27 +46,35 @@ public class ZyMqttFaceDevUtil {
|
|||||||
*
|
*
|
||||||
* @param workerInfo
|
* @param workerInfo
|
||||||
*/
|
*/
|
||||||
public static void deletePerson(WorkerInfo workerInfo) {
|
public static void deletePerson(WorkerInfo workerInfo, String devSn) {
|
||||||
Map<String, Object> map = new HashMap<>();
|
Map<String, Object> map = new HashMap<>();
|
||||||
map.put("client_id", "deleteFace");
|
map.put("client_id", "deleteFace");
|
||||||
map.put("cmd", "delete_face");
|
map.put("cmd", "delete_face");
|
||||||
map.put("per_id", workerInfo.getId().toString());
|
map.put("per_id", workerInfo.getId().toString());
|
||||||
String payload = JSON.toJSONString(map);
|
String payload = JSON.toJSONString(map);
|
||||||
|
if (StrUtil.isNotBlank(devSn)) {
|
||||||
|
String[] splitArr = StringUtils.split(devSn, ",");
|
||||||
|
for (int i = 0; i < splitArr.length; i++) {
|
||||||
|
String ds = splitArr[i];
|
||||||
|
sendByDevSn(ds, payload);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
sendAll(payload);
|
sendAll(payload);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void sendByDevSn(String devSn, String payload) {
|
private static void sendByDevSn(String devSn, String payload) {
|
||||||
String topic = "face/" + devSn + "/request";
|
String topic = "face/" + devSn + "/request";
|
||||||
log.info("发送主题信息:{},主题为:{}", payload, topic);
|
log.info("发送主题信息:{},主题为:{}", payload, topic);
|
||||||
IMqttSender mqttSender = SpringContextUtils.getBean(IMqttSender.class);
|
IMqttSender mqttSender = SpringContextUtils.getBean(IMqttSender.class);
|
||||||
mqttSender.sendToMqtt(topic, 2, payload);
|
mqttSender.sendToMqtt(topic, 0, payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void sendAll(String payload) {
|
private static void sendAll(String payload) {
|
||||||
String topic = "face/request";
|
String topic = "face/request";
|
||||||
log.info("发送主题信息:{},主题为:{}", payload, topic);
|
log.info("发送主题信息:{},主题为:{}", payload, topic);
|
||||||
IMqttSender mqttSender = SpringContextUtils.getBean(IMqttSender.class);
|
IMqttSender mqttSender = SpringContextUtils.getBean(IMqttSender.class);
|
||||||
mqttSender.sendToMqtt(topic, 2, payload);
|
mqttSender.sendToMqtt(topic, 0, payload);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Map<String, Object> build(WorkerInfo workerInfo) {
|
private static Map<String, Object> build(WorkerInfo workerInfo) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user