From 14949a6a6e7dec654d13e75f46b24319a624ff8b Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Mon, 30 Oct 2023 17:13:34 +0800
Subject: [PATCH] Merge branch 'dev' of http://blit.7drlb.com:8888/r/moral into wb

---
 screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java |   82 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 1 deletions(-)

diff --git a/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java b/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
index fd65fa6..2d36dd7 100644
--- a/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
+++ b/screen-api/src/main/java/com/moral/api/service/impl/HistorySecondUavServiceImpl.java
@@ -1,15 +1,18 @@
 package com.moral.api.service.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.entity.*;
 import com.moral.api.mapper.HistorySecondUavMapper;
 import com.moral.api.pojo.dto.uav.UAVQueryTimeSlotDTO;
+import com.moral.api.pojo.enums.SysDictTypeEnum;
 import com.moral.api.pojo.form.uav.UAVQueryTimeSlotForm;
 import com.moral.api.service.HistorySecondUavService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.moral.api.service.OrganizationService;
 import com.moral.api.service.SpecialDeviceService;
+import com.moral.api.service.SysDictTypeService;
 import com.moral.api.utils.UnitConvertUtils;
 import com.moral.constant.RedisConstants;
 import com.moral.util.DateUtils;
@@ -48,6 +51,8 @@
     @Autowired
     SpecialDeviceService specialDeviceService;
     @Autowired
+    private SysDictTypeService sysDictTypeService;
+    @Autowired
     RedisTemplate redisTemplate;
 
     @Override
@@ -83,6 +88,8 @@
     public List<UAVQueryTimeSlotDTO> queryTimeSlot(UAVQueryTimeSlotForm form) {
         //������
         Integer organizationId = form.getOrganizationId();
+
+        List<Integer> integerList = sysDictTypeService.dateValueList(SysDictTypeEnum.SYS_SECOND_UAV_RANGE.getValue());
         Date startDate = form.getStartDate();
         Date endDate = form.getEndDate();
         QueryWrapper<HistorySecondUav> wrapper = new QueryWrapper<>();
@@ -93,6 +100,7 @@
             childrenId.add(child.getId());
         }
         childrenId.add(organizationId);
+        childrenId.addAll(integerList);
         wrapper.in("organization_id", childrenId);
         //������������batch������������������������������������������������
         wrapper.between("batch", startDate, endDate);
@@ -161,6 +169,7 @@
                     dateMap.put("startTime", slotStartDate);
                     dateMap.put("endTime", slotEndDate);
                     dateMap.put("batch", mKey);
+                    dateMap.put("total",mValue.size());
                     timeSlots.add(dateMap);
                 });
             });
@@ -348,4 +357,75 @@
         }
     }
 
+    @Override
+    public boolean UAVTest(BigDecimal lat, BigDecimal lon, String batch) {
+        List<HistorySecondUav> list = new ArrayList<>();
+
+        QueryWrapper<HistorySecondUav> wrapper = new QueryWrapper<>();
+        wrapper.eq("batch", batch);
+        wrapper.select("value,mac,time,organization_id");
+        wrapper.orderByAsc("time");
+        List<HistorySecondUav> datas = historySecondUavMapper.selectList(wrapper);
+        Date time = new Date();
+        //String bat = "2023-08-08 14:42:20";
+        for(HistorySecondUav g : datas){
+            HistorySecondUav historySecondUav = new HistorySecondUav();
+            historySecondUav.setTime(DateUtils.addDays(g.getTime(),0));
+            historySecondUav.setMac(g.getMac());
+            historySecondUav.setBatch(time);
+            historySecondUav.setOrganizationId(g.getOrganizationId());
+            Map<String, Object> data = JSON.parseObject(g.getValue(), Map.class);
+            Map<String, Object> dataResult = new HashMap<>();
+            dataResult = data;
+            dataResult.put("flylat",Objects.isNull(data.get("flylat"))||data.get("flylat").toString().equals("0")?0d:Double.parseDouble(String.format("%.10f",Double.parseDouble(data.get("flylat").toString())+lat.doubleValue())));
+            dataResult.put("flylon",Objects.isNull(data.get("flylon"))||data.get("flylon").toString().equals("0")?0d:Double.parseDouble(String.format("%.10f",Double.parseDouble(data.get("flylon").toString())+lon.doubleValue())));
+            /*if(Objects.nonNull(data.get("a21026"))&& !data.get("a21026").toString().equals("0")){
+                Double a21026D = Double.parseDouble(data.get("a21026").toString());
+                if( a21026D>15){
+                    a21026D = a21026D -10;
+                }
+                dataResult.put("a21026",Double.parseDouble(String.format("%.4f",a21026D)));
+            }
+            if(Objects.nonNull(data.get("a21004"))&& !data.get("a21004").toString().equals("0")){
+                Double a21024D = Double.parseDouble(data.get("a21004").toString());
+                if( a21024D>100){
+                    a21024D = a21024D -100;
+                }
+                dataResult.put("a21004",Double.parseDouble(String.format("%.4f",a21024D)));
+            }*/
+            historySecondUav.setValue(JSONObject.toJSONString(dataResult));
+            list.add(historySecondUav);
+        }
+        this.saveBatch(list);
+        return true;
+    }
+
+    @Override
+    public boolean UAVUpdateTest(String batch) {
+        List<HistorySecondUav> list = new ArrayList<>();
+        QueryWrapper<HistorySecondUav> wrapper = new QueryWrapper<>();
+        wrapper.eq("batch", batch);
+        wrapper.select("id,value,mac,time,organization_id");
+        wrapper.orderByAsc("time");
+        List<HistorySecondUav> datas = historySecondUavMapper.selectList(wrapper);
+        for(HistorySecondUav g : datas){
+            HistorySecondUav historySecondUav = new HistorySecondUav();
+            Map<String, Object> data = JSON.parseObject(g.getValue(), Map.class);
+            Map<String, Object> dataResult = new HashMap<>();
+            dataResult = data;
+            int a21026D =(int) Math.round(Double.parseDouble(data.get("a21026").toString()));
+            if(a21026D>10){
+                Integer digit = a21026D % 10;
+                dataResult.put("a21026",Double.parseDouble(digit.toString()));
+            }else {
+                continue;
+            }
+            historySecondUav.setId(g.getId());
+            historySecondUav.setValue(JSONObject.toJSONString(dataResult));
+            list.add(historySecondUav);
+        }
+        this.updateBatchById(list);
+        return true;
+    }
+
 }

--
Gitblit v1.8.0