|
|
@@ -13,6 +13,7 @@ import cn.iocoder.yudao.framework.common.util.object.PageUtils;
|
|
|
import cn.iocoder.yudao.framework.datapermission.core.util.DataPermissionUtils;
|
|
|
import cn.iocoder.yudao.module.pms.ThingsModelDTO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.TableDataInfo;
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.iotdeviceallotlog.vo.IotDeviceAllotLogPageReqVO;
|
|
|
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.iotdeviceperson.vo.IotDevicePersonPageReqVO;
|
|
|
@@ -26,6 +27,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotInfoClassifyDO;
|
|
|
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.iotdeviceallotlog.IotDeviceAllotLogDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotdeviceperson.IotDevicePersonDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodel.IotModelDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmodeltemplateattrs.IotModelTemplateAttrsDO;
|
|
|
@@ -34,6 +36,7 @@ import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
|
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.TDDeviceMapper;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.iotdeviceallotlog.IotDeviceAllotLogMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicerunlog.IotDeviceRunLogMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotmodel.IotModelMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper;
|
|
|
@@ -74,6 +77,7 @@ import org.springframework.web.client.RestTemplate;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
import java.util.concurrent.CompletableFuture;
|
|
|
import java.util.concurrent.atomic.AtomicReference;
|
|
|
@@ -143,6 +147,9 @@ public class IotDeviceServiceImpl implements IotDeviceService {
|
|
|
@Autowired
|
|
|
private IotTdParamsMapper iotTdParamsMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IotDeviceAllotLogMapper iotDeviceAllotLogMapper;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
public String getDeviceCompany(Long id) {
|
|
|
@@ -852,6 +859,24 @@ public class IotDeviceServiceImpl implements IotDeviceService {
|
|
|
ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
|
|
|
ids.add(pageReqVO.getDeptId());
|
|
|
}
|
|
|
+ // 调拨时间区间搜索 查询在指定时间区间内调拨过的设备
|
|
|
+ LocalDateTime[] allotDateTime = pageReqVO.getCreateTime();
|
|
|
+ Set<Long> deviceIds = new HashSet<>();
|
|
|
+ if (ObjUtil.isNotEmpty(allotDateTime)) {
|
|
|
+ IotDeviceAllotLogPageReqVO reqVO = new IotDeviceAllotLogPageReqVO();
|
|
|
+ reqVO.setCreateTime(allotDateTime);
|
|
|
+ List<IotDeviceAllotLogDO> deviceAllots = iotDeviceAllotLogMapper.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 {
|
|
|
IPage<IotDeviceRespVO> page = iotDeviceMapper.deviceAllots(
|
|
|
new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO, ids);
|