Selaa lähdekoodia

环保监测大屏

wwh 1 vuosi sitten
vanhempi
commit
9c3de73758

+ 36 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/ProdFermentDataController.java

@@ -0,0 +1,36 @@
+package com.huimv.admin.controller;
+
+
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.service.IProdFermentDataService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+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-11-08
+ */
+@RestController
+@RequestMapping("/prod-ferment-data")
+@CrossOrigin
+public class ProdFermentDataController {
+
+    @Autowired
+    private IProdFermentDataService fermentDataService;
+
+    @RequestMapping("/listAll")
+    public Result listAll(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        return fermentDataService.listAll(httpServletRequest, paramsMap);
+    }
+}

+ 45 - 0
huimv-admin/src/main/java/com/huimv/admin/controller/ProdFermentDeviceController.java

@@ -0,0 +1,45 @@
+package com.huimv.admin.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huimv.admin.entity.ProdFermentDevice;
+import com.huimv.admin.service.IProdFermentDeviceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.CrossOrigin;
+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-11-08
+ */
+@RestController
+@RequestMapping("/prod-ferment-device")
+@CrossOrigin
+public class ProdFermentDeviceController {
+    @Autowired
+    private IProdFermentDeviceService deviceService;
+
+    @RequestMapping("/list")
+    public void listDevice(HttpServletRequest httpServletRequest, @RequestBody Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        String pageNum = paramsMap.get("pageNum");
+        String pageSize = paramsMap.get("pageSize");
+        if ("".equals(pageNum) || null == pageNum) {
+            pageNum = "1";
+        }
+        if ("".equals(pageSize) || null == pageSize) {
+            pageSize = "10";
+        }
+        Page<ProdFermentDevice> page = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
+    }
+}

+ 81 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/ProdFermentData.java

@@ -0,0 +1,81 @@
+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.time.LocalDateTime;
+import java.io.Serializable;
+import java.util.Date;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 环保监测发酵罐数据表
+ * </p>
+ *
+ * @author author
+ * @since 2023-11-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("prod_ferment_data")
+public class ProdFermentData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 温度
+     */
+    private String temp;
+
+    /**
+     * 湿度
+     */
+    private String hum;
+
+    /**
+     * ph值
+     */
+    private String ph;
+
+    /**
+     * 氧气
+     */
+    private String o2;
+
+    /**
+     * 二氧化碳
+     */
+    private String co2;
+
+    /**
+     * 数据上传时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    private Date createTime;
+
+    /**
+     * 牧场编码
+     */
+    private Integer farmId;
+
+    /**
+     * 安装位置名称
+     */
+    private String buildName;
+
+
+}

+ 51 - 0
huimv-admin/src/main/java/com/huimv/admin/entity/ProdFermentDevice.java

@@ -0,0 +1,51 @@
+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-11-08
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@TableName("prod_ferment_device")
+public class ProdFermentDevice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    /**
+     * 牧场编码
+     */
+    private Integer farmId;
+
+    /**
+     * 设备编号
+     */
+    private String deviceCode;
+
+    /**
+     * 绑定位置id
+     */
+    private Integer unitId;
+
+    /**
+     * 绑定位置名称
+     */
+    private String buildName;
+
+
+}

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

@@ -0,0 +1,16 @@
+package com.huimv.admin.mapper;
+
+import com.huimv.admin.entity.ProdFermentData;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 环保监测发酵罐数据表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-11-08
+ */
+public interface ProdFermentDataMapper extends BaseMapper<ProdFermentData> {
+
+}

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

@@ -0,0 +1,16 @@
+package com.huimv.admin.mapper;
+
+import com.huimv.admin.entity.ProdFermentDevice;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 环保监测发酵罐设备列表 Mapper 接口
+ * </p>
+ *
+ * @author author
+ * @since 2023-11-08
+ */
+public interface ProdFermentDeviceMapper extends BaseMapper<ProdFermentDevice> {
+
+}

+ 21 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IProdFermentDataService.java

@@ -0,0 +1,21 @@
+package com.huimv.admin.service;
+
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.entity.ProdFermentData;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * <p>
+ * 环保监测发酵罐数据表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-11-08
+ */
+public interface IProdFermentDataService extends IService<ProdFermentData> {
+
+    Result listAll(HttpServletRequest httpServletRequest, Map<String,String> paramsMap);
+}

+ 16 - 0
huimv-admin/src/main/java/com/huimv/admin/service/IProdFermentDeviceService.java

@@ -0,0 +1,16 @@
+package com.huimv.admin.service;
+
+import com.huimv.admin.entity.ProdFermentDevice;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ * 环保监测发酵罐设备列表 服务类
+ * </p>
+ *
+ * @author author
+ * @since 2023-11-08
+ */
+public interface IProdFermentDeviceService extends IService<ProdFermentDevice> {
+
+}

+ 55 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdFermentDataServiceImpl.java

