From d268f82d25c25ebdc7a1ea30614f6cda6d3a9ae3 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 10 十月 2024 16:31:41 +0800 Subject: [PATCH] win库+大屏考核指标查询bug --- libs/YS/lib/libNDRM.so | 0 libs/YS/win/msvcr90.dll | 0 ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml | 68 +++ libs/YS/lib/libG711.so | 0 libs/YS/win/libcrypto-3-x64.dll | 0 libs/YS/lib/libNDVideomjpeg.so | 0 libs/YS/lib/libcrypto.so | 0 libs/YS/lib/libcurl.so | 0 libs/YS/win/Microsoft.VC90.CRT.manifest | 13 libs/YS/win/dsp_audio_aac.dll | 0 libs/YS/lib/libNDRSA.so | 0 libs/YS/win/dsp_video_h264_1.dll | 0 ycl-server/src/main/java/com/ycl/task/MonitorTask.java | 8 ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml | 88 +++- libs/YS/lib/libCloudSDK.so | 0 libs/YS/win/NDRM_Module.dll | 0 libs/YS/lib/libmxml.so | 0 libs/YS/lib/libtunnel.so | 0 ycl-server/src/main/java/com/ycl/dataListener/EasyExcelListener.java | 35 ++ libs/YS/win/nvidia_gpu_dec.dll | 0 libs/YS/win/mxml1.dll | 0 ycl-common/src/main/java/constant/PointHeaderConstant.java | 13 libs/YS/win/libssl-3-x64.dll | 0 libs/YS/win/mfcm90.dll | 0 ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml | 63 ++ libs/YS/lib/isf_face_detect.model | 0 libs/YS/lib/libNetDEVSDK.so | 0 libs/YS/win/NetDEVSDK.dll | 0 libs/YS/win/NV12ToARGB_drvapi.ptx | 423 ++++++++++++++++++++++++ libs/YS/win/fisheye_rectify.dll | 0 libs/YS/lib/libcyassl.so | 0 libs/YS/win/avutil_audio_aac.dll | 0 libs/YS/win/NDFace.dll | 0 libs/YS/win/dsp_audio_aac_enc.dll | 0 libs/YS/win/NetCloudSDK.dll | 0 libs/YS/win/msvcp90.dll | 0 ycl-server/src/main/java/com/ycl/task/UYTask.java | 3 libs/YS/lib/libSDL2.so | 0 ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java | 2 libs/YS/lib/libNDFace.so | 0 libs/YS/win/msvcm90.dll | 0 libs/YS/win/dsp_video_mjpeg.dll | 0 libs/YS/lib/libevent.so | 0 ycl-server/src/main/java/com/ycl/api/YS/YSInit.java | 20 ycl-server/src/main/java/com/ycl/utils/poi/EasyExcelImportUtils.java | 82 ++++ libs/YS/lib/libssl.a | 0 libs/YS/win/libcurl.dll | 0 libs/YS/win/intel_gpu_dec.dll | 0 libs/YS/win/NetDEVDiscovery.dll | 0 libs/YS/win/Microsoft.VC90.MFC.manifest | 13 libs/YS/win/libtunnel.dll | 0 libs/YS/lib/libpolarssl.so | 0 ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java | 52 ++ ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java | 61 +- libs/YS/lib/libssl.so | 0 libs/YS/win/NDPlayer.dll | 0 ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java | 23 + libs/YS/win/dsp_audio_g711.dll | 0 libs/YS/win/pthreadVC2.dll | 0 libs/YS/win/libwinpthread-1.dll | 0 libs/YS/lib/libNDPlayer.so | 0 libs/YS/lib/libNetDiscovery.so | 0 libs/YS/win/NDRtmp.dll | 0 libs/YS/win/mfc90.dll | 0 libs/YS/win/mfcm90u.dll | 0 libs/YS/lib/libHW_H265dec_Linux64.so | 0 libs/YS/lib/libcrypto.a | 0 libs/YS/lib/libFAAC.so | 0 ycl-server/src/main/java/com/ycl/api/YS/lib/BaseFun.java | 2 libs/YS/lib/libNDMP4.so | 0 libs/YS/win/NDAO.dll | 0 libs/YS/win/RSA.dll | 0 libs/YS/lib/libNDCodec.so | 0 libs/YS/win/mfc90u.dll | 0 libs/YS/lib/libMP2.so | 0 libs/YS/win/msvcr120.dll | 0 libs/YS/win/NDRSA.dll | 0 libs/YS/win/msvcp120.dll | 0 78 files changed, 865 insertions(+), 104 deletions(-) diff --git a/libs/YS/lib/isf_face_detect.model b/libs/YS/lib/isf_face_detect.model new file mode 100644 index 0000000..4ccb430 --- /dev/null +++ b/libs/YS/lib/isf_face_detect.model Binary files differ diff --git a/libs/YS/lib/libCloudSDK.so b/libs/YS/lib/libCloudSDK.so new file mode 100644 index 0000000..8b05ea6 --- /dev/null +++ b/libs/YS/lib/libCloudSDK.so Binary files differ diff --git a/libs/YS/lib/libFAAC.so b/libs/YS/lib/libFAAC.so new file mode 100644 index 0000000..2540202 --- /dev/null +++ b/libs/YS/lib/libFAAC.so Binary files differ diff --git a/libs/YS/lib/libG711.so b/libs/YS/lib/libG711.so new file mode 100644 index 0000000..9a5d460 --- /dev/null +++ b/libs/YS/lib/libG711.so Binary files differ diff --git a/libs/YS/lib/libHW_H265dec_Linux64.so b/libs/YS/lib/libHW_H265dec_Linux64.so new file mode 100644 index 0000000..d2ff5d2 --- /dev/null +++ b/libs/YS/lib/libHW_H265dec_Linux64.so Binary files differ diff --git a/libs/YS/lib/libMP2.so b/libs/YS/lib/libMP2.so new file mode 100644 index 0000000..6a50412 --- /dev/null +++ b/libs/YS/lib/libMP2.so Binary files differ diff --git a/libs/YS/lib/libNDCodec.so b/libs/YS/lib/libNDCodec.so new file mode 100644 index 0000000..9198206 --- /dev/null +++ b/libs/YS/lib/libNDCodec.so Binary files differ diff --git a/libs/YS/lib/libNDFace.so b/libs/YS/lib/libNDFace.so new file mode 100644 index 0000000..b709c32 --- /dev/null +++ b/libs/YS/lib/libNDFace.so Binary files differ diff --git a/libs/YS/lib/libNDMP4.so b/libs/YS/lib/libNDMP4.so new file mode 100644 index 0000000..40fc353 --- /dev/null +++ b/libs/YS/lib/libNDMP4.so Binary files differ diff --git a/libs/YS/lib/libNDPlayer.so b/libs/YS/lib/libNDPlayer.so new file mode 100644 index 0000000..7e9c21b --- /dev/null +++ b/libs/YS/lib/libNDPlayer.so Binary files differ diff --git a/libs/YS/lib/libNDRM.so b/libs/YS/lib/libNDRM.so new file mode 100644 index 0000000..ff720fb --- /dev/null +++ b/libs/YS/lib/libNDRM.so Binary files differ diff --git a/libs/YS/lib/libNDRSA.so b/libs/YS/lib/libNDRSA.so new file mode 100644 index 0000000..18af5ea --- /dev/null +++ b/libs/YS/lib/libNDRSA.so Binary files differ diff --git a/libs/YS/lib/libNDVideomjpeg.so b/libs/YS/lib/libNDVideomjpeg.so new file mode 100644 index 0000000..69917ac --- /dev/null +++ b/libs/YS/lib/libNDVideomjpeg.so Binary files differ diff --git a/libs/YS/lib/libNetDEVSDK.so b/libs/YS/lib/libNetDEVSDK.so new file mode 100644 index 0000000..d9c7a15 --- /dev/null +++ b/libs/YS/lib/libNetDEVSDK.so Binary files differ diff --git a/libs/YS/lib/libNetDiscovery.so b/libs/YS/lib/libNetDiscovery.so new file mode 100644 index 0000000..80b1b3e --- /dev/null +++ b/libs/YS/lib/libNetDiscovery.so Binary files differ diff --git a/libs/YS/lib/libSDL2.so b/libs/YS/lib/libSDL2.so new file mode 100644 index 0000000..a725d7e --- /dev/null +++ b/libs/YS/lib/libSDL2.so Binary files differ diff --git a/libs/YS/lib/libcrypto.a b/libs/YS/lib/libcrypto.a new file mode 100644 index 0000000..c2b2a6f --- /dev/null +++ b/libs/YS/lib/libcrypto.a Binary files differ diff --git a/libs/YS/lib/libcrypto.so b/libs/YS/lib/libcrypto.so new file mode 100644 index 0000000..f3f2273 --- /dev/null +++ b/libs/YS/lib/libcrypto.so Binary files differ diff --git a/libs/YS/lib/libcurl.so b/libs/YS/lib/libcurl.so new file mode 100644 index 0000000..6de7fe1 --- /dev/null +++ b/libs/YS/lib/libcurl.so Binary files differ diff --git a/libs/YS/lib/libcyassl.so b/libs/YS/lib/libcyassl.so new file mode 100644 index 0000000..3a6c838 --- /dev/null +++ b/libs/YS/lib/libcyassl.so Binary files differ diff --git a/libs/YS/lib/libevent.so b/libs/YS/lib/libevent.so new file mode 100644 index 0000000..ad23321 --- /dev/null +++ b/libs/YS/lib/libevent.so Binary files differ diff --git a/libs/YS/lib/libmxml.so b/libs/YS/lib/libmxml.so new file mode 100644 index 0000000..0f805a1 --- /dev/null +++ b/libs/YS/lib/libmxml.so Binary files differ diff --git a/libs/YS/lib/libpolarssl.so b/libs/YS/lib/libpolarssl.so new file mode 100644 index 0000000..bec0f77 --- /dev/null +++ b/libs/YS/lib/libpolarssl.so Binary files differ diff --git a/libs/YS/lib/libssl.a b/libs/YS/lib/libssl.a new file mode 100644 index 0000000..e5b7e3c --- /dev/null +++ b/libs/YS/lib/libssl.a Binary files differ diff --git a/libs/YS/lib/libssl.so b/libs/YS/lib/libssl.so new file mode 100644 index 0000000..5c8a1a0 --- /dev/null +++ b/libs/YS/lib/libssl.so Binary files differ diff --git a/libs/YS/lib/libtunnel.so b/libs/YS/lib/libtunnel.so new file mode 100644 index 0000000..2faeaee --- /dev/null +++ b/libs/YS/lib/libtunnel.so Binary files differ diff --git a/libs/YS/win/Microsoft.VC90.CRT.manifest b/libs/YS/win/Microsoft.VC90.CRT.manifest new file mode 100644 index 0000000..41623b1 --- /dev/null +++ b/libs/YS/win/Microsoft.VC90.CRT.manifest @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- Copyright (c) Microsoft Corporation. All rights reserved. --> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <noInheritable/> + <assemblyIdentity + type="win32" + name="Microsoft.VC90.CRT" + version="9.0.21022.8" + processorArchitecture="x86" + publicKeyToken="1fc8b3b9a1e18e3b" + /> + <file name="msvcr90.dll" /> <file name="msvcp90.dll" /> <file name="msvcm90.dll" /> +</assembly> diff --git a/libs/YS/win/Microsoft.VC90.MFC.manifest b/libs/YS/win/Microsoft.VC90.MFC.manifest new file mode 100644 index 0000000..8f194e1 --- /dev/null +++ b/libs/YS/win/Microsoft.VC90.MFC.manifest @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<!-- Copyright (c) Microsoft Corporation. All rights reserved. --> +<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> + <noInheritable/> + <assemblyIdentity + type="win32" + name="Microsoft.VC90.MFC" + version="9.0.21022.8" + processorArchitecture="x86" + publicKeyToken="1fc8b3b9a1e18e3b" + /> + <file name="mfc90.dll" /> <file name="mfc90u.dll" /> <file name="mfcm90.dll" /> <file name="mfcm90u.dll" /> +</assembly> diff --git a/libs/YS/win/NDAO.dll b/libs/YS/win/NDAO.dll new file mode 100644 index 0000000..579d072 --- /dev/null +++ b/libs/YS/win/NDAO.dll Binary files differ diff --git a/libs/YS/win/NDFace.dll b/libs/YS/win/NDFace.dll new file mode 100644 index 0000000..8ac5f2a --- /dev/null +++ b/libs/YS/win/NDFace.dll Binary files differ diff --git a/libs/YS/win/NDPlayer.dll b/libs/YS/win/NDPlayer.dll new file mode 100644 index 0000000..609d97e --- /dev/null +++ b/libs/YS/win/NDPlayer.dll Binary files differ diff --git a/libs/YS/win/NDRM_Module.dll b/libs/YS/win/NDRM_Module.dll new file mode 100644 index 0000000..abf9c79 --- /dev/null +++ b/libs/YS/win/NDRM_Module.dll Binary files differ diff --git a/libs/YS/win/NDRSA.dll b/libs/YS/win/NDRSA.dll new file mode 100644 index 0000000..bbbbbc2 --- /dev/null +++ b/libs/YS/win/NDRSA.dll Binary files differ diff --git a/libs/YS/win/NDRtmp.dll b/libs/YS/win/NDRtmp.dll new file mode 100644 index 0000000..3210b68 --- /dev/null +++ b/libs/YS/win/NDRtmp.dll Binary files differ diff --git a/libs/YS/win/NV12ToARGB_drvapi.ptx b/libs/YS/win/NV12ToARGB_drvapi.ptx new file mode 100644 index 0000000..aea05db --- /dev/null +++ b/libs/YS/win/NV12ToARGB_drvapi.ptx @@ -0,0 +1,423 @@ +// +// Generated by NVIDIA NVVM Compiler +// Compiler built on Fri Jul 25 19:36:16 2014 (1406288176) +// Cuda compilation tools, release 6.5, V6.5.13 +// + +.version 4.1 +.target sm_30 +.address_size 64 + +.const .align 4 .u32 constAlpha; +.const .align 4 .b8 constHueColorSpaceMat[36]; + +.visible .func _Z7YUV2RGBPjPfS0_S0_( + .param .b64 _Z7YUV2RGBPjPfS0_S0__param_0, + .param .b64 _Z7YUV2RGBPjPfS0_S0__param_1, + .param .b64 _Z7YUV2RGBPjPfS0_S0__param_2, + .param .b64 _Z7YUV2RGBPjPfS0_S0__param_3 +) +{ + .reg .s32 %r<4>; + .reg .f32 %f<24>; + .reg .s64 %rd<5>; + + + ld.param.u64 %rd1, [_Z7YUV2RGBPjPfS0_S0__param_0]; + ld.param.u64 %rd2, [_Z7YUV2RGBPjPfS0_S0__param_1]; + ld.param.u64 %rd3, [_Z7YUV2RGBPjPfS0_S0__param_2]; + ld.param.u64 %rd4, [_Z7YUV2RGBPjPfS0_S0__param_3]; + ld.u32 %r1, [%rd1]; + cvt.rn.f32.u32 %f1, %r1; + ld.u32 %r2, [%rd1+4]; + cvt.rn.f32.s32 %f2, %r2; + add.f32 %f3, %f2, 0fC4000000; + ld.u32 %r3, [%rd1+8]; + cvt.rn.f32.s32 %f4, %r3; + add.f32 %f5, %f4, 0fC4000000; + ld.const.f32 %f6, [constHueColorSpaceMat]; + ld.const.f32 %f7, [constHueColorSpaceMat+4]; + mul.f32 %f8, %f3, %f7; + fma.rn.f32 %f9, %f1, %f6, %f8; + ld.const.f32 %f10, [constHueColorSpaceMat+8]; + fma.rn.f32 %f11, %f5, %f10, %f9; + st.f32 [%rd2], %f11; + ld.const.f32 %f12, [constHueColorSpaceMat+12]; + ld.const.f32 %f13, [constHueColorSpaceMat+16]; + mul.f32 %f14, %f3, %f13; + fma.rn.f32 %f15, %f1, %f12, %f14; + ld.const.f32 %f16, [constHueColorSpaceMat+20]; + fma.rn.f32 %f17, %f5, %f16, %f15; + st.f32 [%rd3], %f17; + ld.const.f32 %f18, [constHueColorSpaceMat+24]; + ld.const.f32 %f19, [constHueColorSpaceMat+28]; + mul.f32 %f20, %f3, %f19; + fma.rn.f32 %f21, %f1, %f18, %f20; + ld.const.f32 %f22, [constHueColorSpaceMat+32]; + fma.rn.f32 %f23, %f5, %f22, %f21; + st.f32 [%rd4], %f23; + ret; +} + +.visible .func (.param .b32 func_retval0) _Z13RGBAPACK_8bitfffj( + .param .b32 _Z13RGBAPACK_8bitfffj_param_0, + .param .b32 _Z13RGBAPACK_8bitfffj_param_1, + .param .b32 _Z13RGBAPACK_8bitfffj_param_2, + .param .b32 _Z13RGBAPACK_8bitfffj_param_3 +) +{ + .reg .s32 %r<10>; + .reg .f32 %f<12>; + + + ld.param.f32 %f1, [_Z13RGBAPACK_8bitfffj_param_0]; + ld.param.f32 %f2, [_Z13RGBAPACK_8bitfffj_param_1]; + ld.param.f32 %f3, [_Z13RGBAPACK_8bitfffj_param_2]; + ld.param.u32 %r1, [_Z13RGBAPACK_8bitfffj_param_3]; + mov.f32 %f4, 0f00000000; + max.f32 %f5, %f1, %f4; + mov.f32 %f6, 0f437F0000; + min.f32 %f7, %f5, %f6; + max.f32 %f8, %f2, %f4; + min.f32 %f9, %f8, %f6; + max.f32 %f10, %f3, %f4; + min.f32 %f11, %f10, %f6; + cvt.rzi.u32.f32 %r2, %f11; + cvt.rzi.u32.f32 %r3, %f9; + shl.b32 %r4, %r3, 8; + cvt.rzi.u32.f32 %r5, %f7; + shl.b32 %r6, %r5, 16; + or.b32 %r7, %r2, %r1; + or.b32 %r8, %r7, %r4; + or.b32 %r9, %r8, %r6; + st.param.b32 [func_retval0+0], %r9; + ret; +} + +.visible .func (.param .b32 func_retval0) _Z14RGBAPACK_10bitfffj( + .param .b32 _Z14RGBAPACK_10bitfffj_param_0, + .param .b32 _Z14RGBAPACK_10bitfffj_param_1, + .param .b32 _Z14RGBAPACK_10bitfffj_param_2, + .param .b32 _Z14RGBAPACK_10bitfffj_param_3 +) +{ + .reg .s32 %r<13>; + .reg .f32 %f<12>; + + + ld.param.f32 %f1, [_Z14RGBAPACK_10bitfffj_param_0]; + ld.param.f32 %f2, [_Z14RGBAPACK_10bitfffj_param_1]; + ld.param.f32 %f3, [_Z14RGBAPACK_10bitfffj_param_2]; + ld.param.u32 %r1, [_Z14RGBAPACK_10bitfffj_param_3]; + mov.f32 %f4, 0f00000000; + max.f32 %f5, %f1, %f4; + mov.f32 %f6, 0f447FC000; + min.f32 %f7, %f5, %f6; + max.f32 %f8, %f2, %f4; + min.f32 %f9, %f8, %f6; + max.f32 %f10, %f3, %f4; + min.f32 %f11, %f10, %f6; + cvt.rzi.u32.f32 %r2, %f11; + shr.u32 %r3, %r2, 2; + cvt.rzi.u32.f32 %r4, %f9; + shl.b32 %r5, %r4, 6; + and.b32 %r6, %r5, -256; + cvt.rzi.u32.f32 %r7, %f7; + shl.b32 %r8, %r7, 14; + and.b32 %r9, %r8, -65536; + or.b32 %r10, %r3, %r1; + or.b32 %r11, %r10, %r6; + or.b32 %r12, %r11, %r9; + st.param.b32 [func_retval0+0], %r12; + ret; +} + +.visible .entry Passthru_drvapi( + .param .u64 Passthru_drvapi_param_0, + .param .u64 Passthru_drvapi_param_1, + .param .u64 Passthru_drvapi_param_2, + .param .u64 Passthru_drvapi_param_3, + .param .u32 Passthru_drvapi_param_4, + .param .u32 Passthru_drvapi_param_5 +) +{ + .reg .pred %p<4>; + .reg .s16 %rs<3>; + .reg .s32 %r<32>; + .reg .f32 %f<9>; + .reg .s64 %rd<16>; + + + ld.param.u64 %rd1, [Passthru_drvapi_param_0]; + ld.param.u64 %rd2, [Passthru_drvapi_param_1]; + ld.param.u64 %rd3, [Passthru_drvapi_param_2]; + ld.param.u64 %rd4, [Passthru_drvapi_param_3]; + ld.param.u32 %r3, [Passthru_drvapi_param_4]; + ld.param.u32 %r4, [Passthru_drvapi_param_5]; + mov.u32 %r5, %ctaid.x; + shl.b32 %r6, %r5, 1; + mov.u32 %r7, %ntid.x; + mov.u32 %r8, %tid.x; + shl.b32 %r9, %r8, 1; + mad.lo.s32 %r1, %r6, %r7, %r9; + mov.u32 %r10, %ntid.y; + mov.u32 %r11, %ctaid.y; + mov.u32 %r12, %tid.y; + mad.lo.s32 %r2, %r10, %r11, %r12; + setp.lt.u32 %p1, %r1, %r3; + setp.lt.u32 %p2, %r2, %r4; + and.pred %p3, %p1, %p2; + @!%p3 bra BB3_2; + bra.uni BB3_1; + +BB3_1: + cvta.to.global.u64 %rd5, %rd3; + cvta.to.global.u64 %rd6, %rd1; + shr.u64 %rd7, %rd4, 2; + cvt.u32.u64 %r13, %rd7; + cvt.u32.u64 %r14, %rd2; + mad.lo.s32 %r15, %r2, %r14, %r1; + cvt.u64.u32 %rd8, %r15; + add.s64 %rd9, %rd6, %rd8; + add.s32 %r16, %r15, 1; + cvt.u64.u32 %rd10, %r16; + add.s64 %rd11, %rd6, %rd10; + ld.global.u8 %rs1, [%rd9]; + cvt.rn.f32.u16 %f1, %rs1; + ld.global.u8 %rs2, [%rd11]; + cvt.rn.f32.u16 %f2, %rs2; + mov.f32 %f3, 0f00000000; + max.f32 %f4, %f1, %f3; + mov.f32 %f5, 0f437F0000; + min.f32 %f6, %f4, %f5; + cvt.rzi.u32.f32 %r17, %f6; + shl.b32 %r18, %r17, 8; + shl.b32 %r19, %r17, 16; + ld.const.u32 %r20, [constAlpha]; + or.b32 %r21, %r17, %r20; + or.b32 %r22, %r21, %r18; + or.b32 %r23, %r22, %r19; + mad.lo.s32 %r24, %r2, %r13, %r1; + mul.wide.u32 %rd12, %r24, 4; + add.s64 %rd13, %rd5, %rd12; + st.global.u32 [%rd13], %r23; + max.f32 %f7, %f2, %f3; + min.f32 %f8, %f7, %f5; + cvt.rzi.u32.f32 %r25, %f8; + shl.b32 %r26, %r25, 8; + shl.b32 %r27, %r25, 16; + or.b32 %r28, %r25, %r20; + or.b32 %r29, %r28, %r26; + or.b32 %r30, %r29, %r27; + add.s32 %r31, %r24, 1; + mul.wide.u32 %rd14, %r31, 4; + add.s64 %rd15, %rd5, %rd14; + st.global.u32 [%rd15], %r30; + +BB3_2: + ret; +} + +.visible .entry NV12ToARGB_drvapi( + .param .u64 NV12ToARGB_drvapi_param_0, + .param .u64 NV12ToARGB_drvapi_param_1, + .param .u64 NV12ToARGB_drvapi_param_2, + .param .u64 NV12ToARGB_drvapi_param_3, + .param .u32 NV12ToARGB_drvapi_param_4, + .param .u32 NV12ToARGB_drvapi_param_5 +) +{ + .reg .pred %p<6>; + .reg .s32 %r<98>; + .reg .f32 %f<48>; + .reg .s64 %rd<24>; + + + ld.param.u64 %rd3, [NV12ToARGB_drvapi_param_0]; + ld.param.u64 %rd4, [NV12ToARGB_drvapi_param_2]; + ld.param.u64 %rd5, [NV12ToARGB_drvapi_param_3]; + ld.param.u32 %r21, [NV12ToARGB_drvapi_param_4]; + ld.param.u32 %r20, [NV12ToARGB_drvapi_param_5]; + ld.param.u32 %r1, [NV12ToARGB_drvapi_param_1]; + mov.u32 %r22, %ctaid.x; + shl.b32 %r23, %r22, 1; + mov.u32 %r24, %ntid.x; + mov.u32 %r25, %tid.x; + shl.b32 %r26, %r25, 1; + mad.lo.s32 %r2, %r23, %r24, %r26; + mov.u32 %r27, %ntid.y; + mov.u32 %r28, %ctaid.y; + mov.u32 %r29, %tid.y; + mad.lo.s32 %r3, %r27, %r28, %r29; + setp.lt.u32 %p1, %r2, %r21; + setp.lt.u32 %p2, %r3, %r20; + and.pred %p3, %p1, %p2; + @!%p3 bra BB4_7; + bra.uni BB4_1; + +BB4_1: + cvta.to.global.u64 %rd1, %rd4; + cvta.to.global.u64 %rd6, %rd3; + shr.u64 %rd7, %rd5, 2; + cvt.u32.u64 %r4, %rd7; + mad.lo.s32 %r30, %r3, %r1, %r2; + cvt.u64.u32 %rd8, %r30; + add.s64 %rd9, %rd6, %rd8; + ld.global.u8 %r31, [%rd9]; + shl.b32 %r5, %r31, 2; + add.s32 %r32, %r30, 1; + cvt.u64.u32 %rd10, %r32; + add.s64 %rd11, %rd6, %rd10; + ld.global.u8 %r33, [%rd11]; + shl.b32 %r6, %r33, 2; + shr.s32 %r7, %r3, 1; + add.s32 %r34, %r7, %r20; + mad.lo.s32 %r35, %r34, %r1, %r2; + cvt.u64.u32 %rd12, %r35; + add.s64 %rd13, %rd6, %rd12; + ld.global.u8 %r94, [%rd13]; + add.s32 %r36, %r35, 1; + cvt.u64.u32 %rd14, %r36; + add.s64 %rd2, %rd6, %rd14; + and.b32 %r37, %r3, 1; + setp.eq.b32 %p4, %r37, 1; + @!%p4 bra BB4_5; + bra.uni BB4_2; + +BB4_2: + ld.global.u8 %r95, [%rd2]; + shr.u32 %r38, %r20, 1; + add.s32 %r39, %r38, -1; + setp.ge.u32 %p5, %r7, %r39; + @%p5 bra BB4_4; + + add.s32 %r40, %r20, %r7; + add.s32 %r41, %r40, 1; + mad.lo.s32 %r42, %r41, %r1, %r2; + cvt.u64.u32 %rd16, %r42; + add.s64 %rd17, %rd6, %rd16; + ld.global.u8 %r43, [%rd17]; + add.s32 %r44, %r94, %r43; + add.s32 %r45, %r44, 1; + shr.u32 %r94, %r45, 1; + add.s32 %r46, %r42, 1; + cvt.u64.u32 %rd18, %r46; + add.s64 %rd19, %rd6, %rd18; + ld.global.u8 %r47, [%rd19]; + add.s32 %r48, %r95, %r47; + add.s32 %r49, %r48, 1; + shr.u32 %r95, %r49, 1; + +BB4_4: + shl.b32 %r50, %r94, 12; + or.b32 %r51, %r50, %r5; + shl.b32 %r52, %r95, 22; + or.b32 %r97, %r51, %r52; + or.b32 %r53, %r50, %r6; + or.b32 %r96, %r53, %r52; + bra.uni BB4_6; + +BB4_5: + shl.b32 %r54, %r94, 12; + ld.global.u8 %r55, [%rd2]; + shl.b32 %r56, %r55, 22; + or.b32 %r57, %r54, %r5; + or.b32 %r97, %r57, %r56; + or.b32 %r58, %r54, %r6; + or.b32 %r96, %r58, %r56; + +BB4_6: + bfe.u32 %r59, %r97, 10, 10; + bfe.u32 %r60, %r97, 20, 10; + bfe.u32 %r61, %r96, 10, 10; + bfe.u32 %r62, %r96, 20, 10; + and.b32 %r63, %r97, 1023; + cvt.rn.f32.u32 %f1, %r63; + add.s32 %r64, %r59, -512; + cvt.rn.f32.s32 %f2, %r64; + add.s32 %r65, %r60, -512; + cvt.rn.f32.s32 %f3, %r65; + ld.const.f32 %f4, [constHueColorSpaceMat]; + ld.const.f32 %f5, [constHueColorSpaceMat+4]; + mul.f32 %f6, %f2, %f5; + fma.rn.f32 %f7, %f1, %f4, %f6; + ld.const.f32 %f8, [constHueColorSpaceMat+8]; + fma.rn.f32 %f9, %f3, %f8, %f7; + ld.const.f32 %f10, [constHueColorSpaceMat+12]; + ld.const.f32 %f11, [constHueColorSpaceMat+16]; + mul.f32 %f12, %f2, %f11; + fma.rn.f32 %f13, %f1, %f10, %f12; + ld.const.f32 %f14, [constHueColorSpaceMat+20]; + fma.rn.f32 %f15, %f3, %f14, %f13; + ld.const.f32 %f16, [constHueColorSpaceMat+24]; + ld.const.f32 %f17, [constHueColorSpaceMat+28]; + mul.f32 %f18, %f2, %f17; + fma.rn.f32 %f19, %f1, %f16, %f18; + ld.const.f32 %f20, [constHueColorSpaceMat+32]; + fma.rn.f32 %f21, %f3, %f20, %f19; + and.b32 %r66, %r96, 1023; + cvt.rn.f32.u32 %f22, %r66; + add.s32 %r67, %r61, -512; + cvt.rn.f32.s32 %f23, %r67; + add.s32 %r68, %r62, -512; + cvt.rn.f32.s32 %f24, %r68; + mul.f32 %f25, %f23, %f5; + fma.rn.f32 %f26, %f22, %f4, %f25; + fma.rn.f32 %f27, %f24, %f8, %f26; + mul.f32 %f28, %f23, %f11; + fma.rn.f32 %f29, %f22, %f10, %f28; + fma.rn.f32 %f30, %f24, %f14, %f29; + mul.f32 %f31, %f23, %f17; + fma.rn.f32 %f32, %f22, %f16, %f31; + fma.rn.f32 %f33, %f24, %f20, %f32; + mov.f32 %f34, 0f00000000; + max.f32 %f35, %f9, %f34; + mov.f32 %f36, 0f447FC000; + min.f32 %f37, %f35, %f36; + max.f32 %f38, %f15, %f34; + min.f32 %f39, %f38, %f36; + max.f32 %f40, %f21, %f34; + min.f32 %f41, %f40, %f36; + cvt.rzi.u32.f32 %r69, %f41; + shr.u32 %r70, %r69, 2; + cvt.rzi.u32.f32 %r71, %f39; + shl.b32 %r72, %r71, 6; + and.b32 %r73, %r72, -256; + cvt.rzi.u32.f32 %r74, %f37; + shl.b32 %r75, %r74, 14; + and.b32 %r76, %r75, -65536; + ld.const.u32 %r77, [constAlpha]; + or.b32 %r78, %r70, %r77; + or.b32 %r79, %r78, %r73; + or.b32 %r80, %r79, %r76; + mad.lo.s32 %r81, %r3, %r4, %r2; + mul.wide.u32 %rd20, %r81, 4; + add.s64 %rd21, %rd1, %rd20; + st.global.u32 [%rd21], %r80; + max.f32 %f42, %f27, %f34; + min.f32 %f43, %f42, %f36; + max.f32 %f44, %f30, %f34; + min.f32 %f45, %f44, %f36; + max.f32 %f46, %f33, %f34; + min.f32 %f47, %f46, %f36; + cvt.rzi.u32.f32 %r82, %f47; + shr.u32 %r83, %r82, 2; + cvt.rzi.u32.f32 %r84, %f45; + shl.b32 %r85, %r84, 6; + and.b32 %r86, %r85, -256; + cvt.rzi.u32.f32 %r87, %f43; + shl.b32 %r88, %r87, 14; + and.b32 %r89, %r88, -65536; + or.b32 %r90, %r83, %r77; + or.b32 %r91, %r90, %r86; + or.b32 %r92, %r91, %r89; + add.s32 %r93, %r81, 1; + mul.wide.u32 %rd22, %r93, 4; + add.s64 %rd23, %rd1, %rd22; + st.global.u32 [%rd23], %r92; + +BB4_7: + ret; +} + + diff --git a/libs/YS/win/NetCloudSDK.dll b/libs/YS/win/NetCloudSDK.dll new file mode 100644 index 0000000..c6b0d27 --- /dev/null +++ b/libs/YS/win/NetCloudSDK.dll Binary files differ diff --git a/libs/YS/win/NetDEVDiscovery.dll b/libs/YS/win/NetDEVDiscovery.dll new file mode 100644 index 0000000..53456a6 --- /dev/null +++ b/libs/YS/win/NetDEVDiscovery.dll Binary files differ diff --git a/libs/YS/win/NetDEVSDK.dll b/libs/YS/win/NetDEVSDK.dll new file mode 100644 index 0000000..fd8fcad --- /dev/null +++ b/libs/YS/win/NetDEVSDK.dll Binary files differ diff --git a/libs/YS/win/RSA.dll b/libs/YS/win/RSA.dll new file mode 100644 index 0000000..b00c49b --- /dev/null +++ b/libs/YS/win/RSA.dll Binary files differ diff --git a/libs/YS/win/avutil_audio_aac.dll b/libs/YS/win/avutil_audio_aac.dll new file mode 100644 index 0000000..8217be8 --- /dev/null +++ b/libs/YS/win/avutil_audio_aac.dll Binary files differ diff --git a/libs/YS/win/dsp_audio_aac.dll b/libs/YS/win/dsp_audio_aac.dll new file mode 100644 index 0000000..248c23a --- /dev/null +++ b/libs/YS/win/dsp_audio_aac.dll Binary files differ diff --git a/libs/YS/win/dsp_audio_aac_enc.dll b/libs/YS/win/dsp_audio_aac_enc.dll new file mode 100644 index 0000000..bdb9ff3 --- /dev/null +++ b/libs/YS/win/dsp_audio_aac_enc.dll Binary files differ diff --git a/libs/YS/win/dsp_audio_g711.dll b/libs/YS/win/dsp_audio_g711.dll new file mode 100644 index 0000000..ad29c2e --- /dev/null +++ b/libs/YS/win/dsp_audio_g711.dll Binary files differ diff --git a/libs/YS/win/dsp_video_h264_1.dll b/libs/YS/win/dsp_video_h264_1.dll new file mode 100644 index 0000000..e4dca6f --- /dev/null +++ b/libs/YS/win/dsp_video_h264_1.dll Binary files differ diff --git a/libs/YS/win/dsp_video_mjpeg.dll b/libs/YS/win/dsp_video_mjpeg.dll new file mode 100644 index 0000000..bb89169 --- /dev/null +++ b/libs/YS/win/dsp_video_mjpeg.dll Binary files differ diff --git a/libs/YS/win/fisheye_rectify.dll b/libs/YS/win/fisheye_rectify.dll new file mode 100644 index 0000000..327b0a0 --- /dev/null +++ b/libs/YS/win/fisheye_rectify.dll Binary files differ diff --git a/libs/YS/win/intel_gpu_dec.dll b/libs/YS/win/intel_gpu_dec.dll new file mode 100644 index 0000000..24c8b65 --- /dev/null +++ b/libs/YS/win/intel_gpu_dec.dll Binary files differ diff --git a/libs/YS/win/libcrypto-3-x64.dll b/libs/YS/win/libcrypto-3-x64.dll new file mode 100644 index 0000000..c4cbc14 --- /dev/null +++ b/libs/YS/win/libcrypto-3-x64.dll Binary files differ diff --git a/libs/YS/win/libcurl.dll b/libs/YS/win/libcurl.dll new file mode 100644 index 0000000..2993cf5 --- /dev/null +++ b/libs/YS/win/libcurl.dll Binary files differ diff --git a/libs/YS/win/libssl-3-x64.dll b/libs/YS/win/libssl-3-x64.dll new file mode 100644 index 0000000..a0ee2f7 --- /dev/null +++ b/libs/YS/win/libssl-3-x64.dll Binary files differ diff --git a/libs/YS/win/libtunnel.dll b/libs/YS/win/libtunnel.dll new file mode 100644 index 0000000..ed7021a --- /dev/null +++ b/libs/YS/win/libtunnel.dll Binary files differ diff --git a/libs/YS/win/libwinpthread-1.dll b/libs/YS/win/libwinpthread-1.dll new file mode 100644 index 0000000..e25834a --- /dev/null +++ b/libs/YS/win/libwinpthread-1.dll Binary files differ diff --git a/libs/YS/win/mfc90.dll b/libs/YS/win/mfc90.dll new file mode 100644 index 0000000..a44a986 --- /dev/null +++ b/libs/YS/win/mfc90.dll Binary files differ diff --git a/libs/YS/win/mfc90u.dll b/libs/YS/win/mfc90u.dll new file mode 100644 index 0000000..a3824f6 --- /dev/null +++ b/libs/YS/win/mfc90u.dll Binary files differ diff --git a/libs/YS/win/mfcm90.dll b/libs/YS/win/mfcm90.dll new file mode 100644 index 0000000..c054fbd --- /dev/null +++ b/libs/YS/win/mfcm90.dll Binary files differ diff --git a/libs/YS/win/mfcm90u.dll b/libs/YS/win/mfcm90u.dll new file mode 100644 index 0000000..924ddf6 --- /dev/null +++ b/libs/YS/win/mfcm90u.dll Binary files differ diff --git a/libs/YS/win/msvcm90.dll b/libs/YS/win/msvcm90.dll new file mode 100644 index 0000000..734d86b --- /dev/null +++ b/libs/YS/win/msvcm90.dll Binary files differ diff --git a/libs/YS/win/msvcp120.dll b/libs/YS/win/msvcp120.dll new file mode 100644 index 0000000..c50843d --- /dev/null +++ b/libs/YS/win/msvcp120.dll Binary files differ diff --git a/libs/YS/win/msvcp90.dll b/libs/YS/win/msvcp90.dll new file mode 100644 index 0000000..70ddf55 --- /dev/null +++ b/libs/YS/win/msvcp90.dll Binary files differ diff --git a/libs/YS/win/msvcr120.dll b/libs/YS/win/msvcr120.dll new file mode 100644 index 0000000..f1616d3 --- /dev/null +++ b/libs/YS/win/msvcr120.dll Binary files differ diff --git a/libs/YS/win/msvcr90.dll b/libs/YS/win/msvcr90.dll new file mode 100644 index 0000000..072bc0b --- /dev/null +++ b/libs/YS/win/msvcr90.dll Binary files differ diff --git a/libs/YS/win/mxml1.dll b/libs/YS/win/mxml1.dll new file mode 100644 index 0000000..f80b307 --- /dev/null +++ b/libs/YS/win/mxml1.dll Binary files differ diff --git a/libs/YS/win/nvidia_gpu_dec.dll b/libs/YS/win/nvidia_gpu_dec.dll new file mode 100644 index 0000000..54a6f21 --- /dev/null +++ b/libs/YS/win/nvidia_gpu_dec.dll Binary files differ diff --git a/libs/YS/win/pthreadVC2.dll b/libs/YS/win/pthreadVC2.dll new file mode 100644 index 0000000..7cda7e4 --- /dev/null +++ b/libs/YS/win/pthreadVC2.dll Binary files differ diff --git a/ycl-common/src/main/java/constant/PointHeaderConstant.java b/ycl-common/src/main/java/constant/PointHeaderConstant.java new file mode 100644 index 0000000..f8d1ae9 --- /dev/null +++ b/ycl-common/src/main/java/constant/PointHeaderConstant.java @@ -0,0 +1,13 @@ +package constant; +/** + * 鐐逛綅瀵煎嚭琛ㄥご甯搁噺 + */ +public class PointHeaderConstant { + + public final static String Point_Name = "鐐逛綅鍚嶇О(鍙慨鏀�)"; + public final static String Serial_Number = "鍥芥爣鐮�(涓嶅彲淇敼)"; + public final static String IP = "鐐逛綅IP(鍙慨鏀�)"; + public final static String Province_Tag = "鏄惁鐪佸巺鏍囩(鍙慨鏀�)"; + public final static String Impotrant_Command_Image = "鏄惁閲嶇偣鎸囨尌鍥惧儚(鍙慨鏀�)"; + public final static String Dept_Tag = "鏄惁閮ㄧ骇鏍囩(鍙慨鏀�)"; +} diff --git a/ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java b/ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java index 0073026..1da9b47 100644 --- a/ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java +++ b/ycl-server/src/main/java/com/ycl/api/DH/lib/LibraryLoad.java @@ -27,7 +27,7 @@ private static String currentFold; /** 鍔ㄦ�佸簱闇�瑕佸啓鍏ョ殑鐩綍 */ private static String EXTRACT_PATH = "/deviceSDK/linux64"; - +// private static String EXTRACT_PATH = System.getProperty("java.io.tmpdir"); private static boolean written = false; /** diff --git a/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java b/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java index 991de3a..3d84792 100644 --- a/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java +++ b/ycl-server/src/main/java/com/ycl/api/YS/YSInit.java @@ -36,17 +36,17 @@ System.out.printf("Initialize failed:%d", netdevsdk.NETDEV_GetLastError()); return; } - try { - Common.updateStructureByReferenceMethod = Structure.class.getDeclaredMethod("updateStructureByReference", Class.class, Structure.class, Pointer.class); - Common.updateStructureByReferenceMethod.setAccessible(true); - } catch (Exception e) { - throw new RuntimeException(e); - } +// try { +// Common.updateStructureByReferenceMethod = Structure.class.getDeclaredMethod("updateStructureByReference", Class.class, Structure.class, Pointer.class); +// Common.updateStructureByReferenceMethod.setAccessible(true); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } - File file=new File(strPicturePath); - if(!file.exists()){ - file.mkdir(); - } +// File file=new File(strPicturePath); +// if(!file.exists()){ +// file.mkdir(); +// } NetDEVSDKLib.NETDEV_REV_TIMEOUT_S pstRevTimeout=new NetDEVSDKLib.NETDEV_REV_TIMEOUT_S(); pstRevTimeout.dwRevTimeOut=3; diff --git a/ycl-server/src/main/java/com/ycl/api/YS/lib/BaseFun.java b/ycl-server/src/main/java/com/ycl/api/YS/lib/BaseFun.java index 6a3e30f..d0bf943 100644 --- a/ycl-server/src/main/java/com/ycl/api/YS/lib/BaseFun.java +++ b/ycl-server/src/main/java/com/ycl/api/YS/lib/BaseFun.java @@ -48,7 +48,7 @@ if(OsArch.toLowerCase().startsWith("win32-x86")) { loadLibrary = filePath + "\\libs\\win32\\"; } else if(OsArch.toLowerCase().startsWith("win32-amd64") ) { - loadLibrary = filePath + "\\libs\\win64\\"; + loadLibrary = filePath + "\\libs\\YS\\win\\"; } String loadSDKLibrary = loadLibrary + "NetDEVSDK"; diff --git a/ycl-server/src/main/java/com/ycl/dataListener/EasyExcelListener.java b/ycl-server/src/main/java/com/ycl/dataListener/EasyExcelListener.java new file mode 100644 index 0000000..a2560c9 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/dataListener/EasyExcelListener.java @@ -0,0 +1,35 @@ +package com.ycl.dataListener; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +public class EasyExcelListener extends AnalysisEventListener<Map<Integer, String>> { + //琛ㄥご鏁版嵁锛堝瓨鍌ㄦ墍鏈夌殑琛ㄥご鏁版嵁锛� + private List<Map<Integer, String>> headList = new ArrayList<>(); + //鏁版嵁浣� + private List<Map<Integer, String>> dataList = new ArrayList<>(); + //杩欓噷浼氫竴琛岃鐨勮繑鍥炲ご + @Override + public void invokeHeadMap(Map<Integer, String> headMap, AnalysisContext context) { + //瀛樺偍鍏ㄩ儴琛ㄥご鏁版嵁 + headList.add(headMap); + } + @Override + public void invoke(Map<Integer, String> data, AnalysisContext context) { + dataList.add(data); + } + @Override + public void doAfterAllAnalysed(AnalysisContext context) { + } + public List<Map<Integer, String>> getHeadList() { + return headList; + } + public List<Map<Integer, String>> getDataList() { + return dataList; + } + +} diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java index 27f6298..dad7b84 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java @@ -766,48 +766,53 @@ public synchronized String getFrameImgByDevice(String deviceId, String channelId, String workOrderNo) throws Exception { String url = String.format(this.rtspServer + "/api/play/start/%s/%s", deviceId, channelId); String result = HttpUtils.sendGet(url); - log.error("鎷垮埌鍙栨祦鍝嶅簲缁撴灉锛�" + result); + log.info("鎷垮埌鍙栨祦鍝嶅簲缁撴灉锛�" + result); WVPResult wvpResult = JSON.parseObject(result, WVPResult.class); String imgUrl = null; - if (0 == wvpResult.getCode()) { - log.error("璇锋眰鎴愬姛"); + if (wvpResult.getCode() == 0) { JSONObject data = (JSONObject) wvpResult.getData(); - String rtspUrl = data.getString("rtsp"); // 鍙栧湴鍧� - log.error("鐩爣鍦板潃锛�" + rtspUrl); - FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtspUrl); + String rtspUrl = data.getString("fmp4"); // 鍙杕p4鍦板潃 if (StringUtils.hasText(rtspUrl)) { + System.out.println("鐩爣鍦板潃锛�" + rtspUrl); + FFmpegFrameGrabber grabber = null; try { + grabber = new FFmpegFrameGrabber(rtspUrl); // grabber.setOption("rtsp_transport", "tcp"); // 浣跨敤tcp鐨勬柟寮忥紝涓嶇劧浼氫涪鍖呭緢涓ラ噸 - grabber.setImageWidth(1920); - grabber.setImageHeight(1080); - grabber.setFrameRate(25); +// grabber.setVideoOption("probesize", "10000"); // 璁剧疆鎹曡幏鍒嗘瀽鐨勬渶澶у瓧鑺� grabber.start(); - - Frame frame = grabber.grabFrame(); + Frame frame = grabber.grabImage(); // 鐩存帴鎹曡幏涓�甯� if (frame != null) { - //杞崲鍥惧儚 - Java2DFrameConverter converter = new Java2DFrameConverter(); - BufferedImage srcImage = converter.getBufferedImage(frame); - if (srcImage != null) { - imgUrl = workOrderNo + "_" + IdUtils.fastSimpleUUID() + ".png"; - // 鐢熸垚鍥剧墖璺緞 - String imgPath = PlatformConfig.getProfile() + "/" + imgUrl; - System.out.println("鍥剧墖淇濆瓨鍦板潃锛�" + imgPath); - imgUrl = Constants.RESOURCE_PREFIX + "/" + imgUrl; - //鍒涘缓鏂囦欢 - File file = new File(imgPath); - //杈撳嚭鏂囦欢 - ImageIO.write(srcImage, "png", file); - } + System.out.println("鎴愬姛鎹曡幏涓�甯�"); + // 灏咶rame杞崲涓篗at + OpenCVFrameConverter.ToMat converter = new OpenCVFrameConverter.ToMat(); + Mat mat = converter.convertToMat(frame); + + imgUrl = workOrderNo + "_" + IdUtils.fastSimpleUUID() + ".png"; + // 鐢熸垚鍥剧墖璺緞 + String imgPath = PlatformConfig.getProfile() + "/" + imgUrl; + System.out.println("鍥剧墖淇濆瓨鍦板潃锛�" + imgPath); + imgUrl = Constants.RESOURCE_PREFIX + "/" + imgUrl; + // 淇濆瓨鍥剧墖 + opencv_imgcodecs.imwrite(imgPath, mat); + } else { + System.out.println("鏈崟鑾峰埌甯�"); } - } catch (IOException e) { + } catch (FrameGrabber.Exception e) { e.printStackTrace(); } finally { - grabber.stop(); // 鍋滄鎹曡幏 - grabber.close(); // 閲婃斁璧勬簮 + if (grabber != null) { + try { + grabber.stop(); // 鍋滄鎹曡幏 + } catch (FrameGrabber.Exception e) { + e.printStackTrace(); + } + } } } + } else { + System.out.println("璇锋眰澶辫触锛岄敊璇爜锛�" + wvpResult.getCode() + "--" + wvpResult.getMsg()); } + System.out.println("鍥剧墖URL锛�" + imgUrl); return imgUrl; } diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java index 3210871..4a4cbb4 100644 --- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java +++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwPointServiceImpl.java @@ -33,6 +33,8 @@ import com.ycl.thread.PointImportCallable; import com.ycl.utils.DateUtils; import com.ycl.utils.SecurityUtils; +import com.ycl.utils.poi.EasyExcelImportUtils; +import constant.PointHeaderConstant; import jakarta.servlet.http.HttpServletResponse; import lombok.RequiredArgsConstructor; import org.springframework.beans.BeanUtils; @@ -250,12 +252,12 @@ } //瀹氫箟琛ㄥご鍒楄〃 LinkedHashSet<String> headers = new LinkedHashSet<>(); - headers.add("鐐逛綅鍚嶇О(鍙慨鏀�)"); - headers.add("鍥芥爣鐮�(涓嶅彲淇敼)"); - headers.add("鐐逛綅IP(鍙慨鏀�)"); - headers.add("鏄惁鐪佸巺鏍囩(鍙慨鏀�)"); - headers.add("鏄惁閲嶇偣鎸囨尌鍥惧儚(鍙慨鏀�)"); - headers.add("鏄惁閮ㄧ骇鏍囩(鍙慨鏀�)"); + headers.add(PointHeaderConstant.Point_Name); + headers.add(PointHeaderConstant.Serial_Number); + headers.add(PointHeaderConstant.IP); + headers.add(PointHeaderConstant.Province_Tag); + headers.add(PointHeaderConstant.Impotrant_Command_Image); + headers.add(PointHeaderConstant.Dept_Tag); List<String> headersList = new LinkedList<>(); if (!CollectionUtils.isEmpty(dynamicsHeaders)) { //浣跨敤閾捐〃淇濊瘉鍚庣画琛ュ厖鏁版嵁鏃惰幏鍙栨暟鎹『搴忎竴鑷� @@ -306,6 +308,7 @@ @Override public Result importData(MultipartFile file, Integer unitId, Date startTime, Date endTime, Boolean needUpdateUnit) throws IOException { +// List<Map<String,String>> list = EasyExcelImportUtils.makeData(file); Consumer<List<PointExport>> consumer = (dataList) -> { try { this.updatePoint(dataList, unitId, startTime, endTime, needUpdateUnit); @@ -316,6 +319,14 @@ } }; EasyExcel.read(file.getInputStream(), PointExport.class, new CurrencyDataListener(consumer)).headRowNumber(1).doReadAll(); +// for (Map<String, String> map : list) { +// PointExport pointExport = new PointExport(); +// pointExport.setPointName(map.get(PointHeaderConstant.Point_Name)); +// pointExport.setPointIP(map.get(PointHeaderConstant.IP)); +// pointExport.setSerialNumber(map.get(PointHeaderConstant.Serial_Number)); +// } +// this.updatePoint(dataList, unitId, startTime, endTime, needUpdateUnit); +// System.out.println(list); return Result.ok(); } diff --git a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java index 5b153b7..1426343 100644 --- a/ycl-server/src/main/java/com/ycl/task/MonitorTask.java +++ b/ycl-server/src/main/java/com/ycl/task/MonitorTask.java @@ -79,11 +79,11 @@ @Transactional(rollbackFor = Exception.class) public void synchronize() { log.info("寮�濮嬪悓姝ongodb涓�鏈轰竴妗e埌鏁版嵁搴�"); - Date yesterday = DateUtils.addDays(new Date(), -1); +// Date yesterday = DateUtils.addDays(new Date(), -1); Query query = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); List<MonitorQualifyResult> oneMachineFileResults = mongoTemplate.find(query, MonitorQualifyResult.class); //mongo鍝佺墝鏁版嵁 - Query OSDQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(yesterday)).lt(DateUtils.getDayEnd(yesterday))); + Query OSDQuery = new Query(Criteria.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); Map<String, OsdCheckResult> osdMap = mongoTemplate.find(query, OsdCheckResult.class).stream().collect(Collectors.toMap(OsdCheckResult::getDeviceNo, Function.identity())); //鏁版嵁搴搈onitor琛ㄦ暟鎹� Map<String, TMonitorVO> monitorVOMap = monitorMapper.selectMonitorVOList().stream().collect(Collectors.toMap(TMonitorVO::getSerialNumber, Function.identity())); @@ -146,8 +146,8 @@ ywPointMapper.deleteAll(); ywPointService.saveBatch(ywPointList); } - //鏂扮殑鏁版嵁鏀惧叆Redis涓瓑寰呰�冩牳鎸囨爣浠诲姟浣跨敤 - redisTemplate.opsForValue().set(RedisConstant.New_Monitor_Set, JSONArray.toJSONString(newMonitorList)); + //鏂扮殑鏁版嵁鏀惧叆Redis涓瓑寰呰�冩牳鎸囨爣浠诲姟浣跨敤(寮冪敤锛屾敼涓烘爣绛惧舰寮�) +// redisTemplate.opsForValue().set(RedisConstant.New_Monitor_Set, JSONArray.toJSONString(newMonitorList)); log.info("缁撴潫鍚屾mongodb涓�鏈轰竴妗e埌鏁版嵁搴�"); } diff --git a/ycl-server/src/main/java/com/ycl/task/UYTask.java b/ycl-server/src/main/java/com/ycl/task/UYTask.java index b610016..3afaece 100644 --- a/ycl-server/src/main/java/com/ycl/task/UYTask.java +++ b/ycl-server/src/main/java/com/ycl/task/UYTask.java @@ -212,6 +212,7 @@ } int checkTimes = 1; int offLineTimes = 1; + //TODO:BUG Map<String, Object> map = (Map<String, Object>) redisTemplate.opsForHash().get(RedisConstant.ONLINE_KEY, monitor.getIp()); if (!CollectionUtils.isEmpty(map)) { checkTimes = (Integer) map.get("checkTimes") + 1; @@ -241,6 +242,8 @@ allOf.get(35, TimeUnit.SECONDS); // 缁欎簣棰濆鐨�5绉掓潵鏀堕泦缁撴灉 } catch (TimeoutException e) { log.warn("閮ㄥ垎浠诲姟鏈湪鎸囧畾鏃堕棿鍐呭畬鎴�"); + } catch (Exception e2){ + log.error("鏁版嵁鏀堕泦寮傚父"+e2); } dataList = futureList.stream() diff --git a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java index 974962b..a4b6194 100644 --- a/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java +++ b/ycl-server/src/main/java/com/ycl/task/WorkOrderImgTask.java @@ -1,6 +1,7 @@ package com.ycl.task; import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.ycl.config.PlatformConfig; import com.ycl.platform.domain.entity.DeviceInfo; import com.ycl.platform.domain.entity.WorkOrderCheckImg; import com.ycl.platform.domain.vo.DeviceInfoVO; @@ -8,13 +9,21 @@ import com.ycl.platform.mapper.WorkOrderCheckImgMapper; import com.ycl.platform.service.WorkOrderService; import com.ycl.utils.DateUtils; +import com.ycl.utils.uuid.IdUtils; +import constant.Constants; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.bytedeco.javacv.FFmpegFrameGrabber; +import org.bytedeco.javacv.Frame; +import org.bytedeco.javacv.Java2DFrameConverter; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import javax.imageio.ImageIO; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; @@ -47,7 +56,45 @@ // new ThreadPoolExecutor.CallerRunsPolicy() // ); - public void run() { + public void run() throws FFmpegFrameGrabber.Exception { +// String rtspUrl = "http://www.w3school.com.cn/i/movie.mp4"; +// if (StringUtils.hasText(rtspUrl)) { +// FFmpegFrameGrabber grabber = FFmpegFrameGrabber.createDefault(rtspUrl); +// try { +//// grabber.setOption("rtsp_transport", "tcp"); // 浣跨敤tcp鐨勬柟寮忥紝涓嶇劧浼氫涪鍖呭緢涓ラ噸 +// grabber.setImageWidth(1920); +// grabber.setImageHeight(1080); +// grabber.setFrameRate(25); +// grabber.start(); +// System.out.println("鎴愬姛"); +// Frame frame = grabber.grabImage(); +// String imgUrl = null; +// if (frame != null) { +// System.out.println("鎴愬姛2"); +// //杞崲鍥惧儚 +// Java2DFrameConverter converter = new Java2DFrameConverter(); +// BufferedImage srcImage = converter.getBufferedImage(frame); +// System.out.println(srcImage); +// if (srcImage != null) { +// imgUrl = IdUtils.fastSimpleUUID() + ".png"; +// // 鐢熸垚鍥剧墖璺緞 +// String imgPath = "/" + imgUrl; +// System.out.println("鍥剧墖淇濆瓨鍦板潃锛�" + imgPath); +//// imgUrl = Constants.RESOURCE_PREFIX + "/" + imgUrl; +// //鍒涘缓鏂囦欢 +// File file = new File("D:\\Codes\\zgyw\\"+imgUrl); +// //杈撳嚭鏂囦欢 +// ImageIO.write(srcImage, "png", file); +// } +// } +// } catch (IOException e) { +// e.printStackTrace(); +// } finally { +// grabber.stop(); // 鍋滄鎹曡幏 +//// grabber.close(); // 閲婃斁璧勬簮 +// } +// } + // 鏌ュ嚭鏈�杩戜竴鍛ㄧ殑鏁呴殰鐨勮澶� Date now = new Date(); Calendar ca = Calendar.getInstance(); @@ -82,7 +129,6 @@ img.setCreateTime(new Date()); workOrderCheckImgMapper.insert(img); } - } - } + } } } diff --git a/ycl-server/src/main/java/com/ycl/utils/poi/EasyExcelImportUtils.java b/ycl-server/src/main/java/com/ycl/utils/poi/EasyExcelImportUtils.java new file mode 100644 index 0000000..8708ef3 --- /dev/null +++ b/ycl-server/src/main/java/com/ycl/utils/poi/EasyExcelImportUtils.java @@ -0,0 +1,82 @@ +package com.ycl.utils.poi; + +import com.alibaba.excel.EasyExcelFactory; +import com.alibaba.excel.util.IoUtils; +import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.google.common.collect.Lists; +import com.ycl.dataListener.EasyExcelListener; +import org.springframework.web.multipart.MultipartFile; + +import java.io.ByteArrayInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +public class EasyExcelImportUtils { + /** + * 鍔ㄦ�佽幏鍙栧叏閮ㄥ垪鍜屾暟鎹綋 + * [stream, parseRowNumber] + * @return {@link List< Map< String, String>>} + * @throws + */ + public static List<Map<String,String>> parseExcelToData(byte[] stream, Integer parseRowNumber) { + EasyExcelListener readListener = new EasyExcelListener(); + EasyExcelFactory.read(new ByteArrayInputStream(stream)).registerReadListener(readListener).headRowNumber(parseRowNumber).sheet(0).doRead(); + List<Map<Integer, String>> headList = readListener.getHeadList(); + if(CollectionUtils.isEmpty(headList)){ + throw new RuntimeException("Excel琛ㄥご涓嶈兘涓虹┖"); + } + List<Map<Integer, String>> dataList = readListener.getDataList(); + if(CollectionUtils.isEmpty(dataList)){ + throw new RuntimeException("Excel鏁版嵁鍐呭涓嶈兘涓虹┖"); + } + //鑾峰彇澶撮儴,鍙栨渶鍚庝竴娆¤В鏋愮殑鍒楀ご鏁版嵁 + Map<Integer, String> excelHeadIdxNameMap = headList.get(headList.size() -1); + //灏佽鏁版嵁浣� + List<Map<String,String>> excelDataList = Lists.newArrayList(); + for (Map<Integer, String> dataRow : dataList) { + Map<String,String> rowData = new LinkedHashMap<>(); + excelHeadIdxNameMap.entrySet().forEach(columnHead -> { + rowData.put(columnHead.getValue(), dataRow.get(columnHead.getKey())); + }); + excelDataList.add(rowData); + } + return excelDataList; + } + + /** + * 杩斿洖瀵煎叆鐨勬墍鏈夋暟鎹� + * [file] + * @return {@link List< Map< String, String>>} + * @throws + */ + public static List<Map<String,String>> makeData(MultipartFile file){ + InputStream inputStream = null;//杞崲鎴愯緭鍏ユ祦 + try { + inputStream = file.getInputStream(); + } catch (IOException e) { + e.printStackTrace(); + } + byte[] stream = new byte[0]; + try { + stream = IoUtils.toByteArray(inputStream); + } catch (IOException e) { + e.printStackTrace(); + } + if(stream == null || stream.length == 0){ + return null; + } + List<Map<String,String>> dataList = parseExcelToData(stream, 1);//浠庡姩鎬佽幏鍙栧叏閮ㄥ垪鍜屾暟鎹綋锛岄粯璁や粠绗竴琛屽紑濮嬭В鏋愭暟鎹� + try { + if(inputStream != null){ + inputStream.close(); + } + } catch (IOException e) { + e.printStackTrace(); + } + return dataList; + } + } + diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml index e8c64e5..4e5d238 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexCarMapper.xml @@ -139,19 +139,44 @@ </select> <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexCar"> - SELECT - IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability, - IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online, - IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent, - IFNULL(ROUND(AVG(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy, - IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity, - IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy, - IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy, - IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness, - IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability, - IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability - FROM - t_check_index_car +<!-- SELECT--> +<!-- IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability,--> +<!-- IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,--> +<!-- IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent,--> +<!-- IFNULL(ROUND(AVG(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy,--> +<!-- IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity,--> +<!-- IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy,--> +<!-- IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy,--> +<!-- IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness,--> +<!-- IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability,--> +<!-- IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability--> +<!-- FROM--> +<!-- t_check_index_car--> +<!-- <where>--> +<!-- <if test="deptId != null">--> +<!-- AND dept_id = #{deptId}--> +<!-- </if>--> +<!-- <if test="dataScope == 1">--> +<!-- AND examine_tag = 0--> +<!-- </if>--> +<!-- <if test="dataScope == 2">--> +<!-- AND examine_tag = 1--> +<!-- </if>--> +<!-- <if test="dataScope == 3">--> +<!-- AND examine_tag = 2--> +<!-- </if>--> +<!-- </where>--> +<!-- ORDER BY--> +<!-- create_time DESC--> +<!-- <if test="deptId == null">--> +<!-- LIMIT 7--> +<!-- </if>--> +<!-- <if test="deptId != null">--> +<!-- LIMIT 1--> +<!-- </if>--> + WITH LatestRecords AS ( + SELECT * + FROM t_check_index_car <where> <if test="deptId != null"> AND dept_id = #{deptId} @@ -166,13 +191,26 @@ AND examine_tag = 2 </if> </where> - ORDER BY - create_time DESC + ORDER BY create_time DESC <if test="deptId == null"> LIMIT 7 </if> <if test="deptId != null"> LIMIT 1 </if> + ) + SELECT + IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability, + IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online, + IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent, + IFNULL(ROUND(AVG(vehicle_information_collection_accuracy * 100), 0), 0) AS vehicle_information_collection_accuracy, + IFNULL(ROUND(AVG(vehicle_capture_integrity * 100), 0), 0) AS vehicle_capture_integrity, + IFNULL(ROUND(AVG(vehicle_capture_accuracy * 100), 0), 0) AS vehicle_capture_accuracy, + IFNULL(ROUND(AVG(vehicle_timing_accuracy * 100), 0), 0) AS vehicle_timing_accuracy, + IFNULL(ROUND(AVG(vehicle_upload_timeliness * 100), 0), 0) AS vehicle_upload_timeliness, + IFNULL(ROUND(AVG(vehicle_url_availability * 100), 0), 0) AS vehicle_url_availability, + IFNULL(ROUND(AVG(vehicle_picture_availability * 100), 0), 0) AS vehicle_picture_availability + FROM + LatestRecords; </select> </mapper> diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml index 0c10fd7..baea4cf 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexFaceMapper.xml @@ -132,17 +132,43 @@ </select> <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexFace"> - SELECT - IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability, - IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online, - IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent, - IFNULL(ROUND(AVG(face_information_collection_accuracy * 100), 0), 0) AS face_information_collection_accuracy, - IFNULL(ROUND(AVG(face_picture_qualification * 100), 0), 0) AS face_picture_qualification, - IFNULL(ROUND(AVG(face_timing_accuracy * 100), 0), 0) AS face_timing_accuracy, - IFNULL(ROUND(AVG(face_upload_timeliness * 100), 0), 0) AS face_upload_timeliness, - IFNULL(ROUND(AVG(face_picture_availability * 100), 0), 0) AS face_picture_availability - FROM - t_check_index_face +<!-- SELECT--> +<!-- IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability,--> +<!-- IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,--> +<!-- IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent,--> +<!-- IFNULL(ROUND(AVG(face_information_collection_accuracy * 100), 0), 0) AS face_information_collection_accuracy,--> +<!-- IFNULL(ROUND(AVG(face_picture_qualification * 100), 0), 0) AS face_picture_qualification,--> +<!-- IFNULL(ROUND(AVG(face_timing_accuracy * 100), 0), 0) AS face_timing_accuracy,--> +<!-- IFNULL(ROUND(AVG(face_upload_timeliness * 100), 0), 0) AS face_upload_timeliness,--> +<!-- IFNULL(ROUND(AVG(face_picture_availability * 100), 0), 0) AS face_picture_availability--> +<!-- FROM--> +<!-- t_check_index_face--> +<!-- <where>--> +<!-- <if test="deptId != null">--> +<!-- AND dept_id = #{deptId}--> +<!-- </if>--> +<!-- <if test="dataScope == 1">--> +<!-- AND examine_tag = 0--> +<!-- </if>--> +<!-- <if test="dataScope == 2">--> +<!-- AND examine_tag = 1--> +<!-- </if>--> +<!-- <if test="dataScope == 3">--> +<!-- AND examine_tag = 2--> +<!-- </if>--> +<!-- </where>--> +<!-- ORDER BY--> +<!-- create_time DESC--> +<!-- <if test="deptId == null">--> +<!-- LIMIT 7--> +<!-- </if>--> +<!-- <if test="deptId != null">--> +<!-- LIMIT 1--> +<!-- </if>--> + + WITH LatestRecords AS ( + SELECT * + FROM t_check_index_face <where> <if test="deptId != null"> AND dept_id = #{deptId} @@ -157,13 +183,24 @@ AND examine_tag = 2 </if> </where> - ORDER BY - create_time DESC + ORDER BY create_time DESC <if test="deptId == null"> LIMIT 7 </if> <if test="deptId != null"> LIMIT 1 </if> + ) + SELECT + IFNULL(ROUND(AVG(view_connect_stability * 100), 0), 0) AS view_connect_stability, + IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online, + IFNULL(ROUND(AVG(device_directory_consistent * 100), 0), 0) AS device_directory_consistent, + IFNULL(ROUND(AVG(face_information_collection_accuracy * 100), 0), 0) AS face_information_collection_accuracy, + IFNULL(ROUND(AVG(face_picture_qualification * 100), 0), 0) AS face_picture_qualification, + IFNULL(ROUND(AVG(face_timing_accuracy * 100), 0), 0) AS face_timing_accuracy, + IFNULL(ROUND(AVG(face_upload_timeliness * 100), 0), 0) AS face_upload_timeliness, + IFNULL(ROUND(AVG(face_picture_availability * 100), 0), 0) AS face_picture_availability + FROM + LatestRecords; </select> </mapper> diff --git a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml index 09c601b..eb792c6 100644 --- a/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml +++ b/ycl-server/src/main/resources/mapper/zgyw/CheckIndexVideoMapper.xml @@ -155,6 +155,70 @@ </select> <select id="dashboard" resultType="com.ycl.platform.domain.entity.CheckIndexVideo"> +<!-- SELECT--> +<!-- IFNULL(ROUND(AVG(platform_online * 100), 0), 0) AS platform_online,--> +<!-- IFNULL(ROUND(AVG(monitor_qualification * 100), 0), 0) AS monitor_qualification,--> +<!-- IFNULL(ROUND(AVG(monitor_registration * 100), 0), 0) AS monitor_registration,--> +<!-- IFNULL(ROUND(AVG(archives_rate * 100), 0), 0) AS archives_rate,--> +<!-- IFNULL(ROUND(AVG(site_online * 100), 0), 0) AS site_online,--> +<!-- IFNULL(ROUND(AVG(video_available * 100), 0), 0) AS video_available,--> +<!-- IFNULL(ROUND(AVG(ministry_site_online * 100), 0), 0) AS ministry_site_online,--> +<!-- IFNULL(ROUND(AVG(ministry_video_available * 100), 0), 0) AS ministry_video_available,--> +<!-- IFNULL(ROUND(AVG(key_site_online * 100), 0), 0) AS key_site_online,--> +<!-- IFNULL(ROUND(AVG(key_video_available * 100), 0), 0) AS key_video_available,--> +<!-- IFNULL(ROUND(AVG(key_annotation_accuracy * 100), 0), 0) AS key_annotation_accuracy,--> +<!-- IFNULL(ROUND(AVG(key_timing_accuracy * 100), 0), 0) AS key_timing_accuracy,--> +<!-- IFNULL(ROUND(AVG(key_command_image_online * 100), 0), 0) AS key_command_image_online,--> +<!-- IFNULL(ROUND(AVG(image_resource_security * 100), 0), 0) AS image_resource_security--> +<!-- FROM--> +<!-- t_check_index_video--> +<!-- <where>--> +<!-- <if test="deptId != null">--> +<!-- AND dept_id = #{deptId}--> +<!-- </if>--> +<!-- <if test="dataScope == 1">--> +<!-- AND examine_tag = 0--> +<!-- </if>--> +<!-- <if test="dataScope == 2">--> +<!-- AND examine_tag = 1--> +<!-- </if>--> +<!-- <if test="dataScope == 3">--> +<!-- AND examine_tag = 2--> +<!-- </if>--> +<!-- </where>--> +<!-- ORDER BY--> +<!-- create_time DESC--> +<!-- <if test="deptId == null">--> +<!-- LIMIT 7--> +<!-- </if>--> +<!-- <if test="deptId != null">--> +<!-- LIMIT 1--> +<!-- </if>--> + WITH LatestRecords AS ( + SELECT * + FROM t_check_index_video + <where> + <if test="deptId != null"> + AND dept_id = #{deptId} + </if> + <if test="dataScope == 1"> + AND examine_tag = 0 + </if> + <if test="dataScope == 2"> + AND examine_tag = 1 + </if> + <if test="dataScope == 3"> + AND examine_tag = 2 + </if> + </where> + ORDER BY create_time DESC + <if test="deptId == null"> + LIMIT 7 + </if> + <if test="deptId != null"> + LIMIT 1 + </if> + ) SELECT IFNULL(ROUND(AVG(platform_online * 100), 0), 0) AS platform_online, IFNULL(ROUND(AVG(monitor_qualification * 100), 0), 0) AS monitor_qualification, @@ -171,29 +235,7 @@ IFNULL(ROUND(AVG(key_command_image_online * 100), 0), 0) AS key_command_image_online, IFNULL(ROUND(AVG(image_resource_security * 100), 0), 0) AS image_resource_security FROM - t_check_index_video - <where> - <if test="deptId != null"> - AND dept_id = #{deptId} - </if> - <if test="dataScope == 1"> - AND examine_tag = 0 - </if> - <if test="dataScope == 2"> - AND examine_tag = 1 - </if> - <if test="dataScope == 3"> - AND examine_tag = 2 - </if> - </where> - ORDER BY - create_time DESC - <if test="deptId == null"> - LIMIT 7 - </if> - <if test="deptId != null"> - LIMIT 1 - </if> + LatestRecords; </select> <select id="selectAndDeptName" resultType="com.ycl.platform.domain.entity.CheckIndexVideo"> -- Gitblit v1.8.0