소스 검색

气体检测

523096025 2 년 전
부모
커밋
301f938670

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/controller/CameraAreaController.java

@@ -26,7 +26,7 @@ import java.util.Map;
  */
 @CrossOrigin
 @RestController
-@RequestMapping("/cameraArea")
+@RequestMapping("/admin/cameraArea")
 public class CameraAreaController {
     @Autowired
     private ICameraAreaService cameraAreaService;

+ 63 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/EnergyEnvDeviceController.java

@@ -0,0 +1,63 @@
+package com.huimv.admin.controller;
+
+
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.entity.EnergyEnvDevice;
+import com.huimv.admin.entity.EnvDevice;
+import com.huimv.admin.service.IEnergyEnvDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-21
+ */
+@RestController
+@RequestMapping("/admin/energyEnvDevice")
+public class EnergyEnvDeviceController {
+    @Autowired
+    private IEnergyEnvDeviceService energyEnvDeviceService;
+
+    @RequestMapping("/DeviceList")
+    public Result getDeviceList(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyEnvDeviceService.list(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/DeviceAdd")
+    public Result getDeviceAdd(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyEnvDeviceService.add(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/DeviceEdit")
+    public Result getDeviceEdit(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyEnvDeviceService.edit(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/DeviceDelete")
+    public Result getDeviceDelete(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return energyEnvDeviceService.delete(httpServletRequest,paramsMap);
+    }
+
+    @RequestMapping("/bandingUnitId")
+    public Result bandingUnitId(HttpServletRequest httpServletRequest, @RequestBody EnergyEnvDevice envDevice) {
+        return energyEnvDeviceService.bandingUnitId(httpServletRequest,envDevice);
+    }
+    @RequestMapping("/unBandingUnitId")
+    public Result unBandingUnitId(HttpServletRequest httpServletRequest, @RequestBody EnergyEnvDevice envDevice) {
+        envDevice.setUnitId(0);
+        envDevice.setUnitName("");
+        energyEnvDeviceService.updateById(envDevice);
+        return new Result(10000,"解绑成功",true);
+    }
+
+}

+ 82 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/EnergyEnvDevice.java

@@ -0,0 +1,82 @@
+package com.huimv.admin.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-21
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("energy_env_device")
+public class EnergyEnvDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备编码
+     */
+    private String deviceCode;
+
+    /**
+     * 设备名称
+     */
+    private String deviceName;
+
+    /**
+     * 位置
+     */
+    private String buildLocation;
+
+    /**
+     * 单元名字
+     */
+    private String unitName;
+
+    /**
+     * 单元id
+     */
+    private Integer unitId;
+
+    /**
+     * 品牌
+     */
+    private String deviceBrand;
+
+    /**
+     * 0不在线  1在线
+     */
+    private Integer deviceStatus;
+
+    private Integer farmId;
+
+    /**
+     * 温度计id
+     */
+    private String ohter1;
+
+    /**
+     * 湿度计id
+     */
+    private String ohter2;
+
+    private String ohter3;
+
+    private String remark;
+
+
+}

+ 1 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/vo/CameraListVo.java

@@ -12,5 +12,6 @@ public class CameraListVo {
     private Integer brandId;
     private Integer sort;
     private Integer farmId;
+    private String regionUuuid;
     private Integer onLineStatus;
 }

+ 16 - 0
huimv-admin/src/main/java/com/huimv/admin/mapper/EnergyEnvDeviceMapper.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.mapper;
+
+import com.huimv.admin.entity.EnergyEnvDevice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-21
+ */
+public interface EnergyEnvDeviceMapper extends BaseMapper<EnergyEnvDevice> {
+
+}

+ 30 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IEnergyEnvDeviceService.java

@@ -0,0 +1,30 @@
+package com.huimv.admin.service;
+
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.entity.EnergyEnvDevice;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.huimv.admin.entity.EnvDevice;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-21
+ */
+public interface IEnergyEnvDeviceService extends IService<EnergyEnvDevice> {
+
+    Result list(HttpServletRequest httpServletRequest,Map<String,String> paramsMap);
+
+    Result add(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result edit(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result delete(HttpServletRequest httpServletRequest, Map<String, String> paramsMap);
+
+    Result bandingUnitId(HttpServletRequest httpServletRequest, EnergyEnvDevice envDevice);
+}

+ 33 - 13
huimv-admin/src/main/java/com/huimv/admin/service/impl/CameraBaseServiceImpl.java

@@ -1,6 +1,7 @@
 package com.huimv.admin.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
 import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
@@ -12,6 +13,7 @@ import com.huimv.admin.entity.CameraArea;
 import com.huimv.admin.entity.CameraBase;
 import com.huimv.admin.entity.CameraBrand;
 import com.huimv.admin.entity.hkwsdto.CameraDto1;
+import com.huimv.admin.entity.hkwsdto.UnitDto1;
 import com.huimv.admin.entity.vo.CameraListVo;
 import com.huimv.admin.entity.vo.CameraListsVo;
 import com.huimv.admin.entity.vo.CameraVo;
@@ -26,6 +28,8 @@ import org.springframework.stereotype.Service;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -107,21 +111,37 @@ public class CameraBaseServiceImpl extends ServiceImpl<CameraBaseMapper, CameraB
     @Override
     public void sync(Map<String, Integer> params, List<CameraDto1> list) {
         Integer farmId = params.get("farmId");
-        //先删除
-        this.remove(new QueryWrapper<CameraBase>().eq("farm_id",farmId));
-        System.out.println(list.size());
-        //
-        for (CameraDto1 cameraDto1 : list) {
-            CameraBase cameraBase = new CameraBase();
-            BeanUtil.copyProperties(cameraDto1,cameraBase);
-            CameraArea cameraArea = cameraAreaMapper.selectOne(new QueryWrapper<CameraArea>().eq("region_uuid", cameraDto1.getRegionUuid()));
-            if (ObjectUtil.isNotEmpty(cameraArea)){
-                cameraBase.setAreaName(cameraArea.getAreaName());
+
+        List<CameraBase> huatongCameraBaseList = this.list(new QueryWrapper<CameraBase>().eq("farm_id", farmId));
+        List<String> haikangCarmearId = list.stream().map(CameraDto1::getCameraUuid).collect(Collectors.toList());
+        List<String> huatongCameraId = huatongCameraBaseList.stream().map(CameraBase::getCameraUuid).collect(Collectors.toList());
+        CopyOnWriteArrayList<String> haikangDeviceIdCopy = ListUtil.toCopyOnWriteArrayList(haikangCarmearId);
+        CopyOnWriteArrayList<String> huatongDeviceIdCopy = ListUtil.toCopyOnWriteArrayList(huatongCameraId);
+        haikangDeviceIdCopy.removeAll(huatongCameraId);
+        //TODO 想不出来,回头优化
+        if (haikangDeviceIdCopy.size() >0){
+            for (String s : haikangDeviceIdCopy) {
+                for (CameraDto1 cameraDto1 : list) {
+                    if (s.equals(cameraDto1.getCameraUuid())){
+                        CameraBase cameraBase = new CameraBase();
+                        BeanUtil.copyProperties(cameraDto1,cameraBase);
+                        CameraArea cameraArea = cameraAreaMapper.selectOne(new QueryWrapper<CameraArea>().eq("region_uuid", cameraDto1.getRegionUuid()));
+                        if (ObjectUtil.isNotEmpty(cameraArea)){
+                            cameraBase.setAreaName(cameraArea.getAreaName());
+                        }
+                        cameraBase.setBrandName("海康威视");
+                        cameraBase.setFarmId(farmId);
+                        this.save(cameraBase);
+                    }
+                }
             }
-            cameraBase.setBrandName("海康威视");
-            cameraBase.setFarmId(farmId);
-            this.save(cameraBase);
         }
+        //删除
+        huatongDeviceIdCopy.removeAll(haikangCarmearId);
+        if (huatongDeviceIdCopy.size() >0){
+            this.remove(new QueryWrapper<CameraBase>().in("camera_uuid",huatongDeviceIdCopy));
+        }
+
     }
 
     //更新摄像头状态

+ 128 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/EnergyEnvDeviceServiceImpl.java

@@ -0,0 +1,128 @@
+package com.huimv.admin.service.impl;
+
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.entity.EnergyEnvDevice;
+import com.huimv.admin.entity.EnvDevice;
+import com.huimv.admin.mapper.EnergyEnvDeviceMapper;
+import com.huimv.admin.service.IEnergyEnvDeviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-02-21
+ */
+@Service
+public class EnergyEnvDeviceServiceImpl extends ServiceImpl<EnergyEnvDeviceMapper, EnergyEnvDevice> implements IEnergyEnvDeviceService {
+    @Autowired
+    private EnergyEnvDeviceMapper energyEnvDeviceMapper;
+
+    @Override
+    public Result list(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String pageSize = paramsMap.get("pageSize");
+        String pageNo = paramsMap.get("pageNo");
+        if (pageSize==null||pageSize=="") {
+            pageSize = "10";
+        }
+        if (pageNo==null||pageNo=="") {
+            pageNo = "1";
+        }
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        Page<EnergyEnvDevice> page = new Page(Integer.parseInt(pageNo),Integer.parseInt(pageSize));
+        return new Result(ResultCode.SUCCESS,energyEnvDeviceMapper.selectPage(page, queryWrapper));
+    }
+
+    @Override
+    public Result add(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String DeviceName = paramsMap.get("DeviceName");
+        String BuildLocation = paramsMap.get("BuildLocation");
+        String DeviceBrand = paramsMap.get("DeviceBrand");
+        String remark = paramsMap.get("remark");
+        if (remark == null || remark == "") {
+            remark = null;
+        }
+
+        EnergyEnvDevice envDevice = new EnergyEnvDevice();
+        envDevice.setFarmId(Integer.parseInt(farmId));
+        envDevice.setDeviceName(DeviceName);
+        envDevice.setBuildLocation(BuildLocation);
+        envDevice.setDeviceBrand(DeviceBrand);
+        envDevice.setRemark(remark);
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("device_name", DeviceName).eq("farm_id",farmId);
+        EnergyEnvDevice device = energyEnvDeviceMapper.selectOne(queryWrapper);
+        if (ObjectUtil.isEmpty(device)) {
+            energyEnvDeviceMapper.insert(envDevice);
+        } else {
+            return new Result(ResultCode.FAIL, "设备名称已存在");
+        }
+        return new Result(ResultCode.SUCCESS,"添加成功");
+    }
+
+    @Override
+    public Result edit(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String id = paramsMap.get("id");
+        String DeviceName = paramsMap.get("DeviceName");
+        String BuildLocation = paramsMap.get("BuildLocation");
+        String DeviceBrand = paramsMap.get("DeviceBrand");
+        String remark = paramsMap.get("remark");
+        if (remark == null || remark == "") {
+            remark = null;
+        }
+
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", id);
+        EnergyEnvDevice envDevice = energyEnvDeviceMapper.selectOne(queryWrapper);
+        envDevice.setFarmId(Integer.parseInt(farmId));
+        envDevice.setDeviceName(DeviceName);
+        envDevice.setDeviceBrand(DeviceBrand);
+        envDevice.setBuildLocation(BuildLocation);
+        envDevice.setRemark(remark);
+
+        QueryWrapper<EnergyEnvDevice> queryWrapper1 = new QueryWrapper<>();
+        queryWrapper1.eq("device_name", DeviceName);
+        if (ObjectUtil.isEmpty(energyEnvDeviceMapper.selectOne(queryWrapper1))) {
+            energyEnvDeviceMapper.updateById(envDevice);
+        } else {
+            return new Result(ResultCode.FAIL, "设备名称已存在");
+        }
+        return new Result(ResultCode.SUCCESS);
+    }
+
+    @Override
+    public Result delete(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String id = paramsMap.get("id");
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", id).eq("farm_id", farmId);
+        energyEnvDeviceMapper.delete(queryWrapper);
+        return new Result(ResultCode.SUCCESS,"删除成功");
+    }
+
+
+    @Override
+    public Result bandingUnitId(HttpServletRequest httpServletRequest, EnergyEnvDevice envDevice) {
+        Integer unitId = envDevice.getUnitId();
+        int count = this.count(new QueryWrapper<EnergyEnvDevice>().eq("unit_id", unitId));
+        if (count>0){
+            return new Result(10001,"绑定失败,该栋舍已有设备",false);
+        }
+        return new Result(10000,"绑定成功",true);
+    }
+}

+ 1 - 1
huimv-admin/src/main/java/com/huimv/admin/timer/CarmeraTimer.java

@@ -169,7 +169,7 @@ public class CarmeraTimer {
             String maxHum ;
             String minHum ;
             if (ObjectUtil.isEmpty(envWarningThreshold) || StringUtils.isBlank(envWarningThreshold.getMaxHum())){
-                maxHum ="40";
+                maxHum ="90";
             }else {
                 maxHum = envWarningThreshold.getMaxHum();
             }

+ 22 - 0
huimv-admin/src/main/resources/com/huimv/admin/mapper/EnergyEnvDeviceMapper.xml

@@ -0,0 +1,22 @@
+<?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.admin.mapper.EnergyEnvDeviceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.huimv.admin.entity.EnergyEnvDevice">
+        <id column="id" property="id" />
+        <result column="device_code" property="deviceCode" />
+        <result column="device_name" property="deviceName" />
+        <result column="build_location" property="buildLocation" />
+        <result column="unit_name" property="unitName" />
+        <result column="unit_id" property="unitId" />
+        <result column="device_brand" property="deviceBrand" />
+        <result column="device_status" property="deviceStatus" />
+        <result column="farm_id" property="farmId" />
+        <result column="ohter1" property="ohter1" />
+        <result column="ohter2" property="ohter2" />
+        <result column="ohter3" property="ohter3" />
+        <result column="remark" property="remark" />
+    </resultMap>
+
+</mapper>

huimv-admin/src/main/resources/mapper/GasDataMapper.xml → huimv-admin/src/main/resources/com/huimv/admin/mapper/GasDataMapper.xml


huimv-admin/src/main/resources/mapper/GasThresholdMapper.xml → huimv-admin/src/main/resources/com/huimv/admin/mapper/GasThresholdMapper.xml


huimv-admin/src/main/resources/mapper/GasWarningInfoMapper.xml → huimv-admin/src/main/resources/com/huimv/admin/mapper/GasWarningInfoMapper.xml