Pārlūkot izejas kodu

更新的代码都已经上传

yang 3 gadi atpakaļ
vecāks
revīzija
fe98c83aa5
35 mainītis faili ar 873 papildinājumiem un 301 dzēšanām
  1. 1 0
      cloud-platform-acquisition/pom.xml
  2. 18 0
      cloud-platform-acquisition/src/main/java/com/huimv/acquisition/entity/CollectorRegisterEntity.java
  3. 8 0
      cloud-platform-acquisition/src/main/java/com/huimv/acquisition/entity/EartagRegisterEntity.java
  4. 1 1
      cloud-platform-acquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/eartagsocket/EartagServer2.java
  5. 7 8
      cloud-platform-acquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/service/impl/ReceivePackageSerivce.java
  6. 1 3
      cloud-platform-main/pom.xml
  7. 1 14
      cloud-platform-main/src/main/java/com/huimv/CloudPlatformApplication.java
  8. 130 0
      cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/controller/BaseFarmInfoController.java
  9. 56 0
      cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/entity/BaseFarmInfoEntity.java
  10. 8 0
      cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/mapper/BaseFarmInfoMapper.java
  11. 7 0
      cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/service/BaseFarmInfoService.java
  12. 12 0
      cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/service/impl/BaseFarmInfoServiceImpl.java
  13. 1 1
      cloud-platform-main/src/main/java/com/huimv/modular/basepigpen/service/impl/BasePigpenServiceImpl.java
  14. 74 48
      cloud-platform-main/src/main/java/com/huimv/modular/collectorregister/controller/CollectorRegisterController.java
  15. 5 0
      cloud-platform-main/src/main/java/com/huimv/modular/collectorregister/param/CollectorRegisterParam.java
  16. 7 2
      cloud-platform-main/src/main/java/com/huimv/modular/collectorregister/service/impl/CollectorRegisterServiceImpl.java
  17. 11 15
      cloud-platform-main/src/main/java/com/huimv/modular/constant/ConstnatValue.java
  18. 27 33
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/controller/EartagDataController.java
  19. 3 1
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/EartagData.java
  20. 18 1
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/EartagParamVo.java
  21. 116 0
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/vo/EartagDataEntityRuian.java
  22. 7 0
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/vo/EartagDataVo.java
  23. 149 0
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/vo/RuianEartagVo.java
  24. 63 5
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/mapper/EartagDataMapper.java
  25. 12 0
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/mapper/mapping/EartagDataMapper.xml
  26. 8 1
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/service/EartagDataService.java
  27. 49 136
      cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/service/impl/EartagDataServiceImpl.java
  28. 2 11
      cloud-platform-main/src/main/java/com/huimv/modular/eartagregister/controller/EartagRegisterController.java
  29. 4 0
      cloud-platform-main/src/main/java/com/huimv/modular/eartagregister/entity/EartagRegisterVO.java
  30. 8 0
      cloud-platform-main/src/main/java/com/huimv/modular/eartagregister/service/impl/EartagRegisterServiceImpl.java
  31. 2 2
      cloud-platform-main/src/main/java/com/huimv/modular/rawdata/controller/RawDataController.java
  32. 10 9
      cloud-platform-main/src/main/java/com/huimv/modular/timer/tasks/CheckDeviceAble.java
  33. 7 7
      cloud-platform-main/src/main/java/com/huimv/modular/timer/tasks/CheckDeviceUnable.java
  34. 1 1
      cloud-platform-main/src/main/resources/application.yml
  35. 39 2
      cloud-platform-main/src/test/java/com/huimv/learn/test001.java

+ 1 - 0
cloud-platform-acquisition/pom.xml

@@ -136,6 +136,7 @@
 
 
     <build>
+        <finalName>pro-cloud-platform-acquisition</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>

+ 18 - 0
cloud-platform-acquisition/src/main/java/com/huimv/acquisition/entity/CollectorRegisterEntity.java

@@ -19,23 +19,41 @@ import java.util.Date;
 public class CollectorRegisterEntity implements Serializable {
 	private static final long serialVersionUID = 1L;
 	private Integer id;
+
 	private BigInteger orgId;
+
 	private String orgName;
+
 	private String countyCode;
+
 	private String deviceCode;
+
 	private String registeCode;
+
 	private String farmCode;
+
 	private String farmName;
+
 	private Integer typeF;
+
 	private Integer stage;
+
 	private Integer pigpenId;
+
 	private String penName;
+
 	private Integer unitId;
+
 	private String unitName;
+
 	private String serverIp;
+
 	private Integer port;
+
 	private Date registerTime;
+
 	private Date lastTime;
+
 	private Integer canStatus;
 
 }

+ 8 - 0
cloud-platform-acquisition/src/main/java/com/huimv/acquisition/entity/EartagRegisterEntity.java

