Browse Source

1、兼容热量采集;

2、添加用户、项目关联;
dev
mh 5 months ago
parent
commit
92de72eee0
  1. 18
      2024新增脚本.sql
  2. 6
      user-service/src/main/java/com/mh/user/controller/MeterManageController.java
  3. 6
      user-service/src/main/java/com/mh/user/controller/ProjectInfoController.java
  4. 2
      user-service/src/main/java/com/mh/user/job/PushDataToWechatJob.java
  5. 5
      user-service/src/main/java/com/mh/user/mapper/MeterManageMapper.java
  6. 14
      user-service/src/main/java/com/mh/user/mapper/ProjectInfoMapper.java
  7. 2
      user-service/src/main/java/com/mh/user/service/MeterManageService.java
  8. 2
      user-service/src/main/java/com/mh/user/service/ProjectInfoService.java
  9. 3
      user-service/src/main/java/com/mh/user/service/impl/DeviceCodeParamServiceImpl.java
  10. 8
      user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java
  11. 5
      user-service/src/main/java/com/mh/user/service/impl/ProjectInfoServiceImpl.java
  12. 2
      user-service/src/main/java/com/mh/user/strategy/ModbusProtocolStrategy.java

18
2024新增脚本.sql

@ -286,3 +286,21 @@ INSERT
INTO INTO
device_code_param (device_addr, device_type, str_data, data_port, baud_rate, brand, fun_code, register_addr, device_name, create_time, parity, project_id, digit, register_name, grade, mm_id, data_type, protocol_type) device_code_param (device_addr, device_type, str_data, data_port, baud_rate, brand, fun_code, register_addr, device_name, create_time, parity, project_id, digit, register_name, grade, mm_id, data_type, protocol_type)
VALUES(N'44', N'2', N'2C03004B0002B260', N'6002', 9600, N'建恒冷量计', N'03', N'0075', N'冷量计', '2024-11-21 17:30:55.010', N'none', N'3', 0, N'出水温度值', 142, 64, 2, 1); VALUES(N'44', N'2', N'2C03004B0002B260', N'6002', 9600, N'建恒冷量计', N'03', N'0075', N'冷量计', '2024-11-21 17:30:55.010', N'none', N'3', 0, N'出水温度值', 142, 64, 2, 1);
-- 2024-12-16 用户项目关联表
CREATE TABLE sys_user_pro (
id bigint IDENTITY(1,1) NOT NULL,
user_id bigint NOT NULL,
pro_id bigint NOT NULL,
system_id bigint NULL,
CONSTRAINT PK_sys_user_project PRIMARY KEY (id)
);
-- Extended properties
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'用户项目关联表', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'sys_user_pro';
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'编号', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'sys_user_pro', @level2type=N'Column', @level2name=N'id';
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'用户ID', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'sys_user_pro', @level2type=N'Column', @level2name=N'user_id';
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'项目ID', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'sys_user_pro', @level2type=N'Column', @level2name=N'pro_id';
EXEC sp_addextendedproperty @name=N'MS_Description', @value=N'系统ID', @level0type=N'Schema', @level0name=N'dbo', @level1type=N'Table', @level1name=N'sys_user_pro', @level2type=N'Column', @level2name=N'system_id';

6
user-service/src/main/java/com/mh/user/controller/MeterManageController.java

@ -69,4 +69,10 @@ public class MeterManageController {
return HttpResult.ok(); return HttpResult.ok();
} }
@SysLogger(value="仪表管理信息",optDesc = "判断是否包含热量计")
@GetMapping("/isHotCollection")
public HttpResult queryIsHotCollection(@RequestParam String systemId,@RequestParam String projectId) {
return HttpResult.ok(meterManageService.queryIsHotCollection(systemId,projectId));
}
} }

6
user-service/src/main/java/com/mh/user/controller/ProjectInfoController.java

