|
|
@@ -56,6 +56,7 @@ import cn.iocoder.yudao.module.pms.dal.dataobject.iotrydailyreport.IotRyDailyRep
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotryhidailyreport.IotRyHiDailyReportDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.iotsapstock.IotSapStockDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.dataobject.maintain.IotMaintainDO;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.dataobject.yfclass.IotYfClassifyDO;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotDeviceMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.IotProductClassifyMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.TDDeviceMapper;
|
|
|
@@ -75,6 +76,7 @@ import cn.iocoder.yudao.module.pms.dal.mysql.iotrydailyreport.IotRyDailyReportMa
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.iotsapstock.IotSapStockMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.maintain.IotMaintainMapper;
|
|
|
import cn.iocoder.yudao.module.pms.dal.mysql.tdparams.IotTdParamsMapper;
|
|
|
+import cn.iocoder.yudao.module.pms.dal.mysql.yfclass.IotYfClassifyMapper;
|
|
|
import cn.iocoder.yudao.module.pms.service.DeviceServiceImpl;
|
|
|
import cn.iocoder.yudao.module.pms.service.inspect.IotInspectOrderService;
|
|
|
import cn.iocoder.yudao.module.pms.service.iotmainworkorder.IotMainWorkOrderService;
|
|
|
@@ -195,6 +197,8 @@ public class IotStaticController {
|
|
|
private IotDeviceAssociateMapper iotDeviceAssociateMapper;
|
|
|
@Resource
|
|
|
private IotProjectTaskService iotProjectTaskService;
|
|
|
+ @Autowired
|
|
|
+ private IotYfClassifyMapper iotYfClassifyMapper;
|
|
|
|
|
|
|
|
|
@GetMapping("/main/day")
|
|
|
@@ -4967,5 +4971,26 @@ public class IotStaticController {
|
|
|
return success(rates);
|
|
|
}
|
|
|
|
|
|
+ @GetMapping("/new/classify")
|
|
|
+ public CommonResult<List<ImmutableMap>> classifyStat() {
|
|
|
+ Set<Long> allRhChildDeptIds = deptService.getChildDeptIdListFromCache(163l);
|
|
|
+ allRhChildDeptIds.add(163L);
|
|
|
+ // 包含设备的部门id集合
|
|
|
+ IotDevicePageReqVO deviceReqVO = new IotDevicePageReqVO();
|
|
|
+ deviceReqVO.setDeptIds(new ArrayList<>(allRhChildDeptIds));
|
|
|
+ List<IotDeviceDO> devices = iotDeviceMapper.selectListAlone(deviceReqVO);
|
|
|
+ Map<String, Long> assetCountMap = devices.stream().collect(Collectors.groupingBy(IotDeviceDO::getYfClass, Collectors.counting()));
|
|
|
+ List<ImmutableMap> abcList = new ArrayList();
|
|
|
+ assetCountMap.forEach((k, v)->{
|
|
|
+ if (StringUtils.isNotBlank(k)) {
|
|
|
+ String last = StringUtils.substringAfterLast(k, ",");
|
|
|
+ List<IotYfClassifyDO> yfClass = iotYfClassifyMapper.selectList("yf_class", last);
|
|
|
+ if (CollUtil.isNotEmpty(yfClass)) {
|
|
|
+ abcList.add(ImmutableMap.of("name", yfClass.get(0).getName(),"count", v));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return success(abcList);
|
|
|
+ }
|
|
|
}
|
|
|
|