@@ -41,8 +41,16 @@ public class EartagRegisterEntity implements Serializable {
 	/**
 	 * 
 	 */
+
+	private Integer unitId;
 	private String deviceCode;
 
+
+	private String penName;
+
+
+	private String unitName;
+
 	private BigInteger orgId;
 
 

+ 1 - 1
cloud-platform-acquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/eartagsocket/EartagServer2.java

@@ -90,7 +90,7 @@ public class EartagServer2 {
         //printWriter.println("zj+202007239999893+133070303805451+86+0+2031+0+93+20211111153254+1.0#1.0#11600+0+end");    //没有注册
         //printWriter.println("hm+869401040126203+0+7+end");//没有注册
         //printWriter.println("zj+202007239999892+133070300000099+77+0+0+0+96+2021109916" + i +"33+1.0#1.0#9383+0+end");
-        printWriter.println("zj+202007239999856+000000000000078+97+0+1975+0+62+20220105103307+1.0#1.0#12160+0+end");
+        printWriter.println("zj+470217947374111+133083123619514+96+0+2318+0+74+20220315134339+1.0#1.1#11017+0+end");
         printWriter.flush();
         //读取数据
         BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

+ 7 - 8
cloud-platform-acquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/service/impl/ReceivePackageSerivce.java

@@ -59,10 +59,6 @@ public class ReceivePackageSerivce {
     @Autowired
     private HeartBeatRecordService heartBeatRecordService ;
 
-
-
-
-
     //2021.2.16修改  当数据被上传的时候检查是否注册  如果没有注册就放弃上传
     public String handleEartagData(String[] clientMessageArray ,String rawdata) throws ParseException {
         //这一块应该封装起来 ,而不是直接展示
@@ -131,7 +127,7 @@ public class ReceivePackageSerivce {
             rawDataEntity.setStatus(0);
             rawDataEntity.setCreateTime(new Date());
             rawDataService.save(rawDataEntity);
-            //耳标号没有注册  直接返回
+            //注册一条 没有编号的耳标
             EartagRegisterEntity eartagRegisterEntity = new EartagRegisterEntity();
             eartagRegisterEntity.setAge(0);
             eartagRegisterEntity.setDeviceCode(device_code);//给绑定的设备编码死否会改变
@@ -141,11 +137,15 @@ public class ReceivePackageSerivce {
             eartagRegisterEntity.setRegisterDate(new Date());
             eartagRegisterEntity.setOrgId( collectorRegisterEntity.getOrgId());
             eartagRegisterEntity.setStage(collectorRegisterEntity.getStage());
-            eartagRegisterEntity.setStage(collectorRegisterEntity.getUnitId());
+            eartagRegisterEntity.setPenName(collectorRegisterEntity.getPenName());
+            eartagRegisterEntity.setUnitName(collectorRegisterEntity.getUnitName());
+            eartagRegisterEntity.setUnitId(collectorRegisterEntity.getUnitId());
             eartagRegisterService.save(eartagRegisterEntity);//存储一条还没有处理的数据*/
              return  null ;
         }
 
+
+
        Double a =    Double.parseDouble(env_temp)/100-Double.parseDouble(df.format(ln(Integer.parseInt(split[2]))));
         System.out.println("温度差A="+a);
         if(Math.abs(a)>10){
@@ -179,8 +179,7 @@ public class ReceivePackageSerivce {
             return null;
             
         }
-        
-        
+
         //如果第一条不为空,通过计算时间间隔来判断是否存储
         long DateGap =sendEartagTime.getTime() - lastEarTagDate.getTime().getTime();
         if( DateGap < ImportanteConfig.EARTAG_SEND_GAP_TIME){

+ 1 - 3
cloud-platform-main/pom.xml

@@ -11,9 +11,7 @@
     <modelVersion>4.0.0</modelVersion>
 
     <artifactId>cloud-platform-main</artifactId>
-
     <packaging>jar</packaging>
-
     <dependencies>
 
         <!--系统模块-->
@@ -39,7 +37,7 @@
 
 
     <build>
-        <finalName>cloud-platform</finalName>
+        <finalName>pro-cloud-platform</finalName>
         <plugins>
             <plugin>
                 <groupId>org.springframework.boot</groupId>

+ 1 - 14
cloud-platform-main/src/main/java/com/huimv/CloudPlatformApplication.java

@@ -15,7 +15,6 @@ import org.springframework.scheduling.annotation.EnableScheduling;
  * @date 2021/8/9 16:26
  */
 
-
 //2022.2.9 解决温度阈值问题  解决数据数量不够的问题
     //1.上传的温度与实际温度偏差过大的问题
     //2.选定的耳标上传数量不够的问题,掉帧
@@ -28,18 +27,6 @@ public class CloudPlatformApplication {
         SpringApplication.run(CloudPlatformApplication.class, args);
         log.info(">>> " + CloudPlatformApplication.class.getSimpleName() + " is success!");
     }
-
-    //首先给客户配置好上传的IP
-    public  static  final   String    IP_VALUE= "192.168.1.1" ;
-
-   //客户数据上传的端口
-    public  static  final Integer  Port= 8001 ;
-
-
-
-
-
-
+}
 
 
-}

+ 130 - 0
cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/controller/BaseFarmInfoController.java

@@ -0,0 +1,130 @@
+package com.huimv.modular.basefarminfo.controller;
+
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.core.annotion.BusinessLog;
+import com.huimv.core.annotion.Permission;
+import com.huimv.core.enums.LogAnnotionOpTypeEnum;
+import com.huimv.core.pojo.response.ResponseData;
+import com.huimv.core.pojo.response.SuccessResponseData;
+import com.huimv.modular.basefarminfo.entity.BaseFarmInfoEntity;
+import com.huimv.modular.basefarminfo.mapper.BaseFarmInfoMapper;
+import com.huimv.modular.baseregion.param.BaseRegionParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+
+/**
+ * 
+ *
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2022-03-22 18:10:26
+ */
+@RestController
+@RequestMapping("/basefarminfo")
+public class BaseFarmInfoController {
+
+     @Autowired
+     private BaseFarmInfoMapper  baseFarmInfoMapper;
+
+    //展示牧场
+    @GetMapping("/list")
+    public ResponseData page(BaseRegionParam baseRegionParam) {
+        QueryWrapper<BaseFarmInfoEntity> queryWrapper = new QueryWrapper<>();
+        //queryWrapper.eq("eartag_no", String.valueOf(i));
+        List<BaseFarmInfoEntity> baseFarmInfoEntities = baseFarmInfoMapper.selectList(queryWrapper);
+
+
+
+
+        return new SuccessResponseData(baseFarmInfoEntities);
+
+
+
+    }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+  /*  @Autowired
+    private BaseFarmInfoService baseFarmInfoService;
+
+    *//**
+     * 列表
+     *//*
+    @RequestMapping("/list")
+    @RequiresPermissions("generator:basefarminfo:list")
+    public R list(@RequestParam Map<String, Object> params){
+        PageUtils page = baseFarmInfoService.queryPage(params);
+
+        return R.ok().put("page", page);
+    }
+
+
+    *//**
+     * 信息
+     *//*
+    @RequestMapping("/info/{id}")
+    @RequiresPermissions("generator:basefarminfo:info")
+    public R info(@PathVariable("id") Integer id){
+		BaseFarmInfoEntity baseFarmInfo = baseFarmInfoService.getById(id);
+
+        return R.ok().put("baseFarmInfo", baseFarmInfo);
+    }
+
+    *//**
+     * 保存
+     *//*
+    @RequestMapping("/save")
+    @RequiresPermissions("generator:basefarminfo:save")
+    public R save(@RequestBody BaseFarmInfoEntity baseFarmInfo){
+		baseFarmInfoService.save(baseFarmInfo);
+
+        return R.ok();
+    }
+
+    *//**
+     * 修改
+     *//*
+    @RequestMapping("/update")
+    @RequiresPermissions("generator:basefarminfo:update")
+    public R update(@RequestBody BaseFarmInfoEntity baseFarmInfo){
+		baseFarmInfoService.updateById(baseFarmInfo);
+
+        return R.ok();
+    }
+
+    *//**
+     * 删除
+     *//*
+    @RequestMapping("/delete")
+    @RequiresPermissions("generator:basefarminfo:delete")
+    public R delete(@RequestBody Integer[] ids){
+		baseFarmInfoService.removeByIds(Arrays.asList(ids));
+
+        return R.ok();
+    }
+*/
+}

+ 56 - 0
cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/entity/BaseFarmInfoEntity.java

@@ -0,0 +1,56 @@
+package com.huimv.modular.basefarminfo.entity;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+
+import lombok.Data;
+
+/**
+ * 
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2022-03-22 18:10:26
+ */
+@Data
+@TableName("base_farm_info")
+public class BaseFarmInfoEntity implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 牧场编码
+	 */
+	private String farmCode;
+	/**
+	 * 牧场名称
+	 */
+	private String farmName;
+	/**
+	 * 联系人
+	 */
+	private String man;
+	/**
+	 * 联系电话
+	 */
+	private String phone;
+	/**
+	 * 区县   行政区划代码
+	 */
+	private String county;
+	/**
+	 * 地市   行政区划代码
+	 */
+	private String city;
+	/**
+	 * 备用
+	 */
+	private String province;
+
+}

+ 8 - 0
cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/mapper/BaseFarmInfoMapper.java

@@ -0,0 +1,8 @@
+package com.huimv.modular.basefarminfo.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.huimv.modular.basefarminfo.entity.BaseFarmInfoEntity;
+
+public interface BaseFarmInfoMapper  extends BaseMapper<BaseFarmInfoEntity> {
+
+}

+ 7 - 0
cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/service/BaseFarmInfoService.java

@@ -0,0 +1,7 @@
+package com.huimv.modular.basefarminfo.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.modular.basefarminfo.entity.BaseFarmInfoEntity;
+
+public interface BaseFarmInfoService extends IService<BaseFarmInfoEntity> {
+}

+ 12 - 0
cloud-platform-main/src/main/java/com/huimv/modular/basefarminfo/service/impl/BaseFarmInfoServiceImpl.java

@@ -0,0 +1,12 @@
+package com.huimv.modular.basefarminfo.service.impl;
+
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huimv.modular.basefarminfo.entity.BaseFarmInfoEntity;
+import com.huimv.modular.basefarminfo.mapper.BaseFarmInfoMapper;
+import com.huimv.modular.basefarminfo.service.BaseFarmInfoService;
+
+public class BaseFarmInfoServiceImpl  extends ServiceImpl<BaseFarmInfoMapper, BaseFarmInfoEntity> implements BaseFarmInfoService {
+
+
+}

+ 1 - 1
cloud-platform-main/src/main/java/com/huimv/modular/basepigpen/service/impl/BasePigpenServiceImpl.java

@@ -68,7 +68,7 @@ public class BasePigpenServiceImpl extends ServiceImpl<BasePigpenMapper, BasePig
         if (ObjectUtil.isNotNull(basePigpenParam)) {
             Long sysLoginUserOrgId = LoginContextHolder.me().getSysLoginUserOrgId();
 
-            queryWrapper.lambda().eq(BasePigpen::getOrgId,sysLoginUserOrgId);
+           // queryWrapper.lambda().eq(BasePigpen::getOrgId,sysLoginUserOrgId);
             // 根据栋舍名称 查询
             if (ObjectUtil.isNotEmpty(basePigpenParam.getPigpenName())) {
                 queryWrapper.lambda().like(BasePigpen::getPigpenName, basePigpenParam.getPigpenName());

+ 74 - 48
cloud-platform-main/src/main/java/com/huimv/modular/collectorregister/controller/CollectorRegisterController.java

@@ -46,6 +46,7 @@ import com.huimv.modular.constant.ConstnatValue;
 import com.huimv.modular.eartagregister.entity.EartagRegister;
 import com.huimv.modular.eartagregister.service.EartagRegisterService;
 import com.huimv.sys.core.aop.PermissionAop;
+import org.hamcrest.Condition;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
@@ -84,61 +85,34 @@ public class CollectorRegisterController {
     @Autowired
     private BasePigpenMapper basePigpenMapper;
 
-
-
     //批量添加采集器----客户接口--针对瑞安项目 还没有更新添加基站进去
     @PostMapping("/collectorRegister/addPro")
     public ResponseData addPro(@RequestBody Map<String, Object> params) {
         //批量添加  只是基站号码不是一个  可以一样的操作 -------基站编号自动生成--唯一且不可更改--只展示自己
         String   deviceCodeList = (String) params.get("deviceCodeList");  //耳基站号码  不止一个---实际上是 registerCode
-
         String[] as = deviceCodeList.split(",");
         String penName = (String) params.get("penName");
-        String stage = (String) params.get("satage");
+        Integer stage = (Integer) params.get("satage");
         String unitName = (String) params.get("unitName");
-        String farmName = (String) params.get("farmName");
-        String farmId = (String) params.get("farmId");
-        //基站的编码应该在这儿提前确定
-        //上传的IP怎么处理--初始ooo 登录后台进行设置?
-
-
-        //一进来先添加栋舍   拿到  id  再添加舍
-        BasePigpen basePigpen = new BasePigpen();
-        basePigpen.setFarmCode(farmId); //记录牧场
-        basePigpen.setPigpenName(penName); //记录舍名
-        basePigpen.setType(1);//栋
-        basePigpen.setParentId(0);//栋  阶段啥的全部空着
-        basePigpenService.save(basePigpen);
-
-
-        //拿最新的id 很麻烦直接查一次
-        LambdaQueryWrapper<BasePigpen> wrapper = Wrappers.lambdaQuery();
-        wrapper.orderByDesc().last("limit 1");
-        BasePigpen pigpen = basePigpenMapper.selectOne(wrapper);
+        String farmName = (String) params.get("farmName");//牧场名称
+        String farmId = (String) params.get("farmId");   //根据账户提交进来的牧场ID来进行操作   传
 
 
-        //添加舍得信息
-        BasePigpen basePigpenunit = new BasePigpen();
-        basePigpenunit.setFarmCode(farmId); //记录牧场
-        basePigpenunit.setPigpenName(unitName); //记录舍名
-        basePigpenunit.setType(2);//栋
-        basePigpenunit.setParentId(pigpen.getId());//栋  阶段啥的全部空着
-        basePigpenService.save(basePigpenunit);
 
+        if (stage==null){
+            stage=5;
+        }
+        //基站的编码应该在这儿提前确定
+        //上传的IP怎么处理--初始ooo 登录后台进行设置?
 
-        LambdaQueryWrapper<BasePigpen> wrapper1 = Wrappers.lambdaQuery();
-        wrapper1.orderByDesc(BasePigpen::getId).last("limit 1");
-        BasePigpen pigpenUnite = basePigpenMapper.selectOne(wrapper1);
 
         //主从关系直接在这里创建   存到云服务器的只有设备编号  不存在其他的东西  转发IP   我们给他写死就可以了
-
          //传的注册码不能重复
         LambdaQueryWrapper<CollectorRegister> wrapper13 = Wrappers.lambdaQuery();
         wrapper13.in(CollectorRegister::getRegisteCode, as);
         List<CollectorRegister> collectorRegisters = collectorRegisterMapper.selectList(wrapper13);
 
 
-
         if (collectorRegisters.size() != 0) {
             List<String> devideCodes = new ArrayList<>();
             for (CollectorRegister collectorRegister : collectorRegisters) {
@@ -154,42 +128,74 @@ public class CollectorRegisterController {
 
         for (int i = 0; i <as.length ; i++) {
             //添加随机数做基站编码
-            deviceCode.add(String.valueOf( Math.random()).substring(2,15));
+            deviceCode.add("100"+String.valueOf( Math.random()).substring(2,15));
         }
         //发送list
         //关于设备得机器编码重复的问题  每个牧场分配不同的号段  这里就不做校验了
         // 给 注册中心的的重要参数就是编码   添加到注册中心
         RestTemplate restTemplateAddController = new RestTemplate();
         //放置   tokrn 到  header
-
         HttpHeaders headers = new HttpHeaders();
         //不需要权限了
         //headers.add("Authorization", "Bearer " + json.get("data"));
-
        // headers.add("Content-Type", "applicati on/json");
 
         Map<String, Object> requestBody = new HashMap<>(8);
         requestBody.put("deviceCodeList",deviceCode );
         requestBody.put("penName", penName);
-        requestBody.put("port",ConstnatValue.Port);
+        requestBody.put("port",ConstnatValue.Port);//转发端口
         requestBody.put("registeCode",deviceCodeList );  //这儿实际上是提交的机器ID
         requestBody.put("serverIp", ConstnatValue.IP_VALUE);
         requestBody.put("stage", stage);
         requestBody.put("unitName", unitName);
+        requestBody.put("orgName",ConstnatValue.ORG_NAME); //瑞安牧场
+        requestBody.put("orgId",ConstnatValue.ORG_ID);  //100
+        requestBody.put("farmName",farmName); //牧场名称
         HttpEntity<Map<String, Object>> httpEntity = new HttpEntity<>(requestBody, headers);
 
         //用的是 199数据库  只有这一个数据库     调用他的增加办法
-        String body = restTemplateAddController.postForEntity("http://127.0.0.1:9502/management/collectorregister/addFromClient", httpEntity, String.class).getBody();
+        String body = restTemplateAddController.postForEntity(ConstnatValue.DEVICE_CENTER_SERVICE_PORT, httpEntity, String.class).getBody();
         System.out.println(body);
 
         JSONObject jsonObject = JSON.parseObject(body);
         Integer code =(Integer) jsonObject.get("code");
-        System.out.println(code+"sdsdsdsd");  //收到
 
         if(code==500){
             ErrorResponseData errorResponseData = new ErrorResponseData("添加失败,注册中心已经存在此机器编码请联系管理员");
             return errorResponseData;
         }
+
+
+        //一进来先添加栋  拿到  id  再添加舍----所有的校验通过之后再存储栋舍信息  开始添加
+        BasePigpen basePigpen = new BasePigpen();
+        basePigpen.setFarmCode(farmId); //记录牧场
+        basePigpen.setPigpenName(penName); //记录舍名
+        basePigpen.setType(1);//栋
+        basePigpen.setParentId(0);//栋  阶段啥的全部空着
+        basePigpenService.save(basePigpen);
+
+        //拿最新的id 很麻烦直接查一次
+        LambdaQueryWrapper<BasePigpen> wrapper = Wrappers.lambdaQuery();
+        wrapper.orderByDesc(BasePigpen::getId).last("limit 1");
+        BasePigpen pigpen = basePigpenMapper.selectOne(wrapper);
+
+
+        //添加单元得信息
+        BasePigpen basePigpenunit = new BasePigpen();
+        basePigpenunit.setFarmCode(farmId); //记录牧场
+        basePigpenunit.setPigpenName(unitName); //记录舍名
+        basePigpenunit.setType(2);//栋
+        basePigpenunit.setParentId(pigpen.getId());//栋  阶段啥的全部空着
+        basePigpenService.save(basePigpenunit);
+
+        //单元ID
+        LambdaQueryWrapper<BasePigpen> wrapper1 = Wrappers.lambdaQuery();
+        wrapper1.orderByDesc(BasePigpen::getId).last("limit 1");
+        BasePigpen pigpenUnite = basePigpenMapper.selectOne(wrapper1);
+
+
+
+
         //前面校验都通过.这儿添加发送的端口,进行数据添加
         for (int i = 0; i < as.length; i++) {
 
@@ -206,9 +212,14 @@ public class CollectorRegisterController {
             collectorRegister.setPigpenId(pigpen.getId());
             collectorRegister.setPort(ConstnatValue.Port);//
             collectorRegister.setServerIp(ConstnatValue.IP_VALUE);
+            collectorRegister.setOrgName(farmName);
+            collectorRegister.setServerIp(ConstnatValue.IP_VALUE);
+
+
             collectorRegisterService.save(collectorRegister);
 
         }
+
         SuccessResponseData successResponseData = new SuccessResponseData();
         successResponseData.setCode(200);
         successResponseData.setSuccess(true);
@@ -218,11 +229,14 @@ public class CollectorRegisterController {
     }
 
 
-    
-    
-    
-    
-    
+
+
+
+
+
+
+
+
     
     /**
      * 查询设备管理
@@ -230,9 +244,10 @@ public class CollectorRegisterController {
      * @author yinhao
      * @date 2021-08-19 09:43:52
      */
-    @Permission
+
     @GetMapping("/collectorRegister/page")
     public ResponseData page(CollectorRegisterParam collectorRegisterParam) {
+
         return new SuccessResponseData(collectorRegisterService.page(collectorRegisterParam));
     }
 
@@ -255,7 +270,7 @@ public class CollectorRegisterController {
     /**
      * 删除设备管理,可批量删除
      * 统计数量
-     *
+     *基站只能删除  或者添加 不能
      * @author yinhao
      * @date 2021-08-19 09:43:52
      */
@@ -291,6 +306,8 @@ public class CollectorRegisterController {
         return new SuccessResponseData();
     }
 
+
+
     /**
      * 查看设备管理
      *
@@ -302,6 +319,8 @@ public class CollectorRegisterController {
         return new SuccessResponseData(collectorRegisterService.detail(collectorRegisterParam));
     }
 
+
+
     @PostMapping("/collectorRegister/logout")
     public ResponseData logout(@RequestBody CollectorRegister collectorRegister) {
         Integer id = collectorRegister.getId();
@@ -315,6 +334,8 @@ public class CollectorRegisterController {
         return new SuccessResponseData();
     }
 
+
+
     /**
      * 设备管理列表
      *
@@ -326,6 +347,11 @@ public class CollectorRegisterController {
         return new SuccessResponseData(collectorRegisterService.list(collectorRegisterParam));
     }
 
+
+
+
+
+
     /**
      * 采集器总数
      *

+ 5 - 0
cloud-platform-main/src/main/java/com/huimv/modular/collectorregister/param/CollectorRegisterParam.java

@@ -87,6 +87,11 @@ public class CollectorRegisterParam extends BaseParam {
     private Integer typeF;
 
     /**
+     * 牧场id
+     */
+    private Integer farmId;
+
+    /**
      * 阶段
      */
     @NotNull(message = "阶段不能为空,请检查stage参数", groups = {add.class, edit.class})

+ 7 - 2
cloud-platform-main/src/main/java/com/huimv/modular/collectorregister/service/impl/CollectorRegisterServiceImpl.java

@@ -68,13 +68,15 @@ import java.util.Map;
 @Service
 public class CollectorRegisterServiceImpl extends ServiceImpl<CollectorRegisterMapper, CollectorRegister> implements CollectorRegisterService {
 
+
+    //这儿直接全部查出来算了
     @Override
     public PageResult<CollectorRegister> page(CollectorRegisterParam collectorRegisterParam) {
         QueryWrapper<CollectorRegister> queryWrapper = new QueryWrapper<>();
         if (ObjectUtil.isNotNull(collectorRegisterParam)) {
             Long orgId = LoginContextHolder.me().getSysLoginUserOrgId();
             // 根据组织id 查询
-                queryWrapper.lambda().eq(CollectorRegister::getOrgId, orgId);
+               // queryWrapper.lambda().eq(CollectorRegister::getOrgId, orgId);
             if (ObjectUtil.isNotEmpty(collectorRegisterParam.getRegisterTime())) {
                 Date registerTime = collectorRegisterParam.getRegisterTime();
                 DateTime startTime = DateUtil.beginOfDay(registerTime);
@@ -87,6 +89,10 @@ public class CollectorRegisterServiceImpl extends ServiceImpl<CollectorRegisterM
             if (ObjectUtil.isNotEmpty(collectorRegisterParam.getPigpenId())) {
                 queryWrapper.lambda().like(CollectorRegister::getPigpenId, collectorRegisterParam.getPigpenId());
             }
+            // 根据设备编码查询
+            if (ObjectUtil.isNotEmpty(collectorRegisterParam.getFarmId())) {
+                queryWrapper.lambda().like(CollectorRegister::getFarmCode, collectorRegisterParam.getFarmId());
+            }
 
             // 根据设备编码查询
             if (ObjectUtil.isNotEmpty(collectorRegisterParam.getDeviceCode())) {
@@ -125,7 +131,6 @@ public class CollectorRegisterServiceImpl extends ServiceImpl<CollectorRegisterM
     }
 
 
-
     @Transactional(rollbackFor = Exception.class)
     @Override
     public void delete(List<Integer> ids) {

+ 11 - 15
cloud-platform-main/src/main/java/com/huimv/modular/constant/ConstnatValue.java

@@ -1,29 +1,25 @@
 package com.huimv.modular.constant;
 
 
-import javax.sound.sampled.Port;
 
 public class ConstnatValue {
 
 
-
-
     //首先给客户配置好上传的端口和
+
     public  static  final   String    IP_VALUE= "47.98.40.154" ;
 
-    public  static  final Integer  Port= 10024;
+    public  static  final  Integer    Port= 10024;
+
+    public  static  final  String   ORG_NAME = "瑞安牧场";
+
+    public  static  final  String   ORG_ID = "100";
+
+    public  static  final String   DEVICE_CENTER_SERVICE_PORT = "http://115.238.57.190:9502/management/collectorregister/addFromClient";
+
+
+
 
-    //collector Register   Center   IP+port 注册中心
 
 
-    
-    
-    
-    
-    
-    
-    
-    
-    
-    
 }

+ 27 - 33
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/controller/EartagDataController.java

@@ -25,6 +25,7 @@ Snowy采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
 package com.huimv.modular.eartagdata.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.core.annotion.Permission;
 import com.huimv.core.pojo.page.PageResult;
 import com.huimv.core.pojo.response.ResponseData;
@@ -32,7 +33,9 @@ import com.huimv.core.pojo.response.SuccessResponseData;
 import com.huimv.modular.collectorregister.entity.CollectorRegister;
 import com.huimv.modular.eartagdata.entity.EartagData;
 import com.huimv.modular.eartagdata.entity.EartagParamVo;
+import com.huimv.modular.eartagdata.entity.vo.EartagDataEntityRuian;
 import com.huimv.modular.eartagdata.entity.vo.EartagDataVo;
+import com.huimv.modular.eartagdata.mapper.EartagDataMapper;
 import com.huimv.modular.eartagdata.param.EartagDataParam;
 
 
@@ -57,23 +60,24 @@ public class EartagDataController {
     @Resource
     private EartagDataService eartagDataService;
 
+    @Resource
+    private EartagDataMapper   eartagDataMapper;
+
     //增加处理耳标数据接口
 
     //根据耳标电量查询
-    @Permission
+
     @PostMapping("/manager/eartagdata/findByConditions")
     //@BusinessLog(title = "栋舍表_删除", opType = LogAnnotionOpTypeEnum.DELETE)
-    public ResponseData findByConditions(@RequestParam Map<String, Object> params  ) throws ParseException {
-        System.out.println("进入查询111");
-        PageResult<EartagData> byConditions = eartagDataService.findByConditions(params);
-        System.out.println("进入查询");
-        return   new SuccessResponseData(byConditions);
+    public ResponseData findByConditions(@RequestBody Map<String, Object> params  ) throws ParseException {
+
+        PageResult<EartagDataEntityRuian> eartagDataVolist = eartagDataService.queryPageEartagRuian(params);
+        return   new SuccessResponseData(eartagDataVolist);
     }
 
 
 
     //按照条件查询耳标数据接口,之前很慢,现在改进
-    @Permission
     @PostMapping("/manager/eartagdata/findByConditionsNew")
     //@BusinessLog(title = "栋舍表_删除", opType = LogAnnotionOpTypeEnum.DELETE)
     public ResponseData findByConditionsNew(@RequestParam Map<String, Object> params  ) throws ParseException {
@@ -98,17 +102,25 @@ public class EartagDataController {
         Integer pageNo = (Integer) params.get("pageNo");
         Integer pageSize = (Integer)  params.get("pageSize");
         Integer EarTempStatus = (Integer)  params.get("EarTempStatus");
-
-        System.out.println("状态"+EarTempStatus);
+        Integer farmId = (Integer)  params.get("farmId");
         EartagParamVo  eartagParamVo = new EartagParamVo();
 
+        eartagParamVo.setFarmId(farmId);
         eartagParamVo.setLimit(String.valueOf(pageSize));
         eartagParamVo.setPage(String.valueOf(pageNo));
         eartagParamVo.setEarTempStatus(EarTempStatus);
-
-        //耳标号
+        eartagParamVo.setPenNo(penNo);
+        eartagParamVo.setUnitNo(unitNo);
+        //耳标号不为空 展示这个耳标最近的所有数据--查一页 填充数据
         if (StringUtilsWork.isNotBlank(eartagNo)) {
             eartagParamVo.setEartagNo(eartagNo);
+
+
+            PageResult<EartagDataVo> eartagDataVolist = eartagDataService.queryPageEartag(eartagParamVo);
+            System.out.println(eartagParamVo.toString());
+            return     new SuccessResponseData(eartagDataVolist);
+
+            //    PageResult<EartagDataVo> eartagDataVolist = eartagDataService.queryPageEartag(eartagParamVo);
         }
 
         //单元号
@@ -116,26 +128,21 @@ public class EartagDataController {
             eartagParamVo.setEartagNo(unitNo);
         }
 
+
+
         //采集器标号
         if (StringUtilsWork.isNotBlank(deviceCode)) {
-            eartagParamVo.setEartagNo(deviceCode);
+            eartagParamVo.setDeviceCode(deviceCode);
         }
 
-        eartagParamVo.setPenNo(penNo);
-        eartagParamVo.setUnitNo(unitNo);
+
         PageResult<EartagDataVo> eartagDataVolist = eartagDataService.queryPageIndex(eartagParamVo);
         System.out.println(eartagParamVo.toString());
-        
         return     new SuccessResponseData(eartagDataVolist);
     }
     
 
 
-
-
-
-
-
     /**
      * 列表  耳标个体数据
      */
@@ -143,24 +150,11 @@ public class EartagDataController {
     public R listEartagDeatils( @RequestBody EartagParamVo eartagParamVo) throws ParseException {
 
         Map  map = eartagDataService.queryEartagDeatils(eartagParamVo);
-
         System.out.println(eartagParamVo.toString());
-
         return R.ok().put("data", map);
     }
 
 
-
-
-
-
-
-
-
-
-
-
-    @Permission
     @PostMapping("/getearagdataBytime")
     //@BusinessLog(title = "栋舍表_删除", opType = LogAnnotionOpTypeEnum.DELETE)
     public ResponseData getearagdataBytime(@RequestParam Map<String, Object> params  ) throws ParseException {

+ 3 - 1
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/EartagData.java

@@ -28,6 +28,8 @@ import com.baomidou.mybatisplus.annotation.*;
 import com.huimv.core.pojo.base.entity.BaseEntity;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
+
+import java.math.BigInteger;
 import java.util.*;
 import cn.afterturn.easypoi.excel.annotation.Excel;
 
@@ -51,7 +53,7 @@ public class EartagData {
      * 组织id
      */
     @Excel(name = "组织id")
-    private String orgId;
+    private BigInteger orgId;
 
     /**
      * 采集器编码

+ 18 - 1
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/EartagParamVo.java

@@ -1,6 +1,7 @@
 package com.huimv.modular.eartagdata.entity;
 
 
+import cn.afterturn.easypoi.excel.annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -24,7 +25,6 @@ public class EartagParamVo {
      * 页数大小
      */
     private String limit;
-    
 
     /**
      * 传入时间(注册时间)
@@ -51,6 +51,15 @@ public class EartagParamVo {
 
 
     /**
+     * 结束时间
+     */
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    private  Date  time;
+
+
+
+    /**
      * 设备编码
      */
     private String deviceCode;
@@ -114,8 +123,16 @@ public class EartagParamVo {
 
 
     /**
+     * 牧场编号
+     */
+    private Integer farmId;
+
+
+    /**
      * 耳标的温度异常情况 为  0   的时候就是异常
      */
+
+
     private Integer earTempStatus;
 
 

+ 116 - 0
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/vo/EartagDataEntityRuian.java

@@ -0,0 +1,116 @@
+package com.huimv.modular.eartagdata.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 
+ * 
+ * @author chenshun
+ * @email sunlightcs@gmail.com
+ * @date 2022-03-23 22:10:54
+ */
+@Data
+@TableName("eartag_data")
+public class EartagDataEntityRuian implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 记录id(主键)
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 组织id
+	 */
+	private Long orgId;
+	/**
+	 * 采集器编码
+	 */
+	private String deviceCode;
+	/**
+	 * 耳标号
+	 */
+	private String eartagNo;
+	/**
+	 * 采集时间
+	 */
+	private Date time;
+	/**
+	 * 耳根温度
+	 */
+	private Double earTemp;
+	/**
+	 * 运动量
+	 */
+	private Integer exercise;
+	/**
+	 * 栋舍
+	 */
+	private String pigpen;
+	/**
+	 * 单元ID
+	 */
+	private Integer unitId;
+	/**
+	 * 环境温度
+	 */
+	private Double envTemp;
+	/**
+	 * 电池电量
+	 */
+	private Integer bat;
+	/**
+	 * 信号强度
+	 */
+	private Integer rssi;
+	/**
+	 * 命令头
+	 */
+	private String head;
+	/**
+	 * 指令
+	 */
+	private String command;
+	/**
+	 * 版本号
+	 */
+	private String version;
+	/**
+	 * 耳标帧序号
+	 */
+	private Integer frameSerialNo;
+	/**
+	 * 重启次数
+	 */
+	private Integer rebootTimes;
+	/**
+	 * 预留字段
+	 */
+	private String prepareField;
+	/**
+	 * 校验码
+	 */
+	private String chk;
+	/**
+	 * 命令尾
+	 */
+	private String tail;
+	/**
+	 * 牧场编码
+	 */
+	private String farmCode;
+	/**
+	 * 阶段
+	 */
+	private Integer stage;
+	/**
+	 * 
+	 */
+	private Integer sportGap;
+
+}

+ 7 - 0
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/vo/EartagDataVo.java

@@ -1,7 +1,9 @@
 package com.huimv.modular.eartagdata.entity.vo;
 
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
 
@@ -35,6 +37,9 @@ public class EartagDataVo {
     /**
      *时间--最后上传时间
      */
+
+    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date  time;
     /**
      * 耳标温度
@@ -81,4 +86,6 @@ public class EartagDataVo {
     //单位时间内耳标数据上传次数----用来检测耳标的好坏
     private Integer earTempStatus;
 
+
+
 }

+ 149 - 0
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/entity/vo/RuianEartagVo.java

@@ -0,0 +1,149 @@
+package com.huimv.modular.eartagdata.entity.vo;
+
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.STEditAs;
+
+import java.util.Date;
+
+@Data
+public class RuianEartagVo {
+
+
+    /**
+     * 记录id(主键)
+     */
+    @TableId(type = IdType.ASSIGN_ID)
+    private String id;
+
+    /**
+     * 组织id
+     */
+    @Excel(name = "组织id")
+    private String orgId;
+
+    /**
+     * 采集器编码
+     */
+    @Excel(name = "采集器编码")
+    private String deviceCode;
+
+    /**
+     * 耳标号
+     */
+    @Excel(name = "耳标号")
+    private String eartagNo;
+
+    /**
+     * 采集时间
+     */
+    @Excel(name = "采集时间", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 20)
+    private Date time;
+
+    /**
+     * 耳根温度
+     */
+    @Excel(name = "耳根温度")
+    private String earTemp;
+
+    /**
+     * 运动量
+     */
+    @Excel(name = "运动量")
+    private String exercise;
+
+    /**
+     * 栋舍
+     */
+    @Excel(name = "栋舍")
+    private String pigpen;
+
+    /**
+     * 环境温度
+     */
+    @Excel(name = "环境温度")
+    private String envTemp;
+
+    /**
+     * 电池电量
+     */
+    @Excel(name = "电池电量")
+    private String bat;
+
+    /**
+     * 信号强度
+     */
+    @Excel(name = "信号强度")
+    private String rssi;
+
+    /**
+     * 命令头
+     */
+    @Excel(name = "命令头")
+    private String head;
+
+    /**
+     * 指令
+     */
+    @Excel(name = "指令")
+    private String command;
+
+    /**
+     * 版本号
+     */
+    @Excel(name = "版本号")
+    private String version;
+
+    /**
+     * 耳标帧序号
+     */
+    @Excel(name = "耳标帧序号")
+    private String frameSerialNo;
+
+    /**
+     * 重启次数
+     */
+    @Excel(name = "重启次数")
+    private String rebootTimes;
+
+    /**
+     * 预留字段
+     */
+    @Excel(name = "预留字段")
+    private String prepareField;
+
+    /**
+     * 校验码
+     */
+    @Excel(name = "校验码")
+    private String chk;
+
+    /**
+     * 命令尾
+     */
+    @Excel(name = "命令尾")
+    private String tail;
+
+    /**
+     * 牧场编码
+     */
+    @Excel(name = "牧场编码")
+    private String farmCode;
+
+    /**
+     * 阶段
+     */
+    @Excel(name = "阶段")
+    private String stage;
+
+    /**
+     *
+     */
+    @Excel(name = "")
+    private String sportGap;
+
+
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 63 - 5
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/mapper/EartagDataMapper.java


+ 12 - 0
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/mapper/mapping/EartagDataMapper.xml

@@ -106,13 +106,25 @@
             AND   ear.ear_temp_status = #{eartagParamVo.earTempStatus}
         </if>
 
+        <if test="eartagParamVo.farmId != null">
+            AND   co.farm_code = #{eartagParamVo.farmId}
+        </if>
+
 
         <if test="eartagParamVo.deviceCode != null">
             AND co.device_code = #{eartagParamVo.deviceCode}
         </if>
 
+
+
+
+
         ORDER  BY ed1.`time`  DESC
 
+
+
+
+
     </select>
 
 

+ 8 - 1
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/service/EartagDataService.java

@@ -30,6 +30,7 @@ import com.huimv.core.pojo.page.PageResult;
 import com.huimv.core.pojo.response.ResponseData;
 import com.huimv.modular.eartagdata.entity.EartagData;
 import com.huimv.modular.eartagdata.entity.EartagParamVo;
+import com.huimv.modular.eartagdata.entity.vo.EartagDataEntityRuian;
 import com.huimv.modular.eartagdata.entity.vo.EartagDataVo;
 import com.huimv.modular.eartagdata.param.EartagDataParam;
 
@@ -48,6 +49,8 @@ public interface EartagDataService extends IService<EartagData> {
 
     PageResult<EartagData> findByConditions(Map<String, Object> params) throws ParseException;
 
+    PageResult<EartagDataEntityRuian> queryPageEartagRuian(Map<String, Object> params) throws ParseException;
+
 
     PageResult<EartagData> findByConditionsNew(Map<String, Object> params) throws ParseException;
  
@@ -60,9 +63,13 @@ public interface EartagDataService extends IService<EartagData> {
 
     PageResult<EartagDataVo> queryPageIndex(EartagParamVo eartagParamVo) throws ParseException;
 
-
     Map queryEartagDeatils(EartagParamVo eartagParamVo) throws ParseException;
 
+
+    PageResult<EartagDataVo> queryPageEartag(EartagParamVo eartagParamVo) throws ParseException;
+
+
+
     /**
      * 查询耳标数据详情
      *

+ 49 - 136
cloud-platform-main/src/main/java/com/huimv/modular/eartagdata/service/impl/EartagDataServiceImpl.java

@@ -49,6 +49,7 @@ import com.huimv.modular.collectorregister.mapper.CollectorRegisterMapper;
 import com.huimv.modular.eartagdata.entity.EartagData;
 import com.huimv.modular.eartagdata.entity.EartagParamVo;
 import com.huimv.modular.eartagdata.entity.TempMovePenEntity;
+import com.huimv.modular.eartagdata.entity.vo.EartagDataEntityRuian;
 import com.huimv.modular.eartagdata.entity.vo.EartagDataVo;
 import com.huimv.modular.eartagdata.enums.EartagDataExceptionEnum;
 import com.huimv.modular.eartagdata.mapper.EartagDataMapper;
@@ -61,6 +62,7 @@ import com.huimv.modular.movepigpen.entity.MovePigpen;
 import com.huimv.modular.movepigpen.mapper.MovePigpenMapper;
 import com.huimv.modular.utils.util.DateUtilsPublic;
 import com.huimv.modular.utils.util.StringUtilsWork;
+import com.huimv.sys.modular.timer.tasks.SystemOutTaskRunner;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -98,142 +100,6 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataMapper, EartagD
     @Autowired
     private EartagDataMapper eartagDataMapper   ;
 
-    @Override
-    public PageResult<EartagData> findByConditionsNew(Map<String, Object> params) throws ParseException {
-        String farmID = (String) params.get("farmID");//牧场编码
-        String orgId = (String) params.get("orgId");//牧场编码
-        String starttime = (String) params.get("startTime");//开始时间
-        String endtime = (String) params.get("endTime");//结束时间
-        String eartagNo = (String) params.get("eartagNo");//耳标号
-        String dayAge = (String) params.get("dayAge");//最低日龄
-        String dayAge2 = (String) params.get("dayage2");//最高日龄
-        String highEartagTemp = (String) params.get("highEartagTemp");//耳标温度
-        String lowEartagTemp = (String) params.get("lowEartagTemp");//耳标温度
-        String highEnvTemp = (String) params.get("highEnvTemp");//环境温度
-        String lowEnvTemp = (String) params.get("lowEnvTemp");//环境温度
-        String deviceCode = (String) params.get("deviceCode");//采集器编码
-        String bat = (String) params.get("pageNo");//电量
-        String pageNo =  (String)params.get("pageNo");
-        String pageSize =  (String)params.get("pageSize");
-        String penId = (String) params.get("penId");//栋舍
-
-        //日龄的展示多少有点问题
-        System.out.println("采集器+condition---" + deviceCode + "耳标号" + eartagNo);
-        //只要首页限制在第一页,其余的不需要的
-
-        LambdaQueryWrapper<EartagData> wrapper = Wrappers.lambdaQuery();
-        if (StringUtilsWork.isNotBlank(orgId)) {  //StringUtils.isNotEmpty(orderField) && StringUtils.isNotEmpty(order)
-            wrapper.eq(EartagData::getOrgId, orgId);
-        }
-        if (StringUtilsWork.isNotBlank(farmID)) {  //StringUtils.isNotEmpty(orderField) && StringUtils.isNotEmpty(order)
-            wrapper.eq(EartagData::getFarmCode, farmID);
-        }
-        //日龄要做判断---
-        if (StringUtilsWork.isNotBlank(eartagNo)) {
-            wrapper.eq(EartagData::getEartagNo, eartagNo);
-        }
-        if (StringUtilsWork.isNotBlank(eartagNo)) {
-            wrapper.eq(EartagData::getEartagNo, eartagNo);
-        }
-        //栋舍id
-        if (StringUtilsWork.isNotBlank(penId)) {
-            wrapper.eq(EartagData::getPigpen, penId);
-        }
-        if (StringUtilsWork.isNotBlank(deviceCode)) {
-            wrapper.eq(EartagData::getDeviceCode, deviceCode);
-        }
-
-        if (StringUtilsWork.isNotBlank(starttime) & StringUtilsWork.isNotBlank(endtime)) {
-            System.out.println(starttime + "***shijian**" + endtime);
-            DateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-            //格式化传入的时间
-            Date startTime = fmt.parse(starttime);
-            Date endTime = fmt.parse(endtime);
-            //过滤时间
-            wrapper.between(EartagData::getTime, startTime, endTime);
-        }
-
-        if (StringUtilsWork.isNotBlank(highEartagTemp) & StringUtilsWork.isNotBlank(lowEartagTemp)) {
-            wrapper.between(EartagData::getEarTemp, highEartagTemp, lowEartagTemp);
-        }
-        if (StringUtilsWork.isNotBlank(highEnvTemp) & StringUtilsWork.isNotBlank(lowEnvTemp)) {
-            wrapper.between(EartagData::getEnvTemp, highEnvTemp, lowEnvTemp);
-        }
-        List<EartagData> records;
-        PageResult<EartagData> EartagDataPageResult ;
-        //PageResult<List<EartagData> EartagDataPageResult1  = new PageResult<>();
-        //如果没有传耳标号,就展示符合条件的最新一条,若是传了,就展示当前耳标下的最近数据
-        if (StringUtilsWork.isNotBlank(eartagNo)) {
-            System.out.println("有耳标号,展示耳标所有数据");
-            wrapper.orderByDesc(EartagData::getId);
-            EartagDataPageResult = new PageResult<>(this.page(PageFactory.defaultPage(), wrapper));
-            records = EartagDataPageResult.getRows();  //获取信息
-        } else {
-            //太慢了 优化
-            System.out.println("没有耳标号,展示最新的所有的耳标数据");
-            wrapper.groupBy(EartagData::getEartagNo).orderByDesc(EartagData::getId);
-            IPage<EartagData> iPage = new Page<>( Long.parseLong(pageNo),Long.parseLong(pageSize));
-            Page<EartagData> page = baseMapper.findByCondition(iPage, wrapper);
-            records=page.getRecords();
-            System.out.println(page);
-            EartagDataPageResult = new PageResult<>(page);
-
-            //
-            for (EartagData record : records) {
-                //通过最新的转舍信息确认当前位置--之前设想转舍信息会更新  实际上是没有必要的   就用谁上传的就行
-                LambdaQueryWrapper<MovePigpen> wrapper23 = Wrappers.lambdaQuery();
-                wrapper23.eq(MovePigpen::getEartagNo, record.getEartagNo()).orderByAsc(MovePigpen::getId).last("limit 1");
-                MovePigpen movePigpen = movePigpenMapper.selectOne(wrapper23);
-                System.out.println("转舍信息" + movePigpen + "转舍耳标号" + record.getEartagNo());
-                //获取注册---注册信息为空
-                LambdaQueryWrapper<CollectorRegister> wrapper3 = Wrappers.lambdaQuery();
-                wrapper3.eq(CollectorRegister::getDeviceCode, record.getDeviceCode());
-                CollectorRegister collectorRegister = collectorRegisterMapper.selectOne(wrapper3);
-                System.out.println("注册表信息" + collectorRegister);
-                record.setVersion(collectorRegister.getUnitName());//这个多余字段存猪舍名字
-                record.setCommand(collectorRegister.getPenName());//这个多余字段存单元名字
-                //格式化传入的时---第一条不应该没有----但是新耳标上来没有存信息-应该也有的
-                if (movePigpen != null) {
-                    record.setTail(DateUtilsPublic.dateToString(movePigpen.getMoveDate()));//配标时间
-                }
-            }
-
-            return  EartagDataPageResult;
-        }
-
-
-        //拼接栋舍信息在里面
-        for (EartagData record : records) {
-            //还要装日龄和配标日龄
-            LambdaQueryWrapper<EartagRegister> wrapper231 = Wrappers.lambdaQuery();
-            wrapper231.eq(EartagRegister::getEartagNo, record.getEartagNo());
-            EartagRegister eartagRegister = eartagRegisterMapper.selectOne(wrapper231);
-            record.setTail(String.valueOf(eartagRegister.getAge()));
-            record.setPrepareField( String.valueOf(eartagRegister.getWeartagAge()));
-
-            //这一页的数据
-            System.out.println("数据record" + records);
-            LambdaQueryWrapper<MovePigpen> wrapper23 = Wrappers.lambdaQuery();
-            wrapper23.eq(MovePigpen::getEartagNo, record.getEartagNo()).orderByAsc(MovePigpen::getId).last("limit 1");
-            MovePigpen movePigpen = movePigpenMapper.selectOne(wrapper23);
-            System.out.println("转舍信息" + movePigpen + "转舍耳标号" + record.getEartagNo());
-            //获取注册---注册信息为空
-            LambdaQueryWrapper<CollectorRegister> wrapper3 = Wrappers.lambdaQuery();
-            wrapper3.eq(CollectorRegister::getDeviceCode, record.getDeviceCode());
-            CollectorRegister collectorRegister = collectorRegisterMapper.selectOne(wrapper3);
-            System.out.println("注册表信息" + collectorRegister);
-
-            record.setVersion(collectorRegister.getUnitName());//这个多余字段存猪舍名字
-            record.setCommand(collectorRegister.getPenName());//这个多余字段存单元名字
-            //格式化传入的时---第一条不应该没有----但是新耳标上来没有存信息
-            if (movePigpen != null) {
-                record.setTail(DateUtilsPublic.dateToString(movePigpen.getMoveDate()));//配标时间
-            }
-        }
-        return  EartagDataPageResult;
-    }
-
-
 
 
 
@@ -272,11 +138,43 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataMapper, EartagD
             return EartagDataPageResult;
     }
 
+    @Override
+    public PageResult<EartagDataEntityRuian> queryPageEartagRuian(Map<String, Object> params) throws ParseException {
+
+
+        String eartagNo = (String) params.get("eartagNo");//耳标号
+
+        Integer pageNo = (Integer) params.get("pageNo");
+        Integer pageSize = (Integer)  params.get("pageSize");
+
 
+        Integer EarTempStatus = (Integer)  params.get("EarTempStatus");
+        Integer farmId = (Integer)  params.get("farmId");
 
+        EartagParamVo  eartagParamVo = new EartagParamVo();
 
 
 
+        IPage<EartagDataEntityRuian> eartagDataVoIPage = new Page<>();
+        eartagDataVoIPage.setCurrent(pageNo);
+        eartagDataVoIPage.setSize(pageSize);
+         if(ObjectUtil.isNotEmpty(eartagNo)){
+             PageResult<EartagDataEntityRuian> eartagDataVoPageResult = new PageResult<>(eartagDataMapper.pageRuianEartagNo(eartagDataVoIPage,eartagNo));   ;
+             System.out.println(eartagDataVoPageResult);
+             return    eartagDataVoPageResult   ;
+         }
+
+        PageResult<EartagDataEntityRuian> eartagDataVoPageResult = new PageResult<>(eartagDataMapper.pageRuian(eartagDataVoIPage));   ;
+        System.out.println(eartagDataVoPageResult);
+        return    eartagDataVoPageResult   ;
+
+    }
+
+    @Override
+    public PageResult<EartagData> findByConditionsNew(Map<String, Object> params) throws ParseException {
+        return null;
+    }
+
 
     @Override
     public PageResult<EartagData> findByConditions(Map<String, Object> params) throws ParseException {
@@ -426,6 +324,21 @@ public class EartagDataServiceImpl extends ServiceImpl<EartagDataMapper, EartagD
         return      eartagDataVoPageResult ;
     }
 
+    //仿照上面的
+    @Override
+    public  PageResult<EartagDataVo> queryPageEartag(EartagParamVo eartagParamVo) throws ParseException {
+        IPage<EartagDataVo> eartagDataVoIPage = new Page<>();
+        System.out.println(eartagParamVo.getPage());
+        System.out.println(eartagParamVo.getLimit());
+        eartagDataVoIPage.setCurrent(Integer.parseInt(eartagParamVo.getPage()));
+        eartagDataVoIPage.setSize(Integer.parseInt(eartagParamVo.getLimit()));
+        HashMap<Object, Object> objectObjectHashMap = new HashMap<>();
+
+
+        PageResult<EartagDataVo> eartagDataVoPageResult = new PageResult<>(eartagDataMapper.pageIndexEartag(eartagDataVoIPage, eartagParamVo.getEartagNo() ));
+
+        return      eartagDataVoPageResult ;
+    }
 
     //迁移接口
     //耳标详细数据

+ 2 - 11
cloud-platform-main/src/main/java/com/huimv/modular/eartagregister/controller/EartagRegisterController.java

@@ -179,21 +179,12 @@ public class EartagRegisterController{
     }
 
 
-    //展示注册表中的所有耳标  通过时间来倒序查
-   /* {
-        "eartagNo": "00010131010",
-            "location": "A13-6",
-            "pageSize":10,
-            "pageSize"
-    }*/
-    //增加增删改查的功能  删除的时候删除所有的耳标:
-    //手动添加的只有三个参数  耳标号   坐标  然后没有了    在上传的时候补齐其余信息  (默认上传次数为1)
-    //所有的事件接口
     @RequestMapping("/EratagRegister/list")
     public  SuccessResponseData listEratagRegister(@RequestBody Map<String, Object> params) throws ClientException, ParseException {
         //入参的统一校验就应该通过 param的统一校验来做  不然重复代码过多啊
         String   eartagNo = (String) params.get("eartagNo");  //耳标号
         String   location = (String) params.get("location");  //坐标
+        Integer   farmId = (Integer) params.get("farmId");
         Integer   pageNo = (Integer) params.get("pageNo");
         Integer  pageSize = (Integer)  params.get("pageSize");
         String   EartagError = (String) params.get("EartagError");  //耳标损坏  --次数个和温度都是0
@@ -208,6 +199,7 @@ public class EartagRegisterController{
         eartagRegisterVO.setLocation(location);
         eartagRegisterVO.setTempError(TempError);
         eartagRegisterVO.setPageNo(pageNo);
+        eartagRegisterVO.setFarmId(farmId);
         eartagRegisterVO.setPageSize(pageSize);
         eartagRegisterVO.setEartagNo(eartagNo);
         eartagRegisterVO.setEartagWarm(EartagWarm);
@@ -215,7 +207,6 @@ public class EartagRegisterController{
         //
         PageResult<EartagRegister> query = eartagRegisterService.query(eartagRegisterVO);
         return     new SuccessResponseData(query);
-       
     }
 
 

+ 4 - 0
cloud-platform-main/src/main/java/com/huimv/modular/eartagregister/entity/EartagRegisterVO.java

@@ -60,6 +60,10 @@ public class EartagRegisterVO {
     @Excel(name = "")
     private Integer age;
 
+
+
+    @Excel(name = "")
+    private Integer farmId;
     /**
      *
      */

+ 8 - 0
cloud-platform-main/src/main/java/com/huimv/modular/eartagregister/service/impl/EartagRegisterServiceImpl.java

@@ -90,6 +90,14 @@ public class EartagRegisterServiceImpl extends ServiceImpl<EartagRegisterMapper,
             wrapper.eq(EartagRegister::getEarTempStatus, 0);
         }
 
+
+        //坏耳标
+        if(StringUtilsWork.isNotBlank(eartagRegisterVO.getEartagError())){
+            //次数0
+            wrapper.eq(EartagRegister::getCountTimes, 0);
+            wrapper.eq(EartagRegister::getEarTempStatus, 0);
+        }
+
         //坏耳标---
         if(StringUtilsWork.isNotBlank(eartagRegisterVO.getTempError())){
             //次数0

+ 2 - 2
cloud-platform-main/src/main/java/com/huimv/modular/rawdata/controller/RawDataController.java

@@ -134,7 +134,7 @@ public class RawDataController {
      * @author yangdi
      * @date 2021-11-09 16:58:43
      */
-    @Permission
+
     @PostMapping("/rawData/add")
     @BusinessLog(title = "原始数据存储_增加", opType = LogAnnotionOpTypeEnum.ADD)
     public ResponseData add(@RequestBody @Validated(RawDataParam.add.class) RawDataParam rawDataParam) {
@@ -176,7 +176,7 @@ public class RawDataController {
      * @author yangdi
      * @date 2021-11-09 16:58:43
      */
-    @Permission
+
     @GetMapping("/rawData/detail")
     @BusinessLog(title = "原始数据存储_查看", opType = LogAnnotionOpTypeEnum.DETAIL)
     public ResponseData detail(@Validated(RawDataParam.detail.class) RawDataParam rawDataParam) {

+ 10 - 9
cloud-platform-main/src/main/java/com/huimv/modular/timer/tasks/CheckDeviceAble.java

@@ -50,17 +50,18 @@ public class CheckDeviceAble {
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         String format = sdf.format(GapTimeBefor_gap);
         String format1 = sdf.format(new Date());
-        List<String> strings = collectorRegisterMapper.DeviceAble1(format, format1);
-
-        //有问题的
-     /*   LambdaUpdateWrapper<CollectorRegister> updateWrapper = Wrappers.lambdaUpdate();
-        updateWrapper.in(CollectorRegister::getDeviceCode,strings)
-                .set(CollectorRegister::getCanStatus,0);
-        collectorRegisterMapper.update(null, updateWrapper);*/
+        List<String> deviceList = collectorRegisterMapper.DeviceAble1(format, format1);
 
+        System.out.println(deviceList);  //这儿为空
+        //有问题的--报错
+        if(deviceList.size()!=0) {
+            LambdaUpdateWrapper<CollectorRegister> updateWrapper = Wrappers.lambdaUpdate();
+            updateWrapper.in(CollectorRegister::getDeviceCode, deviceList)
+                    .set(CollectorRegister::getCanStatus, 0);
+            collectorRegisterMapper.update(null, updateWrapper);
+        }
         collectorRegisterMapper.updateTemp();
         
-        
-        
+
     }
 }

+ 7 - 7
cloud-platform-main/src/main/java/com/huimv/modular/timer/tasks/CheckDeviceUnable.java

@@ -50,13 +50,13 @@ public class CheckDeviceUnable {
         String format = sdf.format(GapTimeBefor_gap);
         String format1 = sdf.format(new Date());
 
-        List<String> strings = collectorRegisterMapper.DeviceUnAble1(format, format1);
-
-
-        LambdaUpdateWrapper<CollectorRegister> updateWrapper = Wrappers.lambdaUpdate();
-        updateWrapper.in(CollectorRegister::getDeviceCode,strings)
-                .set(CollectorRegister::getCanStatus,1);
-        collectorRegisterMapper.update(null, updateWrapper);
+        List<String> deviceUnAblelist = collectorRegisterMapper.DeviceUnAble1(format, format1);
+     if(deviceUnAblelist.size()!=0) {
+         LambdaUpdateWrapper<CollectorRegister> updateWrapper = Wrappers.lambdaUpdate();
+         updateWrapper.in(CollectorRegister::getDeviceCode, deviceUnAblelist)
+                 .set(CollectorRegister::getCanStatus, 1);
+         collectorRegisterMapper.update(null, updateWrapper);
+     }
 
     }
 }

+ 1 - 1
cloud-platform-main/src/main/resources/application.yml

@@ -1,6 +1,6 @@
 #服务配置   云中心 9556     公司测试  8256     第一家客户的   9256
 server:
-  port: 8256
+  port: 9256
   max-http-header-size: 10240
 
 #spring相关配置  选择哪个配置文件

+ 39 - 2
cloud-platform-main/src/test/java/com/huimv/learn/test001.java

@@ -1,9 +1,16 @@
 package com.huimv.learn;
 
 
+import cn.hutool.core.collection.SpliteratorUtil;
 import com.baomidou.mybatisplus.core.InjectorResolver;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huimv.CloudPlatformApplication;
+import com.huimv.modular.basefarminfo.entity.BaseFarmInfoEntity;
+import com.huimv.modular.basefarminfo.mapper.BaseFarmInfoMapper;
+import com.huimv.modular.basepigpen.entity.BasePigpen;
+import com.huimv.modular.basepigpen.mapper.BasePigpenMapper;
 import com.huimv.modular.eartagdata.entity.EartagData;
 import com.huimv.modular.eartagdata.mapper.EartagDataMapper;
 import com.huimv.modular.eartagregister.entity.EartagRegister;
@@ -22,8 +29,14 @@ public class test001 {
     private EartagRegisterMapper eartagRegisterMapper   ;
 
     @Autowired
+    private BasePigpenMapper  basePigpenMapper    ;
+
+    @Autowired
     private EartagDataMapper eartagDataMapper;
 
+    @Autowired
+    private BaseFarmInfoMapper  baseFarmInfoMapper ;
+
     //删除di 28页的数据
    /* @Test
     public void findAll() {
@@ -79,13 +92,37 @@ public class test001 {
 
 
         for (int i = 1; i <= 5000; i++) {
-
             EartagRegister eartagRegister = eartagRegisterMapper.selectOne(new QueryWrapper<EartagRegister>().eq("id", i));
             String[] as = eartagRegister.getLocation().split("--");
             eartagRegister.setStage(Integer.valueOf( as[0]));
             System.out.println("在修改第"+eartagRegister.getLocation());
             eartagRegisterMapper.updateById(eartagRegister);
         }
+    }
+
+
+
+
+    @Test
+    public void test07703 () {
+         //通过
+        QueryWrapper<BaseFarmInfoEntity> queryWrapper = new QueryWrapper<>();
+        //queryWrapper.eq("eartag_no", String.valueOf(i));
+        List<BaseFarmInfoEntity> eartagData = baseFarmInfoMapper.selectList(queryWrapper);
+        System.out.println(eartagData);
+    }
+
+    @Test
+    public void test077403 () {
+        //通过
+        QueryWrapper<EartagRegister> queryWrapper = new QueryWrapper<>();
+        //queryWrapper.eq("eartag_no", String.valueOf(i));
+        List<EartagRegister> eartagData = eartagRegisterMapper.selectList(queryWrapper);
+        for (EartagRegister eartagDatum : eartagData) {
+
+
+        }
 
     }
-    }
+
+}