Browse Source

1、梅州账号项目菜单区别;

2、首页添加裙楼中厨、高中区温度;
3、热水系统控制界面保留两位小数;
dev_mz
25604 3 weeks ago
parent
commit
c9e81f4ab0
  1. 2
      mh-admin/src/main/java/com/mh/web/controller/system/SysLoginController.java
  2. 91
      mh-admin/src/test/java/com/mh/MHApplicationTest.java
  3. 2
      mh-system/src/main/java/com/mh/system/service/ISysMenuService.java
  4. 12
      mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java
  5. 8
      mh-system/src/main/java/com/mh/system/service/impl/SysMenuServiceImpl.java
  6. 50
      mh-system/src/main/java/com/mh/system/service/overview/impl/ProOverviewServiceImpl.java

2
mh-admin/src/main/java/com/mh/web/controller/system/SysLoginController.java

@ -92,6 +92,6 @@ public class SysLoginController
{
Long userId = SecurityUtils.getUserId();
List<SysMenu> menus = menuService.selectMenuTreeByUserId(userId);
return AjaxResult.success(menuService.buildMenus(menus));
return AjaxResult.success(menuService.buildMenus(menus,userId));
}
}

91
mh-admin/src/test/java/com/mh/MHApplicationTest.java

@ -2,6 +2,7 @@ package com.mh;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.mh.common.core.domain.dto.ProProfileDTO;
import com.mh.common.core.domain.entity.DeviceReport;
import com.mh.common.core.domain.entity.SysParams;
import com.mh.common.core.domain.entity.SysUser;
@ -16,6 +17,7 @@ import com.mh.system.service.ISysParamsService;
import com.mh.system.service.ISysUserService;
import com.mh.system.service.device.IDeviceQrManageService;
import com.mh.system.service.operation.IAlarmRecordsService;
import com.mh.system.service.overview.IProOverviewService;
import com.mh.system.service.report.IMeterReadingsHisService;
import com.mh.system.service.report.IReportHotWaterService;
import jakarta.annotation.Resource;
@ -56,6 +58,17 @@ public class MHApplicationTest {
@Autowired
private IReportHotWaterService reportHotWaterService;
@Autowired
private IProOverviewService proOverviewService;
@Test
public void testHome() throws Exception {
// 开始计时
long startTime = System.currentTimeMillis();
List<ProProfileDTO> proProfile = proOverviewService.getProProfile();
System.out.println("耗时:" + (System.currentTimeMillis() - startTime) + "ms");
}
@Test
public void reportHotWater() {
reportHotWaterService.execProRunParamHis();
@ -88,31 +101,59 @@ public class MHApplicationTest {
@Test
public void calcEnergyData() {
for (int i = 7; i < 8; i++) {
hotWaterTask.calcEnergyData("2025-10-0"+i+" 00:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 01:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 02:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 03:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 04:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 05:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 06:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 07:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 08:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 09:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 10:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 11:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 12:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 13:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 14:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 15:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 16:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 17:00:00");
// hotWaterTask.calcEnergyData("2025-10-0"+i+" 18:00:00");
// hotWaterTask.calcEnergyData("2025-10-0"+i+" 19:00:00");
// hotWaterTask.calcEnergyData("2025-10-0"+i+" 20:00:00");
// hotWaterTask.calcEnergyData("2025-10-0"+i+" 21:00:00");
// hotWaterTask.calcEnergyData("2025-10-0"+i+" 22:00:00");
// hotWaterTask.calcEnergyData("2025-10-0"+i+" 23:00:00");
for (int i = 1; i < 17; i++) {
// i < 10,则前面添加0
if (i < 10) {
hotWaterTask.calcEnergyData("2025-10-0"+i+" 00:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 01:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 02:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 03:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 04:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 05:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 06:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 07:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 08:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 09:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 10:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 11:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 12:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 13:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 14:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 15:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 16:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 17:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 18:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 19:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 20:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 21:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 22:00:00");
hotWaterTask.calcEnergyData("2025-10-0"+i+" 23:00:00");
} else {
hotWaterTask.calcEnergyData("2025-10-" + i + " 00:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 01:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 02:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 03:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 04:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 05:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 06:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 07:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 08:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 09:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 10:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 11:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 12:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 13:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 14:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 15:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 16:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 17:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 18:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 19:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 20:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 21:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 22:00:00");
hotWaterTask.calcEnergyData("2025-10-" + i + " 23:00:00");
}
}
}

2
mh-system/src/main/java/com/mh/system/service/ISysMenuService.java

@ -68,7 +68,7 @@ public interface ISysMenuService
* @param menus 菜单列表
* @return 路由列表
*/
public List<RouterVo> buildMenus(List<SysMenu> menus);
public List<RouterVo> buildMenus(List<SysMenu> menus, Long userId);
/**
* 构建前端所需要树结构

12
mh-system/src/main/java/com/mh/system/service/device/impl/CollectionParamsManageServiceImpl.java

@ -1000,11 +1000,11 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
vo.setSwitchStatusId(item.getCpmId());
break;
case "3":
vo.setFrequencySet(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setFrequencySet(item.getCurValue());
vo.setFrequencySetId(item.getCpmId());
break;
case "4":
vo.setFrequency(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setFrequency(item.getCurValue());
vo.setFrequencyId(item.getCpmId());
break;
case "5":
@ -1033,19 +1033,19 @@ public class CollectionParamsManageServiceImpl implements ICollectionParamsManag
vo.setWaterLevelId(item.getCpmId());
break;
case "12":
vo.setTemp(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setTemp(item.getCurValue());
vo.setTempId(item.getCpmId());
break;
case "13":
vo.setPressure(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setPressure(item.getCurValue());
vo.setPressureId(item.getCpmId());
break;
case "14":
vo.setTempSet(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setTempSet(item.getCurValue());
vo.setTempSetId(item.getCpmId());
break;
case "15":
vo.setPressureSet(BigDecimal.valueOf(item.getCurValue().intValue()));
vo.setPressureSet(item.getCurValue());
vo.setPressureSetId(item.getCpmId());
break;
case "34":

8
mh-system/src/main/java/com/mh/system/service/impl/SysMenuServiceImpl.java

@ -162,7 +162,7 @@ public class SysMenuServiceImpl implements ISysMenuService
* @return 路由列表
*/
@Override
public List<RouterVo> buildMenus(List<SysMenu> menus)
public List<RouterVo> buildMenus(List<SysMenu> menus, Long userId)
{
List<RouterVo> routers = new LinkedList<RouterVo>();
for (SysMenu menu : menus)
@ -179,7 +179,7 @@ public class SysMenuServiceImpl implements ISysMenuService
{
router.setAlwaysShow(true);
router.setRedirect("noRedirect");
router.setChildren(buildMenus(cMenus));
router.setChildren(buildMenus(cMenus, userId));
}
else if (isMenuFrame(menu))
{
@ -210,6 +210,10 @@ public class SysMenuServiceImpl implements ISysMenuService
}
routers.add(router);
}
if (10005L == userId) {
// 过滤掉name=Tool,Monitor,System菜单以及对应子菜单
routers.removeIf(router -> "Tool".equals(router.getName()) || "Monitor".equals(router.getName()) || "System".equals(router.getName()));
}
return routers;
}

50
mh-system/src/main/java/com/mh/system/service/overview/impl/ProOverviewServiceImpl.java

@ -98,12 +98,14 @@ public class ProOverviewServiceImpl implements IProOverviewService {
List<CollectionParamsManage> realInAndOutTempParams = queryCollectionParams("12", "1", 140, null, true);
BigDecimal avgInTemp = new BigDecimal("0.00");
BigDecimal avgOutTemp = new BigDecimal("0.00");
BigDecimal avgInTemp1 = new BigDecimal("0.00");
BigDecimal avgOutTemp1 = new BigDecimal("0.00");
if (null != realInAndOutTempParams && !realInAndOutTempParams.isEmpty()) {
// 查询供水温度的平均值
// 查询高中区供水温度的平均值
List<BigDecimal> filteredValues = realInAndOutTempParams.stream()
.filter(param -> param != null
&& param.getOtherName() != null
&& param.getOtherName().contains("供水"))
&& (param.getOtherName().contains("高区供水") || param.getOtherName().contains("中区供水")))
.map(CollectionParamsManage::getCurValue)
.filter(Objects::nonNull)
.toList();
@ -114,11 +116,11 @@ public class ProOverviewServiceImpl implements IProOverviewService {
avgOutTemp = filteredValues.isEmpty() ? BigDecimal.ZERO :
sum.divide(BigDecimal.valueOf(filteredValues.size()), 2, BigDecimal.ROUND_HALF_UP);
// 查询回水温度的平均值
// 查询高中区回水温度的平均值
List<BigDecimal> filteredValues1 = realInAndOutTempParams.stream()
.filter(param -> param != null
&& param.getOtherName() != null
&& param.getOtherName().contains("回水"))
&& (param.getOtherName().contains("高区回水") || param.getOtherName().contains("中区回水")))
.map(CollectionParamsManage::getCurValue)
.filter(Objects::nonNull)
.toList();
@ -128,12 +130,44 @@ public class ProOverviewServiceImpl implements IProOverviewService {
avgInTemp = filteredValues1.isEmpty() ? BigDecimal.ZERO :
sum1.divide(BigDecimal.valueOf(filteredValues1.size()), 2, BigDecimal.ROUND_HALF_UP);
// 查询裙楼中厨供水温度的平均值
List<BigDecimal> filteredValues2 = realInAndOutTempParams.stream()
.filter(param -> param != null
&& param.getOtherName() != null
&& (param.getOtherName().contains("裙楼供水") || param.getOtherName().contains("中厨供水")))
.map(CollectionParamsManage::getCurValue)
.filter(Objects::nonNull)
.toList();
BigDecimal sum2 = filteredValues2.stream()
.reduce(BigDecimal.ZERO, BigDecimal::add);
avgOutTemp1 = filteredValues2.isEmpty() ? BigDecimal.ZERO :
sum2.divide(BigDecimal.valueOf(filteredValues2.size()), 2, BigDecimal.ROUND_HALF_UP);
// 查询裙楼中厨回水温度的平均值
List<BigDecimal> filteredValues3 = realInAndOutTempParams.stream()
.filter(param -> param != null
&& param.getOtherName() != null
&& (param.getOtherName().contains("裙楼回水") || param.getOtherName().contains("中厨回水")))
.map(CollectionParamsManage::getCurValue)
.filter(Objects::nonNull)
.toList();
BigDecimal sum3 = filteredValues3.stream()
.reduce(BigDecimal.ZERO, BigDecimal::add);
avgInTemp1 = filteredValues3.isEmpty() ? BigDecimal.ZERO :
sum3.divide(BigDecimal.valueOf(filteredValues3.size()), 2, BigDecimal.ROUND_HALF_UP);
}
ColumnFilter inTempColumn = new ColumnFilter("回水平均温度", avgInTemp.toString());
ColumnFilter outTempColumn = new ColumnFilter("供水平均温度", avgOutTemp.toString());
ColumnFilter inTempColumn = new ColumnFilter("高中区回水平均温度", avgInTemp.toString());
ColumnFilter outTempColumn = new ColumnFilter("高中区供水平均温度", avgOutTemp.toString());
ColumnFilter inTempColumn1 = new ColumnFilter("裙楼中厨回水平均温度", avgInTemp1.toString());
ColumnFilter outTempColumn1 = new ColumnFilter("裙楼中厨供水平均温度", avgOutTemp1.toString());
DeviceMonitorDTO deviceMonitorDTO2 = new DeviceMonitorDTO();
deviceMonitorDTO2.setName(sysDictData.getDictLabel());
deviceMonitorDTO2.setValues(Stream.of(inTempColumn, outTempColumn).collect(Collectors.toList()));
deviceMonitorDTO2.setValues(Stream.of(inTempColumn, outTempColumn, inTempColumn1, outTempColumn1).collect(Collectors.toList()));
deviceMonitorDTOList.add(deviceMonitorDTO2);
break;
case 2:
@ -291,7 +325,7 @@ public class ProOverviewServiceImpl implements IProOverviewService {
case "18":
return "总用水量";
case "19":
return "总用气量";
return "总蒸汽流量";
default:
throw new IllegalArgumentException("Invalid param type: " + paramType);
}

Loading…
Cancel
Save