Forráskód Böngészése

添加水表,电表,ph的接收

523096025 2 éve
szülő
commit
427ecf274d
32 módosított fájl, 536 hozzáadás és 34 törlés
  1. 50 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvDeviceEquipment.java
  2. 36 1
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvElectricityMeter.java
  3. 5 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvWaterMeter.java
  4. 21 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/LampConfigEntity.java
  5. 11 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvDeviceEqipmentRepo.java
  6. 4 1
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvElectricityMeterRepo.java
  7. 5 0
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvWaterMeterRepo.java
  8. 5 1
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/ILampConfigService.java
  9. 4 7
      huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/LampConfigServiceImpl.java
  10. 48 3
      huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DeviceServiceImpl.java
  11. 2 1
      huimv-env-platform/huimv-env-device/src/main/resources/application.properties
  12. 37 6
      huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java
  13. 1 1
      huimv-env-platform/huimv-env-input/src/main/resources/application-dev.yml
  14. 1 1
      huimv-env-platform/huimv-env-input/src/main/resources/application-prod.yml
  15. 2 1
      huimv-env-platform/huimv-env-input/src/main/resources/application.properties
  16. 2 2
      huimv-env-platform/huimv-env-input/target/classes/application-dev.yml
  17. 2 1
      huimv-env-platform/huimv-env-input/target/classes/application.properties
  18. 12 2
      huimv-env-platform/huimv-env-lamp/src/main/java/com/huimv/env/lamp/service/impl/LampInputHandleServiceImpl.java
  19. 1 1
      huimv-env-platform/huimv-env-lamp/src/main/resources/application-dev.yml
  20. 1 1
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/HuimvEnvManageApplication.java
  21. 26 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvDeviceRegisterController.java
  22. 1 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/entity/EnvDeviceRegister.java
  23. 16 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/mapper/BasePigpenMapper.java
  24. 16 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/mapper/EnvDeviceEquipmentMapper.java
  25. 11 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/IEnvDeviceRegisterService.java
  26. 128 2
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvDeviceRegisterServiceImpl.java
  27. 39 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/time/Timer.java
  28. 18 0
      huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/utils/ResultUtil.java
  29. 2 2
      huimv-env-platform/huimv-env-manage/src/main/resources/application.properties
  30. 16 0
      huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/BasePigpenMapper.xml
  31. 13 0
      huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvDeviceEquipmentMapper.xml
  32. 0 0
      huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/Sheet1Mapper.xml

+ 50 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvDeviceEquipment.java

@@ -0,0 +1,50 @@
+package com.huimv.env.common.dao.entity;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.experimental.Accessors;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2022-10-11
+ */
+@Data
+@Accessors(chain = true)
+@Table(name = "env_device_equipment")
+@Entity
+public class EnvDeviceEquipment implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    @Column(name = "id", nullable = false)
+    private Integer id;
+
+    @Column(name = "equipment_name")
+    private String equipmentName;
+
+    @Column(name = "unit_id")
+    private Integer unitId;
+
+    @Column(name = "open_start")
+    private Integer openStart;
+
+    @Column(name = "equipment_port")
+    private Integer equipmentPort;
+
+    private String deviceCode;
+
+    private Integer uploadStart;
+
+
+}

+ 36 - 1
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvElectricityMeter.java

@@ -1,5 +1,6 @@
 package com.huimv.env.common.dao.entity;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
@@ -24,30 +25,64 @@ public class EnvElectricityMeter implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+
+
     @Id
     @GeneratedValue(strategy = GenerationType.AUTO)
     @Column(name = "id", nullable = false)
     private Integer id;
 
+    @Column(name = "device_code")
     private String deviceCode;
 
+    @Column(name = "sensor_sn")
     private Integer sensorSn;
 
+    @Column(name = "electricity_meter")
     private BigDecimal electricityMeter;
 
+    @Column(name = "ask_time")
     private String askTime;
 
+    @Column(name = "add_time")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date addTime;
 
+    @Column(name = "add_date")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date addDate;
 
+    @Column(name = "pigpen_id")
     private String pigpenId;
 
+    @Column(name = "unit_id")
     private String unitId;
 
+    @Column(name = "farm_code")
     private String farmCode;
 
+    @Column(name = "data_unit")
     private String dataUnit;
 
