海康下发修改

This commit is contained in:
GUO 2024-06-16 19:20:50 +08:00
parent acd9d3e1a6
commit 0ac45efb65
4 changed files with 76 additions and 45 deletions

View File

@ -308,7 +308,7 @@ public class AsyncHikvision {
@Async("carInfoExecutor")
public void deleteEnterpriseInfoForHikvision(String enterpriseId, String projectSn, String enterpriseName, Long projectEnterpriseId) {
try {
hikvisionCall.deleteEnterpriseInfoForHikvision(enterpriseId, projectSn, enterpriseName,projectEnterpriseId);
hikvisionCall.deleteEnterpriseInfoForHikvision(enterpriseId, projectSn, enterpriseName, projectEnterpriseId);
} catch (Exception e) {
log.error("海康:", e);
sendNoticeForOrg(enterpriseName, e, "删除");
@ -594,8 +594,9 @@ public class AsyncHikvision {
.in(WorkerInfo::getId, workerList.stream().map(WorkerInfo::getId).collect(Collectors.toList()))
);
for (WorkerInfo workerInfo : failWorkers) {
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(),
Set<Long> noticeUserIds = hikvisionCall.getNoticeUserIds(workerInfo.getNoticeUserId(), workerInfo.getProjectSn());
for (Long noticeUserId : noticeUserIds) {
noticeService.addUserNotice(noticeUserId,
StrUtil.format("[{}]下发{}设备权限失败{}", workerInfo.getWorkerName(), dev != null ? "[" + dev.getDevName() + "]" : "有些", exc),
"人员下发设备提醒", "1");
}
@ -699,8 +700,9 @@ public class AsyncHikvision {
continue;
}
hikvisionCall.updateSuccessStatus(projectSn, Long.valueOf(workerId), 3, 3, devSn);
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(),
Set<Long> noticeUserIds = hikvisionCall.getNoticeUserIds(workerIdMap.get(workerId).getNoticeUserId(), projectSn);
for (Long noticeUserId : noticeUserIds) {
noticeService.addUserNotice(noticeUserId,
StrUtil.format("[{}]取消下发到[{}]{}",
workerIdMap.get(workerId).getWorkerName(),
devSnMap.get(devSn).getDevName(),
@ -755,8 +757,9 @@ public class AsyncHikvision {
} else {
hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 1, dev.getDevSn());
}
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(),
Set<Long> noticeUserIds = hikvisionCall.getNoticeUserIds(workerIdMap.get(personId).getNoticeUserId(), projectSn);
for (Long noticeUserId : noticeUserIds) {
noticeService.addUserNotice(noticeUserId,
StrUtil.format("[{}]下发到[{}]{}",
workerIdMap.get(personId).getWorkerName(),
dev.getDevName(),
@ -770,8 +773,9 @@ public class AsyncHikvision {
} else {
hikvisionCall.updateFailStatus(projectSn, Long.valueOf(personId), 3, 3, dev.getDevSn());
}
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(),
Set<Long> noticeUserIds = hikvisionCall.getNoticeUserIds(workerIdMap.get(personId).getNoticeUserId(), projectSn);
for (Long noticeUserId : noticeUserIds) {
noticeService.addUserNotice(noticeUserId,
StrUtil.format("[{}]取消下发到[{}]{}",
workerIdMap.get(personId).getWorkerName(),
dev.getDevName(),

View File

@ -23,6 +23,8 @@ import com.zhgd.xmgl.async.AsyncHikvision;
import com.zhgd.xmgl.base.*;
import com.zhgd.xmgl.call.entity.ChargeDeletionParam;
import com.zhgd.xmgl.constant.Cts;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.basicdata.service.UploadFileService;
import com.zhgd.xmgl.modules.basicdata.service.impl.NoticeServiceImpl;
import com.zhgd.xmgl.modules.car.entity.CarCamera;
@ -89,6 +91,7 @@ import springfox.documentation.annotations.ApiIgnore;
import javax.annotation.Resource;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@RestController
@ -200,6 +203,9 @@ public class HikvisionCall {
@Lazy
@Resource
private IProjectUfaceConfigService projectUfaceConfigService;
@Lazy
@Autowired
private ISystemUserService systemUserService;
/**
* 获取图片
@ -1150,11 +1156,33 @@ public class HikvisionCall {
updateFailStatus(workerInfo.getProjectSn(), workerInfo.getId(), type, operate, null);
xzHikvisionCompareDataService.compareRetryFail();
}
if (sendNotice && ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
noticeService.addUserNotice(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId(), msg, title, noticeType);
Set<Long> userIdSet = getNoticeUserIds(workerInfo.getNoticeUserId(), workerInfo.getProjectSn());
if (sendNotice) {
for (Long userId : userIdSet) {
noticeService.addUserNotice(userId, msg, title, noticeType);
}
}
}
/**
* 通知发起人项目账号操作的人
*
* @param flowStartUser
* @param projectSn
* @return
*/
public Set<Long> getNoticeUserIds(Long flowStartUser, String projectSn) {
//项目级别账号
List<SystemUser> systemUsers = systemUserService.getSystemUsersBySn(new MapBuilder<String, Object>().put(Cts.SN, projectSn).put(Cts.QUERY_TYPE, Cts.PROJECT_LEVEL).build());
Set<Long> userIdSet = systemUsers.stream().map(SystemUser::getUserId).collect(Collectors.toSet());
//审批的发起人
userIdSet.add(flowStartUser);
if (ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class) != null) {
userIdSet.add(ThreadLocalUtil.getByKey(Cts.TL_AUTH_USER, UserInfo.class).getUserId());
}
return userIdSet;
}
/**
* 更新所有未同步失败状态
*

View File

@ -155,9 +155,9 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
public void addWorkerInfo(WorkerInfo workerInfo) {
QueryWrapper<ProjectUfaceConfig> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(ProjectUfaceConfig::getProjectSn, workerInfo.getProjectSn());
ProjectUfaceConfig tempProjectUfaceConfig = projectUfaceConfigMapper.selectOne(queryWrapper);
ProjectUfaceConfig ufaceConfig = projectUfaceConfigMapper.selectOne(queryWrapper);
//判断是否配置并下发设备
if (tempProjectUfaceConfig != null && tempProjectUfaceConfig.getIssueDev() == 1) {
if (ufaceConfig != null && ufaceConfig.getIssueDev() == 1) {
String ufaceDevId = workerInfo.getUfaceDevId();
Map<String, Object> param = new HashMap<>();
param.put("projectSn", workerInfo.getProjectSn());
@ -183,7 +183,7 @@ public class ProjectUfaceConfigServiceImpl extends ServiceImpl<ProjectUfaceConfi
devBuilder.append(dev.getDevSn());
devIdBuilder.append(dev.getDeviceId());
}
sendDev(tempProjectUfaceConfig, workerInfo, devBuilder.toString(), devIdBuilder.toString());
sendDev(ufaceConfig, workerInfo, devBuilder.toString(), devIdBuilder.toString());
}
}
}

View File

@ -4,10 +4,10 @@ import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.execption.OpenAlertException;
import com.zhgd.jeecg.common.mybatis.EntityMap;
import com.zhgd.xmgl.modules.worker.entity.*;
import com.zhgd.xmgl.modules.worker.mapper.WorkerCertificateMapper;
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoAuditRecordMapper;
import com.zhgd.xmgl.modules.worker.service.*;
import com.zhgd.xmgl.util.MessageUtil;
@ -16,8 +16,6 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
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 org.springframework.transaction.interceptor.TransactionAspectSupport;
@ -29,7 +27,7 @@ import java.util.Map;
/**
* @Description: 劳务人员-审核表
* @author pds
* @date 2021-05-13
* @date 2021-05-13
* @version V1.0
*/
@Service
@ -55,31 +53,31 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl<WorkerInfoAudi
int pageNo = Integer.parseInt(map.getOrDefault("pageNo", 1).toString());
int pageSize = Integer.parseInt(map.getOrDefault("pageSize", 10).toString());
Page<EntityMap> page = new Page<>(pageNo, pageSize);
List<EntityMap> list=workerInfoAuditRecordMapper.selectWorkerInfoAuditList(page, map);
List<EntityMap> list = workerInfoAuditRecordMapper.selectWorkerInfoAuditList(page, map);
return page.setRecords(list);
}
@Override
public List<EntityMap> getPassList(Map<String, Object> map) {
Page<EntityMap> page = new Page<>(1, 1000);
Page<EntityMap> page = new Page<>(1, 1000);
map.put("isExamPass", 1);
return workerInfoAuditRecordMapper.selectWorkerInfoAuditList1(page, map);
}
@Override
public void saveWorkerInfoAuditRecord(WorkerInfoAuditRecord workerInfoAuditRecord) {
QueryWrapper<WorkerInfo> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(WorkerInfo::getProjectSn,workerInfoAuditRecord.getProjectSn())
.eq(WorkerInfo::getIdCard,workerInfoAuditRecord.getIdCard());
int count=workerInfoService.count(queryWrapper);
if(count>0){
QueryWrapper<WorkerInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(WorkerInfo::getProjectSn, workerInfoAuditRecord.getProjectSn())
.eq(WorkerInfo::getIdCard, workerInfoAuditRecord.getIdCard());
int count = workerInfoService.count(queryWrapper);
if (count > 0) {
throw new OpenAlertException(MessageUtil.get("existsIDCardErr"));
}
QueryWrapper<WorkerInfoAuditRecord> queryWrapper2=new QueryWrapper<>();
queryWrapper2.lambda().eq(WorkerInfoAuditRecord::getProjectSn,workerInfoAuditRecord.getProjectSn())
.eq(WorkerInfoAuditRecord::getIdCard,workerInfoAuditRecord.getIdCard());
QueryWrapper<WorkerInfoAuditRecord> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.lambda().eq(WorkerInfoAuditRecord::getProjectSn, workerInfoAuditRecord.getProjectSn())
.eq(WorkerInfoAuditRecord::getIdCard, workerInfoAuditRecord.getIdCard());
WorkerInfoAuditRecord workerInfoAuditRecord1 = workerInfoAuditRecordMapper.selectOne(queryWrapper2);
if(workerInfoAuditRecord1 != null){
if (workerInfoAuditRecord1 != null) {
if (workerInfoAuditRecord1.getIsExamPass() == 1) {
throw new OpenAlertException("人员已通过培训,请勿重新添加人员信息");
} else {
@ -94,12 +92,12 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl<WorkerInfoAudi
@Override
public void editWorkerInfoAuditRecord(WorkerInfoAuditRecord workerInfoAuditRecord) {
QueryWrapper<WorkerInfoAuditRecord> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(WorkerInfoAuditRecord::getProjectSn,workerInfoAuditRecord.getProjectSn())
.eq(WorkerInfoAuditRecord::getIdCard,workerInfoAuditRecord.getIdCard())
.ne(WorkerInfoAuditRecord::getId,workerInfoAuditRecord.getId());
int count=workerInfoAuditRecordMapper.selectCount(queryWrapper);
if(count>0){
QueryWrapper<WorkerInfoAuditRecord> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(WorkerInfoAuditRecord::getProjectSn, workerInfoAuditRecord.getProjectSn())
.eq(WorkerInfoAuditRecord::getIdCard, workerInfoAuditRecord.getIdCard())
.ne(WorkerInfoAuditRecord::getId, workerInfoAuditRecord.getId());
int count = workerInfoAuditRecordMapper.selectCount(queryWrapper);
if (count > 0) {
throw new OpenAlertException(MessageUtil.get("existsIDCardErr"));
}
workerInfoAuditRecordMapper.updateById(workerInfoAuditRecord);
@ -107,20 +105,21 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl<WorkerInfoAudi
@Override
public String adoptWorkerInfo(Map<String, Object> map) {
WorkerInfoAuditRecord workerInfoAuditRecord=workerInfoAuditRecordMapper.selectById(MapUtils.getString(map,"id"));
if(workerInfoAuditRecord==null){
WorkerInfoAuditRecord workerInfoAuditRecord = workerInfoAuditRecordMapper.selectById(MapUtils.getString(map, "id"));
if (workerInfoAuditRecord == null) {
throw new OpenAlertException(MessageUtil.get("notFindErr"));
}
WorkerInfo workerInfo=new WorkerInfo();
WorkerInfo workerInfo = new WorkerInfo();
BeanUtils.copyProperties(workerInfoAuditRecord, workerInfo);
workerInfo.setRegisterType(MapUtils.getInteger(map,"registerType"));
workerInfo.setAccountType(MapUtils.getInteger(map,"accountType"));
workerInfo.setUfaceDevId(MapUtils.getString(map,"ufaceDevId"));
workerInfo.setRegisterType(MapUtils.getInteger(map, "registerType"));
workerInfo.setAccountType(MapUtils.getInteger(map, "accountType"));
workerInfo.setUfaceDevId(MapUtils.getString(map, "ufaceDevId"));
workerInfo.setInserviceType(1);
//调用向正式表添加接口并下发设备
WorkerInfo workerInfo1 = new WorkerInfo();
try {
workerInfo1.setNoticeUserId(Long.valueOf(MapUtils.getString(map, "startUser")));
workerInfo1 = workerInfoService.saveWorkerInfo(workerInfo);
} catch (Exception e) {
log.error("同步人员信息失败:" + workerInfo.getWorkerName() + e.getMessage());
@ -151,17 +150,17 @@ public class WorkerInfoAuditRecordServiceImpl extends ServiceImpl<WorkerInfoAudi
workerInsuranceService.saveBatch(workerInsurances);
}
//删除审核表记录
workerInfoAuditRecordMapper.deleteById(MapUtils.getString(map,"id"));
workerInfoAuditRecordMapper.deleteById(MapUtils.getString(map, "id"));
return null;
}
@Override
public void rejectWorkerInfo(Map<String, Object> map) {
WorkerInfoAuditRecord workerInfoAuditRecord=workerInfoAuditRecordMapper.selectById(MapUtils.getString(map,"id"));
if(workerInfoAuditRecord==null){
WorkerInfoAuditRecord workerInfoAuditRecord = workerInfoAuditRecordMapper.selectById(MapUtils.getString(map, "id"));
if (workerInfoAuditRecord == null) {
throw new OpenAlertException(MessageUtil.get("notFindErr"));
}
workerInfoAuditRecordMapper.deleteById(MapUtils.getString(map,"id"));
workerInfoAuditRecordMapper.deleteById(MapUtils.getString(map, "id"));
}
@Override