@@ -0,0 +1,55 @@
+package com.huimv.admin.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.Result;
+import com.huimv.admin.common.utils.ResultCode;
+import com.huimv.admin.entity.ProdFermentData;
+import com.huimv.admin.entity.ProdFermentDevice;
+import com.huimv.admin.mapper.ProdFermentDataMapper;
+import com.huimv.admin.mapper.ProdFermentDeviceMapper;
+import com.huimv.admin.service.IProdFermentDataService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mysql.cj.xdevapi.JsonArray;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 环保监测发酵罐数据表 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-11-08
+ */
+@Service
+public class ProdFermentDataServiceImpl extends ServiceImpl<ProdFermentDataMapper, ProdFermentData> implements IProdFermentDataService {
+
+    @Autowired
+    private ProdFermentDataMapper fermentDataMapper;
+    @Autowired
+    private ProdFermentDeviceMapper deviceMapper;
+
+    @Override
+    public Result listAll(HttpServletRequest httpServletRequest, Map<String, String> paramsMap) {
+        String farmId = paramsMap.get("farmId");
+        QueryWrapper<ProdFermentDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", farmId);
+        List<ProdFermentDevice> devices = deviceMapper.selectList(queryWrapper);
+        List list = new ArrayList();
+        for (ProdFermentDevice device : devices) {
+            QueryWrapper<ProdFermentData> queryWrapper1 = new QueryWrapper<>();
+            queryWrapper1.eq("device_code", device.getDeviceCode()).eq("farm_id", farmId)
+                    .orderByDesc("create_time").last(" limit 1");
+            ProdFermentData prodFermentData = fermentDataMapper.selectOne(queryWrapper1);
+            list.add(prodFermentData);
+        }
+        return new Result(ResultCode.SUCCESS, list);
+    }
+}

+ 20 - 0
huimv-admin/src/main/java/com/huimv/admin/service/impl/ProdFermentDeviceServiceImpl.java

@@ -0,0 +1,20 @@
+package com.huimv.admin.service.impl;
+
+import com.huimv.admin.entity.ProdFermentDevice;
+import com.huimv.admin.mapper.ProdFermentDeviceMapper;
+import com.huimv.admin.service.IProdFermentDeviceService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 环保监测发酵罐设备列表 服务实现类
+ * </p>
+ *
+ * @author author
+ * @since 2023-11-08
+ */
+@Service
+public class ProdFermentDeviceServiceImpl extends ServiceImpl<ProdFermentDeviceMapper, ProdFermentDevice> implements IProdFermentDeviceService {
+
+}

+ 50 - 0
huimv-admin/src/main/java/com/huimv/admin/timer/FermentTimer.java

@@ -0,0 +1,50 @@
+package com.huimv.admin.timer;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.huimv.admin.common.utils.NumberUtils;
+import com.huimv.admin.entity.ProdFermentData;
+import com.huimv.admin.entity.ProdFermentDevice;
+import com.huimv.admin.mapper.ProdFermentDataMapper;
+import com.huimv.admin.mapper.ProdFermentDeviceMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+
+import java.util.Date;
+import java.util.List;
+
+@Configuration
+@EnableScheduling
+public class FermentTimer {
+    @Autowired
+    private ProdFermentDeviceMapper deviceMapper;
+    @Autowired
+    private ProdFermentDataMapper dataMapper;
+
+    @Scheduled(cron = "0 0/30 * * * ? ")
+    private void getFerment() {
+        QueryWrapper<ProdFermentDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 26);
+        List<ProdFermentDevice> devices = deviceMapper.selectList(queryWrapper);
+        for (ProdFermentDevice device : devices) {
+            String temp = NumberUtils.getNumFloat(20.0, 50.0);//温度20-50
+            String hum = NumberUtils.getNumFloat(50.0, 90.0);//湿度50-90
+            String ph = NumberUtils.getNumFloat(6.5, 7.5);//PH6.5-7.5
+            String o2 = NumberUtils.getNumFloat(50.0, 500.0);//氧气
+            String co2 = NumberUtils.getNumFloat(50.0, 500.0);//二氧化碳
+            ProdFermentData data = new ProdFermentData();
+            data.setDeviceCode(device.getDeviceCode());
+            data.setBuildName(device.getBuildName());
+            data.setFarmId(device.getFarmId());
+            data.setCreateTime(new Date());
+            data.setCo2(co2);
+            data.setHum(hum);
+            data.setPh(ph);
+            data.setO2(o2);
+            data.setTemp(temp);
+            dataMapper.insert(data);
+        }
+
+    }
+}

+ 5 - 0
huimv-admin/src/main/resources/mapper/ProdFermentDataMapper.xml

@@ -0,0 +1,5 @@
+<?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.ProdFermentDataMapper">
+
+</mapper>

+ 5 - 0
huimv-admin/src/main/resources/mapper/ProdFermentDeviceMapper.xml

@@ -0,0 +1,5 @@
+<?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.ProdFermentDeviceMapper">
+
+</mapper>