-
+    @Column(name = "electricity_meter_data")
+    private Integer electricityMeterData;
+
+
+    public EnvElectricityMeter(Integer id, String deviceCode, Integer sensorSn, BigDecimal electricityMeter, String askTime, Date addTime, Date addDate, String pigpenId, String unitId, String farmCode, String dataUnit, Integer electricityMeterData) {
+        this.id = id;
+        this.deviceCode = deviceCode;
+        this.sensorSn = sensorSn;
+        this.electricityMeter = electricityMeter;
+        this.askTime = askTime;
+        this.addTime = addTime;
+        this.addDate = addDate;
+        this.pigpenId = pigpenId;
+        this.unitId = unitId;
+        this.farmCode = farmCode;
+        this.dataUnit = dataUnit;
+        this.electricityMeterData = electricityMeterData;
+    }
+
+    public EnvElectricityMeter() {
+    }
 }

+ 5 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/EnvWaterMeter.java

@@ -1,5 +1,6 @@
 package com.huimv.env.common.dao.entity;
 
+import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.experimental.Accessors;
 
@@ -37,8 +38,10 @@ public class EnvWaterMeter implements Serializable {
 
     private String askTime;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date addTime;
 
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     private Date addDate;
 
     private String pigpenId;
@@ -49,5 +52,7 @@ public class EnvWaterMeter implements Serializable {
 
     private String dataUnit;
 
+    private Integer waterMeterData;
+
 
 }

+ 21 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/entity/LampConfigEntity.java

@@ -34,5 +34,26 @@ public class LampConfigEntity implements Serializable {
 
     @Column(name = "location")
     private String location;
+    private Integer dayAge;
+
+    private Integer initAge;
+
+    private String ageList;
+
+    private Integer unitId;
+
+    /**
+     * 0关闭 1开启 实际运行状态
+     */
+    private Integer openStart;
+
+    /**
+     * 0关闭 1开启 设置状态
+     */
+    private Integer uploadStart;
+    private String  lampName;
+
+    private Integer   binding;
+    private String    farmCode;
 
 }

+ 11 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvDeviceEqipmentRepo.java

@@ -0,0 +1,11 @@
+package com.huimv.env.common.dao.repo;
+
+import com.huimv.env.common.dao.entity.EnvDeviceEquipment;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import java.util.List;
+
+public interface EnvDeviceEqipmentRepo extends JpaRepository<EnvDeviceEquipment, Integer>, JpaSpecificationExecutor<EnvDeviceEquipment> {
+    List<EnvDeviceEquipment> findAllByDeviceCode(String deviceCode);
+}

+ 4 - 1
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvElectricityMeterRepo.java

@@ -3,7 +3,10 @@ package com.huimv.env.common.dao.repo;
 import com.huimv.env.common.dao.entity.EnvElectricityMeter;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
 
-public interface EnvElectricityMeterRepo extends JpaRepository<EnvElectricityMeter, Integer>, JpaSpecificationExecutor<EnvPhEntityRepo> {
+public interface EnvElectricityMeterRepo extends JpaRepository<EnvElectricityMeter, Integer>, JpaSpecificationExecutor<EnvElectricityMeter> {
 
+    @Query(nativeQuery = true,value = "SELECT *  FROM env_electricity_meter WHERE device_code=?1  ORDER BY id DESC LIMIT 1")
+    EnvElectricityMeter getOneByMaxId(String deviceCode);
 }

+ 5 - 0
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/dao/repo/EnvWaterMeterRepo.java

@@ -1,9 +1,14 @@
 package com.huimv.env.common.dao.repo;
 
+import com.huimv.env.common.dao.entity.EnvElectricityMeter;
 import com.huimv.env.common.dao.entity.EnvWaterMeter;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
 
 public interface EnvWaterMeterRepo extends JpaRepository<EnvWaterMeter, Integer>, JpaSpecificationExecutor<EnvWaterMeter> {
 
+    @Query(nativeQuery = true,value = "SELECT *  FROM env_water_meter WHERE device_code=?1  ORDER BY id DESC LIMIT 1")
+    EnvWaterMeter getOneByMaxId(String deviceCode);
+
 }

+ 5 - 1
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/ILampConfigService.java

@@ -1,6 +1,10 @@
 package com.huimv.env.common.service;
 
+import com.huimv.env.common.dao.entity.LampConfigEntity;
+
+import java.util.List;
+
 public interface ILampConfigService {
 
-    String getLampConfigByDeviceId(String deviceId);
+    List<LampConfigEntity> getLampConfigByDeviceId(String deviceId);
 }

+ 4 - 7
huimv-env-platform/huimv-env-common/src/main/java/com/huimv/env/common/service/impl/LampConfigServiceImpl.java

@@ -23,16 +23,13 @@ public class LampConfigServiceImpl implements ILampConfigService {
     private LampConfigEntityRepo lampConfigEntityRepo;
 
     @Override
-    public String getLampConfigByDeviceId(String deviceId){
+    public  List<LampConfigEntity>  getLampConfigByDeviceId(String deviceId){
         LampConfigEntity lampConfigEntity = new LampConfigEntity();
         lampConfigEntity.setDeviceId(deviceId);
+        lampConfigEntity.setBinding(1);
         Example<LampConfigEntity> example = Example.of(lampConfigEntity);
+
         List<LampConfigEntity> lampConfigEntityList = lampConfigEntityRepo.findAll(example);
-        if(lampConfigEntityList.size() == 0){
-            return null;
-        }else{
-            LampConfigEntity lampConfig = lampConfigEntityList.get(0);
-            return lampConfig.getTempSet();
-        }
+      return lampConfigEntityList;
     }
 }

+ 48 - 3
huimv-env-platform/huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DeviceServiceImpl.java

@@ -1,5 +1,6 @@
 package com.huimv.env.device.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.huimv.env.common.dao.entity.*;
 import com.huimv.env.common.dao.repo.*;
@@ -173,10 +174,30 @@ public class DeviceServiceImpl implements IDeviceService {
     //保存水表
     @Override
     public void saveWaterMeter(JSONObject dataJo, EnvDeviceRegisterEntity envDeviceRegisterEntity, Timestamp nowTimestamp, Date todayDate, String farmCode) {
+        int valueData = dataJo.getIntValue("value");
+        String deviceCode = dataJo.getString("deviceCode");
+        EnvWaterMeter envWaterMeterData = envWaterMeterRepo.getOneByMaxId(deviceCode);
+        Integer waterMeterData ;
+        Integer value = 0;
+
+        if (envWaterMeterData ==null || envWaterMeterData.getWaterMeterData() ==null){
+            waterMeterData = 0;
+        }else {
+            waterMeterData =envWaterMeterData.getWaterMeterData();
+        }
+
+        if (valueData >= waterMeterData){
+            value = valueData-waterMeterData;
+        }else {
+            value = valueData;
+        }
+
+
         EnvWaterMeter envWaterMeter = new EnvWaterMeter();
-        envWaterMeter.setDeviceCode(dataJo.getString("deviceCode"));
+        envWaterMeter.setDeviceCode(deviceCode);
         envWaterMeter.setSensorSn(dataJo.getInteger("sensorSn"));
-        envWaterMeter.setWaterMeter(new BigDecimal(mathUtil.countMeter(dataJo.getIntValue("value"))));
+        envWaterMeter.setWaterMeter(new BigDecimal(mathUtil.countMeter(value)));
+        envWaterMeter.setWaterMeterData(valueData);
         envWaterMeter.setAskTime(dateUtil.handleAskTime(dataJo.getString("askTime")));
         envWaterMeter.setAddTime(nowTimestamp);
         envWaterMeter.setAddDate(todayDate);
@@ -190,10 +211,34 @@ public class DeviceServiceImpl implements IDeviceService {
     //保存电表
     @Override
     public void saveElectricityMeter(JSONObject dataJo, EnvDeviceRegisterEntity envDeviceRegisterEntity, Timestamp nowTimestamp, Date todayDate, String farmCode) {
+
+
+        int valueData = dataJo.getIntValue("value");
+        String deviceCode = dataJo.getString("deviceCode");
+        EnvElectricityMeter envElectricityMeterData = envElectricityMeterRepo.getOneByMaxId(deviceCode);
+        Integer electricityMeterData ;
+        Integer value = 0;
+
+        if (ObjectUtil.isEmpty(envElectricityMeterData)|| envElectricityMeterData.getElectricityMeterData() ==null){
+            electricityMeterData = 0;
+        }else {
+            electricityMeterData =  envElectricityMeterData.getElectricityMeterData();
+        }
+
+        if (valueData >= electricityMeterData){
+            value = valueData-electricityMeterData;
+        }else {
+            value = valueData;
+        }
+
+
         EnvElectricityMeter envElectricityMeter = new EnvElectricityMeter();
         envElectricityMeter.setDeviceCode(dataJo.getString("deviceCode"));
         envElectricityMeter.setSensorSn(dataJo.getInteger("sensorSn"));
-        envElectricityMeter.setElectricityMeter(new BigDecimal(mathUtil.countMeter(dataJo.getIntValue("value"))));
+        envElectricityMeter.setElectricityMeter(new BigDecimal(mathUtil.countMeter(value)));
+
+        envElectricityMeter.setElectricityMeterData(valueData);
+
         envElectricityMeter.setAskTime(dateUtil.handleAskTime(dataJo.getString("askTime")));
         envElectricityMeter.setAddTime(nowTimestamp);
         envElectricityMeter.setAddDate(todayDate);

+ 2 - 1
huimv-env-platform/huimv-env-device/src/main/resources/application.properties

@@ -1,4 +1,5 @@
-spring.profiles.active=prod
+#spring.profiles.active=prod
+spring.profiles.active=dev
 
 #\u5F00\u542F\u5065\u5EB7\u76D1\u63A7
 management.endpoints.web.exposure.include=*

+ 37 - 6
huimv-env-platform/huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java

@@ -2,7 +2,9 @@ package com.huimv.env.input.server;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.huimv.env.common.dao.entity.EnvDeviceEquipment;
 import com.huimv.env.common.dao.entity.EnvDeviceRegisterEntity;
+import com.huimv.env.common.dao.repo.EnvDeviceEqipmentRepo;
 import com.huimv.env.common.service.IDeviceRegisterService;
 import com.huimv.env.common.service.ISprayConfigService;
 import com.huimv.env.common.service.ISprayTimeService;
@@ -30,6 +32,7 @@ import java.io.IOException;
 import java.sql.Timestamp;
 import java.text.ParseException;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -58,6 +61,10 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
     @Autowired
     private ITempThresholdService tempThresholdService;
 
+    @Autowired
+    private EnvDeviceEqipmentRepo envDeviceEqipmentRepo;
+
+
     //
     public void appendClientAsk(String text) {
         if (this.askTextSb == null) {
@@ -234,13 +241,25 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             System.out.println("##上报设备状态上传请求-未注册设备 deviceCode=" + deviceCode);
             return;
         }
+        List<EnvDeviceEquipment> list= envDeviceEqipmentRepo.findAllByDeviceCode(deviceCode);
+        saveDeviceStatus(askText,list);
         //上报设备状态
-        String answerText = "hm+118+13+1010101010101010+201702081523+6+end";
+        String answerText = "hm+"+deviceCode+"+13+6+end";
         log.info(">>上报设备状态上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
-        //上报设备状态请求到消息队列
-//        producer.sendWaterGege(askText);
     }
+
+    private void saveDeviceStatus(String askText, List<EnvDeviceEquipment> list) {
+        String[] split = askText.split("\\+");
+        String s = split[3];
+        for (EnvDeviceEquipment envDeviceEquipment : list) {
+            Integer equipmentPort = envDeviceEquipment.getEquipmentPort();
+            String c =s.charAt(equipmentPort - 1)+"";
+            envDeviceEquipment.setOpenStart(Integer.parseInt(c));
+            envDeviceEqipmentRepo.save(envDeviceEquipment);
+        }
+    }
+
     //获取设备开关
     private void getSparySwitch(String askText, String deviceCode, ChannelHandlerContext ctx) {
         System.out.println("==>获取设备开关上传请求 askText>>" + askText);
@@ -248,12 +267,24 @@ public class EnvInputServerHandler extends ChannelInboundHandlerAdapter {
             System.out.println("##获取设备开关上传请求-未注册设备 deviceCode=" + deviceCode);
             return;
         }
+        List<EnvDeviceEquipment> list= envDeviceEqipmentRepo.findAllByDeviceCode(deviceCode);
+        String deviceStatus= getDeviceStatus(list);
+
         //TODO 获取设备开关请求
-        String answerText = "hm+118+12+1010101010101010+6+end";
+        String answerText = "hm+"+deviceCode+"+12+"+deviceStatus+"+6+end";
         log.info(">>获取设备开关上传请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
-        //获取设备开关请求
-//        producer.sendWaterGege(askText);
+    }
+
+    private String getDeviceStatus(List<EnvDeviceEquipment> list) {
+        StringBuffer deviceStatus = new StringBuffer("0000000000000000");
+        for (EnvDeviceEquipment envDeviceEquipment : list) {
+
+            Integer equipmentPort = envDeviceEquipment.getEquipmentPort();
+            Integer openStart = envDeviceEquipment.getUploadStart();
+            deviceStatus.replace(equipmentPort -1,equipmentPort,openStart+"");
+        }
+        return deviceStatus.toString();
     }
 
     //电表

+ 1 - 1
huimv-env-platform/huimv-env-input/src/main/resources/application-dev.yml

@@ -1,5 +1,5 @@
 server:
-  port: 8090
+  port: 8091
 
 spring:
   application:

+ 1 - 1
huimv-env-platform/huimv-env-input/src/main/resources/application-prod.yml

@@ -1,5 +1,5 @@
 server:
-  port: 8090
+  port: 8091
 
 spring:
   application:

+ 2 - 1
huimv-env-platform/huimv-env-input/src/main/resources/application.properties

@@ -1,4 +1,5 @@
-spring.profiles.active=prod
+#spring.profiles.active=prod
+spring.profiles.active=dev
 
 #\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
 management.endpoints.web.exposure.include=*

+ 2 - 2
huimv-env-platform/huimv-env-input/target/classes/application-dev.yml

@@ -1,12 +1,12 @@
 server:
-  port: 8090
+  port: 8091
 
 spring:
   application:
     name: huimv-env-input
 
   datasource:
-    url: jdbc:mysql://122.112.224.199:3306/huimv-env-platform?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://192.168.1.7:3306/huimv-env-platform?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
     username: root
     password: hm123456
     driver-class-name: com.mysql.cj.jdbc.Driver

+ 2 - 1
huimv-env-platform/huimv-env-input/target/classes/application.properties

@@ -1,4 +1,5 @@
-spring.profiles.active=prod
+#spring.profiles.active=prod
+spring.profiles.active=dev
 
 #\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD
 management.endpoints.web.exposure.include=*

+ 12 - 2
huimv-env-platform/huimv-env-lamp/src/main/java/com/huimv/env/lamp/service/impl/LampInputHandleServiceImpl.java

@@ -1,5 +1,7 @@
 package com.huimv.env.lamp.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
+import com.huimv.env.common.dao.entity.LampConfigEntity;
 import com.huimv.env.common.service.ILampConfigService;
 import com.huimv.env.common.service.ILampTempService;
 import com.huimv.env.common.utils.DateUtil;
@@ -14,6 +16,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.text.ParseException;
+import java.util.List;
 
 /**
  * @Project : huimv-env-platform
@@ -58,8 +61,15 @@ public class LampInputHandleServiceImpl implements LampInputHandleService {
     @Override
     public void getLampConfig(String askText, String idCode, ChannelHandlerContext ctx) {
         System.out.println("获取温度配置");
-        String configTemp = lampConfigService.getLampConfigByDeviceId(idCode);
-        String answerText = "hm+"+idCode+"+3+1+"+configTemp+"+7+end";
+        List<LampConfigEntity> lampConfigEntityList = lampConfigService.getLampConfigByDeviceId(idCode);
+        String answerText ="hm+"+idCode+"+3+0+0+7+end";
+        if (ObjectUtil.isNotEmpty(lampConfigEntityList)){
+            LampConfigEntity lampConfigEntity = lampConfigEntityList.get(0);
+            String tempSet = lampConfigEntity.getTempSet();
+            Integer uploadStart = lampConfigEntity.getUploadStart();
+            answerText ="hm+"+idCode+"+3+"+uploadStart+"+"+tempSet+"+7+end";
+        }
+
         log.info(">>获取保温箱温度配置请求-应答数据>>" + answerText);
         answerCmd(answerText, ctx);
     }

+ 1 - 1
huimv-env-platform/huimv-env-lamp/src/main/resources/application-dev.yml

@@ -6,7 +6,7 @@ spring:
     name: huimv-env-input
 
   datasource:
-    url: jdbc:mysql://192.168.1.7:3306/huimv-env-platform?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
+    url: jdbc:mysql://115.238.57.190:3306/huimv-env-platform?useUnicode=true&characterEncoding=UTF-8&useSSL=false&autoReconnect=true&serverTimezone=Asia/Shanghai
     username: root
     password: hm123456
     driver-class-name: com.mysql.cj.jdbc.Driver

+ 1 - 1
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/HuimvEnvManageApplication.java

@@ -61,7 +61,7 @@ public class HuimvEnvManageApplication {
         Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
         connector.setScheme("http");
         //Connector监听的http的默认端口号
-        connector.setPort(10001);
+        connector.setPort(10011);
         connector.setSecure(false);
         //监听到http的端口号后转向到的https的端口号,也就是项目配置的port
         connector.setRedirectPort(8097);

+ 26 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/controller/EnvDeviceRegisterController.java

@@ -6,6 +6,7 @@ import com.huimv.env.manage.utils.Result;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 /**
@@ -30,4 +31,29 @@ public class EnvDeviceRegisterController {
 
     }
 
+    @PostMapping("/saveRegister")
+    public Result saveRegister(@RequestBody Map<String,String> paramMap){
+        return  deviceRegisterService.saveRegister(paramMap);
+    }
+
+
+
+    @PostMapping("/lsitAllDeivce")
+    public Result lsitAllDeivce(@RequestBody Map<String, String> map, HttpServletRequest request){
+        return deviceRegisterService.lsitAllDeivce(map,request);
+
+    }
+    @PostMapping("/unbindingBaseDeviceCofig")
+    public Result unbindingBaseDeviceCofig(@RequestBody Map<String, String> map, HttpServletRequest request){
+        return deviceRegisterService.unbindingBaseDeviceCofig(map,request);
+
+    }
+
+    @PostMapping("/bindingBaseDeviceCofig")
+    public Result bindingBaseDeviceCofig(@RequestBody Map<String, String> map, HttpServletRequest request){
+        return deviceRegisterService.bindingBaseDeviceCofig(map,request);
+
+    }
+
+
 }

+ 1 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/entity/EnvDeviceRegister.java

@@ -45,6 +45,7 @@ public class EnvDeviceRegister implements Serializable {
     private String unitId;
 
     private String farmCode;
+    private Integer   binding;
 
 
 }

+ 16 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/mapper/BasePigpenMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.manage.mapper;
+
+import com.huimv.env.manage.saas.dao.entity.BasePigpen;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2022-10-18
+ */
+public interface BasePigpenMapper extends BaseMapper<BasePigpen> {
+
+}

+ 16 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/mapper/EnvDeviceEquipmentMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.env.manage.mapper;
+
+import com.huimv.env.manage.saas.dao.entity.EnvDeviceEquipment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 环控绑定设备 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2022-10-18
+ */
+public interface EnvDeviceEquipmentMapper extends BaseMapper<EnvDeviceEquipment> {
+
+}

+ 11 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/IEnvDeviceRegisterService.java

@@ -4,6 +4,7 @@ import com.huimv.env.manage.entity.EnvDeviceRegister;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huimv.env.manage.utils.Result;
 
+import javax.servlet.http.HttpServletRequest;
 import java.util.Map;
 
 /**
@@ -17,4 +18,14 @@ import java.util.Map;
 public interface IEnvDeviceRegisterService extends IService<EnvDeviceRegister> {
 
     Result registerList(Map<String, String> paramMap);
+
+    Result saveRegister(Map<String, String> paramMap);
+
+    Result listByUnit(Map<String, String> map, HttpServletRequest request);
+
+    Result unbindingBaseDeviceCofig(Map<String, String> map, HttpServletRequest request);
+
+    Result lsitAllDeivce(Map<String, String> map, HttpServletRequest request);
+
+    Result bindingBaseDeviceCofig(Map<String, String> map, HttpServletRequest request);
 }

+ 128 - 2
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/service/impl/EnvDeviceRegisterServiceImpl.java

@@ -1,22 +1,30 @@
 package com.huimv.env.manage.service.impl;
 
 import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.huimv.env.manage.entity.EnvDeviceRegister;
 import com.huimv.env.manage.entity.dto.EnvDeviceRegisterDto;
+import com.huimv.env.manage.mapper.BasePigpenMapper;
 import com.huimv.env.manage.mapper.EnvDeviceRegisterMapper;
+import com.huimv.env.manage.saas.dao.entity.BasePigpen;
+import com.huimv.env.manage.saas.dao.entity.EnvDeviceEquipment;
+import com.huimv.env.manage.mapper.EnvDeviceEquipmentMapper;
 import com.huimv.env.manage.service.IEnvDeviceRegisterService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huimv.env.manage.utils.Result;
 import com.huimv.env.manage.utils.ResultCode;
+import com.huimv.env.manage.utils.ResultUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import javax.servlet.http.HttpServletRequest;
 import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -31,6 +39,12 @@ public class EnvDeviceRegisterServiceImpl extends ServiceImpl<EnvDeviceRegisterM
 
     @Autowired
     private EnvDeviceRegisterMapper envDeviceRegisterMapper;
+
+    @Autowired
+    private EnvDeviceEquipmentMapper envDeviceEquipmentMapper;
+
+    @Autowired
+    private BasePigpenMapper basePigpenMapper;
     @Override
     public Result registerList(Map<String, String> paramMap) {
         String farmCode = paramMap.get("farmCode");
@@ -61,4 +75,116 @@ public class EnvDeviceRegisterServiceImpl extends ServiceImpl<EnvDeviceRegisterM
 
         return new Result(ResultCode.SUCCESS, page);
     }
+
+    @Override
+    @Transactional
+    public Result saveRegister(Map<String, String> paramMap) {
+        String deviceCode = paramMap.get("deviceCode");
+        String unitId = paramMap.get("unitId");
+        String farmCode = paramMap.get("farmCode");
+        String deviceList = paramMap.get("deviceList");
+
+       if (envDeviceRegisterMapper.exists(new QueryWrapper<EnvDeviceRegister>().eq("chip_id",deviceCode))){
+           return new Result(10001,"该设备已存在",false);
+       }
+        if (envDeviceRegisterMapper.exists(new QueryWrapper<EnvDeviceRegister>().eq("unit_id",unitId))){
+            return new Result(10001,"该单元已绑定设备",false);
+        }
+
+        EnvDeviceRegister deviceRegister1 = envDeviceRegisterMapper.selectOne(new QueryWrapper<EnvDeviceRegister>().orderByDesc("device_code").last("limit 1"));
+        String deviceCode1;
+        if (ObjectUtil.isEmpty(deviceRegister1)){
+            deviceCode1 ="1";
+        }else {
+            deviceCode1 = (Integer.parseInt(deviceRegister1.getDeviceCode())+1) +"";
+        }
+
+        EnvDeviceRegister deviceRegister = new EnvDeviceRegister();
+        deviceRegister.setChipId(deviceCode);
+        deviceRegister.setUnitId(unitId);
+        deviceRegister.setFarmCode(farmCode);
+        deviceRegister.setAddTime(new Date());
+        deviceRegister.setDeviceCode(deviceCode1);
+
+        envDeviceRegisterMapper.insert(deviceRegister);
+
+        String[] split = deviceList.split(",");
+        int port = 1;
+        for (String s : split) {
+            EnvDeviceEquipment envDeviceEquipment = new EnvDeviceEquipment();
+            envDeviceEquipment.setEquipmentName(s);
+            envDeviceEquipment.setUnitId(Integer.parseInt(unitId));
+            envDeviceEquipment.setDeviceCode(deviceCode1);
+            envDeviceEquipment.setEquipmentPort(port);
+            envDeviceEquipmentMapper.insert(envDeviceEquipment);
+        }
+
+        return new Result(ResultCode.SUCCESS,true);
+    }
+
+    @Override
+    public Result listByUnit(Map<String, String> map, HttpServletRequest request) {
+        String unitId = map.get("unitId");
+        List<EnvDeviceEquipment> list = envDeviceEquipmentMapper.selectList(new QueryWrapper<EnvDeviceEquipment>().eq("unit_id", unitId));
+
+        return ResultUtil.isNull(list);
+    }
+
+    @Override
+    @Transactional
+    public Result unbindingBaseDeviceCofig(Map<String, String> map, HttpServletRequest request) {
+        String deviceCode = map.get("deviceCode");
+        EnvDeviceRegister deviceRegister = new EnvDeviceRegister();
+        deviceRegister.setUnitId("0");
+        deviceRegister.setBinding(0);
+        deviceRegister.setPigpenId("0");
+        envDeviceRegisterMapper.update(deviceRegister,new UpdateWrapper<EnvDeviceRegister>().eq("device_code",deviceCode));
+
+        EnvDeviceEquipment envDeviceEquipment = new EnvDeviceEquipment();
+        envDeviceEquipment.setUnitId(0);
+        envDeviceEquipment.setUploadStart(0);
+        envDeviceEquipment.setBinding(0);
+        envDeviceEquipmentMapper.update(envDeviceEquipment,new UpdateWrapper<EnvDeviceEquipment>().eq("device_code",deviceCode));
+        return new Result(10000,"解绑成功",true);
+    }
+
+    @Override
+    public Result lsitAllDeivce(Map<String, String> map, HttpServletRequest request) {
+        String farmCode = map.get("farmCode");
+        List<EnvDeviceRegister> envDeviceRegisterList = envDeviceRegisterMapper.selectList(new QueryWrapper<EnvDeviceRegister>().eq("farm_code", farmCode));
+        List endList = new ArrayList();
+        for (EnvDeviceRegister deviceRegister : envDeviceRegisterList) {
+            Map endMap = new HashMap();
+            String deviceCode = deviceRegister.getDeviceCode();
+            endMap.put("chipId",deviceRegister.getChipId());
+            endMap.put("deviceCode",deviceCode);
+            endMap.put("unitName",basePigpenMapper.selectById(deviceRegister.getUnitId()).getPigpenName());
+            endMap.put("unitId",deviceRegister.getUnitId());
+            endMap.put("equipmentList",envDeviceEquipmentMapper.selectList(new QueryWrapper<EnvDeviceEquipment>().eq("device_code",deviceCode)));
+            endMap.put("binding",deviceRegister.getBinding());
+
+            endList.add(endMap);
+        }
+
+
+        return ResultUtil.isNull(endList);
+    }
+
+    @Override
+    @Transactional
+    public Result bindingBaseDeviceCofig(Map<String, String> map, HttpServletRequest request) {
+        String deviceCode = map.get("deviceCode");
+        String unitId = map.get("unitId");
+        EnvDeviceRegister deviceRegister = new EnvDeviceRegister();
+        deviceRegister.setUnitId(unitId);
+        deviceRegister.setBinding(1);
+        envDeviceRegisterMapper.update(deviceRegister,new UpdateWrapper<EnvDeviceRegister>().eq("device_code",deviceCode));
+
+        EnvDeviceEquipment envDeviceEquipment = new EnvDeviceEquipment();
+        envDeviceEquipment.setUnitId(Integer.parseInt(unitId));
+        envDeviceEquipment.setUploadStart(1);
+        envDeviceEquipment.setBinding(1);
+        envDeviceEquipmentMapper.update(envDeviceEquipment,new UpdateWrapper<EnvDeviceEquipment>().eq("device_code",deviceCode));
+        return new Result(10000,"绑定成功",true);
+    }
 }

+ 39 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/time/Timer.java

@@ -0,0 +1,39 @@
+package com.huimv.env.manage.time;
+
+
+import com.huimv.env.manage.mapper.LampConfigMapper;
+import com.huimv.env.manage.saas.dao.entity.LampConfig;
+import com.huimv.env.manage.saas.service.ILampConfigService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class Timer {
+
+    @Autowired
+    private ILampConfigService lampConfigService;
+
+    //更新日龄,温度
+//    @Scheduled(cron = "0 59 23 * * ?")
+    @Scheduled(cron = "0 * * * * ?")
+    private void updateAge(){
+        System.out.println("更新日龄");
+        List<LampConfig> lampConfigs = lampConfigService.list(null);
+        for (LampConfig lampConfig : lampConfigs) {
+            Integer dayAge = lampConfig.getDayAge()+1;
+            String temp =   lampConfigService.updateTemp(lampConfig.getAgeList(),dayAge);
+
+            lampConfig.setDayAge(dayAge);
+            lampConfig.setTempSet(temp);
+            lampConfigService.updateById(lampConfig);
+
+        }
+
+
+    }
+
+
+}

+ 18 - 0
huimv-env-platform/huimv-env-manage/src/main/java/com/huimv/env/manage/utils/ResultUtil.java

@@ -0,0 +1,18 @@
+package com.huimv.env.manage.utils;
+
+
+import cn.hutool.core.util.ObjectUtil;
+
+import java.util.List;
+
+public class ResultUtil {
+
+    public static Result isNull(List list){
+
+        if (ObjectUtil.isNotEmpty(list)){
+            return new Result(ResultCode.SUCCESS,list);
+        }else {
+           return new Result(10013,"没有数据",false);
+        }
+    }
+}

+ 2 - 2
huimv-env-platform/huimv-env-manage/src/main/resources/application.properties

@@ -1,5 +1,5 @@
-#spring.profiles.active=dev
-spring.profiles.active=prod
+spring.profiles.active=dev
+#spring.profiles.active=prod
 
 # mysql:/cache:
 device.online.access_mode=mysql

+ 16 - 0
huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/BasePigpenMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.manage.mapper.BasePigpenMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.manage.saas.dao.entity.BasePigpen">
+        <id column="id" property="id" />
+        <result column="pigpen_code" property="pigpenCode" />
+        <result column="pigpen_name" property="pigpenName" />
+        <result column="parent_id" property="parentId" />
+        <result column="farm_code" property="farmCode" />
+        <result column="sort" property="sort" />
+        <result column="stage_code" property="stageCode" />
+    </resultMap>
+
+</mapper>

+ 13 - 0
huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/EnvDeviceEquipmentMapper.xml

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huimv.env.manage.mapper.EnvDeviceEquipmentMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.env.manage.saas.dao.entity.EnvDeviceEquipment">
+        <id column="id" property="id" />
+        <result column="equipment_name" property="equipmentName" />
+        <result column="unit_id" property="unitId" />
+        <result column="open_start" property="openStart" />
+    </resultMap>
+
+</mapper>

huimv-env-platform/huimv-env-manage/src/main/resources/mapper/Sheet1Mapper.xml → huimv-env-platform/huimv-env-manage/src/main/resources/com/huimv/env/manage/mapper/Sheet1Mapper.xml