15928045575 hace 2 años
padre
commit
9df6c1e523

+ 4 - 0
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/model/param/DeviceReferenceAdd.java

@@ -32,5 +32,9 @@ public class DeviceReferenceAdd {
      * 新增时的数据
      */
     private String referceData;
+    /**
+     * 1:调整经纬度,2:调整偏移量
+     */
+    private String type;
 
 }

+ 10 - 0
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/service/DeviceModelService.java

@@ -75,8 +75,18 @@ public class DeviceModelService {
         if (CollectionUtils.isEmpty(list)) {
             return PageRes.build(pageInfo, list);
         }
+        Map<String, SystemDict> dictList = commonService.getDictList(null, new HashMap<String, String>() {{
+            put("code", DictEnum.DEVICE_TYPE.getCodeType());
+            put("type", "1");
+        }});
+
         for (DeviceModelVo vo : list) {
             vo.setStatusText(DeviceEnum.getName(vo.getStatus()));
+            for(SystemDict value : dictList.values()) {
+                if (vo.getDeviceType().equals(value.getValue())) {
+                    vo.setDeviceType(value.getLabel());
+                }
+            }
         }
 
         return PageRes.build(pageInfo, list);

+ 16 - 5
slope-modules/slope-detection/src/main/java/com/sckw/slope/detection/service/DeviceService.java

@@ -591,6 +591,7 @@ public class DeviceService {
         HeaderData headerData = commonService.getHeaderData(response);
         String listData = deviceReference.getReferceData();
         Long deviceId = deviceReference.getDeviceId();
+        String type = deviceReference.getType();
         JSONArray array = JSON.parseArray(listData);
         LocalDateTime now = LocalDateTime.now();
         BigDecimal zero = new BigDecimal("0");
@@ -619,17 +620,27 @@ public class DeviceService {
                         .eq(KwsDeviceReference::getItem, obj.get("item"))
                         .set(KwsDeviceReference::getDelFlag, NumberConstant.ONE)
                 );
-                BigDecimal offset = value.subtract(reference.getValue());
-                kwsDeviceReference.setOffset(offset);
-                kwsDeviceReference.setCurrentValue(reference.getValue());
-                kwsDeviceReference.setOriginalValue(reference.getOriginalValue());
+                //BigDecimal offset = value.subtract(reference.getValue());
+                kwsDeviceReference.setOriginalValue(reference.getOriginalValue());//原始基准不变
+                //调整经纬度
+                if(type.equals(NumberConstant.ONE)){
+                    kwsDeviceReference.setOffset(zero);//当前位置-上一次的位置的距离的距离
+                    kwsDeviceReference.setCurrentValue(value);
+                    kwsDeviceReference.setValue(reference.getCurrentValue());
+
+                }else{
+                    kwsDeviceReference.setValue(reference.getCurrentValue());
+                    kwsDeviceReference.setOffset(value);
+                    //kwsDeviceReference.setCurrentValue(原始+偏移);//原始位置+偏移的坐标
+                }
+
+                //调整偏移量
             }
             kwsDeviceReference.setId(interId);
             kwsDeviceReference.setDeviceId(deviceId);
             kwsDeviceReference.setMountainId(headerData.getCompanyId());
             kwsDeviceReference.setType(Integer.parseInt(obj.get("type").toString()));
             kwsDeviceReference.setItem(obj.get("item").toString());
-            kwsDeviceReference.setValue(value);
 
 
             kwsDeviceReference.setCreateBy(Long.parseLong(headerData.getCreateBy()));