diff --git a/web/src/main/java/com/zhehekeji/web/controller/TestController.java b/web/src/main/java/com/zhehekeji/web/controller/TestController.java index 458960d..ba47b73 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/TestController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/TestController.java @@ -1,17 +1,28 @@ package com.zhehekeji.web.controller; import com.zhehekeji.core.pojo.Result; +import com.zhehekeji.web.entity.RFID; +import com.zhehekeji.web.entity.Street; +import com.zhehekeji.web.service.PlcCmdInfo; +import com.zhehekeji.web.service.RFID.RFIDMap; import com.zhehekeji.web.service.RFID.RFIDSocket; +import com.zhehekeji.web.service.RFIDService; +import com.zhehekeji.web.service.StreetService; import com.zhehekeji.web.service.TestService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; +import java.util.HashSet; +import java.util.List; +import java.util.Set; @Api(value = "TestController",tags = "扫码测试") @RequestMapping("/test") @RestController +@Slf4j public class TestController { @Resource @@ -46,5 +57,66 @@ public class TestController { System.out.println(rfidSocket.getTags()); return Result.success(); } + @Resource + StreetService streetService; + @Resource + RFIDService rfidService; + @ApiOperation("rfid") + @GetMapping("/rfid") + public Result> rfid(@PathVariable String streetId){ + Street street = streetService.getStreetByPlcId(streetId); + + RFIDSocket rfidSocket = new RFIDSocket(street.getPlcIp(), 4001); + rfidSocket.startCheck(1,true); + try { + Thread.sleep(1000*15); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + rfidSocket.stopCheck(); + System.out.println(rfidSocket.getTags()); + return Result.success(rfidSocket.getTags()); + } + + @ApiOperation("rfidNew") + @GetMapping("/rfidNew") + public Result> rfidNew(@PathVariable String streetId) { + Street street = streetService.getStreetByPlcId(streetId); + if (street != null) { + //rfid不分左右,rfid使用同一ip和端口,依靠传递字符调整方向 + RFID rfid = rfidService.getRFIDByPlc(street.getId(), null); + if (rfid != null) { + + RFIDStart(rfid.getIp(), rfid.getPort(), street.getId(), 1); + try { + Thread.sleep(1000*15); + } catch (InterruptedException e) { + throw new RuntimeException(e); + } + Set tags = RFIDStop(street); + return Result.success(tags); + } + } + return Result.success(new HashSet<>()); + } + + public void RFIDStart(String ip, Integer port, Integer streetId, Integer direction) { + RFIDSocket rfidSocket = new RFIDSocket(ip, port); + log.info("rfid调用,ip:" + ip + ";port:" + port); + rfidSocket.startCheck(direction,false); + RFIDMap.put(streetId, rfidSocket); + } + + public Set RFIDStop(Street street) { + RFIDSocket rfidSocket = RFIDMap.get(street.getId()); + Set tags = null; + if (rfidSocket != null) { + tags = rfidSocket.getTags(); + log.info("tags:{}", tags); + rfidSocket.stopCheck(); + RFIDMap.remove(street.getId()); + } + return tags; + } } diff --git a/web/src/main/java/com/zhehekeji/web/pojo/stock/StockCheckSearch.java b/web/src/main/java/com/zhehekeji/web/pojo/stock/StockCheckSearch.java index 9c39a74..18f637c 100644 --- a/web/src/main/java/com/zhehekeji/web/pojo/stock/StockCheckSearch.java +++ b/web/src/main/java/com/zhehekeji/web/pojo/stock/StockCheckSearch.java @@ -1,5 +1,6 @@ package com.zhehekeji.web.pojo.stock; +import com.alibaba.fastjson.annotation.JSONField; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -11,6 +12,7 @@ public class StockCheckSearch { @NotEmpty(message = "巷道标识符不能为空") @ApiModelProperty("巷道标识符") + @JSONField(name = "srmnumber") private String SRMNumber; @NotNull(message = "行不能为空")