人员状态修改
This commit is contained in:
parent
e8f3b594a9
commit
b8cbea2454
@ -64,8 +64,13 @@ public class AsyncHikvision {
|
||||
@Autowired
|
||||
private XzHikvisionSyncMapper xzHikvisionSyncMapper;
|
||||
|
||||
public static Date getSyncLotNow() {
|
||||
return ThreadLocalUtil.getNotNull().getDate("now");
|
||||
public static Date getSyncLotNowOrSetIfNull() {
|
||||
Date now = ThreadLocalUtil.getNotNull().getDate("now");
|
||||
if (now == null) {
|
||||
now = new Date();
|
||||
ThreadLocalUtil.addInKey("now", now);
|
||||
}
|
||||
return now;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -86,7 +91,7 @@ public class AsyncHikvision {
|
||||
}
|
||||
|
||||
public void addWorkerForHikvision(WorkerInfo workerInfo) {
|
||||
Date now = getSyncLotNow();
|
||||
Date now = getSyncLotNowOrSetIfNull();
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(1).setOperate(1).setWhoId(workerInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(2).setOperate(1).setWhoId(workerInfo.getId()).setCreateDate(now));
|
||||
asyncHikvision.addWorkerForHikvisionAsync(workerInfo, now);
|
||||
@ -104,7 +109,7 @@ public class AsyncHikvision {
|
||||
}
|
||||
|
||||
public void editWorkerForHikvision(WorkerInfo workerInfo) {
|
||||
Date now = getSyncLotNow();
|
||||
Date now = getSyncLotNowOrSetIfNull();
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(1).setOperate(2).setWhoId(workerInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(2).setOperate(2).setWhoId(workerInfo.getId()).setCreateDate(now));
|
||||
asyncHikvision.editWorkerForHikvisionAsync(workerInfo, now);
|
||||
@ -124,7 +129,7 @@ public class AsyncHikvision {
|
||||
if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) {
|
||||
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, type);
|
||||
}
|
||||
hikvisionCall.updateAllFailStatusIfNullByNow(workerInfo.getProjectSn(), workerInfo.getId(), 1, getSyncLotNow());
|
||||
hikvisionCall.updateAllFailStatusIfNullByNow(workerInfo.getProjectSn(), workerInfo.getId(), 1, getSyncLotNowOrSetIfNull());
|
||||
}
|
||||
|
||||
@Async("hikvisionExecutor")
|
||||
@ -139,7 +144,7 @@ public class AsyncHikvision {
|
||||
}
|
||||
|
||||
public void deleteWorkerForHikvision(WorkerInfo workerInfo) {
|
||||
Date now = getSyncLotNow();
|
||||
Date now = getSyncLotNowOrSetIfNull();
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(1).setOperate(3).setWhoId(workerInfo.getId()).setCreateDate(now));
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(2).setOperate(3).setWhoId(workerInfo.getId()).setCreateDate(now));
|
||||
asyncHikvision.deleteWorkerForHikvisionAsync(workerInfo, now);
|
||||
@ -202,7 +207,7 @@ public class AsyncHikvision {
|
||||
if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) {
|
||||
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), msg, title, type);
|
||||
}
|
||||
hikvisionCall.updateAllFailStatusIfNullByNow(carInfo.getProjectSn(), carInfo.getId(), 4, getSyncLotNow());
|
||||
hikvisionCall.updateAllFailStatusIfNullByNow(carInfo.getProjectSn(), carInfo.getId(), 4, getSyncLotNowOrSetIfNull());
|
||||
}
|
||||
|
||||
public void editCarInfoForHikvision(CarInfo carInfo, CarInfo old) {
|
||||
@ -374,7 +379,7 @@ public class AsyncHikvision {
|
||||
if (StringUtils.isBlank(devSn)) {
|
||||
return;
|
||||
}
|
||||
Date now = getSyncLotNow();
|
||||
Date now = getSyncLotNowOrSetIfNull();
|
||||
String[] devSnArr = StringUtils.split(devSn, ",");
|
||||
for (String ds : devSnArr) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(3).setOperate(1).setWhoId(workerInfo.getId()).setDeviceSn(ds).setCreateDate(now));
|
||||
@ -399,7 +404,7 @@ public class AsyncHikvision {
|
||||
} else {
|
||||
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1");
|
||||
}
|
||||
hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 1, getSyncLotNow());
|
||||
hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 1, getSyncLotNowOrSetIfNull());
|
||||
return;
|
||||
}
|
||||
|
||||
@ -419,7 +424,7 @@ public class AsyncHikvision {
|
||||
if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) {
|
||||
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), StringUtils.substring(msg, 0, msg.length() - 1), title, type);
|
||||
}
|
||||
hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 1, getSyncLotNow());
|
||||
hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 1, getSyncLotNowOrSetIfNull());
|
||||
} catch (Exception e) {
|
||||
log.error("海康:", e);
|
||||
}
|
||||
@ -435,7 +440,7 @@ public class AsyncHikvision {
|
||||
if (StringUtils.isBlank(devSns)) {
|
||||
return;
|
||||
}
|
||||
Date now = getSyncLotNow();
|
||||
Date now = getSyncLotNowOrSetIfNull();
|
||||
String[] devSnArr = StringUtils.split(devSns, ",");
|
||||
for (String ds : devSnArr) {
|
||||
xzHikvisionSyncMapper.insert(new XzHikvisionSync().setProjectSn(workerInfo.getProjectSn()).setType(3).setOperate(3).setWhoId(workerInfo.getId()).setDeviceSn(ds).setCreateDate(now));
|
||||
@ -463,7 +468,7 @@ public class AsyncHikvision {
|
||||
} else {
|
||||
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), e.getMessage(), "人员下发设备提醒", "1");
|
||||
}
|
||||
hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 3, getSyncLotNow());
|
||||
hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 3, getSyncLotNowOrSetIfNull());
|
||||
return;
|
||||
}
|
||||
|
||||
@ -483,7 +488,7 @@ public class AsyncHikvision {
|
||||
if (SecurityUtils.getUser() != null && SecurityUtils.getUser().getUserId() != null) {
|
||||
noticeService.addUserNotice(SecurityUtils.getUser().getUserId(), StringUtils.substring(msg, 0, msg.length() - 1), title, type);
|
||||
}
|
||||
hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 3, getSyncLotNow());
|
||||
hikvisionCall.updateAllFailStatusIfNullByNowForAuth(workerInfo.getProjectSn(), workerInfo.getId(), 3, 3, getSyncLotNowOrSetIfNull());
|
||||
} catch (Exception e) {
|
||||
log.error("海康:", e);
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import com.zhgd.xmgl.modules.project.entity.ProjectUfaceConfig;
|
||||
import com.zhgd.xmgl.modules.project.service.IProjectUfaceConfigService;
|
||||
import com.zhgd.xmgl.modules.worker.entity.*;
|
||||
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
|
||||
import com.zhgd.xmgl.modules.worker.service.impl.WorkerInfoServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@ -29,6 +30,9 @@ import java.util.Map;
|
||||
@Slf4j
|
||||
@Component
|
||||
public class AsyncWorker {
|
||||
@Lazy
|
||||
@Autowired
|
||||
private WorkerInfoServiceImpl workerInfoService;
|
||||
@Autowired
|
||||
private WorkerInfoMapper workerInfoMapper;
|
||||
@Autowired
|
||||
@ -82,6 +86,7 @@ public class AsyncWorker {
|
||||
try {
|
||||
info.setNoticeUserId(userId);
|
||||
projectUfaceConfigService.sendBatchWorkerInfo(info, projectUfaceConfig, devList);
|
||||
workerInfoService.resetHkStatus(info);
|
||||
} catch (Exception e) {
|
||||
log.error("下发人员异常,人员名称:{}", info.getWorkerName() + "," + e.getMessage());
|
||||
noticeFail(info.getWorkerName(), userId, e);
|
||||
|
||||
@ -1220,10 +1220,10 @@ public class HikvisionCall {
|
||||
Integer sendSuccessStatus = null;
|
||||
if (xzHikvisionSyncs.stream().allMatch(xzHikvisionSync1 -> Objects.equals(xzHikvisionSync1.getIsSuccess(), 1))) {
|
||||
sendSuccessStatus = 1;
|
||||
} else if (xzHikvisionSyncs.stream().allMatch(xzHikvisionSync1 -> Objects.equals(xzHikvisionSync1.getIsSuccess(), 0))) {
|
||||
sendSuccessStatus = 2;
|
||||
} else if (xzHikvisionSyncs.stream().allMatch(xzHikvisionSync1 -> xzHikvisionSync1.getIsSuccess() == null)) {
|
||||
sendSuccessStatus = null;
|
||||
} else if (xzHikvisionSyncs.stream().allMatch(xzHikvisionSync1 -> xzHikvisionSync1.getIsSuccess() == null || Objects.equals(xzHikvisionSync1.getIsSuccess(), 0))) {
|
||||
sendSuccessStatus = 2;
|
||||
} else {
|
||||
sendSuccessStatus = 3;
|
||||
}
|
||||
|
||||
@ -25,6 +25,7 @@ import com.zhgd.xmgl.util.*;
|
||||
import org.apache.commons.collections.MapUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -42,7 +43,10 @@ import java.util.stream.Stream;
|
||||
@Service
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public class UfaceDevServiceImpl extends ServiceImpl<UfaceDevMapper, UfaceDev> implements IUfaceDevService {
|
||||
@Lazy
|
||||
@Autowired
|
||||
private WorkerInfoServiceImpl workerInfoService;
|
||||
@Autowired
|
||||
private IUserDevAuthorityService userDevAuthorityService;
|
||||
@Autowired
|
||||
private UfaceDevMapper ufaceDevMapper;
|
||||
|
||||
@ -456,7 +456,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
}
|
||||
|
||||
public void resetHkStatus(WorkerInfo workerInfo) {
|
||||
hikvisionCall.updateTotalStatus(workerInfo.getProjectSn(), workerInfo.getId(), 1, AsyncHikvision.getSyncLotNow());
|
||||
hikvisionCall.updateTotalStatus(workerInfo.getProjectSn(), workerInfo.getId(), 1, AsyncHikvision.getSyncLotNowOrSetIfNull());
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2185,6 +2185,7 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
WorkerInfo workerInfo = baseMapper.selectById(id);
|
||||
if (notNeedSend(old, workerInfo)) return;
|
||||
projectUfaceConfigService.updateWorkerInfo(workerInfo, workerInfo);
|
||||
resetHkStatus(workerInfo);
|
||||
}
|
||||
|
||||
private boolean notNeedSend(WorkerInfo old, WorkerInfo newWi) {
|
||||
@ -2204,7 +2205,8 @@ public class WorkerInfoServiceImpl extends ServiceImpl<WorkerInfoMapper, WorkerI
|
||||
}
|
||||
updateById(workerInfo);
|
||||
if (Objects.equals(workerInfo.getSafeScore(), 100D)) {
|
||||
projectUfaceConfigService.updateWorkerInfo(workerInfo, old);
|
||||
old.setSafeScore(100D);
|
||||
projectUfaceConfigService.updateWorkerInfo(old, old);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user