diff --git a/pom.xml b/pom.xml
index d3e11d3..bb6d7ec 100644
--- a/pom.xml
+++ b/pom.xml
@@ -212,13 +212,6 @@
jna
3.4.0
-
- local
- examples
- 1
- system
- ${pom.basedir}/lib/examples.jar
-
diff --git a/src/main/java/com/hcsdk/HCModule.java b/src/main/java/com/hcsdk/HCModule.java
index 15fff11..9c05623 100644
--- a/src/main/java/com/hcsdk/HCModule.java
+++ b/src/main/java/com/hcsdk/HCModule.java
@@ -128,7 +128,7 @@ public class HCModule {
cond.dwSize = cond.size();
cond.byRuleID = tmId.byteValue();
cond.dwChan = channel;
- cond.wInterval = 1;
+ cond.wInterval = 2;
cond.byMode = 1;
cond.write();
log.info("开始采集通道" + channel + ", 规则" + tmId);
diff --git a/src/main/java/com/hcsdk/HCNetSDK.java b/src/main/java/com/hcsdk/HCNetSDK.java
index ab697c5..fbb0663 100644
--- a/src/main/java/com/hcsdk/HCNetSDK.java
+++ b/src/main/java/com/hcsdk/HCNetSDK.java
@@ -1,8 +1,6 @@
package com.hcsdk;
import com.sun.jna.*;
-import com.sun.jna.examples.win32.W32API;
-import com.sun.jna.examples.win32.W32API.HWND;
import com.sun.jna.ptr.ByteByReference;
import com.sun.jna.ptr.IntByReference;
import com.sun.jna.ptr.ShortByReference;
@@ -4141,7 +4139,7 @@ DVR实现巡航数据结构
public static class NET_DVR_CLIENTINFO extends Structure {
public int lChannel;
public int lLinkMode;
- public HWND hPlayWnd;
+// public HWND hPlayWnd;
public String sMultiCastIP;
}
@@ -4423,7 +4421,7 @@ DVR实现巡航数据结构
public NET_DVR_STREAM_INFO struIDInfo;
public NET_DVR_TIME struBeginTime;
public NET_DVR_TIME struEndTime;
- public HWND hWnd;
+// public HWND hWnd;
public byte byDrawFrame; //0:不抽帧,1:抽帧
public byte byVolumeType; //0-普通录像卷 1-存档卷
public byte byVolumeNum; //卷号,目前指存档卷号
@@ -9755,9 +9753,9 @@ DVR实现巡航数据结构
public void invoke(int dwType, int lUserID, int lHandle, Pointer pUser);
}
- public static interface FDrawFun extends Callback {
- public void invoke(int lRealHandle, W32API.HDC hDc, int dwUser);
- }
+// public static interface FDrawFun extends Callback {
+// public void invoke(int lRealHandle, W32API.HDC hDc, int dwUser);
+// }
public static interface FStdDataCallBack extends Callback {
public void invoke(int lRealHandle, int dwDataType, ByteByReference pBuffer, int dwBufSize, int dwUser);
@@ -9853,9 +9851,9 @@ DVR实现巡航数据结构
boolean NET_DVR_UnlockFileByName(int lUserID, String sUnlockFileName);
- int NET_DVR_PlayBackByName(int lUserID, String sPlayBackFileName, HWND hWnd);
+// int NET_DVR_PlayBackByName(int lUserID, String sPlayBackFileName, HWND hWnd);
- int NET_DVR_PlayBackByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, HWND hWnd);
+// int NET_DVR_PlayBackByTime(int lUserID, int lChannel, NET_DVR_TIME lpStartTime, NET_DVR_TIME lpStopTime, HWND hWnd);
int NET_DVR_PlayBackByTime_V40(int lUserID, NET_DVR_VOD_PARA pVodPara);
@@ -9958,7 +9956,7 @@ DVR实现巡航数据结构
boolean NET_DVR_StopRealPlay(int lRealHandle);
- boolean NET_DVR_RigisterDrawFun(int lRealHandle, FDrawFun fDrawFun, int dwUser);
+// boolean NET_DVR_RigisterDrawFun(int lRealHandle, FDrawFun fDrawFun, int dwUser);
boolean NET_DVR_SetPlayerBufNumber(int lRealHandle, int dwBufNum);
@@ -10860,77 +10858,3 @@ DVR实现巡航数据结构
}
}
-
-
-//播放库函数声明,PlayCtrl.dll
-interface PlayCtrl extends Library {
- public static final int STREAME_REALTIME = 0;
- public static final int STREAME_FILE = 1;
-
- boolean PlayM4_GetPort(IntByReference nPort);
-
- boolean PlayM4_OpenStream(int nPort, ByteByReference pFileHeadBuf, int nSize, int nBufPoolSize);
-
- boolean PlayM4_InputData(int nPort, ByteByReference pBuf, int nSize);
-
- boolean PlayM4_CloseStream(int nPort);
-
- boolean PlayM4_SetStreamOpenMode(int nPort, int nMode);
-
- boolean PlayM4_Play(int nPort, HWND hWnd);
-
- boolean PlayM4_Stop(int nPort);
-
- boolean PlayM4_SetSecretKey(int nPort, int lKeyType, String pSecretKey, int lKeyLen);
-
- boolean PlayM4_GetPictureSize(int nPort, IntByReference pWidth, IntByReference pHeight);
-
- boolean PlayM4_GetJPEG(int nPort, Pointer pBitmap, int nBufSize, IntByReference pBmpSize);
-
- int PlayM4_GetLastError(int nPort);
-
- boolean PlayM4_SetDecCallBackExMend(int nPort, DecCallBack decCBFun, Pointer pDest, int nDestSize, int nUser);
-
- public static interface DecCallBack extends Callback {
- void invoke(int nPort, Pointer pBuf, int nSize, FRAME_INFO pFrameInfo, int nReserved1, int nReserved2);
- }
-
- public class FRAME_INFO extends Structure {
- public int nWidth; /* 画面宽,单位像素。如果是音频数据,则为音频声道数 */
- public int nHeight; /* 画面高,单位像素。如果是音频数据,则为样位率 */
- public int nStamp; /* 时标信息,单位毫秒 */
- public int nType; /* 数据类型,T_AUDIO16, T_RGB32, T_YV12 */
- public int nFrameRate; /* 编码时产生的图像帧率,如果是音频数据则为采样率 */
- public int dwFrameNum; /* 帧号 */
- }
-
-}
-
-//windows gdi接口,gdi32.dll in system32 folder, 在设置遮挡区域,移动侦测区域等情况下使用
-interface GDI32 extends W32API {
- GDI32 INSTANCE = (GDI32) Native.loadLibrary("gdi32", GDI32.class, DEFAULT_OPTIONS);
-
- public static final int TRANSPARENT = 1;
-
- int SetBkMode(HDC hdc, int i);
-
- HANDLE CreateSolidBrush(int icolor);
-}
-
-//windows user32接口,user32.dll in system32 folder, 在设置遮挡区域,移动侦测区域等情况下使用
-interface USER32 extends W32API {
-
- USER32 INSTANCE = (USER32) Native.loadLibrary("user32", USER32.class, DEFAULT_OPTIONS);
-
- public static final int BF_LEFT = 0x0001;
- public static final int BF_TOP = 0x0002;
- public static final int BF_RIGHT = 0x0004;
- public static final int BF_BOTTOM = 0x0008;
- public static final int BDR_SUNKENOUTER = 0x0002;
- public static final int BF_RECT = (BF_LEFT | BF_TOP | BF_RIGHT | BF_BOTTOM);
-
- boolean DrawEdge(HDC hdc, com.sun.jna.examples.win32.GDI32.RECT qrc, int edge, int grfFlags);
-
- int FillRect(HDC hDC, com.sun.jna.examples.win32.GDI32.RECT lprc, HANDLE hbr);
-}
-
diff --git a/src/main/java/com/xydl/cac/model/StaticVariable.java b/src/main/java/com/xydl/cac/model/StaticVariable.java
index 7f00efc..e9fbe95 100644
--- a/src/main/java/com/xydl/cac/model/StaticVariable.java
+++ b/src/main/java/com/xydl/cac/model/StaticVariable.java
@@ -14,6 +14,7 @@ import java.util.concurrent.ConcurrentHashMap;
public class StaticVariable {
+ public static boolean ready = false;
public static String jarPath = "";
public static Iec104Server iec104Server = null;
public static Iec104Client realTime104Client = null;
diff --git a/src/main/java/com/xydl/cac/task/CacheTask.java b/src/main/java/com/xydl/cac/task/CacheTask.java
index 8e929fd..39735f9 100644
--- a/src/main/java/com/xydl/cac/task/CacheTask.java
+++ b/src/main/java/com/xydl/cac/task/CacheTask.java
@@ -37,8 +37,9 @@ public class CacheTask {
StaticVariable.doneWarnMap.clear();
}
- @Scheduled(initialDelay = 30 * 1000, fixedDelay = 60 * 1000)
+ @Scheduled(initialDelay = 60 * 1000, fixedDelay = 60 * 1000)
public void refreshRule() {
+ StaticVariable.ready = true;
try {
List list = ruleService.listAll(null);
for (WarnRule item : list) {
diff --git a/src/main/java/com/xydl/cac/task/Client61850Task.java b/src/main/java/com/xydl/cac/task/Client61850Task.java
index b4bc83c..03ad9a3 100644
--- a/src/main/java/com/xydl/cac/task/Client61850Task.java
+++ b/src/main/java/com/xydl/cac/task/Client61850Task.java
@@ -50,6 +50,9 @@ public class Client61850Task {
@Scheduled(cron = "0 * * * * ?")
public void collectAll() {
+ if (!StaticVariable.ready) {
+ return;
+ }
if (!enable) {
return;
}
diff --git a/src/main/java/com/xydl/cac/task/ClientThermalTask.java b/src/main/java/com/xydl/cac/task/ClientThermalTask.java
index a9bc0e2..79398ef 100644
--- a/src/main/java/com/xydl/cac/task/ClientThermalTask.java
+++ b/src/main/java/com/xydl/cac/task/ClientThermalTask.java
@@ -3,6 +3,7 @@ package com.xydl.cac.task;
import com.xydl.cac.entity.ModevType;
import com.xydl.cac.entity.NSensor;
import com.xydl.cac.entity.ThermalConfig;
+import com.xydl.cac.model.StaticVariable;
import com.xydl.cac.repository.NSensorRepository;
import com.xydl.cac.service.ModevTypeService;
import com.xydl.cac.service.ThermalConfigService;
@@ -39,6 +40,9 @@ public class ClientThermalTask {
@Scheduled(cron = "0 * * * * ?")
public void collectAll() {
+ if (!StaticVariable.ready) {
+ return;
+ }
ThermalConfig config = configService.getConfig();
if (config == null) {
return;
diff --git a/src/main/java/com/xydl/cac/thermal/HCRemoteConfigCallBack.java b/src/main/java/com/xydl/cac/thermal/HCRemoteConfigCallBack.java
index bb2a69a..ee9bffe 100644
--- a/src/main/java/com/xydl/cac/thermal/HCRemoteConfigCallBack.java
+++ b/src/main/java/com/xydl/cac/thermal/HCRemoteConfigCallBack.java
@@ -35,9 +35,9 @@ public class HCRemoteConfigCallBack implements HCNetSDK.FRemoteConfigCallBack {
max, min, aver, time);
done = true;
} else if (1 == data.byRuleCalibType || 2 == data.byRuleCalibType) {
- max = data.struLinePolygonThermCfg.fAverageTemperature;
+ aver = data.struLinePolygonThermCfg.fAverageTemperature;
min = data.struLinePolygonThermCfg.fMinTemperature;
- aver = data.struLinePolygonThermCfg.fMaxTemperature;
+ max = data.struLinePolygonThermCfg.fMaxTemperature;
log.info("海康热成像采集到max=" + max + ", min=" + min + ", aver=" + aver);
service.save(item.getTableName(), item.getDevId(),
max, min, aver, time);
diff --git a/src/main/java/com/xydl/cac/thermal/HCThermalService.java b/src/main/java/com/xydl/cac/thermal/HCThermalService.java
index fccef5a..07e2bbc 100644
--- a/src/main/java/com/xydl/cac/thermal/HCThermalService.java
+++ b/src/main/java/com/xydl/cac/thermal/HCThermalService.java
@@ -27,6 +27,7 @@ public class HCThermalService {
ThermalConfig _config;
int shutdown = 0;
+ int maxWait = 20;
@PreDestroy
private void preDestroy() {
@@ -56,7 +57,7 @@ public class HCThermalService {
r = HCModule.startRemoteConfig(_callBack, 2, item.getTmId());
if (r) {
int sec = 0;
- while (shutdown == 0 && sec < 20 && !_callBack.done) {
+ while (shutdown == 0 && sec < maxWait && !_callBack.done) {
try {
Thread.sleep(1000);
sec++;