Browse Source

添加了--查询牧场下面的栋--查询栋下面的单元--查询单元下面的耳标信息

yang 3 năm trước cách đây
mục cha
commit
5635f756f6

+ 5 - 0
huimv-goldpig/huimv-goldpig-anquisition/pom.xml

@@ -51,6 +51,11 @@
             <version>LATEST</version>
         </dependency>
 
+        <dependency>
+            <groupId>io.netty</groupId>
+            <artifactId>netty-all</artifactId>
+            <version>4.1.45.Final</version>
+        </dependency>
 
         <dependency>
             <groupId>commons-lang</groupId>

+ 129 - 1
huimv-goldpig/huimv-goldpig-anquisition/src/main/java/com/huimv/acquisition/controller/BasePigpenController.java

@@ -1,13 +1,29 @@
  package com.huimv.acquisition.controller;
 
+ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+ import com.baomidou.mybatisplus.core.metadata.IPage;
+ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+ import com.fasterxml.jackson.databind.ser.Serializers;
  import com.huimv.acquisition.entity.BasePigpenEntity;
+ import com.huimv.acquisition.entity.CollectorRegisterEntity;
+ import com.huimv.acquisition.entity.EartagDataEntity;
+ import com.huimv.acquisition.entity.vo.EartagDataVo;
+ import com.huimv.acquisition.entity.vo.EartagParamVo;
+ import com.huimv.acquisition.mapper.BasePigpenDao;
+ import com.huimv.acquisition.mapper.CollectorRegisterDao;
+ import com.huimv.acquisition.mapper.EartagDataDao;
  import com.huimv.acquisition.result.R;
  import com.huimv.acquisition.service.BasePigpenService;
+ import com.huimv.acquisition.socket.eartagrecive.util.StringUtilsWork;
  import com.huimv.acquisition.utils.PageUtils;
+ import com.huimv.acquisition.utils.Query;
  import org.springframework.beans.factory.annotation.Autowired;
  import org.springframework.web.bind.annotation.*;
 
  import java.util.Arrays;
+ import java.util.HashMap;
+ import java.util.List;
  import java.util.Map;
 
 
