diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderLocationServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderLocationServiceImpl.java index 513a5d31..30525f46 100644 --- a/src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderLocationServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/EquipmentFolderLocationServiceImpl.java @@ -1,17 +1,14 @@ package com.xujie.sys.modules.reader.service.impl; -import com.alibaba.excel.EasyExcel; -import com.alibaba.excel.support.ExcelTypeEnum; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.xujie.sys.modules.reader.dao.EquipmentFolderLocationMapper; import com.xujie.sys.modules.reader.entity.EquipmentFolderLocation; import com.xujie.sys.modules.reader.service.EquipmentFolderLocationService; +import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.List; - @Service +@Slf4j public class EquipmentFolderLocationServiceImpl extends ServiceImpl implements EquipmentFolderLocationService { } diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java index 32dbc574..684e415f 100644 --- a/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/GetInformationForExcelServiceImpl.java @@ -124,7 +124,8 @@ public class GetInformationForExcelServiceImpl extends ServiceImpl queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(EquipmentDataDetail::getBuNo, excel.getBuNo()); queryWrapper.eq(EquipmentDataDetail::getSite, excel.getSite()); - queryWrapper.eq(EquipmentDataDetail::getFileNo, excel.getFileNo()); + queryWrapper.eq(EquipmentDataDetail::getFileNo, excel.getFileNo()) + .orderByDesc(EquipmentDataDetail::getBatchNo); List equipments = this.list(queryWrapper); //定义批次号 Integer batchNo; diff --git a/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java b/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java index a71613e0..07e2290f 100644 --- a/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/reader/service/impl/ModbusCommunicateServiceImpl.java @@ -17,7 +17,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.net.InetAddress; +import java.nio.charset.StandardCharsets; import java.util.ArrayList; +import java.util.List; @Service @Slf4j @@ -47,7 +49,27 @@ public class ModbusCommunicateServiceImpl extends ServiceImpl value = getValue(modbusIp, modbusPort, registerAddress, registerNum, unitId); + log.info("最终获取的数据是: {}" ,value); + } + + //获取具体值 + public List getValue(String modbusIp, int modbusPort, int registerAddress, int registerNum, int unitId) { + log.info("modbus请求开始解析"); +// String modbusIp = "172.26.58.222"; +// int modbusPort = 502; +// int registerAddress = 499; +// int registerNum = 20; +// int unitId = 1; log.info("获取modbus设备ip-端口-地址值-数量-unitId:" + modbusIp + "-" + modbusPort + "-" + registerAddress + "-" + registerNum + "-" + unitId); + ArrayList floats = new ArrayList(); try { InetAddress ipAddress = InetAddress.getByName(modbusIp); @@ -85,6 +107,7 @@ public class ModbusCommunicateServiceImpl extends ServiceImpl byteArrayList = new ArrayList(); + for (InputRegister register : registers) { + short value = register.toShort(); + log.info("short类型: {}",value); + // 创建一个长度为 2 的字节数组 + byte[] byteArray = new byte[2]; + // 将 short 值转换成字节数组 + byteArray[1] = (byte) (value & 0xff); // 获取低位字节 + byteArray[0] = (byte) ((value >> 8) & 0xff); // 获取高位字节 + byteArrayList.add(byteArray); + } + + // 将字节数组列表转换为字符串 + StringBuilder stringBuilder = new StringBuilder(); + for (byte[] byteArray : byteArrayList) { + stringBuilder.append(new String(byteArray, StandardCharsets.UTF_8)); + } + //复制需要返回的string值 + finalString = stringBuilder.toString(); + log.info("转换后的字符串: {}", finalString); + + } else { + log.info("处理数据出现异常"); + } + // 关闭连接 + connection.close(); + log.info("关闭连接"); + } catch (Exception e) { + log.error("连接Modbus设备时出现异常: {}", e.getMessage()); + e.printStackTrace(); + } + return finalString; } } \ No newline at end of file