Browse Source

1、添加区域管理,对应查询功能需要同步修改;

dev
25604 4 days ago
parent
commit
71824ddb8f
  1. 195
      user-service/src/main/java/com/mh/user/controller/AreaController.java
  2. 17
      user-service/src/main/java/com/mh/user/controller/BuildingController.java
  3. 5
      user-service/src/main/java/com/mh/user/controller/DeviceInstallController.java
  4. 60
      user-service/src/main/java/com/mh/user/controller/EnergyController.java
  5. 18
      user-service/src/main/java/com/mh/user/controller/NowDataController.java
  6. 23
      user-service/src/main/java/com/mh/user/controller/SummaryController.java
  7. 32
      user-service/src/main/java/com/mh/user/entity/AreaEntity.java
  8. 2
      user-service/src/main/java/com/mh/user/entity/BuildingEntity.java
  9. 1
      user-service/src/main/java/com/mh/user/mapper/AnalysisMapper.java
  10. 77
      user-service/src/main/java/com/mh/user/mapper/AreaMapper.java
  11. 32
      user-service/src/main/java/com/mh/user/mapper/BuildingMapper.java
  12. 6
      user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java
  13. 304
      user-service/src/main/java/com/mh/user/mapper/EnergyMapper.java
  14. 20
      user-service/src/main/java/com/mh/user/mapper/provider/BuildingProvider.java
  15. 20
      user-service/src/main/java/com/mh/user/mapper/provider/DeviceInstallProvider.java
  16. 2
      user-service/src/main/java/com/mh/user/mapper/provider/EnergyProvider.java
  17. 88
      user-service/src/main/java/com/mh/user/model/AreaBuildingTreeModel.java
  18. 10
      user-service/src/main/java/com/mh/user/model/AreaModel.java
  19. 19
      user-service/src/main/java/com/mh/user/service/AreaService.java
  20. 11
      user-service/src/main/java/com/mh/user/service/BuildingService.java
  21. 4
      user-service/src/main/java/com/mh/user/service/DeviceInstallService.java
  22. 8
      user-service/src/main/java/com/mh/user/service/EnergyService.java
  23. 6
      user-service/src/main/java/com/mh/user/service/NowDataService.java
  24. 2
      user-service/src/main/java/com/mh/user/service/SummaryService.java
  25. 54
      user-service/src/main/java/com/mh/user/service/impl/AreaServiceImpl.java
  26. 124
      user-service/src/main/java/com/mh/user/service/impl/BuildingServiceImpl.java
  27. 2
      user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java
  28. 19
      user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java
  29. 71
      user-service/src/main/java/com/mh/user/service/impl/EnergyServiceImpl.java
  30. 25
      user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java
  31. 110
      user-service/src/main/java/com/mh/user/service/impl/SummaryServiceImpl.java
  32. 8
      user-service/src/main/java/com/mh/user/strategy/EleMeterStrategy.java
  33. 6
      user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java
  34. 2
      user-service/src/main/java/com/mh/user/strategy/WtMeterStrategy.java
  35. 42
      user-service/src/main/java/com/mh/user/utils/GetReadOrder485.java
  36. 16
      user-service/src/main/resources/application-prod.yml

195
user-service/src/main/java/com/mh/user/controller/AreaController.java

@ -1,16 +1,26 @@
package com.mh.user.controller; package com.mh.user.controller;
import com.mh.common.http.HttpResult; import com.mh.common.http.HttpResult;
import com.mh.user.annotation.SysLogger;
import com.mh.user.entity.AreaEntity; import com.mh.user.entity.AreaEntity;
import com.mh.user.entity.ExceptionTableData; import com.mh.user.entity.BuildingEntity;
import com.mh.user.model.AreaModel;
import com.mh.user.service.AreaService; import com.mh.user.service.AreaService;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -20,6 +30,7 @@ import java.util.List;
* @updateTime 2022-06-09 * @updateTime 2022-06-09
* @throws * @throws
*/ */
@Slf4j
@RestController @RestController
@RequestMapping("area") @RequestMapping("area")
public class AreaController { public class AreaController {
@ -35,4 +46,178 @@ public class AreaController {
return HttpResult.ok("500", list); return HttpResult.ok("500", list);
} }
//保存
@SysLogger(title = "区域信息", optDesc = "保存区域信息")
@PostMapping(value = "/save")
public HttpResult saveArea(@RequestBody AreaEntity areaEntity) {
try {
int count = areaService.saveArea(areaEntity);
if (count > 0) {
return HttpResult.ok("保存成功");
} else {
return HttpResult.error(500, "区域id或者区域名称已存在");
}
} catch (Exception e) {
log.error("保存区域信息异常:{}", e);
return HttpResult.error();
}
}
//修改
@SysLogger(title = "区域信息", optDesc = "修改区域信息")
@PostMapping(value = "/update")
public HttpResult updateBuilding(@RequestBody AreaEntity areaEntity) {
return HttpResult.ok("success", areaService.updateArea(areaEntity));
}
//查询所有
@SysLogger(title = "区域信息", optDesc = "查询区域信息")
@PostMapping(value = "/query")
public HttpResult queryBuilding(@RequestParam(value = "areaId", required = false) String areaId,
@RequestParam(value = "page", required = true) Integer page,
@RequestParam(value = "limit", required = true) Integer limit) {
try {
int count = areaService.getCount(areaId, page, limit);
List<AreaEntity> records = areaService.queryArea(areaId, page, limit);
return HttpResult.ok(count, records);
} catch (Exception e) {
e.printStackTrace();
return HttpResult.error();
}
}
//查询区域名称
@PostMapping(value = "/name")
public HttpResult selectAreaName() {
try {
List<AreaModel> list = areaService.selectAreaName();
return HttpResult.ok(list);
} catch (Exception e) {
e.printStackTrace();
return HttpResult.error();
}
}
// 删除多
@PostMapping(value = "/deletes")
public HttpResult deleteDevices(@RequestBody List<AreaEntity> records) {
return HttpResult.ok(areaService.deleteArea(records));
}
// 删除单个
@SysLogger(title = "区域信息", optDesc = "删除区域信息")
@PostMapping(value = "/delete")
public HttpResult deleteDevice(@RequestParam String id) {
return HttpResult.ok(areaService.deleteAreaById(id));
}
// 资料批量上传
@SysLogger(title = "区域信息", optDesc = "批量导入区域信息")
@PostMapping("/import_area")
public HttpResult importExcel(@RequestParam(value = "file") MultipartFile file, HttpServletRequest req) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
HttpResult httpResult = new HttpResult();
try {
int is = 0; //判断是否有重复
String msg = "";
List<String> a = new ArrayList();
InputStream inputStream = file.getInputStream();
//创建工作簿
//如果是xls,使用HSSFWorkbook;如果是xlsx,使用XSSFWorkbook
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(inputStream);
System.out.println("xssfWorkbook对象:" + hssfWorkbook);
//读取第一个工作表
HSSFSheet sheet = hssfWorkbook.getSheetAt(0);
System.out.println("sheet对象:" + sheet);
//获取最后一行的num,即总行数。此处从0开始计数
int maxRow = sheet.getLastRowNum();
System.out.println("总行数为:" + maxRow);
if (maxRow >= 500) {
msg = "总行数不能超出500行";
httpResult.setMsg(msg);
httpResult.setCode(500);
return httpResult;
}
if (maxRow == 0) {
msg = "请先录入数据到excel文件";
httpResult.setMsg(msg);
httpResult.setCode(500);
return httpResult;
}
// 创建数组集合
List<AreaEntity> uploadEntityList = new ArrayList<>();
List<String> deviceList = new ArrayList<>();
for (int row = 1; row <= maxRow; row++) {
//获取最后单元格num,即总单元格数 ***注意:此处从1开始计数***
int maxRol = sheet.getRow(row).getLastCellNum();
System.out.println("总列数为:" + maxRol);
System.out.println("--------第" + row + "行的数据如下--------");
for (int rol = 0; rol < maxRol; rol++) {
String sCell;
if (sheet.getRow(row).getCell(rol) == null) {
sCell = "";
} else {
HSSFCell cell = sheet.getRow(row).getCell(rol);
cell.setCellType(CellType.STRING);
sCell = cell.getStringCellValue();
}
sCell = sCell.trim(); //去首尾空格
sCell = sCell.replaceAll(" ", ""); //去掉所有空格,包括首尾、中间
sCell = sCell.replaceAll("\\s*", ""); //可以替换大部分空白字符, 不限于空格,\s 可以匹配空格、制表符、换页符等空白字符的其中任意一个
System.out.print(sCell + " ");
deviceList.add(sCell);
String rolName = "";
switch (rol) {
case 2:
rolName = "区域ID";
break;
case 1:
rolName = "区域名称";
break;
case 3:
rolName = "排序";
break;
}
if ((rol >= 1) && (rol <= 4) && (sCell.equals(""))) {
msg = rolName + "不能为空";
httpResult.setMsg(msg);
httpResult.setCode(500);
return httpResult;
}
}
// 创建实体类
AreaEntity uploadEntity = new AreaEntity();
uploadEntity.setAreaId(deviceList.get(1)); // 区域ID编号
uploadEntity.setAreaName(deviceList.get(0)); // 区域名称
uploadEntity.setSort(Integer.parseInt(deviceList.get(2))); // 排序
deviceList.clear();
uploadEntityList.add(uploadEntity);
is = areaService.selectByAreaName(uploadEntity.getAreaName());
if (is > 0) {
httpResult.setMsg("楼栋名称有重复!");
httpResult.setCode(500);
}
}
if (is == 0) {
for (AreaEntity val : uploadEntityList) {
areaService.saveArea(val);
}
httpResult.setMsg("success");
httpResult.setCode(200);
return httpResult;
}
} catch (IOException e) {
// TODO Auto-generated catch block
log.error("批量导入区域异常:{}", e);
}
return httpResult;
}
} }

17
user-service/src/main/java/com/mh/user/controller/BuildingController.java

