Browse Source

更新一个牧场内一个耳标不同采集器重复添加问题。

zhuoning 2 years ago
parent
commit
03cdd0ecb6

+ 2 - 2
huimv-eartag2-platform/huimv-eartag2-common/src/main/java/com/huimv/eartag2/common/dao/repo/EartagData2EntityRepo.java

@@ -10,6 +10,6 @@ import java.util.Optional;
 
 public interface EartagData2EntityRepo extends JpaRepository<EartagData2Entity, Integer>, JpaSpecificationExecutor<EartagData2Entity> {
 
-    @Query(nativeQuery = true,value = "SELECT * FROM eartag_data2 WHERE earmark=?1 ORDER BY add_time DESC LIMIT 1")
-    Optional<EartagData2Entity> getLastByEarmark(String earmark);
+    @Query(nativeQuery = true,value = "SELECT * FROM eartag_data2 WHERE earmark=?1 AND farm_id=?2 ORDER BY add_time DESC LIMIT 1")
+    Optional<EartagData2Entity> getLastByEarmark(String earmark, String farmId);
 }

+ 7 - 19
huimv-eartag2-platform/huimv-eartag2-manage2/src/main/java/com/huimv/eartag2/manage2/service/impl/EartagEartagRegister2ServiceImpl.java

@@ -40,7 +40,6 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         if (StringUtils.isBlank(pageSize)){
             pageSize="20";
         }
-
         Float maxEarTemp = 0F;
         Float minEarTemp = 100F;
         QueryWrapper<EartagEartagRegister2> wrapper = new QueryWrapper<>();
@@ -51,31 +50,20 @@ public class EartagEartagRegister2ServiceImpl extends ServiceImpl<EartagEartagRe
         wrapper.like(StringUtils.isNotBlank(earmark),"earmark",earmark);
         wrapper.orderByDesc("ask_time");
         Page<EartagEartagRegister2> page = this.page(new Page<>(Long.parseLong(pageNo), Long.parseLong(pageSize)), wrapper);
-        int onlineCount = 0;
-        int offlineCount = 0;
         for (EartagEartagRegister2 record : page.getRecords()) {
             Float earTemp1 = record.getEarTemp1();
             maxEarTemp = Math.max(earTemp1,maxEarTemp);
             minEarTemp = Math.min(earTemp1,minEarTemp);
-            if(record.getLiveStatus() == 1){
-                onlineCount++;
-            }else{
-                offlineCount++;
-            }
         }
 
         Map map = new HashMap();
-//        long allCount = this.count(wrapper);
-//        //在线
-//        wrapper.eq("active_status", 1);
-//        long onCount = this.count(wrapper);
-//        map.put("countOff",allCount-onCount);
-//        map.put("countOn",onCount);
-//        map.put("countAll",allCount);
-
-        map.put("countOff",offlineCount);
-        map.put("countOn",onlineCount);
-        map.put("countAll",onlineCount+offlineCount);
+        long allCount = this.count(wrapper);
+        //在线
+        wrapper.eq("live_status", 1);
+        long onCount = this.count(wrapper);
+        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);