@@ -25,6 +41,16 @@ public class BasePigpenController {
     @Autowired
     private BasePigpenService basePigpenService;
 
+     @Autowired
+     private BasePigpenDao  basePigpenDao;
+
+     @Autowired
+     private CollectorRegisterDao collectorRegisterDao ;
+
+     @Autowired
+     private EartagDataDao  eartagDataDao;
+
+
     /**
      * 列表
      */
@@ -36,7 +62,109 @@ public class BasePigpenController {
     }
 
 
-    /**
+
+     /**
+      * 展示牧场下面的栋的信息
+      * @param params
+      * @return
+      */
+     @RequestMapping("/listFarmPigPen")
+     public R listPigPen(@RequestBody Map<String, Object> params){
+         Integer farmId = (Integer)params.get("farmId");
+         LambdaQueryWrapper<BasePigpenEntity> wrapper = Wrappers.lambdaQuery();
+         wrapper.eq(BasePigpenEntity::getFarmId,farmId).eq(BasePigpenEntity::getParentId,0);
+         List<BasePigpenEntity> basePigpenEntities = basePigpenDao.selectList(wrapper);
+         return R.ok().put("page", basePigpenEntities);
+     }
+
+
+
+
+
+     /**
+      * 展示牧场下面的舍的信息
+      * @param params
+      * @return
+      */
+     @RequestMapping("/listFarmUnit")
+     public R listFarmUnit(@RequestBody Map<String, Object> params){
+         Object penId1 = params.get("penId");
+         System.out.println(penId1+"**********");
+
+         Integer penId = (Integer)params.get("penId");
+         System.out.println(penId+"*******");
+         LambdaQueryWrapper<BasePigpenEntity> wrapper = Wrappers.lambdaQuery();
+         wrapper.eq(BasePigpenEntity::getParentId,penId);
+         List<BasePigpenEntity> basePigpenEntities = basePigpenDao.selectList(wrapper);
+         return R.ok().put("page", basePigpenEntities);
+     }
+
+
+
+
+
+
+
+     /**
+      * 展示单元下面的耳标实时信息
+      * @param params
+      * @return
+      */
+     @RequestMapping("/listFarmUnitEartagData")
+     public R listFarmUnitEartagData(@RequestBody Map<String, Object> params){
+
+         String eartagNo = (String) params.get("eartagNo");//耳标号
+         String unitNo = (String) params.get("unitNo");//最低日龄
+         String deviceCode = (String) params.get("deviceCode");//采集器编码
+         String penNo = (String) params.get("penNo");//采集器编码
+         Integer pageNo = (Integer) params.get("pageNo");
+         Integer pageSize = (Integer)  params.get("pageSize");
+         Integer EarTempStatus = (Integer)  params.get("EarTempStatus");
+
+         System.out.println("状态"+EarTempStatus);
+         EartagParamVo  eartagParamVo = new EartagParamVo();
+
+         eartagParamVo.setLimit(String.valueOf(pageSize));
+         eartagParamVo.setPage(String.valueOf(pageNo));
+         eartagParamVo.setEarTempStatus(EarTempStatus);
+
+         //耳标号
+         if (StringUtilsWork.isNotBlank(eartagNo)) {
+             eartagParamVo.setEartagNo(eartagNo);
+         }
+
+         //单元号
+         if (StringUtilsWork.isNotBlank(unitNo)) {
+             eartagParamVo.setEartagNo(unitNo);
+         }
+
+         //采集器标号
+         if (StringUtilsWork.isNotBlank(deviceCode)) {
+             eartagParamVo.setEartagNo(deviceCode);
+         }
+
+         eartagParamVo.setPenNo(penNo);
+
+         eartagParamVo.setUnitNo(unitNo);
+         //分页需要Map类型   可以封装一下  现在不封装
+         Map<String , Object>  pageMap  = new HashMap<>();
+         pageMap.put("page",eartagParamVo.getPage());
+         pageMap.put("limit",eartagParamVo.getLimit());
+         IPage<EartagDataVo> page = eartagDataDao.pageIndex(new Query<EartagDataVo>().getPage(pageMap) ,eartagParamVo);
+
+         return R.ok().put("page", page);
+     }
+
+
+
+
+
+
+
+     /**
+     *
+     *
+     *
      * 信息
      */
     @RequestMapping("/info/{id}")

+ 5 - 0
huimv-goldpig/huimv-goldpig-anquisition/src/main/java/com/huimv/acquisition/entity/BasePigpenEntity.java

@@ -40,4 +40,9 @@ public class BasePigpenEntity implements Serializable {
 	 */
 	private String farmCode;
 
+
+
+	private Integer farmId;
+
+
 }

+ 13 - 3
huimv-goldpig/huimv-goldpig-anquisition/src/main/java/com/huimv/acquisition/entity/vo/EartagParamVo.java

@@ -6,6 +6,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.util.Date;
+import java.util.List;
 
 
 /**
@@ -24,7 +25,12 @@ public class EartagParamVo {
      * 页数大小
      */
     private String limit;
-    
+
+
+
+    private List<String>  deviceCodes;
+
+
 
     /**
      * 传入时间(注册时间)
@@ -60,6 +66,10 @@ public class EartagParamVo {
      * 阶段
      */
     private Integer stage;
+    /**
+     * 阶段
+     */
+    private Integer earTempStatus;
 
     /**
      * 耳标高温
@@ -88,13 +98,13 @@ public class EartagParamVo {
     /**
      * 单元编号
      */
-    private String unitNo;
+    private  String unitNo;
 
 
     /**
      * 环境温度高值
      */
-    private String envHighTemp;
+    private  String  envHighTemp;
 
 
     /**

+ 0 - 65
huimv-goldpig/huimv-goldpig-anquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/MySocketServer.java

@@ -1,65 +0,0 @@
-package com.huimv.acquisition.socket.eartagrecive;
-
-import com.huimv.acquisition.socket.eartagrecive.service.IClientDataPacketService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.CommandLineRunner;
-import org.springframework.stereotype.Component;
-
-import java.io.*;
-import java.net.ServerSocket;
-import java.net.Socket;
-
-@Component
-public class MySocketServer implements CommandLineRunner {
-
-    @Autowired
-    private IClientDataPacketService iClientDataPacketService;
-
-    //不关闭
-    @Override
-    public void run(String... args) throws Exception {
-
-            try
-            {
-                System.out.println(">>>服务启动,等待终端的连接--10024");
-                ServerSocket server = new ServerSocket(10024);
-                int count = 0;
-                while (true)
-                {
-                    //开启监听
-                    Socket socket = server.accept();
-                    count++;
-                    System.out.println(">>>开启第" + count + "次长连接...");
-                    ServerThread01 thread = new ServerThread01(socket ,iClientDataPacketService);
-                    thread.start();
-                }
-            }
-            catch (Exception e)
-            {
-                e.printStackTrace();
-            }
-        }
-
-
-    public static void main(String[] args) throws IOException {
-        //建立socket向服务器发送连接请求
-        Socket socket = new Socket("127.0.0.1", 10024);
-        InputStream inputStream;
-        inputStream = socket.getInputStream();
-        OutputStream outputStream = socket.getOutputStream();
-        //客户端向socket发送数据
-        PrintWriter printWriter = new PrintWriter(outputStream);
-        //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+202007239999870+000000000000000+97+0+1975+0+62+20220105103307+1.0#1.0#12160+0+end");
-        printWriter.flush();
-        //读取数据
-        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
-        String readLine = bufferedReader.readLine();
-        System.out.println(readLine);
-        inputStream.close();
-        outputStream.close();
-        socket.close();
-    }
-}

+ 0 - 135
huimv-goldpig/huimv-goldpig-anquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/ServerThread01.java

@@ -1,135 +0,0 @@
-package com.huimv.acquisition.socket.eartagrecive;
-
-import com.huimv.acquisition.socket.eartagrecive.service.IClientDataPacketService;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.net.Socket;
-
-public class ServerThread01 extends Thread {
-
-
-    private IClientDataPacketService iClientDataPacketService;
-
-    //16进制数字字符集
-    public static final String HEXSTRING = "0123456789ABCDEF";
-    //心跳超时时间
-    private static final int TIMEOUT = 60 * 1000;
-
-    private Socket m_socket;
-    //接收到数据的最新时间
-    private long m_lastReceiveTime = System.currentTimeMillis();
-    //该线程是否正在运行
-    private boolean m_isRuning = false;
-
-    public ServerThread01(Socket socket , IClientDataPacketService iClientDataPacketService)
-    {
-        this.m_socket = socket;
-        this.iClientDataPacketService = iClientDataPacketService;
-    }
-
-    @Override
-    public void start()
-    {
-        if (m_isRuning)
-        {
-            System.out.println(">>>线程" + this.getId() + "启动失败,该线程正在执行");
-            return;
-        }
-        else
-        {
-            m_isRuning = true;
-            super.start();
-        }
-    }
-
-    @Override
-    public void run()
-    {
-        //字节输入流
-        InputStream inputStream = null;
-        //字节输出流
-        OutputStream outputStream = null;
-        try
-        {
-            inputStream = m_socket.getInputStream();
-            outputStream = m_socket.getOutputStream();
-            String info = "";
-            //按byte读
-            byte[] bytes = new byte[1];
-            while (m_isRuning)
-            {
-                //检测心跳
-                if (System.currentTimeMillis() - m_lastReceiveTime > TIMEOUT)
-                {
-                    m_isRuning = false;
-                    //跳出,执行finally块
-                    break;
-                }
-                //返回下次调用可以不受阻塞地从此流读取或跳过的估计字节数,如果等于0则表示已经读完
-                if (inputStream.available() > 0)
-                {
-                    //重置接收到数据的最新时间
-                    m_lastReceiveTime = System.currentTimeMillis();
-
-                    byte[] b = new byte[1024];
-
-                    inputStream.read(b);
-
-                    String packet = new String(b);
-
-                    packet = packet.trim();
-
-                    System.out.println(">>>线程" + this.getId() + "收到:" + packet);
-                    // 处理数据包
-                    String ss = iClientDataPacketService.handleClientSendPacket(packet);
-                    //粘包情况需要处理
-                    String tempStr = ss ;
-
-                    info += tempStr;
-                    //已经读完
-                    if (inputStream.available() == 0)
-                    {
-                        System.out.println(">>>线程" + this.getId() + "返回:" + info);
-                        if (tempStr!=null) {
-                            outputStream.write(tempStr.getBytes());
-                        }
-                        outputStream.flush();
-                        //重置,不然每次收到的数据都会累加起来
-                        info = "";
-                       // System.out.println(">>>线程" + this.getId() + "回应:" + responseStr);
-                    }
-                }
-            }
-        }
-        catch (Exception e)
-        {
-            e.printStackTrace();
-        }
-        //关闭资源
-        finally
-        {
-            System.out.println(">>>线程" + this.getId() + "的连接已断开\n");
-            try
-            {
-                if (outputStream != null)
-                    outputStream.close();
-                if (inputStream != null)
-                    inputStream.close();
-                if (m_socket != null)
-                    m_socket.close();
-                m_isRuning = false;
-            }
-            catch (IOException e)
-            {
-                e.printStackTrace();
-            }
-        }
-    }
-
-
-
-
-
-}

+ 102 - 0
huimv-goldpig/huimv-goldpig-anquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/constant/eartagsocket/EartagServer2.java

@@ -0,0 +1,102 @@
+package com.huimv.acquisition.socket.eartagrecive.constant.eartagsocket;
+
+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;
+
+import java.io.*;
+import java.net.Socket;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+@Component
+public class EartagServer2 {
+    @Autowired
+    private EartagServerHandler2 serverHandler;
+    //外面的版本    金华的端口     10024    10025  部署在31 服务器上面好了    10023是test1平台的
+    //创建构造方法
+
+    private int port = 10024;
+    public EartagServer2(){
+    }
+
+   
+/**
+ *
+ * 功能描述: 启动方法前台多个服务  处理多个线程
+ *
+ * @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(new EartagServerHandler2());
+                            socketChannel.pipeline().addLast(serverHandler);
+                        }
+                    });
+            System.out.println("Echo 服务器启动ing--监听端口"+port);
+            //绑定端口,同步等待成功
+            ChannelFuture cf = serverBootstrap.bind(port).sync();
+            System.out.println("ok");
+            // 等待服务端监听端口关闭
+            cf.channel().closeFuture().sync();
+
+        }finally {
+            //优雅的退出
+            bossGroup.shutdownGracefully();
+            workGroup.shutdownGracefully();
+        }
+    }
+
+
+
+    public static void main(String[] args) throws IOException {
+        //建立socket向服务器发送连接请求
+        Socket socket = new Socket("127.0.0.1", 10023);
+        InputStream inputStream;
+        inputStream = socket.getInputStream();
+        OutputStream outputStream = socket.getOutputStream();
+        //客户端向socket发送数据
+        PrintWriter printWriter = new PrintWriter(outputStream);
+        //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.flush();
+        //读取数据
+        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
+        String readLine = bufferedReader.readLine();
+        System.out.println(readLine);
+        inputStream.close();
+        outputStream.close();
+        socket.close();
+    }
+}

+ 65 - 0
huimv-goldpig/huimv-goldpig-anquisition/src/main/java/com/huimv/acquisition/socket/eartagrecive/constant/eartagsocket/EartagServerHandler2.java

@@ -0,0 +1,65 @@
+package com.huimv.acquisition.socket.eartagrecive.constant.eartagsocket;
+
+import com.huimv.acquisition.socket.eartagrecive.service.IClientDataPacketService;
+import io.netty.buffer.ByteBuf;
+import io.netty.buffer.Unpooled;
+import io.netty.channel.ChannelHandler;
+import io.netty.channel.ChannelHandlerContext;
+import io.netty.channel.ChannelInboundHandlerAdapter;
+import io.netty.util.CharsetUtil;
+import lombok.extern.slf4j.Slf4j;
+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
+ **/
+@ChannelHandler.Sharable
+@Component
+@Slf4j
+public class EartagServerHandler2 extends ChannelInboundHandlerAdapter {
+    
+    /*@Autowired
+    private IEartagDataService eartagDataService;*/
+    @Autowired
+    private IClientDataPacketService iClientDataPacketService;
+
+
+
+//    @Override
+//    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
+//        ByteBuf data = (ByteBuf) msg;
+//        System.out.println("收到的信息为:"+data.toString(CharsetUtil.UTF_8));
+//        ctx.writeAndFlush(msg);
+////        ctx.write(msg);
+    // ctx.writeAndFlush(msg);
+// ctx.writeAndFlush(data);
+// ctx.writeAndFlush(Unpooled.copiedBuffer(askText.getBytes()));
+//    }
+
+    @Override
+    public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
+        ByteBuf data = (ByteBuf) msg;
+        String clientAsk = data.toString(CharsetUtil.UTF_8);
+
+
+        /* 处理客户端请求数据 */
+        String answer = iClientDataPacketService.handleClientSendPacket(clientAsk);
+        if (answer != null) {
+            log.info("###应答响应>>" + answer + "\n");
+            ctx.writeAndFlush(Unpooled.copiedBuffer(answer.getBytes()));
+        }else{
+            log.info("###应答数据>>" + answer + ",不需要应答。\n");
+        }
+    }
+
+
+   
+
+   
+}

