Newspaper пре 1 година
родитељ
комит
85f3aa8ed3

+ 2 - 1
huimv-eartag2-platform/huimv-eartag2-api/src/main/java/com/huimv/eartag2/api/mapper/xml/EartagData2Mapper.xml

@@ -35,7 +35,8 @@
         SELECT  IFNULL (ROUND(AVG(ear_temp1),2) ,"0.0")  earTemp, IFNULL (ROUND(AVG(env_temp1),2) ,"0.0") envTemp , DATE_FORMAT(ask_time,'%m-%d %H')  addTime
         SELECT  IFNULL (ROUND(AVG(ear_temp1),2) ,"0.0")  earTemp, IFNULL (ROUND(AVG(env_temp1),2) ,"0.0") envTemp , DATE_FORMAT(ask_time,'%m-%d %H')  addTime
          FROM `eartag_data2`
          FROM `eartag_data2`
          ${ew.customSqlSegment}
          ${ew.customSqlSegment}
-         GROUP BY  DATE_FORMAT(ask_time,'%m-%d %H')
+         GROUP BY DATE_FORMAT(ask_time,'%m-%d %H')
+         ORDER BY ask_time DESC
     </select>
     </select>
     <select id="allHealthy2" resultType="com.huimv.eartag2.api.pojo.pojovo.AllHelthyDto">
     <select id="allHealthy2" resultType="com.huimv.eartag2.api.pojo.pojovo.AllHelthyDto">
          SELECT  IFNULL (ROUND(AVG(ear_temp1),2) ,"0.0")  earTemp, IFNULL (ROUND(AVG(env_temp1),2) ,"0.0") envTemp , DATE_FORMAT(ask_time,'%m-%d %H')  addTime
          SELECT  IFNULL (ROUND(AVG(ear_temp1),2) ,"0.0")  earTemp, IFNULL (ROUND(AVG(env_temp1),2) ,"0.0") envTemp , DATE_FORMAT(ask_time,'%m-%d %H')  addTime

+ 1 - 0
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/config/InterceptorConfig.java

@@ -26,6 +26,7 @@ public class InterceptorConfig implements WebMvcConfigurer {
                         "/**/eartagData/api/eartagData/*",
                         "/**/eartagData/api/eartagData/*",
                         "/**/eartagData/api/qingshan/*",
                         "/**/eartagData/api/qingshan/*",
                         "/**/eartagRegister/listFarmUnitEartagData",
                         "/**/eartagRegister/listFarmUnitEartagData",
+                        "/**/eartagRegister/listFarmUnitEartagData3",
                         "/manage2/eartagRegister/listFarmUnitEartagData",
                         "/manage2/eartagRegister/listFarmUnitEartagData",
                         "/eartagRegister/listFarmUnitEartagData2/**",
                         "/eartagRegister/listFarmUnitEartagData2/**",
                         "/eartagData/api/getEnvByTime/**",
                         "/eartagData/api/getEnvByTime/**",

+ 9 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/controller/EartagRegisterController.java

@@ -52,6 +52,13 @@ public class EartagRegisterController {
         return eartagRegisterService.listFarmUnitEartagData2(params);
         return eartagRegisterService.listFarmUnitEartagData2(params);
     }
     }
 
 
+    @RequestMapping("/listFarmUnitEartagData3")
+    public Result listFarmUnitEartagData3(@RequestBody Map<String, String> params, HttpServletRequest req){
+        Integer userId = TokenSign.getMemberIdByJwtToken(req);
+        params.put("userId",userId+"");
+        return eartagRegisterService.listFarmUnitEartagData3(params);
+    }
+
     @RequestMapping("/listFarmUnitEartagDataByFarmer")
     @RequestMapping("/listFarmUnitEartagDataByFarmer")
     public Result listFarmUnitEartagDataByFarmer(@RequestBody Map<String, String> params){
     public Result listFarmUnitEartagDataByFarmer(@RequestBody Map<String, String> params){
         return eartagRegisterService.listFarmUnitEartagDataByFarmer(params);
         return eartagRegisterService.listFarmUnitEartagDataByFarmer(params);
@@ -62,4 +69,6 @@ public class EartagRegisterController {
         return eartagRegisterService.removeByEarmark(params,req);
         return eartagRegisterService.removeByEarmark(params,req);
     }
     }
 
 
+
+
 }
 }

+ 7 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/pojo/EartagEartagRegister2.java

@@ -1,10 +1,14 @@
 package com.huimv.eartag2.manage2.pojo;
 package com.huimv.eartag2.manage2.pojo;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.util.Date;
 import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.Data;
