|
@@ -83,32 +83,30 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
EmpInfoDto empDto = new EmpInfoDto();
|
|
EmpInfoDto empDto = new EmpInfoDto();
|
|
|
// 设置用户基本信息
|
|
// 设置用户基本信息
|
|
|
empDto.setEmployeeNo(accountVo.getUserNo().toString()).setName(accountVo.getRealName());
|
|
empDto.setEmployeeNo(accountVo.getUserNo().toString()).setName(accountVo.getRealName());
|
|
|
- if (deleteUser) {
|
|
|
|
|
- empDto.setDeleteUser(Boolean.TRUE);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ empDto.setDeleteUser(deleteUser);
|
|
|
// 设置有效期,海康设备支持有效期最大2037-12-31 23:59:59,所以要和系统的有效期比较取较小值
|
|
// 设置有效期,海康设备支持有效期最大2037-12-31 23:59:59,所以要和系统的有效期比较取较小值
|
|
|
Date endTime = accountVo.getLifespan();
|
|
Date endTime = accountVo.getLifespan();
|
|
|
- Date hikEndTime = DateUtil.parse(HikDefaultConstants.EMP_END_TIME);
|
|
|
|
|
- if (endTime.compareTo(hikEndTime) > 0) {
|
|
|
|
|
- endTime = hikEndTime;
|
|
|
|
|
- }
|
|
|
|
|
- ValidDto validDto = new ValidDto().setBeginTime(getBeginTime()).setEndTime(DateUtil.date(endTime));
|
|
|
|
|
- empDto.setValid(validDto);
|
|
|
|
|
-
|
|
|
|
|
- // 设置用户卡片信息
|
|
|
|
|
- if (ObjectUtil.isNotEmpty(accountVo.getFactoryId())) {
|
|
|
|
|
- CardDto cardDto = new CardDto().setCardNo(accountVo.getFactoryId().toString());
|
|
|
|
|
- if (deleteCard) {
|
|
|
|
|
- cardDto.setDeleteCard(Boolean.TRUE);
|
|
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(endTime)) {
|
|
|
|
|
+ Date hikEndTime = DateUtil.parse(HikDefaultConstants.EMP_END_TIME);
|
|
|
|
|
+ if (endTime.compareTo(hikEndTime) > 0) {
|
|
|
|
|
+ endTime = hikEndTime;
|
|
|
}
|
|
}
|
|
|
|
|
+ ValidDto validDto = new ValidDto().setBeginTime(getBeginTime()).setEndTime(DateUtil.date(endTime));
|
|
|
|
|
+ empDto.setValid(validDto);
|
|
|
|
|
+ }
|
|
|
|
|
+ // 设置用户卡片信息,有物理卡号并且物理卡号>0时设置
|
|
|
|
|
+ Long factoryId = accountVo.getFactoryId();
|
|
|
|
|
+ if (ObjectUtil.isNotEmpty(factoryId) && factoryId > 0L) {
|
|
|
|
|
+ CardDto cardDto = new CardDto().setCardNo(factoryId.toString());
|
|
|
|
|
+ cardDto.setDeleteCard(deleteCard);
|
|
|
|
|
+
|
|
|
List<CardDto> cardList = new ArrayList<>();
|
|
List<CardDto> cardList = new ArrayList<>();
|
|
|
cardList.add(cardDto);
|
|
cardList.add(cardDto);
|
|
|
|
|
|
|
|
CardListDto cardListDto = new CardListDto();
|
|
CardListDto cardListDto = new CardListDto();
|
|
|
cardListDto.setList(cardList);
|
|
cardListDto.setList(cardList);
|
|
|
- if (deleteAllCard) {
|
|
|
|
|
- cardListDto.setDeleteAllCard(Boolean.TRUE);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ cardListDto.setDeleteAllCard(deleteAllCard);
|
|
|
|
|
+
|
|
|
empDto.setCardInfo(cardListDto);
|
|
empDto.setCardInfo(cardListDto);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -117,16 +115,13 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
// String photo = accountVo.getFacePicUrl();
|
|
// String photo = accountVo.getFacePicUrl();
|
|
|
// if (ObjectUtil.isNotEmpty(photo)) {
|
|
// if (ObjectUtil.isNotEmpty(photo)) {
|
|
|
// FaceDto faceDto = new FaceDto().setFDID("1").setFaceID(1L).setFacePicURL(photo);
|
|
// FaceDto faceDto = new FaceDto().setFDID("1").setFaceID(1L).setFacePicURL(photo);
|
|
|
- // if (deleteFace) {
|
|
|
|
|
- // faceDto.setDeleteFace(Boolean.TRUE);
|
|
|
|
|
- // }
|
|
|
|
|
|
|
+ // faceDto.setDeleteFace(deleteFace);
|
|
|
//
|
|
//
|
|
|
// List<FaceDto> faceList = new ArrayList<>();
|
|
// List<FaceDto> faceList = new ArrayList<>();
|
|
|
// faceList.add(faceDto);
|
|
// faceList.add(faceDto);
|
|
|
// FaceListDto faceListDto = new FaceListDto().setList(faceList);
|
|
// FaceListDto faceListDto = new FaceListDto().setList(faceList);
|
|
|
- // if (deleteAllFace) {
|
|
|
|
|
- // faceListDto.setDeleteAllFace(Boolean.TRUE);
|
|
|
|
|
- // }
|
|
|
|
|
|
|
+ // faceListDto.setDeleteAllFace(deleteAllFace);
|
|
|
|
|
+ //
|
|
|
// empDto.setFaceInfo(faceListDto);
|
|
// empDto.setFaceInfo(faceListDto);
|
|
|
// }
|
|
// }
|
|
|
|
|
|
|
@@ -374,6 +369,26 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
}
|
|
}
|
|
|
return getDeviceDto(termVo);
|
|
return getDeviceDto(termVo);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 发送指定员工信息到所有设备
|
|
|
|
|
+ *
|
|
|
|
|
+ * @param empDto 待发送员工信息
|
|
|
|
|
+ */
|
|
|
|
|
+ private void sendEmpToAllDevice(EmpInfoDto empDto) {
|
|
|
|
|
+ List<RemoteXfTermVo> termList = remotePtXfTermService.queryListByBrand("hk");
|
|
|
|
|
+ if (CollectionUtil.isEmpty(termList)) {
|
|
|
|
|
+ throw new ServiceException("没有要处理的设备");
|
|
|
|
|
+ }
|
|
|
|
|
+ termList.parallelStream().forEach(p -> {
|
|
|
|
|
+ scheduledExecutorService.execute(() -> {
|
|
|
|
|
+ DeviceDto deviceDto = getDeviceDto(p);
|
|
|
|
|
+ R<Void> result = this.createOperatorEmpInfo(deviceDto, empDto);
|
|
|
|
|
+ log.info(result.getMsg());
|
|
|
|
|
+ });
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
// endregion
|
|
// endregion
|
|
|
|
|
|
|
|
// region 设置监听相关
|
|
// region 设置监听相关
|
|
@@ -596,7 +611,7 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
if (CollectionUtil.isEmpty(accountVoList)) {
|
|
if (CollectionUtil.isEmpty(accountVoList)) {
|
|
|
return R.warn("没有要处理的人员");
|
|
return R.warn("没有要处理的人员");
|
|
|
}
|
|
}
|
|
|
- // 并行处理人员列表
|
|
|
|
|
|
|
+ // 并行处理人员列表
|
|
|
accountVoList.parallelStream().forEach(p -> {
|
|
accountVoList.parallelStream().forEach(p -> {
|
|
|
scheduledExecutorService.execute(() -> {
|
|
scheduledExecutorService.execute(() -> {
|
|
|
EmpInfoDto empDto = getEmpInfoDto(p, false, false, false, false, false);
|
|
EmpInfoDto empDto = getEmpInfoDto(p, false, false, false, false, false);
|
|
@@ -634,7 +649,7 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
// 并行处理
|
|
// 并行处理
|
|
|
termList.parallelStream().forEach(p -> {
|
|
termList.parallelStream().forEach(p -> {
|
|
|
scheduledExecutorService.execute(() -> {
|
|
scheduledExecutorService.execute(() -> {
|
|
|
- DeviceDto device = getDeviceDto(p);
|
|
|
|
|
|
|
+ DeviceDto device = getDeviceDto(p);
|
|
|
accountVoList.parallelStream().forEach(t -> {
|
|
accountVoList.parallelStream().forEach(t -> {
|
|
|
EmpInfoDto empInfo = getEmpInfoDto(t, false, false, false, false, false);
|
|
EmpInfoDto empInfo = getEmpInfoDto(t, false, false, false, false, false);
|
|
|
R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
R<Void> result = createOperatorEmpInfo(device, empInfo);
|
|
@@ -653,22 +668,40 @@ public class SendDeviceServiceImpl implements ISendDeviceService {
|
|
|
}
|
|
}
|
|
|
EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, false, false);
|
|
EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, false, false);
|
|
|
|
|
|
|
|
- List<RemoteXfTermVo> termList = remotePtXfTermService.queryListByBrand("hk");
|
|
|
|
|
- if (CollectionUtil.isEmpty(termList)) {
|
|
|
|
|
- return R.warn("没有要处理的设备");
|
|
|
|
|
- }
|
|
|
|
|
- termList.parallelStream().forEach(p -> {
|
|
|
|
|
- scheduledExecutorService.execute(() -> {
|
|
|
|
|
- DeviceDto deviceDto = getDeviceDto(p);
|
|
|
|
|
- R<Void> result = this.createOperatorEmpInfo(deviceDto, empDto);
|
|
|
|
|
- log.info(result.getMsg());
|
|
|
|
|
- });
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ sendEmpToAllDevice(empDto);
|
|
|
|
|
+
|
|
|
|
|
+ return R.ok();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public R<Void> upLoadEmpToAllDeviceByUserNo(Long userNo, Date lifeSpan, Boolean deleteUser) {
|
|
|
|
|
+ RemoteUserAccountVo accountVo = new RemoteUserAccountVo();
|
|
|
|
|
+ accountVo.setUserNo(userNo);
|
|
|
|
|
+ accountVo.setLifespan(lifeSpan);
|
|
|
|
|
+
|
|
|
|
|
+ EmpInfoDto empDto = getEmpInfoDto(accountVo, deleteUser, false, false, false, false);
|
|
|
|
|
+
|
|
|
|
|
+ sendEmpToAllDevice(empDto);
|
|
|
|
|
|
|
|
return R.ok();
|
|
return R.ok();
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
// endregion
|
|
// endregion
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public R<Void> upLoadEmpCardToAllDevice(Long userId, Long factorId, Boolean deleteAllCard, Boolean deleteCard) {
|
|
|
|
|
+ RemoteUserAccountVo accountVo = remoteUserAccountService.getUserAccountVoBy(userId);
|
|
|
|
|
+ if (ObjectUtil.isEmpty(accountVo)) {
|
|
|
|
|
+ return R.warn(MessageFormat.format("没有要处理的人员信息,userId:{0}", userId));
|
|
|
|
|
+ }
|
|
|
|
|
+ accountVo.setFactoryId(factorId);
|
|
|
|
|
+ EmpInfoDto empDto = getEmpInfoDto(accountVo, false, false, false, deleteAllCard, deleteCard);
|
|
|
|
|
+
|
|
|
|
|
+ sendEmpToAllDevice(empDto);
|
|
|
|
|
+
|
|
|
|
|
+ return R.ok();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
public R<Void> queryBatchEmpFormDevice(@NotNull QueryDto dto) {
|
|
public R<Void> queryBatchEmpFormDevice(@NotNull QueryDto dto) {
|
|
|
DeviceDto device = dto.getDevice();
|
|
DeviceDto device = dto.getDevice();
|