Преглед на файлове

根据行政编码查牧场

523096025 преди 3 години
родител
ревизия
39710dcb6c

+ 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();
     }

+ 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",0);
+            map.put("sowTotalStockValue",0);
+            map.put("sowTotalStockType",null);
+            map.put("stockToal",0);
+            map.put("stock1",0);
+            map.put("stock2",0);
+            map.put("stock3",0);
+        }
 
 
         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);

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

@@ -117,77 +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<EartagDataEntity> sowEartagDataEntities =new ArrayList<>();
+            List<String> sowEartagDataEntities =new ArrayList<>();
             //当日母猪总存栏
             for (EartagDataEntity eartagDataEntity : eartagDataEntities) {
                 Integer stage = eartagDataEntity.getStage();
                 if (stage == 1 || stage == 2 || stage == 5 || stage ==6){
                     allSow++;
-                    sowEartagDataEntities.add(eartagDataEntity);
+                    sowEartagDataEntities.add(eartagDataEntity.getEartagNo());
                 }
             }
-            List<EartagDataEntity> sowYesterdayEartagDataEntities =new ArrayList<>();
+
+
+            List<String> sowYesterdayEartagDataEntities =new ArrayList<>();
             //昨日母猪总存栏
             for (EartagDataEntity yesterEartagDataEntity : yesterdayEartagDataEntities) {
                 Integer stage = yesterEartagDataEntity.getStage();
                 if (stage == 1 || stage == 2 || stage == 5 || stage ==6){
-                    allSow++;
-                    sowYesterdayEartagDataEntities.add(yesterEartagDataEntity);
-                }
-            }
-
-            //过滤
-            Set<String> sowNowSet = new HashSet();
-            for (EartagDataEntity eartagDataEntity : sowEartagDataEntities) {
-                sowNowSet.add(eartagDataEntity.getEartagNo());
-            }
 
-            Set<String> sowYesterdaySet = new HashSet();
-            for (EartagDataEntity eartagDataEntity : sowYesterdayEartagDataEntities) {
-                sowYesterdaySet.add(eartagDataEntity.getEartagNo());
+                    sowYesterdayEartagDataEntities.add(yesterEartagDataEntity.getEartagNo());
+                }
             }
+            //拷贝
+            List sowEartagDataEntities1 = ObjectUtil.cloneByStream(sowEartagDataEntities);
 
-
-
-
-          /*  //当日母猪总存栏
-            int allSow = nowSet.size();
-*/
             //得到新增
-            sowNowSet.removeAll(sowYesterdaySet);
-            int newSow = nowSet.size();
+            sowEartagDataEntities.removeAll(sowYesterdayEartagDataEntities);
+            int newSow = sowEartagDataEntities.size();
             //得到离线
-            sowYesterdaySet.removeAll(sowNowSet);
-            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);