|
|
@@ -12,14 +12,20 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|
|
import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
|
|
|
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
|
|
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.*;
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.stat.DeptUtil;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.vo.IotDeviceSimple;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.IotDeviceDO;
|
|
|
-import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.*;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectOrderDO;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectOrderDetailDO;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectPlanDO;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectRouteDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderDetailMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderDeviceMapper;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderMapper;
|
|
|
import cn.iocoder.yudao.module.pms.enums.ErrorCodeConstant;
|
|
|
import cn.iocoder.yudao.module.pms.service.IotDeviceService;
|
|
|
import cn.iocoder.yudao.module.pms.service.inspect.IotInspectOrderDetailService;
|
|
|
@@ -28,6 +34,9 @@ import cn.iocoder.yudao.module.pms.service.inspect.IotInspectPlanService;
|
|
|
import cn.iocoder.yudao.module.pms.service.inspect.IotInspectRouteService;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
|
|
|
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
|
|
|
+import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
@@ -46,7 +55,6 @@ import javax.validation.Valid;
|
|
|
import java.io.IOException;
|
|
|
import java.time.ZoneId;
|
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.*;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -78,6 +86,12 @@ public class IotInspectOrderController {
|
|
|
private IotDeviceMapper iotDeviceMapper;
|
|
|
@Autowired
|
|
|
private IotInspectOrderDeviceMapper iotInspectOrderDeviceMapper;
|
|
|
+ @Autowired
|
|
|
+ private DeptUtil deptUtil;
|
|
|
+ @Autowired
|
|
|
+ private DeptService deptService;
|
|
|
+ @Autowired
|
|
|
+ private IotInspectOrderMapper iotInspectOrderMapper;
|
|
|
|
|
|
@PostMapping("/create")
|
|
|
@Operation(summary = "创建巡检工单")
|
|
|
@@ -374,4 +388,21 @@ public class IotInspectOrderController {
|
|
|
}).collect(Collectors.toList());
|
|
|
return success(new PageResult<>(collect, pageResult.getTotal()));
|
|
|
}
|
|
|
+
|
|
|
+ @GetMapping("/exception/device")
|
|
|
+ public CommonResult<PageResult<IotDeviceSimple>> getExceptionDevice(@Valid IotInspectOrderPageReqVO pageReqVO) {
|
|
|
+ Set<Long> ids;
|
|
|
+ if (Objects.isNull(pageReqVO.getDeptId())){
|
|
|
+ Long loginUserDeptId = SecurityFrameworkUtils.getLoginUserDeptId();
|
|
|
+ String companyCode = deptUtil.getCompanyCode(loginUserDeptId);
|
|
|
+ ids = deptUtil.getDeptIds(companyCode);
|
|
|
+ } else {
|
|
|
+ ids = deptService.getChildDeptIdListFromCache(pageReqVO.getDeptId());
|
|
|
+ ids.add(pageReqVO.getDeptId());
|
|
|
+ }
|
|
|
+ pageReqVO.setDeptIds(ids);
|
|
|
+ IPage<IotDeviceSimple> exceptionDevicePage = iotInspectOrderDetailMapper.getExceptionDevicePage(new Page<>(pageReqVO.getPageNo(), pageReqVO.getPageSize()), pageReqVO);
|
|
|
+ PageResult<IotDeviceSimple> result = new PageResult<>(exceptionDevicePage.getRecords(), exceptionDevicePage.getTotal());
|
|
|
+ return success(result);
|
|
|
+ }
|
|
|
}
|