diff --git a/2025-07-29/.jpg/001/row7/column8/15/143153-C2-iieee.jpg b/2025-07-29/.jpg/001/row7/column8/15/143153-C2-iieee.jpg new file mode 100644 index 0000000..3118b7b Binary files /dev/null and b/2025-07-29/.jpg/001/row7/column8/15/143153-C2-iieee.jpg differ diff --git a/2025-07-29/.jpg/001/row7/column8/15/143159-C3-ahidb.jpg b/2025-07-29/.jpg/001/row7/column8/15/143159-C3-ahidb.jpg new file mode 100644 index 0000000..4d46368 Binary files /dev/null and b/2025-07-29/.jpg/001/row7/column8/15/143159-C3-ahidb.jpg differ diff --git a/2025-07-29/.jpg/001/row7/column8/15/143204-C4-heagg.jpg b/2025-07-29/.jpg/001/row7/column8/15/143204-C4-heagg.jpg new file mode 100644 index 0000000..78cd7bb Binary files /dev/null and b/2025-07-29/.jpg/001/row7/column8/15/143204-C4-heagg.jpg differ diff --git a/2025-07-29/.jpg/001/row7/column8/15/144201-C4-dejbd.jpg b/2025-07-29/.jpg/001/row7/column8/15/144201-C4-dejbd.jpg new file mode 100644 index 0000000..b0292b5 Binary files /dev/null and b/2025-07-29/.jpg/001/row7/column8/15/144201-C4-dejbd.jpg differ diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java index edf31f2..cd93677 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/exception/enums/GlobalErrorCodeConstants.java @@ -14,7 +14,7 @@ import cn.iocoder.yudao.framework.common.exception.ErrorCode; */ public interface GlobalErrorCodeConstants { - ErrorCode SUCCESS = new ErrorCode(0, "成功"); + ErrorCode SUCCESS = new ErrorCode(200, "成功"); // ========== 客户端错误段 ========== diff --git a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/CommonResult.java b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/CommonResult.java index 0aa5733..dd26206 100644 --- a/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/CommonResult.java +++ b/yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/pojo/CommonResult.java @@ -70,6 +70,15 @@ public class CommonResult implements Serializable { return result; } + public static CommonResult success(T data, String message) { + CommonResult result = new CommonResult<>(); + result.code = GlobalErrorCodeConstants.SUCCESS.getCode(); + result.data = data; + result.msg = ""; + result.message = message; + return result; + } + public static boolean isSuccess(Integer code) { return Objects.equals(code, GlobalErrorCodeConstants.SUCCESS.getCode()); } diff --git a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java index 8c784d9..9436f73 100644 --- a/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java +++ b/yudao-framework/yudao-spring-boot-starter-web/src/main/java/cn/iocoder/yudao/framework/web/config/YudaoWebAutoConfiguration.java @@ -7,6 +7,8 @@ import cn.iocoder.yudao.framework.web.core.filter.DemoFilter; import cn.iocoder.yudao.framework.web.core.handler.GlobalExceptionHandler; import cn.iocoder.yudao.framework.web.core.handler.GlobalResponseBodyHandler; import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils; +import jakarta.annotation.Resource; +import jakarta.servlet.Filter; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; @@ -25,8 +27,7 @@ import org.springframework.web.filter.CorsFilter; import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import jakarta.annotation.Resource; -import jakarta.servlet.Filter; +import java.time.Duration; @AutoConfiguration @EnableConfigurationProperties(WebProperties.class) @@ -125,7 +126,11 @@ public class YudaoWebAutoConfiguration implements WebMvcConfigurer { @Bean @ConditionalOnMissingBean public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder) { - return restTemplateBuilder.build(); + + return restTemplateBuilder + .setConnectTimeout(Duration.ofMillis(5000)) // 连接超时 5秒 + .setReadTimeout(Duration.ofMillis(20000)) // 读取超时 20秒 + .build(); } } diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/conf/MyInitializer.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/conf/MyInitializer.java index 6deb5b7..77c20d9 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/conf/MyInitializer.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/conf/MyInitializer.java @@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.camera.lib.camera.CameraModFactory; import cn.iocoder.yudao.module.camera.service.camera.CameraService; import cn.iocoder.yudao.module.camera.service.channel.CameraChannel; import cn.iocoder.yudao.module.system.service.dict.DictDataService; +import jakarta.annotation.PostConstruct; import jakarta.annotation.Resource; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -38,11 +39,6 @@ public class MyInitializer { private CameraService cameraService; - public static void main(String[] args) { - MyInitializer myInitializer = new MyInitializer(); - myInitializer.checkAndAddRtspProxies(); - } - @Scheduled(fixedRate = 30000) // 每分钟执行一次 @@ -54,6 +50,15 @@ public class MyInitializer { zlmConf(list); cameraLogin(list); } + @PostConstruct + public void init() { + // 应用启动时执行一次 + try { + checkAndAddRtspProxies(); + } catch (Exception e) { + e.printStackTrace(); + } + } @Resource CameraModFactory cameraModFactory; private void cameraLogin(List list) { diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/cameraControl/cameraControlController.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/cameraControl/cameraControlController.java index 70cc907..fae44ad 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/cameraControl/cameraControlController.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/cameraControl/cameraControlController.java @@ -342,7 +342,6 @@ public class cameraControlController { cameraControlModule.ptzControlIrisDecEnd(cameraDO.getId(),0); return success("ok"); } - @PostMapping("/pic") @Operation(summary = "立刻拍照") @Parameter(name = "id", description = "球机id", required = true) diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/zlm/RtspSessionResponse.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/zlm/RtspSessionResponse.java index 664f1e3..2282ddb 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/zlm/RtspSessionResponse.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/zlm/RtspSessionResponse.java @@ -10,6 +10,7 @@ public class RtspSessionResponse { private int code; private List data; + private boolean result; @Data public static class RtspSession { diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/CameraConnMap.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/CameraConnMap.java index b3b4dee..560d966 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/CameraConnMap.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/CameraConnMap.java @@ -13,7 +13,7 @@ public class CameraConnMap { public static void conn(Integer cameraId,Integer handlerId){ - conn.put(cameraId,handlerId); + conn.put(cameraId,handlerId); } @@ -29,14 +29,15 @@ public class CameraConnMap { public static NetSDKLib.LLong getConnIdDh(Integer cameraId){ return connDh.get(cameraId); } - public static void disConn(Integer cameraId){ - conn.remove(cameraId); - } public static Integer getConnId(Integer cameraId){ return conn.get(cameraId); } + public static void disConn(Integer cameraId){ + conn.remove(cameraId); + } + public static Integer getCameraIdByLoginId(Integer lLong){ diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/CameraModFactory.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/CameraModFactory.java index 9a80fca..5731e96 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/CameraModFactory.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/CameraModFactory.java @@ -10,6 +10,7 @@ import org.springframework.stereotype.Service; @Service public class CameraModFactory { + @Autowired private ApplicationContext context; diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/DhControlModuleImpl.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/DhControlModuleImpl.java index a513bd3..572c98e 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/DhControlModuleImpl.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/DhControlModuleImpl.java @@ -69,7 +69,7 @@ public class DhControlModuleImpl implements CameraModule { //先注销,再登录 if(CameraConnMap.getConnIdDh(cameraId)!=null){ if (loginout(cameraId)){ - log.info("hik camera:{}注销",cameraId); + log.info("dh camera:{}注销",cameraId); } } init(); @@ -91,6 +91,10 @@ public class DhControlModuleImpl implements CameraModule { @Override public Boolean loginout(Integer cameraId) { + if (CameraConnMap.getConnId(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return true; + } CameraConnMap.disConnDh(cameraId); netSdk.CLIENT_Logout(CameraConnMap.getConnIdDh(cameraId)); @@ -107,6 +111,10 @@ public class DhControlModuleImpl implements CameraModule { * 向上 */ public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("up start"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_UP_CONTROL, @@ -115,6 +123,10 @@ public class DhControlModuleImpl implements CameraModule { } public boolean ptzControlUpEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("up end"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_UP_CONTROL, @@ -125,6 +137,10 @@ public class DhControlModuleImpl implements CameraModule { * 向下 */ public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("down start"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_DOWN_CONTROL, @@ -132,6 +148,10 @@ public class DhControlModuleImpl implements CameraModule { } public boolean ptzControlDownEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("down end"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_DOWN_CONTROL, @@ -142,6 +162,10 @@ public class DhControlModuleImpl implements CameraModule { * 向左 */ public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("left start"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_LEFT_CONTROL, @@ -149,6 +173,10 @@ public class DhControlModuleImpl implements CameraModule { } public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("left end"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_LEFT_CONTROL, @@ -159,6 +187,10 @@ public class DhControlModuleImpl implements CameraModule { * 向右 */ public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("right start"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_RIGHT_CONTROL, @@ -167,6 +199,10 @@ public class DhControlModuleImpl implements CameraModule { public boolean ptzControlRightEnd(Integer cameraId, int nChannelID) { log.info("right end"); + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_RIGHT_CONTROL, 0, 0, 0, 1); @@ -178,6 +214,10 @@ public class DhControlModuleImpl implements CameraModule { * 向左上 */ public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("up left start"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_LEFTTOP, @@ -185,6 +225,10 @@ public class DhControlModuleImpl implements CameraModule { } public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("up left end"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_LEFTTOP, @@ -195,6 +239,10 @@ public class DhControlModuleImpl implements CameraModule { * 向右上 */ public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("up right start"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RIGHTTOP, @@ -202,6 +250,10 @@ public class DhControlModuleImpl implements CameraModule { } public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info("up right end"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RIGHTTOP, @@ -212,6 +264,10 @@ public class DhControlModuleImpl implements CameraModule { * 向左下 */ public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info(" left down start"); Boolean ok = netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_LEFTDOWN, @@ -223,6 +279,10 @@ public class DhControlModuleImpl implements CameraModule { } public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info(" left down end"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_LEFTDOWN, @@ -233,6 +293,10 @@ public class DhControlModuleImpl implements CameraModule { * 向右下 */ public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int lParam1, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info(" right down start"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RIGHTDOWN, @@ -240,6 +304,10 @@ public class DhControlModuleImpl implements CameraModule { } public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } log.info(" right down end"); return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_EXTPTZ_ControlType.NET_EXTPTZ_RIGHTDOWN, @@ -250,12 +318,20 @@ public class DhControlModuleImpl implements CameraModule { * 变倍+ */ public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_ZOOM_ADD_CONTROL, 0, lParam2, 0, 0); } public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_ZOOM_ADD_CONTROL, 0, 0, 0, 1); @@ -265,12 +341,20 @@ public class DhControlModuleImpl implements CameraModule { * 变倍- */ public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_ZOOM_DEC_CONTROL, 0, lParam2, 0, 0); } public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_ZOOM_DEC_CONTROL, 0, 0, 0, 1); @@ -280,12 +364,21 @@ public class DhControlModuleImpl implements CameraModule { * 变焦+ */ public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_FOCUS_ADD_CONTROL, 0, lParam2, 0, 0); } public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID) { + + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_FOCUS_ADD_CONTROL, 0, 0, 0, 1); @@ -295,12 +388,20 @@ public class DhControlModuleImpl implements CameraModule { * 变焦- */ public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int lParam2) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_FOCUS_DEC_CONTROL, 0, lParam2, 0, 0); } public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID) { + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_FOCUS_DEC_CONTROL, 0, 0, 0, 1); @@ -310,12 +411,22 @@ public class DhControlModuleImpl implements CameraModule { * 光圈+ */ public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int lParam2) { + + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_APERTURE_ADD_CONTROL, 0, lParam2, 0, 0); } public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID) { + + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_APERTURE_ADD_CONTROL, 0, 0, 0, 1); @@ -325,12 +436,22 @@ public class DhControlModuleImpl implements CameraModule { * 光圈- */ public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int lParam2) { + + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_APERTURE_DEC_CONTROL, 0, lParam2, 0, 0); } public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID) { + + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } return netSdk.CLIENT_DHPTZControlEx(CameraConnMap.getConnIdDh(cameraId), nChannelID, NetSDKLib.NET_PTZ_ControlType.NET_PTZ_APERTURE_DEC_CONTROL, 0, 0, 0, 1); @@ -350,6 +471,10 @@ public class DhControlModuleImpl implements CameraModule { // } // return ok; + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return false; + } PathUtil.checkDirc(realPath); if (!netSdk.CLIENT_CapturePictureEx(CameraConnMap.getConnIdDh(cameraId), realPath, NetSDKLib.NET_CAPTURE_FORMATS.NET_CAPTURE_JPEG)) { System.err.printf("CLIENT_CapturePicture Failed!" + ToolKits.getErrorCodePrint()); @@ -381,6 +506,10 @@ public class DhControlModuleImpl implements CameraModule { NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE net_out_download_by_data_type = new NetSDKLib.NET_OUT_DOWNLOAD_BY_DATA_TYPE(); net_out_download_by_data_type.write(); + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("error camera conn is null,cameraId:{}",cameraId); + return; + } NetSDKLib.LLong l = netSdk.CLIENT_DownloadByDataType(CameraConnMap.getConnIdDh(cameraId), download_by_data_type.getPointer(), net_out_download_by_data_type.getPointer(), 8000); if(l.longValue() != 0){ log.info("start download mp4 path:{},startTime:{} ,endTime:{},now:{},status:{},cameraId:{}", path, start, end, LocalDateTime.now(),l.longValue(),cameraId); @@ -399,6 +528,11 @@ public class DhControlModuleImpl implements CameraModule { */ public void ptz(Integer ptzId, String name, Integer cameraId) { int dwzCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_SET_CONTROL; + + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("toPtz error camera conn is null,ptzId:{},cameraId:{}",ptzId,cameraId); + return; + } Boolean ok = netSdk.CLIENT_DHPTZControlEx2(CameraConnMap.getConnIdDh(cameraId), 0, dwzCommand, 0, ptzId, 0, 0, ToolKits.GetGBKStringToPointer(name)); if (!ok) { log.error("ptz error :{},cameraId:{}", ToolKits.getErrorCodePrint(),cameraId); @@ -415,6 +549,11 @@ public class DhControlModuleImpl implements CameraModule { public void toPtz(Integer ptzId, Integer cameraId) { log.info("to ptz,ptzId:{},cameraId:{}",ptzId,cameraId); int dwPTZCommand = NetSDKLib.NET_PTZ_ControlType.NET_PTZ_POINT_MOVE_CONTROL; + + if (CameraConnMap.getConnIdDh(cameraId) == null){ + log.error("toPtz error camera conn is null,ptzId:{},cameraId:{}",ptzId,cameraId); + return; + } Boolean ok = netSdk.CLIENT_DHPTZControlEx2(CameraConnMap.getConnIdDh(cameraId), 0, dwPTZCommand, 0, ptzId, 0, 0, null); if (!ok) { log.error("toPtz error, cameraId:{},ptzId:{},errorCode:{}", cameraId, ptzId,ToolKits.getErrorCodePrint()); diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/common/ErrorCode.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/common/ErrorCode.java index c70429a..30f5c58 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/common/ErrorCode.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/common/ErrorCode.java @@ -16,853 +16,853 @@ public class ErrorCode { String msg = ""; switch(err) { case LastError.NET_NOERROR: // 0 没有错误 - msg = Res.string().getBundle().getString("NET_ERROR"); + msg = ("NET_ERROR"); break; case LastError.NET_ERROR: // -1 未知错误 - msg = Res.string().getBundle().getString("NET_ERROR"); + msg = ("NET_ERROR"); break; case LastError.NET_SYSTEM_ERROR: // (0x80000000|1) Windows系统出错 - msg = Res.string().getBundle().getString("NET_SYSTEM_ERROR"); + msg = ("NET_SYSTEM_ERROR"); break; case LastError.NET_NETWORK_ERROR: // (0x80000000|2) 网络错误,可能是因为网络超时 - msg = Res.string().getBundle().getString("NET_NETWORK_ERROR"); + msg = ("NET_NETWORK_ERROR"); break; case LastError.NET_DEV_VER_NOMATCH: // (0x80000000|3) 设备协议不匹配 - msg = Res.string().getBundle().getString("NET_DEV_VER_NOMATCH"); + msg = ("NET_DEV_VER_NOMATCH"); break; case LastError.NET_INVALID_HANDLE: // (0x80000000|4) 句柄无效 - msg = Res.string().getBundle().getString("NET_INVALID_HANDLE"); + msg = ("NET_INVALID_HANDLE"); break; case LastError.NET_OPEN_CHANNEL_ERROR: // (0x80000000|5) 打开通道失败 - msg = Res.string().getBundle().getString("NET_OPEN_CHANNEL_ERROR"); + msg = ("NET_OPEN_CHANNEL_ERROR"); break; case LastError.NET_CLOSE_CHANNEL_ERROR: // (0x80000000|6) 关闭通道失败 - msg = Res.string().getBundle().getString("NET_CLOSE_CHANNEL_ERROR"); + msg = ("NET_CLOSE_CHANNEL_ERROR"); break; case LastError.NET_ILLEGAL_PARAM: // (0x80000000|7) 用户参数不合法 - msg = Res.string().getBundle().getString("NET_ILLEGAL_PARAM"); + msg = ("NET_ILLEGAL_PARAM"); break; case LastError.NET_SDK_INIT_ERROR: // (0x80000000|8) SDK初始化出错 - msg = Res.string().getBundle().getString("NET_SDK_INIT_ERROR"); + msg = ("NET_SDK_INIT_ERROR"); break; case LastError.NET_SDK_UNINIT_ERROR: // (0x80000000|9) SDK清理出错 - msg = Res.string().getBundle().getString("NET_SDK_UNINIT_ERROR"); + msg = ("NET_SDK_UNINIT_ERROR"); break; case LastError.NET_RENDER_OPEN_ERROR: // (0x80000000|10) 申请render资源出错 - msg = Res.string().getBundle().getString("NET_RENDER_OPEN_ERROR"); + msg = ("NET_RENDER_OPEN_ERROR"); break; case LastError.NET_DEC_OPEN_ERROR: // (0x80000000|11) 打开解码库出错 - msg = Res.string().getBundle().getString("NET_DEC_OPEN_ERROR"); + msg = ("NET_DEC_OPEN_ERROR"); break; case LastError.NET_DEC_CLOSE_ERROR: // (0x80000000|12) 关闭解码库出错 - msg = Res.string().getBundle().getString("NET_DEC_CLOSE_ERROR"); + msg = ("NET_DEC_CLOSE_ERROR"); break; case LastError.NET_MULTIPLAY_NOCHANNEL: // (0x80000000|13) 多画面预览中检测到通道数为0 - msg = Res.string().getBundle().getString("NET_MULTIPLAY_NOCHANNEL"); + msg = ("NET_MULTIPLAY_NOCHANNEL"); break; case LastError.NET_TALK_INIT_ERROR: // (0x80000000|14) 录音库初始化失败 - msg = Res.string().getBundle().getString("NET_TALK_INIT_ERROR"); + msg = ("NET_TALK_INIT_ERROR"); break; case LastError.NET_TALK_NOT_INIT: // (0x80000000|15) 录音库未经初始化 - msg = Res.string().getBundle().getString("NET_TALK_NOT_INIT"); + msg = ("NET_TALK_NOT_INIT"); break; case LastError.NET_TALK_SENDDATA_ERROR: // (0x80000000|16) 发送音频数据出错 - msg = Res.string().getBundle().getString("NET_TALK_SENDDATA_ERROR"); + msg = ("NET_TALK_SENDDATA_ERROR"); break; case LastError.NET_REAL_ALREADY_SAVING: // (0x80000000|17) 实时数据已经处于保存状态 - msg = Res.string().getBundle().getString("NET_REAL_ALREADY_SAVING"); + msg = ("NET_REAL_ALREADY_SAVING"); break; case LastError.NET_NOT_SAVING: // (0x80000000|18) 未保存实时数据 - msg = Res.string().getBundle().getString("NET_NOT_SAVING"); + msg = ("NET_NOT_SAVING"); break; case LastError.NET_OPEN_FILE_ERROR: // (0x80000000|19) 打开文件出错 - msg = Res.string().getBundle().getString("NET_OPEN_FILE_ERROR"); + msg = ("NET_OPEN_FILE_ERROR"); break; case LastError.NET_PTZ_SET_TIMER_ERROR: // (0x80000000|20) 启动云台控制定时器失败 - msg = Res.string().getBundle().getString("NET_PTZ_SET_TIMER_ERROR"); + msg = ("NET_PTZ_SET_TIMER_ERROR"); break; case LastError.NET_RETURN_DATA_ERROR: // (0x80000000|21) 对返回数据的校验出错 - msg = Res.string().getBundle().getString("NET_RETURN_DATA_ERROR"); + msg = ("NET_RETURN_DATA_ERROR"); break; case LastError.NET_INSUFFICIENT_BUFFER: // (0x80000000|22) 没有足够的缓存 - msg = Res.string().getBundle().getString("NET_INSUFFICIENT_BUFFER"); + msg = ("NET_INSUFFICIENT_BUFFER"); break; case LastError.NET_NOT_SUPPORTED: // (0x80000000|23) 当前SDK未支持该功能 - msg = Res.string().getBundle().getString("NET_NOT_SUPPORTED"); + msg = ("NET_NOT_SUPPORTED"); break; case LastError.NET_NO_RECORD_FOUND: // (0x80000000|24) 查询不到录像 - msg = Res.string().getBundle().getString("NET_NO_RECORD_FOUND"); + msg = ("NET_NO_RECORD_FOUND"); break; case LastError.NET_NOT_AUTHORIZED: // (0x80000000|25) 无操作权限 - msg = Res.string().getBundle().getString("NET_NOT_AUTHORIZED"); + msg = ("NET_NOT_AUTHORIZED"); break; case LastError.NET_NOT_NOW: // (0x80000000|26) 暂时无法执行 - msg = Res.string().getBundle().getString("NET_NOT_NOW"); + msg = ("NET_NOT_NOW"); break; case LastError.NET_NO_TALK_CHANNEL: // (0x80000000|27) 未发现对讲通道 - msg = Res.string().getBundle().getString("NET_NO_TALK_CHANNEL"); + msg = ("NET_NO_TALK_CHANNEL"); break; case LastError.NET_NO_AUDIO: // (0x80000000|28) 未发现音频 - msg = Res.string().getBundle().getString("NET_NO_AUDIO"); + msg = ("NET_NO_AUDIO"); break; case LastError.NET_NO_INIT: // (0x80000000|29) 网络SDK未经初始化 - msg = Res.string().getBundle().getString("NET_NO_INIT"); + msg = ("NET_NO_INIT"); break; case LastError.NET_DOWNLOAD_END: // (0x80000000|30) 下载已结束 - msg = Res.string().getBundle().getString("NET_DOWNLOAD_END"); + msg = ("NET_DOWNLOAD_END"); break; case LastError.NET_EMPTY_LIST: // (0x80000000|31) 查询结果为空 - msg = Res.string().getBundle().getString("NET_EMPTY_LIST"); + msg = ("NET_EMPTY_LIST"); break; case LastError.NET_ERROR_GETCFG_SYSATTR: // (0x80000000|32) 获取系统属性配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SYSATTR"); + msg = ("NET_ERROR_GETCFG_SYSATTR"); break; case LastError.NET_ERROR_GETCFG_SERIAL: // (0x80000000|33) 获取序列号失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SERIAL"); + msg = ("NET_ERROR_GETCFG_SERIAL"); break; case LastError.NET_ERROR_GETCFG_GENERAL: // (0x80000000|34) 获取常规属性失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_GENERAL"); + msg = ("NET_ERROR_GETCFG_GENERAL"); break; case LastError.NET_ERROR_GETCFG_DSPCAP: // (0x80000000|35) 获取DSP能力描述失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_DSPCAP"); + msg = ("NET_ERROR_GETCFG_DSPCAP"); break; case LastError.NET_ERROR_GETCFG_NETCFG: // (0x80000000|36) 获取网络配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_NETCFG"); + msg = ("NET_ERROR_GETCFG_NETCFG"); break; case LastError.NET_ERROR_GETCFG_CHANNAME: // (0x80000000|37) 获取通道名称失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_CHANNAME"); + msg = ("NET_ERROR_GETCFG_CHANNAME"); break; case LastError.NET_ERROR_GETCFG_VIDEO: // (0x80000000|38) 获取视频属性失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_VIDEO"); + msg = ("NET_ERROR_GETCFG_VIDEO"); break; case LastError.NET_ERROR_GETCFG_RECORD: // (0x80000000|39) 获取录象配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_RECORD"); + msg = ("NET_ERROR_GETCFG_RECORD"); break; case LastError.NET_ERROR_GETCFG_PRONAME: // (0x80000000|40) 获取解码器协议名称失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_PRONAME"); + msg = ("NET_ERROR_GETCFG_PRONAME"); break; case LastError.NET_ERROR_GETCFG_FUNCNAME: // (0x80000000|41) 获取232串口功能名称失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_FUNCNAME"); + msg = ("NET_ERROR_GETCFG_FUNCNAME"); break; case LastError.NET_ERROR_GETCFG_485DECODER: // (0x80000000|42) 获取解码器属性失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_485DECODER"); + msg = ("NET_ERROR_GETCFG_485DECODER"); break; case LastError.NET_ERROR_GETCFG_232COM: // (0x80000000|43) 获取232串口配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_232COM"); + msg = ("NET_ERROR_GETCFG_232COM"); break; case LastError.NET_ERROR_GETCFG_ALARMIN: // (0x80000000|44) 获取外部报警输入配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_ALARMIN"); + msg = ("NET_ERROR_GETCFG_ALARMIN"); break; case LastError.NET_ERROR_GETCFG_ALARMDET: // (0x80000000|45) 获取动态检测报警失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_ALARMDET"); + msg = ("NET_ERROR_GETCFG_ALARMDET"); break; case LastError.NET_ERROR_GETCFG_SYSTIME: // (0x80000000|46) 获取设备时间失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SYSTIME"); + msg = ("NET_ERROR_GETCFG_SYSTIME"); break; case LastError.NET_ERROR_GETCFG_PREVIEW: // (0x80000000|47) 获取预览参数失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_PREVIEW"); + msg = ("NET_ERROR_GETCFG_PREVIEW"); break; case LastError.NET_ERROR_GETCFG_AUTOMT: // (0x80000000|48) 获取自动维护配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_AUTOMT"); + msg = ("NET_ERROR_GETCFG_AUTOMT"); break; case LastError.NET_ERROR_GETCFG_VIDEOMTRX: // (0x80000000|49) 获取视频矩阵配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_VIDEOMTRX"); + msg = ("NET_ERROR_GETCFG_VIDEOMTRX"); break; case LastError.NET_ERROR_GETCFG_COVER: // (0x80000000|50) 获取区域遮挡配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_COVER"); + msg = ("NET_ERROR_GETCFG_COVER"); break; case LastError.NET_ERROR_GETCFG_WATERMAKE: // (0x80000000|51) 获取图象水印配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_WATERMAKE"); + msg = ("NET_ERROR_GETCFG_WATERMAKE"); break; case LastError.NET_ERROR_GETCFG_MULTICAST: // (0x80000000|52) 获取配置失败位置:组播端口按通道配置 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_MULTICAST"); + msg = ("NET_ERROR_GETCFG_MULTICAST"); break; case LastError.NET_ERROR_SETCFG_GENERAL: // (0x80000000|55) 修改常规属性失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_GENERAL"); + msg = ("NET_ERROR_SETCFG_GENERAL"); break; case LastError.NET_ERROR_SETCFG_NETCFG: // (0x80000000|56) 改网络配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_NETCFG"); + msg = ("NET_ERROR_SETCFG_NETCFG"); break; case LastError.NET_ERROR_SETCFG_CHANNAME: // (0x80000000|57) 修改通道名称失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_CHANNAME"); + msg = ("NET_ERROR_SETCFG_CHANNAME"); break; case LastError.NET_ERROR_SETCFG_VIDEO: // (0x80000000|58) 修改视频属性失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_VIDEO"); + msg = ("NET_ERROR_SETCFG_VIDEO"); break; case LastError.NET_ERROR_SETCFG_RECORD: // (0x80000000|59) 修改录象配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_RECORD"); + msg = ("NET_ERROR_SETCFG_RECORD"); break; case LastError.NET_ERROR_SETCFG_485DECODER: // (0x80000000|60) 修改解码器属性失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_485DECODER"); + msg = ("NET_ERROR_SETCFG_485DECODER"); break; case LastError.NET_ERROR_SETCFG_232COM: // (0x80000000|61) 修改232串口配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_232COM"); + msg = ("NET_ERROR_SETCFG_232COM"); break; case LastError.NET_ERROR_SETCFG_ALARMIN: // (0x80000000|62) 修改外部输入报警配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_ALARMIN"); + msg = ("NET_ERROR_SETCFG_ALARMIN"); break; case LastError.NET_ERROR_SETCFG_ALARMDET: // (0x80000000|63) 修改动态检测报警配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_ALARMDET"); + msg = ("NET_ERROR_SETCFG_ALARMDET"); break; case LastError.NET_ERROR_SETCFG_SYSTIME: // (0x80000000|64) 修改设备时间失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_SYSTIME"); + msg = ("NET_ERROR_SETCFG_SYSTIME"); break; case LastError.NET_ERROR_SETCFG_PREVIEW: // (0x80000000|65) 修改预览参数失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_PREVIEW"); + msg = ("NET_ERROR_SETCFG_PREVIEW"); break; case LastError.NET_ERROR_SETCFG_AUTOMT: // (0x80000000|66) 修改自动维护配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_AUTOMT"); + msg = ("NET_ERROR_SETCFG_AUTOMT"); break; case LastError.NET_ERROR_SETCFG_VIDEOMTRX: // (0x80000000|67) 修改视频矩阵配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_VIDEOMTRX"); + msg = ("NET_ERROR_SETCFG_VIDEOMTRX"); break; case LastError.NET_ERROR_SETCFG_COVER: // (0x80000000|68) 修改区域遮挡配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_COVER"); + msg = ("NET_ERROR_SETCFG_COVER"); break; case LastError.NET_ERROR_SETCFG_WATERMAKE: // (0x80000000|69) 修改图象水印配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_WATERMAKE"); + msg = ("NET_ERROR_SETCFG_WATERMAKE"); break; case LastError.NET_ERROR_SETCFG_WLAN: // (0x80000000|70) 修改无线网络信息失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_WLAN"); + msg = ("NET_ERROR_SETCFG_WLAN"); break; case LastError.NET_ERROR_SETCFG_WLANDEV: // (0x80000000|71) 选择无线网络设备失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_WLANDEV"); + msg = ("NET_ERROR_SETCFG_WLANDEV"); break; case LastError.NET_ERROR_SETCFG_REGISTER: // (0x80000000|72) 修改主动注册参数配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_REGISTER"); + msg = ("NET_ERROR_SETCFG_REGISTER"); break; case LastError.NET_ERROR_SETCFG_CAMERA: // (0x80000000|73) 修改摄像头属性配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_CAMERA"); + msg = ("NET_ERROR_SETCFG_CAMERA"); break; case LastError.NET_ERROR_SETCFG_INFRARED: // (0x80000000|74) 修改红外报警配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_INFRARED"); + msg = ("NET_ERROR_SETCFG_INFRARED"); break; case LastError.NET_ERROR_SETCFG_SOUNDALARM: // (0x80000000|75) 修改音频报警配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_SOUNDALARM"); + msg = ("NET_ERROR_SETCFG_SOUNDALARM"); break; case LastError.NET_ERROR_SETCFG_STORAGE: // (0x80000000|76) 修改存储位置配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_STORAGE"); + msg = ("NET_ERROR_SETCFG_STORAGE"); break; case LastError.NET_AUDIOENCODE_NOTINIT: // (0x80000000|77) 音频编码接口没有成功初始化 - msg = Res.string().getBundle().getString("NET_AUDIOENCODE_NOTINIT"); + msg = ("NET_AUDIOENCODE_NOTINIT"); break; case LastError.NET_DATA_TOOLONGH: // (0x80000000|78) 数据过长 - msg = Res.string().getBundle().getString("NET_DATA_TOOLONGH"); + msg = ("NET_DATA_TOOLONGH"); break; case LastError.NET_UNSUPPORTED: // (0x80000000|79) 备不支持该操作 - msg = Res.string().getBundle().getString("NET_UNSUPPORTED"); + msg = ("NET_UNSUPPORTED"); break; case LastError.NET_DEVICE_BUSY: // (0x80000000|80) 设备资源不足 - msg = Res.string().getBundle().getString("NET_DEVICE_BUSY"); + msg = ("NET_DEVICE_BUSY"); break; case LastError.NET_SERVER_STARTED: // (0x80000000|81) 服务器已经启动 - msg = Res.string().getBundle().getString("NET_SERVER_STARTED"); + msg = ("NET_SERVER_STARTED"); break; case LastError.NET_SERVER_STOPPED: // (0x80000000|82) 服务器尚未成功启动 - msg = Res.string().getBundle().getString("NET_SERVER_STOPPED"); + msg = ("NET_SERVER_STOPPED"); break; case LastError.NET_LISTER_INCORRECT_SERIAL: // (0x80000000|83) 输入序列号有误 - msg = Res.string().getBundle().getString("NET_LISTER_INCORRECT_SERIAL"); + msg = ("NET_LISTER_INCORRECT_SERIAL"); break; case LastError.NET_QUERY_DISKINFO_FAILED: // (0x80000000|84) 获取硬盘信息失败 - msg = Res.string().getBundle().getString("NET_QUERY_DISKINFO_FAILED"); + msg = ("NET_QUERY_DISKINFO_FAILED"); break; case LastError.NET_ERROR_GETCFG_SESSION: // (0x80000000|85) 获取连接Session信息 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SESSION"); + msg = ("NET_ERROR_GETCFG_SESSION"); break; case LastError.NET_USER_FLASEPWD_TRYTIME: // (0x80000000|86) 输入密码错误超过限制次数 - msg = Res.string().getBundle().getString("NET_USER_FLASEPWD_TRYTIME"); + msg = ("NET_USER_FLASEPWD_TRYTIME"); break; case LastError.NET_LOGIN_ERROR_PASSWORD: // (0x80000000|100) 密码不正确 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_PASSWORD"); + msg = ("NET_LOGIN_ERROR_PASSWORD"); break; case LastError.NET_LOGIN_ERROR_USER: // (0x80000000|101) 帐户不存在 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_USER"); + msg = ("NET_LOGIN_ERROR_USER"); break; case LastError.NET_LOGIN_ERROR_TIMEOUT: // (0x80000000|102) 等待登录返回超时 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_TIMEOUT"); + msg = ("NET_LOGIN_ERROR_TIMEOUT"); break; case LastError.NET_LOGIN_ERROR_RELOGGIN: // (0x80000000|103) 帐号已登录 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_RELOGGIN"); + msg = ("NET_LOGIN_ERROR_RELOGGIN"); break; case LastError.NET_LOGIN_ERROR_LOCKED: // (0x80000000|104) 帐号已被锁定 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_LOCKED"); + msg = ("NET_LOGIN_ERROR_LOCKED"); break; case LastError.NET_LOGIN_ERROR_BLACKLIST: // (0x80000000|105) 帐号已被列为禁止名单 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_BLACKLIST"); + msg = ("NET_LOGIN_ERROR_BLACKLIST"); break; case LastError.NET_LOGIN_ERROR_BUSY: // (0x80000000|106) 资源不足,系统忙 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_BUSY"); + msg = ("NET_LOGIN_ERROR_BUSY"); break; case LastError.NET_LOGIN_ERROR_CONNECT: // (0x80000000|107) 登录设备超时,请检查网络并重试 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_CONNECT"); + msg = ("NET_LOGIN_ERROR_CONNECT"); break; case LastError.NET_LOGIN_ERROR_NETWORK: // (0x80000000|108) 网络连接失败 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_NETWORK"); + msg = ("NET_LOGIN_ERROR_NETWORK"); break; case LastError.NET_LOGIN_ERROR_SUBCONNECT: // (0x80000000|109) 登录设备成功,但无法创建视频通道,请检查网 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_SUBCONNECT"); + msg = ("NET_LOGIN_ERROR_SUBCONNECT"); break; case LastError.NET_LOGIN_ERROR_MAXCONNECT: // (0x80000000|110) 超过最大连接数 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_MAXCONNECT"); + msg = ("NET_LOGIN_ERROR_MAXCONNECT"); break; case LastError.NET_LOGIN_ERROR_PROTOCOL3_ONLY: // (0x80000000|111) 只支持3代协议 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_PROTOCOL3_ONLY"); + msg = ("NET_LOGIN_ERROR_PROTOCOL3_ONLY"); break; case LastError.NET_LOGIN_ERROR_UKEY_LOST: // (0x80000000|112) 插入U盾或U盾信息错误 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_UKEY_LOST"); + msg = ("NET_LOGIN_ERROR_UKEY_LOST"); break; case LastError.NET_LOGIN_ERROR_NO_AUTHORIZED: // (0x80000000|113) 客户端IP地址没有登录权限 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_NO_AUTHORIZED"); + msg = ("NET_LOGIN_ERROR_NO_AUTHORIZED"); break; case LastError.NET_LOGIN_ERROR_USER_OR_PASSOWRD: // (0x80000000|117) 账号或密码错误 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_USER_OR_PASSOWRD"); + msg = ("NET_LOGIN_ERROR_USER_OR_PASSOWRD"); break; case LastError.NET_LOGIN_ERROR_DEVICE_NOT_INIT: // (0x80000000|118) 设备尚未初始化,不能登录,请先初始化设备 - msg = Res.string().getBundle().getString("NET_LOGIN_ERROR_DEVICE_NOT_INIT"); + msg = ("NET_LOGIN_ERROR_DEVICE_NOT_INIT"); break; case LastError.NET_RENDER_SOUND_ON_ERROR: // (0x80000000|120) Render库打开音频出错 - msg = Res.string().getBundle().getString("NET_RENDER_SOUND_ON_ERROR"); + msg = ("NET_RENDER_SOUND_ON_ERROR"); break; case LastError.NET_RENDER_SOUND_OFF_ERROR: // (0x80000000|121) Render库关闭音频出错 - msg = Res.string().getBundle().getString("NET_RENDER_SOUND_OFF_ERROR"); + msg = ("NET_RENDER_SOUND_OFF_ERROR"); break; case LastError.NET_RENDER_SET_VOLUME_ERROR: // (0x80000000|122) Render库控制音量出错 - msg = Res.string().getBundle().getString("NET_RENDER_SET_VOLUME_ERROR"); + msg = ("NET_RENDER_SET_VOLUME_ERROR"); break; case LastError.NET_RENDER_ADJUST_ERROR: // (0x80000000|123) Render库设置画面参数出错 - msg = Res.string().getBundle().getString("NET_RENDER_ADJUST_ERROR"); + msg = ("NET_RENDER_ADJUST_ERROR"); break; case LastError.NET_RENDER_PAUSE_ERROR: // (0x80000000|124) Render库暂停播放出错 - msg = Res.string().getBundle().getString("NET_RENDER_PAUSE_ERROR"); + msg = ("NET_RENDER_PAUSE_ERROR"); break; case LastError.NET_RENDER_SNAP_ERROR: // (0x80000000|125) Render库抓图出错 - msg = Res.string().getBundle().getString("NET_RENDER_SNAP_ERROR"); + msg = ("NET_RENDER_SNAP_ERROR"); break; case LastError.NET_RENDER_STEP_ERROR: // (0x80000000|126) Render库步进出错 - msg = Res.string().getBundle().getString("NET_RENDER_STEP_ERROR"); + msg = ("NET_RENDER_STEP_ERROR"); break; case LastError.NET_RENDER_FRAMERATE_ERROR: // (0x80000000|127) Render库设置帧率出错 - msg = Res.string().getBundle().getString("NET_RENDER_FRAMERATE_ERROR"); + msg = ("NET_RENDER_FRAMERATE_ERROR"); break; case LastError.NET_RENDER_DISPLAYREGION_ERROR: // (0x80000000|128) Render库设置显示区域出错 - msg = Res.string().getBundle().getString("NET_RENDER_DISPLAYREGION_ERROR"); + msg = ("NET_RENDER_DISPLAYREGION_ERROR"); break; case LastError.NET_RENDER_GETOSDTIME_ERROR: // (0x80000000|129) Render库获取当前播放时间出错 - msg = Res.string().getBundle().getString("NET_RENDER_GETOSDTIME_ERROR"); + msg = ("NET_RENDER_GETOSDTIME_ERROR"); break; case LastError.NET_GROUP_EXIST: // (0x80000000|140) 组名已存在 - msg = Res.string().getBundle().getString("NET_GROUP_EXIST"); + msg = ("NET_GROUP_EXIST"); break; case LastError.NET_GROUP_NOEXIST: // (0x80000000|141) 组名不存在 - msg = Res.string().getBundle().getString("NET_GROUP_NOEXIST"); + msg = ("NET_GROUP_NOEXIST"); break; case LastError.NET_GROUP_RIGHTOVER: // (0x80000000|142) 组的权限超出权限列表范围 - msg = Res.string().getBundle().getString("NET_GROUP_RIGHTOVER"); + msg = ("NET_GROUP_RIGHTOVER"); break; case LastError.NET_GROUP_HAVEUSER: // (0x80000000|143) 组下有用户,不能删除 - msg = Res.string().getBundle().getString("NET_GROUP_HAVEUSER"); + msg = ("NET_GROUP_HAVEUSER"); break; case LastError.NET_GROUP_RIGHTUSE: // (0x80000000|144) 组的某个权限被用户使用,不能出除 - msg = Res.string().getBundle().getString("NET_GROUP_RIGHTUSE"); + msg = ("NET_GROUP_RIGHTUSE"); break; case LastError.NET_GROUP_SAMENAME: // (0x80000000|145) 新组名同已有组名重复 - msg = Res.string().getBundle().getString("NET_GROUP_SAMENAME"); + msg = ("NET_GROUP_SAMENAME"); break; case LastError.NET_USER_EXIST: // (0x80000000|146) 用户已存在 - msg = Res.string().getBundle().getString("NET_USER_EXIST"); + msg = ("NET_USER_EXIST"); break; case LastError.NET_USER_NOEXIST: // (0x80000000|147) 用户不存在 - msg = Res.string().getBundle().getString("NET_USER_NOEXIST"); + msg = ("NET_USER_NOEXIST"); break; case LastError.NET_USER_RIGHTOVER: // (0x80000000|148) 用户权限超出组权限 - msg = Res.string().getBundle().getString("NET_USER_RIGHTOVER"); + msg = ("NET_USER_RIGHTOVER"); break; case LastError.NET_USER_PWD: // (0x80000000|149) 保留帐号,不容许修改密码 - msg = Res.string().getBundle().getString("NET_USER_PWD"); + msg = ("NET_USER_PWD"); break; case LastError.NET_USER_FLASEPWD: // (0x80000000|150) 密码不正确 - msg = Res.string().getBundle().getString("NET_USER_FLASEPWD"); + msg = ("NET_USER_FLASEPWD"); break; case LastError.NET_USER_NOMATCHING: // (0x80000000|151) 密码不匹配 - msg = Res.string().getBundle().getString("NET_USER_NOMATCHING"); + msg = ("NET_USER_NOMATCHING"); break; case LastError.NET_USER_INUSE: // (0x80000000|152) 账号正在使用中 - msg = Res.string().getBundle().getString("NET_USER_INUSE"); + msg = ("NET_USER_INUSE"); break; case LastError.NET_ERROR_GETCFG_ETHERNET: // (0x80000000|300) 获取网卡配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_ETHERNET"); + msg = ("NET_ERROR_GETCFG_ETHERNET"); break; case LastError.NET_ERROR_GETCFG_WLAN: // (0x80000000|301) 获取无线网络信息失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_WLAN"); + msg = ("NET_ERROR_GETCFG_WLAN"); break; case LastError.NET_ERROR_GETCFG_WLANDEV: // (0x80000000|302) 获取无线网络设备失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_WLANDEV"); + msg = ("NET_ERROR_GETCFG_WLANDEV"); break; case LastError.NET_ERROR_GETCFG_REGISTER: // (0x80000000|303) 获取主动注册参数失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_REGISTER"); + msg = ("NET_ERROR_GETCFG_REGISTER"); break; case LastError.NET_ERROR_GETCFG_CAMERA: // (0x80000000|304) 获取摄像头属性失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_CAMERA"); + msg = ("NET_ERROR_GETCFG_CAMERA"); break; case LastError.NET_ERROR_GETCFG_INFRARED: // (0x80000000|305) 获取红外报警配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_INFRARED"); + msg = ("NET_ERROR_GETCFG_INFRARED"); break; case LastError.NET_ERROR_GETCFG_SOUNDALARM: // (0x80000000|306) 获取音频报警配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SOUNDALARM"); + msg = ("NET_ERROR_GETCFG_SOUNDALARM"); break; case LastError.NET_ERROR_GETCFG_STORAGE: // (0x80000000|307) 获取存储位置配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_STORAGE"); + msg = ("NET_ERROR_GETCFG_STORAGE"); break; case LastError.NET_ERROR_GETCFG_MAIL: // (0x80000000|308) 获取邮件配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_MAIL"); + msg = ("NET_ERROR_GETCFG_MAIL"); break; case LastError.NET_CONFIG_DEVBUSY: // (0x80000000|309) 暂时无法设置 - msg = Res.string().getBundle().getString("NET_CONFIG_DEVBUSY"); + msg = ("NET_CONFIG_DEVBUSY"); break; case LastError.NET_CONFIG_DATAILLEGAL: // (0x80000000|310) 配置数据不合法 - msg = Res.string().getBundle().getString("NET_CONFIG_DATAILLEGAL"); + msg = ("NET_CONFIG_DATAILLEGAL"); break; case LastError.NET_ERROR_GETCFG_DST: // (0x80000000|311) 获取夏令时配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_DST"); + msg = ("NET_ERROR_GETCFG_DST"); break; case LastError.NET_ERROR_SETCFG_DST: // (0x80000000|312) 设置夏令时配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_DST"); + msg = ("NET_ERROR_SETCFG_DST"); break; case LastError.NET_ERROR_GETCFG_VIDEO_OSD: // (0x80000000|313) 获取视频OSD叠加配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_VIDEO_OSD"); + msg = ("NET_ERROR_GETCFG_VIDEO_OSD"); break; case LastError.NET_ERROR_SETCFG_VIDEO_OSD: // (0x80000000|314) 设置视频OSD叠加配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_VIDEO_OSD"); + msg = ("NET_ERROR_SETCFG_VIDEO_OSD"); break; case LastError.NET_ERROR_GETCFG_GPRSCDMA: // (0x80000000|315) 获取CDMA\GPRS网络配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_GPRSCDMA"); + msg = ("NET_ERROR_GETCFG_GPRSCDMA"); break; case LastError.NET_ERROR_SETCFG_GPRSCDMA: // (0x80000000|316) 设置CDMA\GPRS网络配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_GPRSCDMA"); + msg = ("NET_ERROR_SETCFG_GPRSCDMA"); break; case LastError.NET_ERROR_GETCFG_IPFILTER: // (0x80000000|317) 获取IP过滤配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_IPFILTER"); + msg = ("NET_ERROR_GETCFG_IPFILTER"); break; case LastError.NET_ERROR_SETCFG_IPFILTER: // (0x80000000|318) 设置IP过滤配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_IPFILTER"); + msg = ("NET_ERROR_SETCFG_IPFILTER"); break; case LastError.NET_ERROR_GETCFG_TALKENCODE: // (0x80000000|319) 获取语音对讲编码配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_TALKENCODE"); + msg = ("NET_ERROR_GETCFG_TALKENCODE"); break; case LastError.NET_ERROR_SETCFG_TALKENCODE: // (0x80000000|320) 设置语音对讲编码配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_TALKENCODE"); + msg = ("NET_ERROR_SETCFG_TALKENCODE"); break; case LastError.NET_ERROR_GETCFG_RECORDLEN: // (0x80000000|321) 获取录像打包长度配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_RECORDLEN"); + msg = ("NET_ERROR_GETCFG_RECORDLEN"); break; case LastError.NET_ERROR_SETCFG_RECORDLEN: // (0x80000000|322) 设置录像打包长度配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_RECORDLEN"); + msg = ("NET_ERROR_SETCFG_RECORDLEN"); break; case LastError.NET_DONT_SUPPORT_SUBAREA: // (0x80000000|323) 不支持网络硬盘分区 - msg = Res.string().getBundle().getString("NET_DONT_SUPPORT_SUBAREA"); + msg = ("NET_DONT_SUPPORT_SUBAREA"); break; case LastError.NET_ERROR_GET_AUTOREGSERVER: // (0x80000000|324) 获取设备上主动注册服务器信息失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_AUTOREGSERVER"); + msg = ("NET_ERROR_GET_AUTOREGSERVER"); break; case LastError.NET_ERROR_CONTROL_AUTOREGISTER: // (0x80000000|325) 主动注册重定向注册错误 - msg = Res.string().getBundle().getString("NET_ERROR_CONTROL_AUTOREGISTER"); + msg = ("NET_ERROR_CONTROL_AUTOREGISTER"); break; case LastError.NET_ERROR_DISCONNECT_AUTOREGISTER: // (0x80000000|326) 断开主动注册服务器错误 - msg = Res.string().getBundle().getString("NET_ERROR_DISCONNECT_AUTOREGISTER"); + msg = ("NET_ERROR_DISCONNECT_AUTOREGISTER"); break; case LastError.NET_ERROR_GETCFG_MMS: // (0x80000000|327) 获取mms配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_MMS"); + msg = ("NET_ERROR_GETCFG_MMS"); break; case LastError.NET_ERROR_SETCFG_MMS: // (0x80000000|328) 设置mms配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_MMS"); + msg = ("NET_ERROR_SETCFG_MMS"); break; case LastError.NET_ERROR_GETCFG_SMSACTIVATION: // (0x80000000|329) 获取短信激活无线连接配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_SMSACTIVATION"); + msg = ("NET_ERROR_GETCFG_SMSACTIVATION"); break; case LastError.NET_ERROR_SETCFG_SMSACTIVATION: // (0x80000000|330) 设置短信激活无线连接配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_SMSACTIVATION"); + msg = ("NET_ERROR_SETCFG_SMSACTIVATION"); break; case LastError.NET_ERROR_GETCFG_DIALINACTIVATION: // (0x80000000|331) 获取拨号激活无线连接配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_DIALINACTIVATION"); + msg = ("NET_ERROR_GETCFG_DIALINACTIVATION"); break; case LastError.NET_ERROR_SETCFG_DIALINACTIVATION: // (0x80000000|332) 设置拨号激活无线连接配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_DIALINACTIVATION"); + msg = ("NET_ERROR_SETCFG_DIALINACTIVATION"); break; case LastError.NET_ERROR_GETCFG_VIDEOOUT: // (0x80000000|333) 查询视频输出参数配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_VIDEOOUT"); + msg = ("NET_ERROR_GETCFG_VIDEOOUT"); break; case LastError.NET_ERROR_SETCFG_VIDEOOUT: // (0x80000000|334) 设置视频输出参数配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_VIDEOOUT"); + msg = ("NET_ERROR_SETCFG_VIDEOOUT"); break; case LastError.NET_ERROR_GETCFG_OSDENABLE: // (0x80000000|335) 获取osd叠加使能配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_OSDENABLE"); + msg = ("NET_ERROR_GETCFG_OSDENABLE"); break; case LastError.NET_ERROR_SETCFG_OSDENABLE: // (0x80000000|336) 设置osd叠加使能配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_OSDENABLE"); + msg = ("NET_ERROR_SETCFG_OSDENABLE"); break; case LastError.NET_ERROR_SETCFG_ENCODERINFO: // (0x80000000|337) 设置数字通道前端编码接入配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_ENCODERINFO"); + msg = ("NET_ERROR_SETCFG_ENCODERINFO"); break; case LastError.NET_ERROR_GETCFG_TVADJUST: // (0x80000000|338) 获取TV调节配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_TVADJUST"); + msg = ("NET_ERROR_GETCFG_TVADJUST"); break; case LastError.NET_ERROR_SETCFG_TVADJUST: // (0x80000000|339) 设置TV调节配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_TVADJUST"); + msg = ("NET_ERROR_SETCFG_TVADJUST"); break; case LastError.NET_ERROR_CONNECT_FAILED: // (0x80000000|340) 请求建立连接失败 - msg = Res.string().getBundle().getString("NET_ERROR_CONNECT_FAILED"); + msg = ("NET_ERROR_CONNECT_FAILED"); break; case LastError.NET_ERROR_SETCFG_BURNFILE: // (0x80000000|341) 请求刻录文件上传失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_BURNFILE"); + msg = ("NET_ERROR_SETCFG_BURNFILE"); break; case LastError.NET_ERROR_SNIFFER_GETCFG: // (0x80000000|342) 获取抓包配置信息失败 - msg = Res.string().getBundle().getString("NET_ERROR_SNIFFER_GETCFG"); + msg = ("NET_ERROR_SNIFFER_GETCFG"); break; case LastError.NET_ERROR_SNIFFER_SETCFG: // (0x80000000|343) 设置抓包配置信息失败 - msg = Res.string().getBundle().getString("NET_ERROR_SNIFFER_SETCFG"); + msg = ("NET_ERROR_SNIFFER_SETCFG"); break; case LastError.NET_ERROR_DOWNLOADRATE_GETCFG: // (0x80000000|344) 查询下载限制信息失败 - msg = Res.string().getBundle().getString("NET_ERROR_DOWNLOADRATE_GETCFG"); + msg = ("NET_ERROR_DOWNLOADRATE_GETCFG"); break; case LastError.NET_ERROR_DOWNLOADRATE_SETCFG: // (0x80000000|345) 设置下载限制信息失败 - msg = Res.string().getBundle().getString("NET_ERROR_DOWNLOADRATE_SETCFG"); + msg = ("NET_ERROR_DOWNLOADRATE_SETCFG"); break; case LastError.NET_ERROR_SEARCH_TRANSCOM: // (0x80000000|346) 查询串口参数失败 - msg = Res.string().getBundle().getString("NET_ERROR_SEARCH_TRANSCOM"); + msg = ("NET_ERROR_SEARCH_TRANSCOM"); break; case LastError.NET_ERROR_GETCFG_POINT: // (0x80000000|347) 获取预制点信息错误 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_POINT"); + msg = ("NET_ERROR_GETCFG_POINT"); break; case LastError.NET_ERROR_SETCFG_POINT: // (0x80000000|348) 设置预制点信息错误 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_POINT"); + msg = ("NET_ERROR_SETCFG_POINT"); break; case LastError.NET_SDK_LOGOUT_ERROR: // (0x80000000|349) SDK没有正常登出设备 - msg = Res.string().getBundle().getString("NET_SDK_LOGOUT_ERROR"); + msg = ("NET_SDK_LOGOUT_ERROR"); break; case LastError.NET_ERROR_GET_VEHICLE_CFG: // (0x80000000|350) 获取车载配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_VEHICLE_CFG"); + msg = ("NET_ERROR_GET_VEHICLE_CFG"); break; case LastError.NET_ERROR_SET_VEHICLE_CFG: // (0x80000000|351) 设置车载配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SET_VEHICLE_CFG"); + msg = ("NET_ERROR_SET_VEHICLE_CFG"); break; case LastError.NET_ERROR_GET_ATM_OVERLAY_CFG: // (0x80000000|352) 获取atm叠加配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_ATM_OVERLAY_CFG"); + msg = ("NET_ERROR_GET_ATM_OVERLAY_CFG"); break; case LastError.NET_ERROR_SET_ATM_OVERLAY_CFG: // (0x80000000|353) 设置atm叠加配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SET_ATM_OVERLAY_CFG"); + msg = ("NET_ERROR_SET_ATM_OVERLAY_CFG"); break; case LastError.NET_ERROR_GET_ATM_OVERLAY_ABILITY: // (0x80000000|354) 获取atm叠加能力失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_ATM_OVERLAY_ABILITY"); + msg = ("NET_ERROR_GET_ATM_OVERLAY_ABILITY"); break; case LastError.NET_ERROR_GET_DECODER_TOUR_CFG: // (0x80000000|355) 获取解码器解码轮巡配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_DECODER_TOUR_CFG"); + msg = ("NET_ERROR_GET_DECODER_TOUR_CFG"); break; case LastError.NET_ERROR_SET_DECODER_TOUR_CFG: // (0x80000000|356) 设置解码器解码轮巡配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SET_DECODER_TOUR_CFG"); + msg = ("NET_ERROR_SET_DECODER_TOUR_CFG"); break; case LastError.NET_ERROR_CTRL_DECODER_TOUR: // (0x80000000|357) 控制解码器解码轮巡失败 - msg = Res.string().getBundle().getString("NET_ERROR_CTRL_DECODER_TOUR"); + msg = ("NET_ERROR_CTRL_DECODER_TOUR"); break; case LastError.NET_GROUP_OVERSUPPORTNUM: // (0x80000000|358) 超出设备支持最大用户组数目 - msg = Res.string().getBundle().getString("NET_GROUP_OVERSUPPORTNUM"); + msg = ("NET_GROUP_OVERSUPPORTNUM"); break; case LastError.NET_USER_OVERSUPPORTNUM: // (0x80000000|359) 超出设备支持最大用户数目 - msg = Res.string().getBundle().getString("NET_USER_OVERSUPPORTNUM"); + msg = ("NET_USER_OVERSUPPORTNUM"); break; case LastError.NET_ERROR_GET_SIP_CFG: // (0x80000000|368) 获取SIP配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_SIP_CFG"); + msg = ("NET_ERROR_GET_SIP_CFG"); break; case LastError.NET_ERROR_SET_SIP_CFG: // (0x80000000|369) 设置SIP配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SET_SIP_CFG"); + msg = ("NET_ERROR_SET_SIP_CFG"); break; case LastError.NET_ERROR_GET_SIP_ABILITY: // (0x80000000|370) 获取SIP能力失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_SIP_ABILITY"); + msg = ("NET_ERROR_GET_SIP_ABILITY"); break; case LastError.NET_ERROR_GET_WIFI_AP_CFG: // (0x80000000|371) 获取WIFI ap配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_WIFI_AP_CFG"); + msg = ("NET_ERROR_GET_WIFI_AP_CFG"); break; case LastError.NET_ERROR_SET_WIFI_AP_CFG: // (0x80000000|372) 设置WIFI ap配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SET_WIFI_AP_CFG"); + msg = ("NET_ERROR_SET_WIFI_AP_CFG"); break; case LastError.NET_ERROR_GET_DECODE_POLICY: // (0x80000000|373) 获取解码策略配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_DECODE_POLICY"); + msg = ("NET_ERROR_GET_DECODE_POLICY"); break; case LastError.NET_ERROR_SET_DECODE_POLICY: // (0x80000000|374) 设置解码策略配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SET_DECODE_POLICY"); + msg = ("NET_ERROR_SET_DECODE_POLICY"); break; case LastError.NET_ERROR_TALK_REJECT: // (0x80000000|375) 拒绝对讲 - msg = Res.string().getBundle().getString("NET_ERROR_TALK_REJECT"); + msg = ("NET_ERROR_TALK_REJECT"); break; case LastError.NET_ERROR_TALK_OPENED: // (0x80000000|376) 对讲被其他客户端打开 - msg = Res.string().getBundle().getString("NET_ERROR_TALK_OPENED"); + msg = ("NET_ERROR_TALK_OPENED"); break; case LastError.NET_ERROR_TALK_RESOURCE_CONFLICIT: // (0x80000000|377) 资源冲突 - msg = Res.string().getBundle().getString("NET_ERROR_TALK_RESOURCE_CONFLICIT"); + msg = ("NET_ERROR_TALK_RESOURCE_CONFLICIT"); break; case LastError.NET_ERROR_TALK_UNSUPPORTED_ENCODE: // (0x80000000|378) 不支持的语音编码格式 - msg = Res.string().getBundle().getString("NET_ERROR_TALK_UNSUPPORTED_ENCODE"); + msg = ("NET_ERROR_TALK_UNSUPPORTED_ENCODE"); break; case LastError.NET_ERROR_TALK_RIGHTLESS: // (0x80000000|379) 无权限 - msg = Res.string().getBundle().getString("NET_ERROR_TALK_RIGHTLESS"); + msg = ("NET_ERROR_TALK_RIGHTLESS"); break; case LastError.NET_ERROR_TALK_FAILED: // (0x80000000|380) 请求对讲失败 - msg = Res.string().getBundle().getString("NET_ERROR_TALK_FAILED"); + msg = ("NET_ERROR_TALK_FAILED"); break; case LastError.NET_ERROR_GET_MACHINE_CFG: // (0x80000000|381) 获取机器相关配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_MACHINE_CFG"); + msg = ("NET_ERROR_GET_MACHINE_CFG"); break; case LastError.NET_ERROR_SET_MACHINE_CFG: // (0x80000000|382) 设置机器相关配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SET_MACHINE_CFG"); + msg = ("NET_ERROR_SET_MACHINE_CFG"); break; case LastError.NET_ERROR_GET_DATA_FAILED: // (0x80000000|383) 设备无法获取当前请求数据 - msg = Res.string().getBundle().getString("NET_ERROR_GET_DATA_FAILED"); + msg = ("NET_ERROR_GET_DATA_FAILED"); break; case LastError.NET_ERROR_MAC_VALIDATE_FAILED: // (0x80000000|384) MAC地址验证失败 - msg = Res.string().getBundle().getString("NET_ERROR_MAC_VALIDATE_FAILED"); + msg = ("NET_ERROR_MAC_VALIDATE_FAILED"); break; case LastError.NET_ERROR_GET_INSTANCE: // (0x80000000|385) 获取服务器实例失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_INSTANCE"); + msg = ("NET_ERROR_GET_INSTANCE"); break; case LastError.NET_ERROR_JSON_REQUEST: // (0x80000000|386) 生成的json字符串错误 - msg = Res.string().getBundle().getString("NET_ERROR_JSON_REQUEST"); + msg = ("NET_ERROR_JSON_REQUEST"); break; case LastError.NET_ERROR_JSON_RESPONSE: // (0x80000000|387) 响应的json字符串错误 - msg = Res.string().getBundle().getString("NET_ERROR_JSON_RESPONSE"); + msg = ("NET_ERROR_JSON_RESPONSE"); break; case LastError.NET_ERROR_VERSION_HIGHER: // (0x80000000|388) 协议版本低于当前使用的版本 - msg = Res.string().getBundle().getString("NET_ERROR_VERSION_HIGHER"); + msg = ("NET_ERROR_VERSION_HIGHER"); break; case LastError.NET_SPARE_NO_CAPACITY: // (0x80000000|389) 热备操作失败, 容量不足 - msg = Res.string().getBundle().getString("NET_SPARE_NO_CAPACITY"); + msg = ("NET_SPARE_NO_CAPACITY"); break; case LastError.NET_ERROR_SOURCE_IN_USE: // (0x80000000|390) 显示源被其他输出占用 - msg = Res.string().getBundle().getString("NET_ERROR_SOURCE_IN_USE"); + msg = ("NET_ERROR_SOURCE_IN_USE"); break; case LastError.NET_ERROR_REAVE: // (0x80000000|391) 高级用户抢占低级用户资源 - msg = Res.string().getBundle().getString("NET_ERROR_REAVE"); + msg = ("NET_ERROR_REAVE"); break; case LastError.NET_ERROR_NETFORBID: // (0x80000000|392) 禁止入网 - msg = Res.string().getBundle().getString("NET_ERROR_NETFORBID"); + msg = ("NET_ERROR_NETFORBID"); break; case LastError.NET_ERROR_GETCFG_MACFILTER: // (0x80000000|393) 获取MAC过滤配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_MACFILTER"); + msg = ("NET_ERROR_GETCFG_MACFILTER"); break; case LastError.NET_ERROR_SETCFG_MACFILTER: // (0x80000000|394) 设置MAC过滤配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_MACFILTER"); + msg = ("NET_ERROR_SETCFG_MACFILTER"); break; case LastError.NET_ERROR_GETCFG_IPMACFILTER: // (0x80000000|395) 获取IP/MAC过滤配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_GETCFG_IPMACFILTER"); + msg = ("NET_ERROR_GETCFG_IPMACFILTER"); break; case LastError.NET_ERROR_SETCFG_IPMACFILTER: // (0x80000000|396) 设置IP/MAC过滤配置失败 - msg = Res.string().getBundle().getString("NET_ERROR_SETCFG_IPMACFILTER"); + msg = ("NET_ERROR_SETCFG_IPMACFILTER"); break; case LastError.NET_ERROR_OPERATION_OVERTIME: // (0x80000000|397) 当前操作超时 - msg = Res.string().getBundle().getString("NET_ERROR_OPERATION_OVERTIME"); + msg = ("NET_ERROR_OPERATION_OVERTIME"); break; case LastError.NET_ERROR_SENIOR_VALIDATE_FAILED: // (0x80000000|398) 高级校验失败 - msg = Res.string().getBundle().getString("NET_ERROR_SENIOR_VALIDATE_FAILED"); + msg = ("NET_ERROR_SENIOR_VALIDATE_FAILED"); break; case LastError.NET_ERROR_DEVICE_ID_NOT_EXIST: // (0x80000000|399) 设备ID不存在 - msg = Res.string().getBundle().getString("NET_ERROR_DEVICE_ID_NOT_EXIST"); + msg = ("NET_ERROR_DEVICE_ID_NOT_EXIST"); break; case LastError.NET_ERROR_UNSUPPORTED: // (0x80000000|400) 不支持当前操作 - msg = Res.string().getBundle().getString("NET_ERROR_UNSUPPORTED"); + msg = ("NET_ERROR_UNSUPPORTED"); break; case LastError.NET_ERROR_PROXY_DLLLOAD: // (0x80000000|401) 代理库加载失败 - msg = Res.string().getBundle().getString("NET_ERROR_PROXY_DLLLOAD"); + msg = ("NET_ERROR_PROXY_DLLLOAD"); break; case LastError.NET_ERROR_PROXY_ILLEGAL_PARAM: // (0x80000000|402) 代理用户参数不合法 - msg = Res.string().getBundle().getString("NET_ERROR_PROXY_ILLEGAL_PARAM"); + msg = ("NET_ERROR_PROXY_ILLEGAL_PARAM"); break; case LastError.NET_ERROR_PROXY_INVALID_HANDLE: // (0x80000000|403) 代理句柄无效 - msg = Res.string().getBundle().getString("NET_ERROR_PROXY_INVALID_HANDLE"); + msg = ("NET_ERROR_PROXY_INVALID_HANDLE"); break; case LastError.NET_ERROR_PROXY_LOGIN_DEVICE_ERROR: // (0x80000000|404) 代理登入前端设备失败 - msg = Res.string().getBundle().getString("NET_ERROR_PROXY_LOGIN_DEVICE_ERROR"); + msg = ("NET_ERROR_PROXY_LOGIN_DEVICE_ERROR"); break; case LastError.NET_ERROR_PROXY_START_SERVER_ERROR: // (0x80000000|405) 启动代理服务失败 - msg = Res.string().getBundle().getString("NET_ERROR_PROXY_START_SERVER_ERROR"); + msg = ("NET_ERROR_PROXY_START_SERVER_ERROR"); break; case LastError.NET_ERROR_SPEAK_FAILED: // (0x80000000|406) 请求喊话失败 - msg = Res.string().getBundle().getString("NET_ERROR_SPEAK_FAILED"); + msg = ("NET_ERROR_SPEAK_FAILED"); break; case LastError.NET_ERROR_NOT_SUPPORT_F6: // (0x80000000|407) 设备不支持此F6接口调用 - msg = Res.string().getBundle().getString("NET_ERROR_NOT_SUPPORT_F6"); + msg = ("NET_ERROR_NOT_SUPPORT_F6"); break; case LastError.NET_ERROR_CD_UNREADY: // (0x80000000|408) 光盘未就绪 - msg = Res.string().getBundle().getString("NET_ERROR_CD_UNREADY"); + msg = ("NET_ERROR_CD_UNREADY"); break; case LastError.NET_ERROR_DIR_NOT_EXIST: // (0x80000000|409) 目录不存在 - msg = Res.string().getBundle().getString("NET_ERROR_DIR_NOT_EXIST"); + msg = ("NET_ERROR_DIR_NOT_EXIST"); break; case LastError.NET_ERROR_UNSUPPORTED_SPLIT_MODE: // (0x80000000|410) 设备不支持的分割模式 - msg = Res.string().getBundle().getString("NET_ERROR_UNSUPPORTED_SPLIT_MODE"); + msg = ("NET_ERROR_UNSUPPORTED_SPLIT_MODE"); break; case LastError.NET_ERROR_OPEN_WND_PARAM: // (0x80000000|411) 开窗参数不合法 - msg = Res.string().getBundle().getString("NET_ERROR_OPEN_WND_PARAM"); + msg = ("NET_ERROR_OPEN_WND_PARAM"); break; case LastError.NET_ERROR_LIMITED_WND_COUNT: // (0x80000000|412) 开窗数量超过限制 - msg = Res.string().getBundle().getString("NET_ERROR_LIMITED_WND_COUNT"); + msg = ("NET_ERROR_LIMITED_WND_COUNT"); break; case LastError.NET_ERROR_UNMATCHED_REQUEST: // (0x80000000|413) 请求命令与当前模式不匹配 - msg = Res.string().getBundle().getString("NET_ERROR_UNMATCHED_REQUEST"); + msg = ("NET_ERROR_UNMATCHED_REQUEST"); break; case LastError.NET_RENDER_ENABLELARGEPICADJUSTMENT_ERROR: // (0x80000000|414) Render库启用高清图像内部调整策略出错 - msg = Res.string().getBundle().getString("NET_RENDER_ENABLELARGEPICADJUSTMENT_ERROR"); + msg = ("NET_RENDER_ENABLELARGEPICADJUSTMENT_ERROR"); break; case LastError.NET_ERROR_UPGRADE_FAILED: // (0x80000000|415) 设备升级失败 - msg = Res.string().getBundle().getString("NET_ERROR_UPGRADE_FAILED"); + msg = ("NET_ERROR_UPGRADE_FAILED"); break; case LastError.NET_ERROR_NO_TARGET_DEVICE: // (0x80000000|416) 找不到目标设备 - msg = Res.string().getBundle().getString("NET_ERROR_NO_TARGET_DEVICE"); + msg = ("NET_ERROR_NO_TARGET_DEVICE"); break; case LastError.NET_ERROR_NO_VERIFY_DEVICE: // (0x80000000|417) 找不到验证设备 - msg = Res.string().getBundle().getString("NET_ERROR_NO_VERIFY_DEVICE"); + msg = ("NET_ERROR_NO_VERIFY_DEVICE"); break; case LastError.NET_ERROR_CASCADE_RIGHTLESS: // (0x80000000|418) 无级联权限 - msg = Res.string().getBundle().getString("NET_ERROR_CASCADE_RIGHTLESS"); + msg = ("NET_ERROR_CASCADE_RIGHTLESS"); break; case LastError.NET_ERROR_LOW_PRIORITY: // (0x80000000|419) 低优先级 - msg = Res.string().getBundle().getString("NET_ERROR_LOW_PRIORITY"); + msg = ("NET_ERROR_LOW_PRIORITY"); break; case LastError.NET_ERROR_REMOTE_REQUEST_TIMEOUT: // (0x80000000|420) 远程设备请求超时 - msg = Res.string().getBundle().getString("NET_ERROR_REMOTE_REQUEST_TIMEOUT"); + msg = ("NET_ERROR_REMOTE_REQUEST_TIMEOUT"); break; case LastError.NET_ERROR_LIMITED_INPUT_SOURCE: // (0x80000000|421) 输入源超出最大路数限制 - msg = Res.string().getBundle().getString("NET_ERROR_LIMITED_INPUT_SOURCE"); + msg = ("NET_ERROR_LIMITED_INPUT_SOURCE"); break; case LastError.NET_ERROR_SET_LOG_PRINT_INFO: // (0x80000000|422) 设置日志打印失败 - msg = Res.string().getBundle().getString("NET_ERROR_SET_LOG_PRINT_INFO"); + msg = ("NET_ERROR_SET_LOG_PRINT_INFO"); break; case LastError.NET_ERROR_PARAM_DWSIZE_ERROR: // (0x80000000|423) 入参的dwsize字段出错 - msg = Res.string().getBundle().getString("NET_ERROR_PARAM_DWSIZE_ERROR"); + msg = ("NET_ERROR_PARAM_DWSIZE_ERROR"); break; case LastError.NET_ERROR_LIMITED_MONITORWALL_COUNT: // (0x80000000|424) 电视墙数量超过上限 - msg = Res.string().getBundle().getString("NET_ERROR_LIMITED_MONITORWALL_COUNT"); + msg = ("NET_ERROR_LIMITED_MONITORWALL_COUNT"); break; case LastError.NET_ERROR_PART_PROCESS_FAILED: // (0x80000000|425) 部分过程执行失败 - msg = Res.string().getBundle().getString("NET_ERROR_PART_PROCESS_FAILED"); + msg = ("NET_ERROR_PART_PROCESS_FAILED"); break; case LastError.NET_ERROR_TARGET_NOT_SUPPORT: // (0x80000000|426) 该功能不支持转发 - msg = Res.string().getBundle().getString("NET_ERROR_TARGET_NOT_SUPPORT"); + msg = ("NET_ERROR_TARGET_NOT_SUPPORT"); break; case LastError.NET_ERROR_VISITE_FILE: // (0x80000000|510) 访问文件失败 - msg = Res.string().getBundle().getString("NET_ERROR_VISITE_FILE"); + msg = ("NET_ERROR_VISITE_FILE"); break; case LastError.NET_ERROR_DEVICE_STATUS_BUSY: // (0x80000000|511) 设备忙 - msg = Res.string().getBundle().getString("NET_ERROR_DEVICE_STATUS_BUSY"); + msg = ("NET_ERROR_DEVICE_STATUS_BUSY"); break; case LastError.NET_USER_PWD_NOT_AUTHORIZED: // (0x80000000|512)修改密码无权限 - msg = Res.string().getBundle().getString("NET_USER_PWD_NOT_AUTHORIZED"); + msg = ("NET_USER_PWD_NOT_AUTHORIZED"); break; case LastError.NET_USER_PWD_NOT_STRONG: // (0x80000000|513) 密码强度不够 - msg = Res.string().getBundle().getString("NET_USER_PWD_NOT_STRONG"); + msg = ("NET_USER_PWD_NOT_STRONG"); break; case LastError.NET_ERROR_NO_SUCH_CONFIG: // (0x80000000|514) 没有对应的配置 - msg = Res.string().getBundle().getString("NET_ERROR_NO_SUCH_CONFIG"); + msg = ("NET_ERROR_NO_SUCH_CONFIG"); break; case LastError.NET_ERROR_AUDIO_RECORD_FAILED: // (0x80000000|515) 录音失败 - msg = Res.string().getBundle().getString("NET_ERROR_AUDIO_RECORD_FAILED"); + msg = ("NET_ERROR_AUDIO_RECORD_FAILED"); break; case LastError.NET_ERROR_SEND_DATA_FAILED: // (0x80000000|516) 数据发送失败 - msg = Res.string().getBundle().getString("NET_ERROR_SEND_DATA_FAILED"); + msg = ("NET_ERROR_SEND_DATA_FAILED"); break; case LastError.NET_ERROR_OBSOLESCENT_INTERFACE: // (0x80000000|517) 废弃接口 - msg = Res.string().getBundle().getString("NET_ERROR_OBSOLESCENT_INTERFACE"); + msg = ("NET_ERROR_OBSOLESCENT_INTERFACE"); break; case LastError.NET_ERROR_INSUFFICIENT_INTERAL_BUF: // (0x80000000|518) 内部缓冲不足 - msg = Res.string().getBundle().getString("NET_ERROR_INSUFFICIENT_INTERAL_BUF"); + msg = ("NET_ERROR_INSUFFICIENT_INTERAL_BUF"); break; case LastError.NET_ERROR_NEED_ENCRYPTION_PASSWORD: // (0x80000000|519) 修改设备ip时,需要校验密码 - msg = Res.string().getBundle().getString("NET_ERROR_NEED_ENCRYPTION_PASSWORD"); + msg = ("NET_ERROR_NEED_ENCRYPTION_PASSWORD"); break; case LastError.NET_ERROR_NOSUPPORT_RECORD: // (0x80000000|520) 设备不支持此记录集 - msg = Res.string().getBundle().getString("NET_ERROR_NOSUPPORT_RECORD"); + msg = ("NET_ERROR_NOSUPPORT_RECORD"); break; case LastError.NET_ERROR_SERIALIZE_ERROR: // (0x80000000|1010) 数据序列化错误 - msg = Res.string().getBundle().getString("NET_ERROR_SERIALIZE_ERROR"); + msg = ("NET_ERROR_SERIALIZE_ERROR"); break; case LastError.NET_ERROR_DESERIALIZE_ERROR: // (0x80000000|1011) 数据反序列化错误 - msg = Res.string().getBundle().getString("NET_ERROR_DESERIALIZE_ERROR"); + msg = ("NET_ERROR_DESERIALIZE_ERROR"); break; case LastError.NET_ERROR_LOWRATEWPAN_ID_EXISTED: // (0x80000000|1012) 该无线ID已存在 - msg = Res.string().getBundle().getString("NET_ERROR_LOWRATEWPAN_ID_EXISTED"); + msg = ("NET_ERROR_LOWRATEWPAN_ID_EXISTED"); break; case LastError.NET_ERROR_LOWRATEWPAN_ID_LIMIT: // (0x80000000|1013) 无线ID数量已超限 - msg = Res.string().getBundle().getString("NET_ERROR_LOWRATEWPAN_ID_LIMIT"); + msg = ("NET_ERROR_LOWRATEWPAN_ID_LIMIT"); break; case LastError.NET_ERROR_LOWRATEWPAN_ID_ABNORMAL: // (0x80000000|1014) 无线异常添加 - msg = Res.string().getBundle().getString("NET_ERROR_LOWRATEWPAN_ID_ABNORMAL"); + msg = ("NET_ERROR_LOWRATEWPAN_ID_ABNORMAL"); break; case LastError.NET_ERROR_ENCRYPT: // (0x80000000|1015) 加密数据失败 - msg = Res.string().getBundle().getString("NET_ERROR_ENCRYPT"); + msg = ("NET_ERROR_ENCRYPT"); break; case LastError.NET_ERROR_PWD_ILLEGAL: // (0x80000000|1016) 新密码不合规范 - msg = Res.string().getBundle().getString("NET_ERROR_PWD_ILLEGAL"); + msg = ("NET_ERROR_PWD_ILLEGAL"); break; case LastError.NET_ERROR_DEVICE_ALREADY_INIT: // (0x80000000|1017) 设备已经初始化 - msg = Res.string().getBundle().getString("NET_ERROR_DEVICE_ALREADY_INIT"); + msg = ("NET_ERROR_DEVICE_ALREADY_INIT"); break; case LastError.NET_ERROR_SECURITY_CODE: // (0x80000000|1018) 安全码错误 - msg = Res.string().getBundle().getString("NET_ERROR_SECURITY_CODE"); + msg = ("NET_ERROR_SECURITY_CODE"); break; case LastError.NET_ERROR_SECURITY_CODE_TIMEOUT: // (0x80000000|1019) 安全码超出有效期 - msg = Res.string().getBundle().getString("NET_ERROR_SECURITY_CODE_TIMEOUT"); + msg = ("NET_ERROR_SECURITY_CODE_TIMEOUT"); break; case LastError.NET_ERROR_GET_PWD_SPECI: // (0x80000000|1020) 获取密码规范失败 - msg = Res.string().getBundle().getString("NET_ERROR_GET_PWD_SPECI"); + msg = ("NET_ERROR_GET_PWD_SPECI"); break; case LastError.NET_ERROR_NO_AUTHORITY_OF_OPERATION: // (0x80000000|1021) 无权限进行该操作 - msg = Res.string().getBundle().getString("NET_ERROR_NO_AUTHORITY_OF_OPERATION"); + msg = ("NET_ERROR_NO_AUTHORITY_OF_OPERATION"); break; case LastError.NET_ERROR_DECRYPT: // (0x80000000|1022) 解密数据失败 - msg = Res.string().getBundle().getString("NET_ERROR_DECRYPT"); + msg = ("NET_ERROR_DECRYPT"); break; case LastError.NET_ERROR_2D_CODE: // (0x80000000|1023) 2D code校验失败 - msg = Res.string().getBundle().getString("NET_ERROR_2D_CODE"); + msg = ("NET_ERROR_2D_CODE"); break; case LastError.NET_ERROR_INVALID_REQUEST: // (0x80000000|1024) 非法的RPC请求 - msg = Res.string().getBundle().getString("NET_ERROR_INVALID_REQUEST"); + msg = ("NET_ERROR_INVALID_REQUEST"); break; case LastError.NET_ERROR_PWD_RESET_DISABLE: // (0x80000000|1025) 密码重置功能已关闭 - msg = Res.string().getBundle().getString("NET_ERROR_PWD_RESET_DISABLE"); + msg = ("NET_ERROR_PWD_RESET_DISABLE"); break; case LastError.NET_ERROR_PLAY_PRIVATE_DATA: // (0x80000000|1026) 显示私有数据,比如规则框等失败 - msg = Res.string().getBundle().getString("NET_ERROR_PLAY_PRIVATE_DATA"); + msg = ("NET_ERROR_PLAY_PRIVATE_DATA"); break; case LastError.NET_ERROR_ROBOT_OPERATE_FAILED: // (0x80000000|1027) 机器人操作失败 - msg = Res.string().getBundle().getString("NET_ERROR_ROBOT_OPERATE_FAILED"); + msg = ("NET_ERROR_ROBOT_OPERATE_FAILED"); break; case LastError.NET_ERROR_PHOTOSIZE_EXCEEDSLIMIT: // (0x80000000|1028) 图片大小超限 - msg = Res.string().getBundle().getString("NET_ERROR_PHOTOSIZE_EXCEEDSLIMIT"); + msg = ("NET_ERROR_PHOTOSIZE_EXCEEDSLIMIT"); break; case LastError.NET_ERROR_USERID_INVALID: // (0x80000000|1029) 用户ID不存在 - msg = Res.string().getBundle().getString("NET_ERROR_USERID_INVALID"); + msg = ("NET_ERROR_USERID_INVALID"); break; case LastError.NET_ERROR_EXTRACTFEATURE_FAILED: // (0x80000000|1030) 照片特征值提取失败 - msg = Res.string().getBundle().getString("NET_ERROR_EXTRACTFEATURE_FAILED"); + msg = ("NET_ERROR_EXTRACTFEATURE_FAILED"); break; case LastError.NET_ERROR_PHOTO_EXIST: // (0x80000000|1031) 照片已存在 - msg = Res.string().getBundle().getString("NET_ERROR_PHOTO_EXIST"); + msg = ("NET_ERROR_PHOTO_EXIST"); break; case LastError.NET_ERROR_PHOTO_OVERFLOW: // (0x80000000|1032) 照片数量超过上限 - msg = Res.string().getBundle().getString("NET_ERROR_PHOTO_OVERFLOW"); + msg = ("NET_ERROR_PHOTO_OVERFLOW"); break; case LastError.NET_ERROR_CHANNEL_ALREADY_OPENED: // (0x80000000|1033) 通道已经打开 - msg = Res.string().getBundle().getString("NET_ERROR_CHANNEL_ALREADY_OPENED"); + msg = ("NET_ERROR_CHANNEL_ALREADY_OPENED"); break; case LastError.NET_ERROR_CREATE_SOCKET: // (0x80000000|1034) 创建套接字失败 - msg = Res.string().getBundle().getString("NET_ERROR_CREATE_SOCKET"); + msg = ("NET_ERROR_CREATE_SOCKET"); break; case LastError.NET_ERROR_CHANNEL_NUM: // (0x80000000|1035) 通道号错误 - msg = Res.string().getBundle().getString("NET_ERROR_CHANNEL_NUM"); + msg = ("NET_ERROR_CHANNEL_NUM"); break; case LastError.NET_ERROR_FACE_RECOGNITION_SERVER_GROUP_ID_EXCEED: // (0x80000000|1051) 组ID超过最大值 - msg = Res.string().getBundle().getString("NET_ERROR_FACE_RECOGNITION_SERVER_GROUP_ID_EXCEED"); + msg = ("NET_ERROR_FACE_RECOGNITION_SERVER_GROUP_ID_EXCEED"); break; default: - msg = Res.string().getBundle().getString("NET_ERROR"); + msg = ("NET_ERROR"); break; } return msg; diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/common/Res.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/common/Res.java index 50098b7..f03bdaa 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/common/Res.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/dh/netsdk/common/Res.java @@ -7,9 +7,9 @@ import java.util.Locale; import java.util.ResourceBundle; public final class Res { - + private static ResourceBundle bundle; - + private Res() { switchLanguage(LanguageType.Chinese); } @@ -17,20 +17,24 @@ public final class Res { private static class StringBundleHolder { private static Res instance = new Res(); } - + public static Res string() { - return StringBundleHolder.instance; + + if (StringBundleHolder.instance == null) { + StringBundleHolder.instance = new Res(); + return StringBundleHolder.instance; + }else return StringBundleHolder.instance; } - + public static enum LanguageType { English, Chinese } - + public ResourceBundle getBundle() { return bundle; } - + /** * \if ENGLISH_LANG * Switch between Chinese and English @@ -50,136 +54,136 @@ public final class Res { break; } } - + public String getSwitchLanguage() { return bundle.getString("SWITCH_LANGUAGE"); } - + public String getRealplay() { return bundle.getString("REALPLAY"); } - + public String getMultiRealplay() { return bundle.getString("MULTIREALPLAY"); } - + public String getDownloadRecord() { return bundle.getString("DOWNLOAD_RECORD"); } - + public String getITSEvent() { return bundle.getString("ITS_EVENT"); } - + public String getOnline() { return bundle.getString("ONLINE"); } - + public String getDisConnectReconnecting() { return bundle.getString("DISCONNECT_RECONNECTING"); } - + public String getDisConnect() { return bundle.getString("DISCONNECT"); } - + public String getPromptMessage() { return bundle.getString("PROMPT_MESSAGE"); } - + public String getErrorMessage() { return bundle.getString("ERROR_MESSAGE"); } - + public String getReconnectSucceed() { return bundle.getString("RECONNECT_SUCCEED"); } - + public String getSucceed() { return bundle.getString("SUCCEED"); } - + public String getFailed() { return bundle.getString("FAILED"); } - + public String getYear() { return bundle.getString("YEAR"); } - + public String getMonth() { return bundle.getString("MONTH"); } - + public String getDay() { return bundle.getString("DAY"); } - + public String getHour() { return bundle.getString("HOUR"); } - + public String getMinute() { return bundle.getString("MINUTE"); } - + public String getSecond() { return bundle.getString("SECOND"); } - + public String getSunday() { return bundle.getString("SUNDAY"); } - + public String getMonday() { return bundle.getString("MONDAY"); } - + public String getTuesday() { return bundle.getString("TUESDAY"); } - + public String getWednesday() { return bundle.getString("WEDNESDAY"); } - + public String getThursday() { return bundle.getString("THURSDAY"); } - + public String getFriday() { return bundle.getString("FRIDAY"); } - + public String getSaturday() { return bundle.getString("SATURDAY"); } - + public String[] getWeek() { String[] weekdays = {getSunday(), - getMonday(), - getTuesday(), - getWednesday(), - getThursday(), - getFriday(), - getSaturday() + getMonday(), + getTuesday(), + getWednesday(), + getThursday(), + getFriday(), + getSaturday() }; - + return weekdays; } - + public String getConfirm() { return bundle.getString("CONFIRM"); } - + public String getCancel() { return bundle.getString("CANCEL"); } - + public String getDateChooser() { return bundle.getString("DATE_CHOOSER"); } - + public String getFunctionList() { return bundle.getString("FUNCTIONLIST"); } @@ -187,7 +191,7 @@ public final class Res { public String getLogin() { return bundle.getString("LOGIN"); } - + public String getLoginSuccess() { return bundle.getString("LOGIN_SUCCEED"); } @@ -195,334 +199,334 @@ public final class Res { public String getFillingRules() { return bundle.getString("FILLING_RULES"); } - + public String getLogout() { return bundle.getString("LOGOUT"); } - + public String getDeviceIp() { return bundle.getString("DEVICE_IP"); } - + public String getIp() { return bundle.getString("IP"); } - + public String getPort() { return bundle.getString("DEVICE_PORT"); } - + public String getUserId() { return bundle.getString("USER_ID"); } - + public String getTemp() { return bundle.getString("TEMPERATURE"); } - + public String getMaskstutas() { return bundle.getString("MASK_STATUS"); } - + public String getUserName(boolean space) { return bundle.getString("USER_NAME"); } - + public String getCardNo() { return bundle.getString("CARD_NO"); } - + public String getUserName() { return bundle.getString("USERNAME"); } - + public String getPassword() { return bundle.getString("PASSWORD"); } - - + + public String getLoginFailed() { return bundle.getString("LOGIN_FAILED"); } - + public String getInputDeviceIP() { return bundle.getString("PLEASE_INPUT_DEVICE_IP"); } - + public String getInputDevicePort() { return bundle.getString("PLEASE_INPUT_DEVICE_PORT"); } - + public String getInputUsername() { return bundle.getString("PLEASE_INPUT_DEVICE_USERNAME"); } - + public String getInputPassword() { return bundle.getString("PLEASE_INPUT_DEVICE_PASSWORD"); } - + public String getInputConfirmPassword() { return bundle.getString("PLEASE_INPUT_CONFIRM_PASSWORD"); } - + public String getStartRealPlay() { return bundle.getString("START_REALPLAY"); } - + public String getStopRealPlay() { return bundle.getString("STOP_REALPLAY"); } - + public String getChn() { return bundle.getString("CHN"); } - + public String getChannel() { return bundle.getString("CHANNEL"); } - + public String getStreamType() { return bundle.getString("STREAM_TYPE"); } - + public String getMasterAndSub() { return bundle.getString("MASTER_AND_SUB_STREAM"); } - + public String getMasterStream() { return bundle.getString("MASTER_STREAM"); } - + public String getSubStream() { return bundle.getString("SUB_STREAM"); } - + public String getPTZ() { return bundle.getString("PTZ"); } - + public String getPtzControlAndCapture() { return bundle.getString("PTZCONTROL_CAPTURE"); } - + public String getCapturePicture() { return bundle.getString("CAPTURE_PICTURE"); } - + public String getLocalCapture() { return bundle.getString("LOCAL_CAPTURE"); } - + public String getRemoteCapture() { return bundle.getString("REMOTE_CAPTURE"); } - + public String getTimerCapture() { return bundle.getString("TIMER_CAPTURE"); } - + public String getStopCapture() { return bundle.getString("STOP_CAPTURE"); } - + public String getInterval() { return bundle.getString("INTERVAL"); } - + public String getTimeIntervalIllegal() { return bundle.getString("TIME_INTERVAL_ILLEGAL"); } - + public String getNeedStartRealPlay() { return bundle.getString("PLEASE_START_REALPLAY"); } - + public String getPTZControl() { return bundle.getString("PTZ_CONTROL"); } - + public String getLeftUp() { return bundle.getString("LEFT_UP"); } - + public String getUp() { return bundle.getString("UP"); } - + public String getRightUp() { return bundle.getString("RIGHT_UP"); } - + public String getLeft() { return bundle.getString("LEFT"); } - + public String getRight() { return bundle.getString("RIGHT"); } - + public String getLeftDown() { return bundle.getString("LEFT_DOWN"); } - + public String getDown() { return bundle.getString("DOWN"); } - + public String getRightDown() { return bundle.getString("RIGHT_DOWN"); } - + public String getSpeed() { return bundle.getString("SPEED"); } - + public String getZoomAdd() { return bundle.getString("ZOOM_ADD"); } - + public String getZoomDec() { return bundle.getString("ZOOM_DEC"); } - + public String getFocusAdd() { return bundle.getString("FOCUS_ADD"); } - + public String getFocusDec() { return bundle.getString("FOCUS_DEC"); } - + public String getIrisAdd() { return bundle.getString("IRIS_ADD"); } - + public String getIrisDec() { return bundle.getString("IRIS_DEC"); } - + public String getIndex() { return bundle.getString("INDEX"); } - + public String getEventPicture() { return bundle.getString("EVENT_PICTURE"); } - + public String getPlatePicture() { return bundle.getString("PLATE_PICTURE"); } - + public String getEventName() { return bundle.getString("EVENT_NAME"); } - + public String getLicensePlate() { return bundle.getString("LICENSE_PLATE"); } - + public String getEventTime() { return bundle.getString("EVENT_TIME"); } - + public String getPlateType() { return bundle.getString("PLATE_TYPE"); } - + public String getPlateColor() { return bundle.getString("PLATE_COLOR"); } - + public String getVehicleColor() { return bundle.getString("VEHICLE_COLOR"); } - + public String getVehicleType() { return bundle.getString("VEHICLE_TYPE"); } - + public String getVehicleSize() { return bundle.getString("VEHICLE_SIZE"); } - + public String getFileCount() { return bundle.getString("FILE_COUNT"); } - + public String getFileIndex() { return bundle.getString("FILE_INDEX"); } - + public String getGroupId() { return bundle.getString("GROUP_ID"); } - + public String getIllegalPlace() { return bundle.getString("ILLEGAL_PLACE"); } - + public String getLaneNumber() { return bundle.getString("LANE_NUMBER"); } - + public String getEventInfo() { return bundle.getString("EVENT_INFO"); } - + public String getNoPlate() { return bundle.getString("NO_PLATENUMBER"); } - + public String[] getTrafficTableName() { String[] name = {getIndex(), - getEventName(), - getLicensePlate(), - getEventTime(), - getPlateType(), - getPlateColor(), - getVehicleColor(), - getVehicleType(), - getVehicleSize(), - getFileCount(), - getFileIndex(), - getGroupId(), - getIllegalPlace(), - getLaneNumber()}; + getEventName(), + getLicensePlate(), + getEventTime(), + getPlateType(), + getPlateColor(), + getVehicleColor(), + getVehicleType(), + getVehicleSize(), + getFileCount(), + getFileIndex(), + getGroupId(), + getIllegalPlace(), + getLaneNumber()}; return name; } - + public String getOperate() { return bundle.getString("OPERATE"); } - + public String getAttach() { return bundle.getString("ATTACH"); } - + public String getDetach() { return bundle.getString("DETACH"); } - + public String getOpenStrobe() { return bundle.getString("OPEN_STROBE"); } - + public String getCloseStrobe() { return bundle.getString("CLOSE_STROBE"); } - + public String getOpenStrobeFailed() { return bundle.getString("OPEN_STROBE_FAILED"); } - + public String getManualCapture() { return bundle.getString("MANUAL_CAPTURE"); } - + public String getManualCaptureSucceed() { return bundle.getString("MANUALSNAP_SUCCEED"); } - + public String getManualCaptureFailed() { return bundle.getString("MANUALSNAP_FAILED"); } @@ -531,38 +535,38 @@ public final class Res { * 车辆大小对照表 */ public String getTrafficSize(int nVehicleSize) { - String vehicleClass = ""; - for(int i = 0; i < 5; i++) { - if( ((byte)nVehicleSize & (1 << i)) > 0 ) { - switch (i) { - case 0: - vehicleClass = bundle.getString("LIGHT_DUTY"); - break; - case 1: - vehicleClass = bundle.getString("MEDIUM"); - break; - case 2: - vehicleClass = bundle.getString("OVER_SIZE"); - break; - case 3: - vehicleClass = bundle.getString("MINI_SIZE"); - break; - case 4: - vehicleClass = bundle.getString("LARGE_SIZE"); - break; + String vehicleClass = ""; + for(int i = 0; i < 5; i++) { + if( ((byte)nVehicleSize & (1 << i)) > 0 ) { + switch (i) { + case 0: + vehicleClass = bundle.getString("LIGHT_DUTY"); + break; + case 1: + vehicleClass = bundle.getString("MEDIUM"); + break; + case 2: + vehicleClass = bundle.getString("OVER_SIZE"); + break; + case 3: + vehicleClass = bundle.getString("MINI_SIZE"); + break; + case 4: + vehicleClass = bundle.getString("LARGE_SIZE"); + break; } - } - } - - return vehicleClass; + } + } + + return vehicleClass; } - - /* + + /* * 获取事件名称 */ public String getEventName(int type) { - String name = ""; - switch (type) { + String name = ""; + switch (type) { case NetSDKLib.EVENT_IVS_TRAFFICJUNCTION: ///< 交通路口事件 name = bundle.getString("EVENT_IVS_TRAFFICJUNCTION"); break; @@ -632,67 +636,67 @@ public final class Res { default: break; } - - return name; + + return name; } - - public String getRecordType() { - return bundle.getString("RECORD_TYPE"); + + public String getRecordType() { + return bundle.getString("RECORD_TYPE"); } public String getStartTime() { - return bundle.getString("START_TIME"); + return bundle.getString("START_TIME"); } public String getEndTime() { - return bundle.getString("END_TIME"); + return bundle.getString("END_TIME"); } public String[] getDownloadTableName() { - String[] name = {getIndex(), - getChannel(), - getRecordType(), - getStartTime(), - getEndTime()}; - return name; + String[] name = {getIndex(), + getChannel(), + getRecordType(), + getStartTime(), + getEndTime()}; + return name; } public String getDownloadByFile() { - return bundle.getString("DOWNLOAD_RECORD_BYFILE"); + return bundle.getString("DOWNLOAD_RECORD_BYFILE"); } public String getQuery() { - return bundle.getString("QUERY"); + return bundle.getString("QUERY"); } public String getDownload() { - return bundle.getString("DOWNLOAD"); + return bundle.getString("DOWNLOAD"); } public String getStopDownload() { - return bundle.getString("STOP_DOWNLOAD"); + return bundle.getString("STOP_DOWNLOAD"); } public String getDownloadByTime() { - return bundle.getString("DOWNLOAD_RECORD_BYTIME"); + return bundle.getString("DOWNLOAD_RECORD_BYTIME"); } public String getSelectTimeAgain() { - return bundle.getString("PLEASE_SELECT_TIME_AGAIN"); + return bundle.getString("PLEASE_SELECT_TIME_AGAIN"); } public String getSelectRowWithData() { - return bundle.getString("PLEASE_FIRST_SELECT_ROW_WITH_DATA"); + return bundle.getString("PLEASE_FIRST_SELECT_ROW_WITH_DATA"); } public String getQueryRecord() { - return bundle.getString("PLEASE_FIRST_QUERY_RECORD"); + return bundle.getString("PLEASE_FIRST_QUERY_RECORD"); } public String getDownloadCompleted() { - return bundle.getString("DOWNLOAD_COMPLETED"); + return bundle.getString("DOWNLOAD_COMPLETED"); } - + /** * 获取录像类型 */ @@ -703,27 +707,27 @@ public final class Res { recordTypeStr = bundle.getString("GENERAL_RECORD"); break; case 1: - recordTypeStr = bundle.getString("ALARM_RECORD"); + recordTypeStr = bundle.getString("ALARM_RECORD"); break; case 2: - recordTypeStr = bundle.getString("MOTION_DETECTION"); + recordTypeStr = bundle.getString("MOTION_DETECTION"); break; case 3: - recordTypeStr = bundle.getString("CARD_NUMBER_RECORD"); + recordTypeStr = bundle.getString("CARD_NUMBER_RECORD"); break; case 5: - recordTypeStr = bundle.getString("INTELLIGENT_DETECTION"); + recordTypeStr = bundle.getString("INTELLIGENT_DETECTION"); break; case 19: - recordTypeStr = bundle.getString("POS_RECORD"); + recordTypeStr = bundle.getString("POS_RECORD"); break; default: - break; + break; } - + return recordTypeStr; } - + public int getRecordTypeInt(String recordFileStr) { int recordType = -1; if(recordFileStr.equals(bundle.getString("GENERAL_RECORD"))) { @@ -740,497 +744,497 @@ public final class Res { recordType=19; } - + return recordType; - } - + } + /** * 语音对讲 */ public String getTalk() { return bundle.getString("TALK"); } - + public String getTransmitType() { - return bundle.getString("TRANSMIT_TYPE"); + return bundle.getString("TRANSMIT_TYPE"); } - + public String getLocalTransmitType() { - return bundle.getString("LOCAL_TRANSMIT_TYPE"); + return bundle.getString("LOCAL_TRANSMIT_TYPE"); } - + public String getRemoteTransmitType() { - return bundle.getString("REMOTE_TRANSMIT_TYPE"); + return bundle.getString("REMOTE_TRANSMIT_TYPE"); } - + public String getTransmitChannel() { - return bundle.getString("TRANSMIT_CHANNEL"); + return bundle.getString("TRANSMIT_CHANNEL"); } - + public String getStartTalk() { - return bundle.getString("START_TALK"); + return bundle.getString("START_TALK"); } - + public String getStopTalk() { - return bundle.getString("STOP_TALK"); + return bundle.getString("STOP_TALK"); } - + public String getTalkFailed() { - return bundle.getString("TALK_FAILED"); + return bundle.getString("TALK_FAILED"); } - + public String getDeviceSearchAndInit() { return bundle.getString("DEVICESEARCH_DEVICEINIT"); } - - public String getDeviceSearchOperate() { - return bundle.getString("DEVICESEARCH_OPERATE"); + + public String getDeviceSearchOperate() { + return bundle.getString("DEVICESEARCH_OPERATE"); } public String getDeviceSearchResult() { - return bundle.getString("DEVICESEARCH_RESULT"); + return bundle.getString("DEVICESEARCH_RESULT"); } public String getDeviceInit() { - return bundle.getString("DEVICEINIT"); + return bundle.getString("DEVICEINIT"); } public String getStartSearch() { - return bundle.getString("START_SEARCH"); + return bundle.getString("START_SEARCH"); } public String getStopSearch() { - return bundle.getString("STOP_SEARCH"); + return bundle.getString("STOP_SEARCH"); } public String getPleaseSelectInitializedDevice() { - return bundle.getString("PLEASE_FIRST_SELECT_INITIALIZED_DEVICE"); + return bundle.getString("PLEASE_FIRST_SELECT_INITIALIZED_DEVICE"); } public String getDeviceSearch() { - return bundle.getString("DEVICESEARCH"); + return bundle.getString("DEVICESEARCH"); } public String getDevicePointToPointSearch() { - return bundle.getString("DEVICE_POINT_TO_POINT_SEARCH"); + return bundle.getString("DEVICE_POINT_TO_POINT_SEARCH"); } public String getStartIp() { - return bundle.getString("START_IP"); + return bundle.getString("START_IP"); } public String getEndIp() { - return bundle.getString("END_IP"); + return bundle.getString("END_IP"); } public String getControlScope() { - return bundle.getString("THE_IP_CONTROL_SCOPE"); + return bundle.getString("THE_IP_CONTROL_SCOPE"); } public String getDeviceType() { - return bundle.getString("DEVICE_TYPE"); + return bundle.getString("DEVICE_TYPE"); } public String getDeviceMac() { - return bundle.getString("MAC"); + return bundle.getString("MAC"); } public String getDeviceSn() { - return bundle.getString("SN"); + return bundle.getString("SN"); } public String getDeviceInitState() { - return bundle.getString("DEVICE_INIT_STATE"); + return bundle.getString("DEVICE_INIT_STATE"); } public String getInitPasswd() { - return bundle.getString("INIT_PASSWD"); + return bundle.getString("INIT_PASSWD"); } public String[] getDeviceTableName() { - String[] name = {getIndex(), - getDeviceInitState(), - getIpVersion(), - getDeviceIp(), - getPort(), - getSubMask(), - getGetway(), - getDeviceMac(), - getDeviceType(), - getDetailType(), - getHttpPort()}; - - return name; + String[] name = {getIndex(), + getDeviceInitState(), + getIpVersion(), + getDeviceIp(), + getPort(), + getSubMask(), + getGetway(), + getDeviceMac(), + getDeviceType(), + getDetailType(), + getHttpPort()}; + + return name; } public String getIpVersion() { - return bundle.getString("IP_VERSION"); + return bundle.getString("IP_VERSION"); } public String getSubMask() { - return bundle.getString("SUB_MASK"); + return bundle.getString("SUB_MASK"); } public String getGetway() { - return bundle.getString("GETWAY"); + return bundle.getString("GETWAY"); } public String getDetailType() { - return bundle.getString("DETAIL_TYPE"); + return bundle.getString("DETAIL_TYPE"); } public String getHttpPort() { - return bundle.getString("HTTP_PORT"); + return bundle.getString("HTTP_PORT"); } public String getLocalIp() { - return bundle.getString("LOCAL_IP"); + return bundle.getString("LOCAL_IP"); } public String getInitialized() { - return bundle.getString("INITIALIZED"); + return bundle.getString("INITIALIZED"); } public String getNotInitialized() { - return bundle.getString("NOT_INITIALIZED"); + return bundle.getString("NOT_INITIALIZED"); } public String getOldDevice() { - return bundle.getString("OLD_DEVICE"); + return bundle.getString("OLD_DEVICE"); } public String getNotSupportInitialization() { - return bundle.getString("DONOT_SUPPORT_INITIALIZATION"); + return bundle.getString("DONOT_SUPPORT_INITIALIZATION"); } public String getPhone() { - return bundle.getString("PHONE"); + return bundle.getString("PHONE"); } public String getMail() { - return bundle.getString("MAIL"); + return bundle.getString("MAIL"); } public String getInputPhone() { - return bundle.getString("PLEASE_INPUT_PHONE"); + return bundle.getString("PLEASE_INPUT_PHONE"); } public String getInputMail() { - return bundle.getString("PLEASE_INPUT_MAIL"); + return bundle.getString("PLEASE_INPUT_MAIL"); } public String getConfirmPassword() { - return bundle.getString("CONFIRM_PASSWORD"); + return bundle.getString("CONFIRM_PASSWORD"); } public String getInconsistent() { - return bundle.getString("INCONSISTENT"); + return bundle.getString("INCONSISTENT"); } public String getCheckIp() { - return bundle.getString("PLEASE_CHECK_IP"); + return bundle.getString("PLEASE_CHECK_IP"); } // 0-老设备,没有初始化功能 1-未初始化账号 2-已初始化账户 public String getInitStateInfo(int initStatus) { - String initStateInfo = ""; - switch(initStatus) { - case 0: - initStateInfo = getInitialized(); - break; - case 1: - initStateInfo = getNotInitialized(); - break; - case 2: - initStateInfo = getInitialized(); - break; - } - return initStateInfo; + String initStateInfo = ""; + switch(initStatus) { + case 0: + initStateInfo = getInitialized(); + break; + case 1: + initStateInfo = getNotInitialized(); + break; + case 2: + initStateInfo = getInitialized(); + break; + } + return initStateInfo; } public String getAlarmListen() { - return bundle.getString("ALARM_LISTEN"); + return bundle.getString("ALARM_LISTEN"); } public String getStartListen() { - return bundle.getString("START_LISTEN"); + return bundle.getString("START_LISTEN"); } public String getStopListen() { - return bundle.getString("STOP_LISTEN"); + return bundle.getString("STOP_LISTEN"); } public String getStopListenFailed(){ return bundle.getString("STOP_LISTEN_FAILED"); } public String getShowAlarmEvent() { - return bundle.getString("SHOW_ALARM_EVENT"); + return bundle.getString("SHOW_ALARM_EVENT"); } public String getAlarmMessage() { - return bundle.getString("ALARM_MESSAGE"); + return bundle.getString("ALARM_MESSAGE"); } public String getExternalAlarm() { - return bundle.getString("EXTERNAL_ALARM"); + return bundle.getString("EXTERNAL_ALARM"); } public String getMotionAlarm() { - return bundle.getString("MOTION_ALARM"); + return bundle.getString("MOTION_ALARM"); } public String getVideoLostAlarm() { - return bundle.getString("VIDEOLOST_ALARM"); + return bundle.getString("VIDEOLOST_ALARM"); } public String getShelterAlarm() { - return bundle.getString("SHELTER_ALARM"); + return bundle.getString("SHELTER_ALARM"); } public String getDiskFullAlarm() { - return bundle.getString("DISKFULL_ALARM"); + return bundle.getString("DISKFULL_ALARM"); } public String getDiskErrorAlarm() { - return bundle.getString("DISKERROR_ALARM"); + return bundle.getString("DISKERROR_ALARM"); } public String getAlarmListenFailed() { - return bundle.getString("ALARM_LISTEN_FAILED"); + return bundle.getString("ALARM_LISTEN_FAILED"); } public String getStart() { - return bundle.getString("START"); + return bundle.getString("START"); } public String getStop() { - return bundle.getString("STOP"); + return bundle.getString("STOP"); } public String getDeviceControl() { - return bundle.getString("DEVICE_CONTROL"); + return bundle.getString("DEVICE_CONTROL"); } public String getDeviceReboot() { - return bundle.getString("DEVICE_REBOOT"); + return bundle.getString("DEVICE_REBOOT"); } public String getSyncTime() { - return bundle.getString("SYNCHRONIZE_TIME"); + return bundle.getString("SYNCHRONIZE_TIME"); } public String getCurrentTime() { - return bundle.getString("CURRENT_TIME"); + return bundle.getString("CURRENT_TIME"); } public String getReboot() { - return bundle.getString("REBOOT"); + return bundle.getString("REBOOT"); } public String getRebootTips() { - return bundle.getString("REBOOT_TIPS"); + return bundle.getString("REBOOT_TIPS"); } public String getGetTime() { - return bundle.getString("GET_TIME"); + return bundle.getString("GET_TIME"); } public String getSetTime() { - return bundle.getString("SET_TIME"); + return bundle.getString("SET_TIME"); } public String getOperateSuccess() { - return bundle.getString("OPERATE_SUCCESS"); + return bundle.getString("OPERATE_SUCCESS"); } public String getTargetRecognition() { - return bundle.getString("TARGETRECOGNITION"); + return bundle.getString("TARGETRECOGNITION"); } public String[] getGroupTable() { - String[] faceTable = {getFaceGroupId(), - getFaceGroupName(), - bundle.getString("PERSON_COUNT")}; - return faceTable; + String[] faceTable = {getFaceGroupId(), + getFaceGroupName(), + bundle.getString("PERSON_COUNT")}; + return faceTable; } public String getFaceGroupId() { - return bundle.getString("FACE_GROUP_ID"); + return bundle.getString("FACE_GROUP_ID"); } public String getFaceGroupName() { - return bundle.getString("FACE_GROUP_NAME"); + return bundle.getString("FACE_GROUP_NAME"); } public String getGroupOperate() { - return bundle.getString("GROUP_OPERATE"); + return bundle.getString("GROUP_OPERATE"); } public String getPersonOperate() { - return bundle.getString("PERSON_OPERATE"); + return bundle.getString("PERSON_OPERATE"); } public String getGlobalPicture() { - return bundle.getString("GLOBAL_PICTURE"); + return bundle.getString("GLOBAL_PICTURE"); } public String getPersonPicture() { - return bundle.getString("PERSON_PICTURE"); + return bundle.getString("PERSON_PICTURE"); } public String getCandidatePicture() { - return bundle.getString("CANDIDATE_PICTURE"); + return bundle.getString("CANDIDATE_PICTURE"); } public String getTime() { - return bundle.getString("TIME"); + return bundle.getString("TIME"); } public String getSex() { - return bundle.getString("SEX"); + return bundle.getString("SEX"); } public String getAge() { - return bundle.getString("AGE"); + return bundle.getString("AGE"); } public String getColor() { - return bundle.getString("COLOR"); + return bundle.getString("COLOR"); } public String getEye() { - return bundle.getString("EYE"); + return bundle.getString("EYE"); } public String getMouth() { - return bundle.getString("MOUTH"); + return bundle.getString("MOUTH"); } public String getMask() { - return bundle.getString("MASK"); + return bundle.getString("MASK"); } public String getBeard() { - return bundle.getString("BEARD"); + return bundle.getString("BEARD"); } public String getName() { - return bundle.getString("NAME"); + return bundle.getString("NAME"); } public String getBirthday() { - return bundle.getString("BIRTHDAY"); + return bundle.getString("BIRTHDAY"); } public String getIdNo() { - return bundle.getString("ID_NO"); + return bundle.getString("ID_NO"); } public String getIdType() { - return bundle.getString("ID_TYPE"); + return bundle.getString("ID_TYPE"); } public String getSimilarity() { - return bundle.getString("SIMILARITY"); + return bundle.getString("SIMILARITY"); } public String getTargetDetectEvent() { - return bundle.getString("TARGET_DETECT_EVENT"); + return bundle.getString("TARGET_DETECT_EVENT"); } public String getTargetRecognitionEvent() { - return bundle.getString("TARGET_RECOGNITION_EVENT"); + return bundle.getString("TARGET_RECOGNITION_EVENT"); } public String getUid() { - return bundle.getString("UID"); + return bundle.getString("UID"); } public String getGlasses() { - return bundle.getString("GLASSES"); + return bundle.getString("GLASSES"); } public String getPicturePath() { - return bundle.getString("PICTURE_PATH"); + return bundle.getString("PICTURE_PATH"); } public String getFaceLibraryID() { - return bundle.getString("FACE_LIBRARY_ID"); + return bundle.getString("FACE_LIBRARY_ID"); } public String getFaceLibraryName() { - return bundle.getString("FACE_LIBRARY_NAME"); + return bundle.getString("FACE_LIBRARY_NAME"); } public String[] getPersonTable() { - String[] personTable = {getUid(), getName(), getSex(), getBirthday(), getIdType(), getIdNo()}; - return personTable; + String[] personTable = {getUid(), getName(), getSex(), getBirthday(), getIdType(), getIdNo()}; + return personTable; } public String[] getDispositionTable() { - String[] dispositionTable = {getChannel(), getSimilarity()}; - return dispositionTable; + String[] dispositionTable = {getChannel(), getSimilarity()}; + return dispositionTable; } public String getUnKnow() { - return bundle.getString("UNKNOW"); + return bundle.getString("UNKNOW"); } public String getMale() { - return bundle.getString("MALE"); + return bundle.getString("MALE"); } public String getFemale() { - return bundle.getString("FEMALE"); + return bundle.getString("FEMALE"); } public String[] getSexStringsFind() { - String[] faceSexStr = {getUnLimited(), getMale(), getFemale()}; - return faceSexStr; + String[] faceSexStr = {getUnLimited(), getMale(), getFemale()}; + return faceSexStr; } public String[] getIdStringsFind() { - String[] idStr = {getUnLimited(), getIdCard(), getPassport(),}; - return idStr; + String[] idStr = {getUnLimited(), getIdCard(), getPassport(),}; + return idStr; } public String[] getSexStrings() { - String[] faceSexStr = {getUnKnow(), getMale(), getFemale()}; - return faceSexStr; + String[] faceSexStr = {getUnKnow(), getMale(), getFemale()}; + return faceSexStr; } public String[] getIdStrings() { - String[] idStr = {getUnKnow(), getIdCard(), getPassport(),}; - return idStr; + String[] idStr = {getUnKnow(), getIdCard(), getPassport(),}; + return idStr; } public String getIdCard() { - return bundle.getString("ID_CARD"); + return bundle.getString("ID_CARD"); } public String getPassport() { - return bundle.getString("PASSPORT"); + return bundle.getString("PASSPORT"); } public String getOfficeCard() { - return bundle.getString("OFFICE_CARD"); + return bundle.getString("OFFICE_CARD"); } public String getIdType(int idType) { - String str = ""; - switch(idType) { - case 0: - str = getUnKnow(); - break; - case 1: - str = getIdCard(); - break; - case 2: - str = getPassport(); - break; - case 3: - str = getOfficeCard(); - break; + String str = ""; + switch(idType) { + case 0: + str = getUnKnow(); + break; + case 1: + str = getIdCard(); + break; + case 2: + str = getPassport(); + break; + case 3: + str = getOfficeCard(); + break; default : str = getUnKnow(); break; @@ -1239,113 +1243,113 @@ public final class Res { } public String getSex(int sex) { - String str = ""; - switch(sex) { - case 0: - str = getUnKnow(); - break; - case 1: - str = getMale(); - break; - case 2: - str = getFemale(); - break; - default : - str = getUnKnow(); - break; - } - return str; + String str = ""; + switch(sex) { + case 0: + str = getUnKnow(); + break; + case 1: + str = getMale(); + break; + case 2: + str = getFemale(); + break; + default : + str = getUnKnow(); + break; + } + return str; } public String getUnLimited() { - return bundle.getString("UNLIMITED"); + return bundle.getString("UNLIMITED"); } public String getUnidentified() { - return bundle.getString("UNIDENTIFIED"); + return bundle.getString("UNIDENTIFIED"); } public String getHaveBeard() { - return bundle.getString("HAVE_BEARD"); + return bundle.getString("HAVE_BEARD"); } public String getNoBeard() { - return bundle.getString("NO_BEARD"); + return bundle.getString("NO_BEARD"); } - + public String getBeardState(int beard) { - String str = ""; + String str = ""; switch (beard) { case 0: str = getUnKnow(); break; case 1: - str = getUnidentified(); - break; + str = getUnidentified(); + break; case 2: - str = getNoBeard(); + str = getNoBeard(); break; case 3: - str = getHaveBeard(); + str = getHaveBeard(); break; default: str = getUnKnow(); - break; - } + break; + } return str; } - + public String getOpenMouth() { return bundle.getString("OPEN_MOUTH"); } - + public String getCloseMouth() { return bundle.getString("CLOSE_MOUTH"); } - + public String getMouthState(int mouth) { - String str = ""; + String str = ""; switch (mouth) { case 0: str = getUnKnow(); break; case 1: str = getUnidentified(); - break; + break; case 2: - str = getCloseMouth(); + str = getCloseMouth(); break; case 3: - str = getOpenMouth(); + str = getOpenMouth(); break; default: str = getUnKnow(); break; - } + } return str; } - + public String getYellowColor() { return bundle.getString("YELLOW_COLOR"); } - + public String getBlackColor() { return bundle.getString("BLACK_COLOR"); } - + public String getWhiteColor() { return bundle.getString("WHITE_COLOR"); } public String getColor(int color) { - String str = ""; + String str = ""; switch (color) { case 0: str = getUnKnow(); break; case 1: - str = getUnidentified(); - break; + str = getUnidentified(); + break; case 2: str = getYellowColor(); break; @@ -1358,72 +1362,72 @@ public final class Res { default: str = getUnKnow(); break; - } + } return str; } - + public String getOpenEye() { return bundle.getString("OPEN_EYE"); } - + public String getCloseEye() { return bundle.getString("CLOSE_EYE"); } - + public String getEyeState(int eye) { - String str = getUnidentified(); + String str = getUnidentified(); switch (eye) { case 0: str = getUnKnow(); break; case 1: - str = getUnidentified(); - break; + str = getUnidentified(); + break; case 2: - str = getCloseEye(); + str = getCloseEye(); break; case 3: - str = getOpenEye(); + str = getOpenEye(); break; default: str = getUnKnow(); break; - } + } return str; } - + public String getSmile() { return bundle.getString("SMILE"); } - + public String getAnger() { return bundle.getString("ANGER"); } - + public String getSadness() { return bundle.getString("SADNESS"); } - + public String getDisgust() { return bundle.getString("DISGUST"); } - + public String getFear() { return bundle.getString("FEAR"); } - + public String getSurprise() { return bundle.getString("SURPRISE"); } - + public String getNeutral() { return bundle.getString("NEUTRAL"); } - + public String getLaugh() { return bundle.getString("LAUGH"); } - + public String getFaceFeature(int type) { String str = ""; switch (type) { @@ -1463,15 +1467,15 @@ public final class Res { } return str; } - + public String getWearMask() { return bundle.getString("WEAR_MASK"); } - + public String geNoMask() { return bundle.getString("NO_MASK"); } - + public String getMaskState(int type) { String maskStateStr = ""; switch (type) { @@ -1493,15 +1497,15 @@ public final class Res { } return maskStateStr; } - + public String getWearGlasses() { return bundle.getString("WEAR_GLASSES"); } - + public String getNoGlasses() { return bundle.getString("NO_GLASSES"); } - + public String getGlasses(int byGlasses) { String glassesStr = ""; switch (byGlasses) { @@ -1519,547 +1523,547 @@ public final class Res { } return glassesStr; } - + public String getAdd() { return bundle.getString("ADD"); } - + public String getModify() { return bundle.getString("MODIFY"); } - + public String getSelectData() { return bundle.getString("SELECT_DATA"); } - + public String getDelete() { return bundle.getString("DELETE"); } - + public String getFresh() { return bundle.getString("FRESH"); } - + public String getAddGroup() { return bundle.getString("ADD_GROUP"); } - + public String getModifyGroup() { return bundle.getString("MODIFY_GROUP"); } - + public String getDelGroup() { return bundle.getString("DEL_GROUP"); } - + public String getDisposition() { return bundle.getString("DISPOSITION"); } - + public String getDelDisposition() { return bundle.getString("DEL_DISPOSITION"); } - + public String getSimilarityRange() { return bundle.getString("SIMILARITY_RANGE"); } - + public String getFindCondition() { return bundle.getString("FIND_CONDITION"); } - + public String getFindPerson() { return bundle.getString("FIND_PERSON"); } - + public String getAddPerson() { return bundle.getString("ADD_PERSON"); } - + public String getModifyPerson() { return bundle.getString("MODIFY_PERSON"); } - + public String getDelPerson() { return bundle.getString("DEL_PERSON"); } - + public String getPreviousPage() { return bundle.getString("PREVIOUSPAGE"); } - + public String getLastPage() { return bundle.getString("LASTPAGE"); } - + public String getSelectPicture() { return bundle.getString("SELECT_PICTURE"); } - + public String getSearchByPic() { return bundle.getString("SEARCH_BY_PIC"); } - + public String getDownloadQueryPicture() { return bundle.getString("DOWNLOAD_QUERY_PICTURE"); } - + public String getFaceLibrary() { return bundle.getString("FACE_LIBRARY"); } - + public String getChooseFacePic() { return bundle.getString("CHOOSE_FACE_PIC"); } - + public String getHistoryLibrary() { return bundle.getString("HISTORY_LIBRARY"); } - + public String getEventType() { return bundle.getString("EVENT_TYPE"); } - + public String getStranger() { return bundle.getString("STRANGER"); } - + public String getInputGroupName() { return bundle.getString("PLEASE_INPUT_GROUPNAME"); } - + public String getSelectGroup() { return bundle.getString("PLEASE_SELECT_GROUP"); } - + public String getSelectPerson() { return bundle.getString("PLEASE_SELECT_PERSON"); } - + public String getAddDispositionInfo() { return bundle.getString("PLEASE_ADD_DISPOSITION_INFO"); } - + public String getSelectDelDispositionInfo() { return bundle.getString("PLEASE_SELECT_DEL_DISPOSITION_INFO"); } - + public String getPagesNumber() { return bundle.getString("PAGES_NUMBER"); } - + public String getAutoRegister() { return bundle.getString("AUTOREGISTER"); } - + public String getAutoRegisterListen() { return bundle.getString("AUTOREGISTER_LISTEN"); } - + public String getDeviceConfig() { return bundle.getString("DEVICE_CONFIG"); } - + public String getDeviceList() { return bundle.getString("DEVICE_LIST"); } - + public String getDeviceManager() { return bundle.getString("DEVICE_MANAGER"); } - + public String getAddDevice() { return bundle.getString("ADD_DEVICE"); } - + public String getModifyDevice() { return bundle.getString("MODIFY_DEVICE"); } - + public String getDeleteDevice() { return bundle.getString("DELETE_DEVICE"); } - + public String getClearDevice() { return bundle.getString("CLEAR_DEVICE"); } - + public String getImportDevice() { return bundle.getString("IMPORT_DEVICE"); } - + public String getExportDevice() { return bundle.getString("EXPORT_DEVICE"); } - + public String getFunctionOperate() { return bundle.getString("FUNCTION") + bundle.getString("OPERATE"); } - + public String getDeviceID() { return bundle.getString("DEVICE_ID"); } - + public String getEnable() { return bundle.getString("ENABLE"); } - + public String getRegisterAddress() { return bundle.getString("REGISTER_ADDRESS"); } - + public String getRegisterPort() { return bundle.getString("REGISTER_PORT"); } - + public String getGet() { return bundle.getString("GET"); } - + public String getSet() { return bundle.getString("SET"); } - + public String getAlreadyExisted() { return bundle.getString("ALREADY_EXISTED"); } - + public String getWhetherNoToCover() { return bundle.getString("ALREADY_EXISTED_WHETHER_OR_NOT_TO_COVER"); } - + public String getFileOpened(){ return bundle.getString("FILE_OPEN_PLEASE_CLOSE_FILE"); } - + public String getImportCompletion() { return bundle.getString("IMPORT_COMPLETION"); } - + public String getExportCompletion() { return bundle.getString("EXPORT_COMPLETION"); } - + public String getFileNotExist() { return bundle.getString("FILE_NOT_EXIST"); } - + public String getRecord() { return bundle.getString("RECORD"); } - + public String getInput() { return bundle.getString("PLEASE_INPUT"); } - + public String getMaximumSupport() { return bundle.getString("MAX_SUPPORT_100"); } - + public String getDeviceLogined() { return bundle.getString("DEVICE_LOGIN"); } - + public String getAttendance() { return bundle.getString("ATTENDANCE"); } - + public String getFingerPrintOperate() { return bundle.getString("FINGERPRINT_OPERATE"); } - + public String getUserOperate() { return bundle.getString("USER_OPERATE"); } - + public String getOperateByUserId() { return bundle.getString("OPERATE_BY_USER_ID"); } - + public String getOperateByFingerPrintId() { return bundle.getString("OPERATE_BY_FINGERPRINT_ID"); } - + public String getSearch() { return bundle.getString("SEARCH"); } - + public String getQueryCondition() { return bundle.getString("QUERY_CONDITION"); } - + public String getFingerPrintId() { return bundle.getString("FINGERPRINT_ID"); } - + public String getSearchFingerPrint() { return bundle.getString("SEARCH_FINGERPRINT"); } - + public String getAddFingerPrint() { return bundle.getString("ADD_FINGERPRINT"); } - + public String getDeleteFingerPrint() { return bundle.getString("DELETE_FINGERPRINT"); } - + public String getSubscribe() { return bundle.getString("SUBSCRIBE"); } - + public String getUnSubscribe() { return bundle.getString("UNSUBSCRIBE"); } - + public String getUserList() { return bundle.getString("USER_LIST"); } - + public String getNextPage() { return bundle.getString("NEXT_PAGE"); } - + public String getUserInfo() { return bundle.getString("USER_INFO"); } - + public String getDoorOpenMethod() { return bundle.getString("DOOROPEN_METHOD"); } - + public String getFingerPrint() { return bundle.getString("FINGERPRINT"); } - + public String getFingerPrintInfo() { return bundle.getString("FINGERPRINT_INFO"); } - + public String getFingerPrintData() { return bundle.getString("FINGERPRINT_DATA"); } - + public String getCard() { return bundle.getString("CARD"); } - + public String getDeleteFingerPrintPrompt() { return bundle.getString("DELETE_FINGERPRINT_PROMPT"); } - + public String getSubscribeFailed() { return bundle.getString("SUBSCRIBE_FAILED"); } - + public String getFingerPrintIdIllegal() { return bundle.getString("FINGERPRINT_ID_ILLEGAL"); } - + public String getcFingerPrintCollection() { return bundle.getString("FINGERPRINT_COLLECTION"); } - + public String getStartCollection() { return bundle.getString("START_COLLECTION"); } - + public String getStopCollection() { return bundle.getString("STOP_COLLECTION"); } - + public String getInCollection() { return bundle.getString("IN_THE_COLLECTION"); } - + public String getcCompleteCollection() { return bundle.getString("COLLECTION_COMPLETED"); } - + public String getCollectionFailed() { return bundle.getString("COLLECTION_FAILED"); } - + public String getFingerPrintIdNotExist() { return bundle.getString("FINGERPRINT_ID_NOT_EXIST"); } - + public String getUserIdExceedLength() { return bundle.getString("USER_ID_EXCEED_LENGTH"); } - + public String getUserNameExceedLength() { return bundle.getString("USER_NAME_EXCEED_LENGTH"); } - + public String getCardNoExceedLength() { return bundle.getString("CARD_NO_EXCEED_LENGTH"); } - + public String getCardNameExceedLength() { return bundle.getString("CARD_NAME_EXCEED_LENGTH"); } - + public String getCardPasswdExceedLength() { return bundle.getString("CARD_PASSWD_EXCEED_LENGTH"); } - + public String getGate() { return bundle.getString("GATE"); } - + public String getCardOperate() { return bundle.getString("CARD_OPERATE"); } - + public String getCardInfo() { return bundle.getString("CARD_INFO"); } - + public String getCardManager() { return bundle.getString("CARD_MANAGER"); } - + public String getClear() { return bundle.getString("CLEAR"); } - + public String getOpenStatus() { return bundle.getString("OPEN_STATUS"); } - + public String getOpenMethod() { return bundle.getString("OPEN_METHOD"); } - + public String getCardName() { return bundle.getString("CARD_NAME"); } - + public String getCardStatus() { return bundle.getString("CARD_STATUS"); } - + public String getCardPassword() { return bundle.getString("CARD_PASSWORD"); } - + public String getCardType() { return bundle.getString("CARD_TYPE"); } - + public String getCardNum() { return bundle.getString("CARD_NUM"); } - + public String getUseTimes() { return bundle.getString("USE_TIMES"); } - + public String getIsFirstEnter() { return bundle.getString("IS_FIRST_ENTER"); } - + public String getIsValid() { return bundle.getString("IS_VALID"); } - + public String getValidPeriod() { return bundle.getString("VALID_PERIOD"); } - + public String getValidStartTime() { return bundle.getString("VALID_START_TIME"); } - + public String getValidEndTime() { return bundle.getString("VALID_END_TIME"); } - + public String getRecordNo() { return bundle.getString("RECORD_NO"); } - + public String getFirstEnter() { return bundle.getString("FIRST_ENTER"); } - + public String getNoFirstEnter() { return bundle.getString("NO_FIRST_ENTER"); } - + public String getValid() { return bundle.getString("VALID"); } - + public String getInValid() { return bundle.getString("INVALID"); } - + public String getSelectCard() { return bundle.getString("PLEASE_SELECT_CARD"); } - + public String getInputCardNo() { return bundle.getString("PLEASE_INPUT_CARDNO"); } - + public String getInputUserId() { return bundle.getString("PLEASE_INPUT_USERID"); } - + public String getWantClearAllInfo() { return bundle.getString("WANT_CLEAR_ALL_INFO"); } - + public String getFailedAddCard() { return bundle.getString("ADD_CARD_INDO_FAILED"); } - + public String getSucceedAddCardAndPerson() { return bundle.getString("ADD_CARD_INFO_AND_PERSON_PICTURE_SUCCEED"); } - + public String getSucceedAddCardButFailedAddPerson() { return bundle.getString("ADD_CARD_INFO_SUCCEED_BUT_ADD_PERSON_PICTURE_FAILED"); } - + public String getCardExistedSucceedAddPerson() { return bundle.getString("CARD_EXISTED_ADD_PERSON_PICTURE_SUCCEED"); } - + public String getSucceedModifyCard() { return bundle.getString("MODIFY_CARD_INFO_SUCCEED"); } - + public String getFailedModifyCard() { return bundle.getString("MODIFY_CARD_INFO_FAILED"); } - + public String getSucceedModifyCardAndPerson() { return bundle.getString("MODIFY_CARD_INFO_AND_PERSON_PICTURE_SUCCEED"); } - + public String getSucceedModifyCardButFailedModifyPerson() { return bundle.getString("MODIFY_CARD_INFO_SUCCEED_BUT_MODIFY_PERSON_PICTURE_FAILED"); } - + public String[] getCardTable() { return new String[] {getIndex(), - getCardNo(), - getCardName(), - getRecordNo(), - getUserId(), - getCardPassword(), - getCardStatus(), - getCardType(), - getUseTimes(), - getIsFirstEnter(), - getIsValid(), - getValidStartTime(), - getValidEndTime()}; - } - + getCardNo(), + getCardName(), + getRecordNo(), + getUserId(), + getCardPassword(), + getCardStatus(), + getCardType(), + getUseTimes(), + getIsFirstEnter(), + getIsValid(), + getValidStartTime(), + getValidEndTime()}; + } + /* * 用于列表显示 */ @@ -2082,7 +2086,7 @@ public final class Res { statusString = bundle.getString("STATE_FREEZE"); break; case NET_ACCESSCTLCARD_STATE.NET_ACCESSCTLCARD_STATE_ARREARAGE: // 欠费 - statusString = bundle.getString("STATE_ARREARS"); + statusString = bundle.getString("STATE_ARREARS"); break; case NET_ACCESSCTLCARD_STATE.NET_ACCESSCTLCARD_STATE_OVERDUE: // 逾期 statusString = bundle.getString("STATE_OVERDUE"); @@ -2094,10 +2098,10 @@ public final class Res { statusString = bundle.getString("STATE_UNKNOWN"); break; } - - return statusString; + + return statusString; } - + /* * 根据控件的索引,获取对应的卡状态的Int值, 用于添加 和 修改卡信息 */ @@ -2130,18 +2134,18 @@ public final class Res { break; default: status = NET_ACCESSCTLCARD_STATE.NET_ACCESSCTLCARD_STATE_UNKNOWN; - break; + break; } - - return status; + + return status; } - + /* * 根据字符串,获取控件对应的索引 */ public int getCardStatusChomBoxIndex(String status) { int index = 0; - + if(status.equals(bundle.getString("STATE_UNKNOWN"))) { index = 1; } else if(status.equals(bundle.getString("STATE_NORMAL"))){ @@ -2158,29 +2162,29 @@ public final class Res { index = 6; } else if(status.equals(bundle.getString("STATE_PREARREARS"))) { index = 7; - } - + } + return index; } - + public String[] getCardStatusList() { return new String[]{ - bundle.getString("STATE_NORMAL"), - bundle.getString("STATE_UNKNOWN"), - bundle.getString("STATE_LOSE"), - bundle.getString("STATE_LOGOFF"), - bundle.getString("STATE_FREEZE"), - bundle.getString("STATE_ARREARS"), - bundle.getString("STATE_OVERDUE"), - bundle.getString("STATE_PREARREARS")}; - } - + bundle.getString("STATE_NORMAL"), + bundle.getString("STATE_UNKNOWN"), + bundle.getString("STATE_LOSE"), + bundle.getString("STATE_LOGOFF"), + bundle.getString("STATE_FREEZE"), + bundle.getString("STATE_ARREARS"), + bundle.getString("STATE_OVERDUE"), + bundle.getString("STATE_PREARREARS")}; + } + /* * 用于列表显示 */ public String getCardType(int type) { String cardTypeString = ""; - + switch(type) { case NET_ACCESSCTLCARD_TYPE.NET_ACCESSCTLCARD_TYPE_UNKNOWN: // 未知 cardTypeString = bundle.getString("CARD_UNKNOW"); @@ -2188,7 +2192,7 @@ public final class Res { case NET_ACCESSCTLCARD_TYPE.NET_ACCESSCTLCARD_TYPE_GENERAL: // 一般卡 cardTypeString = bundle.getString("CARD_GENERAL"); break; - case NET_ACCESSCTLCARD_TYPE.NET_ACCESSCTLCARD_TYPE_VIP: // + case NET_ACCESSCTLCARD_TYPE.NET_ACCESSCTLCARD_TYPE_VIP: // cardTypeString = bundle.getString("CARD_VIP"); break; case NET_ACCESSCTLCARD_TYPE.NET_ACCESSCTLCARD_TYPE_GUEST: // 来宾卡 @@ -2216,13 +2220,13 @@ public final class Res { return cardTypeString; } - + /* * 根据控件索引,获取对应的卡类型Int值 */ public int getCardTypeInt(int index) { int type = 0; - + switch(index) { case 1: type = NET_ACCESSCTLCARD_TYPE.NET_ACCESSCTLCARD_TYPE_UNKNOWN; @@ -2258,13 +2262,13 @@ public final class Res { return type; } - + /* * 根据字符串,获取控件的索引 */ public int getCardTypeChomBoxIndex(String type) { int index = 0; - + if(type.equals(bundle.getString("CARD_UNKNOW"))) { index = 1; } else if(type.equals(bundle.getString("CARD_GENERAL"))){ @@ -2284,42 +2288,42 @@ public final class Res { } else if(type.equals(bundle.getString("CARD_MOTHERCARD"))) { index = 8; } - + return index; } - + public String[] getCardTypeList() { return new String[]{ - bundle.getString("CARD_GENERAL"), - bundle.getString("CARD_UNKNOW"), - bundle.getString("CARD_VIP"), - bundle.getString("CARD_GUEST"), - bundle.getString("CARD_PATROL"), - bundle.getString("CARD_BACKLIST"), - bundle.getString("CARD_COERCE"), - bundle.getString("CARD_POLLING"), - bundle.getString("CARD_MOTHERCARD")}; - } - + bundle.getString("CARD_GENERAL"), + bundle.getString("CARD_UNKNOW"), + bundle.getString("CARD_VIP"), + bundle.getString("CARD_GUEST"), + bundle.getString("CARD_PATROL"), + bundle.getString("CARD_BACKLIST"), + bundle.getString("CARD_COERCE"), + bundle.getString("CARD_POLLING"), + bundle.getString("CARD_MOTHERCARD")}; + } + public String getMaskStatus(int emMaskStatus) { String MaskStatus = ""; switch(emMaskStatus) { - case EM_MASK_STATE_TYPE.EM_MASK_STATE_UNKNOWN: - MaskStatus = bundle.getString("EM_MASK_STATE_UNKNOWN"); - break; - case EM_MASK_STATE_TYPE.EM_MASK_STATE_NODISTI: - MaskStatus = bundle.getString("EM_MASK_STATE_NODISTI"); - break; - case EM_MASK_STATE_TYPE.EM_MASK_STATE_NOMASK: - MaskStatus = bundle.getString("EM_MASK_STATE_NOMASK"); - break; - case EM_MASK_STATE_TYPE.EM_MASK_STATE_WEAR: - MaskStatus = bundle.getString("EM_MASK_STATE_WEAR"); - break; + case EM_MASK_STATE_TYPE.EM_MASK_STATE_UNKNOWN: + MaskStatus = bundle.getString("EM_MASK_STATE_UNKNOWN"); + break; + case EM_MASK_STATE_TYPE.EM_MASK_STATE_NODISTI: + MaskStatus = bundle.getString("EM_MASK_STATE_NODISTI"); + break; + case EM_MASK_STATE_TYPE.EM_MASK_STATE_NOMASK: + MaskStatus = bundle.getString("EM_MASK_STATE_NOMASK"); + break; + case EM_MASK_STATE_TYPE.EM_MASK_STATE_WEAR: + MaskStatus = bundle.getString("EM_MASK_STATE_WEAR"); + break; } return MaskStatus; } - + public String getOpenMethods(int emOpenMethod) { String openMethods = ""; switch(emOpenMethod) { @@ -2361,7 +2365,7 @@ public final class Res { break; case NET_ACCESS_DOOROPEN_METHOD.NET_ACCESS_DOOROPEN_METHOD_KEY: openMethods = bundle.getString("NET_ACCESS_DOOROPEN_METHOD_KEY"); - break; + break; case NET_ACCESS_DOOROPEN_METHOD.NET_ACCESS_DOOROPEN_METHOD_COERCE_PWD: openMethods = bundle.getString("NET_ACCESS_DOOROPEN_METHOD_COERCE_PWD"); break; @@ -2450,10 +2454,10 @@ public final class Res { openMethods = bundle.getString("NET_ACCESS_DOOROPEN_METHOD_UNKNOWN"); break; } - + return openMethods; } - + public String getShowInfo(String tag) { try { return bundle.getString(tag); @@ -2461,38 +2465,36 @@ public final class Res { return tag; } } - + public String getThermalCamera() { return getShowInfo("THERMAL_CAMERA"); } - + public String[] getMeterTypeList() { String[] meterTypes = {getShowInfo("SPOT"), getShowInfo("LINE"), getShowInfo("AREA")}; - + return meterTypes; } - + public String[] getTemperUnitList() { return new String[]{getShowInfo("CENTIGRADE"), getShowInfo("FAHRENHEIT")}; } - + public String[] getPeriodList() { - return new String[] {getShowInfo("FIVE_MINUTES"), getShowInfo("TEN_MINUTES"), + return new String[] {getShowInfo("FIVE_MINUTES"), getShowInfo("TEN_MINUTES"), getShowInfo("FIFTEEN_MINUTES"), getShowInfo("THIRTY_MINUTES")}; } - + public String[] getTemperStatusList() { return new String[]{getShowInfo("IDLE"), getShowInfo("ACQUIRING")}; } - + public String getSearchingWait() { return bundle.getString("SEARCHING_WAITING"); } - - - ///////////// Human Number Statistic /////////////// + ///////////// Human Number Statistic /////////////// public String getHumanNumberStatistic() { return bundle.getString("HUMAN_NUMBER_STATISTIC_TITLE"); @@ -2544,6 +2546,7 @@ public final class Res { public String getVTOAlarmEventRoomNo(){ return bundle.getString("VTO_ALARM_EVENT_ROOM_NO"); } + public String getVTOAlarmEventCardNo(){ return bundle.getString("VTO_ALARM_EVENT_CARD_NO"); } @@ -2551,141 +2554,177 @@ public final class Res { public String getVTOAlarmEventTime(){ return bundle.getString("VTO_ALARM_EVENT_TIME"); } + public String getVTOAlarmEventOpenMethod(){ return bundle.getString("VTO_ALARM_EVENT_OPEN_METHOD"); } + public String getVTOAlarmEventStatus(){ return bundle.getString("VTO_ALARM_EVENT_STATUS"); } + public String getVTORealLoadRoomNO(){ return bundle.getString("VTO_REAL_LOAD_ROOM_NO"); } + public String getVTORealLoadCardNo(){ return bundle.getString("VTO_REAL_LOAD_CARD_NO"); } + public String getVTORealLoadTime(){ return bundle.getString("VTO_REAL_LOAD_TIME"); } + public String getVTORealLoadEventInfo(){ return bundle.getString("VTO_REAL_LOAD_EVENT_INFO"); } + public String getVTOOperateManagerTitle(){ return bundle.getString("VTO_OPERATE_MANAGER_TITLE"); } + public String getInputRoomNo(){ return bundle.getString("INPUT_ROOM_NO"); } + public String getRoomNoExceedLength(){ return bundle.getString("ROOM_NO_EXCEED_LENGTH"); } + public String getVTOOperateManagerRecNo(){ return bundle.getString("VTO_OPERATE_MANAGER_REC_NO"); } + public String getVTOOperateManagerRoomNo(){ return bundle.getString("VTO_OPERATE_MANAGER_ROOM_NO"); } + public String getVTOOperateManagerCardNo(){ return bundle.getString("VTO_OPERATE_MANAGER_CARD_NO"); } + public String getVTOOperateManagerFingerPrintData(){ return bundle.getString("VTO_OPERATE_MANAGER_FINGER_PRINT_DATA"); } + public String getVTOOperateInfoTitle(){ return bundle.getString("VTO_OPERATE_INFO_TITLE"); } + public String getVTOOperateCollectionFingerPrintTitle(){ return bundle.getString("VTO_OPERATE_COLLECTION_FINGER_PRINT_TITLE"); } + public String getDoorOpen(){ return bundle.getString("DOOR_OPEN"); } + public String getDoorClose(){ return bundle.getString("DOOR_CLOSE"); } + public String getEventOperate(){ return bundle.getString("EVENT_OPERATE"); } + public String getStartRealLoad(){ return bundle.getString("START_REAL_LOAD_PIC"); } + public String getStopRealLoad(){ return bundle.getString("STOP_REAL_LOAD_PIC"); } + public String getAlarmEvent(){ return bundle.getString("ALARM_EVENT"); } + public String getRealLoadEvent(){ return bundle.getString("REAL_LOAD_EVENT"); } + public String getCollectionResult(){ return bundle.getString("COLLECTION_RESULT"); } + public String getNeedFingerPrint(){ return bundle.getString("NEED_FINGER_PRINT"); } + public String getFaceInfo(){ return bundle.getString("FACE_INFO"); } + public String getOpen(){ return bundle.getString("OPEN"); } ///////////////////////////////////点阵屏设置/////////////////////////////////////、 - public static String getmatrixScreen() { - // TODO Auto-generated method stub - return bundle.getString("MATRIX_SCREEN"); - } +public static String getmatrixScreen() { + // TODO Auto-generated method stub + return bundle.getString("MATRIX_SCREEN"); +} + public String getPassingState(){ return bundle.getString("PASSING_STATE"); } + public String getPassingCar(){ return bundle.getString("PASSING_CAR"); } + public String getNoCar(){ return bundle.getString("NO_CAR"); } + public String getInTime(){ return bundle.getString("IN_TIME"); } + public String getOutTime(){ return bundle.getString("OUT_TIME"); } + public String getPlateNumber(){ return bundle.getString("PLATE_NUMBER"); } + public String getCarOwner(){ return bundle.getString("CAR_OWNER"); } + public String getParkingTime(){ return bundle.getString("PARKING_TIME"); } + public String getUserType(){ return bundle.getString("USER_TYPE"); } + public String getMonthlyCardUser(){ return bundle.getString("MONTHLY_CARD_USER"); } - + public String getAnnualCardUser(){ return bundle.getString("ANNUAL_CARD_USER"); } - + public String getLongTermUser(){ return bundle.getString("LONG_TERM_USER"); } - + public String getTemporaryUser(){ return bundle.getString("TEMPORARY_USER"); } - + public String getParkingCharge(){ return bundle.getString("PARKING_CHARGE"); } - + public String getDaysDue(){ return bundle.getString("DAYS_DUE"); } - + public String getRemainingParkingSpaces(){ return bundle.getString("REMAINING_PARKING_SPACES"); } @@ -2693,60 +2732,69 @@ public final class Res { public String getVehiclesNotAllowedToPass(){ return bundle.getString("VEHICLES_NOT_ALLOWED_TO_PASS"); } - + public String getAllowedVehiclesToPass(){ return bundle.getString("ALLOWED_VEHICLES_TO_PASS"); } - + public String getSetUp(){ return bundle.getString("SET_UP"); } - + public String getSetUpSuccess(){ return bundle.getString("SUCCESSFULLY_ISSUED"); } - + public String getSetUpFailed(){ return bundle.getString("DELIVERY_FAILED"); } - + public String getCostomUserInfo(){ return bundle.getString("CUSTOM_USER_CLASS"); } - + public String getRemarksInfo(){ return bundle.getString("REMARKS_INFORMATION"); } - + public String getCostomInfo(){ return bundle.getString("CUSTOM_INFORMATION"); } + public String getVTO() {return bundle.getString("VTO");} + public String getSCADA() {return bundle.getString("SCADA");} + public String getTrafficAllowList(){return bundle.getString("TRAFFIC_ALLOW_LIST");} + public String getModifyCardFaceFailed(){ return bundle.getString("MODIFY_CARD_FACE_FAILED"); } + public String getRemoveCardFaceFailed(){ return bundle.getString("REMOVE_CARD_FACE_FAILED"); } + public String getDownLoadPicture(){ return bundle.getString("DOWNLOAD_PICTURE"); } - + public String getEnterPicturePath(){ return bundle.getString("ENTER_PICTURE_PATH"); } - + public String getLoading(){ return bundle.getString("LOADING"); } - + public String getEndSearch(){ return bundle.getString("END_SEARCH"); } + public String getRemoteOpenDoor(){return bundle.getString("REMOTE_OPEN_DOOR");} + public String getQueryCardExistFailed(){return bundle.getString("QUERY_CARD_EXIST_FAILED");} + public String getFindCardExist(){return bundle.getString("CARD_EXIST");} @@ -2829,52 +2877,82 @@ public final class Res { public String getModifyFail(){return bundle.getString("MODIFY_FAIL"); } public String getUploadSuccess(){return bundle.getString("UPLOAD_SUCCESS"); } + public String getUploadFail(){return bundle.getString("UPLOAD_FAIL"); } + public String getUploading(){return bundle.getString("UPLOADING"); } + public String getSureUpload(){return bundle.getString("SURE_UPLOAD"); } public String getEnterQueryData(){return bundle.getString("ENTER_QUERY_DATA"); } - + public String getScreenNumber(){return bundle.getString("SCREEN_NUMBER");} + public String getContain(){return bundle.getString("TEXT_CONTENT");} + public String getContainType(){return bundle.getString("TEXT_CONTENT_TYPE");} + public String getContainColor(){return bundle.getString("TEXT_CONTENT_COLOR");} + public String getScrollType(){return bundle.getString("SCROLL_TYPE");} + public String getScrollSpeed(){return bundle.getString("SCROLL_SPEED");} - + public String getGreen(){return bundle.getString("GREEN");} + public String getRed(){return bundle.getString("RED");} + public String getYellow(){return bundle.getString("YELLOW");} + public String getWhite(){return bundle.getString("WHITE");} - + public String getOrdinary(){return bundle.getString("ORDINARY");} + public String getQRCode(){return bundle.getString("QR_CODE");} + public String getLocalTime(){return bundle.getString("LOCAL_TIME");} + public String getResource(){return bundle.getString("RESOURCE");} - + public String getNoRolling(){return bundle.getString("NOT_ROLLING");} + public String getScrollLeftAndRight(){return bundle.getString("SCROLL_LEFT_AND_RIGHT");} + public String getScrollTopAndDown(){return bundle.getString("SCROLL_UP_AND_DOWN");} + public String getNumericString(){return bundle.getString("NUMBER_STRING");} + public String getVoiceText(){return bundle.getString("VOICE_TEXT");} + public String getIssued(){return bundle.getString("ISSUED");} + public String getPrompt(){return bundle.getString("PROMPT");} public String getDeviceName(){return bundle.getString("DEVICE_NAME");} + public String getPointID(){return bundle.getString("POINT_ID");} + public String getPointName(){return bundle.getString("POINT_NAME");} + public String getIfValidSignalPoint(){return bundle.getString("IF_VALID_SIGNAL_POINT");} + public String getAlarmDescribe(){return bundle.getString("ALARM_DESCRIBE");} + public String getAlarmDelay(){return bundle.getString("ALARM_DELAY");} + public String getAlarmLevel(){return bundle.getString("ALARM_LEVEL");} + public String getAlarmTime(){return bundle.getString("ALARM_TIME");} + public String getAlarmType(){return bundle.getString("ALARM_TYPE");} + public String getCollectTime(){return bundle.getString("COLLECT_TIME");} public String getJing(){return bundle.getString("JING");} public String getJin(){return bundle.getString("JIN");} + public String getJi(){return bundle.getString("JI");} } diff --git a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/hik/HikControlModuleImpl.java b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/hik/HikControlModuleImpl.java index 6eb881e..01a5d8c 100644 --- a/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/hik/HikControlModuleImpl.java +++ b/yudao-module-camera/yudao-module-camera-biz/src/main/java/cn/iocoder/yudao/module/camera/lib/camera/hik/HikControlModuleImpl.java @@ -56,13 +56,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlUpStart(Integer cameraId, int nChannelID, int dwPTZCommand,int dwStop) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_UP, 0); } public boolean ptzControlUpEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_UP, 1); } @@ -71,13 +81,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_DOWN, 0); } public boolean ptzControlDownEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.TILT_DOWN, 1); } @@ -86,13 +106,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlLeftStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_LEFT, 0); } public boolean ptzControlLeftEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_LEFT, 1); } /** @@ -100,13 +130,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlRightStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_RIGHT, 0); } public boolean ptzControlRightEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.PAN_RIGHT, 1); } /** @@ -114,13 +154,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlLeftUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_LEFT, 0); } public boolean ptzControlLeftUpEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_LEFT, 1); } @@ -129,14 +179,24 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlRightUpStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_RIGHT, 0); } public boolean ptzControlRightUpEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.UP_RIGHT, 1); } /** @@ -144,7 +204,12 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlLeftDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } Boolean ok = hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_LEFT, 0); if(!ok){ log.error("error:{},cameraId:{}", hcNetsdk.NET_DVR_GetLastError(),cameraId); @@ -153,7 +218,12 @@ public class HikControlModuleImpl implements CameraModule { } public boolean ptzControlLeftDownEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_LEFT, 1); } /** @@ -161,13 +231,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlRightDownStart(Integer cameraId, int nChannelID, int dwPTZCommand, int dwStop) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_RIGHT, 0); } public boolean ptzControlRightDownEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.DOWN_RIGHT, 1); } @@ -176,13 +256,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlZoomAddStart(Integer cameraId, int nChannelID, int dwPTZCommand) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_IN, 0); } public boolean ptzControlZoomAddEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_IN, 1); } @@ -191,13 +281,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlZoomDecStart(Integer cameraId, int nChannelID, int dwPTZCommand) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_OUT, 0); } public boolean ptzControlZoomDecEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.ZOOM_OUT, 1); } /** @@ -205,13 +305,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlFocusAddStart(Integer cameraId, int nChannelID, int dwPTZCommand) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_NEAR, 0); } public boolean ptzControlFocusAddEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_NEAR, 1); } /** @@ -219,13 +329,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlFocusDecStart(Integer cameraId, int nChannelID, int dwPTZCommand) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_FAR, 0); } public boolean ptzControlFocusDecEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.FOCUS_FAR, 1); } @@ -234,13 +354,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlIrisAddStart(Integer cameraId, int nChannelID, int dwPTZCommand) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_OPEN, 0); } public boolean ptzControlIrisAddEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_OPEN, 1); } @@ -249,13 +379,23 @@ public class HikControlModuleImpl implements CameraModule { */ public boolean ptzControlIrisDecStart(Integer cameraId, int nChannelID, int dwPTZCommand) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } return hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_CLOSE, 0); } public boolean ptzControlIrisDecEnd(Integer cameraId, int nChannelID) { - int lUserId = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } Boolean ok = hcNetsdk.NET_DVR_PTZControl_Other(lUserId, 1, HCNetSDK.IRIS_CLOSE, 1); return ok; } @@ -263,7 +403,11 @@ public class HikControlModuleImpl implements CameraModule { public boolean pic(Integer cameraId, int nChannelID, String path) { PathUtil.checkDirc(path); - int lUserId = CameraConnMap.getConnId(cameraId); + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + return false; + } short wPicSize = 3; short wPicQuality = 0; HCNetSDK.NET_DVR_JPEGPARA jpegpara = new HCNetSDK.NET_DVR_JPEGPARA(wPicSize, wPicQuality); @@ -284,9 +428,13 @@ public class HikControlModuleImpl implements CameraModule { endTime.setTime(end.getYear(), end.getMonthValue(), end.getDayOfMonth(), end.getHour(), end.getMinute(), end.getSecond()); log.info("start download mp4 path:{} ,cameraId:{},start_time:{},end_time:{}",path,cameraId,startTime.toStringTime(),endTime.toStringTime()); - int lUserID = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + } - int result = hcNetsdk.NET_DVR_GetFileByTime(lUserID, 1, startTime, endTime, path); + int result = hcNetsdk.NET_DVR_GetFileByTime(lUserId, 1, startTime, endTime, path); if (result == -1) { log.error("downloadMp4 error code:{},cameraId:{},path:{}", hcNetsdk.NET_DVR_GetLastError(),cameraId,path); } else { @@ -306,9 +454,13 @@ public class HikControlModuleImpl implements CameraModule { endTime.setTime(end.getYear(), end.getMonthValue(), end.getDayOfMonth(), end.getHour(), end.getMinute(), end.getSecond()); log.info("start download mp4 path:{} ,cameraId:{},start_time:{},end_time:{}",path,cameraId,startTime.toStringTime(),endTime.toStringTime()); - int lUserID = CameraConnMap.getConnId(cameraId); + + Integer lUserId = CameraConnMap.getConnId(cameraId); + if (lUserId == null){ + log.error("pic error:lUserId is null,cameraId:{}",cameraId); + } - int result = hcNetsdk.NET_DVR_GetFileByTime(lUserID, channel, startTime, endTime, path); + int result = hcNetsdk.NET_DVR_GetFileByTime(lUserId, channel, startTime, endTime, path); if (result == -1) { log.error("downloadMp4 error code:{},cameraId:{},path:{}", hcNetsdk.NET_DVR_GetLastError(),cameraId,path); } else { @@ -435,6 +587,11 @@ public class HikControlModuleImpl implements CameraModule { public void toPtz(Integer ptzId, Integer cameraId) { int dwPTZCommand = HCNetSDK.GOTO_PRESET; + + if (CameraConnMap.getConnId(cameraId) == null){ + log.error("toPtz error camera conn is null,ptzId:{},cameraId:{}",ptzId,cameraId); + return; + } Boolean ok = hcNetsdk.NET_DVR_PTZPreset_Other(CameraConnMap.getConnId(cameraId), 1, dwPTZCommand, ptzId); if(!ok){ log.error("toPtz error:{},cameraId:{}", hcNetsdk.NET_DVR_GetLastError(),cameraId); @@ -478,7 +635,7 @@ public class HikControlModuleImpl implements CameraModule { m_strLoginInfo.wPort = (short) m_nPort; - m_strLoginInfo.bUseAsynLogin = false; //是否异步登录:0- 否,1- 是 + m_strLoginInfo.bUseAsynLogin = true; //是否异步登录:0- 否,1- 是 m_strLoginInfo.write(); HCNetSDK.NET_DVR_DEVICEINFO_V30 m_strDeviceInfo30 = new HCNetSDK.NET_DVR_DEVICEINFO_V30();//设备信息 diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/camera/CameraController.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/camera/CameraController.java index 4d2d7ff..45c4365 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/camera/CameraController.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/camera/CameraController.java @@ -15,6 +15,7 @@ import cn.iocoder.yudao.module.camera.dal.entity.TreeVo; import cn.iocoder.yudao.module.camera.framework.netty.intellBlink.CameraPhotoDecoder; import cn.iocoder.yudao.module.camera.framework.netty.intellBlink.CameraPhotoInfo; import cn.iocoder.yudao.module.camera.service.camera.CameraService; +import cn.iocoder.yudao.module.camera.service.streamingMedia.ZLMediaKitService; import cn.iocoder.yudao.module.camera.service.street.StreetService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -29,6 +30,7 @@ import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.util.ArrayList; +import java.util.Date; import java.util.List; import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; @@ -45,6 +47,8 @@ public class CameraController { @Resource private StreetService streetService; + @Resource + ZLMediaKitService zLMediaKitService; @PostMapping("/logisticsResults") @Operation(summary = "货位状态查看") @PermitAll @@ -66,6 +70,17 @@ public class CameraController { } + @PostMapping("/pic") + @Operation(summary = "拍照") + @PermitAll + public CommonResult pic(@Valid @RequestBody CameraSaveReqVO createReqVO) { + CameraDO cameraDO = cameraService.getCamera(createReqVO.getId()); + zLMediaKitService.pic(cameraDO,"D://data/"+new Date().getTime()+".jpg"); + return success(""); + } + + + @PostMapping("/create") @Operation(summary = "创建相机") @PreAuthorize("@ss.hasPermission('logistics:camera:create')") diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/checklog/vo/CheckLogPageReqVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/checklog/vo/CheckLogPageReqVO.java index 5829125..3a6ff19 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/checklog/vo/CheckLogPageReqVO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/checklog/vo/CheckLogPageReqVO.java @@ -18,7 +18,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ public class CheckLogPageReqVO extends PageParam { @Schema(description = "盘点批次号", example = "001_11") - private String lotnum; + private String batchNumber; @Schema(description = "层") private Short row; diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/checklog/vo/CheckLogRespVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/checklog/vo/CheckLogRespVO.java index e50b96f..9147399 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/checklog/vo/CheckLogRespVO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/checklog/vo/CheckLogRespVO.java @@ -21,7 +21,7 @@ public class CheckLogRespVO { @Schema(description = "盘点批次号", example = "001_11") @ExcelProperty("盘点批次号") - private String lotnum; + private String batchNumber; @Schema(description = "层") @ExcelProperty("层") diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/kesc/StockControlController.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/kesc/StockControlController.java new file mode 100644 index 0000000..5838ee2 --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/kesc/StockControlController.java @@ -0,0 +1,89 @@ +package cn.iocoder.yudao.module.camera.controller.admin.kesc; + +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; +import cn.iocoder.yudao.module.camera.service.plc.PLCService; +import cn.iocoder.yudao.module.system.service.sse.SseClient; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.annotation.security.PermitAll; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +@Tag(name = "管理后台 - 随行盘点") +@RestController +@RequestMapping("/logistics/StockController") +@Validated +@Slf4j +public class StockControlController { + + @Resource + PLCService plcService; + @Resource + SseClient sseClient; + + + @PostMapping("/openCamera") + @Operation(summary = "随行盘点开始任务") + @ResponseBody + @PermitAll + public CommonResult openCamera(@RequestBody KsecDataInfo kescEntity){ + kescEntity = kescEntity.fromBySRMNumber(kescEntity); + + // 随行开始 + if (kescEntity.getCmdName().equals("B1")){ + plcService.orderStart(kescEntity); + }else if (kescEntity.getCmdName().equals("E")){ +// 盘点 + plcService.checkStart(kescEntity); + } + + return CommonResult.success("","OK"); + } + + + @PostMapping("/updateResult") + @Operation(summary = "模拟随行盘点结果返回状态") + @ResponseBody + @PermitAll + public CommonResult updateResult( KsecDataInfo kescEntity){ + log.info("模拟随行盘点结果返回状态:{}",kescEntity); + return CommonResult.success(kescEntity,"OK"); + } + + + @PostMapping("/setUpdateStatus") + @Operation(summary = "随行盘点更新状态") + @ResponseBody + @PermitAll + public CommonResult setUpdateStatus(KsecDataInfo kescEntity){ + log.info("随行盘点更新状态:{}",kescEntity); + return CommonResult.success(kescEntity,"OK"); + } + @PostMapping("/updateStatus") + @Operation(summary = "随行盘点更新状态") + @ResponseBody + @PermitAll + public CommonResult updateStatus(@RequestBody KsecDataInfo kescEntity){ + if (kescEntity.getCmdName().equals("B2")){ +// 随行结束 + plcService.orderStop(kescEntity.getTaskId()); + }else if (kescEntity.getCmdName().startsWith("E")){ +// 盘点操作 + plcService.check(kescEntity.getTaskId(),kescEntity.getCmdName()); + if (kescEntity.getCmdName().equals("E3")){ + plcService.checkStop(kescEntity.getTaskId()); + } + }else if (kescEntity.getCmdName().startsWith("C")){ + plcService.action(kescEntity.getTaskId(),kescEntity.getCmdName()); + } + + return CommonResult.success("","OK"); + } + + + + +} diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/order/vo/OrderRespVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/order/vo/OrderRespVO.java index 5cdb3ff..0741a31 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/order/vo/OrderRespVO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/order/vo/OrderRespVO.java @@ -21,6 +21,10 @@ public class OrderRespVO { @ExcelProperty("开始时间") private LocalDateTime startTime; + @Schema(description = "结束时间") + @ExcelProperty("结束时间") + private LocalDateTime endTime; + @Schema(description = "巷道id") @ExcelProperty("巷道id") private String srmNumber; diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/ShelfCodeController.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/ShelfCodeController.java new file mode 100644 index 0000000..e3ae1f8 --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/ShelfCodeController.java @@ -0,0 +1,93 @@ +package cn.iocoder.yudao.module.camera.controller.admin.shelfCode; + +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; +import cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo.ShelfCodePageReqVO; +import cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo.ShelfCodeRespVO; +import cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo.ShelfCodeSaveReqVO; +import cn.iocoder.yudao.module.camera.dal.dataobject.shelfCode.rfid.ShelfCodeDO; +import cn.iocoder.yudao.module.camera.service.shelfCode.ShelfCodeService; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.validation.Valid; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; + +@Tag(name = "管理后台 - ShelfCode") +@RestController +@RequestMapping("/logistics/ShelfCode") +@Validated +public class ShelfCodeController { + + @Resource + private ShelfCodeService shelfCodeService; + + @PostMapping("/create") + @Operation(summary = "创建ShelfCode") + @PreAuthorize("@ss.hasPermission('logistics:ShelfCode:create')") + public CommonResult createShelfCode(@Valid @RequestBody ShelfCodeSaveReqVO createReqVO) { + return success(shelfCodeService.createShelfCode(createReqVO)); + } + + @PutMapping("/update") + @Operation(summary = "更新ShelfCode") + @PreAuthorize("@ss.hasPermission('logistics:ShelfCode:update')") + public CommonResult updateShelfCode(@Valid @RequestBody ShelfCodeSaveReqVO updateReqVO) { + shelfCodeService.updateShelfCode(updateReqVO); + return success(true); + } + + @DeleteMapping("/delete") + @Operation(summary = "删除ShelfCode") + @Parameter(name = "id", description = "编号", required = true) + @PreAuthorize("@ss.hasPermission('logistics:ShelfCode:delete')") + public CommonResult deleteShelfCode(@RequestParam("id") Integer id) { + shelfCodeService.deleteShelfCode(id); + return success(true); + } + + @GetMapping("/get") + @Operation(summary = "获得ShelfCode") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('logistics:ShelfCode:query')") + public CommonResult getShelfCode(@RequestParam("id") Integer id) { + ShelfCodeDO ShelfCode = shelfCodeService.getShelfCode(id); + return success(BeanUtils.toBean(ShelfCode, ShelfCodeRespVO.class)); + } + + @GetMapping("/page") + @Operation(summary = "获得ShelfCode分页") + @PreAuthorize("@ss.hasPermission('logistics:ShelfCode:query')") + public CommonResult> getShelfCodePage(@Valid ShelfCodePageReqVO pageReqVO) { + PageResult pageResult = shelfCodeService.getShelfCodePage(pageReqVO); + return success(BeanUtils.toBean(pageResult, ShelfCodeRespVO.class)); + } + + @GetMapping("/export-excel") + @Operation(summary = "导出ShelfCode Excel") + @PreAuthorize("@ss.hasPermission('logistics:ShelfCode:export')") + @ApiAccessLog(operateType = EXPORT) + public void exportShelfCodeExcel(@Valid ShelfCodePageReqVO pageReqVO, + HttpServletResponse response) throws IOException { + pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); + List list = shelfCodeService.getShelfCodePage(pageReqVO).getList(); + // 导出 Excel + ExcelUtils.write(response, "ShelfCode.xls", "数据", ShelfCodeRespVO.class, + BeanUtils.toBean(list, ShelfCodeRespVO.class)); + } + +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodePageReqVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodePageReqVO.java new file mode 100644 index 0000000..c19523f --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodePageReqVO.java @@ -0,0 +1,30 @@ +package cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo; + +import cn.iocoder.yudao.framework.common.pojo.PageParam; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +@Schema(description = "管理后台 - ShelfCode分页 Request VO") +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +public class ShelfCodePageReqVO extends PageParam { + + @Schema(description = "巷道id", example = "8923") + private Integer streetId; + + @Schema(description = "方向") + private Integer direction; + + @Schema(description = "separation") + @ExcelProperty("separation") + private String separation; + + @Schema(description = "货架号") + @ExcelProperty("货架号") + private String shelfCode; + +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodeRespVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodeRespVO.java new file mode 100644 index 0000000..45a7ddf --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodeRespVO.java @@ -0,0 +1,36 @@ +package cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo; + +import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; +import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - ShelfCode Response VO") +@Data +@ExcelIgnoreUnannotated +public class ShelfCodeRespVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3186") + @ExcelProperty("id") + private Integer id; + + @Schema(description = "巷道id", example = "8923") + @ExcelProperty("巷道id") + private Integer streetId; + + @Schema(description = "方向") + @ExcelProperty(value = "方向", converter = DictConvert.class) + @DictFormat("direction") // TODO 代码优化:建议设置到对应的 DictTypeConstants 枚举类中 + private Integer direction; + + @Schema(description = "separation") + @ExcelProperty("separation") + private String separation; + + @Schema(description = "货架号") + @ExcelProperty("货架号") + private String shelfCode; + +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodeSaveReqVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodeSaveReqVO.java new file mode 100644 index 0000000..c6fe237 --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/shelfCode/vo/ShelfCodeSaveReqVO.java @@ -0,0 +1,28 @@ +package cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo; + +import com.alibaba.excel.annotation.ExcelProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Schema(description = "管理后台 - ShelfCode新增/修改 Request VO") +@Data +public class ShelfCodeSaveReqVO { + + @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "3186") + private Integer id; + + @Schema(description = "巷道id", example = "8923") + private Integer streetId; + + @Schema(description = "方向") + private Integer direction; + + @Schema(description = "separation") + @ExcelProperty("separation") + private String separation; + + @Schema(description = "货架号") + @ExcelProperty("货架号") + private String shelfCode; + +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/StockController.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/StockController.java index d3337c1..8be0f6c 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/StockController.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/StockController.java @@ -182,17 +182,19 @@ public class StockController { dictCode.set(scanStatus, scanCode.get(finalScan)); dictWmsCode.set(scanStatus, scanWmsCode.get(finalScan)); + + // 打印 ScanStatus 的字段值 + System.out.println("ScanStatus Code: " + dictCode.get(scanStatus)); + System.out.println("ScanStatus WMS Code: " + dictWmsCode.get(scanStatus)); } else { System.out.println("Fields not found in the hierarchy."); } - // 打印 ScanStatus 的字段值 - System.out.println("ScanStatus Code: " + dictCode.get(scanStatus)); - System.out.println("ScanStatus WMS Code: " + dictWmsCode.get(scanStatus)); } catch (NoSuchFieldException e) { throw new RuntimeException(e); } catch (IllegalAccessException e) { + e.printStackTrace(); throw new RuntimeException(e); } scanStatuses.add(scanStatus); diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockPageReqVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockPageReqVO.java index c677166..4f83695 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockPageReqVO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockPageReqVO.java @@ -18,7 +18,7 @@ import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_ public class StockPageReqVO extends PageParam { @Schema(description = "盘点批次好") - private String lotnum; + private String batchNumber; @Schema(description = "工单任务号") private String orderNum; diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockRespVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockRespVO.java index 25323cc..57879df 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockRespVO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockRespVO.java @@ -18,7 +18,7 @@ public class StockRespVO { @Schema(description = "盘点批次好") @ExcelProperty("盘点批次好") - private String lotnum; + private String batchNumber; @Schema(description = "工单任务号") @ExcelProperty("工单任务号") diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockSaveReqVO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockSaveReqVO.java index afcc3ad..b9af6a0 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockSaveReqVO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/stock/vo/StockSaveReqVO.java @@ -13,7 +13,7 @@ public class StockSaveReqVO { private Long id; @Schema(description = "盘点批次好") - private String lotnum; + private String batchNumber; @Schema(description = "工单任务号") private String orderNum; diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/street/StreetController.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/street/StreetController.java index 05f6845..de8aded 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/street/StreetController.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/controller/admin/street/StreetController.java @@ -12,6 +12,7 @@ import cn.iocoder.yudao.module.camera.controller.admin.street.vo.StreetSaveReqVO import cn.iocoder.yudao.module.camera.dal.dataobject.lightsource.LightSourceDO; import cn.iocoder.yudao.module.camera.dal.dataobject.rfid.RfidDO; import cn.iocoder.yudao.module.camera.dal.dataobject.sensorgun.SensorGunDO; +import cn.iocoder.yudao.module.camera.dal.dataobject.shelfCode.rfid.ShelfCodeDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.framework.light.LightFactory; import cn.iocoder.yudao.module.camera.service.lightsource.LightSourceService; @@ -139,6 +140,14 @@ public class StreetController { public CommonResult> getRFIDListByStreetId(@RequestParam("streetId") Integer streetId) { return success(streetService.getRFIDListByStreetId(streetId)); } + + @GetMapping("/shelfCode/list-by-street-id") + @Operation(summary = "获得货架列表") + @Parameter(name = "streetId", description = "巷道id") + @PreAuthorize("@ss.hasPermission('logistics:street:query')") + public CommonResult> getShelfCodeListByStreetId(@RequestParam("streetId") Integer streetId) { + return success(streetService.getShelfCodeListByStreetId(streetId)); + } @GetMapping("/lightSource/open") @Operation(summary = "开启全部光源") @Parameter(name = "streetId", description = "巷道id") diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/checklog/CheckLogDO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/checklog/CheckLogDO.java index 4ecae9f..5c7b81b 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/checklog/CheckLogDO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/checklog/CheckLogDO.java @@ -30,16 +30,16 @@ public class CheckLogDO extends BaseDO { /** * 盘点批次号 */ - private String lotnum; + private String batchNumber; /** * 方向 - * + *

* 枚举 {@link TODO direction 对应的类} */ private Integer direction; /** * 深浅 - * + *

* 枚举 {@link TODO side 对应的类} */ private Integer side; @@ -79,7 +79,7 @@ public class CheckLogDO extends BaseDO { /** * 状态 - * + *

* 枚举 {@link TODO check_status 对应的类} */ private Integer status; @@ -130,5 +130,14 @@ public class CheckLogDO extends BaseDO { */ private String statusVision; + private String shelfCode; + private String pltCode; + private String itemCode; + private String countNumber; + + private String wmsShelfCode; + private String wmsPltCode; + private String wmsItemCode; + private String wmsCountNumber; } \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/order/OrderDO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/order/OrderDO.java index a28a8bf..f5614ed 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/order/OrderDO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/order/OrderDO.java @@ -32,6 +32,7 @@ public class OrderDO extends BaseDO { private String srmNumber ; private String cmdName ; private String taskId ; + private String shelfCode; private int fromSide ; private int fromDirection ; private int fromColumn ; @@ -49,7 +50,7 @@ public class OrderDO extends BaseDO { private String trayCode ; @TableField(exist = false) - private String lotnum ; + private String batchNumber ; private String storageCode ; private LocalDateTime createTime ; private LocalDateTime endTime ; diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/shelfCode/rfid/ShelfCodeDO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/shelfCode/rfid/ShelfCodeDO.java new file mode 100644 index 0000000..f991bbc --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/shelfCode/rfid/ShelfCodeDO.java @@ -0,0 +1,48 @@ +package cn.iocoder.yudao.module.camera.dal.dataobject.shelfCode.rfid; + +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; +import com.baomidou.mybatisplus.annotation.KeySequence; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.*; +import org.glassfish.jaxb.core.v2.TODO; + +/** + * RFID DO + * + * @author 芋道源码 + */ +@TableName("logistics_shelf_Code") +@KeySequence("logistics_shelf_Code_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 +@Data +@EqualsAndHashCode(callSuper = true) +@ToString(callSuper = true) +@Builder +@NoArgsConstructor +@AllArgsConstructor +public class ShelfCodeDO extends BaseDO { + + /** + * id + */ + @TableId + private Integer id; + /** + * 巷道id + */ + private Integer streetId; + /** + * 方向 + * + * 枚举 {@link TODO direction 对应的类} + */ + private Integer direction; + + /** + * 深浅货位外侧货架时传 2,默认为 1 + */ + private Integer separation; + + private String shelfCode; + +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/stock/StockDO.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/stock/StockDO.java index 93bea52..edfa334 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/stock/StockDO.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/dataobject/stock/StockDO.java @@ -40,7 +40,7 @@ public class StockDO extends BaseDO { /** * 盘点批次好 */ - private String lotnum; + private String batchNumber; /** * 盘点任务号 */ @@ -87,6 +87,7 @@ public class StockDO extends BaseDO { * 内外 */ private Integer side; + private Integer separation; /** * 层 */ @@ -137,7 +138,7 @@ public class StockDO extends BaseDO { /** * taskId */ - private String taskWmsId; + private String taskId; /** * 地址 */ @@ -151,4 +152,14 @@ public class StockDO extends BaseDO { */ private String statusVision; + private String shelfCode; + private String pltCode; + private String itemCode; + private String countNumber; + + private String wmsShelfCode; + private String wmsPltCode; + private String wmsItemCode; + private String wmsCountNumber; + } \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/entity/WarehouseOperation.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/entity/WarehouseOperation.java new file mode 100644 index 0000000..30430b8 --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/entity/WarehouseOperation.java @@ -0,0 +1,111 @@ +package cn.iocoder.yudao.module.camera.dal.entity; + +import lombok.Data; + +/** + * 仓库操作实体类 + * 根据提供的字段信息创建,用于表示仓库操作的各种类型数据 + */ +@Data +public class WarehouseOperation { + /** + * 模式 B=任务模式 C=动作 D=报警 E=盘点 + */ + private String type; + + /** + * 巷道标识符 + */ + + private String SRMNumber; + + /** + * 指令名字 + */ + private String cmdName; + + /** + * 任务单号 + */ + private String taskId; + + /** + * 来源位置:1=库内 2=库外 + */ + private Integer fromSide; + + /** + * 来源方向:1=左 2=右 + */ + private Integer fromDirection; + + /** + * 来源列 + */ + private Integer fromColumn; + + /** + * 来源行 + */ + private Integer fromRow; + + /** + * 来源分离值:为双深货架,且为外侧货架时传 2,默认为 1 + */ + private Integer fromSeparation; + + /** + * 目标位置:1=库内 2=库外 + */ + private Integer toSide; + + /** + * 目标方向:1=左 2=右 + */ + private Integer toDirection; + + /** + * 目标列 + */ + private Integer toColumn; + + /** + * 目标行 + */ + private Integer toRow; + + /** + * 目标分离值:为双深货架,且为外侧货架时传 2,默认为 1 + */ + private Integer toSeparation; + + /** + * 告警标识符(当type为D时使用),多个用逗号分隔 + */ + private String warnCode; + + /** + * 货架号 + */ + private String shelfCode; + + /** + * 托盘条码 + */ + private String pltCode; + + /** + * 盘点批次号 + */ + private String batchNumber; + + /** + * 品规码 + */ + private String itemCode; + + /** + * 数量 + */ + private String countNumber; +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/checklog/CheckLogMapper.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/checklog/CheckLogMapper.java index 2312624..4651c09 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/checklog/CheckLogMapper.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/checklog/CheckLogMapper.java @@ -16,7 +16,7 @@ import org.apache.ibatis.annotations.Mapper; public interface CheckLogMapper extends BaseMapperX { default PageResult selectPage(CheckLogPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(CheckLogDO::getLotnum, reqVO.getLotnum()) + .eqIfPresent(CheckLogDO::getBatchNumber, reqVO.getBatchNumber()) .eqIfPresent(CheckLogDO::getRow, reqVO.getRow()) .eqIfPresent(CheckLogDO::getColumn, reqVO.getColumn()) .eqIfPresent(CheckLogDO::getStreetId, reqVO.getStreetId()) @@ -25,8 +25,7 @@ public interface CheckLogMapper extends BaseMapperX { .eqIfPresent(CheckLogDO::getDirection, reqVO.getDirection()) .eqIfPresent(CheckLogDO::getSide, reqVO.getSide()) .eqIfPresent(CheckLogDO::getStatus, reqVO.getStatus()) - - .orderByDesc(CheckLogDO::getId)); + .orderByDesc(CheckLogDO::getCreateTime)); } } \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/shelfCode/ShelfCodeMapper.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/shelfCode/ShelfCodeMapper.java new file mode 100644 index 0000000..0a77c81 --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/shelfCode/ShelfCodeMapper.java @@ -0,0 +1,37 @@ +package cn.iocoder.yudao.module.camera.dal.mysql.shelfCode; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo.ShelfCodePageReqVO; +import cn.iocoder.yudao.module.camera.dal.dataobject.shelfCode.rfid.ShelfCodeDO; +import org.apache.ibatis.annotations.Mapper; + +import java.util.List; + +/** + * RFID Mapper + * + * @author 芋道源码 + */ +@Mapper +public interface ShelfCodeMapper extends BaseMapperX { + + default PageResult selectPage(ShelfCodePageReqVO reqVO) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(ShelfCodeDO::getStreetId, reqVO.getStreetId()) + .eqIfPresent(ShelfCodeDO::getDirection, reqVO.getDirection()) + .eqIfPresent(ShelfCodeDO::getShelfCode, reqVO.getShelfCode()) + .eqIfPresent(ShelfCodeDO::getSeparation, reqVO.getSeparation()) + .orderByDesc(ShelfCodeDO::getId)); + } + + + default List selectListByStreetId(Integer streetId) { + return selectList(ShelfCodeDO::getStreetId, streetId); + } + + default int deleteByStreetId(Integer streetId) { + return delete(ShelfCodeDO::getStreetId, streetId); + } +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/stock/StockMapper.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/stock/StockMapper.java index 31b2f77..f669612 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/stock/StockMapper.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/dal/mysql/stock/StockMapper.java @@ -17,7 +17,7 @@ public interface StockMapper extends BaseMapperX { default PageResult selectPage(StockPageReqVO reqVO) { return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(StockDO::getLotnum, reqVO.getLotnum()) + .eqIfPresent(StockDO::getBatchNumber, reqVO.getBatchNumber()) .eqIfPresent(StockDO::getOrderNum, reqVO.getOrderNum()) .eqIfPresent(StockDO::getCheckNum, reqVO.getCheckNum()) .eqIfPresent(StockDO::getCode, reqVO.getCode()) @@ -40,7 +40,7 @@ public interface StockMapper extends BaseMapperX { .betweenIfPresent(StockDO::getExportTime, reqVO.getExportTime()) .eqIfPresent(StockDO::getSubtag, reqVO.getSubtag()) .eqIfPresent(StockDO::getReply, reqVO.getReply()) - .eqIfPresent(StockDO::getTaskWmsId, reqVO.getTaskWmsId()) + .eqIfPresent(StockDO::getTaskId, reqVO.getTaskWmsId()) .eqIfPresent(StockDO::getAddre, reqVO.getAddre()) .eqIfPresent(StockDO::getCheckId, reqVO.getCheckId()) .eqIfPresent(StockDO::getStatusVision, reqVO.getStatusVision()) diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDataInfo.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDataInfo.java index 716e0a8..f77ca1f 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDataInfo.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDataInfo.java @@ -1,10 +1,13 @@ package cn.iocoder.yudao.module.camera.framework.netty.ksec; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data; @Data public class KsecDataInfo { + + @JsonProperty("SRMNumber") private String SRMNumber; private String cmdName; @@ -19,7 +22,7 @@ public class KsecDataInfo { private Integer fromSide; - private Integer fromSeparation; + private Integer fromSeparation = 1; private Integer toColumn; @@ -29,26 +32,78 @@ public class KsecDataInfo { private Integer toSide; - private Integer toSeparation; - - private String code; + private Integer toSeparation = 1; private String warnCode; private Integer ackStatus; + private String code; + private String trayCode; private String category; private String count; +//品规码 + private String itemCode; +//货架码 + private String shelfCode; +// 托盘码 + private String pltCode; + +//数量 + private String countNumber; + + + private String wmsCode; + + private String wmsTrayCode; + + private String wmsCategory; + + private String wmsCount; + + //品规码 + private String wmsItemCode; + //货架码 + private String wmsShelfCode; + // 托盘码 + private String wmsPltCode; + + //数量 + private String wmsCountNumber; /** * 盘点批次号 */ - private String lotnum; + private String batchNumber; + + + + public KsecDataInfo fromBySRMNumber(KsecDataInfo data) { + if (data.getSRMNumber()!=null && data.getSRMNumber().length()>=13){ +// 001为巷道号 +//2为左右方向 +//003为行 +//004为列 +//000为申请货位 + data.fromDirection = Integer.valueOf(data.getSRMNumber().substring(3, 4)); + data.fromRow = Integer.valueOf(data.getSRMNumber().substring(4, 7)); + data.fromColumn = Integer.valueOf(data.getSRMNumber().substring(7, 10)); + data.SRMNumber = data.getSRMNumber().substring(0, 3); + } + return data; + } + +// public static void main(String[] args) { +// KsecDataInfo data = new KsecDataInfo(); +// data.SRMNumber = "0012003004000"; +// data = KsecDataInfo.fromBySRMNumber(data); +// System.out.println(data.toString()); +// } public static KsecDataInfo toFrom(KsecDataInfo data) { data.fromColumn = data.toColumn; @@ -58,4 +113,24 @@ public class KsecDataInfo { data.fromSeparation = data.toSeparation; return data; } + + public KsecDataInfo toWMSData() { + this.wmsCode = this.code; + this.wmsTrayCode = this.trayCode; + this.wmsCategory = this.category; + this.wmsCount = this.count; + this.wmsItemCode = this.itemCode; + this.wmsShelfCode = this.shelfCode; + this.wmsPltCode = this.pltCode; + this.wmsCountNumber = this.countNumber; + this.code = null; + this.trayCode = null; + this.category = null; + this.count = null; + this.itemCode = null; + this.shelfCode = null; + this.pltCode = null; + this.countNumber = null; + return this; + } } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDecoder.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDecoder.java index c3fca8f..4d9f3e8 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDecoder.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/framework/netty/ksec/KsecDecoder.java @@ -25,11 +25,6 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { private static final Logger tcpLogger = LoggerFactory.getLogger("tcp"); - public static void setLastLotnum(String lotnum){ - lastLotnum = lotnum; - } - - private static String lastLotnum; public static Map ksecInfoMap = new HashMap<>(); @@ -99,7 +94,7 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { plcService.orderStart(dataInfo); }else if(dataInfo.getCmdName().equals("B2")){ - plcService.orderStop(dataInfo); +// plcService.orderStop(dataInfo); } log.debug("receieve heart "); }else if (Cmd.C.name().equals(ksecInfo.getType())) { @@ -107,14 +102,14 @@ public class KsecDecoder extends DelimiterBasedFrameDecoder { //动作 String code = dataInfo.getCmdName(); log.info("action code,{},orderInfo:{}", code, dataInfo.toString()); - plcService.action(dataInfo); +// plcService.action(dataInfo); } else if (Cmd.D.name().equals(ksecInfo.getType())) { } else if (Cmd.E.name().equals(ksecInfo.getType())) { //智能盘点 dataInfo.setCount("正常"); - plcService.check( dataInfo); +// plcService.check( dataInfo); } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/Hik3D/HikFlaskApiService.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/Hik3D/HikFlaskApiService.java index 789a045..666b873 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/Hik3D/HikFlaskApiService.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/Hik3D/HikFlaskApiService.java @@ -5,7 +5,6 @@ import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.entity.HikPythonEntity; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; -import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; import cn.iocoder.yudao.module.camera.service.resources.URLResourcesService; import cn.iocoder.yudao.module.camera.service.scan.ScanService; import cn.iocoder.yudao.module.system.service.dict.DictDataService; @@ -102,6 +101,9 @@ public class HikFlaskApiService implements ScanService { String responseBody = Objects.requireNonNull(response.body()).string(); return gson.fromJson(responseBody, HikPythonEntity.class); + }catch (Exception e){ + log.error("Error occurred while calling /api/picComputeAll", e); + return null; } } @@ -135,7 +137,7 @@ public class HikFlaskApiService implements ScanService { URLResourcesService urlResourcesService; // 识别结果是正常或缺件 @Override - public ScanData scan(StreetDO streetDO, KsecDataInfo dataInfo, StockDO stockDO) { + public ScanData scan(StreetDO streetDO, StockDO stockDO) { ScanData scanData = new ScanData(); @@ -144,9 +146,9 @@ public class HikFlaskApiService implements ScanService { try { scanData.setCode("缺件"); - HikPythonEntity hikPythonEntity = picComputeAll(dataInfo.getCategory(),urlPath); + HikPythonEntity hikPythonEntity = picComputeAll(stockDO.getWmsItemCode(),urlPath); System.out.println(hikPythonEntity); - if (hikPythonEntity != null){ + if (hikPythonEntity != null && !hikPythonEntity.getStatus().equals("ERROR")){ if (hikPythonEntity.getLack()!= null && hikPythonEntity.getLack()) { }else { scanData.setCode("正常"); diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/cameraio/CameraIoServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/cameraio/CameraIoServiceImpl.java index 8636004..1cf3b6e 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/cameraio/CameraIoServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/cameraio/CameraIoServiceImpl.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.camera.service.cameraio; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.module.camera.controller.admin.cameraio.vo.CameraIoPageReqVO; import cn.iocoder.yudao.module.camera.controller.admin.cameraio.vo.CameraIoSaveReqVO; import cn.iocoder.yudao.module.camera.dal.dataobject.cameraio.CameraIoDO; @@ -30,7 +31,12 @@ public class CameraIoServiceImpl extends ServiceImpl public Integer createCameraIo(CameraIoSaveReqVO createReqVO) { // 插入 CameraIoDO cameraIo = BeanUtils.toBean(createReqVO, CameraIoDO.class); - cameraIoMapper.insert(cameraIo); + if(cameraIoMapper.selectCount(new LambdaQueryWrapperX().eq(CameraIoDO::getCode,createReqVO.getCode()).eq(CameraIoDO::getCameraId,createReqVO.getCameraId()))>0){ + + return cameraIo.getId(); + }else { + cameraIoMapper.insert(cameraIo); + } // 返回 return cameraIo.getId(); } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/order/OrderServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/order/OrderServiceImpl.java index 54efb5a..f721d24 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/order/OrderServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/order/OrderServiceImpl.java @@ -209,7 +209,7 @@ public class OrderServiceImpl implements OrderService { seriesList.add(series); for (String date : data) { Map countMap = map.get(street.getPlcId()); - Long count = countMap != null ? countMap.get(date) : 0L; + Long count = (countMap != null && countMap.get(date) !=null ) ? countMap.get(date) : 0L; series.getData().add(count); } } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCService.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCService.java index 6750082..f44fede 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCService.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCService.java @@ -5,12 +5,14 @@ import cn.iocoder.yudao.module.camera.framework.netty.streetAlgorithm.executor.A public interface PLCService { - void action(KsecDataInfo dataInfo); + void action(String taskId,String cmd); + void checkStart(KsecDataInfo dataInfo); + void checkStop(String taskId); - void orderStart(KsecDataInfo kescEntity); - void orderStop(KsecDataInfo kescEntity); + void orderStart(KsecDataInfo kescEntity); + void orderStop(String taskId); - void check(KsecDataInfo dataInfo); + void check(String taskId, String cmd); void stockSave(AlgorithmDelayTask algorithmDelayTask); } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java index 526c30d..b49cdda 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/plc/PLCServiceImpl.java @@ -1,15 +1,13 @@ package cn.iocoder.yudao.module.camera.service.plc; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; import cn.iocoder.yudao.module.camera.dal.dataobject.camera.CameraDO; import cn.iocoder.yudao.module.camera.dal.dataobject.cameraio.CameraIoDO; import cn.iocoder.yudao.module.camera.dal.dataobject.checklog.CheckLogDO; import cn.iocoder.yudao.module.camera.dal.dataobject.order.OrderDO; import cn.iocoder.yudao.module.camera.dal.dataobject.resources.URLResourcesDo; -import cn.iocoder.yudao.module.camera.dal.dataobject.sensorgun.SensorGunDO; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; -import cn.iocoder.yudao.module.camera.dal.dataobject.stocklog.StockLogDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; -import cn.iocoder.yudao.module.camera.dal.entity.KescEntity; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; import cn.iocoder.yudao.module.camera.dal.mysql.checklog.CheckLogMapper; import cn.iocoder.yudao.module.camera.dal.mysql.order.OrderMapper; @@ -19,7 +17,6 @@ import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; import cn.iocoder.yudao.module.camera.framework.netty.streetAlgorithm.executor.AlgorithmDelayTask; import cn.iocoder.yudao.module.camera.framework.netty.streetAlgorithm.executor.GetPhotoDelayExecutor; import cn.iocoder.yudao.module.camera.lib.camera.CameraModFactory; -import cn.iocoder.yudao.module.camera.lib.camera.TaskDelayExecutor; import cn.iocoder.yudao.module.camera.service.camera.CameraService; import cn.iocoder.yudao.module.camera.service.cameraio.CameraIoService; import cn.iocoder.yudao.module.camera.service.checklog.CheckLogService; @@ -28,26 +25,34 @@ import cn.iocoder.yudao.module.camera.service.scan.ScanServiceFactory; import cn.iocoder.yudao.module.camera.service.stock.StockService; import cn.iocoder.yudao.module.camera.service.streamingMedia.ZLMediaKitService; import cn.iocoder.yudao.module.camera.service.street.StreetService; -import cn.iocoder.yudao.module.camera.service.threeInOneCode.ScanningGun; import cn.iocoder.yudao.module.camera.util.PathUtil; import cn.iocoder.yudao.module.system.dal.dataobject.dict.DictDataDO; import cn.iocoder.yudao.module.system.service.dict.DictDataService; import cn.iocoder.yudao.module.system.service.sse.SseClient; +import cn.iocoder.yudao.module.system.util.RedisUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.fasterxml.jackson.databind.ObjectMapper; import de.danielbechler.util.Strings; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.web.client.RestTemplate; import java.lang.reflect.Field; import java.time.Duration; import java.time.LocalDateTime; -import java.util.List; +import java.util.HashMap; import java.util.Map; import java.util.UUID; -import java.util.concurrent.*; -import java.util.concurrent.atomic.AtomicReference; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; @Service @Slf4j @@ -105,7 +110,8 @@ public class PLCServiceImpl implements PLCService { log.error("ptz not found ,code:{},cameraId:{}", code, cameraDO.getId()); } } -// public void plcService (KescEntity kescEntity){ + + // public void plcService (KescEntity kescEntity){ // // // //获取配置信息 @@ -118,8 +124,8 @@ public class PLCServiceImpl implements PLCService { // //任务 // if (Cmd.B1.name().equals(kescEntity.getData().getCmdName())) { // //昆船盘点模式下也会发B1 ,但是不会发送B2 -// //这里判断下,是否存在盘点批次号 若存在,既是盘点的B1,无需处理;若不存在lotnum,则是随行的B1 -// if(StringUtils.isEmpty(kescEntity.getData().getLotnum())){ +// //这里判断下,是否存在盘点批次号 若存在,既是盘点的B1,无需处理;若不存在batchNumber,则是随行的B1 +// if(StringUtils.isEmpty(kescEntity.getData().getBatchNumber())){ // //任务开始 旋转到原点位 // gyrateCamera(kescEntity,Cmd.C5.name()); // //orderStart(kescEntity); @@ -165,26 +171,99 @@ public class PLCServiceImpl implements PLCService { // // } // } + @Resource + RestTemplate restTemplate; + @Resource + RedisUtil redisUtil; + + void setUpdateResult(String taskId) { + + Map dictDataList = dictDataService.getDictDataList("base_conf"); + if (dictDataList.get("cssc_update_result_api") != null) { + String url = dictDataList.get("cssc_update_result_api").getValue(); + Integer count = Integer.valueOf(dictDataList.get("cssc_set_max_count").getValue()); + + Map resultMap = redisUtil.hmget("stock:task:" + taskId); + + setHttp(url, resultMap, count); + } + } + + void setUpdateStatus(String taskId, String cmd) { + char secondChar = cmd.charAt(1); // 获取第二个字符 + int number = Character.getNumericValue(secondChar); // 将字符转换为数字 + cmd = "E" + (number + 1); + Map dictDataList = dictDataService.getDictDataList("base_conf"); + if (dictDataList.get("cssc_update_status_api") != null) { + String url = dictDataList.get("cssc_update_status_api").getValue(); + Integer count = Integer.valueOf(dictDataList.get("cssc_set_max_count").getValue()); + Map resultMap = new HashMap<>(); + resultMap.put("cmdName", cmd); + resultMap.put("taskId", taskId); + setHttp(url, resultMap, count); + } + } + + void setHttp(String url, Map resultMap, Integer count) { + if (count == 0) { + return; + } + count--; + // 设置请求头 + HttpHeaders headers = new HttpHeaders(); + headers.set("Content-Type", "application/json"); // 设置 Content-Type 为 JSON + // 创建 ObjectMapper 实例 + ObjectMapper objectMapper = new ObjectMapper(); + + // 将对象转换为 JSON 字符串 + try { + String jsonString = objectMapper.writeValueAsString(resultMap); + // 创建 HttpEntity + HttpEntity entity = new HttpEntity<>(jsonString, headers); + + log.info("request json: " + jsonString); + // 发起 POST 请求 + ResponseEntity response = restTemplate.exchange( + url, // 替换为你的 API 地址 + HttpMethod.POST, + entity, + String.class + ); + + // 输出响应结果 + log.info("Status Code: " + response.getStatusCode()); + log.info("Response Body: " + response.getBody()); + + if (!response.getStatusCode().is2xxSuccessful()) { + setHttp(url, resultMap, count); + } + } catch (Exception e) { + e.printStackTrace(); + setHttp(url, resultMap, count); + + } + + } @Override - public void action(KsecDataInfo dataInfo) { + public void action(String taskId, String cmd) { OrderDO order = orderMapper.selectOne(new LambdaQueryWrapper() - .eq(OrderDO::getTaskId, dataInfo.getTaskId()) + .eq(OrderDO::getTaskId, taskId) .orderByDesc(OrderDO::getCreateTime) .last("limit 1")); - StreetDO street = streetService.getStreetByPlcId(dataInfo.getSRMNumber()); + StreetDO street = streetService.getStreetByPlcId(order.getSrmNumber()); if (street == null) { - log.error("street not found ,plcId :{}", dataInfo.getSRMNumber()); + log.error("street not found ,plcId :{}", order.getSrmNumber()); return; } //OrderInfo orderInfo = new OrderInfo(street, plcCmdInfo, times, code); //判断是否拍照 boolean needCapture = false; - String picCmd = dataInfo.getCmdName().substring(0, 2); - Integer direction = dataInfo.getFromDirection(); + String picCmd = cmd.substring(0, 2); + Integer direction = order.getFromDirection(); if (picCmd.equals("C4") || picCmd.equals("C3")) { needCapture = true; - direction = dataInfo.getToDirection(); + direction = order.getToDirection(); } else if (picCmd.equals("C1") || picCmd.equals("C2")) { needCapture = true; @@ -193,27 +272,27 @@ public class PLCServiceImpl implements PLCService { } String saveApiPath = dictDataService.parseDictData("base_conf", "data_api_path").getValue(); - KescEntity kescEntity = new KescEntity(); - kescEntity.setData(dataInfo); + // 判断巷道有几个相机 如果只有一个,则调用一个,如果是两个,先判断是否有对拍设置决定那个相机拍摄 CameraDO camera = getCameraByLeftRight(street, direction); // 调用预置点位 gyrateCameraByCode(camera, picCmd); - int time = Integer.parseInt(dictDataService.parseDictData("camera_conf", "delay_preset_time").getValue()); - try { - Thread.sleep(time); - } catch (InterruptedException e) { - e.printStackTrace(); - } +// int time = Integer.parseInt(dictDataService.parseDictData("camera_conf", "delay_preset_time").getValue()); +// try { +// Thread.sleep(time); +// } catch (InterruptedException e) { +// e.printStackTrace(); +// } + KsecDataInfo dataInfoData = BeanUtils.toBean(order, KsecDataInfo.class); if (needCapture) { - String pathSrc = PathUtil.createFileName(dataInfo, street, picCmd, ".jpg"); - pathSrc = cameraCapture(camera, false, pathSrc, dictDataService.getDictDataList("camera_conf")); + String pathSrc = PathUtil.createFileName(dataInfoData, street, picCmd, ".jpg"); + pathSrc = cameraCapture(camera, true, pathSrc, dictDataService.getDictDataList("camera_conf")); - order.setPics(Strings.hasText(order.getPics()) ? order.getPics() + ";" +saveApiPath+ pathSrc : saveApiPath+pathSrc); + order.setPics(Strings.hasText(order.getPics()) ? order.getPics() + ";" + saveApiPath + pathSrc : saveApiPath + pathSrc); orderMapper.updateById(order); } //转向原点位 - gyrateCameraByCode(camera, "C5"); +// gyrateCameraByCode(camera, "C5"); } @Resource @@ -227,20 +306,25 @@ public class PLCServiceImpl implements PLCService { long timeout = 5000; @Override - public void check(KsecDataInfo dataInfo) { + public void checkStart(KsecDataInfo dataInfo) { + dataInfo.setCountNumber("正常"); + dataInfo = dataInfo.toWMSData(); String saveApiPath = dictDataService.parseDictData("base_conf", "data_api_path").getValue(); long startTime = System.currentTimeMillis(); String uuid = UUID.randomUUID().toString(); - //头部拍照 + StreetDO street = streetService.getStreetByPlcId(dataInfo.getSRMNumber()); + + sseClient.sendMessage(street.getPlcId()+"巷道开始盘点"); + StockDO newStock = BeanUtils.toBean(dataInfo, StockDO.class); // 获取记录 StockDO stock = stockService.getOne( new QueryWrapper() .eq("direction", dataInfo.getFromDirection()) - .eq("side", dataInfo.getFromSide()) + .eq("separation", dataInfo.getFromSeparation()) .eq("`row`", dataInfo.getFromRow()) .eq("`column`", dataInfo.getFromColumn()) .eq("street_id", street.getId()) @@ -248,108 +332,49 @@ public class PLCServiceImpl implements PLCService { ); if (stock == null) { - stock = StockDO.builder() - .checkNum(dataInfo.getTaskId()) - .lotnum(dataInfo.getLotnum()) - .streetId(street.getId()) - .direction(dataInfo.getFromDirection()) - .side(dataInfo.getFromSide()) - .row(dataInfo.getFromRow()) - .status("0") - .column(dataInfo.getFromColumn()) - .exportTime(LocalDateTime.now()).build(); - } else { - stock.setLotnum(dataInfo.getLotnum()); + stock = newStock; + stock.setStreetId(street.getId()); + + stock.setCheckNum(dataInfo.getTaskId()); + stock.setDirection(dataInfo.getFromDirection()); + stock.setSide(dataInfo.getFromSide()); + stock.setSeparation(dataInfo.getFromSeparation()); + stock.setRow(dataInfo.getFromRow()); + stock.setColumn(dataInfo.getFromColumn()); + stock.setStatus("0"); stock.setExportTime(LocalDateTime.now()); - stock.setCode(""); - stock.setWmsCode(""); - stock.setTrayCode(""); - stock.setWmsCategory(""); - stock.setCount("0"); - stock.setWmsCount("0"); - stock.setCategory(""); - stock.setWmsTrayCode(""); +// 盘点数据保存 + + + } else { + newStock.setStreetId(street.getId()); + + newStock.setCheckNum(dataInfo.getTaskId()); + newStock.setDirection(dataInfo.getFromDirection()); + newStock.setSide(dataInfo.getFromSide()); + newStock.setSeparation(dataInfo.getFromSeparation()); + newStock.setRow(dataInfo.getFromRow()); + newStock.setColumn(dataInfo.getFromColumn()); + newStock.setId(stock.getId()); + stock = newStock; stock.setStatus("0"); - stock.setCheckNum(dataInfo.getTaskId()); + + stock.setExportTime(LocalDateTime.now()); +// 将盘点数据保存 + + } stock.setCheckPic(uuid); - //拍照记录 - String pathSrc = PathUtil.createFileName(dataInfo, street, "E1", ".jpg"); CameraDO camera = cameraService.getById(dataInfo.getFromDirection() == 1 ? street.getCamera1Id() : street.getCamera2Id()); pathSrc = cameraCapture(camera, false, pathSrc, dictDataService.getDictDataList("camera_conf")); - urlResourcesService.save(URLResourcesDo.builder().url(saveApiPath+pathSrc).uuid(uuid).type("1").little("球机拍照").build()); + urlResourcesService.save(URLResourcesDo.builder().url(saveApiPath + pathSrc).uuid(uuid).type("1").little("球机拍照").build()); // 先记录正常未盘点情况 stockService.saveOrUpdate(stock); - //根据扫码配置 获取扫码结果 - Map dictDataList = dictDataService.getDictDataList("scan_conf"); -// 默认正确 - AtomicReference status = new AtomicReference<>("2"); - StockDO finalStock = stock; - List> futures = dictDataList.values().stream() - .filter(dictDataDO -> !dictDataDO.getValue().equals("0")) - .map(dictDataDO -> CompletableFuture.supplyAsync(() -> -// 调用扫码服务,包含图片保存等不进行修改finalStock - scanServiceFactory.scan(dictDataDO.getValue(), street, dataInfo, finalStock) - ).thenApply(result -> { - // 任务完成后,基于返回的结果进行操作 -// 如果有扫码结果,并且扫码结果为假,则修改状态为错误 - // 获取字段对象 - - try { - String wmsType = "wms" + capitalize(dictDataDO.getLabel()); - Field stockField = finalStock.getClass().getDeclaredField(dictDataDO.getLabel()); - Field wmsField = KsecDataInfo.class.getDeclaredField(dictDataDO.getLabel()); - - Field stockWmsField = finalStock.getClass().getDeclaredField(wmsType); - wmsField.setAccessible(true); - stockField.setAccessible(true); - stockWmsField.setAccessible(true); - String wmsCode = (String) wmsField.get(dataInfo); - - if (!result.getCode().equals(wmsCode)) { - status.set("1"); - } - stockField.set(finalStock, result.getCode()); - stockWmsField.set(finalStock, wmsCode); - } catch (NoSuchFieldException | IllegalAccessException e) { - e.printStackTrace(); - status.set("1"); - } - - return result; - } - ).orTimeout(10, TimeUnit.SECONDS) - .exceptionally(ex -> { - if (ex instanceof TimeoutException) { - status.set("1"); - } - return null; - }) - ) - .toList(); - - // 等待所有异步任务完成 - CompletableFuture allOf = CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])); - try { - allOf.get(); // 阻塞直到所有任务完成 - } catch (InterruptedException e) { - throw new RuntimeException(e); - } catch (ExecutionException e) { - throw new RuntimeException(e); - } - - // 打印修改后的对象 - - finalStock.setStatus(status.get()); - -// ScanStatus scanStatus = scanServiceFactory.action(isCheck,code, dataInfo.getCode(), trayCode, dataInfo.getTrayCode()); - - - stockService.saveOrUpdate(finalStock); - checkLog(finalStock); + redisUtil.hset("stock:task:" + dataInfo.getTaskId(), "taskId", dataInfo.getTaskId()); + checkLog(stock); // StockCheckRunnable stockCheckRunnable = new StockCheckRunnable(street,plcCmdInfo,cmdCode,stockMapper,path,checkLogMapper,configProperties.getScanCodeMode().getGoods(),wmsCode,wmsTrayCode,trayCode,trayCheck,configProperties,sensorGun); // threadPoolExecutor.execute(stockCheckRunnable); //还原相机 @@ -362,6 +387,93 @@ public class PLCServiceImpl implements PLCService { // getPhotoDelayExecutor.communicationFactory(algorithmDelayTask); } + public void check(String taskId, String cmd) { + //根据扫码配置 获取扫码结果 + Map dictDataList = dictDataService.getDictDataList("scan_conf"); + Map csscStartList = dictDataService.getDictDataList("cssc_scan"); +// 如果存在扫码情况,进行扫码 + if (csscStartList.get(cmd) != null) { + String[] scanTypes = csscStartList.get(cmd).getValue().split(";"); + StockDO stock = stockService.getOne( + new QueryWrapper() + .eq("task_id", taskId) + ); + StreetDO street = streetService.getById(stock.getStreetId()); + for (String scanType : scanTypes) { + DictDataDO dictDataDO = dictDataList.get(scanType); + ScanData scanData = scanServiceFactory.scan(dictDataDO.getValue(), street, stock); + + redisUtil.hset("stock:task:" + taskId, scanType, scanData.getCode()); + try { + String wmsType = "wms" + capitalize(scanType); + Field stockField = stock.getClass().getDeclaredField(scanType); + Field stockWmsField = stock.getClass().getDeclaredField(wmsType); + + stockField.setAccessible(true); + stockWmsField.setAccessible(true); +// String wmsCode = (String) wmsField.get(stock); +// stockField.set(stock, scanData.getCode()); + stockField.set(stock, scanData.getCode()); + + redisUtil.hset("stock:task:" + taskId, scanType, scanData.getCode()); + } catch (IllegalAccessException e) { + log.error("scan error", e); + } catch (NoSuchFieldException e) { + log.error("scan error", e); + } + } + stockService.updateById(stock); + checkLog(stock); + } + setUpdateStatus(taskId, cmd); + } + + public void checkStop(String taskId) { + + Map dictDataList = dictDataService.getDictDataList("base_conf"); + + Map csscStartList = dictDataService.getDictDataList("cssc_scan"); + StockDO stock = stockService.getOne( + new QueryWrapper() + .eq("task_id", taskId) + ); + if (stock == null) { + log.error("taskId:{}不存在", taskId); + return; + } + stock.setStatus("2"); + for (String key : csscStartList.keySet()) { + if (key.startsWith("E")) { + String[] split = csscStartList.get(key).getValue().split(","); + for (String s : split) { + String wmsType = "wms" + capitalize(s); + try { + Field stockField = StockDO.class.getDeclaredField(s); + Field wmsField = StockDO.class.getDeclaredField(wmsType); + +// 添加以下两行代码,设置字段可访问 + stockField.setAccessible(true); + wmsField.setAccessible(true); + if (!wmsField.get(stock).toString().equals(stockField.get(stock).toString())) { + stock.setStatus("1"); + } + } catch (Exception e) { + + stock.setStatus("1"); + log.error("scan error", e); + } + } + } + } + stockService.updateById(stock); + checkLog(stock); + setUpdateResult(taskId); + + redisUtil.del("stock:task:" + taskId); + + + } + public static String capitalize(String str) { if (str == null || str.isEmpty()) { return str; @@ -376,88 +488,29 @@ public class PLCServiceImpl implements PLCService { CheckLogMapper checkLogMapper; public void checkLog(StockDO stock) { - CheckLogDO checkLog = new CheckLogDO(); - checkLog.setCheckNum(stock.getCheckNum()); + CheckLogDO checkLog = BeanUtils.toBean(stock, CheckLogDO.class); + CheckLogDO checkLogDO = checkLogMapper.selectOne( + new QueryWrapper() + .eq("task_id", stock.getCheckNum()).last("limit 1") + ); + if (checkLogDO != null) { + checkLog.setId(checkLogDO.getId()); + } + checkLog.setPic(stock.getCheckPic()); - checkLog.setStreetId(stock.getStreetId()); - checkLog.setDirection(stock.getDirection()); - checkLog.setSide(stock.getSide()); - checkLog.setCode(stock.getCode()); - checkLog.setWmsCode(stock.getWmsCode()); checkLog.setStatus(Integer.valueOf(stock.getStatus())); - checkLog.setRow(stock.getRow()); - checkLog.setColumn(stock.getColumn()); - checkLog.setTrayCode(stock.getTrayCode()); - checkLog.setWmsTrayCode(stock.getWmsTrayCode()); - checkLog.setCount(stock.getCount()); - checkLog.setWmsCount(stock.getWmsCount()); - checkLog.setWmsCategory(stock.getWmsCategory()); - checkLog.setCategory(stock.getCategory()); - checkLog.setWmsTrayCode(stock.getWmsTrayCode()); - checkLog.setLotnum(stock.getLotnum()); checkLog.setCreateTime(LocalDateTime.now()); - checkLogMapper.insert(checkLog); - log.info("checkLogMapper insert"); - } - public void stockSave(KsecDataInfo ksecDataInfo, StreetDO streetDO, String trayCode) { - StockDO stockDO = stockService.getOne(new QueryWrapper() - .eq("street_id", streetDO.getId()) - .eq("direction", ksecDataInfo.getFromDirection()) - .eq("side", ksecDataInfo.getFromSide()) - .eq("`row`", ksecDataInfo.getFromRow()) - .eq("`column`", ksecDataInfo.getFromColumn())); - - String cameraType = ksecDataInfo.getSRMNumber() + "-" + ksecDataInfo.getCmdName() + "-" + ksecDataInfo.getToDirection() + "-" + "up"; - if (stockDO == null) { - - stockDO = StockDO.builder() - .checkNum(ksecDataInfo.getTaskId()) - .lotnum(ksecDataInfo.getLotnum()) - .taskWmsId(ksecDataInfo.getTaskId()) - .wmsCode(trayCode) - .code(trayCode) - .streetId(streetDO.getId()) - .direction(ksecDataInfo.getFromDirection()) - .row(ksecDataInfo.getFromRow()) - .column(ksecDataInfo.getFromColumn()) - .status("0") - .checkPic("http://" + streetDO.getPlcIp() + ":9007/pic/" + ksecDataInfo.getTaskId() + "_" + cameraType + ".JPEG;") - .exportTime(LocalDateTime.now()).build(); - stockService.save(stockDO); - } else { - stockDO.setStatus("0"); - stockDO.setLotnum(ksecDataInfo.getLotnum()); - stockDO.setExportTime(LocalDateTime.now()); - stockDO.setCheckPic(ksecDataInfo.getTaskId() + "_" + cameraType); - stockDO.setCheckNum(ksecDataInfo.getTaskId()); - stockDO.setCode(trayCode); - stockDO.setWmsCode(trayCode); - stockDO.setTaskWmsId(ksecDataInfo.getTaskId()); - - stockService.updateById(stockDO); + if (checkLogDO == null) { + checkLog.setId(null); + checkLogMapper.insert(checkLog); + }else { + checkLogMapper.updateById(checkLog); } - - CheckLogDO checkLog = new CheckLogDO(); - checkLog.setCheckNum(stockDO.getCheckNum()); - checkLog.setPic(stockDO.getCheckPic()); - checkLog.setStreetId(stockDO.getStreetId()); - checkLog.setTaskId(stockDO.getTaskWmsId()); - checkLog.setDirection(stockDO.getDirection()); - checkLog.setSide(stockDO.getSide()); - checkLog.setCode(trayCode); - checkLog.setWmsCode(trayCode); - checkLog.setStatus(Integer.valueOf(stockDO.getStatus())); - checkLog.setRow(stockDO.getRow()); - checkLog.setColumn(stockDO.getColumn()); - checkLog.setTrayCode(stockDO.getTrayCode()); - checkLog.setWmsTrayCode(stockDO.getWmsTrayCode()); - checkLog.setLotnum(stockDO.getLotnum()); - checkLog.setCreateTime(LocalDateTime.now()); - checkLogService.save(checkLog); - + log.info("checkLogMapper insert"); } + @Override public void stockSave(AlgorithmDelayTask algorithmDelayTask) { StockDO stockDO = stockService.getOne(new QueryWrapper().eq("task_Wms_Id", algorithmDelayTask.getTaskId())); @@ -484,7 +537,7 @@ public class PLCServiceImpl implements PLCService { public void orderStart(KsecDataInfo kescEntity) { StreetDO street = streetService.getStreetByPlcId(kescEntity.getSRMNumber()); - + sseClient.sendMessage(street.getPlcId()+"巷道开始随行记录"); if (street != null) { OrderDO order = new OrderDO(); @@ -492,10 +545,17 @@ public class PLCServiceImpl implements PLCService { order.setCreateTime(LocalDateTime.now()); order.setSrmNumber(kescEntity.getSRMNumber()); - order.setFromSide(kescEntity.getFromSide()); + order.setFromSide(kescEntity.getToSide()); + order.setFromSeparation(kescEntity.getFromSeparation()); order.setFromDirection(kescEntity.getFromDirection()); order.setFromColumn(kescEntity.getFromColumn()); order.setFromRow(kescEntity.getFromRow()); + + order.setToSide(kescEntity.getToSide()); + order.setToSeparation(kescEntity.getToSeparation()); + order.setToDirection(kescEntity.getToDirection()); + order.setToColumn(kescEntity.getToColumn()); + order.setToRow(kescEntity.getToRow()); order.setStartTime(LocalDateTime.now()); //todo 昆船的项目 ,取货 放货是独立的 @@ -517,31 +577,30 @@ public class PLCServiceImpl implements PLCService { // OrderRealtime.startOrder(street.getId(), plcCmdInfo.getOrderNum()); } } + @Resource ZLMediaKitService zLMediaKitService; - public void orderStop(KsecDataInfo ksecDataInfo) { + + public void orderStop(String taskId) { Map dictDataList = dictDataService.getDictDataList("camera_conf"); LocalDateTime endTime = LocalDateTime.now(); - StreetDO street = streetService.getStreetByPlcId(ksecDataInfo.getSRMNumber()); - if (street == null) { - return; - } OrderDO order = orderMapper.selectOne(new LambdaQueryWrapper() - .eq(OrderDO::getTaskId, ksecDataInfo.getTaskId()) + .eq(OrderDO::getTaskId, taskId) .orderByDesc(OrderDO::getCreateTime) .last("limit 1")); if (order == null) { - log.error("订单结束信号,订单不存在,orderNum:{}", ksecDataInfo.getTaskId()); + log.error("订单结束信号,订单不存在,orderNum:{}", taskId); + return; + } + StreetDO street = streetService.getStreetByPlcId(order.getSrmNumber()); + + sseClient.sendMessage(street.getPlcId()+"巷道结束随行记录"); + if (street == null) { return; } //OrderRealtime.stopOrder(street.getId()); - OrderDO update = new OrderDO(); - update.setId(order.getId()); - update.setEndTime(endTime); - update.setToSide(ksecDataInfo.getToSide()); - update.setToDirection(ksecDataInfo.getToDirection()); - update.setToColumn(ksecDataInfo.getToColumn()); - update.setToRow(ksecDataInfo.getToRow()); +// OrderDO update = new OrderDO(); + order.setEndTime(endTime); LocalDateTime endDownLoadTime = endTime.plusSeconds(10); Duration duration = Duration.between(order.getCreateTime(), endDownLoadTime); @@ -550,8 +609,10 @@ public class PLCServiceImpl implements PLCService { } if (street.getCamera1Id() != null) { + for (int i = 0; i < 5; i++) { - zLMediaKitService.stopRecord("live", street.getCamera1Id().toString()); + zLMediaKitService.stopRecord("live", street.getCamera1Id().toString()); + } // String path = cameraVideo(street.getCamera1Id(), pathSrc, order.getCreateTime(), endDownLoadTime, dictDataList); } @@ -560,7 +621,9 @@ public class PLCServiceImpl implements PLCService { } - orderMapper.updateById(update); + orderMapper.updateById(order); + + sseClient.sendMessage(street.getPlcId()+"巷道结束盘点"); } /** @@ -572,126 +635,14 @@ public class PLCServiceImpl implements PLCService { */ - public void orderStop(KescEntity kescEntity) { - LocalDateTime endTime = LocalDateTime.now(); - StreetDO street = streetService.getStreetByPlcId(kescEntity.getData().getSRMNumber()); - if (street == null) { - return; - } - OrderDO order = orderMapper.selectOne(new QueryWrapper().eq("task_id", kescEntity.getData().getTaskId())); - if (order == null) { - log.error("订单结束信号,订单不存在,orderNum:{}", kescEntity.getData().getTaskId()); - return; - } - //OrderRealtime.stopOrder(street.getId()); - order.setId(order.getId()); - order.setEndTime(endTime); - order.setToSide(kescEntity.getData().getToSide()); - order.setToDirection(kescEntity.getData().getToDirection()); - order.setToColumn(kescEntity.getData().getToColumn()); - order.setToRow(kescEntity.getData().getToRow()); - - //拍照相机id获取 - String cameraType = kescEntity.getData().getSRMNumber() + "-" + kescEntity.getData().getToDirection() + "-" + "up"; - List sensorGunDOS = sensorGunMapper.selectListByStreetId(street.getId()); - //扫码枪校验 - String sensorGunCode = ""; - for (SensorGunDO sensorGunDO : sensorGunDOS) { - if (sensorGunDO.getDirection() == kescEntity.getData().getFromDirection()) { - int time = Integer.parseInt(dictDataService.parseDictData("sensorFun_conf", "order_sensorFun_scan_time").getValue()); - sensorGunCode = ScanningGun.readOCR(sensorGunDO.getIp(), sensorGunDO.getPort(), "start", time); - } - } - - //拍照i - //CheckIntellBlinkChanel.pictures(street.getPlcId(), kescEntity.getData().getTaskId(),cameraType,dictDataService.parseDictData("camera_position", cameraType).getValue()); - - AlgorithmDelayTask algorithmDelayTask = new AlgorithmDelayTask(kescEntity.getData().getToDirection(), street.getPlcId() - , kescEntity.getData().getTaskId(), 10000, sensorGunCode, "C3", kescEntity.getData().getToRow(), kescEntity.getData().getToColumn()); - - String picPath = algorithmDelayTask.getSRMNumber() + "-" + algorithmDelayTask.getCmdName() + "-" + algorithmDelayTask.getDirection() + "-" + "up"; - KsecDataInfo ksecDataInfo = KsecDataInfo.toFrom(kescEntity.getData()); - stockSave(ksecDataInfo, street, sensorGunCode); - getPhotoDelayExecutor.communicationFactory(algorithmDelayTask); - order.setPics(order.getPics() == null ? "" : order.getPics() + "http://" + street.getPlcIp() + ":9007/pic/" + kescEntity.getData().getTaskId() + "_" + picPath + ".JPEG;"); - orderMapper.updateById(order); - - } - @Resource GetPhotoDelayExecutor getPhotoDelayExecutor; @Resource SensorGunMapper sensorGunMapper; - @Resource - TaskDelayExecutor taskDelayExecutor; - - - public String cameraVideo(Integer cameraId, String path, LocalDateTime startTime, LocalDateTime endTime, Map map) { - - Thread thread = new Thread(new Runnable() { - @Override - public void run() { - String realPath = map.get("mp4_path").getValue() + path; - TaskDelayExecutor.addMp4DelayTask(cameraId, realPath, startTime, endTime, Long.valueOf(map.get("delay_mp4_time").getValue())); - } - }); - thread.start(); - //cameraControlModule.downloadMp4(cameraId,realPath,startTime,endTime); - return path; - } - - - /** - * //times == 1 ,做动作 - * //times == 2 ,拍照 - * //times == 3 ,做动作 - * //times == 4 ,拍照 - * - */ -// public void action(KsecDataInfo ksecDataInfo , Map dictDataList) throws InterruptedException { -// StreetDO street = streetService.getStreetByPlcId(ksecDataInfo.getSRMNumber()); -// if (street == null) { -// log.error("street not found ,plcId :{}", ksecDataInfo.getSRMNumber()); -// return; -// } -// //OrderInfo orderInfo = new OrderInfo(street, plcCmdInfo, times, code); -// String path = null; -// //判断是否拍照 -// boolean needCapture = false; -// String picCmd = ksecDataInfo.getCode().substring(0, 2); -// if (picCmd.equals("C2") || picCmd.equals("C4") || picCmd.equals("C1") || picCmd.equals("C3")) { -// needCapture = true; -// } -// boolean time = (picCmd.equals("C3") || picCmd.equals("C4")); -// /*** -// * 判断该巷道有几个相机 -// * 如果有一个相机,就一个相机转 -// * 如果有两个相机,则左侧转camera1 -// * 右侧转camera2 -// * 没有就不管了 -// */ -// Integer leftRight =time ? ksecDataInfo.getToDirection() : ksecDataInfo.getFromDirection(); -// Integer cameraId = getCameraByPlcCmd(street,leftRight); -// gyrateCameraByCode(cameraId,getPresetString(ksecDataInfo.getCode(),picCmd,ksecDataInfo)); -// if(needCapture){ -// if(time){ -// -// path = PathUtil.createFileNameByRowColumn("jpg",cameraId,ksecDataInfo.getToRow(),ksecDataInfo.getToColumn()); -// }else { -// path = PathUtil.createFileNameByRowColumn("jpg",cameraId,ksecDataInfo.getFromRow(),ksecDataInfo.getFromColumn()); -// } -// path = cameraCapture(cameraId,true,path,dictDataList); -// } -// //update order info after capture -// if (path != null && needCapture) { -// captureUpdateOrderAndStock(ksecDataInfo, path,street.getId()); -// } -// //转向原点位 -// -// gyrateCameraByCode(cameraId,"C5"); -// } + // 创建一个单线程的调度执行器 + private static final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(2); /** * capture picture by camera @@ -701,22 +652,32 @@ public class PLCServiceImpl implements PLCService { public String cameraCapture(CameraDO camera, Boolean delay, String path, Map map) { //String path = PathUtil.createFileName("jpg",cameraId); String realPath = map.get("media_path").getValue() + path; + if (delay) { - TaskDelayExecutor.addPicDelayTask(camera.getId(), realPath, Long.valueOf(map.get("delay_capture_time").getValue())); - } else { + scheduler.schedule(() -> { + try { + zLMediaKitService.pic(camera, realPath); + log.info("延迟截图执行完成,cameraId:{}, path:{}", camera.getId(), realPath); + } catch (Exception e) { + log.error("延迟截图执行失败,cameraId:{}", camera.getId(), e); + } + }, Long.valueOf(map.get("delay_capture_time").getValue()), TimeUnit.MILLISECONDS); + }else { - cameraModFactory.get(camera.getType()).pic(camera.getId(), 0, realPath); - log.info("cameraID: {} capture photo :{}", camera.getId(), realPath); + zLMediaKitService.pic(camera, realPath); + log.info("capture picture success,path:{}", realPath); } + return path; } + String getPresetString(String code, String picCmd, KsecDataInfo ksecDataInfo) { Integer side = 1; Integer leftRight = 1; if (picCmd.equals("C2") || picCmd.equals("C1")) { - side = ksecDataInfo.getFromSide(); + side = ksecDataInfo.getFromSeparation(); leftRight = ksecDataInfo.getFromDirection(); } else { @@ -726,47 +687,6 @@ public class PLCServiceImpl implements PLCService { return code + (leftRight == 1 ? "-L-" : "-R-") + (side == 1 ? "" : "-OUT"); } - /** - * capture ,and update the picture path in order and stock - * - * @param orderInfo - * @param path - */ - public void captureUpdateOrderAndStock(KsecDataInfo orderInfo, String path, Integer streetId) { - synchronized (orderInfo.getTaskId().intern()) { - OrderDO order = orderMapper.selectOne(new LambdaQueryWrapper().eq(OrderDO::getTaskId, orderInfo.getTaskId())); - if (order != null) { - //记录送货完成 - if (orderInfo.getCode().startsWith("C4")) { - StockLogDO stockLog = new StockLogDO(); - stockLog.setStreetId(streetId); - stockLog.setDirection(orderInfo.getToDirection()); - stockLog.setSide(orderInfo.getToSeparation()); - stockLog.setRow(orderInfo.getToRow()); - stockLog.setColumn(orderInfo.getToColumn()); - stockLog.setPic(path); - String type = orderInfo.getCode().substring(1, 2); - stockLog.setType(Integer.valueOf(type)); - stockLog.setOrderNum(orderInfo.getTaskId()); - stockLog.setCreateTime(LocalDateTime.now()); - stockLogMapper.insert(stockLog); - - } - String pics = order.getPics(); - if (org.springframework.util.StringUtils.isEmpty(pics)) { - order.setPics(path); - } else { - order.setPics(pics + "," + path); - } - OrderDO update = new OrderDO(); - update.setId(order.getId()); - update.setPics(order.getPics()); - log.debug(" update order set pics:{},orderNum:{}", update.getPics(), orderInfo.getTaskId()); - orderMapper.updateById(update); - } - } - } - public CameraDO getCameraByLeftRight(StreetDO street, Integer leftRight) { Integer cameraId = null; diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/OpencvServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/OpencvServiceImpl.java index da46f5a..32b801f 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/OpencvServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/OpencvServiceImpl.java @@ -4,7 +4,6 @@ import cn.iocoder.yudao.module.camera.dal.dataobject.resources.URLResourcesDo; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; -import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; import cn.iocoder.yudao.module.camera.service.resources.URLResourcesService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -24,16 +23,16 @@ public class OpencvServiceImpl implements ScanService { URLResourcesService urlResourcesService; @Override - public ScanData scan(StreetDO streetDO, KsecDataInfo dataInfo, StockDO stockDO) { + public ScanData scan(StreetDO streetDO, StockDO stockDO) { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); // ScanData scanData = new ScanData(); - scanData.setCode(dataInfo.getCategory()); + scanData.setCode(stockDO.getCategory()); scanData.setIp(streetDO.getPlcIp()); scanData.setPort(streetDO.getPlcPort()); scanData.setUuid(stockDO.getCheckPic()); - scanData.setDirection(dataInfo.getFromDirection()); + scanData.setDirection(stockDO.getDirection()); HttpEntity request = new HttpEntity<>(scanData, headers); String url = "http://" + streetDO.getPlcIp() + ":" + streetDO.getPlcPort() + "/match/match2D"; scanData = restTemplate.postForObject(url, request, ScanData.class); diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/PCDServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/PCDServiceImpl.java index 0ec0209..09f9e3c 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/PCDServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/PCDServiceImpl.java @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.camera.service.scan; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; -import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpEntity; @@ -19,16 +18,16 @@ public class PCDServiceImpl implements ScanService{ @Resource RestTemplate restTemplate; @Override - public ScanData scan(StreetDO streetDO, KsecDataInfo dataInfo, StockDO stockDO) { + public ScanData scan(StreetDO streetDO, StockDO stockDO) { HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); // ScanData scanData = new ScanData(); - scanData.setCode(dataInfo.getCategory()); + scanData.setCode(stockDO.getCategory()); scanData.setIp(streetDO.getPlcIp()); scanData.setPort(streetDO.getPlcPort()); scanData.setUuid(stockDO.getCheckPic()); - scanData.setDirection(dataInfo.getFromDirection()); + scanData.setDirection(stockDO.getDirection()); HttpEntity request = new HttpEntity<>(scanData, headers); String url = "http://"+streetDO.getPlcIp()+":"+streetDO.getPlcPort()+"/match/match3D"; diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/RFIDScanServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/RFIDScanServiceImpl.java index 934a8c9..7ea08d6 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/RFIDScanServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/RFIDScanServiceImpl.java @@ -3,13 +3,12 @@ package cn.iocoder.yudao.module.camera.service.scan; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; -import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; import org.springframework.stereotype.Service; @Service("rfidScanService") public class RFIDScanServiceImpl implements ScanService{ @Override - public ScanData scan(StreetDO streetDO, KsecDataInfo dataInfo, StockDO stockDO) { + public ScanData scan(StreetDO streetDO, StockDO stockDO) { return null; } } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanGunScanServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanGunScanServiceImpl.java index 5d53e38..5844ce6 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanGunScanServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanGunScanServiceImpl.java @@ -4,7 +4,6 @@ import cn.iocoder.yudao.module.camera.dal.dataobject.sensorgun.SensorGunDO; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; -import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; import cn.iocoder.yudao.module.camera.service.sensorgun.CognexSocket; import cn.iocoder.yudao.module.camera.service.sensorgun.SensorGunService; import cn.iocoder.yudao.module.camera.service.sensorgun.SickSocket; @@ -82,12 +81,12 @@ public class ScanGunScanServiceImpl implements ScanService{ return bd.readLine(); } @Override - public ScanData scan(StreetDO streetDO, KsecDataInfo dataInfo, StockDO stockDO) { + public ScanData scan(StreetDO streetDO, StockDO stockDO) { ScanData scanData = new ScanData(); - SensorGunDO sensorGun = sensorService.getOne(new QueryWrapper().eq("street_id", streetDO.getId()).eq("direction", dataInfo.getFromDirection())); + SensorGunDO sensorGun = sensorService.getOne(new QueryWrapper().eq("street_id", streetDO.getId()).eq("direction", stockDO.getDirection())); String trayCode = ""; if (sensorGun == null) { - log.error("no sensor gun config in database ,street id:{},direction:{}", streetDO.getId(), dataInfo.getFromDirection()); + log.error("no sensor gun config in database ,street id:{},direction:{}", streetDO.getId(), stockDO.getDirection()); } else { // sick扫码 if (sensorGun.getType() == 1){ diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanService.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanService.java index af81195..32ea7b4 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanService.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanService.java @@ -3,8 +3,7 @@ package cn.iocoder.yudao.module.camera.service.scan; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; -import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; public interface ScanService { - ScanData scan(StreetDO streetDO, KsecDataInfo dataInfo, StockDO stockDO); + ScanData scan(StreetDO streetDO, StockDO stockDO); } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanServiceFactory.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanServiceFactory.java index b7e3e24..1ddce3a 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanServiceFactory.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/ScanServiceFactory.java @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.camera.service.scan; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; -import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; import cn.iocoder.yudao.module.camera.service.Hik3D.HikFlaskApiService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -26,39 +25,49 @@ public class ScanServiceFactory { private HikFlaskApiService hikFlaskApiService; - // 返回的ScanData的code会将作为扫描结果,如果和wms的一致,则记录为成功 // 图片保存将在scan方法中实现 - public ScanData scan(String type, StreetDO streetDO, KsecDataInfo dataInfo, StockDO stockDO) { + public ScanData scan(String type, StreetDO streetDO, StockDO stockDO) { + try { - switch (type) { - case "0": - return null; - // 扫码枪扫码 - case "1": - return scanGunScanService.scan(streetDO, dataInfo, stockDO); - // RFID扫码 - case "2": - return rfidScanService.scan(streetDO, dataInfo, stockDO); - // 视觉扫码 - case "3": - return yoloService.scan(streetDO, dataInfo, stockDO); + switch (type) { + case "0": + return null; + // 扫码枪扫码 + case "1": + log.info("扫码枪扫码"); + return scanGunScanService.scan(streetDO, stockDO); + // RFID扫码 + case "2": + log.info("RFID扫码"); + return rfidScanService.scan(streetDO, stockDO); + // 视觉扫码 + case "3": + log.info("视觉扫码"); + return yoloService.scan(streetDO, stockDO); - // 3D扫码 - case "4": - return pcdService.scan(streetDO, dataInfo, stockDO); + // 3D扫码 + case "4": + log.info("3D扫码"); + return pcdService.scan(streetDO, stockDO); - // opencv扫码 - case "5": - return opencvService.scan(streetDO, dataInfo, stockDO); + // opencv扫码 + case "5": + log.info("opencv扫码"); + return opencvService.scan(streetDO, stockDO); - // hik3d识别扫码 - case "6": - return hikFlaskApiService.scan(streetDO, dataInfo, stockDO); - // 默认情况处理 - default: - return null; + // hik3d识别扫码 + case "6": + log.info("hik3d识别扫码"); + return hikFlaskApiService.scan(streetDO, stockDO); + // 默认情况处理 + default: + return new ScanData(); + } + } catch (Exception e) { + log.error("scan error", e); + return new ScanData(); } } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/YoloServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/YoloServiceImpl.java index d353d15..61e849b 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/YoloServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/scan/YoloServiceImpl.java @@ -3,13 +3,12 @@ package cn.iocoder.yudao.module.camera.service.scan; import cn.iocoder.yudao.module.camera.dal.dataobject.stock.StockDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.entity.ScanData; -import cn.iocoder.yudao.module.camera.framework.netty.ksec.KsecDataInfo; import org.springframework.stereotype.Service; @Service("yoloService") public class YoloServiceImpl implements ScanService{ @Override - public ScanData scan(StreetDO streetDO, KsecDataInfo dataInfo, StockDO stockDO) { + public ScanData scan(StreetDO streetDO, StockDO stockDO) { return null; } } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeService.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeService.java new file mode 100644 index 0000000..343ce9f --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeService.java @@ -0,0 +1,55 @@ +package cn.iocoder.yudao.module.camera.service.shelfCode; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo.ShelfCodePageReqVO; +import cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo.ShelfCodeSaveReqVO; +import cn.iocoder.yudao.module.camera.dal.dataobject.shelfCode.rfid.ShelfCodeDO; +import jakarta.validation.Valid; + +/** + * RFID Service 接口 + * + * @author 芋道源码 + */ +public interface ShelfCodeService { + + /** + * 创建RFID + * + * @param createReqVO 创建信息 + * @return 编号 + */ + Integer createShelfCode(@Valid ShelfCodeSaveReqVO createReqVO); + + /** + * 更新RFID + * + * @param updateReqVO 更新信息 + */ + void updateShelfCode(@Valid ShelfCodeSaveReqVO updateReqVO); + + /** + * 删除RFID + * + * @param id 编号 + */ + void deleteShelfCode(Integer id); + + /** + * 获得RFID + * + * @param id 编号 + * @return RFID + */ + ShelfCodeDO getShelfCode(Integer id); + + /** + * 获得RFID分页 + * + * @param pageReqVO 分页查询 + * @return RFID分页 + */ + PageResult getShelfCodePage(ShelfCodePageReqVO pageReqVO); + + +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeServiceImpl.java new file mode 100644 index 0000000..6cee197 --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeServiceImpl.java @@ -0,0 +1,71 @@ +package cn.iocoder.yudao.module.camera.service.shelfCode; + +import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo.ShelfCodePageReqVO; +import cn.iocoder.yudao.module.camera.controller.admin.shelfCode.vo.ShelfCodeSaveReqVO; +import cn.iocoder.yudao.module.camera.dal.dataobject.shelfCode.rfid.ShelfCodeDO; +import cn.iocoder.yudao.module.camera.dal.mysql.shelfCode.ShelfCodeMapper; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.module.infra.enums.ErrorCodeConstants.RFID_NOT_EXISTS; + +/** + * RFID Service 实现类 + * + * @author 芋道源码 + */ +@Service +@Validated +public class ShelfCodeServiceImpl implements ShelfCodeService { + + + @Resource + private ShelfCodeMapper shelfCodeMapper; + + @Override + public Integer createShelfCode(ShelfCodeSaveReqVO createReqVO) { + // 插入 + ShelfCodeDO shelfCode = BeanUtils.toBean(createReqVO, ShelfCodeDO.class); + shelfCodeMapper.insert(shelfCode); + // 返回 + return shelfCode.getId(); + } + + @Override + public void updateShelfCode(ShelfCodeSaveReqVO updateReqVO) { + // 校验存在 + validateShelfCodeExists(updateReqVO.getId()); + // 更新 + ShelfCodeDO updateObj = BeanUtils.toBean(updateReqVO, ShelfCodeDO.class); + shelfCodeMapper.updateById(updateObj); + } + + @Override + public void deleteShelfCode(Integer id) { + // 校验存在 + validateShelfCodeExists(id); + // 删除 + shelfCodeMapper.deleteById(id); + } + + private void validateShelfCodeExists(Integer id) { + if (shelfCodeMapper.selectById(id) == null) { + throw exception(RFID_NOT_EXISTS); + } + } + + @Override + public ShelfCodeDO getShelfCode(Integer id) { + return shelfCodeMapper.selectById(id); + } + + @Override + public PageResult getShelfCodePage(ShelfCodePageReqVO pageReqVO) { + return shelfCodeMapper.selectPage(pageReqVO); + } + +} \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeSocket.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeSocket.java new file mode 100644 index 0000000..fb9e713 --- /dev/null +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/shelfCode/ShelfCodeSocket.java @@ -0,0 +1,11 @@ +package cn.iocoder.yudao.module.camera.service.shelfCode; + +import lombok.extern.slf4j.Slf4j; + +/** + * sick扫码枪 + */ +@Slf4j +public class ShelfCodeSocket { + +} diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/streamingMedia/ZLMediaKitService.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/streamingMedia/ZLMediaKitService.java index f8035f5..d792106 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/streamingMedia/ZLMediaKitService.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/streamingMedia/ZLMediaKitService.java @@ -1,13 +1,15 @@ package cn.iocoder.yudao.module.camera.service.streamingMedia; import cn.iocoder.yudao.module.camera.dal.dataobject.camera.CameraDO; +import cn.iocoder.yudao.module.camera.dal.zlm.RtspSessionResponse; import java.util.List; public interface ZLMediaKitService { String startRecord(String app, String stream); - void stopRecord(String app, String stream); + RtspSessionResponse stopRecord(String app, String stream); void addRtspProxy(CameraDO camera, String zlmApiUrl, String zlmApiSecret); + void pic(CameraDO camera, String zlmApiUrl); void zlmConf( List list); void deleteRecordDirectory(String app, String stream, String period); } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/streamingMedia/ZLMediaKitServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/streamingMedia/ZLMediaKitServiceImpl.java index 6671d6a..6b1e26e 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/streamingMedia/ZLMediaKitServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/streamingMedia/ZLMediaKitServiceImpl.java @@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.util.json.JsonUtils; import cn.iocoder.yudao.module.camera.dal.dataobject.camera.CameraDO; import cn.iocoder.yudao.module.camera.dal.zlm.RtspSessionResponse; import cn.iocoder.yudao.module.camera.service.channel.CameraChannel; +import cn.iocoder.yudao.module.camera.util.PathUtil; import cn.iocoder.yudao.module.system.service.dict.DictDataService; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; @@ -40,6 +41,7 @@ public class ZLMediaKitServiceImpl implements ZLMediaKitService{ @Resource private DictDataService dictDataService; + @Override public String startRecord(String app, String cameraId) { @@ -52,7 +54,14 @@ public class ZLMediaKitServiceImpl implements ZLMediaKitService{ addParams.put("app", "live"); addParams.put("stream","camera"+ cameraId); // addParams.put("url", CameraChannel.getRtspUrl(camera.getIp(), camera.getRtspPort(), camera.getChannel(), camera.getUser(), camera.getPassword(),camera.getType())); - sendHttp(addParams, "startRecord"); +// sendHttp(addParams, "startRecord"); + // 查看是否录像,为录像则重新出发录像 + for (int i = 0; i <=5; i++) { + RtspSessionResponse rtspSessionResponse = sendHttp(addParams, "startRecord"); + if (rtspSessionResponse != null && rtspSessionResponse.isResult()){ + break; + } + } log.info("startRecord camera:"+cameraId); String path = checkHiddenFilesInDirectory(app,cameraId); ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); @@ -104,6 +113,62 @@ public class ZLMediaKitServiceImpl implements ZLMediaKitService{ return ""; } + /** + * 调用ZLMediaKit的getSnap接口获取截图并保存 + * + * @param savePath 保存路径 + * @return 截图文件的访问路径,如果失败返回null + */ + public void captureSnapshot(CameraDO camera, String savePath) { + + PathUtil.checkDirc(savePath); + String zlmApiUrl = dictDataService.parseDictData("ZLMediaKit_conf", "Apiurl").getValue(); + String zlmApiSecret = dictDataService.parseDictData("ZLMediaKit_conf", "secret").getValue(); + try { + // 构建getSnap请求参数 + Map snapParams = new HashMap<>(); + snapParams.put("secret", zlmApiSecret); + snapParams.put("vhost", "__defaultVhost__"); + snapParams.put("expire_sec",1); + snapParams.put("url",CameraChannel.getRtspUrl(camera.getIp(), camera.getRtspPort(), camera.getChannel(), camera.getUser(), camera.getPassword(),camera.getType())); + snapParams.put("timeout_sec", 10); // 设置超时时间 + + // 构建请求URL + String snapUrl = buildUrl(zlmApiUrl + "getSnap", null, snapParams); + + // 发送请求并获取截图 + Request request = new Request.Builder() + .url(snapUrl) + .build(); + + try (Response response = client.newCall(request).execute()) { + if (response.isSuccessful() && response.body() != null) { + // 保存图片到指定位置 + byte[] imageBytes = response.body().bytes(); + Path savePathObj = Paths.get(savePath); + + // 确保目录存在 + Files.createDirectories(savePathObj.getParent()); + + // 写入文件 + Files.write(savePathObj, imageBytes); + + log.info("截图保存成功: {}", savePath); + + // 返回访问路径(根据你的需求调整) + String mp4SaveApi = dictDataService.parseDictData("ZLMediaKit_conf", "mp4SaveApi").getValue(); + + } else { + log.error("获取截图失败,HTTP状态码: {}", response.code()); + + } + } + } catch (Exception e) { + log.error("截图过程中发生错误", e); + } + } + + public static String removeLeadingDot(String input) { if (input == null || input.isEmpty()) { return input; @@ -114,7 +179,7 @@ public class ZLMediaKitServiceImpl implements ZLMediaKitService{ return input; } @Override - public void stopRecord(String app, String stream) { + public RtspSessionResponse stopRecord(String app, String stream) { String zlmApiSecret = dictDataService.parseDictData("ZLMediaKit_conf", "secret").getValue(); Map addParams = new HashMap<>(); @@ -124,8 +189,8 @@ public class ZLMediaKitServiceImpl implements ZLMediaKitService{ addParams.put("app", "live"); addParams.put("stream","camera"+ stream); // addParams.put("url", CameraChannel.getRtspUrl(camera.getIp(), camera.getRtspPort(), camera.getChannel(), camera.getUser(), camera.getPassword(),camera.getType())); - sendHttp(addParams, "stopRecord"); - + RtspSessionResponse rtspSessionResponse = sendHttp(addParams, "stopRecord"); + return rtspSessionResponse; } @Override @@ -184,11 +249,17 @@ public class ZLMediaKitServiceImpl implements ZLMediaKitService{ } System.out.println("Add RTSP Proxy Response: " + response); } + + @Override + public void pic(CameraDO camera, String zlmApiUrl) { + captureSnapshot(camera, zlmApiUrl); + } + @Override public void deleteRecordDirectory(String app, String stream, String period) { } - public void sendHttp(Map queryParams ,String url){ + public RtspSessionResponse sendHttp(Map queryParams ,String url){ String zlmApiUrl = dictDataService.parseDictData("ZLMediaKit_conf", "Apiurl").getValue(); try { @@ -196,8 +267,10 @@ public class ZLMediaKitServiceImpl implements ZLMediaKitService{ String queryUrl = buildUrl(zlmApiUrl +url,null , queryParams); String response = get(queryUrl); RtspSessionResponse rtspSessionResponse = JsonUtils.parseObject(response, RtspSessionResponse.class); + return rtspSessionResponse; } catch (Exception e) { e.printStackTrace(); + return null; } } diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/street/StreetService.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/street/StreetService.java index 5dc21a7..14e7b87 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/street/StreetService.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/street/StreetService.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.camera.controller.admin.street.vo.StreetSaveReqVO import cn.iocoder.yudao.module.camera.dal.dataobject.lightsource.LightSourceDO; import cn.iocoder.yudao.module.camera.dal.dataobject.rfid.RfidDO; import cn.iocoder.yudao.module.camera.dal.dataobject.sensorgun.SensorGunDO; +import cn.iocoder.yudao.module.camera.dal.dataobject.shelfCode.rfid.ShelfCodeDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import com.baomidou.mybatisplus.extension.service.IService; import jakarta.validation.Valid; @@ -85,6 +86,8 @@ public interface StreetService extends IService { List getRFIDListByStreetId(Integer streetId); + List getShelfCodeListByStreetId(Integer streetId); + void getCameraName(StreetRespVO streetRespVO); void getCameraName(List streetRespVO); } \ No newline at end of file diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/street/StreetServiceImpl.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/street/StreetServiceImpl.java index 9bdcc67..9e03ead 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/street/StreetServiceImpl.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/street/StreetServiceImpl.java @@ -9,10 +9,12 @@ import cn.iocoder.yudao.module.camera.dal.dataobject.camera.CameraDO; import cn.iocoder.yudao.module.camera.dal.dataobject.lightsource.LightSourceDO; import cn.iocoder.yudao.module.camera.dal.dataobject.rfid.RfidDO; import cn.iocoder.yudao.module.camera.dal.dataobject.sensorgun.SensorGunDO; +import cn.iocoder.yudao.module.camera.dal.dataobject.shelfCode.rfid.ShelfCodeDO; import cn.iocoder.yudao.module.camera.dal.dataobject.street.StreetDO; import cn.iocoder.yudao.module.camera.dal.mysql.lightsource.LightSourceMapper; import cn.iocoder.yudao.module.camera.dal.mysql.rfid.RfidMapper; import cn.iocoder.yudao.module.camera.dal.mysql.sensorgun.SensorGunMapper; +import cn.iocoder.yudao.module.camera.dal.mysql.shelfCode.ShelfCodeMapper; import cn.iocoder.yudao.module.camera.dal.mysql.street.StreetMapper; import cn.iocoder.yudao.module.camera.service.camera.CameraService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -47,6 +49,9 @@ public class StreetServiceImpl extends ServiceImpl imple @Resource private RfidMapper rfidMapper; + @Resource + private ShelfCodeMapper shelfCodeMapper; + @Override public StreetDO getStreetByPlcId(String code) { @@ -176,6 +181,12 @@ public class StreetServiceImpl extends ServiceImpl imple return rfidMapper.selectListByStreetId(streetId); } + + @Override + public List getShelfCodeListByStreetId(Integer streetId) { + return null; + } + private void createLightSourceList(Integer streetId, List list) { list.forEach(o -> o.setStreetId(streetId)); lightSourceMapper.insertBatch(list); diff --git a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/threeInOneCode/SpecificationsAndOCR.java b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/threeInOneCode/SpecificationsAndOCR.java index a2b6f03..13f8a16 100644 --- a/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/threeInOneCode/SpecificationsAndOCR.java +++ b/yudao-module-logistics/yudao-module-logistics-biz/src/main/java/cn/iocoder/yudao/module/camera/service/threeInOneCode/SpecificationsAndOCR.java @@ -20,14 +20,6 @@ public class SpecificationsAndOCR { private static final Logger tcpLogger = LoggerFactory.getLogger("sick"); - public static void main(String[] args) { - System.out.println(UUID.randomUUID()); - Map map = new HashMap<>(); - map.put("Lotnum",""); - map.put("2",""); - Map code = readOCR("127.0.0.1", 554); - System.out.println(map); - } /* * 读取OCR diff --git a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataServiceImpl.java b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataServiceImpl.java index 591e406..62c112a 100644 --- a/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataServiceImpl.java +++ b/yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dict/DictDataServiceImpl.java @@ -52,9 +52,12 @@ public class DictDataServiceImpl extends ServiceImpl @PostConstruct void init(){ // log.info("init DictDataServiceImpl"); +// 删除 List list = dictDataMapper.selectList(); Map> map = list.stream().collect(Collectors.groupingBy(DictDataDO::getDictType)); map.forEach((k,v)->{ + + redisUtil.del("dict:"+k); redisUtil.hsetList("dict:"+k, v.stream().collect(Collectors.toMap(DictDataDO::getLabel,DictDataDO::getValue))); }); }