Преглед на файлове

设备统计及计量器具统计

Zimo преди 2 дни
родител
ревизия
a28c600e76

+ 1 - 1
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/qhse/measure/IotMeasureBookController.java

@@ -162,7 +162,7 @@ public class IotMeasureBookController {
         //到期
         IotMeasureBookPageReqVO reqVO = new IotMeasureBookPageReqVO();
         reqVO.setExpired(true);
-        reqVO.setAlertWarn(true);
+        reqVO.setAlertWarn(null);
         long expired = iotMeasureBookMapper.selectCountByDeptAndExpireAndWarn(reqVO, ids);
         reqVO.setExpired(false);
         reqVO.setAlertWarn(true);

+ 25 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/controller/admin/stat/IotStaticController.java

@@ -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);
+    }
 }