|
@@ -17,7 +17,9 @@ import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceallotlog.vo.IotDevi
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdevicecategorytemplateattrs.vo.IotDeviceProperty;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdevicecategorytemplateattrs.vo.IotDeviceProperty;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdevicematerial.vo.IotDeviceMaterialRespVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdevicematerial.vo.IotDeviceMaterialRespVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceperson.vo.IotDevicePersonPageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceperson.vo.IotDevicePersonPageReqVO;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.iotdevicepersonlog.vo.IotDevicePersonLogPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdevicerunlog.vo.IotDeviceRunLogRespVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdevicerunlog.vo.IotDeviceRunLogRespVO;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.iotdevicestatuslog.vo.IotDeviceStatusLogPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotmodeltemplateattrs.vo.IotModelTemplateAttrsPageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotmodeltemplateattrs.vo.IotModelTemplateAttrsPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDevicePageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO;
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceRespVO;
|
|
@@ -29,6 +31,8 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.IotTreeDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotZHBD.DeviceZHBDDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotZHBD.DeviceZHBDDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotdeviceallotlog.IotDeviceAllotLogDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotdeviceallotlog.IotDeviceAllotLogDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotdeviceperson.IotDevicePersonDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotdeviceperson.IotDevicePersonDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicepersonlog.IotDevicePersonLogDO;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.iotdevicestatuslog.IotDeviceStatusLogDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.tdparams.IotTdParamsDO;
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.tdparams.IotTdParamsDO;
|
|
@@ -37,7 +41,9 @@ import cn.iocoder.yudao.module.pms.dal.mysql.IotInfoClassifyMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotTreeMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotTreeMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotdeviceallotlog.IotDeviceAllotLogMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotdeviceallotlog.IotDeviceAllotLogMapper;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicepersonlog.IotDevicePersonLogMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicerunlog.IotDeviceRunLogMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicerunlog.IotDeviceRunLogMapper;
|
|
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicestatuslog.IotDeviceStatusLogMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotmodel.IotModelMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotmodel.IotModelMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.tdparams.IotTdParamsMapper;
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.tdparams.IotTdParamsMapper;
|
|
@@ -149,6 +155,10 @@ public class IotDeviceServiceImpl implements IotDeviceService {
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private IotDeviceAllotLogMapper iotDeviceAllotLogMapper;
|
|
private IotDeviceAllotLogMapper iotDeviceAllotLogMapper;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IotDevicePersonLogMapper iotDevicePersonLogMapper;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IotDeviceStatusLogMapper iotDeviceStatusLogMapper;
|
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
@@ -789,6 +799,24 @@ public class IotDeviceServiceImpl implements IotDeviceService {
|
|
|
ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
|
|
ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
|
|
|
ids.add(pageReqVO.getDeptId());
|
|
ids.add(pageReqVO.getDeptId());
|
|
|
}
|
|
}
|
|
|
|
|
+ // 调拨时间区间搜索 查询在指定时间区间内调拨过的设备
|
|
|
|
|
+ LocalDateTime[] allotDateTime = pageReqVO.getCreateTime();
|
|
|
|
|
+ Set<Long> timeDeviceIds = new HashSet<>();
|
|
|
|
|
+ if (ObjUtil.isNotEmpty(allotDateTime)) {
|
|
|
|
|
+ IotDevicePersonLogPageReqVO reqVO = new IotDevicePersonLogPageReqVO();
|
|
|
|
|
+ reqVO.setCreateTime(allotDateTime);
|
|
|
|
|
+ List<IotDevicePersonLogDO> deviceAllots = iotDevicePersonLogMapper.selectList(reqVO);
|
|
|
|
|
+ if (CollUtil.isNotEmpty(deviceAllots)) {
|
|
|
|
|
+ deviceAllots.forEach(allot -> {
|
|
|
|
|
+ timeDeviceIds.add(allot.getDeviceId());
|
|
|
|
|
+ });
|
|
|
|
|
+ if (CollUtil.isNotEmpty(timeDeviceIds)) {
|
|
|
|
|
+ pageReqVO.setDeviceIds(new ArrayList<>(timeDeviceIds));
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return PageResult.empty();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
// 根据用户昵称模糊搜索 已经设置过此人作为责任人的设备列表
|
|
// 根据用户昵称模糊搜索 已经设置过此人作为责任人的设备列表
|
|
|
Set<Long> deviceIds = new HashSet<>();
|
|
Set<Long> deviceIds = new HashSet<>();
|
|
|
if (StrUtil.isNotBlank(pageReqVO.getNickname())) {
|
|
if (StrUtil.isNotBlank(pageReqVO.getNickname())) {
|
|
@@ -840,6 +868,24 @@ public class IotDeviceServiceImpl implements IotDeviceService {
|
|
|
ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
|
|
ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
|
|
|
ids.add(pageReqVO.getDeptId());
|
|
ids.add(pageReqVO.getDeptId());
|
|
|
}
|
|
}
|
|
|
|
|
+ // 调拨时间区间搜索 查询在指定时间区间内调拨过的设备
|
|
|
|
|
+ LocalDateTime[] allotDateTime = pageReqVO.getCreateTime();
|
|
|
|
|
+ Set<Long> deviceIds = new HashSet<>();
|
|
|
|
|
+ if (ObjUtil.isNotEmpty(allotDateTime)) {
|
|
|
|
|
+ IotDeviceStatusLogPageReqVO reqVO = new IotDeviceStatusLogPageReqVO();
|
|
|
|
|
+ reqVO.setCreateTime(allotDateTime);
|
|
|
|
|
+ List<IotDeviceStatusLogDO> deviceAllots = iotDeviceStatusLogMapper.selectList(reqVO);
|
|
|
|
|
+ if (CollUtil.isNotEmpty(deviceAllots)) {
|
|
|
|
|
+ deviceAllots.forEach(allot -> {
|
|
|
|
|
+ deviceIds.add(allot.getDeviceId());
|
|
|
|
|
+ });
|
|
|
|
|
+ if (CollUtil.isNotEmpty(deviceIds)) {
|
|
|
|
|
+ pageReqVO.setDeviceIds(new ArrayList<>(deviceIds));
|
|
|
|
|
+ }
|
|
|
|
|
+ } else {
|
|
|
|
|
+ return PageResult.empty();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
try {
|
|
try {
|
|
|
IPage<IotDeviceRespVO> page = iotDeviceMapper.deviceStatuses(
|
|
IPage<IotDeviceRespVO> page = iotDeviceMapper.deviceStatuses(
|
|
|
new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO, ids);
|
|
new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO, ids);
|