Browse Source

* 协议测试接口

chen.cheng 3 tháng trước cách đây
mục cha
commit
abb3d4c725

+ 81 - 0
bd-park/park-backend/park-collect/src/main/java/com/huashe/park/collect/config/TopicDataCfg.java

@@ -3,6 +3,10 @@ package com.huashe.park.collect.config;
 import java.util.List;
 import java.util.Map;
 
+import com.alibaba.fastjson2.JSONObject;
+import com.huashe.common.utils.StringUtils;
+import com.huashe.park.common.ByteArrayUtil;
+import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.context.annotation.Configuration;
 
@@ -50,4 +54,81 @@ public class TopicDataCfg {
 
         private String byteSort = "little";
     }
+
+    public JSONObject byteFormat(byte[] payload, Map<String, TopicDataCfg.Protocol> protocolMap) {
+        JSONObject jsonObject = new JSONObject();
+        protocolMap.forEach((key, value) -> {
+            String camelCase = StringUtils.toCamelCase(key);
+            switch (value.getType()) {
+                case "short":
+                    if (value.getByteSort().equals("big")) {
+                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Short_Big_Endian(
+                                getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                        break;
+                    }
+                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Short_Little_Endian(
+                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                    break;
+                case "byte":
+                    jsonObject.put(camelCase, getByteArray(payload, value.getRange().get(0), value.getRange().get(1)));
+                    break;
+                case "long":
+                    if (value.getByteSort().equals("big")) {
+                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Long_Big_Endian(
+                                getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                        break;
+                    }
+                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Long_Little_Endian(
+                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                    break;
+                case "int":
+                    if (value.getByteSort().equals("big")) {
+                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Int_Big_Endian(
+                                getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                        break;
+                    }
+                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Int_Little_Endian(
+                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                    break;
+                case "double":
+                    if (value.getByteSort().equals("big")) {
+                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Double_Big_Endian(
+                                getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                        break;
+                    }
+                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Double_Little_Endian(
+                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                    break;
+                case "float":
+                    if (value.getByteSort().equals("big")) {
+                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Float_Big_Endian(
+                                getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                        break;
+                    }
+                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Float_Little_Endian(
+                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                    break;
+                case "string":
+                    if (value.getRange().isEmpty()) {
+                        break;
+                    }
+                    if (value.getRange().size() > 1) {
+                        jsonObject.put(camelCase,
+                                new String(getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
+                        break;
+                    }
+                    jsonObject.put(camelCase,
+                            new String(getByteArray(payload, value.getRange().get(0), payload.length - 1)));
+                    break;
+                default:
+                    break;
+            }
+        });
+        return jsonObject;
+    }
+
+    private byte[] getByteArray(byte[] payload, Integer startIncludeIndex, Integer endIncludeIndex) {
+        return ArrayUtils.subarray(payload, startIncludeIndex, endIncludeIndex + 1);
+    }
+
 }

+ 28 - 1
bd-park/park-backend/park-collect/src/main/java/com/huashe/park/collect/controller/TopicController.java

@@ -6,10 +6,14 @@ import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
+import com.huashe.common.domain.AjaxResult;
+import com.huashe.park.collect.config.TopicDataCfg;
 import com.huashe.park.collect.core.MqttMessageHandler;
 import com.huashe.park.collect.core.MqttTemplate;
-import com.huashe.park.domain.dto.cons.MqttRequest;
+import com.huashe.park.collect.model.TopicVO;
+import com.huashe.park.common.ByteArrayUtil;
 import com.huashe.park.common.SpringBeanUtils;
+import com.huashe.park.domain.dto.cons.MqttRequest;
 import com.ruoyi.common.annotation.Anonymous;
 import com.ruoyi.common.core.controller.BaseController;
 
@@ -28,6 +32,9 @@ public class TopicController extends BaseController {
     @Autowired
     private MqttTemplate mqttTemplate;
 
+    @Autowired
+    private TopicDataCfg topicDataCfg;
+
     @PostMapping
     @Anonymous
     public void send(@RequestBody MqttRequest jsonObject) {
@@ -51,6 +58,26 @@ public class TopicController extends BaseController {
             jsonObject.getQos(), jsonObject.isRetained());
     }
 
+    @PostMapping("/obj/byte/result")
+    @Anonymous
+    public AjaxResult sendObjResultByte(@RequestBody TopicVO result) throws Exception {
+        byte[] bytes = ByteArrayUtil.serializeObject(result.getResult());
+        MqttRequest jsonObject = result.getTopic();
+        mqttTemplate.sendByte(jsonObject.getTopic(), jsonObject.getTopic() + "/machine/piling/result", bytes,
+            jsonObject.getQos(), jsonObject.isRetained());
+        return AjaxResult.success(topicDataCfg.byteFormat(bytes, topicDataCfg.getResultTopic().getProtocol()));
+    }
+
+    @PostMapping("/obj/byte/process")
+    @Anonymous
+    public AjaxResult sendObjByte(@RequestBody TopicVO process) throws Exception {
+        byte[] bytes = ByteArrayUtil.serializeObject(process.getProcess());
+        MqttRequest jsonObject = process.getTopic();
+        mqttTemplate.sendByte(jsonObject.getTopic(), jsonObject.getTopic() + "/machine/piling/process", bytes,
+            jsonObject.getQos(), jsonObject.isRetained());
+        return AjaxResult.success(topicDataCfg.byteFormat(bytes, topicDataCfg.getProcessTopic().getProtocol()));
+    }
+
     @PostMapping("/new/topic")
     @Anonymous
     public void newTopic(@RequestBody MqttRequest mqttRequest) {

+ 2 - 77
bd-park/park-backend/park-collect/src/main/java/com/huashe/park/collect/handle/RootMsgHandler.java

@@ -94,7 +94,7 @@ public class RootMsgHandler extends TopicMsgEngine {
         // 结果数据处理
         if (topic.endsWith(topicDataCfg.getResultTopic().getName())) {
             byte[] bytes = json.getBytes(TOPIC_PAYLOAD);
-            JSONObject jsonObject = byteFormat(bytes, topicDataCfg.getResultTopic().getProtocol());
+            JSONObject jsonObject = topicDataCfg.byteFormat(bytes, topicDataCfg.getResultTopic().getProtocol());
             MachineProcessResult machineProcess = JSON.parseObject(jsonObject.toString(), MachineProcessResult.class);
             machineProcess.setRecordTime(DateTimeUtil.getDateFromMills(machineProcess.getDataTime()));
             machineProcess.setDt(
@@ -104,7 +104,7 @@ public class RootMsgHandler extends TopicMsgEngine {
         }
         if (topic.endsWith(topicDataCfg.getProcessTopic().getName())) {
             byte[] bytes = json.getBytes(TOPIC_PAYLOAD);
-            JSONObject jsonObject = byteFormat(bytes, topicDataCfg.getProcessTopic().getProtocol());
+            JSONObject jsonObject = topicDataCfg.byteFormat(bytes, topicDataCfg.getProcessTopic().getProtocol());
             MachineProcess machineProcess = JSON.parseObject(jsonObject.toString(), MachineProcess.class);
             machineProcess.setRecordTime(DateTimeUtil.getDateFromMills(machineProcess.getDataTime()));
             machineProcess.setDt(
@@ -114,81 +114,6 @@ public class RootMsgHandler extends TopicMsgEngine {
         }
     }
 
-    private JSONObject byteFormat(byte[] payload, Map<String, TopicDataCfg.Protocol> protocolMap) {
-        JSONObject jsonObject = new JSONObject();
-        protocolMap.forEach((key, value) -> {
-            String camelCase = StringUtils.toCamelCase(key);
-            switch (value.getType()) {
-                case "short":
-                    if (value.getByteSort().equals("big")) {
-                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Short_Big_Endian(
-                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                        break;
-                    }
-                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Short_Little_Endian(
-                        getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                    break;
-                case "byte":
-                    jsonObject.put(camelCase, getByteArray(payload, value.getRange().get(0), value.getRange().get(1)));
-                    break;
-                case "long":
-                    if (value.getByteSort().equals("big")) {
-                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Long_Big_Endian(
-                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                        break;
-                    }
-                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Long_Little_Endian(
-                        getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                    break;
-                case "int":
-                    if (value.getByteSort().equals("big")) {
-                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Int_Big_Endian(
-                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                        break;
-                    }
-                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Int_Little_Endian(
-                        getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                    break;
-                case "double":
-                    if (value.getByteSort().equals("big")) {
-                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Double_Big_Endian(
-                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                        break;
-                    }
-                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Double_Little_Endian(
-                        getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                    break;
-                case "float":
-                    if (value.getByteSort().equals("big")) {
-                        jsonObject.put(camelCase, ByteArrayUtil.byteArray2Float_Big_Endian(
-                            getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                        break;
-                    }
-                    jsonObject.put(camelCase, ByteArrayUtil.byteArray2Float_Little_Endian(
-                        getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                    break;
-                case "string":
-                    if (value.getRange().isEmpty()) {
-                        break;
-                    }
-                    if (value.getRange().size() > 1) {
-                        jsonObject.put(camelCase,
-                            new String(getByteArray(payload, value.getRange().get(0), value.getRange().get(1))));
-                        break;
-                    }
-                    jsonObject.put(camelCase,
-                        new String(getByteArray(payload, value.getRange().get(0), payload.length - 1)));
-                    break;
-                default:
-                    break;
-            }
-        });
-        return jsonObject;
-    }
-
-    private byte[] getByteArray(byte[] payload, Integer startIncludeIndex, Integer endIncludeIndex) {
-        return ArrayUtils.subarray(payload, startIncludeIndex, endIncludeIndex + 1);
-    }
 
     public static void main(String[] args) {
         byte[] bytes = ByteArrayUtil.hexString2ByteArray(

+ 16 - 0
bd-park/park-backend/park-collect/src/main/java/com/huashe/park/collect/model/TopicVO.java

@@ -0,0 +1,16 @@
+package com.huashe.park.collect.model;
+
+import com.huashe.park.domain.dto.cons.MqttRequest;
+import com.huashe.park.domain.entity.MachineProcess;
+import com.huashe.park.domain.entity.MachineProcessResult;
+
+import lombok.Data;
+
+@Data
+public class TopicVO {
+    MachineProcessResult result;
+
+    MachineProcess process;
+
+    MqttRequest topic;
+}

+ 102 - 2
bd-park/park-backend/park-common/src/main/java/com/huashe/park/common/ByteArrayUtil.java

@@ -1,5 +1,15 @@
 package com.huashe.park.common;
 
+import java.lang.reflect.Field;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
+import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import com.huashe.park.common.animations.FixedLength;
+
 /**
  * @author : chencheng
  * @date : 2020-05-01
@@ -393,9 +403,7 @@ public class ByteArrayUtil {
      */
 
     public static byte[] hexString2ByteArray(String hexString) {
-
         // 两个十六进制字符一个 byte,单数则有误
-
         if (hexString.length() % 2 != 0) {
 
             return null;
@@ -435,4 +443,96 @@ public class ByteArrayUtil {
 
     }
 
+    public static byte[] serializeObject(Object obj) throws Exception {
+        List<byte[]> fieldBytesList = new ArrayList<>();
+        int totalLength = 0;
+
+        // 遍历所有字段
+        for (Field field : obj.getClass().getDeclaredFields()) {
+            field.setAccessible(true); // 允许访问私有字段
+
+            // 检查是否包含@FixedLength注解
+            if (!field.isAnnotationPresent(FixedLength.class)) {
+                continue;
+            }
+
+            // 获取注解中定义的字节长度
+            FixedLength annotation = field.getAnnotation(FixedLength.class);
+            int length = annotation.value();
+
+            // 根据字段类型转换字节数组
+            Object value = field.get(obj);
+            System.out.println(">>>>>>>>>>>" + field.getName());
+            byte[] bytes = convertFieldToBytes(field.getType(), value, length, annotation.paddingByte());
+
+            fieldBytesList.add(bytes);
+            totalLength += bytes.length;
+        }
+
+        // 合并所有字节数组
+        ByteBuffer buffer = ByteBuffer.allocate(totalLength).order(ByteOrder.BIG_ENDIAN); // 默认大端序
+        for (byte[] bytes : fieldBytesList) {
+            buffer.put(bytes);
+        }
+        return buffer.array();
+    }
+
+    // 处理不同类型字段的字节转换
+    private static byte[] convertFieldToBytes(Class<?> type, Object value, int length, byte padByte) {
+        if (type == byte.class || type == Byte.class) {
+            validateLength(type, length, 1);
+            return new byte[] {
+                (byte) value
+            };
+        }
+        else if (type == int.class || type == Integer.class) {
+            // 整数处理:固定长度(需匹配类型自然长度)
+            validateLength(type, length, 4);
+            return ByteArrayUtil.int2ByteArray_Little_Endian((int) value);
+        }
+        else if (type == short.class || type == Short.class) {
+            validateLength(type, length, 2);
+            return ByteArrayUtil.short2ByteArray_Little_Endian((short) value);
+        }
+        else if (type == long.class || type == Long.class) {
+            validateLength(type, length, 8);
+            return ByteArrayUtil.long2ByteArray_Big_Endian((long) value);
+        }
+        else if (type == float.class || type == Float.class) {
+            validateLength(type, length, 4);
+            return ByteArrayUtil.float2ByteArray_Little_Endian((float) value);
+        }
+        else if (type == double.class || type == Double.class) {
+            validateLength(type, length, 8);
+            return ByteArrayUtil.double2ByteArray_Little_Endian((double) value);
+        }
+        else if (type == String.class) {
+            byte[] src = ((String) value).getBytes(StandardCharsets.UTF_8);
+            if (length < 0) {
+                return src;
+            }
+            return adjustLength(src, length, padByte);
+        }
+        else {
+            throw new UnsupportedOperationException("不支持的类型: " + type);
+        }
+    }
+
+    private static void validateLength(Class<?> type, int actual, int expected) {
+        if (actual != expected)
+            throw new IllegalArgumentException(type.getSimpleName() + "类型必须为" + expected + "字节");
+    }
+
+    private static byte[] adjustLength(byte[] src, int targetLen, byte padByte) {
+        byte[] dest = new byte[targetLen];
+        int copyLen = Math.min(src.length, targetLen);
+        System.arraycopy(src, 0, dest, 0, copyLen);
+        Arrays.fill(dest, copyLen, targetLen, padByte);
+        return dest;
+    }
+
+    public static void main(String[] args) {
+        System.out.println(Arrays.toString(long2ByteArray_Big_Endian(23040L)));
+    }
+
 }

+ 14 - 0
bd-park/park-backend/park-common/src/main/java/com/huashe/park/common/animations/FixedLength.java

@@ -0,0 +1,14 @@
+package com.huashe.park.common.animations;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+@Retention(RetentionPolicy.RUNTIME) // 注解在运行时生效
+@Target(ElementType.FIELD) // 仅用于字段
+public @interface FixedLength {
+    int value(); // 指定字段的固定字节长度
+
+    byte paddingByte() default 0;
+}

+ 2 - 2
bd-park/park-backend/park-domain/src/main/java/com/huashe/park/domain/dto/cons/ResultCADCsv.java

@@ -40,10 +40,10 @@ public class ResultCADCsv {
     private Double effectiveDown;
 
     @CsvAlias(alias = "Pull Value")
-    private Double pullValue;
+    private Float pullValue;
 
     @CsvAlias(alias = "Actual. Depth")
-    private Double actualDepth;
+    private Float actualDepth;
 
     @CsvAlias(alias = "Tilt X")
     private Double forwardTiltAngle;

+ 56 - 322
bd-park/park-backend/park-domain/src/main/java/com/huashe/park/domain/entity/MachineProcess.java

@@ -5,6 +5,10 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 
 import com.huashe.common.annotation.Excel;
 import com.huashe.common.domain.BaseEntity;
+import com.huashe.park.common.animations.FixedLength;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 /**
  * 桩机施工过程数据对象 cons_machine_process
@@ -12,131 +16,164 @@ import com.huashe.common.domain.BaseEntity;
  * @author ruoyi
  * @date 2025-02-26
  */
+@EqualsAndHashCode(callSuper = true)
+@Data
 public class MachineProcess extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
     /** 设备类型(0-1字节) */
     @Excel(name = "设备类型", readConverterExp = "0=-1字节")
-    private Integer consType;
+    @FixedLength(value = 2)
+    private Short consType;
 
     /** 数据版本(2字节) */
     @Excel(name = "数据版本", readConverterExp = "2=字节")
-    private Integer dataVersion;
+    @FixedLength(value = 1)
+    private Byte dataVersion;
 
     /** 数据时间(3-10字节,大端序) */
     @Excel(name = "数据时间", readConverterExp = "3=-10字节,大端序")
+    @FixedLength(value = 8)
     private Long dataTime;
 
     /** 桩号(11-18字节) */
     @Excel(name = "桩号", readConverterExp = "1=1-18字节")
+    @FixedLength(value = 8)
     private String pileId;
 
     /** 设计编号(19-26字节) */
     @Excel(name = "设计编号", readConverterExp = "1=9-26字节")
+    @FixedLength(value = 8)
     private String designId;
 
     /** 机器编号(27-34字节) */
     @Excel(name = "机器编号", readConverterExp = "2=7-34字节")
+    @FixedLength(value = 8)
     private String machineId;
 
     /** 实际X坐标(35-42字节) */
     @Excel(name = "实际X坐标", readConverterExp = "3=5-42字节")
+    @FixedLength(value = 8)
     private Double realX;
 
     /** 实际Y坐标(43-50字节) */
     @Excel(name = "实际Y坐标", readConverterExp = "4=3-50字节")
+    @FixedLength(value = 8)
     private Double realY;
 
     /** 高程(51-54字节) */
     @Excel(name = "高程", readConverterExp = "5=1-54字节")
-    private Double realZ;
+    @FixedLength(value = 4)
+    private Float realZ;
 
     /** 纬度(55-62字节) */
     @Excel(name = "纬度", readConverterExp = "5=5-62字节")
+    @FixedLength(value = 8)
     private Double latitude;
 
     /** 经度(63-70字节) */
     @Excel(name = "经度", readConverterExp = "6=3-70字节")
+    @FixedLength(value = 8)
     private Double longitude;
 
     /** 设计桩长(71-74字节) */
     @Excel(name = "设计桩长", readConverterExp = "7=1-74字节")
-    private Double pileLength;
+    @FixedLength(value = 4)
+    private Float pileLength;
 
     /** 实际桩长(75-78字节) */
     @Excel(name = "实际桩长", readConverterExp = "7=5-78字节")
-    private Double realPileLength;
+    @FixedLength(value = 4)
+    private Float realPileLength;
 
     /** 速度(79-82字节) */
     @Excel(name = "速度", readConverterExp = "7=9-82字节")
-    private Double speed;
+    @FixedLength(value = 4)
+    private Float speed;
 
     /** 电流(83-86字节) */
     @Excel(name = "电流", readConverterExp = "8=3-86字节")
-    private Double current;
+    @FixedLength(value = 4)
+    private Float current;
 
     /** 倾侧角(87-90字节) */
     @Excel(name = "倾侧角", readConverterExp = "8=7-90字节")
-    private Double tiltAngle;
+    @FixedLength(value = 4)
+    private Float tiltAngle;
 
     /** 前倾角(91-94字节) */
     @Excel(name = "前倾角", readConverterExp = "9=1-94字节")
-    private Double forwardTiltAngle;
+    @FixedLength(value = 4)
+    private Float forwardTiltAngle;
 
     /** 垂直度(95-98字节) */
     @Excel(name = "垂直度", readConverterExp = "9=5-98字节")
-    private Double verticalAngle;
+    @FixedLength(value = 4)
+    private Float verticalAngle;
 
     /** 自编号(99-102字节) */
     @Excel(name = "自编号", readConverterExp = "9=9-102字节")
+    @FixedLength(value = 4)
     private Integer selfNum;
 
     /** 持力层电流(103-106字节) */
     @Excel(name = "持力层电流", readConverterExp = "1=03-106字节")
-    private Double holdCurrent;
+    @FixedLength(value = 4)
+    private Float holdCurrent;
 
     /** 灌浆体积(107-110字节) */
     @Excel(name = "灌浆体积", readConverterExp = "1=07-110字节")
-    private Double sprayVolume;
+    @FixedLength(value = 4)
+    private Float sprayVolume;
 
     /** 实时钻头高程(111-114字节) */
     @Excel(name = "实时钻头高程", readConverterExp = "1=11-114字节")
-    private Double realDrillHeight;
+    @FixedLength(value = 4)
+    private Float realDrillHeight;
 
     /** 振动电流(115-118字节) */
     @Excel(name = "振动电流", readConverterExp = "1=15-118字节")
-    private Double vibrationCurrent;
+    @FixedLength(value = 4)
+    private Float vibrationCurrent;
 
     /** 水泵电流(119-122字节) */
     @Excel(name = "水泵电流", readConverterExp = "1=19-122字节")
-    private Double pumpCurrent;
+    @FixedLength(value = 4)
+    private Float pumpCurrent;
 
     /** 喷浆压力(123-126字节) */
     @Excel(name = "喷浆压力", readConverterExp = "1=23-126字节")
-    private Double sprayPressure;
+    @FixedLength(value = 4)
+    private Float sprayPressure;
 
     /** 喷浆速度(127-130字节) */
     @Excel(name = "喷浆速度", readConverterExp = "1=27-130字节")
-    private Double spraySpeed;
+    @FixedLength(value = 4)
+    private Float spraySpeed;
 
     /** 设计桩长(131-134字节) */
     @Excel(name = "设计桩长", readConverterExp = "1=31-134字节")
-    private Double designLength;
+    @FixedLength(value = 4)
+    private Float designLength;
 
     /** 当前钻杆节数(135-138字节) */
     @Excel(name = "当前钻杆节数", readConverterExp = "1=35-138字节")
+    @FixedLength(value = 4)
     private Integer currentDrillNumber;
 
     /** 每节开始时间(139-146字节,大端序) */
     @Excel(name = "每节开始时间", readConverterExp = "1=39-146字节,大端序")
+    @FixedLength(value = 8)
     private Long startTime;
 
     /** 每节结束时间(147-154字节,大端序) */
     @Excel(name = "每节结束时间", readConverterExp = "1=47-154字节,大端序")
+    @FixedLength(value = 8)
     private Long endTime;
 
     /** 当前机械类型(155-158字节) */
     @Excel(name = "当前机械类型", readConverterExp = "1=55-158字节")
+    @FixedLength(value = 4)
     private Integer currentMechanicalType;
 
     /** 当前层(159-163字节) */
@@ -153,6 +190,7 @@ public class MachineProcess extends BaseEntity {
 
     /** UUID(172+字节) */
     @Excel(name = "UUID", readConverterExp = "1=72+字节")
+    @FixedLength(value = -1)
     private String uuid;
 
     /** 时间分区,yyyyMMdd */
@@ -164,310 +202,6 @@ public class MachineProcess extends BaseEntity {
 
     private String recordTime;
 
-    public void setConsType(Integer consType) {
-        this.consType = consType;
-    }
-
-    public Integer getConsType() {
-        return consType;
-    }
-
-    public void setDataVersion(Integer dataVersion) {
-        this.dataVersion = dataVersion;
-    }
-
-    public Integer getDataVersion() {
-        return dataVersion;
-    }
-
-    public void setDataTime(Long dataTime) {
-        this.dataTime = dataTime;
-    }
-
-    public Long getDataTime() {
-        return dataTime;
-    }
-
-    public void setPileId(String pileId) {
-        this.pileId = pileId;
-    }
-
-    public String getPileId() {
-        return pileId;
-    }
-
-    public void setDesignId(String designId) {
-        this.designId = designId;
-    }
-
-    public String getDesignId() {
-        return designId;
-    }
-
-    public void setMachineId(String machineId) {
-        this.machineId = machineId;
-    }
-
-    public String getMachineId() {
-        return machineId;
-    }
-
-    public void setRealX(Double realX) {
-        this.realX = realX;
-    }
-
-    public Double getRealX() {
-        return realX;
-    }
-
-    public void setRealY(Double realY) {
-        this.realY = realY;
-    }
-
-    public Double getRealY() {
-        return realY;
-    }
-
-    public void setRealZ(Double realZ) {
-        this.realZ = realZ;
-    }
-
-    public Double getRealZ() {
-        return realZ;
-    }
-
-    public void setLatitude(Double latitude) {
-        this.latitude = latitude;
-    }
-
-    public Double getLatitude() {
-        return latitude;
-    }
-
-    public void setLongitude(Double longitude) {
-        this.longitude = longitude;
-    }
-
-    public Double getLongitude() {
-        return longitude;
-    }
-
-    public void setPileLength(Double pileLength) {
-        this.pileLength = pileLength;
-    }
-
-    public Double getPileLength() {
-        return pileLength;
-    }
-
-    public void setRealPileLength(Double realPileLength) {
-        this.realPileLength = realPileLength;
-    }
-
-    public Double getRealPileLength() {
-        return realPileLength;
-    }
-
-    public void setSpeed(Double speed) {
-        this.speed = speed;
-    }
-
-    public Double getSpeed() {
-        return speed;
-    }
-
-    public void setCurrent(Double current) {
-        this.current = current;
-    }
-
-    public Double getCurrent() {
-        return current;
-    }
-
-    public void setTiltAngle(Double tiltAngle) {
-        this.tiltAngle = tiltAngle;
-    }
-
-    public Double getTiltAngle() {
-        return tiltAngle;
-    }
-
-    public void setForwardTiltAngle(Double forwardTiltAngle) {
-        this.forwardTiltAngle = forwardTiltAngle;
-    }
-
-    public Double getForwardTiltAngle() {
-        return forwardTiltAngle;
-    }
-
-    public void setVerticalAngle(Double verticalAngle) {
-        this.verticalAngle = verticalAngle;
-    }
-
-    public Double getVerticalAngle() {
-        return verticalAngle;
-    }
-
-    public void setSelfNum(Integer selfNum) {
-        this.selfNum = selfNum;
-    }
-
-    public Integer getSelfNum() {
-        return selfNum;
-    }
-
-    public void setHoldCurrent(Double holdCurrent) {
-        this.holdCurrent = holdCurrent;
-    }
-
-    public Double getHoldCurrent() {
-        return holdCurrent;
-    }
-
-    public void setSprayVolume(Double sprayVolume) {
-        this.sprayVolume = sprayVolume;
-    }
-
-    public Double getSprayVolume() {
-        return sprayVolume;
-    }
-
-    public void setRealDrillHeight(Double realDrillHeight) {
-        this.realDrillHeight = realDrillHeight;
-    }
-
-    public Double getRealDrillHeight() {
-        return realDrillHeight;
-    }
-
-    public void setVibrationCurrent(Double vibrationCurrent) {
-        this.vibrationCurrent = vibrationCurrent;
-    }
-
-    public Double getVibrationCurrent() {
-        return vibrationCurrent;
-    }
-
-    public void setPumpCurrent(Double pumpCurrent) {
-        this.pumpCurrent = pumpCurrent;
-    }
-
-    public Double getPumpCurrent() {
-        return pumpCurrent;
-    }
-
-    public void setSprayPressure(Double sprayPressure) {
-        this.sprayPressure = sprayPressure;
-    }
-
-    public Double getSprayPressure() {
-        return sprayPressure;
-    }
-
-    public void setSpraySpeed(Double spraySpeed) {
-        this.spraySpeed = spraySpeed;
-    }
-
-    public Double getSpraySpeed() {
-        return spraySpeed;
-    }
-
-    public void setDesignLength(Double designLength) {
-        this.designLength = designLength;
-    }
-
-    public Double getDesignLength() {
-        return designLength;
-    }
-
-    public void setCurrentDrillNumber(Integer currentDrillNumber) {
-        this.currentDrillNumber = currentDrillNumber;
-    }
-
-    public Integer getCurrentDrillNumber() {
-        return currentDrillNumber;
-    }
-
-    public void setStartTime(Long startTime) {
-        this.startTime = startTime;
-    }
-
-    public Long getStartTime() {
-        return startTime;
-    }
-
-    public void setEndTime(Long endTime) {
-        this.endTime = endTime;
-    }
-
-    public Long getEndTime() {
-        return endTime;
-    }
-
-    public void setCurrentMechanicalType(Integer currentMechanicalType) {
-        this.currentMechanicalType = currentMechanicalType;
-    }
-
-    public Integer getCurrentMechanicalType() {
-        return currentMechanicalType;
-    }
-
-    public void setCurrentLayer(Integer currentLayer) {
-        this.currentLayer = currentLayer;
-    }
-
-    public Integer getCurrentLayer() {
-        return currentLayer;
-    }
-
-    public void setCurrentLayerSendTime(Double currentLayerSendTime) {
-        this.currentLayerSendTime = currentLayerSendTime;
-    }
-
-    public Double getCurrentLayerSendTime() {
-        return currentLayerSendTime;
-    }
-
-    public void setCurrentLayerHammerNumber(Integer currentLayerHammerNumber) {
-        this.currentLayerHammerNumber = currentLayerHammerNumber;
-    }
-
-    public Integer getCurrentLayerHammerNumber() {
-        return currentLayerHammerNumber;
-    }
-
-    public void setUuid(String uuid) {
-        this.uuid = uuid;
-    }
-
-    public String getUuid() {
-        return uuid;
-    }
-
-    public void setDt(String dt) {
-        this.dt = dt;
-    }
-
-    public String getDt() {
-        return dt;
-    }
-
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public String getRecordTime() {
-        return recordTime;
-    }
-
-    public void setRecordTime(String recordTime) {
-        this.recordTime = recordTime;
-    }
-
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("consType", getConsType())

+ 58 - 359
bd-park/park-backend/park-domain/src/main/java/com/huashe/park/domain/entity/MachineProcessResult.java

@@ -5,6 +5,10 @@ import org.apache.commons.lang3.builder.ToStringStyle;
 
 import com.huashe.common.annotation.Excel;
 import com.huashe.common.domain.BaseEntity;
+import com.huashe.park.common.animations.FixedLength;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 /**
  * 桩机施工结果数据(2025-02-26版协议)对象 cons_machine_process_result
@@ -12,6 +16,8 @@ import com.huashe.common.domain.BaseEntity;
  * @author ruoyi
  * @date 2025-02-26
  */
+@EqualsAndHashCode(callSuper = true)
+@Data
 public class MachineProcessResult extends BaseEntity {
     private static final long serialVersionUID = 1L;
 
@@ -20,130 +26,162 @@ public class MachineProcessResult extends BaseEntity {
 
     /** 施工类型编码(0-1字节) */
     @Excel(name = "施工类型编码", readConverterExp = "0=-1字节")
-    private Integer consType;
+    @FixedLength(value = 2)
+    private Short consType;
 
     /** 数据协议版本(2-2字节) */
     @Excel(name = "数据协议版本", readConverterExp = "2=-2字节")
-    private Integer dataVersion;
+    @FixedLength(value = 1)
+    private Byte dataVersion;
 
     /** 数据采集时间戳(3-10字节) */
     @Excel(name = "数据采集时间戳", readConverterExp = "3=-10字节")
+    @FixedLength(value = 8)
     private Long dataTime;
 
     /** 桩体编号(11-18字节) */
     @Excel(name = "桩体编号", readConverterExp = "1=1-18字节")
+    @FixedLength(value = 8)
     private String pileId;
 
     /** 设计图纸编号(19-26字节) */
     @Excel(name = "设计图纸编号", readConverterExp = "1=9-26字节")
+    @FixedLength(value = 8)
     private String designId;
 
     /** 施工机械编号(27-34字节) */
     @Excel(name = "施工机械编号", readConverterExp = "2=7-34字节")
+    @FixedLength(value = 8)
     private String machineId;
 
     /** 设计X坐标(米) */
     @Excel(name = "设计X坐标", readConverterExp = "米=")
+    @FixedLength(value = 8)
     private Double designX;
 
     /** 设计Y坐标(米) */
     @Excel(name = "设计Y坐标", readConverterExp = "米=")
+    @FixedLength(value = 8)
     private Double designY;
 
     /** 实际X坐标(米) */
     @Excel(name = "实际X坐标", readConverterExp = "米=")
+    @FixedLength(value = 8)
     private Double realX;
 
     /** 实际Y坐标(米) */
     @Excel(name = "实际Y坐标", readConverterExp = "米=")
+    @FixedLength(value = 8)
     private Double realY;
 
     /** 纬度 */
     @Excel(name = "纬度")
+    @FixedLength(value = 8)
     private Double latitude;
 
     /** 经度 */
     @Excel(name = "经度")
+    @FixedLength(value = 8)
     private Double longitude;
 
     /** 成桩长度(米) */
     @Excel(name = "成桩长度", readConverterExp = "米=")
-    private Double pileLength;
+    @FixedLength(value = 4)
+    private Float pileLength;
 
     /** 平均钻速(mm/min) */
     @Excel(name = "平均钻速", readConverterExp = "m=m/min")
-    private Double avgSpeed;
+    @FixedLength(value = 4)
+    private Float avgSpeed;
 
     /** 平均电流(A) */
     @Excel(name = "平均电流", readConverterExp = "A=")
-    private Double avgCurrent;
+    @FixedLength(value = 4)
+    private Float avgCurrent;
 
     /** 持力层电流阈值(A) */
     @Excel(name = "持力层电流阈值", readConverterExp = "A=")
-    private Double holdCurrent;
+    @FixedLength(value = 4)
+    private Float holdCurrent;
 
     /** 垂直度偏差(%) */
     @Excel(name = "垂直度偏差", readConverterExp = "%=")
-    private Double verticalDeviation;
+    @FixedLength(value = 4)
+    private Float verticalDeviation;
 
     /** 灌浆体积(m³) */
     @Excel(name = "灌浆体积", readConverterExp = "m=³")
-    private Double sprayVolume;
+    @FixedLength(value = 4)
+    private Float sprayVolume;
 
     /** 施工开始时间 */
     @Excel(name = "施工开始时间")
+    @FixedLength(value = 8)
     private Long startTime;
 
     /** 施工结束时间 */
     @Excel(name = "施工结束时间")
+    @FixedLength(value = 8)
     private Long endTime;
 
     /** 结果评价(0:合格 1:异常) */
     @Excel(name = "结果评价", readConverterExp = "0=:合格,1=:异常")
+    @FixedLength(value = 4)
     private Integer resultEvaluation;
 
     /** 起桩高度(米) */
     @Excel(name = "起桩高度", readConverterExp = "米=")
+    @FixedLength(value = 8)
     private Double startHeight;
 
     /** 入岩深度(米) */
     @Excel(name = "入岩深度", readConverterExp = "米=")
-    private Double inDepth;
+    @FixedLength(value = 4)
+    private Float inDepth;
 
     /** 有效下行深度(米) */
     @Excel(name = "有效下行深度", readConverterExp = "米=")
-    private Double effectiveDown;
+    @FixedLength(value = 4)
+    private Float effectiveDown;
 
     /** 有效桩长(米) */
     @Excel(name = "有效桩长", readConverterExp = "米=")
-    private Double effectiveLength;
+    @FixedLength(value = 4)
+    private Float effectiveLength;
 
     /** 桩点编号 */
     @Excel(name = "桩点编号")
+    @FixedLength(value = 4)
     private Integer pileNumber;
 
     /** 平均喷浆压力(MPa) */
     @Excel(name = "平均喷浆压力", readConverterExp = "M=Pa")
-    private Double avgSprayPressure;
+    @FixedLength(value = 4)
+    private Float avgSprayPressure;
 
     /** 平均喷浆速度(L/min) */
     @Excel(name = "平均喷浆速度", readConverterExp = "L=/min")
-    private Double avgSpraySpeed;
+    @FixedLength(value = 4)
+    private Float avgSpraySpeed;
 
     /** 设计桩长(米) */
     @Excel(name = "设计桩长", readConverterExp = "米=")
-    private Double designLength;
+    @FixedLength(value = 4)
+    private Float designLength;
 
     /** 平均上行速度(mm/min) */
     @Excel(name = "平均上行速度", readConverterExp = "m=m/min")
-    private Double avgUpSpeed;
+    @FixedLength(value = 4)
+    private Float avgUpSpeed;
 
     /** 钻杆总节数 */
     @Excel(name = "钻杆总节数")
+    @FixedLength(value = 4)
     private Integer drillTotalNumber;
 
     /** 机械类型(1:旋挖 2:冲击) */
     @Excel(name = "机械类型", readConverterExp = "1=:旋挖,2=:冲击")
+    @FixedLength(value = 4)
     private Integer currentMechanicalType;
 
     /** 送土次数 */
@@ -158,14 +196,19 @@ public class MachineProcessResult extends BaseEntity {
     @Excel(name = "总夯击次数")
     private Integer totalHammerNumber;
 
+    @FixedLength(value = 8)
     private Long sendStartTime;
 
+    @FixedLength(value = 8)
     private Long sendEndTime;
 
+    @FixedLength(value = 8)
     private Long pullingStartTime;
 
+    @FixedLength(value = 8)
     private Long pullingEndTime;
 
+    @FixedLength(value = -1)
     /** 设备唯一标识(UUID) */
     @Excel(name = "设备唯一标识", readConverterExp = "U=UID")
     private String uuid;
@@ -174,350 +217,6 @@ public class MachineProcessResult extends BaseEntity {
 
     private String recordTime;
 
-    public void setId(Long id) {
-        this.id = id;
-    }
-
-    public Long getId() {
-        return id;
-    }
-
-    public void setConsType(Integer consType) {
-        this.consType = consType;
-    }
-
-    public Integer getConsType() {
-        return consType;
-    }
-
-    public void setDataVersion(Integer dataVersion) {
-        this.dataVersion = dataVersion;
-    }
-
-    public Integer getDataVersion() {
-        return dataVersion;
-    }
-
-    public void setDataTime(Long dataTime) {
-        this.dataTime = dataTime;
-    }
-
-    public Long getDataTime() {
-        return dataTime;
-    }
-
-    public void setPileId(String pileId) {
-        this.pileId = pileId;
-    }
-
-    public String getPileId() {
-        return pileId;
-    }
-
-    public void setDesignId(String designId) {
-        this.designId = designId;
-    }
-
-    public String getDesignId() {
-        return designId;
-    }
-
-    public void setMachineId(String machineId) {
-        this.machineId = machineId;
-    }
-
-    public String getMachineId() {
-        return machineId;
-    }
-
-    public void setDesignX(Double designX) {
-        this.designX = designX;
-    }
-
-    public Double getDesignX() {
-        return designX;
-    }
-
-    public void setDesignY(Double designY) {
-        this.designY = designY;
-    }
-
-    public Double getDesignY() {
-        return designY;
-    }
-
-    public void setRealX(Double realX) {
-        this.realX = realX;
-    }
-
-    public Double getRealX() {
-        return realX;
-    }
-
-    public void setRealY(Double realY) {
-        this.realY = realY;
-    }
-
-    public Double getRealY() {
-        return realY;
-    }
-
-    public void setLatitude(Double latitude) {
-        this.latitude = latitude;
-    }
-
-    public Double getLatitude() {
-        return latitude;
-    }
-
-    public void setLongitude(Double longitude) {
-        this.longitude = longitude;
-    }
-
-    public Double getLongitude() {
-        return longitude;
-    }
-
-    public void setPileLength(Double pileLength) {
-        this.pileLength = pileLength;
-    }
-
-    public Double getPileLength() {
-        return pileLength;
-    }
-
-    public void setAvgSpeed(Double avgSpeed) {
-        this.avgSpeed = avgSpeed;
-    }
-
-    public Double getAvgSpeed() {
-        return avgSpeed;
-    }
-
-    public void setAvgCurrent(Double avgCurrent) {
-        this.avgCurrent = avgCurrent;
-    }
-
-    public Double getAvgCurrent() {
-        return avgCurrent;
-    }
-
-    public void setHoldCurrent(Double holdCurrent) {
-        this.holdCurrent = holdCurrent;
-    }
-
-    public Double getHoldCurrent() {
-        return holdCurrent;
-    }
-
-    public void setVerticalDeviation(Double verticalDeviation) {
-        this.verticalDeviation = verticalDeviation;
-    }
-
-    public Double getVerticalDeviation() {
-        return verticalDeviation;
-    }
-
-    public void setSprayVolume(Double sprayVolume) {
-        this.sprayVolume = sprayVolume;
-    }
-
-    public Double getSprayVolume() {
-        return sprayVolume;
-    }
-
-    public void setStartTime(Long startTime) {
-        this.startTime = startTime;
-    }
-
-    public Long getStartTime() {
-        return startTime;
-    }
-
-    public void setEndTime(Long endTime) {
-        this.endTime = endTime;
-    }
-
-    public Long getEndTime() {
-        return endTime;
-    }
-
-    public void setResultEvaluation(Integer resultEvaluation) {
-        this.resultEvaluation = resultEvaluation;
-    }
-
-    public Integer getResultEvaluation() {
-        return resultEvaluation;
-    }
-
-    public void setStartHeight(Double startHeight) {
-        this.startHeight = startHeight;
-    }
-
-    public Double getStartHeight() {
-        return startHeight;
-    }
-
-    public void setInDepth(Double inDepth) {
-        this.inDepth = inDepth;
-    }
-
-    public Double getInDepth() {
-        return inDepth;
-    }
-
-    public void setEffectiveDown(Double effectiveDown) {
-        this.effectiveDown = effectiveDown;
-    }
-
-    public Double getEffectiveDown() {
-        return effectiveDown;
-    }
-
-    public void setEffectiveLength(Double effectiveLength) {
-        this.effectiveLength = effectiveLength;
-    }
-
-    public Double getEffectiveLength() {
-        return effectiveLength;
-    }
-
-    public void setPileNumber(Integer pileNumber) {
-        this.pileNumber = pileNumber;
-    }
-
-    public Integer getPileNumber() {
-        return pileNumber;
-    }
-
-    public void setAvgSprayPressure(Double avgSprayPressure) {
-        this.avgSprayPressure = avgSprayPressure;
-    }
-
-    public Double getAvgSprayPressure() {
-        return avgSprayPressure;
-    }
-
-    public void setAvgSpraySpeed(Double avgSpraySpeed) {
-        this.avgSpraySpeed = avgSpraySpeed;
-    }
-
-    public Double getAvgSpraySpeed() {
-        return avgSpraySpeed;
-    }
-
-    public void setDesignLength(Double designLength) {
-        this.designLength = designLength;
-    }
-
-    public Double getDesignLength() {
-        return designLength;
-    }
-
-    public void setAvgUpSpeed(Double avgUpSpeed) {
-        this.avgUpSpeed = avgUpSpeed;
-    }
-
-    public Double getAvgUpSpeed() {
-        return avgUpSpeed;
-    }
-
-    public void setDrillTotalNumber(Integer drillTotalNumber) {
-        this.drillTotalNumber = drillTotalNumber;
-    }
-
-    public Integer getDrillTotalNumber() {
-        return drillTotalNumber;
-    }
-
-    public void setCurrentMechanicalType(Integer currentMechanicalType) {
-        this.currentMechanicalType = currentMechanicalType;
-    }
-
-    public Integer getCurrentMechanicalType() {
-        return currentMechanicalType;
-    }
-
-    public void setSendTotalNumber(Integer sendTotalNumber) {
-        this.sendTotalNumber = sendTotalNumber;
-    }
-
-    public Integer getSendTotalNumber() {
-        return sendTotalNumber;
-    }
-
-    public void setSendTotalTime(Double sendTotalTime) {
-        this.sendTotalTime = sendTotalTime;
-    }
-
-    public Double getSendTotalTime() {
-        return sendTotalTime;
-    }
-
-    public void setTotalHammerNumber(Integer totalHammerNumber) {
-        this.totalHammerNumber = totalHammerNumber;
-    }
-
-    public Integer getTotalHammerNumber() {
-        return totalHammerNumber;
-    }
-
-    public void setUuid(String uuid) {
-        this.uuid = uuid;
-    }
-
-    public String getUuid() {
-        return uuid;
-    }
-
-    public String getDt() {
-        return dt;
-    }
-
-    public void setDt(String dt) {
-        this.dt = dt;
-    }
-
-    public String getRecordTime() {
-        return recordTime;
-    }
-
-    public void setRecordTime(String recordTime) {
-        this.recordTime = recordTime;
-    }
-
-    public Long getSendStartTime() {
-        return sendStartTime;
-    }
-
-    public void setSendStartTime(Long sendStartTime) {
-        this.sendStartTime = sendStartTime;
-    }
-
-    public Long getSendEndTime() {
-        return sendEndTime;
-    }
-
-    public void setSendEndTime(Long sendEndTime) {
-        this.sendEndTime = sendEndTime;
-    }
-
-    public Long getPullingStartTime() {
-        return pullingStartTime;
-    }
-
-    public void setPullingStartTime(Long pullingStartTime) {
-        this.pullingStartTime = pullingStartTime;
-    }
-
-    public Long getPullingEndTime() {
-        return pullingEndTime;
-    }
-
-    public void setPullingEndTime(Long pullingEndTime) {
-        this.pullingEndTime = pullingEndTime;
-    }
-
     @Override
     public String toString() {
         return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("id", getId())

+ 7 - 7
bd-park/park-backend/park-domain/src/main/java/com/huashe/park/domain/entity/PileHoleIndexRealtime.java

@@ -48,29 +48,29 @@ public class PileHoleIndexRealtime extends BaseEntity {
     @Excel(name = "桩机编号")
     private String machineByteKey;
 
-    private Double tiltAngle;
+    private Float tiltAngle;
 
-    private Double forwardTiltAngle;
+    private Float forwardTiltAngle;
 
     /** 桩机实际深度 */
     @Excel(name = "桩机实际深度")
-    private Double depth;
+    private Float depth;
 
     /** 电机电流 */
     @Excel(name = "电机电流")
-    private Double current;
+    private Float current;
 
     /** 垂直偏差 */
     @Excel(name = "垂直偏差")
-    private Double verticalDeviation;
+    private Float verticalDeviation;
 
     /** 灌浆体积(m³)ups200送带量 */
     @Excel(name = "灌浆体积", readConverterExp = "m=³")
-    private Double sprayVolume;
+    private Float sprayVolume;
 
     /** 喷浆压力 ups200 压力值 */
     @Excel(name = "喷浆压力 ups200 压力值")
-    private Double sprayPressure;
+    private Float sprayPressure;
 
     /** 开始时间 */
     @JsonFormat(pattern = "yyyy-MM-dd")