فهرست منبع

Merge remote-tracking branch 'origin/master'

yang 3 سال پیش
والد
کامیت
a7a995e7e9

+ 2 - 2
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/EartagDataController.java

@@ -103,8 +103,8 @@ public class EartagDataController {
     /*
     * 获取每日数据统计
     */
-//    @Scheduled(cron = "1 1 * * * ?")
-    @RequestMapping("/test")
+    @Scheduled(cron = "1 1 * * * ?")
+//    @RequestMapping("/test")
     private void updateDailyData(){
         eartagDataService.updateDailyData();
     }

+ 1 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/controller/FarmStockController.java

@@ -59,6 +59,7 @@ public class FarmStockController {
      * 定时更新regionStockDay表
      */
      @Scheduled(cron = "1 10 * * * ?")
+//     @RequestMapping("/test")
     public void updateRegionStockDay(){
          farmStockService.updateRegionStockDay();
 

+ 1 - 0
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/entity/vo/CollectorRegisterVo.java

@@ -59,6 +59,7 @@ public class CollectorRegisterVo implements Serializable {
      * 单元id
      */
     private Integer unitId;
+
     /**
      * 上传服务器地址
      */

+ 7 - 2
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/CollectorRegisterServiceImpl.java

@@ -70,11 +70,16 @@ public class CollectorRegisterServiceImpl extends ServiceImpl<CollectorRegisterD
             wrapper.eq("network_status",Integer.parseInt(networkStatus));
         }
         if(StringUtils.isNotBlank(registerEndTime)){
-            registerEndTime = registerStartTime+" 23:59:59";
+            registerEndTime = registerEndTime+" 23:59:59";
             wrapper.le("register.register_time",registerEndTime);
         }
 
-        wrapper.ge(StringUtils.isNotBlank(registerEndTime),"register.register_time",registerStartTime);
+        if(StringUtils.isNotBlank(registerStartTime)){
+            registerStartTime = registerStartTime+" 00:00:00";
+            wrapper.ge("register.register_time",registerStartTime);
+        }
+
+//        wrapper.ge(StringUtils.isNotBlank(registerEndTime),"register.register_time",registerStartTime);
 
         wrapper.apply("register.del_status  = 1");
 

+ 26 - 4
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/DailyTabulateDataServiceImpl.java

@@ -101,9 +101,21 @@ public class DailyTabulateDataServiceImpl extends ServiceImpl<DailyTabulateDataD
         QueryWrapper<DailyTabulateDataEntity> wrapper = new QueryWrapper<>();
         wrapper.eq("statistic_date",date);
         wrapper.eq("farm_code",farmCode);
-
-
-        return   baseMapper.selectOne(wrapper);
+        DailyTabulateDataEntity dailyTabulateDataEntity = baseMapper.selectOne(wrapper);
+        if (dailyTabulateDataEntity == null){
+            dailyTabulateDataEntity = new DailyTabulateDataEntity();
+//            dailyTabulateDataEntity.setOfflineNo(0);
+//            dailyTabulateDataEntity.setSowStock(0);
+//            dailyTabulateDataEntity.setStock1(0);
+//            dailyTabulateDataEntity.setStockNew(0);
+//            dailyTabulateDataEntity.setStockTotal(0);
+//            dailyTabulateDataEntity.setStock2(0);
+//            dailyTabulateDataEntity.setStock1(0);
+//            dailyTabulateDataEntity.setStock4(0);
+//            dailyTabulateDataEntity.setStock5(0);
+//            dailyTabulateDataEntity.setStock3(0);
+        }
+        return   dailyTabulateDataEntity;
     }
 
     @Override
@@ -191,6 +203,16 @@ public class DailyTabulateDataServiceImpl extends ServiceImpl<DailyTabulateDataD
         wrapper1.eq(StringUtils.isNotBlank(farmCode),"farm_code",farmCode);
         wrapper1.eq("statistic_date", DateUtil.beginOfDay(new Date()));
         DailySowVo dailySowVo = baseMapper.counSowAll(wrapper1);
+        Map map = new HashMap();
+        if (dailySowVo == null){
+            map.put("sowStock",null);
+            map.put("sowTotalStockValue",null);
+            map.put("sowTotalStockType",null);
+            map.put("stockToal",null);
+            map.put("stock1",null);
+            map.put("stock2",null);
+            map.put("stock3",null);
+        }
 
 
         wrapper1.clear();
@@ -201,7 +223,7 @@ public class DailyTabulateDataServiceImpl extends ServiceImpl<DailyTabulateDataD
         Integer sowTotalStock = dailySowVo.getStockTotal();
         Integer yestdayTotalSowStock = yestDayDailySowVo.getStockTotal();
 
-        Map map = new HashMap();
+
         map.put("sowStock",dailySowVo.getSowStock());
         if (yestdayTotalSowStock.equals(sowTotalStock)){
             map.put("sowTotalStockValue",0);

+ 39 - 24
smart.eartag.data.platform/huimv-smart-eartag-data-manager/src/main/java/com/huimv/manager/service/impl/EartagDataServiceImpl.java

@@ -117,42 +117,57 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
             QueryWrapper<EartagDataEntity> wrapper = new QueryWrapper<>();
             wrapper.eq("farm_code", farmCode);
             wrapper.ge("time", DateUtil.beginOfDay(now));
-            wrapper.groupBy("eartag_no");
+
+            wrapper.apply("id IN (SELECT MAX(id) from  eartag_data group by eartag_no)");
             List<EartagDataEntity> eartagDataEntities = baseMapper.selectList(wrapper);
 
-            //过滤
-            Set<String> nowSet = new HashSet();
-            for (EartagDataEntity eartagDataEntity : eartagDataEntities) {
-                nowSet.add(eartagDataEntity.getEartagNo());
-            }
 
             //查询昨日牧场下耳标数据
             wrapper.clear();
             wrapper.eq("farm_code", farmCode);
-            wrapper.le("time", DateUtil.beginOfDay(now));
+
             wrapper.ge("time", DateUtil.offsetDay(DateUtil.beginOfDay(now), -1));
-            wrapper.groupBy("eartag_no");
+
+            wrapper.apply("id IN (SELECT MAX(id) from  eartag_data group by eartag_no)");
             List<EartagDataEntity> yesterdayEartagDataEntities = baseMapper.selectList(wrapper);
 
-            //过滤
-            Set<String> yesterdaySet = new HashSet();
-            for (EartagDataEntity eartagDataEntity : yesterdayEartagDataEntities) {
-                yesterdaySet.add(eartagDataEntity.getEartagNo());
-            }
-            Set<String> set = ObjectUtil.cloneByStream(nowSet);
 
+
+
+            Integer allSow =0;
+
+            List<String> sowEartagDataEntities =new ArrayList<>();
             //当日母猪总存栏
-            int allSow = nowSet.size();
+            for (EartagDataEntity eartagDataEntity : eartagDataEntities) {
+                Integer stage = eartagDataEntity.getStage();
+                if (stage == 1 || stage == 2 || stage == 5 || stage ==6){
+                    allSow++;
+                    sowEartagDataEntities.add(eartagDataEntity.getEartagNo());
+                }
+            }
+
+
+            List<String> sowYesterdayEartagDataEntities =new ArrayList<>();
+            //昨日母猪总存栏
+            for (EartagDataEntity yesterEartagDataEntity : yesterdayEartagDataEntities) {
+                Integer stage = yesterEartagDataEntity.getStage();
+                if (stage == 1 || stage == 2 || stage == 5 || stage ==6){
+
+                    sowYesterdayEartagDataEntities.add(yesterEartagDataEntity.getEartagNo());
+                }
+            }
+            //拷贝
+            List sowEartagDataEntities1 = ObjectUtil.cloneByStream(sowEartagDataEntities);
 
             //得到新增
-            nowSet.removeAll(yesterdaySet);
-            int newSow = nowSet.size();
+            sowEartagDataEntities.removeAll(sowYesterdayEartagDataEntities);
+            int newSow = sowEartagDataEntities.size();
             //得到离线
-            yesterdaySet.removeAll(set);
-            int offSow = yesterdaySet.size();
+            sowYesterdayEartagDataEntities.removeAll(sowEartagDataEntities1);
+            int offSow = sowYesterdayEartagDataEntities.size();
 
             //添加离线表
-            for (String eartagNo : yesterdaySet) {
+            for (String eartagNo : sowYesterdayEartagDataEntities) {
                 wrapper.clear();
                 wrapper.eq("eartag_no", eartagNo);
                 wrapper.eq("farm_code", farmCode);
@@ -176,19 +191,19 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
             for (EartagDataEntity eartagDataEntity : eartagDataEntities) {
                 Integer dayAge = eartagDataEntity.getDayAge2();
                 if (dayAge != null) {
-                    if (dayAge > 250 && dayAge < 1000) {
+                    if (dayAge > 240 && dayAge < 600) {
                         ratio1++;
                     }
 
-                    if (dayAge >= 1000 && dayAge < 1700) {
+                    if (dayAge >= 600 && dayAge < 960) {
                         ratio2++;
                     }
 
-                    if (dayAge >= 1700 && dayAge < 2400) {
+                    if (dayAge >= 960 && dayAge < 1320) {
                         ratio3++;
                     }
 
-                    if (dayAge >= 2400) {
+                    if (dayAge >= 1320) {
                         ratio4++;
                     }