+ 0 - 5
huimv-goldpig/huimv-goldpig-anquisition/src/main/java/com/huimv/acquisition/timmertask/provideNewRankData.java

@@ -171,11 +171,6 @@ public class provideNewRankData {
 
            }
 
-
-
-
-
-
         }
         //对于新增的如何处理,不包括的有如何处理
 

+ 17 - 1
huimv-goldpig/huimv-goldpig-anquisition/src/main/resources/mapper/acquisition/EartagDataDao.xml

@@ -67,8 +67,13 @@
     WHERE
 
         1=1
+        /*耳标号进行判断*/
+        <if test="eartagParamVo.unitNo != null">
+            AND  ed2.eartag_no = #{eartagParamVo.unitNo}
+        </if>
 
-            /*耳标号进行判断*/
+
+        /*耳标号进行判断*/
         <if test="eartagParamVo.eartagNo != null">
             AND  ed2.eartag_no = #{eartagParamVo.eartagNo}
         </if>
@@ -116,7 +121,12 @@
 
 
      ORDER  BY ed1.`time`  DESC
+
+
     </select>
+
+
+
     <select id="listAllSell" resultType="com.huimv.acquisition.entity.vo.EartagDataDto">
 
         SELECT ed.* , bp.pigpen_name unitName ,bp1.pigpen_name pigpenName ,eg.sell_status sellStatus FROM `eartag_data`  ed
@@ -138,4 +148,10 @@
 
         GROUP BY eartag_no)
     </select>
+
+
+
+
+
+
 </mapper>