From 4f45f8548d83f14c48ecb23825beb75faa624245 Mon Sep 17 00:00:00 2001 From: yiming Date: Sat, 2 Apr 2022 10:20:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=85=A8=E5=B7=B7=E9=81=93?= =?UTF-8?q?=E7=9B=98=E7=82=B9=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/CameraController.java | 6 ++ .../web/controller/TestController.java | 39 +++++++++++++ .../web/lib/hik/HikLoginModuleImpl.java | 1 + .../zhehekeji/web/service/CameraService.java | 5 ++ .../zhehekeji/web/service/InitService.java | 4 +- .../com/zhehekeji/web/service/PlcService.java | 10 ++-- .../zhehekeji/web/service/StreetService.java | 14 +++-- .../zhehekeji/web/service/TestService.java | 58 +++++++++++++++++++ 8 files changed, 126 insertions(+), 11 deletions(-) create mode 100644 web/src/main/java/com/zhehekeji/web/controller/TestController.java create mode 100644 web/src/main/java/com/zhehekeji/web/service/TestService.java diff --git a/web/src/main/java/com/zhehekeji/web/controller/CameraController.java b/web/src/main/java/com/zhehekeji/web/controller/CameraController.java index 5154e8f..708ddb8 100644 --- a/web/src/main/java/com/zhehekeji/web/controller/CameraController.java +++ b/web/src/main/java/com/zhehekeji/web/controller/CameraController.java @@ -43,6 +43,12 @@ public class CameraController { return new Result<>(cameraService.cameras(streetSearch)); } + @GetMapping("/{id}") + @ApiOperation(value = "球机") + public Result list(@PathVariable Integer id) { + return new Result<>(cameraService.detail(id)); + } + @PostMapping("") @ApiOperation(value = "球机新增 ") public Result add(@RequestBody Camera camera) { diff --git a/web/src/main/java/com/zhehekeji/web/controller/TestController.java b/web/src/main/java/com/zhehekeji/web/controller/TestController.java new file mode 100644 index 0000000..2a3824f --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/controller/TestController.java @@ -0,0 +1,39 @@ +package com.zhehekeji.web.controller; + +import com.github.pagehelper.PageInfo; +import com.zhehekeji.common.util.ValidatorUtil; +import com.zhehekeji.core.pojo.Result; +import com.zhehekeji.web.pojo.OrderSaveReq; +import com.zhehekeji.web.pojo.OrderSearch; +import com.zhehekeji.web.pojo.OrderVO; +import com.zhehekeji.web.service.OrderService; +import com.zhehekeji.web.service.PlcCmdInfo; +import com.zhehekeji.web.service.PlcService; +import com.zhehekeji.web.service.TestService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; + +@Api(value = "TestController",tags = "扫码测试") +@RequestMapping("/test") +@RestController +public class TestController { + + @Resource + private TestService testService; + + + + @ApiOperation("新增") + @GetMapping("/check/{id}") + public Result save(@PathVariable Integer id){ + testService.CheckTest(id); + return Result.success(); + } + + +} diff --git a/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java b/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java index 0ed2ebd..9d6e6df 100644 --- a/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java +++ b/web/src/main/java/com/zhehekeji/web/lib/hik/HikLoginModuleImpl.java @@ -92,6 +92,7 @@ public class HikLoginModuleImpl implements CameraControlLoginModule { int m_lUserID = hcNetsdk.NET_DVR_Login_V30(m_strIp,(short) m_nPort,m_strUser,m_strPassword,m_strDeviceInfo30); if(m_lUserID < 0){ log.error("hik login error,ip:{},port:{},errorCode:{}",m_strIp,m_nPort,hcNetsdk.NET_DVR_GetLastError()); + return null; }else { log.info("hik login success"); } diff --git a/web/src/main/java/com/zhehekeji/web/service/CameraService.java b/web/src/main/java/com/zhehekeji/web/service/CameraService.java index a2aad86..4677895 100644 --- a/web/src/main/java/com/zhehekeji/web/service/CameraService.java +++ b/web/src/main/java/com/zhehekeji/web/service/CameraService.java @@ -16,6 +16,7 @@ import com.zhehekeji.web.mapper.StreetMapper; import com.zhehekeji.web.pojo.camera.CameraConfigSearchReq; import com.zhehekeji.web.pojo.camera.IOImport; import com.zhehekeji.web.pojo.street.StreetSearch; +import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -95,6 +96,10 @@ public class CameraService { return new PageInfo<>(cameras); } + public Camera detail(Integer id){ + return cameraMapper.selectById(id); + } + public List allCameras(){ return cameraMapper.selectByMap(new HashMap<>()); } diff --git a/web/src/main/java/com/zhehekeji/web/service/InitService.java b/web/src/main/java/com/zhehekeji/web/service/InitService.java index c11e4b8..84b9c9c 100644 --- a/web/src/main/java/com/zhehekeji/web/service/InitService.java +++ b/web/src/main/java/com/zhehekeji/web/service/InitService.java @@ -126,7 +126,9 @@ public class InitService implements ApplicationRunner { public void run() { cameras.forEach(camera -> { NetSDKLib.LLong lLong = cameraControlLoginModule().login(camera.getIp(),camera.getPort(),camera.getUser(),camera.getPassword()); - CameraConnMap.conn(camera.getId(),lLong); + if(lLong != null){ + CameraConnMap.conn(camera.getId(),lLong); + } }); } } diff --git a/web/src/main/java/com/zhehekeji/web/service/PlcService.java b/web/src/main/java/com/zhehekeji/web/service/PlcService.java index 549a2e5..2b4b617 100644 --- a/web/src/main/java/com/zhehekeji/web/service/PlcService.java +++ b/web/src/main/java/com/zhehekeji/web/service/PlcService.java @@ -493,7 +493,7 @@ public class PlcService { log.error("no sensor gun config in database ,street id:{},direction:{}",street.getId(),plcCmdInfo.getLeftRight1()); }else { trayCode = SickSocket.readOCR(sensorGun.getIp(),sensorGun.getPort()); - log.info("sencor:{}",trayCode); + log.info("sensor tray code:{}",trayCode); if(StringUtils.isEmpty(trayCode) || trayCode.equals("NoRead")){ trayCode = "识别异常"; trayCheck = Boolean.FALSE; @@ -508,11 +508,11 @@ public class PlcService { } log.info("code:{}",scanCode); - //核对正确 - Integer status = 2; + //核对异常 + Integer status = 1; //托盘和货物都正确 - if(!trayCheck || !codeCheck){ - status = 1; + if(trayCheck && codeCheck){ + status = 2; } if(stock == null){ stock = new Stock(); diff --git a/web/src/main/java/com/zhehekeji/web/service/StreetService.java b/web/src/main/java/com/zhehekeji/web/service/StreetService.java index 4708a44..1662a23 100644 --- a/web/src/main/java/com/zhehekeji/web/service/StreetService.java +++ b/web/src/main/java/com/zhehekeji/web/service/StreetService.java @@ -22,6 +22,7 @@ import org.springframework.cache.annotation.Caching; import org.springframework.dao.DuplicateKeyException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.StringUtils; import javax.annotation.Resource; import java.time.LocalDateTime; @@ -84,11 +85,14 @@ public class StreetService { } }); thread.start(); - LightSource lightSource = new LightSource(); - lightSource.setStreetId(street.getId()); - lightSource.setIp(streetVO.getLightSourceIp()); - lightSource.setPort(streetVO.getLightSourcePort()); - lightSourceMapper.insert(lightSource); + if(!StringUtils.isEmpty(streetVO.getLightSourceIp()) && streetVO.getLightSourcePort() != null){ + LightSource lightSource = new LightSource(); + lightSource.setStreetId(street.getId()); + lightSource.setIp(streetVO.getLightSourceIp()); + lightSource.setPort(streetVO.getLightSourcePort()); + lightSourceMapper.insert(lightSource); + } + streetVO.setId(street.getId()); return street; } diff --git a/web/src/main/java/com/zhehekeji/web/service/TestService.java b/web/src/main/java/com/zhehekeji/web/service/TestService.java new file mode 100644 index 0000000..6d0f875 --- /dev/null +++ b/web/src/main/java/com/zhehekeji/web/service/TestService.java @@ -0,0 +1,58 @@ +package com.zhehekeji.web.service; + +import com.zhehekeji.web.entity.Street; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +@Service +@Slf4j +public class TestService { + + @Resource + private PlcService plcService; + @Resource + private StreetService streetService; + + private static Boolean isRunning = Boolean.FALSE; + + + + + public void CheckTest(Integer StreetId){ + if(!isRunning){ + isRunning = Boolean.TRUE; + Street street = streetService.streetById(StreetId); + Integer row = street.getLeftRow(); + Integer column = street.getLeftColumn(); + for(int i = 1;i<=row;i++){ + for(int j = 0; j<= column;j++){ + String code = null; + if(j % 2 == 0){ + code = "3224112150069"; + }else { + code = "1111"; + } + + String taskId = i +"-"+ j+"-"+LocalDateTime.now().format(DateTimeFormatter.ofPattern("hhmmss")); + PlcCmdInfo plcCmdInfo = new PlcCmdInfo(street.getPlcId(),taskId,1,1,j,i,1,1,1,1,1,1); + plcService.check(plcCmdInfo,"E1",code,"21234-trayCode"); + try { + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + plcService.gyrateCameraByCode(street.getCamera1Id(),"C5"); + } + } + isRunning = Boolean.FALSE; + return; + } + log.info("test running"); + + + } +}