Newer
Older
casic-metering-readwriter / src / main / java / com / casic / missiles / cotroller / BusinessReadWriterController.java
wangpeng on 15 Jun 2023 2 KB first commit
package com.casic.missiles.cotroller;

import com.casic.missiles.model.ReturnDTO;
import com.casic.missiles.service.IBusinessReadWriterService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Set;
import java.util.concurrent.ExecutionException;

/**
 * @Description:
 * @Author: wangpeng
 * @Date: 2023/6/15 16:01
 */
@Slf4j
@RestController
@RequestMapping("/business/readWriter")
public class BusinessReadWriterController {
    @Autowired
    private IBusinessReadWriterService readWriterService;

    /**
     * 获取大读写器识别的标签TID列表
     * 大读写器
     * TCP连接,需配置和192.168.1.201一个段
     * 读取读写器获取标签TID列表,用于标签绑定,前端从结果中选取一个标签传入标签绑定接口
     */
    @GetMapping("/tId/readList")
    public ReturnDTO<Set<String>> tIdNewReadList() {
        return readWriterService.tIdNewReadList();
    }

    /**
     * 获取小读写器识别的标签TID列表
     * USB-HID连接(HID是一种USB通信协议,无需安装驱动就能进行交互)
     * 读取读写器获取TID列表,用于标签绑定,前端从结果中选取一个标签传入标签绑定接口
     */
    @GetMapping("/tId/mini/readList")
    public ReturnDTO<Set<String>> tIdMiniReadList() {
        return readWriterService.tIdMiniReadList();
    }

    /**
     * 获取有线扫码枪识别列表(二维码)
     * USB串口连接(模拟COM口),USB模拟串行通讯模式,连接后在设备管理器-端口(COM和LPT)可查看连接设备
     * 目前设置:扫码一次读取一个,扫码结果无回车
     * 二维码由样品编号/设备编号生成
     * 扫描收入、扫描检完等,以及大读写器的补充(包括新建委托书和待收入中使用)
     */
    @GetMapping("/code/gun/readList")
    public ReturnDTO<Set<String>> codeGunReadList() {
        return readWriterService.codeGunReadList();
    }

    /**
     * 有线扫码枪(二维码)和大读写器结合扫描
     */
    @GetMapping("/gunAndTId/readList")
    public ReturnDTO<Set<String>> equipmentLabelReadList() throws ExecutionException, InterruptedException {
        return readWriterService.gunAndTIdNewReadList();
    }

    /**
     * 大读写器和小读写器识别结合的结果TID列表
     */
    @GetMapping("/tIdAndMini/readList")
    public ReturnDTO<Set<String>> allTidReadList() throws ExecutionException, InterruptedException {
        return readWriterService.tIdAndMiniReadList();
    }
}