@ -22,9 +22,9 @@ public class ProjectInfoController {
@SysLogger(value="项目信息",optDesc = "查询项目信息") @SysLogger(value="项目信息",optDesc = "查询项目信息")
@PostMapping("/queryProBySystemId") @PostMapping("/queryProBySystemId")
public HttpResult queryProBySystemId(@RequestParam(value = "systemId")String systemID) { public HttpResult queryProBySystemId(@RequestParam(value = "systemId")String systemID,
List<ProjectInfoEntity> list=projectInfoService.queryProjectInfo(systemID); @RequestParam(value = "account",required = false) String account) {
List<ProjectInfoEntity> list=projectInfoService.queryProjectInfo(systemID, account);
return HttpResult.ok(list); return HttpResult.ok(list);
} }

2
user-service/src/main/java/com/mh/user/job/PushDataToWechatJob.java

@ -46,7 +46,7 @@ public class PushDataToWechatJob {
// 将日期转换为字符串 // 将日期转换为字符串
String curDate = DateUtil.dateToString(calendar.getTime(), "yyyy-MM-dd"); String curDate = DateUtil.dateToString(calendar.getTime(), "yyyy-MM-dd");
// 查询有多少项目 // 查询有多少项目
List<ProjectInfoEntity> projectInfoEntities = projectInfoService.queryProjectInfo("1"); List<ProjectInfoEntity> projectInfoEntities = projectInfoService.queryProjectInfo("1", "");
for (ProjectInfoEntity projectInfoEntity : projectInfoEntities) { for (ProjectInfoEntity projectInfoEntity : projectInfoEntities) {
EnergyDataEntity energyDataEntity = energyDataService.queryEnergyDataByDate(curDate, String.valueOf(projectInfoEntity.getId())); EnergyDataEntity energyDataEntity = energyDataService.queryEnergyDataByDate(curDate, String.valueOf(projectInfoEntity.getId()));
if (energyDataEntity == null) { if (energyDataEntity == null) {

5
user-service/src/main/java/com/mh/user/mapper/MeterManageMapper.java

@ -28,4 +28,9 @@ public interface MeterManageMapper extends BaseMapper<MeterManageEntity> {
@Select("select top 1 mt_num from meter_manage where project_id=#{projectId} and register_addr=#{registerAddr} and func_code = '03' order by cur_value ") @Select("select top 1 mt_num from meter_manage where project_id=#{projectId} and register_addr=#{registerAddr} and func_code = '03' order by cur_value ")
String selectRegisterAddr(@Param("projectId") String projectId, String selectRegisterAddr(@Param("projectId") String projectId,
@Param("registerAddr") String registerAddr); @Param("registerAddr") String registerAddr);
@Select("select count(1) from meter_manage " +
" where system_id=#{systemId} and project_id=#{projectId} and mt_type = 2 and func_code = '03' and register_addr = '0077' ")
int queryIsHotCollection(@Param("systemId") String systemId,
@Param("projectId") String projectId);
} }

14
user-service/src/main/java/com/mh/user/mapper/ProjectInfoMapper.java

@ -24,15 +24,17 @@ public interface ProjectInfoMapper extends BaseMapper<ProjectInfoEntity> {
@Result(property="latitude",column="latitude") @Result(property="latitude",column="latitude")
}) })
@Select("<script>" + @Select("<script>" +
"select * from project_info where 1=1" + "select * from project_info pi " +
"<if test='systemId != null and systemId != \"\"'>" + "<if test='account != null and account != \"\"'>" +
" and system_id=#{systemId} " + " left join sys_user_pro sup on sup.pro_id = pi.id" +
" left join (select * from sys_user where user_name = #{account}) su on sup.user_id = su.id " +
"</if>" + "</if>" +
"<if test='projectId != null and projectId != \"\"'>" + "where 1=1 " +
" and project_id=#{projectId} " + "<if test='systemId != null and systemId != \"\"'>" +
" and pi.system_id=#{systemId} " +
"</if>" + "</if>" +
"</script>") "</script>")
List<ProjectInfoEntity> queryProjectInfo(@Param("systemId") String systemID, @Param("projectId") String projectId); List<ProjectInfoEntity> queryProjectInfo(@Param("systemId") String systemID, @Param("account") String projectId);
//通过id查找对应的名称 //通过id查找对应的名称
@Select("select project_name from project_info where id=#{id}") @Select("select project_name from project_info where id=#{id}")

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

@ -16,4 +16,6 @@ public interface MeterManageService extends BaseService<MeterManageEntity> {
List<MeterManageEntity> queryBySystemIdAndProjectId(String systemId, String projectId); List<MeterManageEntity> queryBySystemIdAndProjectId(String systemId, String projectId);
void updateDataById(Long mmId, String analysisData); void updateDataById(Long mmId, String analysisData);
int queryIsHotCollection(String systemId, String projectId);
} }

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

@ -6,7 +6,7 @@ import java.util.List;
public interface ProjectInfoService extends BaseService<ProjectInfoEntity> { public interface ProjectInfoService extends BaseService<ProjectInfoEntity> {
List<ProjectInfoEntity> queryProjectInfo(String systemID ); List<ProjectInfoEntity> queryProjectInfo(String systemID, String account);
String selectName(String id); String selectName(String id);

3
user-service/src/main/java/com/mh/user/service/impl/DeviceCodeParamServiceImpl.java

@ -6,7 +6,6 @@ import com.mh.user.entity.*;
import com.mh.user.factory.Protocol; import com.mh.user.factory.Protocol;
import com.mh.user.factory.ProtocolFactory; import com.mh.user.factory.ProtocolFactory;
import com.mh.user.mapper.DeviceCodeParamMapper; import com.mh.user.mapper.DeviceCodeParamMapper;
import com.mh.user.model.SysDict;
import com.mh.user.service.*; import com.mh.user.service.*;
import com.mh.user.strategy.ProtocolStrategy; import com.mh.user.strategy.ProtocolStrategy;
import com.mh.user.strategy.ProtocolStrategyFactory; import com.mh.user.strategy.ProtocolStrategyFactory;
@ -94,7 +93,7 @@ public class DeviceCodeParamServiceImpl implements DeviceCodeParamService {
@Override @Override
public void createCodeParams(MeterManageEntity entity) { public void createCodeParams(MeterManageEntity entity) {
if (entity == null) { if (entity == null) {
List<ProjectInfoEntity> projectInfoEntities = projectInfoService.queryProjectInfo("1"); List<ProjectInfoEntity> projectInfoEntities = projectInfoService.queryProjectInfo("1", "");
if (null != projectInfoEntities && !projectInfoEntities.isEmpty()) { if (null != projectInfoEntities && !projectInfoEntities.isEmpty()) {
for (ProjectInfoEntity projectInfoEntity : projectInfoEntities) { for (ProjectInfoEntity projectInfoEntity : projectInfoEntities) {
// getReadOrder485.createOrderParam(String.valueOf(projectInfoEntity.getId())); //生成采集参数,1新珠江(6000),2广合科技(6001),3广大科技(6002),6珠江国际,7保利山庄,8东莞迎宾馆 // getReadOrder485.createOrderParam(String.valueOf(projectInfoEntity.getId())); //生成采集参数,1新珠江(6000),2广合科技(6001),3广大科技(6002),6珠江国际,7保利山庄,8东莞迎宾馆

8
user-service/src/main/java/com/mh/user/service/impl/MeterManageServiceImpl.java

@ -8,7 +8,6 @@ import com.mh.common.page.MybatisPageHelper;
import com.mh.common.page.PageRequest; import com.mh.common.page.PageRequest;
import com.mh.common.page.PageResult; import com.mh.common.page.PageResult;
import com.mh.common.utils.StringUtils; import com.mh.common.utils.StringUtils;
import com.mh.user.entity.DevicesManageEntity;
import com.mh.user.entity.MeterManageEntity; import com.mh.user.entity.MeterManageEntity;
import com.mh.user.mapper.MeterManageMapper; import com.mh.user.mapper.MeterManageMapper;
import com.mh.user.service.MeterManageService; import com.mh.user.service.MeterManageService;
@ -16,8 +15,6 @@ import com.mh.user.utils.ExchangeStringUtil;
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.util.Collections;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -109,4 +106,9 @@ public class MeterManageServiceImpl implements MeterManageService {
public void delete(String id) { public void delete(String id) {
meterManageMapper.deleteById(id); meterManageMapper.deleteById(id);
} }
@Override
public int queryIsHotCollection(String systemId, String projectId) {
return meterManageMapper.queryIsHotCollection(systemId, projectId);
}
} }

5
user-service/src/main/java/com/mh/user/service/impl/ProjectInfoServiceImpl.java

@ -2,7 +2,6 @@ package com.mh.user.service.impl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.github.pagehelper.page.PageMethod;
import com.mh.common.page.MybatisPageHelper; import com.mh.common.page.MybatisPageHelper;
import com.mh.common.page.PageRequest; import com.mh.common.page.PageRequest;
import com.mh.common.page.PageResult; import com.mh.common.page.PageResult;
@ -25,9 +24,9 @@ public class ProjectInfoServiceImpl implements ProjectInfoService {
@Override @Override
public List<ProjectInfoEntity> queryProjectInfo(String systemID) { public List<ProjectInfoEntity> queryProjectInfo(String systemID, String account) {
return projectInfoMapper.queryProjectInfo(systemID, null); return projectInfoMapper.queryProjectInfo(systemID, account);
} }
@Override @Override

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

@ -224,7 +224,7 @@ public void analysisCloudOrder485(final String data, final DeviceCodeParamEntity
log.info("冷量计==>{},寄存器地址==>{},读数==>{},项目名称==>{}", cloudId, registerAddr, dataResultCh.getCurValue(), projectName); log.info("冷量计==>{},寄存器地址==>{},读数==>{},项目名称==>{}", cloudId, registerAddr, dataResultCh.getCurValue(), projectName);
dataResultService.saveDataResultCh(dataResultCh); dataResultService.saveDataResultCh(dataResultCh);
log.info("冷量计瞬时冷量/流量保存数据库成功!项目名称:{}", projectName); log.info("冷量计瞬时冷量/流量保存数据库成功!项目名称:{}", projectName);
} else if (registerAddr.equals("0080")) { } else if (registerAddr.equals("0080") || registerAddr.equals("0077")) {
dataResultCl.setDeviceAddr(cloudId); dataResultCl.setDeviceAddr(cloudId);
dataResultCl.setDeviceType(deviceCodeParam.getDeviceType()); dataResultCl.setDeviceType(deviceCodeParam.getDeviceType());
dataResultCl.setCurDate(sdf1.parse(dateStr)); dataResultCl.setCurDate(sdf1.parse(dateStr));

Loading…
Cancel
Save