|
@@ -12,6 +12,7 @@ import cn.iocoder.yudao.framework.common.util.number.NumberUtils;
|
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.failure.vo.IotFailureReportPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.inspect.order.vo.IotInspectOrderPageReqVO;
|
|
|
+import cn.iocoder.yudao.module.pms.controller.admin.inspect.plan.vo.IotInspectPlanPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdevicerunlog.vo.IotDeviceRunLogPageReqVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotdevicerunlog.vo.IotDeviceRunLogRespVO;
|
|
|
import cn.iocoder.yudao.module.pms.controller.admin.iotmainworkorder.vo.IotMainWorkOrderPageReqVO;
|
|
@@ -27,6 +28,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.IotProductClassifyDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.failure.IotFailureReportDO;
|
|
|
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.iotcountdata.IotCountDataDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotmainworkorder.IotMainWorkOrderDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotoutbound.IotOutboundDO;
|
|
@@ -38,6 +40,7 @@ import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.failure.IotFailureReportMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderDetailMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderMapper;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectPlanMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotdevicerunlog.IotDeviceRunLogMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotmainworkorder.IotMainWorkOrderMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotopeationfill.IotOpeationFillMapper;
|
|
@@ -53,8 +56,11 @@ import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO;
|
|
|
import cn.iocoder.yudao.module.system.service.dept.DeptService;
|
|
|
import cn.iocoder.yudao.module.system.service.dict.DictDataService;
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.google.common.collect.ImmutableList;
|
|
|
import com.google.common.collect.ImmutableMap;
|
|
|
+import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
import lombok.Data;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
@@ -126,6 +132,8 @@ public class IotStaticController {
|
|
|
private TDDeviceMapper deviceMapper;
|
|
|
@Autowired
|
|
|
private IotOutboundMapper iotOutboundMapper;
|
|
|
+ @Autowired
|
|
|
+ private IotInspectPlanMapper iotInspectPlanMapper;
|
|
|
|
|
|
@GetMapping("/main/day")
|
|
|
public CommonResult<Map<String, Object>> getMaintainDay() {
|
|
@@ -1019,5 +1027,42 @@ public class IotStaticController {
|
|
|
return success(ImmutableMap.of("xAxis", lastYearMonthRanges, "series", ImmutableList.of(fillResult)));
|
|
|
|
|
|
}
|
|
|
+
|
|
|
+ @GetMapping("/number")
|
|
|
+ @Operation(summary = "获取巡检计划数量")
|
|
|
+ @PermitAll
|
|
|
+ public CommonResult<ImmutableMap> getPlanDeviceNumber() {
|
|
|
+ Set<Long> rhids = getDeptIds("rh");
|
|
|
+ Set<Long> rdids = getDeptIds("rd");
|
|
|
+ Set<Long> ryids = getDeptIds("ry");
|
|
|
+ IotInspectPlanPageReqVO rh = new IotInspectPlanPageReqVO();
|
|
|
+ rh.setPageSize(PageParam.PAGE_SIZE_NONE);
|
|
|
+ List<IotInspectPlanDO> rhplans = iotInspectPlanMapper.selectPage(rh, rhids).getList().stream().filter(e -> !e.getDeleted()).collect(Collectors.toList());
|
|
|
+ List<IotInspectPlanDO> rdplans = iotInspectPlanMapper.selectPage(rh, rdids).getList().stream().filter(e -> !e.getDeleted()).collect(Collectors.toList());
|
|
|
+ List<IotInspectPlanDO> ryplans = iotInspectPlanMapper.selectPage(rh, ryids).getList().stream().filter(e -> !e.getDeleted()).collect(Collectors.toList());
|
|
|
+
|
|
|
+ AtomicInteger rhcount = new AtomicInteger();
|
|
|
+ rhplans.forEach(e ->{
|
|
|
+ JSONArray objects = JSON.parseArray(e.getDeviceIds());
|
|
|
+ int size = objects.size();
|
|
|
+ rhcount.set(rhcount.get() + size);
|
|
|
+ });
|
|
|
+
|
|
|
+ AtomicInteger rdcount = new AtomicInteger();
|
|
|
+ rdplans.forEach(e ->{
|
|
|
+ JSONArray objects = JSON.parseArray(e.getDeviceIds());
|
|
|
+ int size = objects.size();
|
|
|
+ rdcount.set(rdcount.get() + size);
|
|
|
+ });
|
|
|
+
|
|
|
+ AtomicInteger rycount = new AtomicInteger();
|
|
|
+ ryplans.forEach(e ->{
|
|
|
+ JSONArray objects = JSON.parseArray(e.getDeviceIds());
|
|
|
+ int size = objects.size();
|
|
|
+ rycount.set(rycount.get() + size);
|
|
|
+ });
|
|
|
+
|
|
|
+ return success(ImmutableMap.of("瑞恒", rhcount.get(),"瑞都",rdcount.get(),"瑞鹰",rycount.get()));
|
|
|
+ }
|
|
|
}
|
|
|
|