@@ -112,5 +116,8 @@ public class EartagEartagRegister2 implements Serializable {
      */
      */
     private String rfidId;
     private String rfidId;
 
 
+    @TableField(exist = false)
+    private Map detail;
+
 
 
 }
 }

+ 2 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/IEartagEartagRegister2Service.java

@@ -28,4 +28,6 @@ public interface IEartagEartagRegister2Service extends IService<EartagEartagRegi
     Result listFarmUnitEartagDataQingshan(Map<String, String> params);
     Result listFarmUnitEartagDataQingshan(Map<String, String> params);
 
 
     Result removeByEarmark(Map<String, String> params, HttpServletRequest req);
     Result removeByEarmark(Map<String, String> params, HttpServletRequest req);
+
+    Result listFarmUnitEartagData3(Map<String, String> params);
 }
 }

+ 14 - 16
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagData2ServiceImpl.java

@@ -296,22 +296,20 @@ public class EartagData2ServiceImpl extends ServiceImpl<EartagData2Mapper, Earta
             list7.add( eartagData2.getEarTemp1());
             list7.add( eartagData2.getEarTemp1());
         }
         }
         Map endMap = new HashMap();
         Map endMap = new HashMap();
-        int size = list1.size();
-        if (size > 10){
-            List<Double> firstPart = list1.subList(0, size - 10);
-            List<Double> lastTen = list1.subList(size - 10, size);
-            Filter filter1 = new Filter(firstPart,0.2);
-            List<Double> earTemp1 = filter1.max(20, 200, 30, 40);
-            if (ObjectUtil.isNotEmpty(lastTen)){
-                earTemp1.addAll(lastTen);
-            }
-            endMap.put("earTemp1",earTemp1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
-        }else {
-            endMap.put("earTemp1",list1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
-        }
+//        int size = list1.size();
+//        if (size > 10){
+//            List<Double> firstPart = list1.subList(0, size - 10);
+//            List<Double> lastTen = list1.subList(size - 10, size);
+//            Filter filter1 = new Filter(firstPart,0.2);
+//            List<Double> earTemp1 = filter1.max(20, 200, 30, 40);
+//            earTemp1.addAll(lastTen);
+//            endMap.put("earTemp1",earTemp1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
+//        }else {
+//            endMap.put("earTemp1",list1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
+//        }
 
 
-//        Filter filter1 = new Filter(list1,0.2);
-//        List<Double> earTemp1 = filter1.max(20, 200, 30, 40);
+        Filter filter1 = new Filter(list1,0.2);
+        List<Double> earTemp1 = filter1.max(20, 200, 30, 40);
 
 
 //        Filter filter2 = new Filter(list2,0.2);
 //        Filter filter2 = new Filter(list2,0.2);
 //        List<Double> earTemp2 = filter2.max(20, 200, 30, 40);
 //        List<Double> earTemp2 = filter2.max(20, 200, 30, 40);
@@ -319,7 +317,7 @@ public class EartagData2ServiceImpl extends ServiceImpl<EartagData2Mapper, Earta
 //        Filter filter3 = new Filter(list3,0.2);
 //        Filter filter3 = new Filter(list3,0.2);
 //        List<Double> earTemp3 = filter3.max(20, 200, 10, 40);
 //        List<Double> earTemp3 = filter3.max(20, 200, 10, 40);
 
 
-//        endMap.put("earTemp1",earTemp1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
+        endMap.put("earTemp1",earTemp1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
         endMap.put("earTemp2",list2.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
         endMap.put("earTemp2",list2.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
         endMap.put("getEnvTemp1",list3.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
         endMap.put("getEnvTemp1",list3.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
         endMap.put("earTemp",list7.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
         endMap.put("earTemp",list7.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));

+ 113 - 0
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagEartagRegister2ServiceImpl.java

@@ -12,13 +12,16 @@ import com.huimv.eartag2.common.utils.Result;
 import com.huimv.eartag2.common.utils.ResultCode;
 import com.huimv.eartag2.common.utils.ResultCode;
 import com.huimv.eartag2.manage2.pojo.*;
 import com.huimv.eartag2.manage2.pojo.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.eartag2.manage2.utils.Filter;
 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 org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import java.text.DecimalFormat;
 import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.*;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -446,4 +449,114 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         return new Result(10000,"删除成功",true);
         return new Result(10000,"删除成功",true);
     }
     }
 
 
+    @Override
+    public Result listFarmUnitEartagData3(Map<String, String> params) {
+        String pageSize = params.get("pageSize");
+        String pageNo = params.get("pageNo");
+        String unitId = params.get("unitId");
+        String deviceCode = params.get("deviceCode");
+        String farmId = params.get("farmId");
+        String earmark = params.get("earmark");
+        String liveStatus = params.get("liveStatus");
+
+        if (StringUtils.isBlank(pageNo)){
+            pageNo="1";
+        }
+        if (StringUtils.isBlank(pageSize)){
+            pageSize="20";
+        }
+        Float maxEarTemp = 0F;
+        Float minEarTemp = 100F;
+        QueryWrapper<EartagEartagRegister2> wrapper = new QueryWrapper<>();
+        //设备
+        wrapper.like(StringUtils.isNotBlank(deviceCode),"last_device",deviceCode);
+        wrapper.eq("farm_id",farmId);
+        wrapper.eq(StringUtils.isNotBlank(unitId),"unit_id",unitId);
+        wrapper.like(StringUtils.isNotBlank(earmark),"earmark",earmark);
+        wrapper.eq(StringUtils.isNotBlank(liveStatus),"live_status",liveStatus);
+        wrapper.orderByDesc("ask_time");
+        //大堰河牧场过滤
+        if ("330112004".equals(farmId)){
+            wrapper.eq("live_status", 1).and( i->i.likeRight("earmark","1332022109003").or().likeRight("earmark","1332022109004"));
+        }
+        if ("330727001".equals(farmId)){
+            wrapper.eq("live_status", 1).like("earmark","31111112222");
+        }
+        Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
+
+        Map map = new HashMap();
+        long allCount = this.count(wrapper);
+        //在线
+        if (!"330112004".equals(farmId)){
+            wrapper.eq("live_status", 1);
+        }
+        long onCount = this.count(wrapper);
+        List<EartagEartagRegister2> list = this.list(wrapper);
+        if (list.size() == 0){
+            minEarTemp = 0F;
+        }
+
+        Calendar cal = Calendar.getInstance();
+        cal.set(Calendar.HOUR_OF_DAY, 0);
+        cal.set(Calendar.SECOND, 0);
+        cal.set(Calendar.MINUTE, 0);
+        cal.set(Calendar.MILLISECOND, 0);
+        Date time = cal.getTime();
+
+        for (EartagEartagRegister2 record : page.getRecords()) {
+            //客户数据
+
+            QueryWrapper<EartagData2> wrapper2 = new QueryWrapper<>();
+            wrapper2.eq("earmark", record.getEarmark());
+            wrapper2.ge("add_time", time);
+            wrapper2.orderByAsc("add_time");
+            List<Double> list1 = new ArrayList<>();
+            List<Float> list2 = new ArrayList<>();
+            List<Float> list3 = new ArrayList<>();
+            List<Date> list4 = new ArrayList<>();
+            List<Long> list5 = new ArrayList<>();
+            List<Integer> list6 = new ArrayList<>();
+            List<Float> list7 = new ArrayList<>();
+            List<EartagData2> list8 = eartagData2Mapper.selectList(wrapper2);
+            for (EartagData2 eartagData2 : list8) {
+                Float earTemp1 = eartagData2.getEarTemp1();
+                Float earTemp2 = eartagData2.getEarTemp2();
+                Float envTemp1 = eartagData2.getEnvTemp1();
+
+                list1.add(earTemp1 == null ? null:Double.valueOf(earTemp1));
+                list2.add(earTemp2);
+                list3.add(envTemp1);
+                list4.add( eartagData2.getAddTime());
+                list5.add( eartagData2.getAct1());
+                list6.add( eartagData2.getBat());
+                list7.add( eartagData2.getEarTemp1());
+            }
+            Filter filter1 = new Filter(list1,0.2);
+            List<Double> earTemp1 = filter1.max(20, 200, 30, 40);
+
+            Map endMap = new HashMap();
+            endMap.put("earTemp1",earTemp1.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
+            endMap.put("earTemp2",list2.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
+            endMap.put("getEnvTemp1",list3.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
+            endMap.put("earTemp",list7.stream().map(number -> String.format("%.2f", number)).collect(Collectors.toList()));
+            SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            endMap.put("time",list4.stream()
+                    .map(date -> formatter.format(date))
+                    .collect(Collectors.toList()));
+            endMap.put("act",list5);
+            endMap.put("bat",list6);
+
+            String format = String.format("%.2f", earTemp1.get(earmark.length()));
+            record.setEarTemp1(Float.parseFloat(format));
+            record.setDetail(endMap);
+        }
+        map.put("countOff",allCount-onCount);
+        map.put("countOn",onCount);
+        map.put("countAll",allCount);
+        map.put("maxEarTemp",maxEarTemp);
+        map.put("minEarTemp",minEarTemp);
+        map.put("page",page);
+        return new Result(ResultCode.SUCCESS,map);
+    }
+
 }
 }