@ -3,6 +3,7 @@ package com.mh.user.controller;
import com.mh.common.http.HttpResult; import com.mh.common.http.HttpResult;
import com.mh.user.annotation.SysLogger; import com.mh.user.annotation.SysLogger;
import com.mh.user.entity.BuildingEntity; import com.mh.user.entity.BuildingEntity;
import com.mh.user.model.AreaBuildingTreeModel;
import com.mh.user.model.BuildingModel; import com.mh.user.model.BuildingModel;
import com.mh.user.service.BuildingService; import com.mh.user.service.BuildingService;
import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCell;
@ -52,10 +53,11 @@ public class BuildingController {
@PostMapping(value = "/query") @PostMapping(value = "/query")
public HttpResult queryBuilding(@RequestParam(value = "buildingId", required = false)String buildingId, public HttpResult queryBuilding(@RequestParam(value = "buildingId", required = false)String buildingId,
@RequestParam(value= "page", required=true)Integer page, @RequestParam(value= "page", required=true)Integer page,
@RequestParam(value = "level", required = false, defaultValue = "0")int level,
@RequestParam(value= "limit", required=true)Integer limit) { @RequestParam(value= "limit", required=true)Integer limit) {
try{ try{
int count=buildingService.getCount(buildingId, page,limit); List<BuildingEntity> records=buildingService.queryBuilding(buildingId, page,limit, level);
List<BuildingEntity> records=buildingService.queryBuilding(buildingId, page,limit); int count=buildingService.getCount(buildingId, page,limit, level);
return HttpResult.ok(count,records); return HttpResult.ok(count,records);
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
@ -67,6 +69,8 @@ public class BuildingController {
@PostMapping(value="/name") @PostMapping(value="/name")
public HttpResult selectBuildingName() { public HttpResult selectBuildingName() {
try{ try{
// List<AreaBuildingTreeModel> list=buildingService.queryTree();
// return HttpResult.ok(list);
List<BuildingModel> list=buildingService.selectBuildingName(); List<BuildingModel> list=buildingService.selectBuildingName();
return HttpResult.ok(list); return HttpResult.ok(list);
}catch (Exception e){ }catch (Exception e){
@ -236,4 +240,13 @@ public class BuildingController {
return HttpResult.ok("success",count); return HttpResult.ok("success",count);
} }
/**
* 查询树形结构楼栋信息
*/
@PostMapping(value="/tree")
public HttpResult queryTree() {
List<AreaBuildingTreeModel> list=buildingService.queryTree();
return HttpResult.ok(list);
}
} }

5
user-service/src/main/java/com/mh/user/controller/DeviceInstallController.java

@ -129,6 +129,7 @@ public class DeviceInstallController {
@RequestParam(value = "isOnline", required=false)String isOnline, @RequestParam(value = "isOnline", required=false)String isOnline,
@RequestParam(value = "isUse", required=false)String isUse, @RequestParam(value = "isUse", required=false)String isUse,
@RequestParam(value = "isFault", required=false)String isFault, @RequestParam(value = "isFault", required=false)String isFault,
@RequestParam(value = "level", required=false, defaultValue = "0")int level,
@RequestParam(value = "page", required=true)Integer page, @RequestParam(value = "page", required=true)Integer page,
@RequestParam(value = "limit", required=true)Integer limit) { @RequestParam(value = "limit", required=true)Integer limit) {
try{ try{
@ -137,8 +138,8 @@ public class DeviceInstallController {
String curDate=sdf1.format(date); String curDate=sdf1.format(date);
dealDataService.proDeviceState(curDate); //刷新统计设备状态数据 dealDataService.proDeviceState(curDate); //刷新统计设备状态数据
int count=deviceInstallService.getCount(buildingId,deviceType, startDate, endDate,isOnline,isUse,isFault, page,limit); int count=deviceInstallService.getCount(buildingId,deviceType, startDate, endDate,isOnline,isUse,isFault, page,limit, level);
List<DeviceInstallEntity> records=deviceInstallService.queryDevice(buildingId,deviceType, startDate, endDate,isOnline,isUse,isFault, page,limit); List<DeviceInstallEntity> records=deviceInstallService.queryDevice(buildingId,deviceType, startDate, endDate,isOnline,isUse,isFault, page,limit, level);
return HttpResult.ok(count,records); return HttpResult.ok(count,records);
}catch (Exception e){ }catch (Exception e){
//e.printStackTrace(); //e.printStackTrace();

60
user-service/src/main/java/com/mh/user/controller/EnergyController.java

@ -2,12 +2,14 @@ package com.mh.user.controller;
import com.mh.common.http.HttpResult; import com.mh.common.http.HttpResult;
import com.mh.user.annotation.SysLogger; import com.mh.user.annotation.SysLogger;
import com.mh.user.entity.BuildingEntity;
import com.mh.user.entity.EnergyEntity; import com.mh.user.entity.EnergyEntity;
import com.mh.user.model.SumModel; import com.mh.user.model.SumModel;
import com.mh.user.service.BuildingService; import com.mh.user.service.BuildingService;
import com.mh.user.service.EnergyService; import com.mh.user.service.EnergyService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
@ -67,29 +69,30 @@ public class EnergyController {
public HttpResult queryEnergy(@RequestParam(value = "buildingId", required = false) String buildingId, public HttpResult queryEnergy(@RequestParam(value = "buildingId", required = false) String buildingId,
@RequestParam(value = "startDate", required = false) String startDate, @RequestParam(value = "startDate", required = false) String startDate,
@RequestParam(value = "endDate", required = false) String endDate, @RequestParam(value = "endDate", required = false) String endDate,
@RequestParam(value = "level", required = false, defaultValue = "0") int level,
@RequestParam(value = "page") int page, @RequestParam(value = "page") int page,
@RequestParam(value = "limit") int limit, @RequestParam(value = "limit") int limit,
@RequestParam(value = "type") int type) { @RequestParam(value = "type") int type) {
try { try {
String areaId=""; // String areaId="";
if (buildingId!=null && buildingId.length()>0){ // if (buildingId!=null && buildingId.length()>0){
if (!buildingId.equals("所有")){ // if (!buildingId.equals("所有")){
areaId=buildingService.queryAreaId(Integer.parseInt(buildingId)); // areaId=buildingService.queryAreaId(Integer.parseInt(buildingId));
} // }
} // }
List<EnergyEntity> list = new ArrayList<>(); List<EnergyEntity> list = new ArrayList<>();
int count = 0; int count = 0;
if (areaId!=null && areaId.length()>0){ // if (areaId!=null && areaId.length()>0){
list=energyService.queryEnergy(areaId,startDate,endDate,page,limit,type); list = energyService.queryEnergy(buildingId, startDate, endDate, page, limit, type, level);
count=energyService.getEnergyCount(areaId,startDate,endDate,page,limit,type); count = energyService.getEnergyCount(buildingId, startDate, endDate, page, limit, type, level);
}else{ // }else{
list=energyService.queryEnergy(buildingId,startDate,endDate,page,limit,type); // list=energyService.queryEnergy(buildingId,startDate,endDate,page,limit,type, level);
count=energyService.getEnergyCount(buildingId,startDate,endDate,page,limit,type); // count=energyService.getEnergyCount(buildingId,startDate,endDate,page,limit,type, level);
} // }
// System.out.println("返回前端数据:"+list); // System.out.println("返回前端数据:"+list);
return HttpResult.ok(count, list); return HttpResult.ok(count, list);
} catch (Exception e) { } catch (Exception e) {
// e.printStackTrace(); e.printStackTrace();
return HttpResult.error("查询出错!"); return HttpResult.error("查询出错!");
} }
@ -149,24 +152,27 @@ public class EnergyController {
@PostMapping("/queryHour") @PostMapping("/queryHour")
public HttpResult queryHourEnergy(@RequestParam(value = "buildingId", required = false) String buildingId, public HttpResult queryHourEnergy(@RequestParam(value = "buildingId", required = false) String buildingId,
@RequestParam(value = "curDate", required = false) String curDate, @RequestParam(value = "curDate", required = false) String curDate,
@RequestParam(value = "level", required = false, defaultValue = "0") int level,
@RequestParam(value = "page") int page, @RequestParam(value = "page") int page,
@RequestParam(value = "limit") int limit) { @RequestParam(value = "limit") int limit) {
try { try {
String areaId=""; // String areaId = "";
if (buildingId!=null && buildingId.length()>0){ // if (buildingId != null && buildingId.length() > 0) {
if (!buildingId.equals("所有")){ // if (!buildingId.equals("所有")) {
areaId=buildingService.queryAreaId(Integer.parseInt(buildingId)); // areaId = buildingService.queryAreaId(Integer.parseInt(buildingId));
} // }
} // }
List<EnergyEntity> list; List<EnergyEntity> list;
int count = 0; int count = 0;
if (areaId!=null && areaId.length()>0){ // if (areaId != null && areaId.length() > 0) {
list=energyService.queryHourEnergy(areaId,curDate,page,limit); // list = energyService.queryHourEnergy(areaId, curDate, page, limit, level);
count=energyService.getHourEnergyCount(areaId,curDate); //// count=energyService.getHourEnergyCount(areaId,curDate, level);
}else{ // count = list.size();
list=energyService.queryHourEnergy(buildingId,curDate,page,limit); // } else {
count=energyService.getHourEnergyCount(buildingId,curDate); list = energyService.queryHourEnergy(buildingId, curDate, page, limit, level);
} // count=energyService.getHourEnergyCount(buildingId,curDate, level);
count = list.size();
// }
return HttpResult.ok(count, list); return HttpResult.ok(count, list);
} catch (Exception e) { } catch (Exception e) {

18
user-service/src/main/java/com/mh/user/controller/NowDataController.java

@ -144,19 +144,20 @@ public class NowDataController {
@PostMapping("/waterLevel") @PostMapping("/waterLevel")
public HttpResult queryWaterLevel(@RequestParam(value = "curDate") String curDate, public HttpResult queryWaterLevel(@RequestParam(value = "curDate") String curDate,
@RequestParam(value = "buildingID") String buildingID, @RequestParam(value = "buildingID") String buildingID,
@RequestParam(value = "level", defaultValue = "0") int level,
@RequestParam(value = "page") int page, @RequestParam(value = "page") int page,
@RequestParam(value = "limit") int limit) { @RequestParam(value = "limit") int limit) {
try { try {
if (buildingID==null || buildingID.equals("") || buildingID.equals("所有楼栋")){ if (buildingID == null || buildingID.equals("") || buildingID.equals("所有楼栋") || level == 0 || level == 1) {
List<WaterLevelEntity> list=nowDataService.queryBuildWaterLevel(curDate, page, limit); List<WaterLevelEntity> list = nowDataService.queryBuildWaterLevel(curDate, page, limit, level, buildingID);
int count=nowDataService.buildWaterLevelCount(curDate); // int count = nowDataService.buildWaterLevelCount(curDate);
int count = list.size();
return HttpResult.ok(count, list); return HttpResult.ok(count, list);
} else { } else {
List<WaterLevelEntity> list = nowDataService.queryWaterLevel(curDate, buildingID, page, limit); List<WaterLevelEntity> list = nowDataService.queryWaterLevel(curDate, buildingID, page, limit);
int count = nowDataService.getWaterLevelCount(curDate, buildingID); int count = nowDataService.getWaterLevelCount(curDate, buildingID);
return HttpResult.ok(count, list); return HttpResult.ok(count, list);
} }
} catch (Exception e) { } catch (Exception e) {
// e.printStackTrace(); // e.printStackTrace();
return HttpResult.error("查询出错!"); return HttpResult.error("查询出错!");
@ -183,14 +184,17 @@ public class NowDataController {
@PostMapping("/waterTemp") @PostMapping("/waterTemp")
public HttpResult queryWaterTemp(@RequestParam(value = "buildingID") String buildingID, public HttpResult queryWaterTemp(@RequestParam(value = "buildingID") String buildingID,
@RequestParam(value = "curDate") String curDate, @RequestParam(value = "curDate") String curDate,
@RequestParam(value = "level", defaultValue = "0") int level,
@RequestParam(value = "page") int page, @RequestParam(value = "page") int page,
@RequestParam(value = "limit") int limit) { @RequestParam(value = "limit") int limit) {
try { try {
List<WaterTempEntity> list; List<WaterTempEntity> list;
int count; int count;
if (buildingID==null || buildingID.equals("") || buildingID.equals("所有楼栋")){ // 校区或者区域
list=nowDataService.queryWaterTemp2(curDate,page,limit); if (buildingID == null || buildingID.equals("") || buildingID.equals("所有楼栋") || level == 0 || level == 1) {
count=nowDataService.queryWaterTempCount2(curDate); list = nowDataService.queryWaterTemp2(curDate, page, limit, level, buildingID);
// count = nowDataService.queryWaterTempCount2(curDate, level, buildingID);
count = list.size();
} else { } else {
list = nowDataService.queryWaterTemp(buildingID, curDate, page, limit); list = nowDataService.queryWaterTemp(buildingID, curDate, page, limit);
count = nowDataService.queryWaterTempCount(buildingID, curDate); count = nowDataService.queryWaterTempCount(buildingID, curDate);

23
user-service/src/main/java/com/mh/user/controller/SummaryController.java

@ -40,20 +40,21 @@ public class SummaryController {
@PostMapping(value="/energySum") @PostMapping(value="/energySum")
public HttpResult queryEnergySum(@RequestParam(value= "buildingId", required=false)String buildingId, public HttpResult queryEnergySum(@RequestParam(value= "buildingId", required=false)String buildingId,
@RequestParam(value= "curDate", required=false)String curDate, @RequestParam(value= "curDate", required=false)String curDate,
@RequestParam(value= "level", required=false, defaultValue="0") int level,
@RequestParam(value= "type", required=true)Integer type) { @RequestParam(value= "type", required=true)Integer type) {
try{ try{
String areaId=""; // String areaId="";
if (buildingId!=null && buildingId.length()>0){ // if (buildingId!=null && buildingId.length()>0){
if (!buildingId.equals("所有")){ // if (!buildingId.equals("所有")){
areaId=buildingService.queryAreaId(Integer.parseInt(buildingId)); // areaId=buildingService.queryAreaId(Integer.parseInt(buildingId));
} // }
} // }
EnergySumEntity record; EnergySumEntity record;
if (areaId!=null && areaId.length()>0){ // if (areaId!=null && areaId.length()>0){
record=summaryService.queryEnergySum(areaId,curDate,type); // record=summaryService.queryEnergySum(areaId,curDate,type);
}else{ // }else{
record=summaryService.queryEnergySum(buildingId,curDate,type); record=summaryService.queryEnergySum(buildingId,curDate,type, level);
} // }
return HttpResult.ok(record); return HttpResult.ok(record);
}catch (Exception e){ }catch (Exception e){
//e.printStackTrace(); //e.printStackTrace();

32
user-service/src/main/java/com/mh/user/entity/AreaEntity.java

@ -1,11 +1,33 @@
package com.mh.user.entity; package com.mh.user.entity;
import java.util.StringJoiner;
public class AreaEntity { public class AreaEntity {
private Long id;
private String areaId; private String areaId;
private String areaName; private String areaName;
private int sort;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public String getAreaId() { public String getAreaId() {
return areaId; return areaId;
} }
@ -24,9 +46,11 @@ public class AreaEntity {
@Override @Override
public String toString() { public String toString() {
return "AreaEntity{" + return new StringJoiner(", ", AreaEntity.class.getSimpleName() + "[", "]")
"areaId='" + areaId + '\'' + .add("id=" + id)
", areaName='" + areaName + '\'' + .add("areaId='" + areaId + "'")
'}'; .add("areaName='" + areaName + "'")
.add("sort=" + sort)
.toString();
} }
} }

2
user-service/src/main/java/com/mh/user/entity/BuildingEntity.java

@ -14,9 +14,11 @@ public class BuildingEntity {
private int bedCount; private int bedCount;
private int checkInCount; private int checkInCount;
private String areaId; private String areaId;
private String areaName;
private String remarks; private String remarks;
private Double tankHeight; private Double tankHeight;
private Double lowTankHeight; private Double lowTankHeight;
private int pumpCount; private int pumpCount;
private int sort;
} }

1
user-service/src/main/java/com/mh/user/mapper/AnalysisMapper.java

@ -46,7 +46,6 @@ public interface AnalysisMapper {
@Result(column = "item_type", property = "itemType"), @Result(column = "item_type", property = "itemType"),
@Result(column = "total_value", property = "totalValue") @Result(column = "total_value", property = "totalValue")
}) })
@Select("select * from analysis_elect_month where cur_date=#{curDate} and building_id=#{buildingId}") @Select("select * from analysis_elect_month where cur_date=#{curDate} and building_id=#{buildingId}")
List<AnalysisMonthEntity> queryAnalysisElectMonth(@Param("curDate") String curDate, @Param("buildingId") String buildingId); List<AnalysisMonthEntity> queryAnalysisElectMonth(@Param("curDate") String curDate, @Param("buildingId") String buildingId);

77
user-service/src/main/java/com/mh/user/mapper/AreaMapper.java

@ -1,18 +1,79 @@
package com.mh.user.mapper; package com.mh.user.mapper;
import com.mh.user.entity.AreaEntity; import com.mh.user.entity.AreaEntity;
import org.apache.ibatis.annotations.Mapper; import com.mh.user.model.AreaModel;
import org.apache.ibatis.annotations.Result; import org.apache.ibatis.annotations.*;
import org.apache.ibatis.annotations.Results; import tk.mybatis.mapper.common.BaseMapper;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
@Mapper @Mapper
public interface AreaMapper { public interface AreaMapper extends BaseMapper<AreaEntity> {
@Results({ @Result(property = "areaId", column = "area_id"), @Results({
@Result(property = "areaName", column = "area_name")}) @Result(property = "areaId", column = "area_id"),
@Select("select * from area ") @Result(property = "areaName", column = "area_name"),
@Result(property = "sort", column = "sort"),
})
@Select("select * from area order by sort ")
List<AreaEntity> findAll(); List<AreaEntity> findAll();
@Select("select count(*) from area where area_id=#{areaId} and area_name=#{areaName}")
int selectCountByAreaIdAndAreaName(String areaId, String areaName);
@Select("select count(*) from area where id= #{areaId}")
int getCount(String areaId, Integer page, Integer limit);
@Select({
"<script>",
"select * from (",
" select *, ROW_NUMBER() over(order by id) as rn from area ",
" where 1=1 ",
" <if test='areaId != null and areaId != \"\"'>",
" AND id = #{areaId}",
" </if>",
" ) T",
" <if test='page != 0 and limit != 0'>",
" where T.rn &gt; (#{page}-1)*#{limit} and T.rn &lt;= #{page}*#{limit} ",
" </if>",
" <if test='page == 0'>",
" </if>",
" order by sort ",
"</script>"
})
@Results(value = {
@Result(property="id",column="id"),
@Result(property="areaName",column="area_name"),
@Result(property="areaId",column="area_id")
})
List<AreaEntity> queryArea(String areaId, Integer page, Integer limit);
//查询所有楼栋编号和名称
@Select("select * from area order by sort ")
@Results(value = {
@Result(property="areaId",column="id"),
@Result(property="areaName",column="area_name")
})
List<AreaModel> selectAreaName();
@Delete("delete from area where id=#{id} ")
int deleteArea(String id);
@Select("select count(*) from area where area_name= #{areaName}")
int selectByAreaName(String areaName);
@Results({
@Result(property = "areaId", column = "area_id"),
@Result(property = "areaName", column = "area_name"),
@Result(property = "sort", column = "sort"),
@Result(property = "id", column = "id")
})
@Select("select * from area where id= #{id} ")
AreaEntity selectById(String buildingId);
@Insert("insert into area(area_id,area_name,sort) values(#{areaId},#{areaName},#{sort})")
int insertArea(AreaEntity areaEntity);
@Update("update area set area_id=#{areaId},area_name=#{areaName},sort=#{sort} where id=#{id}")
int updateArea(AreaEntity areaEntity);
} }

32
user-service/src/main/java/com/mh/user/mapper/BuildingMapper.java

@ -60,11 +60,11 @@ public interface BuildingMapper {
@Result(property="pumpCount",column="pump_count"), @Result(property="pumpCount",column="pump_count"),
@Result(property="remarks",column="remarks"), @Result(property="remarks",column="remarks"),
@Result(property="tankHeight",column="tankHeight"), @Result(property="tankHeight",column="tankHeight"),
@Result(property="lowTankHeight",column="low_tank_height") @Result(property="lowTankHeight",column="low_tank_height"),
@Result(property="areaName",column="area_name")
}) })
@SelectProvider(type = BuildingProvider.class,method = "queryBuilding") @SelectProvider(type = BuildingProvider.class,method = "queryBuilding")
List<BuildingEntity> queryBuilding(@Param("buildingId") String buildingId,@Param("page") int page, @Param("limit") int limit); List<BuildingEntity> queryBuilding(@Param("buildingId") String buildingId,@Param("page") int page, @Param("limit") int limit, @Param("level") int level);
/** /**
* 楼栋管理模块 * 楼栋管理模块
@ -72,7 +72,7 @@ public interface BuildingMapper {
* @return * @return
*/ */
@SelectProvider(type = BuildingProvider.class,method = "getCount") @SelectProvider(type = BuildingProvider.class,method = "getCount")
int getCount(@Param("buildingId") String buildingId,@Param("page") int page, @Param("limit") int limit); int getCount(@Param("buildingId") String buildingId,@Param("page") int page, @Param("limit") int limit, @Param("level") int level);
//查询所有楼栋编号和名称 //查询所有楼栋编号和名称
@Results(value = { @Results(value = {
@ -122,4 +122,28 @@ public interface BuildingMapper {
@Select("select low_tank_height from building where id=#{id}" ) @Select("select low_tank_height from building where id=#{id}" )
Double queryLowTankHeight(@Param("id") String buildingId); Double queryLowTankHeight(@Param("id") String buildingId);
@Results(value = {
@Result(property="id",column="id"),
@Result(property="buildingName",column="building_name"),
@Result(property="levelsCount",column="levels_count"),
@Result(property="beginLevel",column="begin_level"),
@Result(property ="houseCount",column ="house_count"),
@Result(property ="bedCount",column ="bed_count"),
@Result(property="checkInCount",column="check_in_count"),
@Result(property="areaId",column="area_id"),
@Result(property="pumpCount",column="pump_count"),
@Result(property="remarks",column="remarks"),
@Result(property="tankHeight",column="tankHeight"),
@Result(property="lowTankHeight",column="low_tank_height"),
@Result(property="sort",column="sort"),
})
@Select("select * from building ")
List<BuildingEntity> selectAll();
@Select("select id from building where area_id = #{areaId} order by sort ")
List<String> queryBuildingIdListByAreaId(String areaId);
@Select("select sum(check_in_count) from building where area_id = #{areaId} ")
int queryCheckInCount(@Param("areaId") String areaId);
} }

6
user-service/src/main/java/com/mh/user/mapper/DeviceInstallMapper.java

@ -118,7 +118,8 @@ public interface DeviceInstallMapper extends BaseMapper<DeviceInstallEntity> {
@Param("isUse")String isUse, @Param("isUse")String isUse,
@Param("isFault")String isFault, @Param("isFault")String isFault,
@Param("page") int page, @Param("page") int page,
@Param("limit") int limit); @Param("limit") int limit,
@Param("level") int level);
/** /**
* 设备管理模块 * 设备管理模块
* 根据条件获取设备查询的总条数 * 根据条件获取设备查询的总条数
@ -133,7 +134,8 @@ public interface DeviceInstallMapper extends BaseMapper<DeviceInstallEntity> {
@Param("isUse")String isUse, @Param("isUse")String isUse,
@Param("isFault")String isFault, @Param("isFault")String isFault,
@Param("page") int page, @Param("page") int page,
@Param("limit") int limit); @Param("limit") int limit,
@Param("level") int level);
//查询设备故障情况 //查询设备故障情况
@SelectProvider(type = DeviceInstallProvider.class,method = "getIsFaultCount") @SelectProvider(type = DeviceInstallProvider.class,method = "getIsFaultCount")

304
user-service/src/main/java/com/mh/user/mapper/EnergyMapper.java

@ -230,4 +230,308 @@ public interface EnergyMapper {
SumModel queryEnergySum(); SumModel queryEnergySum();
@Select({
"<script>",
"SELECT count(1) FROM (",
" SELECT " +
" cur_date, " +
" sum(use_hot_water) as use_hot_water, " +
" sum(elect_value) as elect_value, " +
" CASE WHEN sum(use_hot_water) = 0 THEN 0 ELSE sum(elect_value)/ sum(use_hot_water) END as elect_water, " +
" sum(check_in_count) as check_in_count, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(use_hot_water) / sum(check_in_count) END as per_water, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(elect_value)/ sum(check_in_count) END as per_elect , " +
" ROW_NUMBER() OVER(ORDER BY cur_date DESC) AS rn " +
" FROM energy_day",
" WHERE 1=1",
" <if test='buildingIds != null and !buildingIds.isEmpty()'>",
" AND building_id IN",
" <foreach collection='buildingIds' item='id' open='(' separator=',' close=')'>",
" #{id}",
" </foreach>",
" </if>",
" <if test='startDate != null and startDate != \"\"'>",
" AND LEFT(cur_date,10) &gt;= #{startDate}",
" </if>",
" <if test='endDate != null and endDate != \"\"'>",
" AND LEFT(cur_date,10) &lt;= #{endDate}",
" </if>",
" group by cur_date ) T",
"</script>"
})
int getAreaEnergyDayCount(@Param("buildingIds") List<String> buildingIds,
@Param("startDate") String startDate,
@Param("endDate") String endDate,
@Param("page") int page,
@Param("limit") int limit);
@Select({
"<script>",
"SELECT T.cur_date, " +
" T.use_hot_water , " +
" T.elect_value, " +
" T.elect_water, " +
" t.check_in_count , " +
" t.per_water , " +
" t.per_elect , " +
" t.rn, " +
" #{areaName} as building_name FROM (",
" SELECT " +
" cur_date, " +
" sum(use_hot_water) as use_hot_water, " +
" sum(elect_value) as elect_value, " +
" CASE WHEN sum(use_hot_water) = 0 THEN 0 ELSE sum(elect_value)/ sum(use_hot_water) END as elect_water, " +
" sum(check_in_count) as check_in_count, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(use_hot_water) / sum(check_in_count) END as per_water, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(elect_value)/ sum(check_in_count) END as per_elect , " +
" ROW_NUMBER() OVER(ORDER BY cur_date DESC) AS rn " +
" FROM energy_day",
" WHERE 1=1",
" <if test='buildingIds != null and !buildingIds.isEmpty()'>",
" AND building_id IN",
" <foreach collection='buildingIds' item='id' open='(' separator=',' close=')'>",
" #{id}",
" </foreach>",
" </if>",
" <if test='startDate != null and startDate != \"\"'>",
" AND LEFT(cur_date,10) &gt;= #{startDate}",
" </if>",
" <if test='endDate != null and endDate != \"\"'>",
" AND LEFT(cur_date,10) &lt;= #{endDate}",
" </if>",
" group by cur_date ) T",
"<where>",
" <if test='page != 0 and limit != 0'>",
" T.rn &gt; (#{page}-1)*#{limit} AND T.rn &lt;= #{page}*#{limit}",
" </if>",
"</where>",
"ORDER BY T.cur_date DESC",
"</script>"
})
@ResultMap("rs")
List<EnergyEntity> getAreaEnergyDay(@Param("buildingIds") List<String> buildingIds,
@Param("startDate") String startDate,
@Param("endDate") String endDate,
@Param("page") int page,
@Param("limit") int limit,
@Param("areaName") String areaName);
@Select({
"<script>",
"SELECT count(1) FROM (",
" SELECT " +
" cur_date, " +
" sum(use_hot_water) as use_hot_water, " +
" sum(elect_value) as elect_value, " +
" CASE WHEN sum(use_hot_water) = 0 THEN 0 ELSE sum(elect_value)/ sum(use_hot_water) END as elect_water, " +
" sum(check_in_count) as check_in_count, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(use_hot_water) / sum(check_in_count) END as per_water, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(elect_value)/ sum(check_in_count) END as per_elect , " +
" ROW_NUMBER() OVER(ORDER BY cur_date DESC) AS rn " +
" FROM energy_month",
" WHERE 1=1",
" <if test='buildingIds != null and !buildingIds.isEmpty()'>",
" AND building_id IN",
" <foreach collection='buildingIds' item='id' open='(' separator=',' close=')'>",
" #{id}",
" </foreach>",
" </if>",
" <if test='startDate != null and startDate != \"\"'>",
" AND LEFT(cur_date,7) &gt;= #{startDate}",
" </if>",
" <if test='endDate != null and endDate != \"\"'>",
" AND LEFT(cur_date,7) &lt;= #{endDate}",
" </if>",
" group by cur_date ) T",
"</script>"
})
int getAreaEnergyMonthCount(@Param("buildingIds") List<String> buildingIds,
@Param("startDate") String startDate,
@Param("endDate") String endDate,
@Param("page") int page,
@Param("limit") int limit);
@Select({
"<script>",
"SELECT T.cur_date, " +
" T.use_hot_water , " +
" T.elect_value, " +
" T.elect_water, " +
" t.check_in_count , " +
" t.per_water , " +
" t.per_elect , " +
" t.rn, " +
" #{areaName} as building_name FROM (",
" SELECT " +
" cur_date, " +
" sum(use_hot_water) as use_hot_water, " +
" sum(elect_value) as elect_value, " +
" CASE WHEN sum(use_hot_water) = 0 THEN 0 ELSE sum(elect_value)/ sum(use_hot_water) END as elect_water, " +
" sum(check_in_count) as check_in_count, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(use_hot_water) / sum(check_in_count) END as per_water, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(elect_value)/ sum(check_in_count) END as per_elect , " +
" ROW_NUMBER() OVER(ORDER BY cur_date DESC) AS rn " +
" FROM energy_month ",
" WHERE 1=1",
" <if test='buildingIds != null and !buildingIds.isEmpty()'>",
" AND building_id IN",
" <foreach collection='buildingIds' item='id' open='(' separator=',' close=')'>",
" #{id}",
" </foreach>",
" </if>",
" <if test='startDate != null and startDate != \"\"'>",
" AND LEFT(cur_date,7) &gt;= #{startDate}",
" </if>",
" <if test='endDate != null and endDate != \"\"'>",
" AND LEFT(cur_date,7) &lt;= #{endDate}",
" </if>",
" group by cur_date ) T",
"<where>",
" <if test='page != 0 and limit != 0'>",
" T.rn &gt; (#{page}-1)*#{limit} AND T.rn &lt;= #{page}*#{limit}",
" </if>",
"</where>",
"ORDER BY T.cur_date DESC",
"</script>"
})
@ResultMap("rs")
List<EnergyEntity> getAreaEnergyMonth(@Param("buildingIds") List<String> buildingIds,
@Param("startDate") String startDate,
@Param("endDate") String endDate,
@Param("page") int page,
@Param("limit") int limit,
@Param("areaName") String areaName);
@Select({
"<script>",
"SELECT count(1) FROM (",
" SELECT " +
" cur_date, " +
" sum(use_hot_water) as use_hot_water, " +
" sum(elect_value) as elect_value, " +
" CASE WHEN sum(use_hot_water) = 0 THEN 0 ELSE sum(elect_value)/ sum(use_hot_water) END as elect_water, " +
" sum(check_in_count) as check_in_count, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(use_hot_water) / sum(check_in_count) END as per_water, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(elect_value)/ sum(check_in_count) END as per_elect , " +
" ROW_NUMBER() OVER(ORDER BY cur_date DESC) AS rn " +
" FROM energy_year",
" WHERE 1=1",
" <if test='buildingIds != null and !buildingIds.isEmpty()'>",
" AND building_id IN",
" <foreach collection='buildingIds' item='id' open='(' separator=',' close=')'>",
" #{id}",
" </foreach>",
" </if>",
" <if test='startDate != null and startDate != \"\"'>",
" AND LEFT(cur_date,4) &gt;= #{startDate}",
" </if>",
" <if test='endDate != null and endDate != \"\"'>",
" AND LEFT(cur_date,4) &lt;= #{endDate}",
" </if>",
" group by cur_date ) T",
"</script>"
})
int getAreaEnergyYearCount(@Param("buildingIds") List<String> buildingIds,
@Param("startDate") String startDate,
@Param("endDate") String endDate,
@Param("page") int page,
@Param("limit") int limit);
@Select({
"<script>",
"SELECT T.cur_date, " +
" T.use_hot_water , " +
" T.elect_value, " +
" T.elect_water, " +
" t.check_in_count , " +
" t.per_water , " +
" t.per_elect , " +
" t.rn, " +
" #{areaName} as building_name FROM (",
" SELECT " +
" cur_date, " +
" sum(use_hot_water) as use_hot_water, " +
" sum(elect_value) as elect_value, " +
" CASE WHEN sum(use_hot_water) = 0 THEN 0 ELSE sum(elect_value)/ sum(use_hot_water) END as elect_water, " +
" sum(check_in_count) as check_in_count, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(use_hot_water) / sum(check_in_count) END as per_water, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(elect_value)/ sum(check_in_count) END as per_elect , " +
" ROW_NUMBER() OVER(ORDER BY cur_date DESC) AS rn " +
" FROM energy_year ",
" WHERE 1=1",
" <if test='buildingIds != null and !buildingIds.isEmpty()'>",
" AND building_id IN",
" <foreach collection='buildingIds' item='id' open='(' separator=',' close=')'>",
" #{id}",
" </foreach>",
" </if>",
" <if test='startDate != null and startDate != \"\"'>",
" AND LEFT(cur_date,4) &gt;= #{startDate}",
" </if>",
" <if test='endDate != null and endDate != \"\"'>",
" AND LEFT(cur_date,4) &lt;= #{endDate}",
" </if>",
" group by cur_date ) T",
"<where>",
" <if test='page != 0 and limit != 0'>",
" T.rn &gt; (#{page}-1)*#{limit} AND T.rn &lt;= #{page}*#{limit}",
" </if>",
"</where>",
"ORDER BY T.cur_date DESC",
"</script>"
})
@ResultMap("rs")
List<EnergyEntity> getAreaEnergyYear(@Param("buildingIds") List<String> buildingIds,
@Param("startDate") String startDate,
@Param("endDate") String endDate,
@Param("page") int page,
@Param("limit") int limit,
@Param("areaName") String areaName);
@Select({
"<script>",
"SELECT T.cur_date, " +
" T.use_hot_water , " +
" T.elect_value, " +
" T.elect_water, " +
" t.check_in_count , " +
" t.per_water , " +
" t.per_elect , " +
" t.rn, " +
" #{areaName} as building_name FROM (",
" SELECT " +
" cur_date, " +
" sum(use_hot_water) as use_hot_water, " +
" sum(elect_value) as elect_value, " +
" CASE WHEN sum(use_hot_water) = 0 THEN 0 ELSE sum(elect_value)/ sum(use_hot_water) END as elect_water, " +
" sum(check_in_count) as check_in_count, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(use_hot_water) / sum(check_in_count) END as per_water, " +
" CASE WHEN sum(check_in_count) = 0 THEN 0 ELSE sum(elect_value)/ sum(check_in_count) END as per_elect , " +
" ROW_NUMBER() OVER(ORDER BY cur_date DESC) AS rn " +
" FROM energy_hour ",
" WHERE 1=1",
" <if test='buildingIds != null and !buildingIds.isEmpty()'>",
" AND building_id IN",
" <foreach collection='buildingIds' item='id' open='(' separator=',' close=')'>",
" #{id}",
" </foreach>",
" </if>",
" <if test='curDate != null and curDate != \"\"'>",
" AND LEFT(cur_date,10) = #{curDate}",
" </if>",
" group by cur_date ) T",
"<where>",
" <if test='page != 0 and limit != 0'>",
" T.rn &gt; (#{page}-1)*#{limit} AND T.rn &lt;= #{page}*#{limit}",
" </if>",
"</where>",
"ORDER BY T.cur_date DESC",
"</script>"
})
@ResultMap("rs")
List<EnergyEntity> getAreaEnergyHour(@Param("buildingIds") List<String> buildingIds,
@Param("curDate") String curDate,
@Param("page") int page,
@Param("limit") int limit,
@Param("areaName") String areaName);
} }

20
user-service/src/main/java/com/mh/user/mapper/provider/BuildingProvider.java

@ -2,14 +2,20 @@ package com.mh.user.mapper.provider;
public class BuildingProvider { public class BuildingProvider {
public String queryBuilding(String buildingId, int page, int limit){ public String queryBuilding(String buildingId, int page, int limit, int level){
StringBuffer sql = new StringBuffer(""); StringBuffer sql = new StringBuffer("");
sql.append("select * from (" + sql.append("select * from (" +
" select *,ROW_NUMBER() over(order by id) as rn from building " + " select bd.*,ar.area_name,ROW_NUMBER() over(order by bd.id) as rn from building bd left join area ar on bd.area_id = ar.id " +
" where 1=1 "); " where 1=1 ");
if (level == 2) {
if (buildingId != null && !buildingId.equals("")) { if (buildingId != null && !buildingId.equals("")) {
sql.append(" AND id = #{buildingId} "); sql.append(" AND bd.id = #{buildingId} ");
}
} else if (level == 1) {
if (buildingId != null && !buildingId.equals("")) {
sql.append(" AND ar.id = #{buildingId} ");
}
} }
if ((page != 0) && (limit != 0)){ if ((page != 0) && (limit != 0)){
sql.append(" ) T where T.rn>(#{page}-1)*#{limit} and T.rn<=#{page}*#{limit}"); sql.append(" ) T where T.rn>(#{page}-1)*#{limit} and T.rn<=#{page}*#{limit}");
@ -20,15 +26,21 @@ public class BuildingProvider {
return sql.toString(); return sql.toString();
} }
public String getCount(String buildingId, int page, int limit){ public String getCount(String buildingId, int page, int limit, int level){
StringBuffer sql = new StringBuffer(""); StringBuffer sql = new StringBuffer("");
sql.append("select count(*) from (" + sql.append("select count(*) from (" +
" select *,ROW_NUMBER() over(order by id) as rn from building " + " select *,ROW_NUMBER() over(order by id) as rn from building " +
" where 1=1 "); " where 1=1 ");
if (level == 2) {
if (buildingId != null && !buildingId.equals("")) { if (buildingId != null && !buildingId.equals("")) {
sql.append(" AND id = #{buildingId} "); sql.append(" AND id = #{buildingId} ");
} }
} else if (level == 1) {
if (buildingId != null && !buildingId.equals("")) {
sql.append(" AND area_id = #{buildingId} ");
}
}
sql.append(" ) T "); sql.append(" ) T ");
// System.out.println(sql.toString()); // System.out.println(sql.toString());

20
user-service/src/main/java/com/mh/user/mapper/provider/DeviceInstallProvider.java

@ -2,14 +2,20 @@ package com.mh.user.mapper.provider;
public class DeviceInstallProvider { public class DeviceInstallProvider {
public String queryDevice(String buildingId,String deviceType,String startDate,String endDate,String isOnline,String isUse,String isFault, int page, int limit){ public String queryDevice(String buildingId,String deviceType,String startDate,String endDate,String isOnline,String isUse,String isFault, int page, int limit, int level){
StringBuffer sql = new StringBuffer(""); StringBuffer sql = new StringBuffer("");
sql.append("select * from (" + sql.append("select * from (" +
" select top 1000 *,ROW_NUMBER() over(order by T.sort) as rn from (select top 1000 t1.*,t2.sort from device_install t1 " + " select top 1000 *,ROW_NUMBER() over(order by T.sort) as rn from (select top 1000 t1.*,t2.sort from device_install t1 " +
" join building t2 on t1.building_id=t2.id where 1=1 "); " join building t2 on t1.building_id=t2.id left join area ar on ar.id = t2.area_id where 1=1 ");
if (level == 2) {
if (buildingId != null && !buildingId.equals("")) { if (buildingId != null && !buildingId.equals("")) {
sql.append(" AND t1.building_id = #{buildingId} "); sql.append(" AND t1.building_id = #{buildingId} ");
} }
} else if (level == 1) {
if (buildingId != null && !buildingId.equals("")) {
sql.append(" AND ar.id = #{buildingId} ");
}
}
if (deviceType != null && !deviceType.equals("")){ if (deviceType != null && !deviceType.equals("")){
sql.append(" AND t1.device_type = #{deviceType} "); sql.append(" AND t1.device_type = #{deviceType} ");
} }
@ -34,14 +40,20 @@ public class DeviceInstallProvider {
return sql.toString(); return sql.toString();
} }
public String getCount(String buildingId,String deviceType,String startDate,String endDate,String isOnline,String isUse,String isFault, int page, int limit){ public String getCount(String buildingId,String deviceType,String startDate,String endDate,String isOnline,String isUse,String isFault, int page, int limit, int level){
StringBuffer sql = new StringBuffer(""); StringBuffer sql = new StringBuffer("");
sql.append("select count(*) from (" + sql.append("select count(*) from (" +
" select top 1000 *,ROW_NUMBER() over(order by T.sort) as rn from (select top 1000 t1.*,t2.sort from device_install t1 " + " select top 1000 *,ROW_NUMBER() over(order by T.sort) as rn from (select top 1000 t1.*,t2.sort from device_install t1 " +
" join building t2 on t1.building_id=t2.id where 1=1 "); " join building t2 on t1.building_id=t2.id left join area ar on ar.id = t2.area_id where 1=1 ");
if (level == 2) {
if (buildingId != null && !buildingId.equals("")) { if (buildingId != null && !buildingId.equals("")) {
sql.append(" AND t1.building_id = #{buildingId} "); sql.append(" AND t1.building_id = #{buildingId} ");
} }
} else if (level == 1) {
if (buildingId != null && !buildingId.equals("")) {
sql.append(" AND ar.id = #{buildingId} ");
}
}
if (deviceType != null && !deviceType.equals("")){ if (deviceType != null && !deviceType.equals("")){
sql.append(" AND t1.device_type = #{deviceType} "); sql.append(" AND t1.device_type = #{deviceType} ");
} }

2
user-service/src/main/java/com/mh/user/mapper/provider/EnergyProvider.java

@ -23,7 +23,7 @@ public class EnergyProvider {
if(buildingId.equals("所有")){ if(buildingId.equals("所有")){
if ((page != 0) && (limit != 0)){ if ((page != 0) && (limit != 0)){
sql.append(" )T where T.rn>(#{page}-1)*#{limit} and T.rn<=#{page}*#{limit} order by T.cur_date desc"); sql.append(" )T where T.rn>(#{page}-1)*#{limit} and T.rn<=#{page}*#{limit} order by T.cur_date desc");
} else if (page == 0){ } else if (page == 0 || limit == 0){
sql.append(" )T order by T.cur_date desc"); sql.append(" )T order by T.cur_date desc");
} }
}else{ }else{

88
user-service/src/main/java/com/mh/user/model/AreaBuildingTreeModel.java

@ -0,0 +1,88 @@
package com.mh.user.model;
import java.util.List;
import java.util.StringJoiner;
/**
* @author LJF
* @version 1.0
* @project CHWS
* @description 区域楼栋树形结构数据
* @date 2025-09-08 17:28:47
*/
public class AreaBuildingTreeModel {
private Long id;
private String name;
private Long parentId;
private int sort;
/**
* 层级0学校1区域2楼栋
*/
private int level;
private List<AreaBuildingTreeModel> children;
public int getLevel() {
return level;
}
public void setLevel(int level) {
this.level = level;
}
public int getSort() {
return sort;
}
public void setSort(int sort) {
this.sort = sort;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Long getParentId() {
return parentId;
}
public void setParentId(Long parentId) {
this.parentId = parentId;
}
public List<AreaBuildingTreeModel> getChildren() {
return children;
}
public void setChildren(List<AreaBuildingTreeModel> children) {
this.children = children;
}
@Override
public String toString() {
return new StringJoiner(", ", AreaBuildingTreeModel.class.getSimpleName() + "[", "]")
.add("id=" + id)
.add("name='" + name + "'")
.add("parentId='" + parentId + "'")
.add("children=" + children)
.toString();
}
}

10
user-service/src/main/java/com/mh/user/model/AreaModel.java

@ -0,0 +1,10 @@
package com.mh.user.model;
import lombok.Data;
@Data
public class AreaModel {
private Long areaId;
private String areaName;
}

19
user-service/src/main/java/com/mh/user/service/AreaService.java

@ -1,10 +1,29 @@
package com.mh.user.service; package com.mh.user.service;
import com.mh.user.entity.AreaEntity; import com.mh.user.entity.AreaEntity;
import com.mh.user.model.AreaModel;
import java.util.List; import java.util.List;
public interface AreaService { public interface AreaService {
List<AreaEntity> findAll(); List<AreaEntity> findAll();
int saveArea(AreaEntity areaEntity);
int updateArea(AreaEntity areaEntity);
int getCount(String areaId, Integer page, Integer limit);
List<AreaEntity> queryArea(String areaId, Integer page, Integer limit);
List<AreaModel> selectAreaName();
int deleteArea(List<AreaEntity> records);
int deleteAreaById(String id);
int selectByAreaName(String areaName);
AreaEntity selectById(String buildingId);
} }

11
user-service/src/main/java/com/mh/user/service/BuildingService.java

@ -1,6 +1,7 @@
package com.mh.user.service; package com.mh.user.service;
import com.mh.user.entity.BuildingEntity; import com.mh.user.entity.BuildingEntity;
import com.mh.user.model.AreaBuildingTreeModel;
import com.mh.user.model.BuildingModel; import com.mh.user.model.BuildingModel;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -29,14 +30,14 @@ public interface BuildingService {
* @param limit * @param limit
* @return * @return
*/ */
List<BuildingEntity> queryBuilding(String buildingId,int page, int limit); List<BuildingEntity> queryBuilding(String buildingId,int page, int limit, int level);
/** /**
* 楼栋管理模块 * 楼栋管理模块
* 获取楼栋信息查询的总条数 * 获取楼栋信息查询的总条数
* @return * @return
*/ */
int getCount(String buildingId,int page, int limit); int getCount(String buildingId,int page, int limit, int level);
//查询楼栋名称 //查询楼栋名称
List<BuildingModel> selectBuildingName(); List<BuildingModel> selectBuildingName();
@ -74,4 +75,10 @@ public interface BuildingService {
String selectBuildingNameById(String buildingId); String selectBuildingNameById(String buildingId);
Double queryLowTankHeight(String buildingId); Double queryLowTankHeight(String buildingId);
List<AreaBuildingTreeModel> queryTree();
List<String> queryBuildingIdListByAreaId(String areaId);
int queryCheckInCount(String areaId);
} }

4
user-service/src/main/java/com/mh/user/service/DeviceInstallService.java

@ -67,7 +67,7 @@ public interface DeviceInstallService {
* @param limit * @param limit
* @return * @return
*/ */
List<DeviceInstallEntity> queryDevice(String buildingId,String deviceType, String startDate, String endDate,String isOnline, String isUse, String isFault, int page, int limit); List<DeviceInstallEntity> queryDevice(String buildingId,String deviceType, String startDate, String endDate,String isOnline, String isUse, String isFault, int page, int limit, int level);
/** /**
* 设备管理模块 * 设备管理模块
@ -75,7 +75,7 @@ public interface DeviceInstallService {
* *
* @return * @return
*/ */
int getCount(String buildingId,String deviceType, String startDate, String endDate,String isOnline, String isUse, String isFault, int page, int limit); int getCount(String buildingId,String deviceType, String startDate, String endDate,String isOnline, String isUse, String isFault, int page, int limit, int level);
//查询设备故障情况 //查询设备故障情况
int getIsFaultCount(String isFault,String deviceType); int getIsFaultCount(String isFault,String deviceType);

8
user-service/src/main/java/com/mh/user/service/EnergyService.java

@ -41,7 +41,7 @@ public interface EnergyService {
* @return * @return
*/ */
List<EnergyEntity> queryEnergy(String buildingId, String startDate,String endDate, List<EnergyEntity> queryEnergy(String buildingId, String startDate,String endDate,
int page, int limit,int type); int page, int limit,int type, int level);
/** /**
* 生产信息 * 生产信息
@ -49,7 +49,7 @@ public interface EnergyService {
* @return * @return
*/ */
int getEnergyCount( String buildingId, String startDate,String endDate, int getEnergyCount( String buildingId, String startDate,String endDate,
int page, int limit,int type); int page, int limit,int type, int level);
/** /**
* 生产信息 * 生产信息
@ -66,9 +66,9 @@ public interface EnergyService {
int getDayEnergyCount(String buildingId, String startDate, String endDate, int page, int limit); int getDayEnergyCount(String buildingId, String startDate, String endDate, int page, int limit);
//查询小时的用量 //查询小时的用量
List<EnergyEntity> queryHourEnergy(String buildingId,String curDate, int page, int limit); List<EnergyEntity> queryHourEnergy(String buildingId,String curDate, int page, int limit, int level);
int getHourEnergyCount(String buildingId, String curDate); int getHourEnergyCount(String buildingId, String curDate, int level);
//查询记录 //查询记录
List<EnergyEntity> queryEnergyBuilding(int page,int limit); List<EnergyEntity> queryEnergyBuilding(int page,int limit);

6
user-service/src/main/java/com/mh/user/service/NowDataService.java

@ -57,7 +57,7 @@ public interface NowDataService {
int waterLevelByTimeCount(String curDate); int waterLevelByTimeCount(String curDate);
//查询每天楼栋水位变化 //查询每天楼栋水位变化
List<WaterLevelEntity> queryBuildWaterLevel(String curDate, int page, int limit); List<WaterLevelEntity> queryBuildWaterLevel(String curDate, int page, int limit, int level, String buildingID);
//查询每天楼栋水位变化记录数 //查询每天楼栋水位变化记录数
int buildWaterLevelCount(String curDate); int buildWaterLevelCount(String curDate);
@ -97,9 +97,9 @@ public interface NowDataService {
int queryWaterTempCount(String buildingID,String curDate); int queryWaterTempCount(String buildingID,String curDate);
//查询每天24小时每个热泵温度变化情况2 //查询每天24小时每个热泵温度变化情况2
List<WaterTempEntity> queryWaterTemp2(String curDate,int page,int limit); List<WaterTempEntity> queryWaterTemp2(String curDate,int page,int limit, int level, String buildingID);
int queryWaterTempCount2(String curDate); int queryWaterTempCount2(String curDate, int level, String buildingID);
//生成楼栋温度 //生成楼栋温度
void proWaterTemp(String curDate,String buildingID,String pumpID); void proWaterTemp(String curDate,String buildingID,String pumpID);

2
user-service/src/main/java/com/mh/user/service/SummaryService.java

@ -11,7 +11,7 @@ public interface SummaryService {
DeviceStateEntity queryDeviceState(); DeviceStateEntity queryDeviceState();
//查询用量汇总比较 //查询用量汇总比较
EnergySumEntity queryEnergySum(String buildingId,String curDate,int type); EnergySumEntity queryEnergySum(String buildingId,String curDate,int type, int level);
//查询维修量汇总 //查询维修量汇总
MaintainSumEntity queryMaintainSum(String buildingId, String curDate); MaintainSumEntity queryMaintainSum(String buildingId, String curDate);

54
user-service/src/main/java/com/mh/user/service/impl/AreaServiceImpl.java

@ -2,6 +2,7 @@ package com.mh.user.service.impl;
import com.mh.user.entity.AreaEntity; import com.mh.user.entity.AreaEntity;
import com.mh.user.mapper.AreaMapper; import com.mh.user.mapper.AreaMapper;
import com.mh.user.model.AreaModel;
import com.mh.user.service.AreaService; import com.mh.user.service.AreaService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -18,4 +19,57 @@ public class AreaServiceImpl implements AreaService {
return areaMapper.findAll(); return areaMapper.findAll();
} }
@Override
public int saveArea(AreaEntity areaEntity) {
// 判断区域id和区域名称是否存在
int count = areaMapper.selectCountByAreaIdAndAreaName(areaEntity.getAreaId(), areaEntity.getAreaName());
if (count > 0) {
return 0;
}
return areaMapper.insertArea(areaEntity);
}
@Override
public int updateArea(AreaEntity areaEntity) {
return areaMapper.updateArea(areaEntity);
}
@Override
public int getCount(String areaId, Integer page, Integer limit) {
return areaMapper.getCount(areaId, page, limit);
}
@Override
public List<AreaEntity> queryArea(String areaId, Integer page, Integer limit) {
return areaMapper.queryArea(areaId, page, limit);
}
@Override
public List<AreaModel> selectAreaName() {
return areaMapper.selectAreaName();
}
@Override
public int deleteArea(List<AreaEntity> records) {
for(AreaEntity record:records) {
areaMapper.deleteArea(record.getId().toString());
}
return 0;
}
@Override
public int deleteAreaById(String id) {
return areaMapper.deleteArea(String.valueOf(id));
}
@Override
public int selectByAreaName(String areaName) {
return areaMapper.selectByAreaName(areaName);
}
@Override
public AreaEntity selectById(String buildingId) {
return areaMapper.selectById(buildingId);
}
} }

124
user-service/src/main/java/com/mh/user/service/impl/BuildingServiceImpl.java

@ -2,14 +2,25 @@ package com.mh.user.service.impl;
import com.mh.common.http.HttpResult; import com.mh.common.http.HttpResult;
import com.mh.user.constants.SysConstants; import com.mh.user.constants.SysConstants;
import com.mh.user.entity.AreaEntity;
import com.mh.user.entity.BuildingEntity; import com.mh.user.entity.BuildingEntity;
import com.mh.user.entity.SysParamEntity;
import com.mh.user.mapper.AreaMapper;
import com.mh.user.mapper.BuildingMapper; import com.mh.user.mapper.BuildingMapper;
import com.mh.user.model.AreaBuildingTreeModel;
import com.mh.user.model.BuildingModel; import com.mh.user.model.BuildingModel;
import com.mh.user.service.BuildingService; import com.mh.user.service.BuildingService;
import com.mh.user.service.SysParamService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
import static java.util.Comparator.*;
@Service @Service
public class BuildingServiceImpl implements BuildingService { public class BuildingServiceImpl implements BuildingService {
@ -17,6 +28,12 @@ public class BuildingServiceImpl implements BuildingService {
@Autowired @Autowired
private BuildingMapper buildingMapper; private BuildingMapper buildingMapper;
@Autowired
private AreaMapper areaMapper;
@Autowired
private SysParamService sysParamService;
@Override @Override
public int saveBuilding(BuildingEntity buildingEntity) { public int saveBuilding(BuildingEntity buildingEntity) {
return buildingMapper.saveBuilding(buildingEntity); return buildingMapper.saveBuilding(buildingEntity);
@ -28,13 +45,13 @@ public class BuildingServiceImpl implements BuildingService {
} }
@Override @Override
public List<BuildingEntity> queryBuilding(String buildingId,int page, int limit) { public List<BuildingEntity> queryBuilding(String buildingId,int page, int limit, int level) {
return buildingMapper.queryBuilding(buildingId,page,limit); return buildingMapper.queryBuilding(buildingId,page,limit, level);
} }
@Override @Override
public int getCount(String buildingId,int page, int limit) { public int getCount(String buildingId,int page, int limit, int level) {
return buildingMapper.getCount(buildingId,page,limit); return buildingMapper.getCount(buildingId,page,limit, level);
} }
@Override @Override
@ -98,4 +115,103 @@ public class BuildingServiceImpl implements BuildingService {
public Double queryLowTankHeight(String buildingId) { public Double queryLowTankHeight(String buildingId) {
return buildingMapper.queryLowTankHeight(buildingId); return buildingMapper.queryLowTankHeight(buildingId);
} }
@Override
public List<AreaBuildingTreeModel> queryTree() {
// 查询项目名称和id
SysParamEntity sysParamEntity = sysParamService.selectSysParam();
// 获取区域并按sort排序
List<AreaEntity> areaList = areaMapper.findAll().stream()
.sorted(comparing(AreaEntity::getSort))
.collect(Collectors.toList());
// 获取楼栋并按sort排序
List<BuildingEntity> buildingList = buildingMapper.selectAll().stream()
.sorted(comparing(BuildingEntity::getSort))
.collect(Collectors.toList());
// 创建结果列表
List<AreaBuildingTreeModel> treeList = new ArrayList<>();
// 项目名称
AreaBuildingTreeModel projectNode = new AreaBuildingTreeModel();
projectNode.setId(0L);
projectNode.setName(sysParamEntity.getCustomName());
projectNode.setSort(0);
projectNode.setParentId(-1L);
projectNode.setLevel(0);
projectNode.setChildren(new ArrayList<>());
// 判断区域是否有数据
if (areaList.isEmpty()) {
// 没有数据只能遍历楼栋
// 为该区域添加对应的楼栋
List<AreaBuildingTreeModel> buildingNodes = buildingList.stream()
.map(building -> {
AreaBuildingTreeModel buildingNode = new AreaBuildingTreeModel();
buildingNode.setId(building.getId());
buildingNode.setName(building.getBuildingName());
buildingNode.setParentId(0L);
buildingNode.setSort(building.getSort());
buildingNode.setLevel(2);
buildingNode.setChildren(null);
return buildingNode;
})
.collect(Collectors.toList());
projectNode.setChildren(buildingNodes);
treeList.add(projectNode);
} else {
List<AreaBuildingTreeModel> areaTreeList = new ArrayList<>();
// 将区域转换为树节点
for (AreaEntity area : areaList) {
AreaBuildingTreeModel areaNode = new AreaBuildingTreeModel();
areaNode.setId(area.getId());
areaNode.setName(area.getAreaName());
areaNode.setSort(area.getSort());
areaNode.setLevel(1);
areaNode.setParentId(projectNode.getId()); // 修改为projectNode的ID
areaNode.setChildren(new ArrayList<>());
// 为该区域添加对应的楼栋
List<AreaBuildingTreeModel> buildingNodes = buildingList.stream()
.filter(building -> building.getAreaId() != null &&
building.getAreaId().equals(area.getId().toString()))
.map(building -> {
AreaBuildingTreeModel buildingNode = new AreaBuildingTreeModel();
buildingNode.setId(building.getId());
buildingNode.setName(building.getBuildingName());
buildingNode.setParentId(area.getId());
buildingNode.setSort(building.getSort());
buildingNode.setLevel(2);
buildingNode.setChildren(null);
return buildingNode;
})
.collect(Collectors.toList());
areaNode.setChildren(buildingNodes);
areaTreeList.add(areaNode);
}
// 将projectNode添加到树的根节点
projectNode.setChildren(areaTreeList.stream()
.filter(node -> !node.getId().equals(0L)) // 过滤掉projectNode自身
.collect(Collectors.toList()));
}
treeList.add(projectNode);
return treeList;
}
@Override
public List<String> queryBuildingIdListByAreaId(String areaId) {
return buildingMapper.queryBuildingIdListByAreaId(areaId);
}
@Override
public int queryCheckInCount(String areaId) {
return buildingMapper.queryCheckInCount(areaId);
}
} }

2
user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java

@ -375,11 +375,13 @@ public class DeviceControlServiceImpl implements DeviceControlService {
case "weekSet": case "weekSet":
// 星期设置 // 星期设置
registerStr = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(String.valueOf(67 + (scene - 1) * 6)), 4); registerStr = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(String.valueOf(67 + (scene - 1) * 6)), 4);
if (Constant.WRITE.equals(type)) {
String dataValue = ExchangeStringUtil.addZeroForNum(deviceCodeParam.getDataValue(), 8); String dataValue = ExchangeStringUtil.addZeroForNum(deviceCodeParam.getDataValue(), 8);
dataValue = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.parseByte2HexStr(dataValue), 4); dataValue = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.parseByte2HexStr(dataValue), 4);
dataValue = ExchangeStringUtil.hexToDec(dataValue); dataValue = ExchangeStringUtil.hexToDec(dataValue);
deviceCodeParam.setDataValue(dataValue); deviceCodeParam.setDataValue(dataValue);
serialPortModel.setDataValue(dataValue); serialPortModel.setDataValue(dataValue);
}
deviceCodeParam.setRegisterSize(1); deviceCodeParam.setRegisterSize(1);
break; break;
case "dateCalibrationSet": case "dateCalibrationSet":

19
user-service/src/main/java/com/mh/user/service/impl/DeviceInstallServiceImpl.java

@ -56,6 +56,7 @@ public class DeviceInstallServiceImpl implements DeviceInstallService {
/** /**
* 生成采集信息内容 * 生成采集信息内容
*
* @param deviceInstallEntity * @param deviceInstallEntity
*/ */
@Override @Override
@ -233,13 +234,13 @@ public class DeviceInstallServiceImpl implements DeviceInstallService {
} }
@Override @Override
public List<DeviceInstallEntity> queryDevice(String buildingId,String deviceType, String startDate, String endDate,String isOnline, String isUse,String isFault,int page, int limit) { public List<DeviceInstallEntity> queryDevice(String buildingId, String deviceType, String startDate, String endDate, String isOnline, String isUse, String isFault, int page, int limit, int level) {
return deviceInstallMapper.queryDevice(buildingId,deviceType,startDate, endDate,isOnline,isUse, isFault,page, limit); return deviceInstallMapper.queryDevice(buildingId, deviceType, startDate, endDate, isOnline, isUse, isFault, page, limit, level);
} }
@Override @Override
public int getCount(String buildingId,String deviceType, String startDate, String endDate,String isOnline, String isUse, String isFault, int page, int limit) { public int getCount(String buildingId, String deviceType, String startDate, String endDate, String isOnline, String isUse, String isFault, int page, int limit, int level) {
return deviceInstallMapper.getCount(buildingId,deviceType, startDate, endDate,isOnline,isUse, isFault, page, limit); return deviceInstallMapper.getCount(buildingId, deviceType, startDate, endDate, isOnline, isUse, isFault, page, limit, level);
} }
//查询设备故障情况 //查询设备故障情况
@ -319,13 +320,17 @@ public class DeviceInstallServiceImpl implements DeviceInstallService {
@Override @Override
public List<DeviceInstallTempEntity> queryExcelDevices() { public List<DeviceInstallTempEntity> queryExcelDevices() {
return deviceInstallMapper.queryExcelDevices(); return deviceInstallMapper.queryExcelDevices();
}; }
;
// 查询Excel导入的数据的记录数 // 查询Excel导入的数据的记录数
@Override @Override
public int queryExcelDevicesCount() { public int queryExcelDevicesCount() {
return deviceInstallMapper.queryExcelDevicesCount(); return deviceInstallMapper.queryExcelDevicesCount();
}; }
;
// 在导入中的数据有重复 // 在导入中的数据有重复
@Override @Override
@ -334,11 +339,11 @@ public class DeviceInstallServiceImpl implements DeviceInstallService {
} }
/** /**
* @throws
* @author nxr * @author nxr
* @title * @title
* @description 判断导入资料数据的合法性 * @description 判断导入资料数据的合法性
* @updateTime 2022-06-19 * @updateTime 2022-06-19
* @throws
*/ */
public void updateDevice_install_temp() { public void updateDevice_install_temp() {
//判断通讯地址,在导入中的数据有重复 //判断通讯地址,在导入中的数据有重复

71
user-service/src/main/java/com/mh/user/service/impl/EnergyServiceImpl.java

@ -1,8 +1,12 @@
package com.mh.user.service.impl; package com.mh.user.service.impl;
import com.alibaba.druid.util.StringUtils;
import com.mh.user.entity.AreaEntity;
import com.mh.user.entity.EnergyEntity; import com.mh.user.entity.EnergyEntity;
import com.mh.user.mapper.EnergyMapper; import com.mh.user.mapper.EnergyMapper;
import com.mh.user.model.SumModel; import com.mh.user.model.SumModel;
import com.mh.user.service.AreaService;
import com.mh.user.service.BuildingService;
import com.mh.user.service.EnergyService; import com.mh.user.service.EnergyService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@ -16,6 +20,12 @@ public class EnergyServiceImpl implements EnergyService {
@Autowired @Autowired
EnergyMapper energyMapper; EnergyMapper energyMapper;
@Autowired
private BuildingService buildingService;
@Autowired
private AreaService areaService;
@Override @Override
public void saveEnergy(EnergyEntity energyEntity,int type) { public void saveEnergy(EnergyEntity energyEntity,int type) {
@ -53,8 +63,29 @@ public class EnergyServiceImpl implements EnergyService {
} }
@Override @Override
public List<EnergyEntity> queryEnergy(String buildingId, String startDate,String endDate, int page, int limit,int type) { public List<EnergyEntity> queryEnergy(String buildingId, String startDate,String endDate, int page, int limit,int type, int level) {
List<EnergyEntity> list=new ArrayList<EnergyEntity>(); List<EnergyEntity> list=new ArrayList<EnergyEntity>();
// 判断级别类型
if (level == 1) {
// 根据区域id查询区域名称
AreaEntity areaEntity = areaService.selectById(buildingId);
if (null == areaEntity) {
return list;
}
// 根据区域id获取所有楼栋 id
List<String> buildingIds = buildingService.queryBuildingIdListByAreaId(buildingId);
if(type==1) {
list=energyMapper.getAreaEnergyDay(buildingIds,startDate,endDate, page, limit, areaEntity.getAreaName());
}else if (type==2){
list=energyMapper.getAreaEnergyMonth(buildingIds,startDate,endDate, page, limit, areaEntity.getAreaName());
} else if (type==3){
list=energyMapper.getAreaEnergyYear(buildingIds,startDate,endDate, page, limit, areaEntity.getAreaName());
}
} else {
if (StringUtils.isEmpty(buildingId)) {
buildingId = "所有";
}
// 楼栋
if (type == 1) { if (type == 1) {
list = energyMapper.queryEnergyDay(buildingId, startDate, endDate, page, limit); list = energyMapper.queryEnergyDay(buildingId, startDate, endDate, page, limit);
} else if (type == 2) { } else if (type == 2) {
@ -63,12 +94,27 @@ public class EnergyServiceImpl implements EnergyService {
} else if (type == 3) { } else if (type == 3) {
list = energyMapper.queryEnergyYear(buildingId, startDate, endDate, page, limit); list = energyMapper.queryEnergyYear(buildingId, startDate, endDate, page, limit);
} }
}
return list; return list;
} }
@Override @Override
public int getEnergyCount(String buildingId, String startDate,String endDate, int page, int limit,int type) { public int getEnergyCount(String buildingId, String startDate,String endDate, int page, int limit,int type, int level) {
int r=0; // 记录数 int r=0; // 记录数
// 判断级别类型
if (level == 0) {
buildingId = "所有";
} else if (level == 1) {
// 根据区域id获取所有楼栋 id
List<String> buildingIds = buildingService.queryBuildingIdListByAreaId(buildingId);
if(type==1) {
r=energyMapper.getAreaEnergyDayCount(buildingIds,startDate,endDate, page, limit);
}else if (type==2){
r=energyMapper.getAreaEnergyMonthCount(buildingIds,startDate,endDate, page, limit);
} else if (type==3){
r=energyMapper.getAreaEnergyYearCount(buildingIds,startDate,endDate, page, limit);
}
}
if(type==1) { if(type==1) {
r=energyMapper.getEnergyDayCount(buildingId,startDate,endDate, page, limit); r=energyMapper.getEnergyDayCount(buildingId,startDate,endDate, page, limit);
}else if (type==2){ }else if (type==2){
@ -101,12 +147,29 @@ public class EnergyServiceImpl implements EnergyService {
} }
@Override @Override
public List<EnergyEntity> queryHourEnergy(String buildingId, String curDate, int page, int limit) { public List<EnergyEntity> queryHourEnergy(String buildingId, String curDate, int page, int limit, int level) {
List<EnergyEntity> list=new ArrayList<EnergyEntity>();
// 判断级别类型
if (level == 0 || null == buildingId) {
buildingId = "所有";
level = 0;
}
if (level == 1) {
// 根据区域id查询区域名称
AreaEntity areaEntity = areaService.selectById(buildingId);
if (null == areaEntity) {
return list;
}
// 根据区域id获取所有楼栋 id
List<String> buildingIds = buildingService.queryBuildingIdListByAreaId(buildingId);
list=energyMapper.getAreaEnergyHour(buildingIds,curDate, page, limit, areaEntity.getAreaName());
return list;
}
return energyMapper.queryHourEnergy(buildingId,curDate,page,limit); return energyMapper.queryHourEnergy(buildingId,curDate,page,limit);
} }
@Override @Override
public int getHourEnergyCount(String buildingId, String curDate) { public int getHourEnergyCount(String buildingId, String curDate, int level) {
return energyMapper.getHourEnergyCount(buildingId,curDate); return energyMapper.getHourEnergyCount(buildingId,curDate);
} }

25
user-service/src/main/java/com/mh/user/service/impl/NowDataServiceImpl.java

@ -457,12 +457,20 @@ public class NowDataServiceImpl implements NowDataService {
//查询所有楼栋每栋楼的平均温度 //查询所有楼栋每栋楼的平均温度
@Override @Override
public List<WaterTempEntity> queryWaterTemp2(String curDate,int page,int limit) { public List<WaterTempEntity> queryWaterTemp2(String curDate,int page,int limit, int level, String buildingID) {
return nowDataMapper.queryWaterTemp2(curDate,page,limit); List<WaterTempEntity> waterTempEntityList = nowDataMapper.queryWaterTemp2(curDate, page, limit);
// 根据level层级查询
if (level == 1) {
// 根据区域id获取对应的楼栋id
List<String> buildingIdList = buildingService.queryBuildingIdListByAreaId(buildingID);
// waterTempEntityList过滤掉非该区域的楼栋
waterTempEntityList.removeIf(waterTempEntity -> !buildingIdList.contains(waterTempEntity.getBuildingID()));
}
return waterTempEntityList;
} }
//查询所有楼栋每栋楼的平均温度记录数 //查询所有楼栋每栋楼的平均温度记录数
@Override @Override
public int queryWaterTempCount2(String curDate) { public int queryWaterTempCount2(String curDate, int level, String buildingID) {
return nowDataMapper.queryWaterTempCount2(curDate); return nowDataMapper.queryWaterTempCount2(curDate);
} }
@ -483,8 +491,15 @@ public class NowDataServiceImpl implements NowDataService {
} }
@Override @Override
public List<WaterLevelEntity> queryBuildWaterLevel(String curDate, int page, int limit) { public List<WaterLevelEntity> queryBuildWaterLevel(String curDate, int page, int limit, int level, String buildingID) {
return nowDataMapper.queryBuildWaterLevel(curDate, page, limit); List<WaterLevelEntity> waterLevelEntities = nowDataMapper.queryBuildWaterLevel(curDate, page, limit);
if (level == 1) {
// 根据区域id获取对应的楼栋id
List<String> buildingIdList = buildingService.queryBuildingIdListByAreaId(buildingID);
// waterLevelEntities过滤掉非该区域的楼栋
waterLevelEntities.removeIf(waterLevelEntity -> !buildingIdList.contains(waterLevelEntity.getBuildingID()));
}
return waterLevelEntities;
} }
@Override @Override

110
user-service/src/main/java/com/mh/user/service/impl/SummaryServiceImpl.java

@ -5,23 +5,115 @@ import com.mh.user.entity.DeviceStateEntity;
import com.mh.user.entity.EnergySumEntity; import com.mh.user.entity.EnergySumEntity;
import com.mh.user.entity.MaintainSumEntity; import com.mh.user.entity.MaintainSumEntity;
import com.mh.user.mapper.SummaryMapper; import com.mh.user.mapper.SummaryMapper;
import com.mh.user.service.BuildingService;
import com.mh.user.service.SummaryService; import com.mh.user.service.SummaryService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.Year;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import static java.lang.Double.parseDouble;
@Service @Service
public class SummaryServiceImpl implements SummaryService { public class SummaryServiceImpl implements SummaryService {
@Autowired @Autowired
SummaryMapper summaryMapper; SummaryMapper summaryMapper;
@Autowired
private BuildingService buildingService;
@Override @Override
public DeviceStateEntity queryDeviceState() { public DeviceStateEntity queryDeviceState() {
return summaryMapper.queryDeviceState(); return summaryMapper.queryDeviceState();
} }
@Override @Override
public EnergySumEntity queryEnergySum(String buildingId, String curDate, int type) { public EnergySumEntity queryEnergySum(String buildingId, String curDate, int type, int level) {
// 判断层级属于校区
if (level == 1) {
// 根据buildingId查询对应的所有楼栋id
List<String> strings = buildingService.queryBuildingIdListByAreaId(buildingId);
// 查询所有楼栋人数
int count = buildingService.queryCheckInCount(buildingId);
// 遍历楼栋id,查询所有楼栋的energySum
List<EnergySumEntity> curList = new ArrayList<>();
List<EnergySumEntity> lastList = new ArrayList<>();
for (String id : strings) {
if (type == 1) {
// 日统计
curList.add(summaryMapper.queryEnergyDaySum(id, curDate));
// 日期yyyy-MM-dd格式的字符串减去一天
LocalDate date = LocalDate.parse(curDate, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
LocalDate previousDate = date.minusDays(1);
String previousDateString = previousDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
lastList.add(summaryMapper.queryEnergyDaySum(id, previousDateString));
} else if (type == 2) {
// 月统计
curList.add(summaryMapper.queryEnergyMonthSum(id, curDate));
// 日期yyyy-MM格式的字符串减去一个月
YearMonth yearMonth = YearMonth.parse(curDate, DateTimeFormatter.ofPattern("yyyy-MM"));
YearMonth previousMonth = yearMonth.minusMonths(1);
String previousMonthString = previousMonth.format(DateTimeFormatter.ofPattern("yyyy-MM"));
lastList.add(summaryMapper.queryEnergyMonthSum(id, previousMonthString));
} else {
// 年统计
curList.add(summaryMapper.queryEnergyYearSum(id, curDate));
// 日期yyyy格式的字符串减去一年
Year year = Year.parse(curDate);
Year previousYear = year.minusYears(1);
String previousYearString = previousYear.toString();
lastList.add(summaryMapper.queryEnergyYearSum(id, previousYearString));
}
}
// curList每一个参数求和,得出 EnergySumEntity
EnergySumEntity curSum = new EnergySumEntity();
curSum.setFillWater(String.valueOf(curList.stream().mapToDouble(e -> parseDouble(e.getFillWater())).sum()));
curSum.setWaterValue(String.valueOf(curList.stream().mapToDouble(e -> parseDouble(e.getWaterValue())).sum()));
curSum.setElectValue(String.valueOf(curList.stream().mapToDouble(e -> parseDouble(e.getElectValue())).sum()));
curSum.setElectWater(String.valueOf(curList.stream().mapToDouble(e -> parseDouble(e.getElectWater())).sum()));
// lastList每一个参数求和,得出 EnergySumEntity
EnergySumEntity lastSum = new EnergySumEntity();
lastSum.setFillWater(String.valueOf(lastList.stream().mapToDouble(e -> parseDouble(e.getFillWater())).sum()));
lastSum.setWaterValue(String.valueOf(lastList.stream().mapToDouble(e -> parseDouble(e.getWaterValue())).sum()));
lastSum.setElectValue(String.valueOf(lastList.stream().mapToDouble(e -> parseDouble(e.getElectValue())).sum()));
lastSum.setElectWater(String.valueOf(lastList.stream().mapToDouble(e -> parseDouble(e.getElectWater())).sum()));
// 昨日的EnergySumEntity和今日的EnergySumEntity,对比计算出补水昨日比、用水与昨日比、用电与昨日比、单耗与昨日比
EnergySumEntity result = new EnergySumEntity();
result.setFillWater(String.valueOf(curList.stream().mapToDouble(e -> parseDouble(e.getFillWater())).sum()));
result.setWaterValue(String.valueOf(curList.stream().mapToDouble(e -> parseDouble(e.getWaterValue())).sum()));
result.setElectValue(String.valueOf(curList.stream().mapToDouble(e -> parseDouble(e.getElectValue())).sum()));
result.setElectWater(String.valueOf(curList.stream().mapToDouble(e -> parseDouble(e.getElectWater())).sum()));
// 计算与昨日的比较百分比
result.setFillWaterP(calculateRatio(curSum.getFillWater(), lastSum.getFillWater()));
result.setWaterP(calculateRatio(curSum.getWaterValue(), lastSum.getWaterValue()));
result.setElectP(calculateRatio(curSum.getElectValue(), lastSum.getElectValue()));
// 计算单耗比较
String curPerElect = count != 0 ? new BigDecimal(curSum.getElectValue()).divide(new BigDecimal(count)).toString() : "0";
String lastPerElect = count != 0 ? new BigDecimal(lastSum.getElectValue()).divide(new BigDecimal(count)).toString() : "0";
result.setElectWaterP(calculateRatio(curPerElect, lastPerElect));
return result;
}
if (type == 1) { if (type == 1) {
return summaryMapper.queryEnergyDaySum(buildingId, curDate); //日 return summaryMapper.queryEnergyDaySum(buildingId, curDate); //日
} else if (type == 2) { } else if (type == 2) {
@ -31,6 +123,22 @@ public class SummaryServiceImpl implements SummaryService {
} }
} }
/**
* 计算比率的方法
*
* @param current 当前值
* @param previous 前一个值
* @return 比率百分比形式
*/
private String calculateRatio(String current, String previous) {
if (parseDouble(previous) == 0) {
return parseDouble(current) > 0 ? "100" : "0"; // 避免除零错误
}
return String.valueOf(((parseDouble(current) - parseDouble(previous)) / parseDouble(previous)) * 100);
}
@Override @Override
public MaintainSumEntity queryMaintainSum(String buildingId, String curDate) { public MaintainSumEntity queryMaintainSum(String buildingId, String curDate) {
return summaryMapper.queryMaintainSum(buildingId,curDate); return summaryMapper.queryMaintainSum(buildingId,curDate);

8
user-service/src/main/java/com/mh/user/strategy/EleMeterStrategy.java

@ -53,10 +53,10 @@ public class EleMeterStrategy implements DeviceStrategy {
// }else if(registerAddr.equals("")){ // }else if(registerAddr.equals("")){
// str=str+"0300000002"; // str=str+"0300000002";
// } // }
String funCode = ExchangeStringUtil.addZeroForNum(deviceCodeParamEntity.getFunCode(), 2); // String funCode = ExchangeStringUtil.addZeroForNum(deviceCodeParamEntity.getFunCode(), 2);
if ("04".equals(funCode)) { // if ("04".equals(funCode)) {
str = str + funCode + "00010002"; str = str + "04" + "00010002";
} // }
String checkWord = ExchangeStringUtil.getStrCRC16(str); //CRC16校验 String checkWord = ExchangeStringUtil.getStrCRC16(str); //CRC16校验
str = str + checkWord; str = str + checkWord;
} else { } else {

6
user-service/src/main/java/com/mh/user/strategy/TimeControlStrategy.java

@ -175,9 +175,9 @@ public class TimeControlStrategy implements DeviceStrategy {
data = checkStr.substring(8, 10) data = checkStr.substring(8, 10)
+ checkStr.substring(12, 14) + checkStr.substring(12, 14)
+ checkStr.substring(16, 18) + checkStr.substring(16, 18)
+ checkStr.substring(22, 24) + checkStr.substring(24, 26)
+ checkStr.substring(26, 28) + checkStr.substring(28, 30)
+ checkStr.substring(30, 32); + checkStr.substring(32, 34);
} }
} else { } else {
if (rec == 26) { //读时间设置值 if (rec == 26) { //读时间设置值

2
user-service/src/main/java/com/mh/user/strategy/WtMeterStrategy.java

@ -45,7 +45,7 @@ public class WtMeterStrategy implements DeviceStrategy {
String str = ""; String str = "";
if (deviceAddr != null && deviceAddr.length() > 0) { if (deviceAddr != null && deviceAddr.length() > 0) {
try { try {
if (StringUtils.isBlank(brand) || brand.equals("美柯")) { if (StringUtils.isBlank(brand) || brand.equals("美柯")) {
// 0 代表前面补充0,14 代表长度为14,d 代表参数为正数型 // 0 代表前面补充0,14 代表长度为14,d 代表参数为正数型
str = String.format("%014d", Long.parseLong(deviceAddr));//基表通讯号 str = String.format("%014d", Long.parseLong(deviceAddr));//基表通讯号
// 转换位置 // 转换位置

42
user-service/src/main/java/com/mh/user/utils/GetReadOrder485.java

@ -651,6 +651,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity3.setDataCom(devices.getDataCom()); deviceCodeParamEntity3.setDataCom(devices.getDataCom());
deviceCodeParamEntity3.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity3.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity3.setParity(devices.getParity()); deviceCodeParamEntity3.setParity(devices.getParity());
// 只获取字符串数字
deviceCodeParamEntity3.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntityList.add(deviceCodeParamEntity3); deviceCodeParamEntityList.add(deviceCodeParamEntity3);
break; break;
case "美的2": case "美的2":
@ -665,6 +667,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity3.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity3.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity3.setParity(devices.getParity()); deviceCodeParamEntity3.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity3); deviceCodeParamEntityList.add(deviceCodeParamEntity3);
// 只获取字符串数字
deviceCodeParamEntity3.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
break; break;
case "瑞星": case "瑞星":
deviceCodeParamEntity3.setRegisterAddr("0046");//实际水温 deviceCodeParamEntity3.setRegisterAddr("0046");//实际水温
@ -678,6 +682,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity3.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity3.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity3.setParity(devices.getParity()); deviceCodeParamEntity3.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity3); deviceCodeParamEntityList.add(deviceCodeParamEntity3);
// 只获取字符串数字
deviceCodeParamEntity3.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
break; break;
case "海尔": case "海尔":
// 多联机模式 // 多联机模式
@ -693,6 +699,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity3.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity3.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity3.setParity(devices.getParity()); deviceCodeParamEntity3.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity3); deviceCodeParamEntityList.add(deviceCodeParamEntity3);
// 只获取字符串数字
deviceCodeParamEntity3.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
break; break;
default: default:
break; break;
@ -752,6 +760,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity1.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity1.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity1.setBrand(devices.getBrand()); deviceCodeParamEntity1.setBrand(devices.getBrand());
deviceCodeParamEntity1.setDataCom(devices.getDataCom()); deviceCodeParamEntity1.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity1.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity1.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity1.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity1.setParity(devices.getParity()); deviceCodeParamEntity1.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表 deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表
@ -765,6 +775,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity1.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity1.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity1.setBrand(devices.getBrand()); deviceCodeParamEntity1.setBrand(devices.getBrand());
deviceCodeParamEntity1.setDataCom(devices.getDataCom()); deviceCodeParamEntity1.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity1.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity1.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity1.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity1.setParity(devices.getParity()); deviceCodeParamEntity1.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表 deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表
@ -778,6 +790,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity1.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity1.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity1.setBrand(devices.getBrand()); deviceCodeParamEntity1.setBrand(devices.getBrand());
deviceCodeParamEntity1.setDataCom(devices.getDataCom()); deviceCodeParamEntity1.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity1.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity1.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity1.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity1.setParity(devices.getParity()); deviceCodeParamEntity1.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表 deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表
@ -793,6 +807,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity1.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity1.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity1.setBrand(devices.getBrand()); deviceCodeParamEntity1.setBrand(devices.getBrand());
deviceCodeParamEntity1.setDataCom(devices.getDataCom()); deviceCodeParamEntity1.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity1.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity1.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity1.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity1.setParity(devices.getParity()); deviceCodeParamEntity1.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表 deviceCodeParamEntityList.add(deviceCodeParamEntity1);//添加到列表
@ -855,6 +871,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity2.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity2.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity2.setBrand(devices.getBrand()); deviceCodeParamEntity2.setBrand(devices.getBrand());
deviceCodeParamEntity2.setDataCom(devices.getDataCom()); deviceCodeParamEntity2.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity2.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity2.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity2.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity2.setParity(devices.getParity()); deviceCodeParamEntity2.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity2); deviceCodeParamEntityList.add(deviceCodeParamEntity2);
@ -867,6 +885,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity4.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity4.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity4.setBrand(devices.getBrand()); deviceCodeParamEntity4.setBrand(devices.getBrand());
deviceCodeParamEntity4.setDataCom(devices.getDataCom()); deviceCodeParamEntity4.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity4.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity4.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity4.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity4.setParity(devices.getParity()); deviceCodeParamEntity4.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity4); deviceCodeParamEntityList.add(deviceCodeParamEntity4);
@ -880,6 +900,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity2.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity2.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity2.setBrand(devices.getBrand()); deviceCodeParamEntity2.setBrand(devices.getBrand());
deviceCodeParamEntity2.setDataCom(devices.getDataCom()); deviceCodeParamEntity2.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity2.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity2.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity2.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity2.setParity(devices.getParity()); deviceCodeParamEntity2.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity2); deviceCodeParamEntityList.add(deviceCodeParamEntity2);
@ -892,6 +914,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity4.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity4.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity4.setBrand(devices.getBrand()); deviceCodeParamEntity4.setBrand(devices.getBrand());
deviceCodeParamEntity4.setDataCom(devices.getDataCom()); deviceCodeParamEntity4.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity4.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity4.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity4.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity4.setParity(devices.getParity()); deviceCodeParamEntity4.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity4); deviceCodeParamEntityList.add(deviceCodeParamEntity4);
@ -905,6 +929,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity2.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity2.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity2.setBrand(devices.getBrand()); deviceCodeParamEntity2.setBrand(devices.getBrand());
deviceCodeParamEntity2.setDataCom(devices.getDataCom()); deviceCodeParamEntity2.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity2.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity2.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity2.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity2.setParity(devices.getParity()); deviceCodeParamEntity2.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity2); deviceCodeParamEntityList.add(deviceCodeParamEntity2);
@ -917,6 +943,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity4.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity4.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity4.setBrand(devices.getBrand()); deviceCodeParamEntity4.setBrand(devices.getBrand());
deviceCodeParamEntity4.setDataCom(devices.getDataCom()); deviceCodeParamEntity4.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity4.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity4.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity4.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity4.setParity(devices.getParity()); deviceCodeParamEntity4.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity4); deviceCodeParamEntityList.add(deviceCodeParamEntity4);
@ -932,12 +960,14 @@ public class GetReadOrder485 {
deviceCodeParamEntity2.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity2.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity2.setBrand(devices.getBrand()); deviceCodeParamEntity2.setBrand(devices.getBrand());
deviceCodeParamEntity2.setDataCom(devices.getDataCom()); deviceCodeParamEntity2.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity2.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity2.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity2.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity2.setParity(devices.getParity()); deviceCodeParamEntity2.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity2); deviceCodeParamEntityList.add(deviceCodeParamEntity2);
registerAddr = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex("20041"), 4); registerAddr = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex("20041"), 4);
deviceCodeParamEntity2.setRegisterAddr(registerAddr);//故障状态 deviceCodeParamEntity4.setRegisterAddr(registerAddr);//故障状态
deviceCodeParamEntity4.setFunCode("03"); deviceCodeParamEntity4.setFunCode("03");
deviceCodeParamEntity4.setDeviceAddr(devices.getDeviceAddr()); deviceCodeParamEntity4.setDeviceAddr(devices.getDeviceAddr());
deviceCodeParamEntity4.setDeviceName(devices.getDeviceName()); deviceCodeParamEntity4.setDeviceName(devices.getDeviceName());
@ -945,6 +975,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity4.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity4.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity4.setBrand(devices.getBrand()); deviceCodeParamEntity4.setBrand(devices.getBrand());
deviceCodeParamEntity4.setDataCom(devices.getDataCom()); deviceCodeParamEntity4.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity4.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity4.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity4.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity4.setParity(devices.getParity()); deviceCodeParamEntity4.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity4); deviceCodeParamEntityList.add(deviceCodeParamEntity4);
@ -1017,6 +1049,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity2.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity2.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity2.setBrand(devices.getBrand()); deviceCodeParamEntity2.setBrand(devices.getBrand());
deviceCodeParamEntity2.setDataCom(devices.getDataCom()); deviceCodeParamEntity2.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity2.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity2.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity2.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity2.setParity(devices.getParity()); deviceCodeParamEntity2.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity2); deviceCodeParamEntityList.add(deviceCodeParamEntity2);
@ -1030,6 +1064,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity4.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity4.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity4.setBrand(devices.getBrand()); deviceCodeParamEntity4.setBrand(devices.getBrand());
deviceCodeParamEntity4.setDataCom(devices.getDataCom()); deviceCodeParamEntity4.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity4.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity4.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity4.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity4.setParity(devices.getParity()); deviceCodeParamEntity4.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity4); deviceCodeParamEntityList.add(deviceCodeParamEntity4);
@ -1043,6 +1079,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity2.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity2.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity2.setBrand(devices.getBrand()); deviceCodeParamEntity2.setBrand(devices.getBrand());
deviceCodeParamEntity2.setDataCom(devices.getDataCom()); deviceCodeParamEntity2.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity2.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity2.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity2.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity2.setParity(devices.getParity()); deviceCodeParamEntity2.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity2); deviceCodeParamEntityList.add(deviceCodeParamEntity2);
@ -1056,6 +1094,8 @@ public class GetReadOrder485 {
deviceCodeParamEntity2.setBaudrate(devices.getBaudRate()); deviceCodeParamEntity2.setBaudrate(devices.getBaudRate());
deviceCodeParamEntity2.setBrand(devices.getBrand()); deviceCodeParamEntity2.setBrand(devices.getBrand());
deviceCodeParamEntity2.setDataCom(devices.getDataCom()); deviceCodeParamEntity2.setDataCom(devices.getDataCom());
// 只获取字符串数字
deviceCodeParamEntity2.setThread(ExchangeStringUtil.getNumFromString(devices.getDataCom()));
deviceCodeParamEntity2.setBuildingId(devices.getBuildingId()); deviceCodeParamEntity2.setBuildingId(devices.getBuildingId());
deviceCodeParamEntity2.setParity(devices.getParity()); deviceCodeParamEntity2.setParity(devices.getParity());
deviceCodeParamEntityList.add(deviceCodeParamEntity2); deviceCodeParamEntityList.add(deviceCodeParamEntity2);

16
user-service/src/main/resources/application-prod.yml

@ -53,16 +53,16 @@ spring:
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_gw # username: chws_gw
# password: chws_gw@803 # password: chws_gw@803
url: jdbc:sqlserver://111.230.50.186:32012;DatabaseName=chws_gw;allowMultiQueries=true # url: jdbc:sqlserver://111.230.50.186:32012;DatabaseName=chws_gw;allowMultiQueries=true
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver # driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
username: chws_gw # username: chws_gw
password: chws_gw@803 # password: chws_gw@803
# 华软江门 # 华软江门
# url: jdbc:sqlserver://127.0.0.1:57238;DatabaseName=chws_jm;allowMultiQueries=true url: jdbc:sqlserver://127.0.0.1:57238;DatabaseName=chws_jm;allowMultiQueries=true
# driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
# username: chws_jm username: chws_jm
# password: Mhtech@803 password: Mhtech@803
filters: stat,wall,config filters: stat,wall,config
max-active: 100 max-active: 100

Loading…
Cancel
Save