Jelajahi Sumber

新建项目

523096025 1 tahun lalu
induk
melakukan
f73732843b

+ 2 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnergyElectricity.java

@@ -65,6 +65,7 @@ public class EnergyElectricity implements Serializable {
     private String other1;
 
     private String other2;
+    private Integer deviceType;
 
     private String other3;
     private String voltage;
@@ -77,4 +78,5 @@ public class EnergyElectricity implements Serializable {
     private Date createDate;
 
 
+
 }

+ 1 - 0
huimv-env-common/src/main/java/com/huimv/env/common/entity/EnergyWater.java

@@ -67,6 +67,7 @@ public class EnergyWater implements Serializable {
     private String other1;
 
     private String other2;
+    private Integer deviceType;
 
     private String other3;
 

+ 0 - 66
huimv-env-common/src/main/java/com/huimv/env/common/service/impl/EnergyDataServiceImpl.java

@@ -494,72 +494,6 @@ public class EnergyDataServiceImpl extends ServiceImpl<EnergyDataMapper, EnergyD
         jsonObject.put("waterCount", waterCount);
         jsonObject.put("electricity", electricityCount);
 
-//        JSONArray jsonArray = new JSONArray();
-//        if (("".equals(id) || null == id)) {
-//            QueryWrapper<BasePigpen> queryWrapper1 = new QueryWrapper<>();
-//            queryWrapper1.eq("farm_id", farmId);
-//            queryWrapper1.eq("f_type", 3);
-//            List<BasePigpen> basePigpens = basePigpenMapper.selectList(queryWrapper1);
-//            if (basePigpens.size() != 0) {
-//                for (BasePigpen basePigpen : basePigpens) {
-//                    QueryWrapper<EnergyWater> queryWrapper = new QueryWrapper<>();
-//                    queryWrapper.eq("farm_id", farmId);
-//                    queryWrapper.eq("unit_id", basePigpen.getId());
-//                    if ("".equals(startTime) || null == startTime) {
-//                        queryWrapper.ge("create_date", DataUill.getTimesmorning());
-//                    } else {
-//                        queryWrapper.between(StringUtils.isNotBlank(startTime), "create_date", startTime, endTime);
-//                    }
-//                    List<EnergyWater> waters = waterMapper.selectList(queryWrapper);
-//                    Double waterCount = 0.00;
-//                    if (waters.size() > 0) {
-//                        for (EnergyWater water : waters) {
-//                            waterCount = waterCount + Double.parseDouble(water.getWaterValue());
-//                        }
-//                    }
-//                    QueryWrapper<EnergyElectricity> queryWrapper2 = new QueryWrapper<>();
-//                    queryWrapper2.eq("farm_id", farmId);
-//                    queryWrapper2.eq("unit_id", basePigpen.getId());
-//                    queryWrapper2.between(StringUtils.isNotBlank(startTime), "create_date", startTime, endTime);
-//                    List<EnergyElectricity> electricities = electricityMapper.selectList(queryWrapper2);
-//                    Double electricityCount = 0.00;
-//                    if (waters.size() > 0) {
-//                        for (EnergyElectricity electriciti : electricities) {
-//                            electricityCount = electricityCount + Double.parseDouble(electriciti.getElectricityValue());
-//                        }
-//                    }
-//                    JSONObject jsonObject = new JSONObject();
-//                    jsonObject.put("waterCount", waterCount);
-//                    jsonObject.put("electricityCount", electricityCount);
-//                    jsonObject.put("unitName", basePigpen.getBuildName());
-//                    jsonArray.add(jsonObject);
-//                }
-//            }
-//        } else {
-//
-//            QueryWrapper<EnergyWater> queryWrapper = new QueryWrapper<>();
-//            queryWrapper.eq("farm_id", farmId);
-//            queryWrapper.eq("unit_id", id);
-//            queryWrapper.between(StringUtils.isNotBlank(startTime), "create_date", startTime, endTime);
-//            EnergyDto energyDto = waterMapper.listCount(queryWrapper);
-//
-//            QueryWrapper<EnergyElectricity> queryWrapper1 = new QueryWrapper<>();
-//            queryWrapper1.eq("farm_id", farmId);
-//            queryWrapper1.eq("unit_id", id);
-//            queryWrapper1.between(StringUtils.isNotBlank(startTime), "create_date", startTime, endTime);
-//            EnergyDto energyDto1 = electricityMapper.listCount(queryWrapper1);
-//
-//            QueryWrapper<BasePigpen> queryWrapper2 = new QueryWrapper<>();
-//            queryWrapper2.eq("farm_id", farmId);
-//            queryWrapper2.eq("id", id);
-//            BasePigpen basePigpen = basePigpenMapper.selectOne(queryWrapper2);
-//            JSONObject jsonObject = new JSONObject();
-//            jsonObject.put("waterCount", energyDto.getWaterCount());
-//            jsonObject.put("electricityCount", energyDto1.getElectricityCount());
-//            jsonObject.put("unitName", basePigpen.getBuildName());
-//            jsonArray.add(jsonObject);
-//
-//        }
 
         return new Result(ResultCode.SUCCESS, jsonObject);
     }

+ 21 - 11
huimv-env-device/src/main/java/com/huimv/env/device/service/impl/DataServiceImpl.java

@@ -45,11 +45,13 @@ public class DataServiceImpl implements DataService {
         EnergyEnvDevice deviceCode = energyEnvDeviceService.getOne(new QueryWrapper<EnergyEnvDevice>().eq("device_code", nodeEui));
         if (ObjectUtil.isNotEmpty(deviceCode)){
             Integer farmId = deviceCode.getFarmId();
-            if ("01".equals(devType)){
-                saveShui(voltage,originalData,timestamp,nodeEui,payload,farmId);
+            Integer unitId = deviceCode.getUnitId();
+            //小口径水表
+            if ("01".equals(devType) || "02".equals(devType)){
+                saveShui(devType,voltage,originalData,timestamp,nodeEui,payload,farmId,unitId);
             }
-            if ("02".equals(devType)){
-                saveDian(voltage,originalData,timestamp,nodeEui,payload,farmId);
+            if ("03".equals(devType)){
+                saveDian(devType,voltage,originalData,timestamp,nodeEui,payload,farmId,unitId);
             }
         }
 
@@ -57,7 +59,7 @@ public class DataServiceImpl implements DataService {
 
 
 
-    private void saveDian(String voltage, Integer originalData, String timestamp, String nodeEui,String payload,Integer farmId) throws ParseException {
+    private void saveDian(String devType ,String voltage, Integer originalData, String timestamp, String nodeEui,String payload,Integer farmId,Integer unitId) throws ParseException {
         EnergyElectricity one = energyElectricityService.getOne(new QueryWrapper<EnergyElectricity>().eq("chip_code", nodeEui).orderByDesc("id").last("limit 1"));
         String lastData ="0";
         if (ObjectUtil.isNotEmpty(one)){
@@ -72,19 +74,23 @@ public class DataServiceImpl implements DataService {
         envWater.setCreateDate(date);
         envWater.setUploadDate(new Date(Long.parseLong(timestamp)));
         envWater.setFarmId(farmId);
+        envWater.setUnitId(unitId);
         envWater.setOriginalValue(originalData+"");
         envWater.setChipCode(nodeEui);
         envWater.setOriginalDate(payload);
+        envWater.setDeviceType(Integer.parseInt(devType));
         if(str <0 ){
-            envWater.setElectricityValue(originalData+"");
+            envWater.setElectricityValue( String.format("%.1f", (double)originalData/10.0));
+        }else if (str == 0){
+            envWater.setElectricityValue("0");
         }else {
-            envWater.setElectricityValue(str+"");
+            envWater.setElectricityValue( String.format("%.1f", (double)str/10.0));
         }
         envWater.setVoltage(voltage);
         energyElectricityService.save(envWater);
     }
 
-    private void saveShui(String voltage, Integer originalData, String timestamp, String nodeEui,String payload,Integer farmId) throws ParseException {
+    private void saveShui(String devType ,String voltage, Integer originalData, String timestamp, String nodeEui,String payload,Integer farmId,Integer unitId) throws ParseException {
         EnergyWater one = energyWaterService.getOne(new QueryWrapper<EnergyWater>().eq("chip_code", nodeEui).orderByDesc("id").last("limit 1"));
         String lastData ="0";
         if (ObjectUtil.isNotEmpty(one)){
@@ -97,15 +103,19 @@ public class DataServiceImpl implements DataService {
         EnergyWater envWater = new EnergyWater();
         Date date = new Date();
         envWater.setCreateDate(date);
+        envWater.setDeviceType(Integer.parseInt(devType));
         envWater.setUploadDate(new Date(Long.parseLong(timestamp)));
-        envWater.setFarmId(21);
+        envWater.setFarmId(farmId);
         envWater.setOriginalValue(originalData+"");
         envWater.setChipCode(nodeEui);
+        envWater.setUnitId(unitId);
         envWater.setOriginalDate(payload);
         if(str <0 ){
-            envWater.setWaterValue(originalData+"");
+            envWater.setWaterValue( String.format("%.1f", (double)originalData/10.0));
+        }else if (str == 0){
+            envWater.setWaterValue("0");
         }else {
-            envWater.setWaterValue(str+"");
+            envWater.setWaterValue( String.format("%.1f", (double)str/10.0));
         }
 
         envWater.setVoltage(voltage);

+ 3 - 2
huimv-env-input/src/main/java/com/huimv/env/input/HuimvEnvInputApplication.java

@@ -1,5 +1,6 @@
 package com.huimv.env.input;
 
+import com.huimv.env.input.server.EnvInputServer;
 import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -15,7 +16,7 @@ import org.springframework.context.annotation.ComponentScans;
 public class HuimvEnvInputApplication {
     public static void main(String[] args) throws InterruptedException {
         ApplicationContext applicationContext = SpringApplication.run(HuimvEnvInputApplication.class, args);
-        // EnvInputServer
-//        applicationContext.getBean(EnvInputServer.class).run();
+
+        applicationContext.getBean(EnvInputServer.class).run();
     }
 }

+ 74 - 74
huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServer.java

@@ -1,74 +1,74 @@
-//package com.huimv.env.input.server;
-//
-//import io.netty.bootstrap.ServerBootstrap;
-//import io.netty.channel.ChannelFuture;
-//import io.netty.channel.ChannelInitializer;
-//import io.netty.channel.EventLoopGroup;
-//import io.netty.channel.nio.NioEventLoopGroup;
-//import io.netty.channel.socket.SocketChannel;
-//import io.netty.channel.socket.nio.NioServerSocketChannel;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.stereotype.Component;
-//
-///**
-// * @Project : huimv.shiwan
-// * @Package : com.huimv.biosafety.uface.controller
-// * @Description : TODO
-// * @Version : 1.0
-// * @Author : ZhuoNing
-// * @Create : 2020-12-25
-// **/
-//@Component
-//public class EnvInputServer {
-//    @Autowired
-//    private EnvInputServerHandler serverHandler;
-//    //监听端口
-//    private int port = 3726;
-//    //创建构造方法
-//    public EnvInputServer(){
-//    }
-//
-//    public static void main(String[] args) throws InterruptedException {
-//        new EnvInputServer().run();
-//    }
-///**
-// *
-// * 功能描述: 启动方法前台多个服务  处理多个线程
-// *
-// * @param:
-// * @return:
-// * @auther: LiGang
-// * @date: 2019/3/26 11:31
-// */
-//    /**
-//     * 启动流程
-//     */
-//    public void run() throws InterruptedException {
-//        //配置服务端线程组
-//        EventLoopGroup bossGroup=new NioEventLoopGroup();
-//        EventLoopGroup workGroup=new NioEventLoopGroup();
-//
-//        try{
-//            //引导整个server的启动
-//            ServerBootstrap serverBootstrap = new ServerBootstrap();
-//            serverBootstrap.group(bossGroup,workGroup)
-//                    .channel(NioServerSocketChannel.class)    //指定处理的连接类型
-//                    .childHandler(new ChannelInitializer<SocketChannel>() {
-//                        @Override
-//                        protected void initChannel(SocketChannel socketChannel) throws Exception {
-//                            socketChannel.pipeline().addLast(serverHandler);
-//                        }
-//                    });
-//            System.out.println("# 耳标及采集器设备数据接收服务器已经启动,监听端口(Port):"+port);
-//            System.out.println("# 准备接收数据:");
-//            //绑定端口,同步等待成功
-//            ChannelFuture cf = serverBootstrap.bind(port).sync();
-//            // 等待服务端监听端口关闭
-//            cf.channel().closeFuture().sync();
-//        }finally {
-//            //优雅的退出
-//            bossGroup.shutdownGracefully();
-//            workGroup.shutdownGracefully();
-//        }
-//    }
-//}
+package com.huimv.env.input.server;
+
+import io.netty.bootstrap.ServerBootstrap;
+import io.netty.channel.ChannelFuture;
+import io.netty.channel.ChannelInitializer;
+import io.netty.channel.EventLoopGroup;
+import io.netty.channel.nio.NioEventLoopGroup;
+import io.netty.channel.socket.SocketChannel;
+import io.netty.channel.socket.nio.NioServerSocketChannel;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Component
+public class EnvInputServer {
+    @Autowired
+    private EnvInputServerHandler serverHandler;
+    //监听端口
+    private int port = 3728;
+    //创建构造方法
+    public EnvInputServer(){
+    }
+
+    public static void main(String[] args) throws InterruptedException {
+        new EnvInputServer().run();
+    }
+/**
+ *
+ * 功能描述: 启动方法前台多个服务  处理多个线程
+ *
+ * @param:
+ * @return:
+ * @auther: LiGang
+ * @date: 2019/3/26 11:31
+ */
+    /**
+     * 启动流程
+     */
+    public void run() throws InterruptedException {
+        //配置服务端线程组
+        EventLoopGroup bossGroup=new NioEventLoopGroup();
+        EventLoopGroup workGroup=new NioEventLoopGroup();
+
+        try{
+            //引导整个server的启动
+            ServerBootstrap serverBootstrap = new ServerBootstrap();
+            serverBootstrap.group(bossGroup,workGroup)
+                    .channel(NioServerSocketChannel.class)    //指定处理的连接类型
+                    .childHandler(new ChannelInitializer<SocketChannel>() {
+                        @Override
+                        protected void initChannel(SocketChannel socketChannel) throws Exception {
+                            socketChannel.pipeline().addLast(serverHandler);
+                        }
+                    });
+            System.out.println("# 耳标及采集器设备数据接收服务器已经启动,监听端口(Port):"+port);
+            System.out.println("# 准备接收数据:");
+            //绑定端口,同步等待成功
+            ChannelFuture cf = serverBootstrap.bind(port).sync();
+            // 等待服务端监听端口关闭
+            cf.channel().closeFuture().sync();
+        }finally {
+            //优雅的退出
+            bossGroup.shutdownGracefully();
+            workGroup.shutdownGracefully();
+        }
+    }
+}

File diff ditekan karena terlalu besar
+ 618 - 615
huimv-env-input/src/main/java/com/huimv/env/input/server/EnvInputServerHandler.java