ソースを参照

完善数据采集展示

yang 3 年 前
コミット
a28899f6c2

+ 13 - 14
smart.eartag.data.platform/huimv-smart-eartag-data-acquisition/src/main/java/com/huimv/acquisition/controller/SowRankTableController.java

@@ -8,21 +8,17 @@ import com.huimv.acquisition.result.R;
 import com.huimv.acquisition.service.SowRankTableService;
 import com.huimv.acquisition.utils.PageUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 
-
-/**
- * 
- *
- * @author yinhao
- * @version ${version}
- * @date 2021-08-04 17:47:18
- */
+ /**
+  *
+  *
+  * @author yinhao
+  * @version ${version}
+  * @date 2021-08-04 17:47:18
+  */
+ @CrossOrigin
 @RestController
 @RequestMapping("management/sowranktable")
 public class SowRankTableController {
@@ -70,13 +66,16 @@ public class SowRankTableController {
         return R.ok();
     }
 
+
+
+
+
     /**
      * 删除
      */
     @RequestMapping("/delete")
     public R delete(@RequestBody Integer[] ids){
 		sowRankTableService.removeByIds(Arrays.asList(ids));
-
         return R.ok();
     }
 

+ 4 - 1
smart.eartag.data.platform/huimv-smart-eartag-data-acquisition/src/main/java/com/huimv/acquisition/entity/SowRankTableEntity.java

@@ -1,5 +1,6 @@
 package com.huimv.acquisition.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 
@@ -22,7 +23,7 @@ public class SowRankTableEntity implements Serializable {
 	/**
 	 * id
 	 */
-	@TableId
+	@TableId(type = IdType.NONE)
 	private Integer id;
 	/**
 	 * 
@@ -84,5 +85,7 @@ public class SowRankTableEntity implements Serializable {
 	//创建时间
 	private Date create_time;
 
+	//
+	private String farmName;
 
 }

+ 4 - 6
smart.eartag.data.platform/huimv-smart-eartag-data-acquisition/src/main/java/com/huimv/acquisition/service/impl/EartagDataServiceImpl.java

@@ -114,12 +114,12 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
 
         for (EartagDataEntity record : records) {
             //这一页的数据
-            System.out.println("数据"+records);
+            System.out.println("数据record"+records);
 
             LambdaQueryWrapper<MovePigpenEntity> wrapper23 = Wrappers.lambdaQuery();
             wrapper23.eq(MovePigpenEntity::getEartagNo , record.getEartagNo()).orderByAsc( MovePigpenEntity::getId ).last( "limit 1");
             MovePigpenEntity  movePigpen = movePigpenDao.selectOne(wrapper23);
-            System.out.println("转舍信息"+movePigpen);
+            System.out.println("转舍信息"+movePigpen+"转舍耳标号"+record.getEartagNo());
             //获取注册---注册信息为空
 
             LambdaQueryWrapper<CollectorRegisterEntity> wrapper3 = Wrappers.lambdaQuery();
@@ -140,12 +140,10 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataDao, EartagData
             BasePigpenEntity basePigpenEntity1 = basePigpenDao.selectOne(wrapper5);
              record.setVersion(basePigpenEntity.getPigpenName());//这个多余字段存猪舍名字
              record.setCommand(basePigpenEntity1.getPigpenName());//这个多余字段存单元名字
-            //格式化传入的时
+            //格式化传入的时---第一条不应该没有----但是新耳标上来没有存信息
             if (movePigpen!=null) {
-                record.setTail(DateUtilsPublic.dateToString(movePigpen.getMoveDate()));
+                record.setTail(DateUtilsPublic.dateToString(movePigpen.getMoveDate()));//配标时间
             }
-
-
         }
         return  new PageUtils(page);
     }

+ 14 - 5
smart.eartag.data.platform/huimv-smart-eartag-data-acquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/service/impl/ReceivePackageSerivce.java

@@ -59,7 +59,6 @@ public class ReceivePackageSerivce {
 
 
     public String handleEartagData(String[] clientMessageArray) throws ParseException {
-
         log.info("开始添加耳标数据......");
         String  head = clientMessageArray[0];           //命令头
         String device_code = clientMessageArray[1];      //采集器ID
@@ -122,7 +121,6 @@ public class ReceivePackageSerivce {
        // System.out.println(deviceCode);
 
 
-
         //上传设备发生了变化,      转舍信息进行存储
         //在接受数据的时候加一条记录迁移信息的数据到一个新表中,方便查找
         eartagDataEntity.setStage(collectorRegisterEntity.getStage()); //获取阶段
@@ -134,11 +132,20 @@ public class ReceivePackageSerivce {
         wrapper.eq(EartagDataEntity::getEartagNo, eartag_no ).orderByDesc( EartagDataEntity::getId ).last( "limit 1");
         EartagDataEntity   lastEarTagDate = eartagDataDao.selectOne(wrapper);
         //返回的数据在这里为空--说明这个是第一次上传--需要存储一条device_code 为空的注册表
-       if(lastEarTagDate==null){
+       if(lastEarTagDate==null){//上一条为空,存转舍
            LambdaQueryWrapper<EartagRegisterEntity> wrapper4 = Wrappers.lambdaQuery();
            wrapper4.eq(EartagRegisterEntity::getEartagNo, eartag_no );
            EartagRegisterEntity eartagRegisterEntity1 = eartagRegisterDao.selectOne(wrapper4);
 
+           MovePigpenEntity movePigpenEntity = new MovePigpenEntity();
+           movePigpenEntity.setDeviceCode(device_code);
+           movePigpenEntity.setEartagNo(eartag_no);
+           movePigpenEntity.setMoveDate(DateUtilsPublic.parseDateTime(DateUtilsPublic.buildDateTimeString(time)));
+           movePigpenEntity.setStage(collectorRegisterEntity.getStage());
+           movePigpenService.save(movePigpenEntity);
+
+
+
            if(eartagRegisterEntity1==null){
              //说明之前没有注册过--现在注册一下--设备ID的设置留给定时任务
                EartagRegisterEntity eartagRegisterEntity2 = new EartagRegisterEntity();
@@ -160,17 +167,19 @@ public class ReceivePackageSerivce {
            eartagDataService.save(eartagDataEntity);
            return "hm+6+0+6+end";
      }
+
         //上一条不为空---而且判断是存储注册表device-code
         //存储转舍信息--还要判断新的设备阶段和老的设备阶段是否相同,如果相同就不存储转舍信息
         if(!lastEarTagDate.getDeviceCode().equals(device_code)){
             LambdaQueryWrapper<EartagRegisterEntity> wrapper4 = Wrappers.lambdaQuery();
             wrapper4.eq(EartagRegisterEntity::getEartagNo, eartag_no );
-            EartagRegisterEntity eartagRegisterEntity1 = eartagRegisterDao.selectOne(wrapper4);
+            EartagRegisterEntity eartagRegisterEntity1 = eartagRegisterDao.selectOne(wrapper4);//查到注册信息
             if ( eartagRegisterEntity1.getDeviceCode().equals(null)  ) {//如果耳标注册表的绑定机器ID为空就不存储转舍信息
                 System.out.println("之前=" + lastEarTagDate.getDeviceCode() + "现在" + device_code);
                 System.out.println(lastEarTagDate.getDeviceCode().equals(device_code));
                  //上一阶段的
                 if( lastEarTagDate.getStage() != collectorRegisterEntity.getStage()  ) {  //不相等,---判断阶段是否相同--阶段也不相同--增加转舍信息
+
                     MovePigpenEntity movePigpenEntity = new MovePigpenEntity();
                     movePigpenEntity.setDeviceCode(device_code);
                     movePigpenEntity.setEartagNo(eartag_no);
@@ -180,7 +189,6 @@ public class ReceivePackageSerivce {
                 }
             }
         }
-
         Integer exercise1 = lastEarTagDate.getExercise();
         eartagDataEntity.setSportGap(exercise - exercise1);//存储区间运动量
         //获取当前时间的 “天”---判断天的情况
@@ -202,6 +210,7 @@ public class ReceivePackageSerivce {
 
 
 
+
     public static void main(String[] args) {
         DecimalFormat df = new DecimalFormat("####0.00");
 

+ 23 - 5
smart.eartag.data.platform/huimv-smart-eartag-data-acquisition/src/main/java/com/huimv/acquisition/timmertask/provideNewRankData.java

@@ -77,7 +77,7 @@ public class provideNewRankData {
     //首先查找出所有的牧场id
 
     // @Scheduled(cron = "0 0 12 * * ?")
-   // @Scheduled(cron = "0/20 * * * * ?")
+    @Scheduled(cron = "0/10 * * * * ?")
     private void settingRegisting() throws ParseException {
 
         String date = DateUtilsPublic.formatDate(new Date(), DATE_FORMAT);
@@ -112,7 +112,7 @@ public class provideNewRankData {
                 SowRankTableEntity sowRankTableEntity = new SowRankTableEntity();
                 sowRankTableEntity.setFarmCode(dailyTabulateDataEnt.getFarmCode());
                 sowRankTableEntity.setCreate_time(new Date());
-                 a++;
+                a++;
                 sowRankTableEntity.setRank(String.valueOf(a));
                 sowRankTableEntity.setSowLivestock(dailyTabulateDataEnt.getSowStock());//总存栏量
                 sowRankTableEntity.setOutStockCount(1);
@@ -120,20 +120,38 @@ public class provideNewRankData {
                 //if(data.getTime().after(startTime)&data.getTime().before(DateUtilsPublic.addDateHour(startTime,1))){
             }
         }else {
-            //现在是不为空的情况----旧的保存,刷新排名--新的就直接添加进去
+            //现在是不为空的情况----旧的保存,刷新排名--新的就直接添加进去----目前没有解决新增牧场排名的问题
             //找出所有的
-            System.out.println("数据   更新");
+            System.out.println("数据   更新"); //找出所有数据--更新排名
             LambdaQueryWrapper<SowRankTableEntity> lambdaQuery4 = Wrappers.lambdaQuery();
             List<SowRankTableEntity> sowRankTableEntities = sowRankTableDao.selectList(lambdaQuery4);
+            System.out.println(sowRankTableEntities);
+
             for (SowRankTableEntity sowRankTableEntity : sowRankTableEntities) {
                 if (map.containsKey(sowRankTableEntity.getFarmCode() ) ){
+
+                    LambdaQueryWrapper<BaseFarmInfoEntity> lambdaQuery5 = Wrappers.lambdaQuery();
+                    lambdaQuery5.eq(BaseFarmInfoEntity::getFarmCode,sowRankTableEntity.getFarmCode() );
+                    BaseFarmInfoEntity baseFarmInfoEntity = baseFarmInfoDao.selectOne(lambdaQuery5);
+
+                    sowRankTableEntity.setFarmName(baseFarmInfoEntity.getFarmName());
                     sowRankTableEntity.setRank(String.valueOf( map.get( (sowRankTableEntity.getFarmCode() ))));
+
                     sowRankTableEntity.setCreate_time(new Date());
-                    sowRankTableService.save(sowRankTableEntity);
+                    sowRankTableService.updateById(sowRankTableEntity );
+                    System.out.println("新相互据为"+sowRankTableEntity);
+                   // sowRankTableService.save();
                 }
             }
 
         }
+        //对于新增的如何处理,不包括的有如何处理
+
+
+
+
+
+
     }
 }
 

+ 1 - 1
smart.eartag.data.platform/huimv-smart-eartag-data-acquisition/src/main/resources/application-dev.yml

@@ -52,4 +52,4 @@ mybatis-plus:
     cache-enabled: false
     call-setters-on-nulls: true
     jdbc-type-for-null: 'null'
-    log-impl:
+    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl